文献标识码:A
文章编号: 0258-7998(2014)09-0048-03
凭借着高端7 GHz无需授权频谱资源,60-GHz无线个域网已经成为了短距离吉比特无线传输的重要解决方案[1]。而由于超高的频点,相位噪声和功放非线性等射频非理想因素严重影响着60-GHz无线个域网的系统性能。参考文献[2]中指出,在考虑射频非理想因素影响下,里所码[3]RS(Reed-Solomon codes)和卷积码[4]CC(convolution codes)级联码可以取得比低密度奇偶校验码LDPC(Low-Density Parity-Check)编码更为鲁棒的译码性能。因此,针对60-GHz无线个域网系统,本文提出了一种吉比特低复杂度RS-CC级联译码器架构。
1 RS-CC级联码
根据IEEE 802.15.3c标准[5],本文设计了吉比特RS-CC级联编码模式,如图1所示。作为RS(255,239)截断码,RS(224,208)又为级联码外码,每个块包含208个8-bit输入符号。经过RS编码,RS编码器每个块输出224个8-bit符号。通过32×32交织器,RS编码结果串/并转换后进行卷积码编码。本文采用CC(3,1,7)编码器为级联码内码。卷积码的约束长度为7,生成多项式为(1338,1718,1658),基本码率为1/3。为了获得高吞吐率,使用8路CC独立编码。经过IEEE 802.15.3c标准制定的打孔删除操作,产生1/3、1/2、4/7、 2/3、4/5 5种内码码率。最终数据经并/串转换,输出编码结果。
2 吉比特RS-CC级联译码器设计
吉比特RS-CC级联译码器由8个独立CC(3,1,7)译码器、32×32解交织、RS(224,208)译码器等模块组成,如图2所示。输入的译码数据经串/并转换后分别输入对应的8个独立CC(3,1,7)译码器。CC(3,1,7)译码器的译码输出经过并/串转换后进行32×32解交织;解交织后数据输入到RS(224,208)译码器,最终获得级联码译码结果。
2.1 基于Viterbi译码算法的CC(3,1,7)译码器
Viterbi译码算法是1967年由Viterbi提出的一种最大概率译码算法[6]。作为CC的最优译码算法,Viterbi译码算法被广泛应用于2G、3G以及卫星通信等多种通信系统中[4]。基于RS-CC级联码结构,本文给出了基于Viterbi算法的CC(3,1,7)译码器设计,整体结构如图3所示。因为使用8路CC独立编码,所以8个相同的CC译码器独立译码。
接收到的译码输入数据采用3比特软判决译码输入,相对于硬判决可以获得大约2 dB的信道编码增益。根据IEEE 802.15.3c标准[5],解除删余单元对于卷积码打孔删除位置进行填充补偿,补偿后数据被输入到分支度量单元。分支度量单元计算当前输入的判决信息与期望信息的欧氏距离。分支度量值越小,表示相似度越高,否则,反之。
加比选模块对状态路径度量的每个状态可能的输入路径度量进行累积加法计算(即:加),然后比较各个数值大小(即:比),判决选择出最小路径度量(即:选),更新路径度量寄存器数据[4],如图4所示。对于一个约束长度为7的Viterbi译码器,每一步译码需要处理64个加比选运算。加比选运算本身要求下一次加法运算必须是在上一步的状态度量选择运算之后,如果直接插入流水线,会导致整体无法同时运算,因此并没有提高吞吐速度。为了提高吞吐率,采用了64个加比选运算单元全并行地译码。
对于CC(3,1,7)译码器,其幸存路径管理单元需采用One-pointer回溯算法或者K-pointer回溯算法[4]实现译码输出。与One-pointer回溯算法相比,K-pointer回溯算法只需要单一运行时钟,因此其在译码器实现中更为普遍采纳。本文使用2-pointer回溯算法,回溯译码长度定为64。由于采用并行独立的卷积码编码,因而图3中各路的回溯译码独立并行执行。
2.2 基于RiBM算法的RS(224,208)译码器
RS码是一种特殊的BCH码,所以RS码的译码方案也可以从BCH码的译码方案推算得到。本文采用的是改进的无逆RiBM算法[4],属于时域译码的一种。RS译码器由伴随式计算单元、关键方程求解单元、计算误码位置的Chien搜索、求解误码位置差值Forney算法组成,整体结构框图如图5所示。
对求逆运算是高复杂度运算。因为GF(2t)域取值范围有限,在实现中预设一个GF(2t)元素的逆值表,采用查表法的方法来直接获得逆值。
3 实现与分析
基于Verilog HDL语言,本文完成了RS(224,208)-CC(3,1,7)级联译码器的实现,并对在CC码率为1/3、1/2、4/7、2/3、4/5 5种情况下分别进行ModelSim RTL级仿真验证,误码率BER(Bit Error Rate)与MATLAB级联译码函数性能基本相同。其中在CC为1/3、1/2码率下的RS-CC级联译码性能比较如图6所示。
本设计在Xilinx Virtex-6 FPGA平台上实现, 最高工作时钟为200 MHz,级联译码器静吞吐率达到1.6 Gb/s。然后,采用TSMC 0.13 μm CMOS工艺,供电电压为1.2 V,本文完成了级联译码器的ASIC设计。DC compiler门级综合工具给出了芯片的综合报告,如表1所示。该译码器的逻辑面积为5.19 mm2,芯片工作时钟为250 MHz,译码器最大吞吐速率为2 Gb/s,功耗为271 mW。本设计满足60 GHz无线个域网标准[5]的吉比特吞吐率指标要求,在高速前向纠错编译码领域有着广阔的应用前景。
参考文献
[1] Zhang Xin,Lu Liru,FUNADA R,et al.Physical layer design and performance analysis on multi-Gbps millimeter-wave WLAN system[C].IEEE Int.Conf.on Comm.Syst.,2010:92-96.
[2] Gao Bo,Xiao Zhenyu,Zhang Changming,et al.Performance comparison of channel coding for 60 GHz SC-PHY and a multigigabit Viterbi decoder[C].IEEE Int.Conf.on Comp. Problem-Solving,2011:714-718.
[3] 殷爱菡,刘方仁,陈燕燕.基于FPGA的高速RS译码器设计[J].电子技术应用,2010,36(11):66-68.
[4] BLACK P J,MENG T H.A 1-Gb/s,four-state,sliding block viterbi decoder[J].IEEE J.Solid-State Circuits,1997,32(6):797-805.
[5] IEEE 802.15.3c:Wireless medium access Control(MAC) and physical layer(PHY) specifications for high rate wireless personal area networks(WPANs)[S].2009.
[6] 陶杰,王欣,张天辉.基于VHDL语言的卷积码和Viterbi译码的实现[J].微型机与应用,2012,31(16):3-5.