CN1303763C - 用于降低rs码编译码复杂度的方法 - Google Patents

用于降低rs码编译码复杂度的方法 Download PDF

Info

Publication number
CN1303763C
CN1303763C CNB03121939XA CN03121939A CN1303763C CN 1303763 C CN1303763 C CN 1303763C CN B03121939X A CNB03121939X A CN B03121939XA CN 03121939 A CN03121939 A CN 03121939A CN 1303763 C CN1303763 C CN 1303763C
Authority
CN
China
Prior art keywords
code
coding
look
finite field
decoding
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.)
Expired - Fee Related
Application number
CNB03121939XA
Other languages
English (en)
Other versions
CN1447528A (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=ax,则X用x表示;并用符号0表示元素a的2m-1次方,用符号2m-1表示传统RS码的0元素,在编译码时,对于有限域GF(2m)上的任意两个元素X和Y,X和Y相乘等于对应的两个指数的相加,X和Y相除等于对应的两个指数的相减,X和Y相加和相减采用查表法,从而在已有的RS编译码算法的基础上对编译码方法进行了改进。采用这种方法纠错性能和现有的方法相同,能用很小的代价避免了复杂的乘法运算,实现了RS码高速高效的编译码。

Description

用于降低RS码编译码复杂度的方法
技术领域
用于降低RS码编译码复杂度的方法属于RS码技术领域。
背景技术
在通信***中,在信息发送之前,需要按照一定的规则,在数据流中人为地加入冗余以便接收端能够进行误码检测和校正。RS纠错编码是目前最有效、应用最广泛的差错控制编码方式之一。RS码可以用于纠正随机错误,也适合于纠正突发错误,已经在卫星通信、数字电视传输等领域得到广泛应用。
常用(n,k,d)表示RS码;其中n为码字长度,k为信息符号数,d为设计距离,若可纠正的最大差错个数用t表示,则2t为校验符号数。RS码的参数具有如下的关系:
k = n - 2 t d = 2 t + 1
设输入的信息序列为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 ) = Σ 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).
假设有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,则σ(Xi -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=(zm-1,zm-2,…z1,z0),则地址为(xm-1,xm-2,…x1,x0,ym-1,ym-2,…y1,y0)宽2m比特,数据Z宽m比特,查找表的存储量为22m·m比特,这种方法速度快,但占用的资源多得难以接受,例如当m=8时,存储量为512k比特。
非查表法求出的积还要对本原多项式求模(除以本原多项式求余式),该方法实现的电路简单、面积小,但速度慢。
在高速通信***中,为了提高编译码速度,并使硬件复杂度较为合理,需要降低有限域GF(2m)上的运算复杂度,为此本发明改进了现有的RS码编译码算法。
发明内容
本发明的目的在于提供一种在保持RS码纠错性能不变的同时,降低编译码所需存储量和复杂度的方法。
RS码的复杂度很大程度上取决于基本运算单元——加法器和乘法器的复杂度,现有技术中码元采用一组基的线性组合表示,加法运算简单,而乘法不是速度慢就是太复杂。为此我们通过采用本原元素的幂次表示码元的方法,使乘法运算的复杂度和运算速度与原算法中的加法相近,而加法运算速度和原算法中乘法查表法的速度相当、但存储量减小很多,比非查表法计算速度高。
本发明的特征在于:在发送端进行编码时,利用本原域元素a的幂次表示RS码的码元,对于任一非零元素X,若X=ax,则X用x表示;并用符号0表示元素a的2m-1次方,用符号2m-1表示传统RS码的0元素,在编译码过程中的运算采用下列简化后的计算方法:
(1)在编译码过程中,有限域GF(2m)上的两个元素X和Y相乘等于对应的两个指数的相加,即X=ax,Y=ay,Z=X·Y=az,则 z = x + y x + y < 2 m - 1 x + y - ( 2 m - 1 ) x + y &GreaterEqual; 2 m - 1 ;
(2)在编译码过程中,有限域GF(2m)上的两个元素X和Y相除等于对应的两个指数的相减,即X=ax,Y=ay,Z=X/Y=az,则 z = x - y x - y &GreaterEqual; 0 x - y + ( 2 m - 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 ) < 2 m - 1 x + f ( y - x ) - ( 2 m - 1 ) x + f ( y - x ) &GreaterEqual; 2 m - 1 .
试验证明采用这种方法纠错性能和原算法相同,而且避免了复杂的乘法运算,实现了RS码高速高效的编译码。
附图说明
图1表示本发明所述的用幂次表示码元的RS码的编码器流程图。
图2表示本发明所述的用幂次表示码元的RS码的译码器流程图。
具体实施方式
若设计要求信息符号数为k,每个符号m比特,可纠正的最大差错符号个数为t,则用幂次表示码元的RS码的设计具体如下:
对于编码器输入的mk个比特,每m个比特构成一个符号,共k个符号。选择一个m阶本原多项式Poly(x),设本原多项式的根为本原域元素a。和传统RS码编码相同的是仍采用多项式除法形式生成余数多项式,不同的是输入的符号表示的是传统RS码元素对应的a的幂次,并假设符号0对应于元素a的2m-1次方,用符号2m-1表示传统RS码的0元素,通过这种数学含义的改变,可以简化编译码过程中的运算。
把信息序列多项式乘以xn-k,再除以生成多项式求余数多项式。其中多项式的系数都用元素对应的a的幂次表示,运算过程中涉及的多项式及多项式系数的计算方法如下:
(1)有限域GF(2m)的乘法:
有限域GF(2m)上的两个元素X和Y相乘等于对应的两个指数的相加,即X=ax,Y=ay,Z=X·Y=az,则 z = x + y x + y < 2 m - 1 x + y - ( 2 m - 1 ) x + y &GreaterEqual; 2 m - 1 ;
(2)有限域GF(2m)的除法:
有限域GF(2m)上的两个元素X和Y相除等于对应的两个指数的相减,即X=ax,Y=ay,Z=X/Y=az,则 z = x - y x - y &GreaterEqual; 0 x - y + ( 2 m - 1 ) x - y < 0 .
(3)有限域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 ) < 2 m - 1 x + f ( y - x ) - ( 2 m - 1 ) x + f ( y - x ) &GreaterEqual; 2 m - 1 .
(4)多项式加减法:
有限域GF(2m)上的两个多项式之差等于它们的和,所以二者算法相同。 u ( x ) = &Sigma; i = 0 N u i x i v ( x ) = &Sigma; i = 0 N v i x i , w ( x ) = &Sigma; i = 0 N w i x i = u ( x ) + v ( x ) = u ( x ) - v ( x ) , 则wi=ui+vi,0≤i≤N,系数是
有限域GF(2m)上的元素,加法采用(3)中所述的算法。
(5)多项式乘法:
有限域GF(2m)上的两个多项式 u ( x ) = &Sigma; i = 0 N u i x i v ( x ) = &Sigma; i = 0 M v i x i , w ( x ) = &Sigma; i = 0 N + M w i x i = u ( x ) &CenterDot; v ( x )
w i = &Sigma; t = 0 t = i u t &CenterDot; v i - t , 0≤i≤N+M,系数是有限域GF(2m)上的元素,乘法采用(1)中所述的算法,加法采用(3)中所述的算法。
(6)多项式除法取余:
有限域GF(2m)上的两个多项式相除,除法的过程和普通的多项式除法相同,不同之处在于多项式系数的运算。设 u ( x ) = &Sigma; i = 0 N u i x i , v ( x ) = &Sigma; 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)的商式。这里的多项式相乘采用(5)中所述的算法,多项式相减采用(4)中所述的算法。
(7)求生成多项式:
生成多项式可表示为:
g ( x ) = &Pi; 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
根据上式,采用(5)中所述的算法进行2t个多项式连乘,即可求出g(x)。
采用(1)-(6)中所述的计算方法。这样生成的码多项式的系数也是用元素对应的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码的生成多项式。
在译码时,多项式系数用元素对应的a的幂次表示,从而使得多项式系数及多项式的加减乘除运算可简化为(1)-(6)中所述的计算方法,其他和传统的RS码译码算法相同。
具体分为以下三步:
1.计算伴随式S(x)=S1+S2x+......+S2tx2t-1
接收码字矢量y(x)=yn-1xn-1+yn-2xn-2+......+y2x2+y1x1+y0
S j = y ( a j ) = &Sigma; 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,......2t
(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σxeven(x2)=σodd(x2)的Xj就是出错位置。
当出错位置确定后,对应的出错值为:
Y j = &omega; ( X j ) &sigma; &prime; X j = &omega; ( X j ) &sigma; odd ( X j 2 )
根据求出的Xj和Yj就可以对接收码字矢量纠错,从而实现RS码的译码。
举例说明用幂次表示码元的RS码的编译码方法:
若RS码信息符号数为k=3,可纠正的最大差错个数为t=2,则码字符号数n=7,并给定一个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 ) = &Pi; 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)mod g(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)译码:
假设传输过程产生误码,导致接收端收到的序列为(6,3,4,1,2,3,6),则接收序列多项式为y(x)=a6x6+a3x5+a4x4+ax3+a2x2+a3x+a6
计算伴随式S(x):
S j = y ( a j ) = &Sigma; 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,......2t
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)=a2x
σ(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 = &omega; ( X j ) &sigma; &prime; ( X j ) = &omega; ( X j ) &sigma; odd ( X j 2 ) = 1 a 5 = a 2
把x=a-i,6≥i≥0依次代入,可以求出共有两个出错位置,另一个是X0=a0=1,Y0=1。从而求得错误多项式为 e ^ ( x ) = a 2 x 4 + 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 (1)

1.用于降低RS码编译码复杂度的方法,其特征在于:在发送端进行编码时,利用本原域元素a的幂次表示RS码的码元,对于任一非零元素X,若X=ax,则X用x表示;并用符号0表示元素a的2m-1次方,用符号2m-1表示传统RS码的0元素,在编译码过程中的运算采用下列简化后的计算方法:
(1)在编译码过程中,有限域GF(2m)上的两个元素X和Y相乘等于对应的两个指数的相加,即X=ax,Y=ay,Z=X·Y=az,则 z = x + y x + y < 2 m - 1 x + y - ( 2 m - 1 ) x + y &GreaterEqual; 2 m - 1 ;
(2)在编译码过程中,有限域GF(2m)上的两个元素X和Y相除等于对应的两个指数的相减,即X=ax,Y=ay,Z=X/Y=az,则 z = x - y x - y &GreaterEqual; 0 x - y + ( 2 m - 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 ) < 2 m - 1 x + f ( y - x ) - ( 2 m - 1 ) x + f ( y - x ) &GreaterEqual; 2 m - 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 CN1447528A (zh) 2003-10-08
CN1303763C true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10447309B2 (en) 2015-07-31 2019-10-15 Fujian Landi Commercial Equipment Co., Ltd. RS error correction decoding method

Families Citing this family (6)

* 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解码器的优化方法及***
CN102857241B (zh) * 2012-09-27 2016-03-09 中国传媒大学 一种cmmb中多码率rs码的并行编码器和编码方法
CN112688696B (zh) * 2021-03-22 2021-07-23 广州慧睿思通科技股份有限公司 有限域编码和译码的方法、装置、设备及存储介质

Citations (4)

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

Patent Citations (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
CN1258133A (zh) * 1998-12-24 2000-06-28 中国科学院空间科学与应用研究中心 编码芯片
CN1267964A (zh) * 1999-03-19 2000-09-27 西安电子科技大学 里德-索罗门码的快速译码方法及编译码器
US6487692B1 (en) * 1999-12-21 2002-11-26 Lsi Logic Corporation Reed-Solomon decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10447309B2 (en) 2015-07-31 2019-10-15 Fujian Landi Commercial Equipment Co., Ltd. RS error correction decoding method

Also Published As

Publication number Publication date
CN1447528A (zh) 2003-10-08

Similar Documents

Publication Publication Date Title
CN101080874A (zh) 纠错编码装置以及在其中使用的纠错编码方法
CN1993892A (zh) 用于编码和解码块低密度奇偶校验码的装置和方法
CN1701515A (zh) 解码方法、解码装置和程序
CN1838542A (zh) 解码设备和方法以及程序
JP4155539B2 (ja) 情報伝送方法および装置、記憶媒体
CN101079638A (zh) 用于降低复杂度的低密度奇偶校验解码的***和方法
CN1836394A (zh) 在移动通信***中编码/解码块低密度奇偶校验码的装置和方法
CN1185796C (zh) 改进的非规则低密度奇偶校验码纠错译码方法
CN1593012A (zh) 用于低密度奇偶校验码的幅度相位偏移群集的比特标记
CN1674446A (zh) 根据低密度奇偶校验码***实现的解码单元和预处理单元
CN1697359A (zh) 用于发送和接收数据的***、装置和方法
CN101039119A (zh) 编码与解码的方法及***
CN1608347A (zh) 低密度奇偶校验码用检查矩阵生成方法
CN1941635A (zh) 一种非正则低密度奇偶校验码的构造方法
CN1274202A (zh) 交错方法、交错装置、加速编码方法以及加速编码装置
CN101047391A (zh) 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN1252935C (zh) 基于低密度奇偶检验编码的信源信道联合编码方法
CN1238604A (zh) 里德-所罗门编码装置与编码方法
CN1176714A (zh) 用于三错校正和四错校正的改进***
CN1303763C (zh) 用于降低rs码编译码复杂度的方法
CN1467918A (zh) 里得-索罗门解码器
Cho et al. Efficient software-based encoding and decoding of BCH codes
CN1286275C (zh) 纠错装置
CN1317828C (zh) 里德索洛蒙码或扩展里德索洛蒙码的译码方法和译码器
TWI664636B (zh) 錯誤檢查和糾正解碼器

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