078C
卷积码编码与viterbi译码样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
本系统开发工具:C
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
卷积码编码与viberbi译码程序
卷积码编码与viberbi译码程序
摘要
提出了数字通信系统中一种卷积码译码的软件实现方案,该方案应用软件技术实现了卷积码维特比译码器功能,在程序实现中充分利用了卷积码的特性,运用蝶形运算,周期性的回溯以得到译码输出。在程序设计上采用了一些宏定义等处理方法,可以提升运算速度,是一种软件方法的前向纠错编码技术。
关键词: 卷积码 维特比译码算法 回溯
THE DESIGN OF THE WHEELED ROBOT
BASED ON SINGLE-CHIP
COMPUTER
ABSTRACT
A software implementation of a channel coding technology is
presented , which realizes the functions of convolution al coding
and Viterbi decoding. According to convolutional codes feature ,
this software uses butterfly algorithm which is defined asa macro ,
periodically traces back to get the decoding output , we also use
some other methods in the program , can speed up the algorithm ,
which belongs to a forward error correction coding technology.
Key Words: convolutional code , Viterbi decoding algorithm
, trace back
目录
中文摘要
ABSTRACT
第一章 绪论 1
1.1
现代数字通信的产生 1
1.2 通信编码技术 2
第二章 卷积码编码 4
2.1
卷积码的构成 4
2.1.1编码器的形式 5
2.1.2 网格图 5
2.1.3
状态图 6
2.2卷积码编码器 7
2.2.1卷积码编码器实例分析 9
第三章
Viterbi译码 11
3.1 Viterbi译码简述 11
3.1.1
Viterbi译码算法 11
3.2 实现Viterbi译码算法的具体考虑 13
3.2.1
译码器存储 13
3.2.2路径存储的截断 13
3.2.3译码器的同步 14
第四章
算法的软件实现 15
4.1编译器及编程语言的简介 15
4.1.1c语言的发展 15
4.1.1编译器的选择 17
4.2编码器结构分析 17
4.3具体函数简述 19
4.3.1卷积译码函数 19
4.3.2viterbi译码函数 20
4.3.3生成输入信号函数 23
4.3.3程序运行结果 24
第五章
课题总结与展望 26
参 考 文 献 27
1 第一章
绪论
1.1 1.1
现代数字通信的产生
现代数字通信有两个基本的理论基础,即信息论和纠错编码理论,它们几乎是同时在第二次世界大战结束后不久诞生的。前者首先由Shannon以他的不朽名著“通信的数学理论”为标志建立起来的,而后者则以Hamming的经典著作“纠错和检错编码”为代表。Shannon信息论主要讨论信息的度量,以及对于信息表示和信息传输的基本限制。信道编码定理告诉我们,只要信息传输速率小于信道容量,则信息传输可以以任何小的错误概率进行。但是,Shannon信息论并没有告诉我们如何去实现这一点。Hanmming提出的纠错编码理论正是为了解决这个问题。
在通信中,信源编码、信道编码和数据转换编码常常是同时使用的,如图1-1所示。信源编码器执行数据压缩功能,它把信源输出中的冗余度去除或减小;信道编码的编码器则是对经过压缩后的数据加一定数量受到控制的冗余度,使得数据在传输或接收中发生的差错可以被纠正或发现,从而可以正确恢复出原始数据信息。数据转换编码(DTC)的编码器则把经过纠错编码的数据转换成满足物理信道对数据的游程长度或功率谱密度限制的波形形式。信源译码、信道译码和数据转换译码则是以上编码的逆过程。
图1-1通信中的信源编码、信道编码和数据转换编码
数字信息在有噪声的信道中传输时,会受到噪声干扰的影响,误码总是不可避免的。误码率的大小与许多因素有关,最基本的就是信道中随机干扰的大小相对于有用信号的强度比,即信噪比Es/N0足够大,就可以达到任意小的误码率。人们一直在致力于寻找能够用更小的Es/N0来实现既定的通信质量的方法,因为节约Es/N0对于通信系统来说就意味着信道容量的增加、通信距离的延长或者系统造价的降低。变了在已知信噪比的情况下达到一定的误码率指标,首先应合理设计基带信号,选择调制、解调方式,并采用频域均衡或时域均衡的措施,使误码率尽可能降低,若仍然不能满足指标的要求,则必须采用差错控制编码等信道编码技术,使误码率进一步降低。
差错控制编码的基本过程是:在发送端被传送的信息序列上附加一些监督码元,这些多余的码元与信息码元之间以某种确定的规则相互关联(约束)。在接收端再按照既定的规则检验信息码元与监督码元之间的关系,一旦传输过程中发生错误,信息码元与监督码元之间的关系就会受到破坏,而从中发现错误,乃至纠正错误。
差错控制编码所要解决的问题就是探索各种编码和译码方法。其基本方法有两种,一种是自动重发请求(ARQ:Automatic
Repeat
Raquest)方法,即在接收端能够通过检验约束关系来发现错误,然后通知发送端重新发送出错的部分;另一种前向纠错(FEC:Forward
Error
Correction)方法,接收端能够根据接收序列的具体情况,猜测出发送端最可能发送的序列。FEC不需要反馈信道,也不要求检错重发,因而延时小,实时性好。
卷积码(Convolutional
Coding)和分组码(Block
Coding)是差错控制编码的两种主要形式,卷积码处理连续的数据,一次处理一位或几位,分组码则处理相当大的一个消息块(一般可以到几百字节<byte>)。在编码器复杂度相同的情况下,卷积码的性能优于分组码,因此几乎被应用在所有无线通信的标准之中,如GSM、IS-95、3GPP和CDMA2000的标准中等等。当然,也可以应用在有线通信的数字视频广播(DVB)系统之中。在欧洲制定的DVB-C标准中,采取了卷积码和分组码级联的方法,即以约束长度为7的卷积码作为外码,以RS(Reed-Soliomon)码作为内码。
1.1.1 4.3.3程序运行结果
无误码译码:
一个误码纠错成功:
两个误码纠错成功:
三个误码纠错不成功:
2 第五章
课题总结与展望
卷积编码及viterbi译码作为一个不算新的理论知识,第一次以实际的形式,展现在我的面前,我将在导师的指导下,独立面对一个问题,并将其解决,这是一个挑战,是令人兴奋的,但坦白地说,这个课题相当有难度。
首先,课题对相关理论知识的要求很高,书本上的十分简单地编码器图是如何变成十分抽象的数学表达式,而这些抽象的数学表达式又将如何变成编程语言,这其实不是一个只有我遇到的问题。在科研领域、在工控行业、在通讯业内、无数的公司、团体和个人正致力于将抽象算法用语言实现出来,而随之而来的问题便是数学符号的深刻理解和精准定义和变成语言的严密编写,这是一个十分专业的工作,又是十分博大精深的学科。
在查阅了大量相关资料后,我渐渐理清了算法的由来,读懂了流程图,明白了例程。现在我要自己写一个编码器和译码算法了。
经过一段时间的努力,功夫不负有心人,程序终于编好。
自己觉得轻松,导师也觉得不错。但随之而来的问题以下将我敲醒。
我写的程序有什么用,在现实生活中,通信行业内,这些基础理论是这样应用的么?或者说我的程序在实际应用中根本就是垃圾?
这些问题我暂时还没有答案,但是他们已经极大地激发我的学习热情,我已经开始进一步的学习,课题的完成给我带来了新的课题。
要想真正结合实际地学习,我就要了解这些理论的发展。
时下,viterbi算法的仿真和进一步研究应用到了很多新兴技术,如EDA、FPGA、DSP等。
应用EDA技术结合VHDL语言和相关硬件搭建起来一个软硬件平台,实现viterbi功能,是主流的研究方式,也可以很好地与实际结合,因为这其中用到的硬件就是FPGA,它不但在教学科研中应用广泛,也是实际应用中的主流。把握住这些工具,就能把握住理论的发展方向。
可惜的是,国内相关研究和实际应用还处在相对落后的位置,教学和科研中,由于经费的问题,EDA平台还不能普及。实际应用中,国外最高的译码速率是国内的两倍以上,这是个不小的差距。
科学的发展永远不会停滞,我们的学习也永远不会停止。
3 参 考 文 献
[1]D. J . Costello , J r. , J . Hagenaeur
, H. Imai , and S. B.Wicker , ”Application of error - control
coding”[J ] IEEE Trans. Inform. Theory , vol. 44 , no. 6 , pp. 2531
-2560 , Oct . 1998.
[2]Bernard Sklar 著. 徐平平等译. 数字通信—基础与应用(第二版)
[M] . 北京:电子工业出版社,2002.
[3]陈宗杰,左孝彪. 纠错编码技术[M] .
北京:人民邮电出版社,1987.
[4]王新梅,肖国镇. 纠错码原理与方法[M] .
西安:西安电子科技大学出版社,1996.
[5]Rhee M Y. Error2correcting coding theory
[ M ] . NewYork : McGraw2Hill Publishing Company ,
1989.
[6]Michelson A M , Levesque A H. Error2control techniques
for digital communication [M] . New York : John Wiley& Sons Inc
,1985.
[7]王新海. 纠错码与差错控制[M] . 北京:人民邮电出版社,1989.
[8]宋焕章.
计算机纠错编码[M] . 北京:国防科技大学出版社,1989.
[9]归绍升. 纠错编码技术和应用[M] .
上海:上海交通大学出版社,1986.