卷积码编码和译码c语言,卷积码编码和译码

卷积码编码译码c语⾔,卷积码编码和译码.doc
卷积码编码和译码
PAGE 2
No.15 (2,1,3)卷积码的编码及译码
摘要:
本报告对于(2,1,3)卷积码原理部分的论述主要参照啜刚教材和课件,编程仿真部分绝对原创,所有的程序都是在Codeblocks 8.02环境下⽤C语⾔编写的,编译运⾏都正常。完成了卷积码的编码程序,译码程序,因为对于短于3组的卷积码,即2 bit或4 bit纠错是没有意义的,所以对正确的短序列直接译码,对长序列纠错后译码,都能得到正确的译码结果。含仿真结果和程序源代码。
如果您不使⽤Codeblocks运⾏程序,则可能不⽀持中⽂输出显⽰,但是所有的数码输出都是正确的。
⼀、 卷积码编码原理
卷积码编码器对输⼊的数据流每次1bit或k bit 进⾏编码,输出n bit编码符号。但是输出的分⽀码字的每
个码元不仅于此时可输⼊的k个嘻嘻有关,业余前m个连续式可输⼊的信息有关,因此编码器应包含m级寄存器以记录这些信息。
通常卷积码表⽰为 (n,k,m). 编码率
当k=1时,卷积码编码器的结构包括⼀个由m个串接的寄存器构成的移位寄存器(成为m级移位寄存器、n个连接到指定寄存器的模⼆加法器以及把模⼆加法器的输出转化为穿⾏的转换开关。
卷积编码本报告所讲的(2,1,3)卷积码是最简单的卷积码。就是,,的卷积码。每次输⼊1 bit 输⼊信息,经过3级移位寄存器,2个连接到指定寄存器的模⼆加法器,并把加法器输出转化为串⾏输出。
编码器如题所⽰。
⼆、卷积码编码器程序仿真
C语⾔编写的仿真程序。
为了简单起见,这⾥仅仅提供数组长度30 bit的仿真程序,当然如果需要可以修改数组⼤⼩。为了更精练的实现算法,程序输⼊模块没有提供⾮法字符处理过程,如果需要也可以增加相应的功能。
进⼊程序后,先提⽰输⼊数据的长度,请⽤户输⼊int(整型数)程序默认⽤户输⼊的数据⼩于30,然后提⽰输⼊01数码,读⼊数码存储与input数组中,然后运算输出卷积码。经过实验仿真,编码完全正确。
以下是举例:
a.课件上的输⼊101 输出11 10 00 的实验
b.更长的序列测试
三、卷积码译码原理
由有限状态移位寄存器产⽣的卷积码实质上是⼀个有限状态机。(n, k)线性分组码的最⼤似然译码就是在所有合法码字中出⼀个最接近接收码字的码字。卷积码的最⼤似然译码法则是对于给定的接收符号序列R,出最⼤可能的编码符号序列C。维特⽐于1967年提出的维特⽐算法能够系统地去除那些不可能具有最⼤度量的路径排除,从⽽降低了最⼤似然译码的复杂度。
(2,1,3)卷积码的状态图
(2,1,3)卷积码的⽹格图
卷积码⼀码通常按最⼤似然法则⼀码,对⼆进制对称信道(BSC),它就等⼩于最⼩汉明距离译码。在这种译码器中,把接收序列和所有可能发送序列⽐较,选择⼀个汉明距离最⼩的序列盘坐发送序列。由于信息序列编码序列有着⼀⼀对应关系,这种序列和⽹格图的⼀条路径唯⼀对应,因此译码就是根据接收序列R在⽹格图上全⼒搜索编码器在编码时经过的路径。
四、卷积码译码器程序仿真
C语⾔编写的仿真程序。
为了简单起见,这⾥仅仅提供数组长度2×10 bit的仿真程序,当然如果需要可以修改数组⼤⼩。为了更精练的实现算法,程序输⼊模块没有提供⾮法字符处理过程,如果需要也可以增加相应的功能。
进⼊程序后,先提⽰输⼊数据的长度,请⽤户输⼊int(整型数)程序默认⽤户输⼊的数据⼩于30,然后提⽰输⼊01数码,读⼊数码存储与input数组中,然后运算输出卷积码。经过实验仿真,译码完全正确。
以下是举例:
a.课件上 接收码字11 10 00 译码101的实验
b.对应上⽂中的,长序列译码测试结果
c.译码与编码的区别在于容错性,如果在传输过程中有出错的⽐特,也应该⽤Viterbi decoder在⼀定的范围内⾃动纠错,得到正确的发端的编码,并翻译出发端的原码。本报告中对于⽐较长的序列(>2)进⾏纠错。以课件中的例⼦进⾏仿真
R是收到的码字,C是发送⽅发出的正确的码字,R有2 bit信息出现错误。运⾏程序的到结果。
当⽤译码器接收正确的序列C时 显⽰以下结果:
当接收到的序列错误时
译码结果如下:
如此时把译码结果输⼊上⽂中的编码器程序,即可得到发送⽅发出的正确的码字:
综上,译码程序能对于正确的较短(<3组)的卷积码序列进⾏译码,得到正确的译码结果。对于较长的序列(>2)可以纠错,纠正后,得到正确的卷积码,然后译码得到原码。程序仿真完全正确。
d.模拟⼀个完整的传输过程:
发送⽅输⼊序输⼊到编码器程序中:
得到卷积码输出:11 01 01 11 11 10 00 10
若传送到接收端,由于信道的各种⼲扰,接收码字发⽣了变化,得到的接收码字:
11 11 01 11 01 10 11 10
共有2 bit

本文发布于:2024-09-21 10:59:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/378250.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:译码   卷积码   程序   序列   编码   寄存器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议