您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 卷积码差错控制系统的设计
1卷积码差错控制系统的设计引言:分组码各个码组间没有约束关系,即监督码元只监督本码组的码元有无错码。因此在解码时各个接收码组也是分别独立地进行解码的。编码定理表明分组码的码长n越长越好,而译码运算量却随着码长n的增加而增加。为了解决上述矛盾,提出了卷积码。卷积码的特点是信息进行编码时,信息组之间不是独立编码的,而是具有一定的相关性,系统译码时可以利用这种相关性进行译码。1.卷积码1.1卷积码的基本概念卷积码编码时,首先将信息序列划分为长度为k的组,当前时刻编码输出不仅取决于当前输入的信息组,而且与前若干时刻的信息组有关。为了表示这种关联性,卷积码一般表示为(n,k,m),其中,其中k为每次输入到卷积编码器的bit数,n为每个k元组码字对应的卷积码输出n元组码字,m称为约束长度,为卷积编码器的k元组的级数。与分组码一样,(n,k,m)卷积码的码率为R=k/n。卷积码将k元组输入码元编成n元组输出码元,但k和n通常很小,特别适合以串行形式进行传输,时延小。与分组码不同,卷积码编码生成的n元组元不仅与当前输入的k元组有关,还与前面m-1个输入的k元组有关,编码过程中互相关联的码元个数为n*m。卷积码的纠错性能随m的增加而增大,而差错率随N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。1.2卷积码编码器原理卷积码编码器的一般框图如图1-1所示。输入的信息序列被分成长度为k的段,并经过串并转换输入到离散线性系统的k个输入端。该系统的输出端为n个(一般nk),且系统最大延时为m。输出的n个编码数字经过并串转换送入信道就完成了编码过程,这就是可表示为(n,k,m)码典型的卷积码。一般选n和k较小,但m值较大(m10左右)。2图1-1卷积码编码器原理框图Figure1-1convolutionalcodeencoderblockdiagram2.(3,1,2)卷积码编码器设计2.1(3,1,2)卷积编码器设计根据(3,1,2)条件可知,每次输入到卷积编码器的bit数k=1,每个1元组码字对应的卷积码输出n=3元组码字,约束长度m=3,即(3,1,2)卷积编码器的1元组的级数为3。故可以设计出如下图2-1所示的(3,1,2)卷积编码器。输出码序列输入信息序列DDiiuu12iciu1ic图2-1(3,1,2)卷积编码器Figure2-1(3,1,2)convolutionalencoder2.2系统分析图2-1给出了一个2进制卷积码的编码器。若每一时间单位输入编码器一个新的信息元iu,且存储器内的数据往右移一位,则iu一方面直接输出至信道,另一方面与前两个单位时间送入的信息元1iu,2iu按图中线路所确定的规则进行运算,得到此时可得两个输出(校验元)1ic,2ic,跟虽在iu后面组成一个子码)(21iiiiccuc送入信道。由图2-1可知:31122{iiiiiiuucuuc(2-1)下一个时间单位输入的信息元为1iu,其相应的两个输出为:iiiiiiuucuuc1111121{(2-2)组成第二个子码)(211111iiiiccuc送至信道,如此循环。在每一个时间单位,送至编码器k个信息元,编码器就送出相应的3个码元组成的一个子码送入信道。由式(2-1),(2-2)及图2-1可知,这种卷积码编码器输出的每一个子码中的校验元,是此时刻输入的信息元与前m(这里为2)个子码中信息元的模2和,他们是线性关系,所以有这类编码器输出的卷积码是线性码。当m=0的时候,则卷积码就可以看作是一个分组码,此时编码系统就是一个无记忆系统。2.3假设求证假设输入码元序列u{0110}则按照上述规则进行输出时,首先要将编码器内置0,即输入第一个0时,编码器中1iu,2iu均为零。0000001122{iiiiiiuucuuc(2-3)则编码器输出)(211111ccuc为)000()(211111ccuc;然后输入第二个码元1时,亦按照此原则输出1011011111121{iiiiiiuucuuc(2-4)则编码器输出)(221222ccuc为)111()(221222ccuc;以此类推则可以得到3c,4c的结果,其中:)(231333ccuc=(101)和)(241444ccuc=(011)。由于码率为1/3码率,考虑到移位寄存器清零,增加2位0输入,则有5c,46c额外的输出2个子码。按规则解得)(251555ccuc=(010)和)(261666ccuc=(001);所以该编码器输出为{000,111,101,011,010,001}。3.维特比(Viterbi)译码3.1维特比算法维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中。术语“维特比路径”和“维特比算法”也被用于寻找观察结果最有可能解释相关的动态规划算法。例如在统计句法分析中动态规划算法可以被用于发现最可能的上下文无关的派生(解析)的字符串,有时被称为“维比特分析”。维特比算法由安德鲁·维特比(AndrewViterbi)于1967年提出,用于在数字通信链路中解卷积以消除噪音。此算法被广泛应用于CDMA和GSM数字蜂窝网络、拨号调制解调器、卫星、深空通信和802.11无线网络中解卷积码。现今也被常常用于语音识别、关键字识别、计算语言学和生物信息学中。例如在语音(语音识别)中,声音信号做为观察到的事件序列,而文本字符串,被看作是隐含的产生声音信号的原因,因此可对声音信号应用维特比算法寻找最有可能的文本字符串。3.2维特比译码已知条件输入序列为{0110}经过一个(3,1,2)编码器输出结果序列为{000,111,101,011,010,001}。卷积码的Viterbi译码是根据接收码字序列寻找编码时通过网格图最佳路径的过程,找到最佳路径即完成了译码过程,并可以纠正接收码字中的错误比特。对于(n,k,m)卷积码,假设接收L个码段,Viterbi译码算法步骤如下描述:(1)在j=m节点处,对进入每一状态的长度为j=m的部分路径,计算输出数据与对应接收j个n长码段的汉明距离,奖部分路径作为被留选的幸存路径。(2)j增加1,把此时进入每一状态的所有分支与前一阶节点处刘玄德幸存路径累积计算与相应接受码段的汉明距离,每个状态留选汉明距离嘴笑着为对应的幸存路径,其余路径删除。(3)进入下一译码时刻,重复以上步骤,直至j=L+m,最终网格图中只剩下一5条幸存路径,译码结束。当实际接收出现1个码元的误码时,译码过程如下:(1)计算状态为4222*1km个状态,j=m=2节点处开始,输入4个码段,所以有L=4个;(2)列出状态表,如表3-1所示:输入初态次态输出00000000100101111101110101110011表3-1状态表Table3-1StatusTable(3)根据状态表画出状态图,如图3-2所示:图3-2状态图Figures3-2state(4)跟据状态图和上述内容画出网格图的最终路线,如图3-3所示:图3-3网格图Figures3-3grid63.3纠错能力分析它是以最小距离为度量的译码器。它适用于BSC信道。把信道解调器输出的信号进行Q电平量化,其中Q2,然后再输入到维特比译码器进行译码。充分利用了信道输出信号的有关信息,提高译码的可靠性。它适用于DMC信道。软判决译码器比硬判决译码器可以改进码的性能。在一定信道条件下,用软判决译码器可以获得更小的误码率;或者在同等误码率条件下,获得较高的编码增益。无论是采用硬判决还是软判决译码器,所不同的只是路径量度的计算方法不同,其译码的基本过程都是相同的。4误码率分析应用软判决算法时的误码率较低,它要比硬判决算法多大约2dB的增益.当约束长度K不同时,K越大误码率越低,译码性能越好.在码率R和约束长度K相同的情况下,硬判决算法的执行速度比软判决算法快。综上所述,使用维特比译码算法的卷积码是一类很有前途的前向纠错编码,它主要适用于被高斯白噪声所污染的传输信道.由于在编、译码过程中充分利用了各段之间的相关性,且B和N都较小,所以卷积码的性能优良,较易实现最佳和准最佳译码.维特比译码算法分为软判决和硬判决两种,软判决算法的误码率较低,而硬判决算法的速度较快.同时,译码性能还与约束长度K密切相关,K越大,误码率越低,译码性能越好.本文所论述的用软件实现卷积码及其维特比译码算法的方法已在实践中应用,并得到用户的好评。参考文献[1]RheeMY.Error-correctingcodingtheory[M].NewYork:McGraw-HillPublishingCompany,1989.[2]MichelsonAM,LevesqueAH.Error-controltechniquesfordigitalcommunication[M].NewYork:JohnWiley&SonsInc,1985.[3]李建东,郭梯云,邬国扬,移动通信,1999,152-156[4]维特比译码,维基百科词条[5]樊昌信,张甫翊,徐炳祥,通信原理[M],国防工业出版社,2002
本文标题:卷积码差错控制系统的设计
链接地址:https://www.777doc.com/doc-2610710 .html