RS编译码的一种硬件解决方案
关键词:RS码 FPGA 伴随式 关键方程 IDFT
差错控制编码技术对改善误码率、提高通信的可靠性具重要作用。RS码既可以纠正随机错误,又可以纠正突发错误,具有很强的纠错能力,在通信系统中应用广泛。由于RS码的译码复杂度高,数字运算量大,常见的硬件及软件译码方案大多不能满足高速率的传输需求,一般适用于10Mbps以下。本文提出的欧氏算法和频谱结构分析相结合的RS硬件解码方案,适用于FPGA单片实现,速率高、延迟小、通用性强、使用灵活。笔者在FPGA芯片上实现了GF(2 8)上符号速率为50Mbps的流式解码方案,最大延时为640ns,参数可以根据需要灵活设置。
1 RS码的结构
码字长度为N=q-1(q=2i),生成多项式为(凹丫丫范文网fanwen.oyaya.net收集整理),αi∈GF(q)的RS码有最小码距δ=2t+1,能够纠正t个随机或突发错误[1]。本文列举的方案测试中采用的RS码主要参数为N=255、m0=0、t=8,其中GF(2 8)的生成多项式为g(x)=x8+x4+x3+x2+1。由于RS码的编码逻辑结构比较简单,文中仅给出仿真结果。
2 RS码的译码算法
RS译码算法一般分为三步:伴随式计算、关键方程获得和错误图样的求解。其中关键方程的获得是RS译码中最困难、最为关键的一步。
在利用伴随式求解关键方程时,BM算法和Euclidean(欧氏)算法是两种较好的选择。BM算法涉及大量的变量存储和复杂的逻辑控制,适用于软件编程而不适合硬件实现。欧氏算法数据存储量少、控制便捷,适合硬件实现。且采用欧氏算法确定关键方程所需时间与错误个数成正比,因此从处理时间上考虑,欧氏算法也是较好的选择。
在获得关键方程后,采用时域处理方法,需要大量的运算单元和控制电路,在硬件实现中是不可取的。而采用频谱结构分析方法,利用最短线性移位寄存器综合及离散傅氏逆变换进行处理,逻辑简单、耗时少,适合硬件实现。虽然在傅氏变换时需要较多的逻辑单元,但对GF(2n)在n<10的情况下,变换域译码器要比时域译码器简单得多。因而本文提出欧氏算法和频谱结构分析相结合的方案,并在实践中获得了较好的效果。
Euclidean算法[3]步骤如下:
(2)按所列方法进行迭代
3 方案流程
方案流程框图如图1所示。
3.1 伴随式S0,S1,…,S2t-1的计算
令r1,r2,…,rn为接收到的RS码字,根据系统码监督矩阵的特性,可构造如图2所示伴随式计算电路Si=(((r1αi+r2)αi+r3)αi…+rn,从而实际伴随式序列的计算。