欢迎来到天天文库
浏览记录
ID:48183076
大小:675.00 KB
页数:48页
时间:2020-01-18
《FPGA通信设计基础_第六章 编译码模块设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章编码与译码5.1伪随机序列5.2帧同步检出5.3RS码5.4Viterbi译码5.1伪随机序列对于数字信号传输系统,传送的数字基带信号(一般是一个数字序列)由于载有的信息,在时间上往往是不平均的(比如数字化的语音信号),对应的数字序列编码的特性不利于数字信号的传输。我们可以通过对数字基带信号预先进行“随机化”(加扰)处理,使得信号频谱在通带内平均化,改善数字信号的传输;在接收端进行解扰操作,恢复到原来的信号。伪随机序列广泛应用于这类加扰、解扰操作中。下面以一类伪随机序列——m序列为例,用DSPBuilder构建一个伪随机序列发生器。5.1.1m序列m序
2、列即最长线性反馈移位寄存器序列,是一种比较常见的伪随机序列发生器,可由线性反馈寄存器(LinearFeedbackShiftRegisters,LFSR)来产生。如图5-1所示。图5-1线性反馈移位寄存器的构成图5-1中涉及的乘法和加法都是指模二运算中的乘法和加法,即逻辑与和逻辑异或。要产生最长的线性反馈移位寄存器序列的n级移位寄存器,其特征多项式必须是n次本原多项式。比如,可以生成m序列的5级LFSR的特征多项式为上式可生成的m序列的周期为m序列的特征多项式可表示为5.1.2m序列发生器模型以为例,利用DSPBuilder构建一个伪随机序列发生器。图5-2
3、显示了上式的DSPBuilder模型表示。这里采用相连的延时单元组作为移位寄存器,用异或(XOR)完成模二加运算,输出为mout。图5-2m序列发生器模型不过图5-2所示的电路可能无法正常工作,这是由于DSPBuilder默认的延时单元在开始工作时存储内容为0,而对于m序列来说,起始序列为全0,那么根据多项式,输出序列将为全0,全0序列不是正常的m序列。因此只要起始时寄存器中有一个为1,m序列就可以正常输出。为此,对图5-2的模型进行修改,修改后的模型见图5-3所示。对图5-3的模型进行仿真,可得到一个伪随机序列,如图5-4所示。图5-3修改后的m序列发生器
4、模型图5-4m序列发生器的Simulink仿真结果5.2帧同步检出在数字通信系统中,同步是非常关键的。由于信号的远距离传输,不可避免地存在信号延时、干扰、非线性失真、收发两端的时钟偏差等。为保证数字传输信号的有效性,必须进行同步。根据同步作用可以分为:载波同步、位同步、帧同步、网同步。本节以帧同步设计为例进行介绍。在数字通信中,信号流的最小单元是码元,若干码元构成一个帧,若干个帧再构成一个复帧,……。在接收端,必须分辨出每个帧的起始和接收,否则将无法正确恢复信息。这种同步被称为帧同步(又称群同步)。帧同步有很多实现方法,在此列举一种:连贯插入法。即在每一帧的
5、开头连续插入一个特殊码组,比如巴克码。若在收端检测到该特殊码组的存在,就意味着帧开始了。5.2.1巴克码巴克码是一个有限长的数字序列。一个n位巴克码序列,其中1≤i≤n,取值为+1或者-1,其局部自相关函数满足:n,j=00,±1,0<j<n0,j≥n即当j=0时,巴克码的局部自相关函数达到峰值;j为其它值时,在附近波动,可以用作帧同步的特殊码组。符合上述自相关特性的码组是存在的,比如{+1,+1,+1,-1,-1,+1,-1}就是7位巴克码序列。当j=0时,,达到峰值;当j=1时,R(i)=1;当j=3、5、7时,R(i)=0;当j=2、4、6时,R(i)
6、=-1。5.2.2巴克码的检出模型根据5.2.1小节介绍的原理,若需要在数字信号流中检出巴克码组,只要检测序列的自相关函数即可。在Simulink环境中,建立一个DSPBuilder模型,检出7位巴克码,序列为{+1,+1,+1,-1,-1,+1,-1},如图5-5所示。图5-5帧同步检出模型由ShiftTaps模块完成输入序列存储,由bxp1m、bxn1m子系统模块完成运算。7输入加法器模块完成求和运算。注意,若要求帧同步输出脉冲没有延时,不能选择参数“Pipeline(流水线)”。由Comparator比较器模块和Constant常数模块构成判决电路,C
7、onstant模块的值设为6,即只要序列局部自相关函数输出大于6,就认为检出巴克码了。对于输入的数字序列值是0或者1,而对于巴克码则是+1和-1。我们在这里规定输入数字信号序列中的0对应于巴克码的-1。据此可以建立两个子系统模块bxp1m和bxn1m,分别完成、。子系统模块图见图5-6和图5-7。图中只用了一个选择器和几个常数模块就实现了要求的的功能。图5-6SynDet子系统图5-7bxn1m子系统在Simulink中仿真时通过FromWorkspace1模块从MATLAB的工作区获得输入序列:11100101111010011011仿真结果检测到了用于帧
8、同步的巴克码,请见图5-8。图5-8仿真结果5.3R
此文档下载收益归作者所有