您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页一种维特比译码器的矩阵实现方案

一种维特比译码器的矩阵实现方案

来源:华佗健康网
第17卷第3期 2012年6月 文章编号:1007—0249(2012)03—01 15-06 电路与系统学报 JOURNAL oF CIRCUITS AND SYSTEMS V01.17 NO.3 June,2O12 一种维特比译码器的矩阵实现方案 彭万权 , 伍小兵 , 张承畅2, 张丽 (1.重庆工程职业技术学院,重庆400037;2.重庆大学通信工程学院,重庆400044) 摘要。本文针对(2,1,,)卷积码提出一种维特比矩阵译码算法,通过引入整形、合并和动态选择等辅助模块,实 现了所有环节的矩阵处理,构建出具有单一结构的并行译码器。由于只需要更改一部分模块的内部参数便可获得不同 卷积码译码器,因此非常有利于分析和设计。仿真实验表明,在运算量更少的情况下,矩阵译码器可以取得接近最优 的译码性能。 关键词t卷积码;状态转移:维特比译码算法;矩阵化 中图分类号。TN911.22 文献标识码t A 1 引言 爱里斯(Elias)于l955年提出卷积码【l】,由于卷积码在编码过程中每个信息分组总是参与到了之 后若干时间步长的编码,这种带有记忆性的编码方式使得各个时刻的码组之间建立了很强的约束关系, 从而获得了优良的距离特性。之后,编码界学者提出了各种卷积码译码算法,其中最为突出的是1967 年由维特比提出的基于网格图进行路径搜索的Viterbi译码【2】。Viterbi算法通过加比选操作,利用局部 时间的分支路径度量计算来获取总体时间上的路径度量,完成了几乎与穷举法具有等同效果的搜索。 为了达到Viterbi快速译码,工程上人们更愿意采用并行结构【3】对所有状态节点同时进行路径度量的计 算和幸存路径的保存,但是随着编码约束度的增长,网格图的状态数会呈指数增长,这种并行结构译 码器的复杂度也会呈指数增长,因此就目前而言真正能够用于工程的卷积码约束度一般不会超过10, 用于仿真的卷积码约束度也会小于20。一直以来,卷积码译码器的研究多是围绕Viterbi译码算法的 改进而展开,比如扩展 条最大似然路径的MA算法【4’5】,以及搜索路径数呈动态变化的信噪比白适 应Viterbi算法 ,7】等,但是这些简化算法往往是对网格图的一部分路径进行搜索,容易陷入局部最优 解,影响译码性能。 维特比并行译码器同时对多条路径进行加比选和存储等操作,这是符合矩阵特征的,但是笔者通 过大量文献检索,发现包括Viterbi在内的各种译码算法研究或硬件设计,多是以标量描述的方式呈现, 导致当卷积码的约束度较大时,直接影响到译码电路的分析和设计,甚至会增加电路复杂度,降低运 算速度。因此,本文以最大似然译码为前提,根据卷积码栅格图的特点,通过引入一些辅助模块,以 及局部的一些变换处理,实现了Viterbi译码过程的完全矩阵化,构建出了单一结构的矩阵译码器,实 验和分析证明了矩阵化译码的可靠性和有效性。 2 (2,1,,)卷积码的编码及栅格图 2.1 基于矩阵运算的编码结构 设(2,l,,)卷积码的生成多项式矩阵为: ∑gjD j=0 G(D)= EhiDi j=o 收稿日期t 2011—11-17 修订日期:2012-12—28 基金项目:重庆市自然科学基金(2010BB2240) l16 电路与系统学报 第17卷 其中D为延迟算子,gj和 取值为1或0。为了方便译码器获取码字矩阵,这里给出一种变换后的卷 积码编码器,如图1所示,其中, [ ]为只有一位码元的信息组,移位寄存器包含 个存储单元, 每个存储单元只保存一位信息码元,并随时间变化逐次向右移动;G=[1 l】T是(2,1)偶校验码韵生成 矩阵;嵌零部分在每个输入码元之前嵌入一个0。设第 个寄存器D,所保存的信息码元为m/,圭 j=o /, 、 和∑ ,+ j=o 分别为线性组合器1和2的约束多项式,可得到编码输出: c=G×妻g +[ + ,]= ∑,=0 g ,=0 +I圭 +  , ] ∑g,,=O Li=0 J l ∑him j=o (2) 可见这是和(1)式等效的一个编码器,这种编码结构揭示了卷积码与 (2,1)奇偶校验码之间的内在 联系。 2.2状态转移及栅格图 Viterbi译码器是以栅格图为基础的一种最大似然译码,但是各 种文献[8,91基本上只给出了四种状态的栅格图,原因是状态数较多 时,绘制难度会迅速增加,鉴于此,可将其相邻时刻的状态转移按 照新进信息位m0=O和1分拆成两部分进行绘图,如图2(a)和图2(b), 的十进制数。图中, 箭头的起始端为前一 时刻的状态、末端为 图1矩阵编码器 其中L=2 .1、 2l-l 1,状态编号0 为寄存器内的信息码元 0m1...mf_1遍历,位自然二进制码后得到 当前时刻的状态,事 实上, 每一个 m0m1…m,.1所对应的 当前状态可由m。m2…mf_10或mlm2…m『-11所对应的前两种状态转移而得,并可按(2)式计算出对应的 编码码字,Viterbi译码的“比”操作即源于此。将这样的状态转移进行多次首尾相连便可得到完整的栅 格图。 图2状态转移 3 维特比矩阵译码器 Viterbi算法【2]是基于栅格图的一种最大似然译码 算法。称单个分支的似然度为分支度量,一条连通路 径的所有分支度量的累计值为路径度量。当前时刻, 按图2对进入每一状态节点的2个分支计算似然度得 幸存路径存储 图3 Viterbi矩阵译码器 到分支度量,该分支度量与其所对应的前一状态的路径度量累加,得到2个新的路径度量,并挑选出其 中具有最大路径度量的路径作为幸存路径。并行结构译码器每次都需要同时进行2 次该操作,故需要 2 个寄存单元保存各状态所对应的幸存路径度量,以提供给下一次累加计算使用,为避免溢出,应对 路径度量进行衰减。另外,译码器需提供2 个寄存器组保存各状态所对应的幸存路径,每个寄存器组 包含的寄存单元越多,幸存路径保存得越长,汇接于某一状态节点的可能性越大,译码结果也越接近 最优。 3.1乘_力口比选 Viterbi ̄g阵译码器如图3所示,为单一结构。设图2中的C :[c c 】对应状态 转移到状态 的码 字, ̄.0Oi,j=o,1,2….,2 一1,则图3中的码字发生器的输出为: 第3期 彭万权等:一种维特比译码器的矩阵实现方案 ! Ll co0。c01。…c c0∽“)…cL0L  I,1 —lc 。c 1。…c c ‘ ”…c J f ) … 该矩阵为1和 1组成的2f+ ×2常数矩阵,从左到右的排列顺序与图2一致,可依照编码电路通过矩阵 ,圣算获得,再存入工作空间,仿真时直接取用。设当前时刻接收到的软信息序列 ( =[ro(t)rl(t)] , 矩阵乘法器完成“乘”操作,输出分支度量矩阵: QO)=CxR= ∞t)Pm t)…P t)pO(N+O(t)… “(f)J (4) 其中 )=c )+c ),为c 与 (f)的相关运算,而相关运算等价于欧氏距离运算,进而等价于最 大后验概率㈣,可见C和 (f)的矩阵乘法能够一次性批量完成所有2 个分支路径的似然度计算,且 符合最大后验概率准则。工程上为避免“乘”运算,可按(3)式的固有图样将c )+c )转换成 ±ro(0+ t)四种“加”运算以获得(4)式。 设当前时刻矩阵加法器输出的路径度量矩阵为: )= 。(f) 。t)… ) ∽“) )… 0)J (5) 和Q一样,这是一个2t+l×1矩阵,为方便“比”和“选”操作,整形模块按顺序每次提取两个元素作 为新矩阵的一行,将其整形为2 ×2矩阵,比较器模块对整形后的矩阵的每一行的两个元素进行比较, 并输出最大值,得到幸存路径度量矩阵: maxy )= maX ), )} {X ̄。 ) ,。 )} (6) max ), )} 随着时间的推移,幸存路径度量会逐渐增大,为避免溢出,可从(6)式取出第一个元素,并与某个大 于0的常数a比较,得到衰减因子: Af口 max 。 ), 。 )}>a时 ,a一0当max 。 )’ 。(f))<口时 max 。 )’ 。 )}一 (7) 再将y中的所有元素同时减去 。,衰减器输出为: maxl,’ )= {22 ), )}一 川 (8) maX )., ))一 该式对所有的幸存路径度量同时减去a,由于是同等衰减,因此并不会破坏最大似然准则。在确定常 数a时,既不能因为太大而增加运算量,又不能太小导致衰减失效,经测试a=4较为合适。 l,,( 被送到路径度量存储器保存,由于每一个旧状态会指向两个新状态,因此对应的路径度量在 下一次累加的时候会被调用两次,需要对y (f)进行矩阵的行合并,当下一时刻到来时,累加器的输出 为: Pm t+1)+ITIax ), )}一 ∞t+1)+max{X ̄。(f), 。 )}一 (9) P t+1)+max 眦 ), )}一 。+ )=Q + )+[ :g = pO( 1) +1)+max{2 ̄。 )’ 。 )}一无 + )+max _1) ), ))一 由以上分析可知,相加器、整形器、比较器、衰减器、路径度量存储器以及合并器所构成的环路完了 加比选以及路径度量的衰减和更新操作。 ll8 电路与系统学报 第l7卷 3.2幸存路径的保存和更新 每一个新分支连接对应状态节点所保留的那条幸存路径,并删除该路径的最旧分支,从而完成幸 存路径的刷新,此过程由图3的动态选择器和列合并器完成。设当前时刻幸存路径存储器的内容为: X0 (f)= : )Xo(t一1)Xo(t一2)…Xo(t—r+1) (f~f) )xl(t一1)Xl 一2)…Xl(t—r+1)X1(f—f) ’. (10) (f)xL(t一1)xL(t一2)…xL(t—r+1)XL(f— ) 这是2t×(什1)矩阵,其中r为存储深度。该矩阵的最后一列为最旧的信息元,第-N为新进信息元,即 图3中的 。与图2对应, 的前2 个元素为0,后2 个元素为1。 动态选择器的作用是寻找到每一个新分支所对应的上一时刻的幸存路径,设(6)式的索引矩阵 [fo i1 i2…iL] ,J的元素为0或1,这是对y(f)的列索引,可以通过修正矢量 =[0 2 4…2 .4 2 2 0 2 4… 2 .4 2 。21 转化为行索引,修正后得到: U=I+a=[io i1+2 i2+4…iL+2L2] =[UO Ul U2…UL】 (11) 事实上y(f)与 f)具有一样的行索引,当下一时刻到来时,动态选择器从幸存路径存储器接收到X(t), 并根据 对其逐行选择,输出: X.oXuX’(f): 1(t)Xu0(t-1)Xu0(f一2)…Xu。(t-r+1)X.o(t—f) (f)Xu.(t-1)XuI(t-2)…XuI — +1)XuI(t--) 。. (12) XuL )XuL(t-1)XuL(t-2) x.L(t— +1) (t-z')J 再与 完成列合并,合并过程中自动删除最后一列, 得到新的幸存路径矩阵: xoxl(f+1)= t- ̄+2)xuo(t- ̄+1) (t+1)x.o(t)Xu0 一1)… ((t+1) )Xu。 一1)… (t-T+2)xu ̄(t-7;+1) Xux.o ̄: ‘. XuL —; (13) xL(t+1)XuL )x.L(t-1)… f+2)XuL(t--"C+1) 随着存储深度的增加,各状态的路径将在某个节点汇接,体现在(13)式的列元素越靠右越具有 一致性。但是,另一方面又希望尽可能节约存储空间,max模块的引入可以有效降低r,当最后一个 节点幸存路径仍然没有汇合时,max模块输出y,(f)的最大元素的索引,动态选择器根据该索引值在最 后一列中选择对应元素作为译码输出。 图3所示译码器有一个重要特点:对于约束度相同而编码结构不同的卷积码,除码字发生器外, 译码器的其他部分完 全一样,由此,在试 探搜索卷积码好码 时,只需更改译码器 的码字发生器,使之 与编码器结构相对 应,这样可使搜索工 作变得更加方便快 捷。即便是约束度不 一1o 20 30 40 50 60 1 20 30 40 样,也只需通过更 存储深度 (a)信道条件好 存储深度 (b)信道条件差 改部分模块的内部参 数轻松地构建出对应 图4 (2,1,6)卷积码幸存路径矩阵截图  的Viterbi矩阵译码器, 这给译码电路的分析和设计带来了很大的方便。第3期 彭万权等:一种维特比译码器的矩阵实现方案 l19 4 仿真实验分析 本算法的仿真基于BPSK调制方式及高斯信道,原则上 可适用于所有具有0.5码率的(2,1,,)卷积码,仿真采用双 精度数据类型计算路径度量。为了监测译码过程,可使用矩 搬 阵示波器对幸存路径存储器的输出端,即(13)式进行观测, 作为例子,图4为(2,1,6)卷积码当r=60时的截图,对LL--- 丑 瓣 图可知,幸存路径的汇集情况可作为实时评估信道条件好坏 的重要手段。 为了分析max模块所起的作用,现以(2,I,6)卷积码为 例,在信噪比分别等于1.5dB、2dB、2.5dB时对有和无max 模块两种情况进行了误码测试,如图5,其中存储深度r的 取值范围是6~60。该图显示,在没有max模块的情况下, 译码器在r=l0,l=60附近才有明显的收敛,而引入max模块 后,在r=6,l=36附近就能够获得良好的收敛效果,可见max 模块的确能够有效节省幸存路径的存储空间。 为了验证Viterbi矩阵译码的正确性,并与传统Viterbi 标量译码进行比较,这里从文献【9]选出四款具有最优距离特 性的卷积码,从误码性能和计算速度两个方面进行仿真测试。 表1给出了这四种卷积码的生成多项式,其系数g0g1 g2…g, 0 0 0 , 槲扣 曾} O O 和ho h1 h2…h,按三位一组转换成了八进制。考虑到可比性, 两种译码方案设置相同的参数:r=61、纳入max处理、当发 生5000~10000个错误时终止仿真。误码性能的测试结果显 示,矩阵译码和标量译码的信噪比误比特曲线几 乎完全一样,均可达到接近最优的性能,如图6 所示;计算速度的测试结果见表1最后两列,所 0 1 2 3 4 信噪比/dB 图6卷积码误比特率与信噪比关系曲线 表1 卷积码生成矩阵及自由距离 列数值为程序运行10分钟后二者所计算的信息 比特数,可见矩阵译码具有更快的计算速度。 5 总结 本文结合卷积码栅格图,通过引入整形、合并和动态选择等模块,实现了Viterbi译码过程的矩阵 化,从而摆脱复杂繁琐的并行译码结构。算法的优点主要体现在:不同约束度卷积码的矩阵译码器除 一些模块的内部参数外,在外观上基本一样,非常方便译码器的构建和设计,大约束度卷积码更能凸 显这种优势;矩阵化可以消除译码器的一些冗余环节,提高了计算效率。另外,笔者在后续研究中发 现,矩阵描述有利于卷积码其他译码算法的研究,特别是当信息位k>l时,更能体现出矩阵译码的优 势。 参考文献t [I】 ELIAS P.Coding for two noisy channel[A】.Proc 3rd London Symp.Information Theory[c】.1955.61-76. [2] A J VITERBI.Error bounds for convolutional codes and an asymptotically optimum decoding algorithm[J】l IEEE Transactions on Informational Theory,I 967,1 3(2):260-269 [3] SUN F,ZHANG T.Low-power state-parallel relaxed adaptive Viterbi decoder[J1l IEEE Trans on Circuits and Systems,2007,54(5): 1013—1022. [4】LIN C F,ANDERSON J B.M—algorithm decoding of channel convolutional codes[A]Proceedings,Princeton Conference of Information Science and Systems[C].1986.362.366. 120 电路与系统学报 第17卷 [5] MOHAMMAD M,JONG J H,RAVISHANKAR C.A comparison between the M-algorithm and the list Viterbi algorithm[A】l IEEE Military Communications Conference[C】.2008.16—19. [6】 CHAN F,HACCOUN D.Adaptive Viterbi decoding of convolutional codes over memoryless channels[J]IEEE Trans Commun,1 997, .45(1 11:1389-l400. [7] WANG J,et a1.New signal noise ratio adaptive Viterbi decoding algorithm[J】_Systens Engineering and Electronics,2005, 27(1 1):1950-1952. 【8】 林舒著,晏坚译.差错控制编码【M】.北京:机械工业出版社,2007.341.347. [9】 王新梅.纠错码一原理与方法[M].西安电子科技大学出版社,2001.443.455. [10】彭万权,冯文江.乘积码基于相关运算的迭代译码fJ].电路与系统学报,2006,11(4):26.30. 作者简介t彭万权(1974.),男,2005毕业于重庆大学通信工程学院硕士研究生,重庆工程职业技术学院讲师,主 要研究方向:纠错编码和通信信号处理;伍小兵(1969一),男,重庆工程职业技术学院副教授,主要研究方向:电路 与系统。 A matrix implementation scheme of Viterbi decoder PENG Wan.quan ,WU Xiao.bing ,ZHANG Cheng.chang ,ZNANH Li (1.Chongqing Vocational Institute ofEngineering,Chongqing 400037,China; 2.College of Communication Engineering of Chongqing University,Chongqing 400044,China) Abstract:This paper proposes a Viterbi matrix decoding algorithm to the(2,1,,)convolutional codes.Some auxiliary modules,such as reshaping,merging and variable selection,are brought to realize the matrixing processing in all aspects of decoder,and make a parallel decoder with single structure.All kinds of convolutional decoders can be obtained by changing the internal parameter of some modules,so it is very favorable to build and design.Simulation results demonstrate that the matrix decoder can achieve near-optimum performance under the less computation. Key words:convolutional codes;state transition;Viterbi decoding algorithm;matrixing (续第93页)(frompage 93) On the performance of maximal-—ratio・-combining over double-rayleigh fading channels LI Zhao—xun ,CAO Wen.kui , LIANG Bo ,HU Han.ying China;2.AQSIQ information center,Beijing 100088,China) (1.PLA Information Engineering University,Zhengzhou 450002, Abstract:Based on statistical properties of the receiving signal—to—noise ratio(SNR),the paper investigates the error and diversity performance of the maximal ratio combining(MRC)receiving system under non—identical double—Rayleigh fading conditions.A generalized formula on average symbol error rate of various M-ary modulations is derived through moment generating function based approach and its Chernoff union bound is obtained.Simulation results reveal that the ASER of a transmission system in double-Rayleigh fading decreases greatly by applying MRC receiving technique in it.The MRC receiving system achieves the same asymptotic diversity gains of double-Rayleigh fading as those of Rayleigh fading,but the diversity advantages achievable have apparent margins with full diversity gains within practical receiving SNR ranges.The full relative diversity advantages of the MRC receiving system can be obtained approximately in comparison to single・branch receiving system. Key words:double・-Rayleigh fading;maximal ratio combining;signal—・to--noise ratio;symbol error rate;diversity gain; moment generating function 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务