递归系统卷积码码,什么是递归系统卷积码码

卷积编码_百度百科
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
在信道编码研究的初期,人们探索、研究出各种各样的编码构造方法,其中包括卷积码。早在1955年,P.Elias首先提出了卷积码。但是它又经历了十几年的研究以后,才开始具备应用价值。在这十几年期间,J.M.Wozencraft提出了适合大编码约束度的卷积码的序列译码,J.L.Massey提出了实现简单的门限译码,A.J.Viterbi提出了适合小编码约束度的卷积码Viterbi算法。20年后,即1974年,L.R.Bahl等人又提出一种支持软输入软输出(SISO,Soft-Input Soft-Output)的最大后验概率(MAP,Maximum A Posteriori)译码——BCJR算法。其中,Viterbi算法有力地推动了卷积码的广泛应用,BCJR算法为后续Turbo码的发现奠定了基础。
卷积编码编码技术
在卷积码的编码过程中,对输入信息比特进行分组编码,每个码组的编码输出比特不仅与该分组的信息比特有关,还与前面时刻的其他分组的信息比特有关。同样,在卷积码的译码过程中,不仅从当前时刻收到的分组中获取译码信息,还要从前后关联的分组中提取相关信息。正是由于在卷积码的编码过程中充分利用了各组的相关性,使得卷积码具有相当好的性能增益。
卷积码编码器实质上是一个有限状态的线性移位寄存器。这个移位寄存器由若干个寄存器单元组成,这些寄存器单元分成组,每组个寄存器单元,相应地可以存储个信息比特。寄存器单元按一定的规则连接到代数运算单元,这样运算单元通过接收这些寄存器单元的输入信息,进行代数运算,将运算结果作为编码比特输出。卷积码编码器的一般结构如图3-28所示。
卷积码编码器的一般结构
图中,编码器的每组输入包含k0个信息比特,第一组寄存器单元存储当前时刻的k0个信息比特,而其他组寄存器单元存储前面时刻的(K-1)k0个信息比特。编码器有n0个编码输出,每个编码输出Yi由当前时刻的输入信息分组以及其他(K-1)个寄存器单元内的信息分组根据相应的连接关系进行模2运算来确定。因此,一般定义K为编码约束度,说明编码过程中相互关联的分组个数,定义 m=k-1 为编码存储级数,码率 R=k0/n0,这类码通常称为(n0,k0,K)卷积码。
在许多实际应用场合,往往采用编码约束度比较小、码率为的卷积码。如图3-29所示的两种卷积码(2,1,9)和(3,1,9),它们的存储级数都是8,加法器完成二进制加法(模2加)。图中省略了存储当前时刻输入的寄存器单元。
在图3-29(a)中,(2,1,9)卷积码编码器有一个输入端口、两个输出端口,这两个输出端口分别对应两个生成多项式(使用八进制表示):561和753。该码率是1/2。
在图3-29(b)中,(3,1,9)卷积码编码器有一个输入端口、3个输出端口,这3个输出端口分别对应3个生成多项式(使用八进制表示):557、663和711。该码率是1/3。
TD-LTE系统中采用了(3,1,7)卷积码,存储级数是6,使用了6个寄存器。这个卷积码的主要优点包括最优距离谱、咬尾编码、译码复杂度小。具体描述见后续章节内容。
另外,卷积码也可以按照其他方式进行分类,比如系统码或者非系统码,递归码或者非递归码,最大自由距离码或者最优距离谱码。常用的卷积码一般是非递归的非系统码,而Turbo码常常使用递归的系统卷积码。
2.咬尾编码
通常卷积码编码器开始工作时都要进行初始化,常常将编码器的所有寄存器单元都进行清零处理。而在编码结束时,还要使用尾比特进行归零的结尾操作(Tailed Termination)。相对于编码比特而言,尾比特增加了编码开销。
图3-29 (2,1,9)和(3,1,9)的编码器
TD-LTE系统的卷积码编码器采用了咬尾编码方法,如图3-30所示,编码器开始工作时要进行特殊的初始化,将输入信息比特的最后m个比特依次输入编码器的寄存器中,当编码结束时,编码器的结束状态与初始状态相同。由于这个编码方法没有出现尾比特,因此称为咬尾编码。咬尾编码减少了尾比特的编码开销。对于咬尾编码方法,在译码过程中,由于编码器的初始状态和结尾状态是未知的,因此就需要增加一定的译码复杂度,才能确保好的译码性能。
卷积码的咬尾编码方法示意图
卷积码的性能一般使用误比特率(BER,Bit Error Rate)来统计,其理论上界(Upper Bound)一般使用联合界(Union Bound)来确定,即
其中,卷积码的转移函数(Transfer Function),代表非零输入信息比特的转移分支,Y的指数表示输入信息比特的汉明重量,Z代表输出编码比特的转移分支,Z的指数表示输出编码比特的汉明重量。
为了进一步分析上述性能界,一般假设最大似然译码(ML,Maximum-Likelihood)、BPSK调制和加性高斯白噪声(AWGN,Additive White Gaussian Noise)信道,则有
其中,Bd是所有重量为d的码字的非零信息比特的重量,为卷积码的自由距离。当信噪比很高时,则式(3-14)近似为
BPSK调制性能为
考虑到误码性能主要是指数项占据主导作用,与未编码系统相比,卷积码的编码增益为
式(3-17)说明卷积码的渐近性能主要是由自由距离()决定的。因此,相对而言,卷积码的自由距离越大,其性能越好。以上述二进制卷积码(2,1,9)和(3,1,9)为例,自由距离分别为12和18,编码增益都为7.78dB。实际上,性能最佳的卷积码往往具有最优的距离谱(ODS,Optimum Distance Spectrum)或者重量分布,而且,具有最优距离谱的卷积码也具有最大的自由距离(MFD,Maximum Free Distance)。TD-LTE系统采用了最优距离谱的卷积码。
卷积编码速率匹配
为了支持高效、灵活的传输方式,信道编码技术需要考虑到各种不同的传输码率和调制方式,兼顾HARQ重传技术以及链路自适应技术。为此,信道编码技术常常使用打孔或者重复的方法,从编码比特流中提取预定长度比特序列,这个过程称为速率匹配。研究表明,均匀并且对称的打孔或者重复模式能够获得最优的速率匹配性能。均匀的打孔或者重复模式是指打孔或者重复的比特位置的分布是均匀的,以避免连续的比特位置上的比特被打孔或者重复。
TD-LTE中卷积码速率匹配的原理如图3-31所示。卷积编码器输出的第一、二和三校验比特流分别独立地交织后,被比特收集单元依次收集,也就是交织后的第一、二和三校验比特流依次输入到缓冲器中。每次传输时,比特选择单元从缓冲器头部的比特开始逐位读取,直至达到预定的比特数。当读取到缓冲器的尾部,仍然没有达到预定的比特数时,比特选择单元自动跳至缓冲器的头部继续读取。卷积码的这种基于缓冲器的速率匹配的过程,被称为循环缓冲器速率匹配(CBRM)。
TD-LTE采用的卷积编码器是码率为1/3的最优距离谱编码器,内嵌码率为1/2的最优距离谱编码器,这种编码编码方法能够保证获得优异的纠错性能。如图3-31所示,卷积码速率匹配时,比特收集单元在收集3个比特流时,3个比特流是依次被收集,这样能够保证卷积码通过速率匹配得到码率为1/2码字时,其距离谱仍然是最优的。
TD-LTE卷积码速率匹配原理
TD-LTE卷积码速率匹配采用的交织器是一个简单的行列交织器,如图3-32所示,交织器执行按行写入、内部列交织、按列读出的简单操作。行列交织器的列数固定为32,交织前,需要根据每个比特流的长度,计算得到行列交织器的行数,并根据需要在行列交织器的第一行的头部进行补零操作。在基于循环缓冲器进行速率匹配时,交织器的使用能够保证卷积码的打孔或者重复模式是均匀的,从而获得优异的卷积码速率匹配性能。另外,由于卷积码和Turbo码采用了一致的速率匹配方法,因此基站和终端能够采用一致的算法实现卷积码和Turbo码的速率匹配。
卷积码速率匹配交织器原理图
本词条内容贡献者为
副理事长兼秘书长
中国通信学会
中国通信学会
原武汉邮电科学研究院
中国联通网络技术研究院
工业和信息化部电信研究院互联网中心
副院长兼总工程师
中国移动设计院
首席架构师业务总工程师
中兴通讯股份有限公司
百度公司发展研究中心
中国通信学会科普中国百科科学词条评审专家委员会
中国通信学会是全国通信...
提供资源类型:内容君,已阅读到文档的结尾了呢~~
介绍卷积码的
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
什么是卷积码
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口刚学习卷积码的时候,望文生义的理解方式:用卷积的方式实现信道编码。问题是如何实现?翻阅了很多papers之后,介绍卷积码的编码实现过程使用的是零散的模块(移位寄存器、mod2加法器、生成多项式)的功能和特点,通过mod2和实现编码的输出,这个过程类似卷积(生成多项式和输入比特的卷积)。但是,这种思考方式,仅仅将模块连接,并未深入研究,模块的本质内容是什么?在老师不断的&头脑风暴&下,慢慢发现,移位寄存器存储的是一个个状态组合,而这个状态组合的个数与约束度(constraint length)有关;mod2加法器使编码输出比特不仅仅与当前输入信息有关还有之前的若干blocks里的编码信息有关;而生成多项式决定的则是block的选择(选择不同,编码输出不同,编码效果体现在接收端误码率)。这样,输入编码是状态变化的原因,编码输出是状态变化的结果。整个系统就围绕着&状态&进行不断的编码,而&状态&不断变化、循环直到编码完成。
这样,编码过程就可以应用一个经典的&状态机模型&,而状态机模型的不同表达方式也使得整个编码过程在时间和空间两个维度展现出来。例如,状态图,即是一个很好的表示状态变化的图形。但是由于循环反复的利用状态信息,但在时间上,并未很好的体现卷积码的编码过程。相比,树形图,在时间上进行延展,很直观的表现出状态变化的过程,但是状态信息未重复利用,使得存储空间大小得到限制(指数增加)。最后,网格图很好的展现了时间和空间两个维度信息,很适合分析卷积码的编码过程。而用Matlab实现卷积码编码的时候,我按照传统卷积码编码方法(只考虑实现,未考虑算法的优化),中规中矩的编码思路,但在速度上,并未得到很好的保证。而老师给的编程思想则是:给出每个以为寄存器中随时间变化存储的二进制信息。例如,4个移位寄存器,则每个移位寄存器存储的信息分别为:[abcdefg000;0abcdefg00;00abcdefg0;000abcdefg],所以矩阵的纵列信息即为所有寄存器中瞬时状态信息,而生成多项式中数值为&1&的移位寄存器存储比特信息将参与mod2运算。这样利用矩阵的乘法直接完成查找移位寄存器中对应生成多项式数值为&1&位置的信息。相比我的编码思路(循环查找寄存器里对应生成多项式数值为&1&的信息),运算速度大大提升。同时,在对状态机模型的认识也进一步深入,即,编码过程为移位寄存器中状态不断变化的过程。(编码用&状态&描述,并且将&状态&融入到算法实现中)
在完成解码的过程中,找了许多关于Viterbi算法的papers,但在编码过程对状态机模型的认识过程中,意识到,解码过程对状态机模型的依赖。实际上,Viterbi算法就是一个在状态机模型基础上不断减少可能路径的一个过程。因为解码是编码的一个逆序过程,接受比特和初始状态是我们已知的信息,我们无法找到一个逆序的算法来计算输入比特信息。所以Viterbi算法利用的就是&重新编码&的思想,计算每条路径可能的概率值大小,用概率最大的路径来模拟编码过程。从而得到输入比特信息。而状态机模型的应用大大提升了解码过程寻找正确路径的速度。而在用matlab算法实现的过程中,老师用initial state和next state作为矩阵的行列号,查找输入比特的速度比我实现时不断循环查找状态表提升很多,也使最后所画的误码率对比图达到理想的接受比特个数(提高了系统的运算能力)。还记得答辩时候老师问我的那个问题:如果接受比特中错误比特的数量一定(假设都是10个),那么错误比特均匀分布和集中分布两种方式哪个误码率性能比较好?听到问题的时候,脑袋想过的编码过程,错误比特的分布情况,所以回答的一塌糊涂。后来才在老师的解释下,明白了题目的意思。老师想问的是,错误比特(信道噪声影响)的排列分布对解码时误码率性能的影响。卷积码编码的时候就假设,每个block是相对独立的,而瞬时编码的时候,输出比特不仅仅与当前的输入比特信息有关,还与之前的若干blocks里的信息有关(联合概率)。所以在解码的时候,每组接收比特的信息也与之前的若干比特信息是相关联的。所以,如果误码比较集中,在Viterbi时,权值的计算时就会相对增加权值的比重(大的越大,小的越小),容易将该条路径淘汰。而误码分散排列时,一些权值有可能比较接近,无法淘汰。因此误码集中分布的情况,系统的误码率性能较好。老师的问题,一定程度上又深化了我对整个系统认识的深度。不仅仅在编码上,而且在解码端理解卷积码的意义:用相邻信息编码、解码,使得信息能在信道中准确传输。
而抛开状态机模型的应用,Viterbi算法的关键在于路径选择的权值(metric)问题.权值的计算的优化能大大提升系统误码率的大小。这样,就到了最后一个问题,硬判决和软判决对系统误码率的提升能力分析。从星座图的角度看,误码率性能体现在是否能够找到正确的接收比特组合信息,即纠正错码的距离(纠正错码的能力)。硬判决在解调时直接将接受比特映射到&0&,&1&的星座图空间上,那么使用汉明距离(100%的概率决定接收比特信息)就可以将接收比特投射到相应的星座图位置,这样,如果产生错码,硬判决解码的纠正错码的距离将很大(正方形的边长或对角线)。而软判决解调时则在&0&和&1&直接设置多个门限,使得接收比特可以投射到范围内的某个区域里,而通过区域比特的组合信息,使用欧几何距离(用一定概率值分析接收比特信息)计算最准确的接收比特,这样,如果产生错码,软判决纠正错码的距离将变小(图b中实点位置,纠正错码距离提升),从而得到相对准确的接收比特。因此,软判决的解码过程误码率性能将优于硬判决。
阅读(...) 评论()你的位置:
请问大家 卷积码的生成多项式是不是有固定的格式呢?
请问大家 卷积码的生成多项式是不是有固定的格式呢?您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注}

我要回帖

更多关于 卷积码 matlab 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信