FPGA_通信设计实例ppt课件_第1页
FPGA_通信设计实例ppt课件_第2页
FPGA_通信设计实例ppt课件_第3页
FPGA_通信设计实例ppt课件_第4页
FPGA_通信设计实例ppt课件_第5页
已阅读5页,还剩171页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第8 8章章 FPGAFPGA电路设计实例电路设计实例 第第8章章 FPGA电路设计实例电路设计实例 8.1 m序列产生器序列产生器 8.2 恣意序列产生器恣意序列产生器 8.3 数字相关器数字相关器 8.4 汉明间隔的电路计算汉明间隔的电路计算 8.5 交错编码器交错编码器 8.6 直接数字频率合成直接数字频率合成 8.7 误码率在线测试误码率在线测试 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.1 m序列产生器序列产生器 在扩展频谱通讯系统中, 伪随机序列起着非常关键的作用。 在直接序列扩频系统的发射端, 伪随机序列将信息序列的频谱扩展, 在接纳端, 伪随机序列将扩频信

2、号恢复为窄带信号, 进而完成信息的接纳。 因此, 伪随机序列产生器是扩频系统的中心单元。 在实践的扩频通讯系统中, 伪随机序列普通用二进制序列表示, 每个码片即构成伪随机序列的元素只需“1和“0两种取值, 分别对应电信号的高电平和低电平。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 m序列又称为最长线性反响移位存放器序列, 该序列具有很好的相关性能, 所以在直接序列扩频系统中运用非常广泛。 m序列的产生比较简单, 可以利用r级移位存放器产生长度为2r-1的m序列。 m序列产生器的构造主要分为两类, 一类称为简单型码序列发生器SSRG, Simple Shift Register

3、Generator, 另一类称为模块型码序列发生器MSRG, Modular Shift Register Generator。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.1给出了这两种产生器的根本构造, 其中(Cr, C r-1, ., C0)和(D0, D1, ., Dr)为反响系数, 也是特征多项式系数。 这些系数的取值为“1或“0, “1表示该反响支路连通, “0表示该反响支路断开。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.1 m序列产生器的两种构造 a1a2arar1C0C1C2Cr1Cr(a)b1b2brbr1D0D1Dr1DrD2(b

4、)第第8 8章章 FPGAFPGA电路设计实例电路设计实例 r级移位存放器的反响途径由m序列的特征多项式决议, 对于SSRG构造, m序列特征多项式的普通表达式为 fSSRG(x) =Grxr+Cr-1xr-1+.+C3x3+C2x2+C1x1+C0 x0 8-1 对于MSRG构造, m序列特征多项式的普通表达式为 fMSRG(x) =D0 xr+D1xr-1+.+Dr-3x3+Dr-2x2+Dr-1x1+Drx0 8-2第第8 8章章 FPGAFPGA电路设计实例电路设计实例 可以看出, SSRG构造的特征多项式系数 (Cr, Cr-1, ., C0)与MSRG构造特征多项式系数(D0, D

5、1, ., Dr)之间的对应关系为 Ci=Dr-i, 其中i=0, 1, 2, ., r 特征多项式系数决议了一个m序列的特征多项式, 同时也就决议了一个m序列。 表8.1给出了部分m序列的反响系数, 这些反响系数实践上就是m序列特征多项式系数的八进制表示。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 例如想要产生一个码长为31的m序列, 码序列产生器的存放器级数为5, 从表8.1中查到有“45、 67、 75三个反响系数, 可从中选择反响系数“45来构成m序列产生器。 反响系数“45是一个八进制数, 转换为二进制数为“100101, 这就是特征多项式的系数, 对于SSRG构造,

6、 特征多项式系数的取值为 C5=C2=C0=1, C4=C3=C1=0 对于MSRG构造, 特征多项式系数的取值为 D5=D3=D0=1, D4=D2=D1=0第第8 8章章 FPGAFPGA电路设计实例电路设计实例 表8.1 m序列产生器反响系数表 存放器级数厂m序列长度 m序列产生器反响系数 3 7 13 4 15 23 5 3l 45, 67, 75 6 63103,147,155 7 127203,211,217,235,277,313,325,345,367 8 255435,453,537,543,545,551,703,747 9 5111021,1055,1131,t157,1

7、167,1175 10 10232021,2033,2157,2443,2745,3471 ll 20474005,4445,5023,5263,6211,7363 12 409510123,11417,12515,05,14127,15053 : 13 819120033,23261,24633,30741,32535,37505第第8 8章章 FPGAFPGA电路设计实例电路设计实例 存放器级数rm序列长度 m序列产生器反响系数 14 1638342103,51761,55753,60153,71147,67401 15 32767100003,110013,120265,133663,1

8、42305,164705 16 65535210013,233303,307572,311405,347433,375213 17 131071400011,411335,444257,527427,646775,714303 18 2621431000201,1000241,1025711,1703601 19 5242872000047,2020471,2227023,2331067,2570103,3610353 20 10485754000011,4001051,4004515,600003l第第8 8章章 FPGAFPGA电路设计实例电路设计实例 根据特征多项式的系数可以构造出该m序

9、列, 图8.2是采用SSRG构造的m序列产生器电路。 在这里, 利用D触发器级联的方式完成移位存放器的功能。 在系统清零后, D触发器输出形状均为低电平, 为了防止m序列产生器输出“全0信号, 图8.2在“模二加运算后添加了一个“非门, 这与图8.1中SSRG典型构造稍有不同。 图8.3是该电路的仿真波形, “CLRN为系统清零端低电平有效, “CLK为输入时钟, “OUT为m序列输出端口。 图中还给出了“A、 B、 C、 D四个节点的波形, 从这些点均可得到同一m序列, 只是序列的初始相位不同。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.2 SSRG构造的m序列产生器

10、QDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNVCCINPUTOUTPUTVCCINPUTCLRNCLKVCCOUTC2ABCDC5a5a4a3a2a1C0第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.3 SSRG构造m序列产生器的仿真波形 OUTDCBACLKCLRNName:Value:00000001.0s2.0s3.0s4.0s5.0s第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.4是采用MSRG构造实现的m序列产生器, 图中在每个D触发器的输出端口上加了一个“非门, 使系统清零后各级D触发器的初始形状均为

11、高电平, 这样做同样可以防止输出“全0情况的出现。 图8.5是该电路的仿真波形。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.4 MSRG构造的m序列产生器 QDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNVCCINPUTOUTPUTVCCINPUTCLRNCLKVCCOUTb5b4b3b2b1D0D5D3第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.5 MSRG构造m序列产生器的仿真波形 OUTCLKCLRNName:Value:1101.0s2.0s3.0s4.0s5.0s第第8 8章章 FPGAFPGA电路设

12、计实例电路设计实例 m序列虽然有很好的伪随机性和相关特性, 但是数量太少, 而基于m序列产生的Gold码承继了m序列的许多优点, 更重要的是Gold码序列的数量较多, 因此广泛运用于扩频通讯系统中。 利用m序列产生器可以很容易地构造出Gold码产生器, 篇幅所限, 这里就不详细引见了, 感兴趣的读者可参阅有关文献。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.2 恣意序列产生器恣意序列产生器 m序列产生器的构造可由特征多项式得到, 但对于非m序列的产生电路的设计就比较复杂。 很多有关脉冲与数字逻辑电路设计的书籍中都引见了恣意序列产生器的构造设计, 如移存型序列产生器和计数器型

13、序列产生器。 这些方法虽然可以以最少的硬件产生所需的序列, 但在设计时需求写出形状转移表, 并经过组合逻辑运算产生所需序列。 假设序列很长的话, 整个设计过程是非常繁琐的, 而且输出信号有能够出现毛刺。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 利用FPGA器件产生恣意序列有很多种方法, 上面提到的移存型和计数器型序列产生器的设计方法当然是可行的, 但在这里将引见一种存储型恣意序列产生器的设计方法。 在设计存储型恣意序列产生器时, 设计人员不需求写形状转移表, 也不需求进展组合逻辑运算, 设计非常简便, 而且不会出现逻辑冒险, 保证了输出序列的质量。 第第8 8章章 FPGAF

14、PGA电路设计实例电路设计实例 存储型恣意序列产生器就是将所需的序列事先存储到序列产生器中, 序列产生器在时钟的鼓励下将存储的序列循环输出。 它有两种实现方式, 一种是利用移位存放器实现, 另一种是基于查找表利用FPGA内的存储器实现。 “00110000011111011010100100010111是一个长度为32位的伪随机序列, 下面就分别利用移位存放器和查找表设计该序列的产生器。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.6是基于存放器的32位恣意序列产生器电路, 它将4个8位并入串出移位存放器“cshifreg模块级联, 构成一个32位循环移位存放器。 32位数

15、据放在存放器的输入端口上, 其中“0接“GND, 为低电平信号, “1接“VCC, 为高电平信号。 当“STLD为低电平常, 时钟脉冲将32位数据并行送入移位存放器中, 当“STLD坚持为高电平形状时, 在时钟信号的鼓励下, 32位数据在移位存放器内循环移位, 同时序列从“DATAOUT端口输出。 图8.7给出了仿真波形。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.6 基于存放器的32位恣意序列产生器 AGHcshifregBCDEFSERQCLKSTLD11101000STLDCLKAGHcshifregBCDEFSERQCLKSTLD10010101STLDCLKAG

16、HcshifregBCDEFSERQCLKSTLD10111110STLDCLKAGHcshifregBCDEFSERQCLKSTLD00001100STLDCLKDATAOUTSTLDGNDVCCINPUTVCCOUTPUTDATAOUTCLKINPUTVCC第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.7 基于存放器的32位恣意序列产生器仿真波形 DATAOUTSTLDCLKName:Value:000250.0ns 500.0ns 750.0ns1.0s1.25s1.5s1.75s2.0s2.25s第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.8是基于

17、查找表的32位恣意序列产生器, 整个电路由两部分组成: 地址产生器和基于ROM的查找表。 “lpm_rom的参数设置为 LPM_WIDTH1 LPM_WIDTHAD5 LPM_FILEe:max2workm.mif 在 “ m . m i f 文 件 中 , 从 3 2 位 序 列“00110000011111011010100100010111的MSB到LSB依次对应地址“0000011111。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 地址产生器由“8count构成, 在时钟的鼓励下, “8count的“QEQA端口循环产生信号“0000011111, 将该信号作为地址信息

18、在ROM中寻址, 从而将32位序列从查找表中依次读出。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.8 基于查找表的32位恣意序列产生器 LDNABCDEFGHGNDNUPSETNCLRNCLKQAQBQCQDQEQFQGCOUTUP/DN COUNTERGNDINPUTVCCINPUTVCCCLKCLRN地址产生器8countA0A1A2A3A4inclockaddressqLPM_ROMA4.0DATAOUTOUTPUTLPM_ADDRESS_CONTROL=LPM_FILE=e:max2workm.mifLPM_NUMWORDS=LPM_OUTDATA=UNREGIS

19、TEREDLPM_WIDTH=1LPM_WIDTHAD=5基于ROM的查找表QH第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.9是基于查找表的32位恣意序列产生器仿真波形。 “A4 .0是地址信号, 取值区间是“0000011111, 它与查找表中的32位数据一一对应。 存储型恣意序列产生器与移存型和计数器型序列产生器相比较, 设计过程非常简单, 但需求耗费较多的硬件, 如触发器和存储器。 由于FPGA拥有大量的逻辑单元和存储单元, 因此FPGA器件非常适宜于实现存储型恣意序列产生器。 在存储型恣意序列产生器两种实现方式中, 基于移位存放器的实现方法, 适于产生码长较短的序列

20、, 而基于查找表的实现方法, 适于产生码长较长的序列。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.9 基于查找表的32位恣意序列产生器仿真波形 DATAOUTA4.0CLKCLRNName:Value:10D 000 12345678910 11 12 13 14 15 16 17 18 19 20 21 22 23 24250.0ns500.0ns750.0ns1.0s第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.3 数字相关器数字相关器 数字相关器在通讯信号处置中本质上是起到数字匹配滤波器的作用, 它可对特定码序列进展相关处置, 从而完成信号的解码,

21、恢复出传送的信息。 数字相关器与模拟相关器相比, 其灵敏性强、 功耗低、 易于集成, 广泛用于帧同步字检测、 扩频接纳机、 误码校正以及方式匹配等领域。 数字相关器普通包括: 输入序列移位存放器、 参考序列移位存放器、 相关运算阵列和相关求和网络。 图8.10给出了数字相关器的构造框图。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.10 数字相关器构造框图 输入序列移位寄存器参考序列移位寄存器相关运算阵列相关求和网络数据流输入参考序列输入时钟相关信号输出第第8 8章章 FPGAFPGA电路设计实例电路设计实例 在数字相关器任务时, 参考序列首先被送入参考序列移位存放器中,

22、而输入数据流那么在时钟驱动下被送入输入序列移位存放器中。 相关运算阵列对输入序列与参考序列之间进展相关运算, 输入序列移位存放器每更新一位数据, 相关运算阵列就进展一次相关运算, 然后将相关运算结果送入相关求和网络, 由相关求和网络计算出相关值。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 普通情况下, 相关求和网络输出的相关值还需求与一个检测门限做比较, 判别能否出现相关峰。 当求和网络计算出的相关值高于检验门限时, 就以为出现了相关峰。 因此, 检测门限的高低决议了相关峰虚警检测概率和漏警检测概率的大小。 所谓虚警是指没有相关峰时, 相关器误以为此时有相关峰出现, 而漏警那么

23、是指当相关峰出现时, 相关器误以为此时没有相关峰。 最理想的情况是相关峰检测的虚警概率和漏警概率都较小, 这样就能得到可靠的判决结果, 但是虚警概率和漏警概率不会同时减小。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 假设把检测门限设置得较低, 漏警概率降低, 但虚警概率增大, 反之, 假设提高检测门限, 虚警概率降低, 但漏警概率却增大了。 例如相关数据长度为32位, 假设把门限设为32, 那么不会发生虚警, 但是假设这32位中恣意一位数据在传输中发生过失, 即使有相关峰出现, 由于此时的相关峰值低于32, 就会误以为此时没有相关峰, 以致于发生漏警。 第第8 8章章 FPGA

24、FPGA电路设计实例电路设计实例 合理设置检测门限, 在相关器的虚警概率与漏警概率之间取一个折衷值是非常必要的,这样既不会明显降低相关器性能, 又使得通讯系统可以容忍少量的传输错误。 在实践运用中, 数字相关器前端普通都有一个预处置电路, 如完成对接纳信号的数字化处置、 防混叠滤波、 下采样等, 进入到数字相关器中的样点值是用一定字长的二进制数表示的。 本地参考序列假设包含有幅度信息的话, 它的各个样点也是用一定字长的二进制数来表示的。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 输入数据序列与本地参考序列做相关运算, 实践上就是这两个序列的对应位做乘法运算, 然后再利用求和网络

25、得到相关值。 最简单的一种情况是序列中的各个样点都用一位二进制数表示, 这样就可以用逻辑运算如模二加来取代复杂的乘法运算。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 我们知道, 帧同步字用于指示帧的起始位置或终了位置, 在典型的数字通讯系统中, 接纳机需求在已解调的数据流中搜索帧同步字, 以确定帧的位置和帧定时信息。 将数字相关器用于帧同步字检测的方法, 特别适用于突发通讯协议, 如TDM。 数字相关器是实现快速同步和锁定数据突发的关键。 下面以一次群信号的帧同步字检测为例, 讨论数字相关器的根本设计方法。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 根据CCIT

26、T G.732建议, A律30/32路一次群TDM-PCM传输规范的一个复帧包含16帧, 一帧长为125 s, 每一帧含256位, 分成32个时隙时隙0时隙31, 每个时隙包含8位数据。 帧分为奇数帧和偶数帧, 偶数帧时隙0的后7位为帧定位信号FAS, Frame Alignment Signal“0011011。 也就是说, 相邻的两个帧有一个帧同步码, 相邻两个帧定位信号间距为512位。 对一次群进展分接, 首先要实现帧头的捕获, 帧头捕获电路采用的数字相关检测方法, 是数字相关器的一个典型作用。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 表8.2 一次群帧同步码检测电路引

27、脚 引 脚 功 能 DATAIN 数据输入 CLK 数据时钟输入 CLRN 系统复位端口 DETECTION 相关峰信号输出 SIGl 显示相关峰极性 SIG0第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.11是一次群帧同步码检测电路, 其中与“VCC相连的线处于高电平, 为“1; 与“GND相连的线处于低电平, 为“0。 表8.2给出了一次群帧同步码检测电路的引脚阐明。 该电路可以有效地检测出一次群信号数据流中的特殊码字“0011011。 输入一次群数据流首先进入7位移位存放器中, 然后与本地参考序列“0011011的对应位进展“异或逻辑运算, 然后再统计7位输出结果中“1

28、和“0的数目。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 需求指出的是, 在二进制数据传输中, 高电平信号“1与低电平信号“0只是一个相对的概念。 假设相关结果全部为“1, 阐明出现了相关峰; 假设相关结果全部为“0, 同样也阐明出现了相关峰, 只不过是极性发生了翻转。 认识到这一点, 对于检测门限的设置是非常重要的。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 为了简便起见, 这里将相关峰检测门限设为7, 也就是说只需在输入数据流中出现“0011011或“1100100字段时, 才会判决输出正或负的相关峰。 因此在图8.11中用一个七输入的“与门完成正极性相关峰

29、的检测, 用一个七输入的“或非门完成负极性相关峰的检测。 输出引脚“SIG1和“SIG0分别表示相关峰的极性, 当出现正相关峰时, “SIG1为高电平; 当出现负相关峰时, “SIG0为高电平。 一次群帧同步码检测电路的波形仿真结果如图8.12所示, 其中分别仿真了输入数据流中出现“0011011和“1100100字段时检测电路的输出结果。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.11 一次群帧同步码检测电路 QDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNQDPRNCLRNVCCINPUTDATAINVCCI

30、NPUTCLRNVCCINPUTCLKIN1IN2IN3IN4IN5IN6IN7OUTVCCGND1101100OUTUTSIG1OUTUTDETECTIONSIG0OUTUT第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.12 一次群帧同步码检测电路仿真波形 SIG0SIG1DETECTIONDATAINCLKCLRNName:Value:1010005.0s7.5s10.0s12.5s15.0s17.5s20.0s22.5s第第8 8章章 FPGAFPGA电路设计实例电路设计实例 由于参考序列“0011011是一个固定序列, 因此在电路设计中没有运用参考序列移位存放器, 这

31、样可以节省片内资源。 假设要求参考序列是可在线编程的, 就需求将参考序列放入到移位存放器中, 以便实时更新。 在上面的例子中, 将相关峰检测门限设置为7是一种最简单的情况, 在实践运用中假设将相关峰的检测门限设置为其它值, 就需求用计数器或其它逻辑电路来统计相关结果中“1或“0的数目, 从另一个角度看, 也就是要计算相关结果的汉明间隔。 有关汉明间隔的电路计算方法, 将在8.4节中做详细引见。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.4 汉明间隔的电路计算汉明间隔的电路计算 汉明间隔是编码实际中的一个重要概念, 它的定义是两个长为N的二元序列S和U之间对应位不一样的位数,

32、 用dS, U来表示。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 在扩频通讯和数字突发通讯如TDMA系统中, 接纳机进展的数字相关检测或独特码UW检测, 实践上就是计算本地一组确定序列与接纳到的未知序列之间汉明间隔的过程。 将汉明间隔与事先确定的门限相比较, 就可以得到检测结果, 检测器构造如图8.13所示。 设检测的序列长度为N, 本地码型确定的序列为 UU1, U2, , UN 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 U1UN汉明距离计算电路1输 入N位移位寄存器2N检测结果输出S1S2SN门限判决电路D1D2DNU2 图8.13 检测器构造图 第第8 8

33、章章 FPGAFPGA电路设计实例电路设计实例 接纳机将接纳到的数据延续不断地送入N位串行移位存放器中, 任一瞬间移位存放器的内容为 SS1, S2, , SN S与U的对应位进展模二加, 当S与U的对应位一样时结果为“0, 不同时结果为“1, 最后得到 DD1, D2, , DN 其中 DiSiUi i1, 2, , N 8-3第第8 8章章 FPGAFPGA电路设计实例电路设计实例 序列D中“1的数目就是S与U之间的汉明间隔, 可表示为NiiiNiiDUSUSd11)(),(8-4) 二元序列D是序列S与U的比较结果, 要得到汉明间隔的数值, 必需从序列D中计算出“1的个数, 其电路的实现

34、方法有多种, 下面一一进展分析。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.4.1 计数法 在某一时辰, 我们得到了一个二元序列DD1, D2, , DN, 它存在的时间根本上为一个时钟周期, 在下一个时钟到来时, 由于序列S发生了变化, 从而将序列D更新。 为了计算出每一个时钟周期内序列D中“1的数目, 首先将序列D并行送入一个“并入串出的N位移位存放器中, 然后用一个高速时钟将数据送出, 同时利用计数器来统计“1的数目, 最后用清洗脉冲将计数器清零, 为下一周期的计数做好预备, 参见图8.14。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 假设接纳到的数据

35、速率为R0, 每位时间宽度为T0, 那么有 001RT 8-5 由此可以确定计数时钟的最低速率为0RNR 8-6 周期为 011NRRT8-7 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 计数法的实现电路比较简单, 但是当数据速率R0较高或N值较大时, 计数时钟的速率R会很大, 导致电路难以实现。 因此, 这种方法适宜于低速数据, 码序列不宜很长, 而且需求有高速率的时钟和高速器件。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.14 计数法原理图 N 比特并入串出移位寄存器计数时钟计数器汉明距离输 出12N.D1D2DN清洗脉冲CLKCLRN.CLKCLRN:

36、时钟输入:清“0”输入第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.4.2 逻辑函数法 将序列D作为逻辑函数的输入变量, 汉明间隔作为输出变量, 那么输出变量的个数I为: IINTlog 2N1 8-8 这里, N为序列D的长度, INTX表示取X的整数部分。 根据输入变量值写出对应的输出变量值, 得到其真值表, 从而建立逻辑函数表达式。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 但它不是最简的, 通常采用公式法或卡诺图法对其进展简化, 得到最简的逻辑计算电路。 在N值较大的情况下可采用系统简化法又称Q-M法, 这种方法适用于化简恣意多变量的函数, 并且具有较严

37、厉的算法, 可以将此函数的简化问题编程, 借助于计算机进展化简。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 逻辑函数法的计算电路运用了大量的与或非门, 其计算速度决议于信号经过逻辑门的延迟时间及布线间隔的长短, 普通说来, 可以到达较高的计算速度。 但是随着N的增大, 计算电路将越来越复杂, 并且N值不同, 实践电路构造也不一样, 必需重新设计。 同时, 在电路设计中, 必需消除逻辑冒险。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.4.3 查找表法 所谓查找表法, 就是将存储器做成一个查找表, 把序列D作为地址信号, 从表中查找出其对应的汉明间隔。 图8.1

38、5阐明了这种方法。 序列D的长度为N, 存储单元的数据宽度为P, 那么 PINTlog 2N1 8-9 从而要求存储器的容量M为 M2NP 8-10 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.15 查找表法存储器汉明距离输 出.DND2D1第第8 8章章 FPGAFPGA电路设计实例电路设计实例 可见, 随着序列长度N的添加, 存储器容量成几何级数增长, 当N30时, 存储量将超越5 Gb, 实践电路难以实现。 所以, 在码序列较短的情况下, 运用查找表法比较方便。 此方法的计算速度与存储器的寻址时间有关, 选用高速器件, 可以到达较高的计算速度。 第第8 8章章 FPG

39、AFPGA电路设计实例电路设计实例 8.4.4 求和网络法 求和网络法的原理图见图8.16所示, 它的任务原理很简单, 即将序列D中的各项逐个加在一同, 最终累加结果便是汉明间隔。 求和网络法在网络构造上可分为并行求和网络和串行求和网络两种, 这两种构造所需加法器的数目J是一样的, 均为 JN-1 8-11 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 在普通情况下, 为了保证计算结果的可靠性, 需求将序列D用N位存放器锁存。在求和网络中, 信号每经过一次加法运算, 就引入一定的延迟。 但是, 串行求和网络与并行求和网络的信号总延迟是不同的, 显然 串行并行 8-12 由于信号总的

40、延迟时间不能超越数据码元周期T0, 即有 T0串行并行 8-13 所以并行求和网络的任务速度要高于串行求和网络。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.16 求和网络法原理图 加法器D1D2加法器D3D4加法器D5D6加法器加法器加法器加法器DN-1DN加法器加法器加法器.汉明距离输 出D1D2加法器加法器加法器汉明距离输 出.D3DN.(a)(b)第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.4.5 组合运用 以上引见了四种计算汉明间隔的方法, 它们各有优缺陷, 在详细运用中, 假设将几种方法组合运用, 计算电路会更加合理、 高效。 图8.17给出了

41、计数-求和网络法的原理框图, 在这里, 我们重点讨论图8.18所示的查找表-求和网络法。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.17 计数求和网络法原理图 计数时钟计数器1汉明距离输 出.计数器2计数器KCLKCLRNCLKCLRNCLKCLRN清洗脉冲清洗脉冲清洗脉冲.求和网络.12iD1i+1ghN.D2DiDi 1DgDhDN第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.18 查找表-求和网络法原理图第第8 8章章 FPGAFPGA电路设计实例电路设计实例 在查找表-求和网络法中, 需求处理的问题是: 怎样才干使存储器总容量与求和网络中加法器的

42、数目到达最正确。 如图8.18所示, 可将查找表分解成假设干个子查找表, 分别由存储器1K构成。 首先将长度为N的序列D等间距地分成K段, 为了便于分析并不失普通性, 令 N2m, K2n 且mn0, m, n均为整数, 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 那么存储器的地址线宽度为2m-n, 每个存储单元的数据宽度为m-n1, 那么存储器1K的容量均为 M2m-nm-n1 8-14 进而可以计算出存储器的总容量为 M 总KM2m-nm-n1 8-15 显然, 与8-10式相比, 将一个大的查找表分割成假设干个子查找表, 可以减少存储器的容量。 同样, 由8-11式可知,

43、求和网络中加法器的总数目为 J 总K-12n-1 8-16 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.19 m-J 总-log 2M 总关系曲线J总140120100806040200050100150200250300m=4m=5m=6m=7m=8log2M总第第8 8章章 FPGAFPGA电路设计实例电路设计实例 在上述讨论中, 我们曾令N2m, K2n, 且 mn0, m, n均为整数, 当2mN2m-1, 2nK2n-1, 且mn1, m, n均为整数时, 经同样分析从略可知, 8-11、 8-16式给出了此时存储器容量和加法器数目的上限。 第第8 8章章 FPG

44、AFPGA电路设计实例电路设计实例 由8-15和8-16式可知, 当nm时, M 总2n, J 总2m-1, 原方法等效为求和网络法; 当n0时, M 总2Nm1, J 总0, 原方法等效为查找表法。 我们将8-15和8-16式结合起来, 绘成m-J 总-log 2M 总关系曲线, 如图8.19所示。 值得留意的是, 在序列长度确定的条件下即m确定, M 总与J 总的大小是可以相互转换的, 这个特点对于采用可编程逻辑器件计算汉明间隔尤为重要。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 由于可编程逻辑器件的存储单元和逻辑单元属于两种不同的芯片资源, 它们是有限的。 加法器普通可由

45、逻辑单元构成。 在较复杂的公用集成电路设计中, 其它功能模块能够曾经占用了较多的存储单元, 或者占用了较多的逻辑单元, 而汉明间隔的计算电路那么可根据有效的芯片资源, 恰当地选择M 总与J 总值, 使整个系统的资源利用率到达最正确。 下面我们给出查找表-求和网络法的一个运用实例。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.20 32位序列汉明间隔计算电路原理图 D1D2逻 辑计 算电 路D5加法器1加法器2加法器34443ABC输出45D6D75124D14D15D165124D23D24D25EAB15124D32.EAB2EAB3第第8 8章章 FPGAFPGA电路设

46、计实例电路设计实例 在某通讯系统的检测单元中, 需求实时计算出长度为32位的接纳序列与本地序列之间的汉明间隔, 同时要务虚际电路可以充分利用Altera公司EPF10K10芯片内的存储单元, 尽量节省逻辑单元以包容其它的功能模块。 EPF10K10芯片的存储单元由三个EAB块组成, 每个EAB块的存储容量为2048位, 可以配置成5124的查找表, 其中地址线宽度为9, 数据线宽度为4。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 设序列DD1, D2, , D32, 分别将D6, D7, , D14, D15, D16, , D23, D24, D25, , D32作为查找表的

47、地址线, 由此可以计算出序列D6, D7, , D32的汉明间隔。 序列D1, D2, , D5的汉明间隔可以采用逻辑函数法获得。 图8.20给出了32位序列汉明间隔电路计算原理图。 由8-8式可知, 逻辑计算电路有三个二进制输出变量, 由最高有效位到最低有效位依次设为A、 B、 C, 其逻辑表达式为第第8 8章章 FPGAFPGA电路设计实例电路设计实例 543215432154321543215432154321543215432154321543215432154321543215432154321543215431542153214321542143214321543154315421

48、5321432143215421532154325431DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDA第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.21是32位汉明间隔计算的电路图, 其中用三个“lpm_rom模块构建查找表, 用“c5in3out模块完成逻辑电路计算功能, 最后用三个加法器将各项相加, 就得到最终计算结果。

49、 整个计算电路运用了芯片100的存储单元和5的逻辑单元, 其中, 逻辑计算电路占2, 加法器占3。 假设完全采用逻辑函数法, 那么需求占用芯片15的逻辑单元, 因此图8.21所示的汉明间隔计算电路为该通讯系统的检测单元节省了10的逻辑单元。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.21 32位序列汉明间隔计算电路图 CIHA1B1A2B2A3B3A4B4A5B5A6B6A7B7A8B8SUM1SUM2SUM3SUM4SUM5SUM7SUM8COUTSUM6FULL ADDERDATAOUT0DATAOUT4DATAOUT1DATAOUT5DATAOUT2DATAOUT6

50、DATAOUT3DATAOUT7CIHA1B1A2B2A3B3A4B4A5B5A6B6A7B7A8B8SUM1SUM2SUM3SUM4SUM5SUM7SUM8COUTSUM6FULL ADDERDATAOUT8DATAOUT12DATAOUT9DATAOUT13DATAOUT10DATAOUT14DATAOUT118fadd8faddCIHA1B1A2B2A3B3A4B4A5B5A6B6A7B7A8B8SUM1SUM2SUM3SUM4SUM5SUM7SUM8COUTSUM6FULL ADDER8faddOUT0OUT1OUT2OUT3c5in3outABCDEXYZVCCINPUTINPUTV

51、CCINPUTVCCINPUTVCCINPUTVCCDATAIN27DATAIN28DATAIN29DATAIN30DATAIN31DATAOUT14DATAOUT13DATAOUT12OUTPUTOUT4.0逻辑计算电路查找表求和网络OUT4addressqDATAOUT7.4LPM_ROMDATAIN17.9LPM_ADDRESS_CONTROL=UNREGISTERELPM_FILE=e:max2workhamming.mifLPM_NUMWORDS=LPM_OUTDATA=UNREGISTEREDLPM_WIDTH=4LPM_WIDTHAD=9INPUTVCCaddressqDATAO

52、UT3.0LPM_ROMDATAIN8.0LPM_ADDRESS_CONTROL=UNREGISTERELPM_FILE=e:max2workhamming.mifLPM_NUMWORDS=LPM_OUTDATA=UNREGISTEREDLPM_WIDTH=4LPM_WIDTHAD=9INPUTVCCaddressqDATAOUT11.8LPM_ROMDATAIN26.18LPM_ADDRESS_CONTROL=UNREGISTERELPM_FILE=e:max2workhamming.mifLPM_NUMWORDS=LPM_OUTDATA=UNREGISTEREDLPM_WIDTH=4LPM

53、_WIDTHAD=9INPUTVCC第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.22给出了部分电路仿真波形, 其中序列D从端口“DATAIN31.0输入, 用十六进制数表示, 计算结果从“OUT3 .0输出, 用十进制数表示。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.22 32位序列汉明间隔计算电路仿真波形OUT4.0DATAIN31.0Name:Value:-D 129109171117AACD43E9AB0036B108DF36BCA8001D41F800A08CA80003D1500.0ns1.0s1.5s2.0s第第8 8章章 FPGAFPG

54、A电路设计实例电路设计实例 8.5 交错编码器交错编码器 8.5.1 交错编码的原理 数字通讯系统进展数据传输时, 不可防止地会在接纳端产生过失。 在这种情况下, 假设单纯经过改良信道的性能来降低误码率, 在某些情况下是不真实践或不经济的。 因此, 数字通讯系统通常采用前向纠错编码的方法来纠正在传输过程中产生的误码。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 目前常用的纠错码包括分组码和卷积码, 它们都是按一定规律在原始信息序列中有意加上一些不含信息的多余比特, 其作用是监视一切码组经过信道传输后能否有过失, 以便在接纳端根据码组中规定的监视关系对出现过失的码组进展纠错。 第第

55、8 8章章 FPGAFPGA电路设计实例电路设计实例 每一种纠错码都只具备有限的纠错才干。 当延续误码个数超越它的纠错才干之后, 接纳端的纠错译码便不能有效地降低信道误码率, 甚至还会呵斥某种程度的恶化。 为了抑制信道中出现突发性过失, 需求运用交错编码技术, 其作用就是将延续误码分散成非延续误码, 增大纠错码的约束长度。 数字通讯系统采用纠错码和交错编码, 就具有了既能纠正随机过失, 又能抑制突发性过失的功能, 大大提高了通讯质量。 此外, 交错编码器在Turbo码设计中也起着非常重要的作用。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.23是纠错编码与交错编码电路衔接关

56、系图。 交错编码根据交错图案方式的不同, 可分为线性交错、 卷积交错和伪随机交错。 其中线性交错编码是一种比较常见的方式, 在这里, 我们主要向大家讲述线性交错编码器的FPGA设计。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.23 纠错编码与交错编码的衔接关系纠错编码交织编码发射机传输信道接收机交织译码纠错译码数据入数据出第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.24 nm交错矩阵 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 所谓线性交错编码器, 是指把纠错编码器输出信号均匀分成m个码组, 每个码组由n段数据构成, 这样就构成一个nm的

57、矩阵。 我们把这个矩阵称为交错矩阵, 如图8.24所示。 数据以a11,a12, .,a1n, a21,a22, .,a2n, .,aij,.,am1,am2, .,amn(i=1, 2, ., m; j=1, 2, ., n)的顺序进入交错矩阵, 再以a11,a21, .,am1,a12,a22, .,am2, .,aij, .,a1n,a2n, .,amn的顺序从交错矩阵中送出, 这样就完成了对数据的交错编码。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 当然还可以按照其它顺序从交错矩阵中读取数据, 不论采用哪种方式, 其最终目的都是把输入数据的次序打乱。 假设aij只包含一

58、个数据比特, 称为按位交错; 假设aij包含多个数据比特, 那么称为按字交错。 接纳端的交错译码同交错编码过程相类似, 也是经过图8.24的交错矩阵来完成, 它们的构造是一样的。 在这里, 我们只讨论交错编码器, 当然它也可以用来做交错译码。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 根据Altera公司FLEX系列器件的内部构造特点, 可以采用两种方法设计交错编码器。 一种方法是利用FLEX器件的逻辑单元, 用移位存放器完成交错; 另一种方法是利用EAB资源, 用存储器实现交错编码。 下面分别进展讨论。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 8.5.2 利

59、用移位存放器实现交错编码 图8.25所示为利用移位存放器实现44交错编码器mn4任务原理方框图, 输入移位存放器和输出移位存放器的容量均为16比特, 该交错器每次完成16比特数据的交错编码。 图8.26为44交错编码器的交错矩阵。 设“015为输入16比特数据的编号, 输入数据在时钟的作用下,按照“0、 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15的顺序进入“输入移位存放器, 在时序控制单元的控制下, 经过交错网络, 进入“输出移位存放器, 然后以“0、 4、 8、 12、 1、 5、 9、 13、 2、 6、 10、 14、 3、 7、

60、11、 15的顺序输出, 从而完成交错编码。 第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.25 基于移位存放器的交错编码器任务原理方框图 输入移位寄存器(串入并出)输出移位寄存器(并入串出)交织网络时序控制数据输入时钟数据输出时钟第第8 8章章 FPGAFPGA电路设计实例电路设计实例 表8.3 基于移位存放器的交错编码器引脚 引 脚 功 能 DATAIN数据输入 CLK数据时钟输入 CLRN系统复位端口 DATAOUT交错编码数据输出 CLKOUT交错编码数据时钟输出第第8 8章章 FPGAFPGA电路设计实例电路设计实例 图8.26 44交错矩阵/p>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论