第10章编码与译码.ppt

上传人:本田雅阁 文档编号:3122336 上传时间:2019-07-13 格式:PPT 页数:38 大小:345.52KB
返回 下载 相关 举报
第10章编码与译码.ppt_第1页
第1页 / 共38页
第10章编码与译码.ppt_第2页
第2页 / 共38页
第10章编码与译码.ppt_第3页
第3页 / 共38页
第10章编码与译码.ppt_第4页
第4页 / 共38页
第10章编码与译码.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《第10章编码与译码.ppt》由会员分享,可在线阅读,更多相关《第10章编码与译码.ppt(38页珍藏版)》请在三一文库上搜索。

1、第10章 编码与译码,10.1 伪随机序列 10.2 帧同步检出 10.3 RS码 10.4 Viterbi译码,10.1 伪随机序列,对于数字信号传输系统,传送的数字基带信号(一般是一个数字序列)由于载有的信息,在时间上往往是不平均的(比如数字化的语音信号),对应的数字序列编码的特性不利于数字信号的传输。我们可以通过对数字基带信号预先进行“随机化”(加扰)处理,使得信号频谱在通带内平均化,改善数字信号的传输;在接收端进行解扰操作,恢复到原来的信号。,伪随机序列广泛应用于这类加扰、解扰操作中。下面以一类伪随机序列m序列为例,用DSP Builder构建一个伪随机序列发生器。 10.1.1 m序

2、列 m序列即最长线性反馈移位寄存器序列,是一种比较常见的伪随机序列发生器,可由线性反馈寄存器(Linear Feedback Shift Registers,LFSR)来产生。如图10-1所示。,图10-1 线性反馈移位寄存器的构成,图10-1中涉及的乘法和加法都是指模二运算中的乘法和加法,即逻辑与和逻辑异或。 要产生最长的线性反馈移位寄存器序列的n级移位寄存器,其特征多项式必须是n次本原多项式。 比如,可以生成m序列的5级LFSR的特征多项式为,m序列的特征多项式可表示为,上式可生成的m序列的周期为 。,10.1.2 m序列发生器模型 以 为例,利用DSP Builder构建一个伪随机序列发

3、生器。 图10-2显示了上式的DSP Builder模型表示。这里采用相连的延时单元组作为移位寄存器,用异或(XOR)完成模二加运算,输出为mout。,图10-2 m序列发生器模型,不过图10-2所示的电路可能无法正常工作,这是由于DSP Builder默认的延时单元在开始工作时存储内容为0,而对于m序列来说,起始序列为全0,那么根据多项式,输出序列将为全0,全0序列不是正常的m序列。因此只要起始时寄存器中有一个为1,m序列就可以正常输出。为此,对图10-2的模型进行修改,修改后的模型见图10-3所示。 对图10-3的模型进行仿真,可得到一个伪随机序列,如图10-4所示。,图10-3 修改后的

4、m序列发生器模型,图10-4 m序列发生器的Simulink仿真结果,10.2 帧同步检出,在数字通信系统中,同步是非常关键的。由于信号的远距离传输,不可避免地存在信号延时、干扰、非线性失真、收发两端的时钟偏差等。为保证数字传输信号的有效性,必须进行同步。 根据同步作用可以分为:载波同步、位同步、帧同步、网同步。本节以帧同步设计为例进行介绍。,在数字通信中,信号流的最小单元是码元,若干码元构成一个帧,若干个帧再构成一个复帧,。在接收端,必须分辨出每个帧的起始和接收,否则将无法正确恢复信息。这种同步被称为帧同步(又称群同步)。 帧同步有很多实现方法,在此列举一种:连贯插入法。即在每一帧的开头连续

5、插入一个特殊码组,比如巴克码。若在收端检测到该特殊码组的存在,就意味着帧开始了。,10.2.1 巴克码 巴克码是一个有限长的数字序列。一个n位巴克码序列 ,其中1in,取值为+1或者-1,其局部自相关函数满足:,n,j=0 0,1,0jn 0,jn,即当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)=-1。,10.2.2 巴克码的

6、检出模型 根据10.2.1小节介绍的原理,若需要在数字信号流中检出巴克码组,只要检测序列的自相关函数即可。 在Simulink环境中,建立一个DSP Builder模型,检出7位巴克码,序列为+1,+1,+1,-1,-1,+1,-1,如图10-5所示。,图10-5 帧同步检出模型,由Shift Taps模块完成输入序列存储,由bxp1m、bxn1m子系统模块完成运算。7输入加法器模块完成求和运算。注意,若要求帧同步输出脉冲没有延时,不能选择参数“Pipeline(流水线)”。 由Comparator比较器模块和Constant常数模块构成判决电路,Constant模块的值设为6,即只要序列局部

7、自相关函数输出大于6,就认为检出巴克码了。,对于输入的数字序列值是0或者1,而对于巴克码则是+1和-1。我们在这里规定输入数字信号序列中的0对应于巴克码的-1。据此可以建立两个子系统模块bxp1m和bxn1m,分别完成 、 。子系统模块图见图10-6和图10-7。图中只用了一个选择器和几个常数模块就实现了要求的 的功能。,图10-6 bxp1m子系统,图10-7 bxn1m子系统,在Simulink中仿真时通过From Workspace1模块从MATLAB的工作区获得输入序列: 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 仿真结果检测到了用于帧同步的巴克码

8、,请见图10-8。,图10-8 仿真结果,10.3 RS 码,在实际的数字通信传输信道上,信号发生错误是不可避免的。可以采用信道编码来尽可能地降低误码率。在信道编码中除了需要传送的信息之外,还加入了一些冗余信息,以便在收端检测出错误。,对于检出错误的处理方式常用的有三种:检错重发(ARQ)、前向纠错(FEC)、混合纠错(HEC)。对于前向纠错是不需要反馈信道的,在信道编码中含有纠错信息,实时性较强。 RS编码在前向纠错中的使用比较常见。,10.3.1 RS码简介 RS码是Reed Solomon码的简称,是属于循环码BCH码的一种,对于突发错误,RS码具有很好的纠错能力。 一个RS码,输入信号

9、分成比特一组,每组包括个符号,每个符号由个比特构成。 对于一个可以纠正个符号错误的RS码,其参数如表10-1所示。,表10-1 RS码的参数,10.3.2 使用IP Core设计RS编码器 对于RS码的编码器,可以用带反馈的移位寄存器来实现,不过实现起来比较复杂。Altera为RS码提供了IP CoreRS Compiler来简化RS编码/译码器的设计。RS Compiler除了可在Quartus II中使用外,还可与DSP Builder配合使用(见图10-9)。,图10-9 RS Compiler与DSP Builder集成,按照图10-9新建一个模型,放置一个Reed Solomon模块

10、。 双击该模块,出现RS Compiler对话框,如图10-10所示。选择“Encode”编码器,然后点击“Next”按钮,进行RS编码器的参数设置(见图10-11)。设置完成后就可以在Simulink中,如其它DSP Builder模块一样调用RS编码器来完成更大的设计了。,图10-10 选择类型为RS的编码器,图10-11 确定参数,10.3.3 使用IP Core设计RS译码器 RS Compiler这个核也可以设计RS译码器。同设计RS编码器时一样调用RS Compiler,选择类型为“Decoder”的译码器,见图10-12所示。 接着的参数设置与RS编码器相同,这里不再赘述。最后设

11、计好的RS译码器见图10-13。,图10-12 选择类型为Decoder译码器,图10-13 RS译码器模块,10.4 Viterbi 译 码,10.4.1 卷积码的Viterbi译码 卷积码与RS码不同,卷积码编码后的个码元不但与当前段的个信息相关,而且与前面段的信息相关,即编码后相互关联的码元为个。因而,在相同码元个数下,卷积码的纠错能力更强,但译码的复杂性也随之提高。,在卷积码的三种译码方式:门限译码、Viterbi译码、序列译码中,Viterbi译码的性能最好。Viterbi译码基于最大似然译码原理,而且在译码时无须反馈操作。Viterbi译码器的实现比较复杂,具体的Viterbi译码原理请参见相关书籍。,10.4.2 用IP Core设计Viterbi译码器 为了简化Viterbi译码器在FPGA上的实现,Altera提供了Viterbi译码器的IP CoreViterbi Compiler,可在DSP Builder上集成使用(见图10-14)。 具体的Viterbi Compiler的使用方法请参考Altera的使用手册。,图10-14 Viterbi译码器IP Core,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1