CN1447528A - 一种和rs码等效的编码以及其快速编译码的算法 - Google Patents

一种和rs码等效的编码以及其快速编译码的算法 Download PDF

Info

Publication number
CN1447528A
CN1447528A CN 03121939 CN03121939A CN1447528A CN 1447528 A CN1447528 A CN 1447528A CN 03121939 CN03121939 CN 03121939 CN 03121939 A CN03121939 A CN 03121939A CN 1447528 A CN1447528 A CN 1447528A
Authority
CN
China
Prior art keywords
coding
territory
sign indicating
indicating number
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 03121939
Other languages
English (en)
Other versions
CN1303763C (zh
Inventor
赵明
张秀军
姚熠飞
周世东
王京
姚彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB03121939XA priority Critical patent/CN1303763C/zh
Publication of CN1447528A publication Critical patent/CN1447528A/zh
Application granted granted Critical
Publication of CN1303763C publication Critical patent/CN1303763C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

一种和RS码等效的编码以及其快速编译码的算法属于RS码技术领域,其特征在于:它是一种利用本原域元素a的幂次表示RS码的码元的编译码算法,RS码的码字均在GF(2m)域上,GF(2m)域上的所有非零元素都是本原域元素a的整数次幂,对于任一非零元素X,若X=αx,则X用x表示;在编译码过程中,对于GF(2m)域上的任意两个元素X和Y,X和Y相乘等于对应的两个指数的相加,X和Y相除等于对应的两个指数的相减,X和Y相加和相减采用查表法。采用这种方法纠错性能和现有的算法相同,而且避免了复杂的乘法运算,实现了RS码高速高效的编译码。

Description

一种和RS码等效的编码以及其快速编译码的算法
技术领域
一种和RS码等效的编码以及其快速编译码的算法属于RS码技术领域。
背景技术
在通信系统中,在信息发送之前,需要按照一定的规则,在数据流中人为地加入冗余以便接收端能够进行误码检测和校正。RS纠错编码是目前最有效、应用最广泛的差错控制编码方式之一。RS码可以用于纠正随机错误,也适合于纠正突发错误,已经在卫星通信、数字电视传输等领域得到广泛应用。
常用(n,k,d)表示RS码;其中n为码字长度,k为信息符号数,d为设计距离,若可纠正的最大差错个数用t表示,则2t为校验符号数。RS码的参数具有如下的关系:
Figure A0312193900031
设输入的信息序列为m(x)=mk-1xk-1+mk-2xk-2+......+m2x2+m1x1+m0x0,生成的码字为c(x)=cn-1xn-1+cn-2xn-2+......+c2x2+c1x1+c0x0。若采用系统码的形式,则编码算法为c(x)=xn-km(x)+R(x),其中R(x)=xn-k·m(x)modg(x),g(x)是RS码的生成多项式,mod表示相除取余数多项式。RS编码电路与一般循环码的编码电路类似,用除法电路来实现。
这里的码元(如mi、ci)均在GF(2m)域上。GF(2m)域上的每个元素由m比特组成,因此,连续m比特的错误仅相当于该码字1个码元的错误,这样RS码就可以大幅度地提高抗突发错误的能力。RS码也可以看作(mn,mk,d)二进制码。
m阶本原多项式Poly(x)的根是有限域GF(2m)的本原域元素,GF(2m)域上的所有非零元素都是本原域元素(a)的整数次幂,则由a的0到2m-2次方构成了GF(2m)域中所有2m-1个非0元素。RS编码的生成多项式定义为: g ( x ) = Π j = 1 2 t ( x - a j ) ,
RS译码算法可以分为以下三步:
(1)根据接收码字矢量y(x)=yn-1xn-1+yn-2xn-2+......+y2x2+y1x1+y0,计算伴随式S(x)。
S(x)=S1+S2x+......+S2tx2t-1
其中: S j = y ( a j ) = Σ j = 0 n - 1 y i a ij = ( . . . . . . ( ( y n - 1 a j + y n - 2 ) a j + y n - 3 ) a j + . . . . . . y 1 ) a j + y 0 , j = 1,2 , . . . . . . 2 t
(2)计算错误位置多项式σ(x)和出错值多项式ω(x).
假设有v个未知的错误,定义错误值为Yl,出错位置为Xl=al,l=1,2,……,v,则错误位置多项式σ(x)为v阶多项式,定义为: σ ( x ) = Π l = 1 v ( 1 - x X l ) = 1 + σ 1 x + . . . . . . σ v x v .
其中σl(l=1,2,......,v)是错误位置多项式的系数。
出错值多项式定义为: ω ( x ) = Σ l = 1 v Y l Π j = 1 j ≠ l v ( x - X j )
其中Yl是错误值,Xj是出错位置,Xj=aj
错误位置多项式和出错值多项式满足σ(x)S(x)≡ω(x)modx2t
由S(x)根据上式可以求出错误位置多项式σ(x)和出错值多项式ω(x)。
(3)求错误位置和错误值。
若第i个错误位置Xi=ai,则 σ ( X i - 1 ) = 0 . 。因此求错误位置就是利用Chien搜索算法,把 x = X i - 1 = a - i ,n-1≥i≥0依次代入,求使σ(x)=0的Xj就是出错位置。
当出错位置确定后,对应的出错值为: Y j = ω ( X j ) σ ′ ( X j )
其中σ′(X)是σ(X)的导数。
若σ(x)=1+σ1x+......σvxv
则σ′(x)=σ1+2σ2x1+3σ3x2+......vσvxv-1
系数是GF(2m)域上的符号,每个符号由m比特组成,符号相加对应于m个比特的模二和,两个相同的数模二和为0,所以2σ2=4σ4=......=0。所以上式可简化为: σ ′ ( x ) = σ 1 + 3 σ 3 x 2 + 5 σ 5 x 4 + . . . . . . = σ 1 + σ 3 x 2 + σ 5 x 4 + . . . . . . = Σ i = 1 i ∈ odd v σ i x i - 1 根据求出的Xj和Yj就可以对接收码字矢量纠错,从而实现RS码的译码。
从上述编译码算法中可以看出,GF(2m)域上的多项式的计算是最主要的运算,其中用到大量的GF(2m)域上的加法和乘法。因此,域GF(2m)上的加法器和乘法器是设计的关键。
GF(2m)域上的数可以表示成域的一组基如(am-1,am-2,.......a2,a1,1)的线性组合,X=xm-1am-1+xm-2am-2+….x1a1+x0。现有的技术中,域GF(2m)上的元素通常用线性组合的系数表示,即 X = ^ ( x m - 1 , x m - 2 , . . . x 1 , x 0 ) ,这样GF(2m)域上的加法器实现比较简单,将两个数逐位异或(xor)即可,Z=X+Y,zi=xiyi,0≤i≤m-1;乘法运算有查表法和非查表法两类方法。
若采用查表法,由X和Y通过查表求X*Y,记做 Z = ^ ( z m - 1 , z m - 2 , . . . z 1 , z 0 ) ,则地址为(xm-1,xm-2,…x1,x0,ym-1,ym-2,…y1,y0)宽2m比特,数据Z宽m比特,查找表的存储量为22m·m比特,这种方法速度快,但占用的资源多得难以接受,例如当m=8时,存储量为512k比特。
非查表法求出的积还要对本原多项式求模(除以本原多项式求余式)。该方法实现的电路简单、面积小,但速度慢,需要m个时钟周期。
在高速通信系统中,为了提高编译码速度,并使硬件复杂度较为合理,需要降低GF(2m)域上的运算复杂度,为此本发明改进了现有的RS码算法。
发明内容
本发明的目的在于提供一种和RS码等效的编码以及其快速编译码算法。
RS码的复杂度很大程度上取决于基本运算单元——加法器和乘法器的复杂度,现有技术中码元采用一组基的线性组合表示,加法运算简单,而乘法不是速度慢就是太复杂。为此我们通过采用本原元素的幂次表示码元,使乘法运算的复杂度和运算速度与原算法中的加法相近,而加法运算速度和原算法中乘法查表法的速度相当、但存储量减小很多,比非查表法计算速度高。
本发明的特征在于:(1)它是一种避免了编译码过程中复杂的乘法运算且和RS码等效的编码,它是利用本原域元素a的幂次表示RS码的码元的,即RS码的码字均在GF(2m)域上,GF(2m)域上的所有非零元素都是本原域元素a的整数次幂,对于任一非零元素X,若X=ax,则X用x表示;
(2)在编译码过程中,GF(2m)域上的两个元素X和Y相乘等于对应的两个指数的相加,即X=ax,Y=ay,Z=X·Y=az,则z=x+y(如果x+y<(2m-1))或z=x+y-(2m-1)(如果x+y≥(2m-1));
(3)在编译码过程中,GF(2m)域上的两个元素X和Y相除等于对应的两个指数的相减,即X=ax,Y=ay,Z=X/Y=az,则z=x-y(如果x-y≥0)或z=x-y+(2m-1)(如果x-y<0)。
(4)在编译码过程中,GF(2m)域上的两个元素X和Y相加和相减采用查表法,GF(2m)域的任意两个元素的差与和相等(X-Y)=(X+Y):X=ax,Y=ay,Z=X+Y=X-Y=az=ax+ay=ax(1+ay-x),具体步骤为:预先建立函数f(s)查找表,其中s、f(s)满足af(s)=1+as,用y-x查表得出f(y-x),即af(y-x)=1+ay-x,则z=x+f(y-x)(如果x+f(y-x)<(2m-1))或x+f(y-x)-(2m-1)(如果x+f(y-x)≥(2m-1))。
试验证明采用这种方法纠错性能和原算法相同,而且避免了复杂的乘法运算,实现了RS码高速高效的编译码。
附图说明
图1表示本发明所述的用幂次表示码元的RS码的编码器流程图。
图2表示本发明所述的用幂次表示码元的RS码的译码器流程图。
具体实施方式
若设计要求信息符号数为k,可纠正的最大差错个数为t,并给定一个m阶本原多项式Poly(x),则本原域元素a为本原多项式的根。用幂次表示码元的RS码的设计具体如下:
(1)因为本原元素a的0到2m-2次方构成了GF(2m)域中所有2m-1个非0元素,用元素对应的a的幂次表示该元素,并假设0元素对应于a的2m-1次方,用整数2m-1表示0元素,则建立了0到2m-1的2m个整数到GF(2m)域上2m个元素之间的一一对应关系。
(2)GF(2m)域乘法:
GF(2m)域上的两个元素X和Y相乘等于对应的两个指数的相加,即X=ax,Y=ay,Z=X·Y=az,则z=x+y(如果x+y<(2m-1))或z=x+y-(2m-1)(如果x+y≥(2m-1));
(3)GF(2m)域除法:
GF(2m)域上的两个元素X和Y相除等于对应的两个指数的相减,即X=ax,Y=ay,Z=X/Y=az,则z=x-y(如果x-y≥0)或z=x-y+(2m-1)(如果x-y<0)。
(4)GF(2m)域加减法:
建立f(s)查找表的准备工作:两个用幂次表示的元素的加法运算不能直接计算,需要先变换到一组基的线性组合的形式,再作加法运算,最后再变换到用幂次表示的形式,因此需要求出这两种表示方法之间的映射关系。ai(i=0,1,2,…,2m-2)用基(am-1,am-2,......a2,a1,1)的线性组合表示式等于ai除以本原多项式Poly(x=a)的余式,设余式为xm-1am-1+xm-2am-2+…x1a1+x0,用其系数(xm-1xm-2…x1x0)表示,系数xj(j=0,1,2,…m-1)的取值为0或1,x′=(xm-1xm-2…x1x0)2是二进制数,其取值为1到2m-1的整数。把求出的每组i和x′存储到两个长2m的查找表power[]和index[]中,查找幂次的power[x′]=i,查找系数的index[i]=x′,再令power[0]=2m-1,index[2m-1]=0。这样GF(2m)域上的任一元素,如果是a的i次幂,则根据查找表index[]可以查出它用基的线性组合表示的系数,反之如果其线性组合的系数是x′,根据查找表power[]可以查出它是a的几次幂。
建立函数f(s)的查找表:s取值于0到2m-1之间的所有整数,求满足af(s)=1+as的f(s),首先查表得x′=(xm-1xm-2…x1x0)2=index[s],即as=xm-1am-1+xm-2am-2+…x1a1+x0,则1+as=xm-1am-1+xm-2am-2+…x1a1+(x01),再用(xm-1xm-2…x1(x01))查出1+as对应的a的幂次即为f(s),即f(s)=power[(xm-1xm-2…x1(x01))2],把求出的s和f(s)存储到长为2m的函数f(s)查找表中,从而建立函数f(s)的查找表,此后不再需要查找表power[]和index[],因此只要按照上述方法预先求出f(s)查找表,在译码器中就只需要存储f(s)查找表。
GF(2m)域上的任意两个元素X和Y的差与和相等(X-Y)=(X+Y)。加减法采用查表法,X=ax,Y=ay,Z=X+Y=X-Y=az=ax+ay=ax(1+ay-x),用y-x查表得出f(y-x),即af(y-x)=1+ay-x,又因为az=ax(1+ay-x)=ax·af(y-x)=ax+f(y-x)则z=x+f(y-x)(如果x+f(y-x)<(2m-1))或x+f(y-x)-(2m-1)(如果x+f(y-x)≥(2m-1))。
(5)多项式加减法:
GF(2m)域上的两个多项式之差等于它们的和,所以二者算法相同。 u ( x ) = Σ i = 0 N u i x i v ( x ) = Σ i = 0 N v i x i , w ( x ) = Σ i = 0 N w i x i = u ( x ) + v ( x ) = u ( x ) - v ( x ) , ,则wi=ui+vi,0≤i≤N,系数是GF(2m)域上的元素,加法采用(4)中所述的算法。
(6)多项式乘法:
GF(2m)域上的两个多项式 u ( x ) = Σ i = 0 N u i x i v ( x ) = Σ i = 0 M v i x i , w ( x ) = Σ i = 0 N + M w i x i = u ( x ) · v ( x ) W i = Σ t = 0 t = i u t · v i - t , 0 ≤ i ≤ N + M , 系数是GF(2m)域上的元素,乘法采用(2)中所述的算法,加法采用(4)中所述的算法。
(7)多项式除法取余:
GF(2m)域上的两个多项式相除,除法的过程和普通的多项式除法相同,不同之处在于多项式系数的运算。设 u ( x ) = Σ i = 0 N u i x i , v ( x ) = Σ i = 0 M v i x i ,u(x)/v(x)的部分商式为 w ( x ) = u N v M x N - M , 余式为r(x)=u(x)-w(x)·v(x),如果余式的阶数不低于除式的阶数,则令被除式等于余式,再次除以除式,反复此过程,直到余式的阶数低于除式的阶数为止,最后一次所得的余式为u(x)/v(x)的余式,每次所得的部分商之和为u(x)/v(x)的商式。这里的多项式相乘采用(6)中所述的算法,多项式相减采用(5)中所述的算法。
(8)求生成多项式:
生成多项式可表示为: g ( x ) = Π j = 1 2 t ( x - a j ) = x 2 t + g 2 t - 1 x 2 t - 1 + g 2 t - 2 x 2 t - 2 + . . . . . . + g 1 x 1 + g 0 根据上式,采用(6)中所述的算法进行2t个多项式连乘,即可求出g(x)。
(9)编码:
把信息序列多项式乘以xn-k,再除以生成多项式求余数多项式。其中多项式的系数都用元素对应的a的幂次表示,运算过程中涉及的多项式运算采用(2)-(7)中所述的算法。这样生成的码多项式的系数也是用元素对应的a的幂次表示的。设输入的信息序列为m(x)=mk-1xk-1+mk-2xk-2+......+m2x2+m1x1+m0x0,生成的码字为c(x)=cn-1xn-1+cn-2xn-2+......+c2x2+c1x1+c0x0。则编码算法为c(x)=xn-km(x)+R(x),其中R(x)=xn-k·m(x)modg(x),g(x)是RS码的生成多项式。
(10)译码:
除了多项式系数用元素对应的a的幂次表示,其他和现有的译码算法相同。具体分为以下三步:
1.计算伴随式S(x)=S1+S2x+......+S2tx2t-1
接收码字矢量y(x)=yn-1xn-1+yn-2xn-2+......+y2x2+y1x1+y0 S j = y ( a j ) = Σ i = 0 n - 1 y i a ij = ( . . . . . . ( ( y n - 1 a j + y n - 2 ) a j + y n - 3 ) a j + . . . . . . y 1 ) a j + y 0 , j = 1,2 , . . . . . . 2 t
(2)计算错误位置多项式σ(x)和出错值多项式ω(x).
由S(x)计算错误位置多项式σ(x)和出错值多项式ω(x)是译码过程中的核心问题,在现有的各种算法中,扩展欧几里得算法是其中最适合Systolic阵列处理结构硬件实现的算法。具体如下:
I.)初始化
σ(-1)(x)=0,σ(0)(x)=1,
ω(-1)(x)=x2t,ω(0)(x)=S(x)
II.)计算
ω(i+1)(x)=ω(i-1)(x)-Q(i)(x)ω(i)(x)
σ(i+1)(x)=σ(i-1)(x)-Q(i)(x)σ(i)(x)
其中ω(i+1)的阶小于ω(i)。也就是ω(i+1)(x)是ω(i-1)(x)除以ω(i)(x)的余数多项式,而Q(i)(x)等于商多项式。
迭代运算直到i+1=j为止,j是使ω(j)的阶小于t的最小整数。
σ(x)=σ(j)(x)
ω(x)=ω(j)(x)
(3)求错误位置和错误值。
σ(x)=σeven(x2)+xσodd(x2)
其中
σeven(x2)=σ02x24x4+......
σodd(x2)=σ13x25x4+....
σ(x)=0的充要条件是x-1σeven(x2)=σodd(x2)。
把x=a-i,n-1≥i≥0依次代入,求x-1σeven(x2)和σodd(x2),其中使x-1σeven(x2)=σodd(x2)的Xj就是出错位置。
当出错位置确定后,对应的出错值为: Y j = ω ( X j ) σ ′ ( X j ) = ω ( X j ) σ odd ( X j 2 )
根据求出的Xj和Yj就可以对接收码字矢量纠错,从而实现RS码的译码。
举例说明RS码的设计及编译码过程:
若RS码码字符号数n=7,信息符号数为k=3,可纠正的最大差错个数为t=2,并给定一个3阶本原多项式Poly(x)=x3+x+1,本原元素a为本原多项式的根。
(1)建立函数f(s)查找表:
准备工作:
计算x2a2+x1a1+x0=aimod(Poly(x=a))=aimod(a3+a+1),i从0到6:
    i   0   1   2   3   4     5   6
 (x2x1x0)  001  010  100  011  110   111  101
 i和x′=(x2x1x0)2存储到两个长8的查找表power[]和index[]中:
    i   0   1   2   3   4   5   6   7
 index[i]   1   2   4   3   6   7   5   0
    x′   0   1   2   3   4   5   6   7
power[x′]   7   0   1   3   2   6   4   5
建立函数f(s)的查找表:
例如s=4,x′=(xm-1xm-2…x1x0)2=index[s]=6=(110)2
1+as=xm-1am-1+xm-2am-2+…x1a1+(x01)=(111)2=7,
f(s=4)=power[(xm-1xm-2…x1(x01))2]=5,
即f(4)=5。
再例如s=7,x′=(xm-1xm-2…x1x0)2=index[s]=0=(000)2
1+as=xm-1am-1+xm-2am-2+…x1a1+(x01)=(001)2=1,
f(s=7)=power[(xm-1xm-2…x1(x01))2]=0,
即f(7)=0。
    S     0     1     2     3     4     5     6     7
f(s) 7 3 6 1 5 4 2 0
然后删除查找表power[]和index[],只保存f(s)的查找表。
(2)求生成多项式: g ( x ) = Π j = 1 2 t ( x - a j ) = ( x - a ) ( x - a 2 ) ( x - a 3 ) ( x - a 4 ) = ( x 2 - ( a + a 2 ) x + a 3 ) ( x - a 3 ) ( x - a 4 ) = ( x 2 + a 4 x + a 3 ) ( x - a 3 ) ( x - a 4 ) = x 4 + a 3 x 3 + x 2 + ax + a 3
(3)编码:
设信息序列为(6,3,1)即m(x)=a6x2+a3x+a,
R(x)=xn-k·m(x)modg(x)
=x4·(a6x2+a3x+a)mod(x4+a3x3+x2+ax+a3)
=ax3+a2x2+a3x+a2
c(x)=xn-km(x)+R(x)=a6x6+a3x5+ax4+ax3+a2x2+a3x+a2码字序列为(6,3,1,1,2,3,2)。
(4)译码:
假设错误矢量为(0020001),也就是错误多项式为e(x)=a2x4+1,则接收序列多项式为y(x)=c(x)+e(x)=a6x6+a3x5+a4x4+ax3+a2x2+a3x+a6
计算伴随式S(x): S j = y ( a j ) = Σ i = 0 n - 1 y i a ij = ( . . . . . . ( ( y n - 1 a j + y n - 2 ) a j + y n - 3 ) a j + . . . . . . y 1 ) a j + y 0 , j = 1,2 , . . . . . . 2 t
S2=y(a2)=(......((a6a2+a3)a2+a4)a2+a)a2+a2)a2+a3)a2+a6=a
S1=y(a)=a2,S3=y(a3)=0,S4=y(a4)=a5
所以S(x)=S1+S2x+......+S2tx2t-1=a5x3+ax+a2
计算错误位置多项式σ(x)和出错值多项式ω(x):
(I)初始化
σ(-1)(x)=0,σ(0)(x)=1,
ω(-1)(x)=x2t=x4,ω(0)(x)=S(x)=a5x3+ax+a2
(II)计算
ω(1)(x)=ω(-1)(x)-Q(0)(x)ω(0)(x)=x4mod(a5x3+ax+a2)=a3x2+a4x,其中Q(0)(x)=a2(1)(x)=σ(-1)(x)-Q(0)(x)σ(0)(x)=0-a2x·1=a2x
(III)计算
ω(2)(x)=ω(0)(x)-Q(1)(x)ω(1)(x)=(a5x3+ax+a2)mod(a3x2+a4x)=a3x+a2,其中Q(1)(x)=a2x+a3
σ(2)(x)=σ(0)(x)-Q(1)(x)σ(1)(x)=1-(a2x+a3)·a2x=a4x2+a5x+1因为ω(2)(x)的阶小于t=2,所以结束迭代运算。
ω(x)=ω(j)(x)=a3x+a2
σ(x)=σ(j)(x)=a4x2+a5x+1
求错误位置和错误值:
σeven(x2)=σ02x2=a4x2+1
σodd(x2)=σ1=a5
把x=a-i,6≥i≥0依次代入,求使x-1σeven(x2)=σodd(x2)的Xj就是出错位置。i=4,x=a-4,x-1σeven(x2)=a5,σodd(x2)=a5,所以X4=a4是一个出错位置。 Y 4 = ω ( X j ) σ ′ ( X j ) = ω ( X j ) σ odd ( X j 2 ) = 1 a 5 = a 2
把x=a-1,6≥i≥0依次代入,可以求出共有两个出错位置,另一个是X0=a0=1,Y0=1。从而求得错误多项式为ê(x)=a2x4+1,纠正接收多项式的错误得到译码结果: c ^ ( x ) = y ( x ) + e ^ ( x ) = ( a 6 x 6 + a 3 x 5 + a 4 x 4 + a x 3 + a 2 x 2 + a 3 x + a 6 ) + ( a 2 x 4 + 1 ) = a 6 x 6 + a 3 x 5 + a x 4 + a x 3 + a 2 x 2 + a 3 x + a 2 与发送的码字多项式相同,所以译码算法正确地纠正了传输引起的错误。
传统的RS码编译码器中的乘法器非常复杂,需要两个多项式相乘,再除以本原多项式取模,如果采用查表法需要地址线2m比特宽,数据m比特,存储量为22m·m。采用本方法后,大大简化了多项式的乘除法,而加法采用查表法,只需要m比特宽的地址线和数据线的查找表,存储量为2m·m,大大降低了所需的存储量。
图1为本发明所述的用幂次表示码元的RS码的编码器流程图,图2为本发明所述的用幂次表示码元的RS码的译码器流程图。
此算法可以用计算机程序完成,也可在各种可编程逻辑器件或专用集成电路中实施。一个具体的实施例子是用c程序完成的这种RS码的编译码。
现有技术和本发明中RS码的码元分别采用一组基的线性组合的系数和本原域元素的幂次表示,因为编译码算法的原理相同,所以二者的纠错性能相同,仿真实验的结果充分的验证了这一点。不同的是现有技术中码元相加为模二和、相乘有两种方法,一种需要复杂的乘法和对本原多项式取模,另一种需要很大的查找表,而本发明中的码元乘法可以用简单的加法实现、而码元加法用比较小的查找表实现,与现有技术中非查表乘法相比,电路中的延时减少,从而提高了编译码速度;与现有技术中查表乘法相比则降低了存储量和复杂度,例如当m=8时,此方法所需存储量仅为2k比特。

Claims (2)

1.一种和RS码等效的编码,其特征在于:它是一种避免了编译码过程中复杂的乘法运算且和RS码等效的编码,它是利用本原域元素a的幂次表示RS码的码元的,即RS码的码字均在GF(2m)域上,GF(2m)域上的所有非零元素都是本原域元素a的整数次幂,对于任一非零元素X,若X=ax,则X用x表示。
2.一种和RS码等效的编码的快速编译码的算法,其特征在于:它是一种能在计算机中运行的速度高且复杂度较低的和RS码等效的编译码算法,在编译码过程中,它采用下列各种算法:
(1)在编译码过程中,GF(2m)域上的两个元素X和Y相乘等于对应的两个指数的相加,即X=ax,Y=ay,Z=X·Y=az,则z=x+y(如果x+y<(2m-1))或z=x+y-(2m-1)(如果x+y≥(2m-1));
(2)在编译码过程中,GF(2m)域上的两个元素X和Y相除等于对应的两个指数的相减,即X=ax,Y=ay,Z=X/Y=az,则z=x-y(如果x-y≥0)或z=x-y+(2m-1)(如果x-y<0)。
(3)在编译码过程中,GF(2m)域上的两个元素X和Y相加和相减采用查表法,GF(2m)域的任意两个元素的差与和相等(X-Y)=(X+Y):X=ax,Y=ay,Z=X+Y=X-Y=az=ax+ay=ax(1+ay-x),具体步骤为:预先建立函数f(s)查找表,其中s、f(s)满足af(s)=1+as,用y-x查表得出f(y-x),即af(y-x)=1+ay-x,则z=x+f(y-x)(如果x+f(y-x)<(2m-1))或x+f(y-x)-(2m-1)(如果x+f(y-x)≥(2m-1))。
CNB03121939XA 2003-04-18 2003-04-18 用于降低rs码编译码复杂度的方法 Expired - Fee Related CN1303763C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB03121939XA CN1303763C (zh) 2003-04-18 2003-04-18 用于降低rs码编译码复杂度的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB03121939XA CN1303763C (zh) 2003-04-18 2003-04-18 用于降低rs码编译码复杂度的方法

Publications (2)

Publication Number Publication Date
CN1447528A true CN1447528A (zh) 2003-10-08
CN1303763C CN1303763C (zh) 2007-03-07

Family

ID=28050548

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03121939XA Expired - Fee Related CN1303763C (zh) 2003-04-18 2003-04-18 用于降低rs码编译码复杂度的方法

Country Status (1)

Country Link
CN (1) CN1303763C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442313B (zh) * 2007-11-20 2011-05-11 华为技术有限公司 数字通信过程中的编解码方法以及编码器、解码器
CN102710265A (zh) * 2011-11-01 2012-10-03 记忆科技(深圳)有限公司 应用于bch解码器的优化方法及系统
CN101834615B (zh) * 2009-03-12 2012-12-26 高通创锐讯通讯科技(上海)有限公司 里德-索罗蒙编码器实现方法
CN102857241A (zh) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 一种cmmb中多码率rs码的并行编码器和编码方法
CN101834616B (zh) * 2009-03-12 2013-08-28 高通创锐讯通讯科技(上海)有限公司 里德-索罗蒙解码器实现方法
WO2017020733A1 (zh) * 2015-07-31 2017-02-09 福建联迪商用设备有限公司 一种rs纠错解码方法
CN112688696A (zh) * 2021-03-22 2021-04-20 广州慧睿思通科技股份有限公司 有限域编码和译码的方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370671B1 (en) * 1998-06-18 2002-04-09 Globespan, Inc. Configurable decoder and method for decoding a reed-solomon codeword
CN1121758C (zh) * 1998-12-24 2003-09-17 中国科学院空间科学与应用研究中心 编码芯片
CN1134897C (zh) * 1999-03-19 2004-01-14 西安电子科技大学 里德-索罗门码的快速译码方法及编译码器
US6487692B1 (en) * 1999-12-21 2002-11-26 Lsi Logic Corporation Reed-Solomon decoder

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442313B (zh) * 2007-11-20 2011-05-11 华为技术有限公司 数字通信过程中的编解码方法以及编码器、解码器
CN101834615B (zh) * 2009-03-12 2012-12-26 高通创锐讯通讯科技(上海)有限公司 里德-索罗蒙编码器实现方法
CN101834616B (zh) * 2009-03-12 2013-08-28 高通创锐讯通讯科技(上海)有限公司 里德-索罗蒙解码器实现方法
CN102710265A (zh) * 2011-11-01 2012-10-03 记忆科技(深圳)有限公司 应用于bch解码器的优化方法及系统
CN102857241A (zh) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 一种cmmb中多码率rs码的并行编码器和编码方法
CN102857241B (zh) * 2012-09-27 2016-03-09 中国传媒大学 一种cmmb中多码率rs码的并行编码器和编码方法
WO2017020733A1 (zh) * 2015-07-31 2017-02-09 福建联迪商用设备有限公司 一种rs纠错解码方法
CN105024707B (zh) * 2015-07-31 2018-05-11 福建联迪商用设备有限公司 一种rs纠错解码方法
CN112688696A (zh) * 2021-03-22 2021-04-20 广州慧睿思通科技股份有限公司 有限域编码和译码的方法、装置、设备及存储介质
CN112688696B (zh) * 2021-03-22 2021-07-23 广州慧睿思通科技股份有限公司 有限域编码和译码的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN1303763C (zh) 2007-03-07

Similar Documents

Publication Publication Date Title
Dinh Constacyclic codes of length ps over Fpm+ uFpm
JP4062435B2 (ja) 誤り訂正符号復号装置
US8327242B1 (en) High-performance ECC decoder
JP4155539B2 (ja) 情報伝送方法および装置、記憶媒体
CN101079638A (zh) 用于降低复杂度的低密度奇偶校验解码的系统和方法
CN1993892A (zh) 用于编码和解码块低密度奇偶校验码的装置和方法
CN101039119A (zh) 编码与解码的方法及系统
Wu Generalized integrated interleaved codes
CN101032082A (zh) 编码和解码数据的方法和设备
JP4777258B2 (ja) ガロア体乗算のためのルックアップテーブルを使用するリード・ソロモン符号の符号化および復号化
CN101047391A (zh) 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN107239362B (zh) 一种并行crc校验码的计算方法及系统
CN1467918A (zh) 里得-索罗门解码器
Truong et al. Algebraic decoding of (103, 52, 19) and (113, 57, 15) quadratic residue codes
CN1636324A (zh) 纠错解码器的钱搜索单元
CN1447528A (zh) 一种和rs码等效的编码以及其快速编译码的算法
US20190190653A1 (en) Decomposable forward error correction
CN1599262A (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
KR101923116B1 (ko) 분산 저장 시스템에서 부분접속 복구 부호를 이용하는 부호화/복호화 장치 및 방법
US7398456B2 (en) Information encoding by shortened Reed-Solomon codes
CN1192486C (zh) 一种缩短循环码纠错译码算法的集成电路实现方法及电路
TWI664636B (zh) 錯誤檢查和糾正解碼器
CN1849750A (zh) 里得-所罗门编码和解码方法
Thangaraj et al. Efficient maximum-likelihood decoding of Reed–Muller RM (m− 3, m) codes
Hou et al. New regenerating codes over binary cyclic codes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CI01 Correction of invention patent gazette

Correction item: Inventor

Correct: Zhao Yifei

False: Yao Yifei

Number: 41

Volume: 19

CI02 Correction of invention patent application

Correction item: Inventor

Correct: Zhao Yifei

False: Yao Yifei

Number: 41

Page: The title page

Volume: 19

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: YAO YIFEI TO: ZHAO YIFEI

ERR Gazette correction

Free format text: CORRECT: INVENTOR; FROM: YAO YIFEI TO: ZHAO YIFEI

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070307

Termination date: 20150418

EXPY Termination of patent right or utility model