基于MATLAB的喷泉码研究

基于MATLAB的喷泉码研究[20200406140212]
摘 要
数字喷泉码(digital fountain code)是一种新型方案的前向纠错编码。数字喷泉码拥有适于信道状态的无码率特性、优越的译码算法、杰出的译码能力等许多特点。对数字喷泉码的研究具有非常高的研究价值和广大的应用前景。研究内容有编译码算法的改善、新码型的创构,也包括其在各种应用情景下的拓展等更多方面。对数字喷泉码的研究在很大程度上发展了信道编码技术。
在删除信道模型中的数字喷泉码运用的译码算法为消息传递的BP译码算法,度分布是影响运用此算法时其译码能力的决定性原因。在文中介绍了数字喷泉码基本原理,并且对随机线性喷泉码、LT码编译码原理及实现的方法进行了详细讨论,针对LT码使用MATLAB实现编码与译码的仿真。
关键词:删除信道  喷泉码  LT码 编译码  仿真
1. 引言    1
1.1 课题的研究背景    1
1.2 本文研究的主要内容    1
1.3 论文的章节安排    2
2. 数字喷泉码的基本理论    3
2.1 概述    3
2.2 删除信道传输特性    4
3. LT码的编译码过程    6
3.1 喷泉码的度分布    6
3.2 LT编码过程    8
3.3 LT译码算法    12
4. LT编译码matlab实现及结果分析    17
4.1 编码仿真    17
4.2 译码仿真    19
结束语    21
参考文献    22
1.1 课题的研究背景
采用重传技术(ARQ)或是前向纠错编码技术(Forward Error Corrrecting,FEC)是计算机通信网络中抵抗丢包(packet loss)的最通常使用的有效途径[1, 2]。对于许多用户参加的共同的广播业务来说, 由于网络的不断壮大发展和各种各样的用户所遗失的数据包也不尽相同,重传技术不仅仅增加了源端的任务,同时又生成了愈长的传输时延。 在另外一种角度上,前向纠错编码一定要依据信道最不好的用户来确定编码效率,这是为了考虑和确保全部的用户能够无差错的接收到来自发送端送出的文件,但是由于网络状况的多变导致了用户信道不停发生改变,确定的编码效率也没有能确保全部用户无差错地接收到源端的全部信息,而且现在通常使用的RS码的译码还是比较复杂的。 所以,寻求与原来不同的纠错编码来减缓重传技术和前向纠错编码技术中经常发现的问题。 喷泉码(Fountain code)[5, 6]便是这种纠错编码中的一个,喷泉码的编译码的复杂度是线性的[3]。
 喷泉码的大概方法是初始数据端没有规定限制任意的从要送出的符号中选取一段符号进行异或编码,再派发到信道中,接收者一旦收到充足数目的编码符号,就可无差错地恢复源端发送的符号信息。如果不能够完全恢复,那就继续接收,直到全部符号都恢复为止。 像这样没有限制编码并发送的方式就像不间断的泉水,用户只需获取够多的编码符号(泉水)就可以恢复源端发送的符号(处理完口渴问题),因此把它叫做喷泉码,这是一种无固定码率的编码。
1.2 本文研究的主要内容
本文首先详细介绍了喷泉码基本理论,了解喷泉码与一般码相比较所体现的优点。然后对喷泉码中LT码进行详细研究,从度分布开始进行相关介绍,并且具体讨论了设计的细致内容。重点研究了LT码的编码与译码过程,再理解编译过程后运用MATLAB进行仿真。给出仿真代码并且对仿真结果加以说明。
1.3 论文的章节安排
文章第一章为引言内容。第二章阐述喷泉码基本原理,通过与传统编码比较显示其优点。第三章对喷泉码的编码和译码进行详细说明,给出图形过程解析,并给出LT的MATLAB编码和译码代码。第四章给出仿真及结果,并进行分析。
2. 数字喷泉码的基本理论
2.1 概述
传统的信道纠错码采用固定码长固定码率的方式在信道中传送数据,因此这需要在发送端准确地进行信道估计,根据所得到的信道参数确定所需要使用的码型码长码率,以达到通信系统的性能要求。但是如果所使用的信道参数与实际信道环境中的信道参数不同,这样的策略就可能不是最优的,如果实际的信道条件优于所使用的信道参数,则会浪费部分通信资源,如果实际的信道条件劣于所使用的信道参数,则不能实现可靠的数据传输。
数字喷泉码的出现有效地解决了这个问题。喷泉码还可以叫做无码率码(Rateless codes),这是以没有固定码率的方法发送数据的,发送端把编码后获得的编码包连续不停地发送出去,接收端只要无差错的收到足够多的编码包就能够完成译码,而后向发送端回馈一个译码成功的信号,此时发送端就会停止编码。若信息传输所占用的信道是时刻变化的,喷泉码能够依据信道的改变,对应地改善传输码率来更合理的适应信道。喷泉码在编码端可以生成无数的编码包,当接收端查出信道情况不是非常良好、包丢失率很高时,只要接收更加多的编码包就行,而不必要求发送端再次发送,所以它对复杂的信道状况具有很强的适应性,这样的无码率码实现了对信道的码率自适应匹配,充分利用了信道容量。
早些时段构造的喷泉码主要是随机线性喷泉码、LT码和Raptor码,这些随机线性码都相对容易(文件为s1,s2,s3,···sk,这之中每个sk都是一个信源符号,这必须被完整的传输或者是被删掉),但麻烦的是解码运算的难度大一些,一个数据包编码的必要要求是需要k/2次数据包计算,因为有二分之一的数据包需进行加法运算。解码的必要要求是对随机矩阵G求逆(k3次二进制运算)和对获得到的数据包相应的随机矩阵求逆 (K2/2次数据包运算)总和。所以,以下重点介绍LT码。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/gdxx/385.html

好棒文