CN1134897C - 里德-索罗门码的快速译码方法及编译码器 - Google Patents
里德-索罗门码的快速译码方法及编译码器 Download PDFInfo
- Publication number
- CN1134897C CN1134897C CNB991157346A CN99115734A CN1134897C CN 1134897 C CN1134897 C CN 1134897C CN B991157346 A CNB991157346 A CN B991157346A CN 99115734 A CN99115734 A CN 99115734A CN 1134897 C CN1134897 C CN 1134897C
- Authority
- CN
- China
- Prior art keywords
- multinomial
- decoder
- time domain
- polynomial
- fft
- 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
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种RS码的译码方法和RS码的编译码器。该方法主要解决现有译码算法存在的为计算错误图样而花费大量的有限域运算的不足。其特点是译码器直接计算信息多项式而无需计算错误图样,具有运算量小,易于硬件电路实现等优点,尤其适合在高速率的数字传输系统和数字存储系统中使用。
Description
本发明涉及基本电子电路,具体地说是一种应用于数字传输系统和数字存储系统的RS码的译码方法及编译码器。
里德-索罗门码译自Reed-Solomon码,简称RS码,是里德-索罗门两人发明的一类极其重要的代数码,其码长、编码速率可选,容易满足系统的数据格式要求。给定码长与编码速率的条件下,RS码的最小汉明(Hamming)距离达到最大,在这个意义上讲,RS码是最佳的线性分组码。RS码的纠错能力极强,既可以纠正无论随机错误,又可以纠正突发错误。因而,RS码广泛应用于工程实际之中。在数字传输系统中,如果功率受限且要求的通信质量高(如深空通信、潜水通信、移动通信等),往往要采用以RS码为外码的级联码。在各类数字存储系统中,包括磁存储(如计算机系统中的硬盘等),光存储(如CD、VCD等),纸存储(如417条码等防伪技术),RS码更是受到青睐。现有的RS码的译码算法主要包括彼得森(Peterson)算法,伯利坎普-梅西(Berlekamp-Massey)算法,欧几里德(Euclidean)算法,韦而奇-伯利坎普(Welch-Berlekamp)算法。其中后面三种算法更适合于工程应用。这些算法根据某一关键方程求出错误位置多项式之后,利用钱(Chien)氏搜索或别的办法确定错误位置,利用福尼(Forney)算法确定错误值,从而求出错误图样以达到纠错的目的;或者利用错误位置多项式和错误图样在变换域的某些分量递推算出其它分量,从而求出错误图样。这方面的论述可以参看勃拉哈特(R.E.Blahut)的著作《纠错码理论》(TheTheory of Error-Correcting Codes)的第七章和第九章,此书于1983年由Reading MA:Addision-Wesley出版。韦而奇-伯利坎普(Welch-Berlekamp)算法可以参看韦而奇(L.Welch)和伯利坎普(E.R.Berlekamp)的专利(美国专利号:4 633 470,1986年9月):Error correction for algebraic block codes。由于在实际的工程应用中,错误个数可能很多,因而采用上述这些方法时,存在着为确定错误图样而花费大量的有限域运算的不足。
本发明的目的在于克服上述现有技术的不足,提供一种快速的译码方法和编译码器。
本发明的目的是这样实现的:
1.RS码编码器的硬件实现电路
设α是有限域GF(2m)的本原元,则GF(2m)可以表示为
GF(2m)={0,1,α,α2,α3,…,αn-1},其中n=2m-1且αn=1。设M0,M1,…,Mk-1表示k长的信息序列,其中Mi∈GF(2m)。它的多项式表示记作
M(x)=Mk-1xk-1+Mk-2xk-2+…+M1x+M0。定义M(x)的频域变换为
c(x)=cn-1xn-1+cn-2xn-2+…+c1x+c0,其中
ci=M(α-i)
=Mk-1(α-i)k-1+Mk-2(α-i)k-2+…+M1α-i+M0,i=0,1,…,n-1。(cn-1,cn-2,…,c0)是(Mk-1,Mk-2,…,M0)对应的码字。我们称这样的RS码为频域RS码,它是非系统码。利用逆频域变换,(Mk-1,Mk-2,…,M0)可以由(cn-1,cn-2,…,c0)恢复,即
Ci=c(αi)
=cn-1(αi)n-1+cn-2(αi)n-2+…+c1αi+c0,i=0,1,…,n-1’其中Mi=Ci,i=0,1,…,k-1且Ci=0,i=k,k+1,…,n-1。我们称M(x)为c(x)的时域多项式,而称c(x)为M(x)的频域多项式。
基于上述原理,本发明组成的编码电路如图1所示。该编码器主要由多个FFT单元和延迟单元T组成。输入信息序列Mj在输入时钟CLKi的控制下同时进入n个FFT单元,得到(Mk-1,Mk-2,…,M0)对应的码字(cn-1,cn-2,…,c0),该对应码字先进入延迟单元T,然后在输出时钟CLKo的控制下输出。一个FFT单元如图3所示,由一个加法器、一个乘法器及一个延迟单元T组成。一个特定的FFT单元的功能由α-i确定,而α-i是预置的,在编译码器工作期间不发生变化。
2.RS码的译码器的硬件实现电路
本发明设计的译码器主要由R(x)单元,N(x),Λ(x)单元,M(x)单元组成,见图2。其中r(x)是接收矢量,CLKi是输入时钟,Fi是输入标志,Fo是输出标志,CLKo是输出时钟,M(x)是要求的信息多项式。
上述译码器中的R(x)单元主要由多个FFT单元和多个延迟单元T组成,接收矢量r(x)在输入时钟的控制下进入FFT单元和延迟单元T,输出时域多项式R(x)。
上述译码器中的N(x),Λ(x)单元电路主要由n-k个除法单元DIV组成,每个DIV单元如图7电路。多项式(xn-1)xT+1和多项式R(x)xT+1+1进入n-k个DIV除法单元,得出多项式N(x)xT+1+Λ(x)。
上述译码器中的M(x)单元主要由k个DIV除法单元组成,N(x)和Λ(x)通过k个DIV除法单元得出M(x)。
3.RS码的译码方法
设(cn-1,cn-2,…,c0)是发送的码字,(rn-1,rn-2,…,r0)是接收矢量,(en-1,en-2,…,e0)是相应的错误图样,则
ci=ri+ei,i=0,1,…,n-1。ei≠0意味着(cn-1,cn-2,…,c0)的第i个位置发生了错误。
设R(x)=Rn-1xn-1+Rn-2xn-2+…+R1x+R0表示r(x)=rn-1xn-1+rn-2xn-2+…+r1x+r0的时域多项式,其中
Ri=r(αi)
=rn-1(αi)n-1+rn-2(αi)n-2+…+r1αi+r0
=cn-1(αi)n-1+cn-2(αi)n-2+…+c1αi+c0
+en-1(αi)n-1+en-2(αi)n-2+…+e1αi+e0
=Mi+Ei,i=0,1,…,n-1则R(x)=M(x)+E(x),其中E(x)=En-1xn-1+En-2xn-2+…+E1x+E0是e(x)=en-1xn-1+en-2xn-2+…+e1x+e0的时域多项式。假定发生了t个错误,即(en-1,en-2,…,e0)中有t个分量不等于0。显然,ei≠0当且仅当E(α-i)≠0。定义错误位置多项式 其中i1,i2,…,i1表示错误位置。从定义可以看出,Λ(α-i)=0当且仅当ei≠0当且仅当E(α-i)≠0,i=0,…,n-1,因而E(x)Λ(x)=0 mod xn-1。定义N(x)=R(x)Λ(x)mod xn-1。由R(x)=M(x)+E(x)可得到N(x)=M(x)Λ(x)+E(x)Λ(x)=M(x)Λ(x)mod xn-1。由于degM(x)≤k-1,
则有degM(x)Λ(x)<n。因此N(x)=M(x)Λ(x)。得到N(x),Λ(x)之后,就有M(x)=N(x)/Λ(x)。基于上述原理,本发明提出的译码方法如下:设(rn-1,rn-2,…,r0)是接收矢量,直接计算信息多项式M(x)。第一步,采用硬件电路图4计算出r(x)的时域多项式R(x);第二步,由图5所示硬件电路算出N(x),Λ(x)。即设A-1(x)=(xn-1)xT+1,A0(x)=R(x)xT+1+1,其中
做下列欧几里德除法,
A-1(x)=A0(x)A1(x)+A2(x)
A0(x)=A2(x)A3(x)+A4(x)
A2(x)=A4(x)A5(x)+A6(x)
经过几步之后,得到余式Aj(x)满足degAj(x)≤n,停止递推,得到Aj(x)=N(x)xT+1+Λ(x),于是就得到了N(x),Λ(x)。
第三步,由图6所示的硬件电路实现多项式N(x)除以错误位置多项式Λ(x),得到信息多项式M(x)。
本发明由于采用了直接计算信息多项式的译码方法,因而不仅减少了计算量,且由于该算法与错误个数关系不大,故容易用软件或硬件实现。本发明的硬件电路具有结构简单,运算速度快的优点,适用于高速率场合。
以下结合附图进一步说明本发明编译码器的结构原理。
图1是本发明RS码的频域编码器的电路图。
图2是本发明RS码的译码器结构图。
图3是本发明编译码器中的FFT单元。
图4是译码器中计算R(x)单元的电路图。
图5是译码器中计算N(x),Λ(x)单元的电路图。
图6是译码器中计算M(x)单元的电路图。
图7是译码器中多项式除法单元DIV的电路图,其中A(x)和B(x)是两个一般多项式,A(x)的次数n不低于B(x)的次数m,首项系数分别是an,bm。
图8是计算两个一般多项式A(x)和B(x)相除所得商Q(x)和余式W(x)的电路图。
参照图1,本发明的频域编码器,由多个FFT单元,多个延迟单元T,输入计数器,输出计数器和控制单元组成。FFT单元如图3所示。T是m比特的延迟单元,可以用m个D触发器实现。图1中的Mj表示输入的数据序列,ci是输出的码字分量。Fi是一个输入标志,Fi为高电平时表示输入有效。CLKi是输入时钟。Fo是输出标志,Fo为高电平时表示输出有效。CLKo是输出时钟。
参照图2,本发明的译码器由R(x)单元,N(x),Λ(x)单元,M(x)单元组成。R(x)单元电路如图4所示,其中r(x)是接收矢量多项式,R(x)是其对应的时域多项式,CLKi是输入时钟,Fi为输入标志,Fo为输出标志。图2中的N(x),Λ(x)单元如图5所示,由n-k个除法单元DIV组成。图2中的M(x)单元如图6所示,由k个除法单元DIV组成。一个DIV除法单元的结构如图7所示,由1个乘法器、1个加法器及3个延迟单元构成。
参照图4,译码器中的R(x)单元电路主要由n个FFT单元和多个延迟单元T组成。接收矢量r(x)在输入时钟CLKi的控制下同时进入n个FFT单元,经过n个时钟节拍,得到r(x)的时域多项式R(x)的n个系数Rn-1,Rn-2,…,R0,分别进入n个延迟单元T。
参照图5,译码器中的N(x),Λ(x)单元由n-k个除法单元DIV组成,由R(x)单元得到的R(x)构造多项式R(x)xT+1+1,此多项式与多项式(xn-1)xT+1一起作为欧几里德辗转相除的初始条件,经过计算得到多项式N(x)xT+1+Λ(x),即得到两个多项式N(x),Λ(x)。
参照图6,译码器中的M(x)单元主要由k个除法单元DIV组成,多项式N(x),Λ(x)经过k个除法单元DIV之后,得到它们的商M(x),即信息多项式。
Claims (5)
1.一种RS码的快速译码方法,其特征在于直接计算信息多项式M(x),
步骤如下:
第一步,利用FFT变换计算出接收矢量r(x)的时域多项式R(x);
第二步,利用欧几里德除法计算错误位置多项式A(x)和多项式N(x),其中N(x)=R(x)Λ(x)modxn-1,即设
A-1(x)=(xn-1)xT+1,A0(x)=R(x)xT+1+1,
做下列欧几里德除法,
A-1(x)=A0(x)A1(x)+A2(x)
A0(x)=A2(x)A3(x)+A4(x)
A2(x)=A4(x)A5(x)+A6(x)
....
经过几步之后,得到余式Aj(x)满足deg Aj(x)≤n,停止递推,得到Aj(x)=N(x)xT+1+Λ(x),于是就得到了N(x),A(x);
第三步,用多项式N(x)除以错误位置多项式A(x),得到信息多项式M(x)。
2.一种RS码的快速编译码器,其特征在于:
(1)编码长度为n的RS码编码器主要由多个FFT单元和延迟单元组成,K长的信息序列Mj,j=K-1,...1,0,在输入时钟CLKi的控制下同时进入FFT单元,经过时钟节拍,得到(Mk-1,Mk-2,...,M0)对应的码字(cn-1,cn-2,...,c0),该对应码字先进入多个延迟单元,然后在输出时钟CLKo的控制下输出;
(2)RS码的译码器主要由三个功能单元组成:第一个功能单元利用FFT变换计算时域多项式R(x);第二个功能单元利用欧几里德除法计算N(x),A(x)多项式;第三个功能单元利用多项式除法计算信息多项式M(x);接收矢量多项式r(x)在输入时钟CLKi的控制下输入,依次经过该三个功能单元的计算,最终得到信息多项式M(x),该M(x)在输出时钟CLKo的控制下输出。
3.根据权利要求2所述的编译码器,其特征在于译码器中的时域多项式R(x)主要由FFT单元和迟延单元组成,接收矢量r(x)在输入时钟CLKi的控制下同时进入FFT单元,经过时钟节拍,得到接收矢量r(x)的时域多项式R(x)的系数Rn-1,Rn-2,...,R0,分别进入迟延单元。
5.根据权利要求2所述的编译码器,其特征在于译码器中的M(x)信息多项式主要由除法单元DIV组成,多项式N(x)和错误位置多项式A(x)经过除法单元DIV之后,得到它们的商,即为信息多项式M(x),其中,多项式N(x)=R(x)A(x)modxn-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB991157346A CN1134897C (zh) | 1999-03-19 | 1999-03-19 | 里德-索罗门码的快速译码方法及编译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB991157346A CN1134897C (zh) | 1999-03-19 | 1999-03-19 | 里德-索罗门码的快速译码方法及编译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1267964A CN1267964A (zh) | 2000-09-27 |
CN1134897C true CN1134897C (zh) | 2004-01-14 |
Family
ID=5278651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB991157346A Expired - Fee Related CN1134897C (zh) | 1999-03-19 | 1999-03-19 | 里德-索罗门码的快速译码方法及编译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1134897C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303763C (zh) * | 2003-04-18 | 2007-03-07 | 清华大学 | 用于降低rs码编译码复杂度的方法 |
CN105207683B (zh) * | 2015-09-16 | 2018-10-16 | 电子科技大学 | 一种rs码频域快速译码方法 |
-
1999
- 1999-03-19 CN CNB991157346A patent/CN1134897C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1267964A (zh) | 2000-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5367544A (en) | Data stream frame synchronisation | |
EP0396403B1 (en) | Data stream frame synchronisation | |
US4866716A (en) | Real-time BCH error correction code decoding mechanism | |
US8086941B2 (en) | Computing an error detection code syndrome based on a correction pattern | |
KR100683624B1 (ko) | 가속화된 리드-솔로몬 오류정정 | |
US7788570B1 (en) | Optimized Reed-Solomon decoder | |
US5642366A (en) | Global parity symbol for interleaved reed-solomon coded data | |
US4703485A (en) | Method and apparatus for computing and implementing error detection check bytes | |
JP2003529233A (ja) | データを符号化及び復号化する方法及び装置 | |
US8201061B2 (en) | Decoding error correction codes using a modular single recursion implementation | |
US5889792A (en) | Method and apparatus for generating syndromes associated with a block of data that employs re-encoding the block of data | |
CN1113474C (zh) | Crc/edc校验器系统和方法 | |
CN110908827A (zh) | 用于NAND Flash闪存纠错的并行BCH解码方法 | |
CN101442313B (zh) | 数字通信过程中的编解码方法以及编码器、解码器 | |
EP1102406A2 (en) | Apparatus and method for decoding digital data | |
EP0438907A2 (en) | Improved error trapping decoding method and apparatus | |
CN1134897C (zh) | 里德-索罗门码的快速译码方法及编译码器 | |
US6735737B2 (en) | Error correction structures and methods | |
US8645807B2 (en) | Apparatus and method of processing polynomials | |
US20030192005A1 (en) | Method and apparatus for error detection | |
JPH08293802A (ja) | インターリーブ式誤り訂正方法 | |
Deshmukh et al. | DESIGN OF REED SOLOMON FORWARD ERROR CORRECTION (RSFEC) AND DEVELOPMENT OF VERIFICATION MODEL | |
JPS638984Y2 (zh) | ||
JP2553571B2 (ja) | ガロア体演算装置 | |
RU2282307C2 (ru) | Способ синдромного декодирования для сверточных кодов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |