2oo8 ̄7 电子测试 Ju1.2008 第 No。7 TD—SCDMA系统中维特比译码的 规律研究及仿真性能分析 * 孟夏,申敏,王飞 (重庆邮电大学移动通信信息产业部重点实验室重庆400065) 摘要:卷积码的状态转移规律可以用两种方法来描述,那就是编码矩阵和状态流图。状态流图展示了状态转 移的去向,但不能记录状态转移的轨迹。网格图以状态为纵轴,以时间(抽样周期T)为横轴,将平面分割成格 状。本文结合了TD-SCDMA系统中的卷积编码器,对Viterbi译码实现过程中的状态网格图的规律进行了深入 研究,并通过MATLAB平台仿真,结果表明,在软件及硬件实现中,这些规律能使得有效的控制运算量,实现程 序的优化。该规律的研究同样适用于其他卷积编译码。 关键词:卷积码;维特比译码;状态网格图 中图分类号:TN929.532 文献标识码:A Decoding rule research of viterbi in and their performance analyses Meng Xia,Shen Min,Wang Fei (MII Key Lab。of Mobile Communication Technology,Chongqing University of Posts and Telecommunications, Chongqing 400065,China) Abstract:Convolutiona1 codes transfer of the state 1aw can be used to describe the two meth— ods,that is,state code matrix and flow diagram.State flow diagram display of the future direc— tion of the state transition,but not the track record of state of the transfer。Grid plans to the state for the vertical axis,and time(sampling cycle T)horizontal,plane into a grid。In this pa— per,the TD-SCDMA system of convolution encoder,the Viterbi decoding process to achieve the status of the mesh of the laws of in-depth studies,and through MATLAB simulation plat— form。the results show that the software and hardware implementation,these 1aw enables ef— fective control of operations,realization of the optimization process。The law also applies to other research convolution coding and decoding。 Keywords:convolution code Viterbi decoder;state grid plans *基金项目:国家高技术发展计划(“863”)课题(2004AA123150)、国家863计划引导项目课题(2OO4AAOO139O)资助项目 E【 C丁只Q lc醒穗 维普资讯 http://www.cqvip.com 2oo8.7 Design&Research 已证明其性能优于分组码,因此在通信领域应用的 0引 言 越来越多。 卷积码是1955年由麻省理工学院的伊利亚斯 1 TD-SCDMA中的卷积编码 (P.Elias)提出来的,属于非分组码。通常,为了达 到一定的纠/检错能力和编码效率,分组码的码长 3GPP的几个规范中,统一定义了约束长度为 较大。由于编译码时必须把整个码组存储起来,因 9、编码速率为1/2和1/3的卷积编码。如图l所 此处理产生的延时随码长的增加而线性增长。而 示。在开始编码前,先在每个待编码模块的末尾添 卷积码( , ,N)的信息码元个数 和码长T/.通常 加8个值为0的尾比特,然后将所有移位寄存器的 较小,故延时小,特别适合于以串行形式传输信息 初值设为0。码块比特流串行进入编码器的输入 的场合。卷积码在任何一个码组中的监督码元都不 端。每输入l bit,输出端酒可得到2 bit(1/2码率) 仅与本组的五个信息码元有关,而且与前面的N— 或3 bit(1/3码率)。1/2码率的卷积编码器按‘输 l段信息码元有关。定义N为约束长度,随着N的 出0’、‘输出l’、‘输出0’、…、‘输出l’的顺序输出 增加,卷积码的纠错能力随之增强,误码率则呈指 结果。1/3码率的卷积编码器按‘输出0’、‘输出 数下降。正因为卷积码在编码过程中充分应用了各 l’、‘输出2’、…、‘输出2’的顺序输出结果。 码组之问的相关性,无论是从理论上还是实际上均 输入 D D D iD I 厂 D D D D 厂 输出 ( ,、 一 , \上/ 、 \ 土 土 \上/ 』 G0=561 输出 】 、 r 、 , 、 r、 、, 、 、 , 、L,一 、 , 、 、rG1=75 3 (a)1/2码率的卷积编码器 ,]' I ,I1 ...u.- JI 厂IL ——一Jl Il _']: 输出0 + G0=55 \ ,\.L/ 输出1 、 , 1 , 、 , 、 r 、 厂 、 ,一 、 / G1=66 \,, w \/ 输出2 、 r 、 r 、 , 、 ,G2=7 (b)1/3码率的卷积编码器 图1不同码率的卷积编码器 屯三 i婴 ELECTRONlC TEST 维普资讯 http://www.cqvip.com 设计与研发 20087 .2卷积码的网格图 卷积码的状态转移规律可以用两种方法来描 述,那就是编码矩阵和状态流图。但是状态流图展 示了状态转移的去向,但不能记录状态转移的轨 迹。网格图(或称栅格图)可以弥补这一缺陷。网 格图以状态为纵轴,以时间(抽样周期T)为横轴, 将平面分割成格状。状态和状态转移的定义画法 与流图法一样,也是用一个箭头表示转移,所不同 的是,网格图还体现时间的变化,一次转移与下一 次转移在图上头尾相连。在TD-SCDMA系统中, 3状态网格图规律 状态网格图可以将状态转移展开在时间轴上, 使编码过程跃然纸上,是分析卷积码的有力工具。 抓住了状态网格图的规律,对Viterbi译码的软件 实现仿真及硬件设计大有裨益。以下以TD-SCD— MA中的Viterbi译码的网格图为例,从5个方面 研究了状态网格图的规律。 3.1 已知现在时刻的寄存器状态,推知现状态是 由前一时刻哪两个状态演变 ∞ 4 5 6 7 8 9 O l 8 TI)_SCDMA中的卷积编码,无论是1/2编码 无论是1/2还是1/3卷积编码都用到了8个寄存 器。其状态的十进制表示由0~255。图2是以 1/2卷积编码为例的状态网格图。 SO Sl S2 S3 S4 S5 S6 S7 还是1/3编码都用到了8个寄存器,约束长度为9。 这8个寄存器由输入初始状态是8个0,即 00000000。当输入为0时,寄存器内部右移一位, 且最左边一位变为输入的0,形成寄存器的新状态。 同理,当输入为1时,寄存器内部同样也右移一位, 且最左边一位变为输入的1,形成寄存器的新状态。 所以,当已知现在寄存器状态时,要把该状态左移 一位,最右边一位补0或1即为前一时刻的两个状 例如:现在寄存器的状态是:01001010,如下: 态。 S124 S125 S126 S127 S128 S129 Sl3O rl 一——o— I——]— ———1— o——T———— I——]— ———o— l——T ————1 I———r ———o— J——T ————1 I———r ———o— l—] 则前一时刻的状态为01001010左移一位,右 边填0或1。如下: 右边补0时: Sl3l S248 S249 S250 S25l S252 右边补1时: S253 S254 S255 在c语言实现时,将寄存器状态用十进制数表 示,如state一128表寄存器状态为100000000,所 以,推知前一状态时,使用C程序中的位运算。即 图2 3GPP中J/2卷积码网格图 前一时刻状态为:state((1和state((1+1。 由此也可以看出,已知现在时刻寄存器状态的 时候,它是由前一时刻两个连续的状态演变过来 的。且该状态为state((1和state((1+1。 屯三蚤. 重嚣 ELEC丁RQ 维普资讯 http://www.cqvip.com 2o087 Desjgn&Research 3。2已知现在时刻的寄存器状态,推知现状态是 由前一时刻两状态通过输入0还是1演变成现状 态 0还是为1,第一位输出和第二位的输出都与最末 一个寄存器相加。而state《1和state((1+1在状态 上只有最右边一个寄存器的值不同(一个为0一个 由3.1节中的描述可知,现有状态是与前一时 为1)。所以,前一时刻两个状态的寄存器在同时输 入0或者1时,输出是正好相反的。 比如state((1在输入0时,求出输出为10,则 刻中的两个状态有关,通过将输入数字放在寄存器 最左边,且寄存器所有数字右移一位生成的现在时 刻的状态。所以如果现在寄存器状态的最左边一 state((1+1在输入为0时,输出为0l。 位为0,那么则可知,现在状态是由前一时刻两状态 3.4已知现在时刻寄存器状态,当输入0和1演 通过输入0,演变为的现在状态。如果现在状态最 变为下一时刻寄存器状态时,推知输出的规律 左边一位为1,那么则可知,现在状态是由前一时刻 已知现在时刻的寄存器状态,当输入为0的时 两状态通过输入1,演变为的现在状态。 候,通过生成多项式所描述的,将寄存器中的相应 例如,现在状态为state--129,即10000001。 状态累加,再做模2运算,再加0。同理,当输入为 1的时候,通过生成多项式所描述的,将寄存器中的 最左边一位为1,则此状态是由前一状态通过 相应状态累加,再做模2运算,再加1。 输入1演变。 所以,同3.3节一样,已知现在时刻寄存器状 综上所述,现在寄存器的状态是由上一时刻输 态,当输入0和1演变为下一时刻寄存器状态十, 入0还是1演变,可通过观察现在时刻寄存器状态 输出也正好是相反的。 的最高位得出结果。 比如现在状态为state,在输入0时,求出输出 而在TD-SCDMA系统所运用到的卷积编码 为10,则state在输入为1时,输出为01。 是由8个寄存器组成。则state是从0到255范围 3.5译码时幸存路径与译码输出的关系 内变化的。而当state为0到127,寄存器高位为 在C程序实现VITERBI译码时,有些程序是 0,当state为128到255,寄存器高位为1。所以可 在译码输出前保存了幸存路径。幸存路径存入的 得出: 是本次译码欧氏距离最小或最大所经历的所有状 当现在状态寄存器状态state为0到127时, 态。那么幸存路径与译码输出有什么关系呢? 可知此状态是由前一时刻两状态通过输入0而演 由上面对卷积编码所描述的。卷积编码时,寄 变的。当现在状态寄存器状态state为128到255 存器初始状态是全0的。当输入一个码字的时候, 时,可知此状态是由前一时刻两状态通过输入1而 寄存器全部右移一位,且输入码字在下一时刻成为 演变的。 寄存器的最左边一位。 3.3已知现在时刻寄存器状态,推知前一时刻两 在TD-SCDMA卷积编码中使用了8个寄存 个状态的寄存器演变为现在时刻寄存器状态的输 器。这8个寄存器在经过8个时刻之后,分别由现 出规律 在时刻之前的八个时刻的输出所组成。比如,0~7 由3.1节中的描述以及图2可知,已知现在时 时刻输入为10101100。则第8时刻初,寄存器状态 刻的寄存器状态state,则前一时刻寄存器状态为 为上述值的逆序,即第8时刻寄存器状态为: state((1和state((1+1。由C语言的位运算可知,这 两个状态只有最后一个末位寄存器不同,即state 所以最末一位为第0时刻的输入,而此时寄存 《1末位为0,state((1+t末位为1。生成矩阵多项 器状态为:state--53,为求出第0时刻的输入,则可将 式(八进制)为GO=561,G1—753。以T SCDMA state对2求模运算,得1。故第0时刻的输入为1。 中1/2卷积编码为例,如图1(a)所示,不论输入为 又例如,0~18时刻的输入为 屯蚤趣 i ELECTR0NIC TEST 维普资讯 http://www.cqvip.com 设计与研发 0100110101001011110,则第19时刻初,寄存器状 态为前8时刻输入的逆序,即第19时刻寄存器状 态为: 所以最末一位为第0时刻的输入,而此时寄存 器状态为:state一122,为求出第0时刻的输入,则 可将state对2求模运算,得0。故第11时刻的输 入为1。 在TI)_SCDMA系统中,进入卷积编码前,在 该码块的后面加了8个校验比特0,译码时这8个 0可以忽略不计。所以在读取幸存路径的时候,先 读取最后一个状态,将该状态对2求模运算,所得 即为8个时刻前的输入。也就是译码输出的最后 一个码字。然后再看倒数第二个状态,也对该状态 对2求模运算,所得即为相对最后一个时刻来说,值列号 O O O O O O O O O 第9个时刻前的输入,依次类推,即可得出译码输 出的所有码字。 4仿真性能分析 以TI>SC /IA系统的1/2卷积码为例,将其进 行BPSK调制,然后通过加有高斯白噪声的信道,后 在接受端进行相应的解调和维特比译码,可得到输 出的译码序列。通过MATLAB仿真,在64译码深 度时,对相同的输入序列、用不同方法进行译码输 出,结果相同。图3和图4为在同样输入时,不同方 法对应的输出序列,可见两者结果相同。而MAT— LAB仿真结果显示,依据上述规律优化后的程序大 大降低了运算量,运算时间提高了一倍以上。 1 0.9 0.8 值O・7 列O 6 序0.5 O_4 0.3 0.2 O 1 0 0 10 2O 3O 4O 5O 6O 7O 8O 9O 1OO 序列号 图3用传统方法输出的序列 2oo8.7 0 10 20 30 40 50 60 70 8O 90 100 序列号 图4使用以上优化算法输出的序列 5结 论 状态网格图将状态转移展开在时间轴上,[ [ [ 1 2使得 3 ] ] ] 编码全过程跃然纸上。在VITERBI译码中,利用 状态网格图的规律,可以减小译码功耗,提高译码 速度,节约存储器的规模。以上五种规律优化了 VITERBI软件实现的程序,在今后的设计中值得 推广使用。 参考文献 VITERBI A J.Error hounds for convolutional codes and an asymptotically optimum decoding algorithm [J]。IEEE Trans。Inform Theory,1967,IT-IS(2): 260—269. 李小文.TD-SCDMA第三代移动通信系统、信令及 实现EM].北京:人民邮电出版社,2007. 张宗橙.纠错编码原理和应用[M].北京:电子工业 出版社,2003. 王新梅,肖国镇.纠错码原理与方法[M].西安:西安 电子科技大学出版社,2001. 谢平,陈建辉,胡记文。基于CPLD的模数转换组合 研究EJ].微计算机信息,2005,26:153—155. 龙光利.CDMA手机卷积码编码器的设计与FPGA 的实现[J].陕西工学院学报,2005,21(2):1~3. 赵曙光,郭万有,杨颂华.可编程逻辑器件原理、开发 与应用[M].西安:西安电子科技大学出版社,2001. 樊昌信,张甫翊,徐炳祥等.通信原理.[M].5版.北 京:国防工业出版社,2002. (下转第16页) 嘎里醚陟 ELEC碍0N 弧鳓 [4]维普资讯 http://www.cqvip.com
∞ n m m Ⅲ ∞ m 咖 ㈣ 对10 000次校时请求计算出的时差 进行统 计,结果如图6所示。由图中可以看出,时差值相 对于其均值大约分布在±50 ms区间范围内,形成 一瑚 姗 参考文献 [1]李德河.网络时延对网上高时间约束业务影响的讨 论f-j].时间频率学报,2003,26(2):126~135. [2]袁海波,李孝辉,柯熙政.互联网上计算机时间传 递系统设计方案及实验结果分析f-j].宇航计测技 术,2000,20(5):2 8. 条单一斜率的曲线。通常,为了避免由于校时间 隔较小形成校时频繁的现象,应根据时差走势图在 程序中设置时差钳位值 ,即当 <Oo时,不对本地 时钟进行更新,直接退出。 [3]MILLS D L Internet time synchronization:the net— work time protocol[J].IEEE Trans.Communica— tions,1991,39(10):1482—1492. [4]MILLS D L.Network time protocol(version 3) specification,implementation and analysis[R].Net— work Working Group Report RFC——1305,Univer sity of Delaware,1992,113, [5]李明国,宋海娜,胡卫东.Internet网络时间协议原 t}s 理与实现rJ].计算机工程,2002,28(2):275—277. [6]李德河.计算机网络授时中时延问题的讨论[J].电 子测量与仪器学报,2005,19(4):34—38. 图6时差0走势图 [7]柯熙政,和康元,袁海波.计算机网络时问传递和 频率测量服务系统[J].宇航计测技术,1999,19 5结束语 网络时间服务系统的构建并不复杂,但要保证 达到较高的授时精度不仅需要对网络时延估计进 行深入的分析和研究,而且建立时间服务器网络授 (4):1-5. [8]樊国丽,赵尚弘,朱蕊苹,等.基于NTP的网络中 心战时间同步技术研究[J].光电与控制,2006,13 (4):28—30. 作者简介 赵科佳(1978一),男,中国计量科学研究院助理工程 师,主要从事时问频率方面的检定和科研工作。 E-mail:zkjemail@yahoo.com.cn 时体系也是非常必要的,将多个时间服务器在不同 的区域进行合理分布,能有效保证广域网的授时精 度。随着信息产业的不断发展,高时间约束业务对 时间同步的要求越来越高,网络授时技术的应用也 将越来越广泛。 I—P -’ Ⅲl…“ ’一 -’ 一・ (上接第5页) 作者简介 孟夏(1984一),女,重庆邮电大学在读 申敏(1963一),女,重庆邮电大学硕士研究生导师,主要 研究方向为第三代移动通信技术。 王飞(1984一),男,重庆邮电大学在读硕士研究生,主要 研究方向为第三代移动通信技术。 ■ 通信技术。 硕士研究生,主要研究方向为第三代移动 屯 塑 ELECTRONIC TEST
因篇幅问题不能全部显示,请点此查看更多更全内容