RS编译码原理

RS编译码原理
RS编译码原理

1 RS码字

RS码(Reed-solomon codes)一种低速率的前向纠错的信道编码,是一类具有强纠错能力的多进制BCH码,在线性分组码中,它的纠错能力和编码效率是最高的。相比于其他线性分组码而言,在同样的效率下,RS的纠错能力是特别强的,特别是在短的中等码长下,其性能接近于理论值,它不但可以纠正随机错误,突发错误及两者的结合,而且可以用来构造其他码型,如级联码。

其编码过程首先在多个点上对这些多项式求冗余,然后将其传输或者存储。对多项式的这种超出必要值的采样使得多项式超定(过限定)。当接收器正确的收到足够的点后,它就可以恢复原来的多项式,即使接收到的多项式上有很多点被噪声干扰失真。

1.1RS编码

RS码是一类纠错能力很强的特殊的非二进制BCH码。对于任选正整数S 可构造一个相应的码长为n=q S-1的q进制BCH码,而q作为某个素数的幂。当S=1,q>2时所建立的码长n=q-1的q进制BCH码,称它为RS码。当q=2m(m>1),其码元符号取自于GF(2m)的二进制RS码可用来纠正突发差错,它是最常用的RS码。

一个RS码有以下几个参数:

码长:n=2^m-1个符号或者m(2m-1)比特

信息段:k个符号或者mk个比特

监督段:2t=n-k个符号2mt=m(n-k)个比特

最小码距:d min=n-k+1个符号或者md min=m(n-k+1)

例如,对RS(204,188)码来说,源数据被分割为188个符号为一组,经过编码变换后,成为204个符号长度的码字。长度为16个符号的监督为可以纠正码字中出现的最多8个符号错误。

RS编码的框图如图所示:

RS编码器的结构

RS码的基本思想就是选择一个合适的生成多项式g(x),并且使得对每个信息段计算得到的码字多项式都是g(x)的倍式,即使得码字多项式除以g(x)的余式为0。这样,如果接收到的码字多项式除以g(x)的余式不是0,则知道接收码字的余式存在错误;而且通过进一步可以纠正最多t=(n-k)/2个错误。

RS码生成多项式一般按照如下公式选择,即

g(x)=(x-a)(x-a2)(x-a3)···(x-a2t-1)(x-a2t)

式中,a i是GF(2m)中的一个元素。如果用d(x)表示信息段多项式,则可以按照如下方法构造码字多项式c(x)。首先计算商式h(x)和余式r(x),得

x n-k d(x)/ g(x)= h(x) g(x)+ r(x)

取余式r(x)作为校验字,然后令

c(x)=x n-k d(x)+r(x)

即将信息位放置于码字的前半部分,监督位码字放在后半部分,则

c(x)/g(x)= x n-k d(x)/ g(x)+r(x)/g(x)

=h(x)g(x)+r(x)+r(x)= h(x)g(x)

因此,码字多项式c(x),必可以被生成多项式g(x)整除。如果在接收端检测不到余式为0,则可判断接收到的码字有错误。由于这种RS能纠正t个m进制的错误码字,所以,RS码特别适用于突发错误的信道

以RS(7,3)码为例介绍RS码的编码过程。RS(7,3)码利用3个信息符号得到长度为7的编码,码元符号取自GF(23).即m=3。域GF(23)的本原多项式为a3+a+1,RS码的生成多项式为g(x)=x4+3x3+x2+2x+3。假如输入符号为[4 0 6],则信息多项式d(x)=4x2+6。生成码字的过程如下:

(1)由于码元符号取自域GF(23),所以一个符号可以由3比特表示,x4d(x)的二进制比特表示为[100 000 110 000 000 000 000];

(2)g(x)的二进制比特表示为[001 011 001 010 011];

(3)计算x n-k d(x)/ g(x)得到的余式r(x)的二进制比特表示为[100 010 010 000],因此校验位为[4 2 2 0];

(4)生成的码字即为[4 0 6 4 2 2 0].

1.2RS译码

RS码的译码算法是从BCH码的译码算法演变而来的。与编码算法相比,译码算法比较复杂,需要的运算量也比较大。其中,比较有代表性的算法是Berlekamp-Messay算法(简称BM算法)和Euclid算法。在这两种算法的基础上,后来又派生出了一些修正算法或陕速算法。

RS码的译码可以按照下面的步骤来进行:

1.由接收多项式计算伴随式;

2.用BM算法或Euclid算法,由伴随式,求出错误位置多项式;

3.用Chien搜索法求伴随式的根,其倒数为错误位置数;

4.计算错误值;

5.接收多项式减去错误多项式,完成纠错。

如图所示

RS译码器原理框图

译码最关键和最复杂的一个步骤是求出错位置多项式,求取关键方程组的常用算法Berlekamp-Massey算法、Euclid算法。以下是BM的算法流程

相关主题
相关文档
最新文档