基于viterbi算法的卷积码性能分析

基于viterbi算法的卷积码性能分析

ID:33812346

大小:427.56 KB

页数:10页

时间:2019-02-28

基于viterbi算法的卷积码性能分析_第1页
基于viterbi算法的卷积码性能分析_第2页
基于viterbi算法的卷积码性能分析_第3页
基于viterbi算法的卷积码性能分析_第4页
基于viterbi算法的卷积码性能分析_第5页
资源描述:

《基于viterbi算法的卷积码性能分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《移动通信原理》课程论文基于Viterbi算法的卷积码性能分析leengsmile@126.com摘要:本文主要对卷积码编码和Viterbi译码进行MATLAB实现,并在此基础上分析移位寄存器对纠错能力的影响。论文首先根据MATLAB的存储特点及函数特征,主要介绍卷积编码的原理,同时给出MATLAB实现的核心代码。然后根据MATLAB本身擅长矩阵运算的特点,实现了硬判决的维特比译码。本文所实现的卷积码编码和维特比译码程序能够对(n,k,K)n>1的情况做出正确的编译码,解决了部分教科书仅实现了(1,k,K)译码的情况。文章最后根据所实现的卷积编

2、码维特比译码程序,分别对n=1和n>1的卷积码编码结构的性能进行数值仿真。在一定信噪比下,卷积编码能够有效的降低信道误码率,n>1的误码率在较低信噪比时高于n=1的情况。关键字:卷积码维特比硬判决ViterbiMATLAB1.引言:为了减小信道噪声和干扰对译码输出的影响,通常需要对信息码元进行信道编码。信道编码在发送端对信息码元添加监督码元,在接收端利用信息码元与监督码元之间的规律,发现和纠正差错,以提高信息码元传输可靠性。卷积码属于信道编码中的非分组编码,与循环码等分组编码不同,卷积码通过在码元之间引入记忆性,使得当前编码输出与过去时刻的编码

3、相关。卷积码可以表示成(n,k,m),其中k表示每次输入编码器的位数,n是每次对应输出的位数,m在本文中定义为约束长[1]度,是编码器中所能存储的码元数(包括当前输入),m的定义与许多文献不同。本文工作主要分为两部分:1)对卷积码编译码进行实现。考虑到MATLAB的广泛应用,故本文主要针对MATLAB的特点,对卷积码编码、维特比译码进行详实的叙述,并辅以实例说明。并侧重于编码的实现,一方面是由于MATLAB的特性及提供的数据结构所决定,另一方面是由于在本文所实现的卷积码编码,与课本中所叙述的方式略有不同,本文将一一介绍这些特点。2)对约束长度m

4、和编码器输入位数k的不同取值进行仿真,1并总结其规律。2.卷积码编码:卷积码可以很容易地通过例子来描述,图-1是生成码率为k/n=1/2的卷积码移位寄存器电路。输入比特在时钟处罚下从左边移入到电路中,每次输入k=1位,分别去两个模2加法器的输出值并复用后得到编码器的输出。[4]图-1编码为1/2的卷积码编码器在MATLAB中,描述一个卷积码编码器需要2~3个参数,取决于编码器的前向反馈还是后项反馈:约束长度生成多项式反馈多项式约束长度编码器的约束长度组成了一个向量,该向量的长度是编码器框图中输入的数目,向量的各个元素表示了存储在移位寄存器

5、中的比特数,包括当前输入。生成多项式若卷积码表示为(n,k,m),则编码生成矩阵是一个k×n的矩阵,其(i,j)元素表示第i路输入与第j路输出的关系。在MATLAB中可以如下构造该矩阵:i.用二进制数据表示连接情况。若移位寄存器与模2加法器有交点,则在该处标”1”,否则标”0”。在该二进制数最左边的比特表示当前输入,最右边的节点对应着移位寄存器保存的最早的数据。ii.从最右边开始,将二进制数每三位一组转换成八进制。若比特数不是3的倍数,则在最左边添”0”。(例如,将1101010表示为001101010,然后转为八进制152)在MATLAB中可

6、以用如下指令实现二进制到八进制的转换:str2num(dec2base(bin2dec('110'),8))反馈多项式反馈多项式通过一个向量刻画,向量的长度即为每次输入的比特数k,向量的元素用八进制表示,该向量表示对每一路输出的影响。其构造方法与生成矩阵相同,首先,用12中所述方式构造二进制的表示形式,然后将所得的二进制转换成八进制。若编码器输入后项反馈型且是系统的,则编码矩阵和与系统码相关联的反馈连接参数应当具有相同值。下面的框图表示一个效率为1/2的具有后项反馈的系统码编码器。[4]图-2系统码编码器的反馈示意图由图-2可知,编码器的约束长

7、度为5,编码器多项式矩阵为[3733],反馈连接多项式为37。由于第一路输出与系统比特相关联,第一个编码生成多项式与反馈连接多项式相一致。反馈多项式的二进制表示形式为[11111],与编码框图中的上支路中的二进制数相一致。这些二进制数表示了移位寄存器与模2加法器之间的连接关系,第一个”1”表示输入比特。该二进制数的八进制表示形式为37。第二路生成多项式为[11011],与下支路的二进制数相对应,其八进制数为33。在MATLAB中可以调用poly2trellis函数将上述三个因素,约束长度、生成多项式、反馈多项式,表示为MATLAB中的Trell

8、is结构。图-3是MATLAB中Trellis结构示意图,编码器有4个状态(二进制表示为00~11),一位输入,两位输出。实心箭头表示表示输入为”0”

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。