- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《移动通信原理》课程论文
基于 Viterbi 算法的卷积码性能分析
leengsmile@126.com
摘要:本文主要对卷积码编码和 Viterbi 译码进行MATLAB 实现,并在此基础上分析移位寄存器对
纠错能力的影响。论文首先根据MATLAB 的存储特点及函数特征,主要介绍卷积编码的原理,同时给出
MATLAB 实现的核心代码。然后根据MATLAB 本身擅长矩阵运算的特点,实现了硬判决的维特比译码。
本文所实现的卷积码编码和维特比译码程序能够对(n, k, K) n 1 的情况做出正确的编译码,解决了
部分教科书仅实现了(1, k, K)译码的情况。
文章最后根据所实现的卷积编码维特比译码程序,分别对n=1 和n1 的卷积码编码结构的性能进行
数值仿真。
在一定信噪比下,卷积编码能够有效的降低信道误码率,n1 的误码率在较低信噪比时高于n=1 的
情况。
关键字:卷积码 维特比 硬判决 Viterbi MATLAB
1. 引言:
为了减小信道噪声和干扰对译码输出的影响,通常需要对信息码元进行信道编码。信
道编码在发送端对信息码元添加监督码元,在接收端利用信息码元与监督码元之间的规律,
发现和纠正差错,以提高信息码元传输可靠性。
卷积码属于信道编码中的非分组编码,与循环码等分组编码不同,卷积码通过在码元
( )
之间引入记忆性,使得当前编码输出与过去时刻的编码相关。卷积码可以表示成 n, k, m ,
其中k 表示每次输入编码器的位数,n 是每次对应输出的位数,m 在本文中定义为约束长
度,是编码器中所能存储的码元数(包括当前输入) ,m 的定义与许多文献不同。[1]
本文工作主要分为两部分:1) 对卷积码编译码进行实现。 考虑到MATLAB 的广泛
应用,故本文主要针对 MATLAB 的特点,对卷积码编码、维特比译码进行详实的叙述,
并辅以实例说明。并侧重于编码的实现,一方面是由于 MATLAB 的特性及提供的数据结
构所决定,另一方面是由于在本文所实现的卷积码编码,与课本中所叙述的方式略有不同,
本文将一一介绍这些特点。2) 对约束长度m 和编码器输入位数k 的不同取值进行仿真,
1
并总结其规律。
2. 卷积码编码:
卷积码可以很容易地通过例子来描述,图 - 1 是生成码率为k/n = 1/2 的卷积码移位寄
存器电路。输入比特在时钟处罚下从左边移入到电路中,每次输入k = 1 位,分别去两个
模2 加法器的输出值并复用后得到编码器的输出。
图 - 1 编码为 1/2 的卷积码编码器[4]
在MATLAB 中,描述一个卷积码编码器需要2~3 个参数,取决于编码器的前向反馈
还是后项反馈:
约束长度
生成多项式
反馈多项式
约束长度
编码器的约束长度组成了一个向量,该向量的长度是编码器框图中输入的数目,向量
的各个元素表示了存储在移位寄存器中的比特数,包括当前输入。
生成多项式
( )
若卷积码表示为 n, k, m ,则编码生成矩阵是一个k × n的矩阵,其(i,j) 元素表示第 i
路输入与第j 路输出的关系。在MATLAB 中可以如下构造该矩阵:
i. 用二进制数据表示连接情况。若移位寄存器与模2 加法器有交点,则在该处标” 1”,
否则标”0” 。在该二进制数最左边的比特表示当前输入,最右边的节点对应着移
位寄存器保存的最早的数据。
ii. 从最右边开始,将二进制数每三位一组转换成八进制。若比特数不是 3 的倍数,
则在最左边添”0” 。(例如,将 1101010 表示为001
文档评论(0)