CN103595423A - 一种Reed-Solomon码纠错方法 - Google Patents
一种Reed-Solomon码纠错方法 Download PDFInfo
- Publication number
- CN103595423A CN103595423A CN201310578455.7A CN201310578455A CN103595423A CN 103595423 A CN103595423 A CN 103595423A CN 201310578455 A CN201310578455 A CN 201310578455A CN 103595423 A CN103595423 A CN 103595423A
- Authority
- CN
- China
- Prior art keywords
- error correction
- coefficient
- error
- reed
- syndrome
- 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
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种Reed-Solomon码纠错方法,该方法包括:将接收码元序列在GF(2m)域上进行提升小波变换;对小波变换序列不同层数中的系数求其伴随式,对每层分解系数进行纠错;通过对分层后的系数伴随式的阶数进行评估选取获取方法,得到错误位置多项式;求解错误位置多项式的根,得到错误位置;求解错误位置的错误值;将错误值与输入码元异或,得到小波域中的纠正码元,然后进行信号重构,得到正确的码流。本方法能够有效简化传统算法中复杂的计算步骤。同时,在计算过程中加入多重判断规则,使其能够自适应选择求解方程的方法从而提高纠错率。本方法已在相关领域进行大量的实验,结果表明:本方法计算复杂度低,计算时间短,纠错率高。
Description
技术领域
本发明涉及Reed-Solomon(里德所罗门)码领域,特别涉及一种Reed-Solomon码纠错方法。
背景技术
信道码元在快速传输过程中难免会夹杂入噪声,使得到的信息有误,因此对其纠错就极为重要。研究者在输入码中加入冗余校验码元来达到纠错的目的,以保证传输的正确性。Reed-Solomon码[1]是此类纠错码的典型代表。Reed-Solomon码首先由Reed和Solomon应用Mattson-Solomon多项式于1960年构造出来,是一类具有很强纠错能力的多进制线性分组码,具有纠正随机错误和突发错误,以及在较中短码长的条件下纠错能力接近于理论值等特点,被广泛应用于数字信号传输、深空通讯、高密度磁盘存储和量子计算[2]等多方面。
Reed-Solomon码的纠错方法由求解伴随式、求解错误位置、求解错误值等步骤组成,其中关键技术在于如何求解错误位置多项式。
目前,Reed-Solomon码纠错技术主要有三:
现有技术1使用PGZ方法[3]纠错,它使用穷举法求解错误位置多项式,方法实现简单,易于理解,对于较短的码非常有效。但耗时较长,不适合维数较高的方程求解。
现有技术2的欧几里得算法[4]在计算过程中采用多项式分解的原理来求解错误位置多项式的最大公因式,因此需要多次进行多项式的长除。迭代过程中需要计算多项式的次数,消耗大量的时间,延长纠错周期,影响纠错的速度,计算方法易陷入不收敛,纠错率较低。
现有技术3由Truong T K等[5]人提出。为提高纠错的效率,他们提出使用变换译码的方法进行纠错,将输入码变换至频域,使用离散傅里叶变换的特性求解复杂的方程式,在GF(2m)域上通过进行高效的离散傅里叶变换来计算错误位置多项式,但算法复杂度高的问题依然存在。
发明内容
本发明提供了一种Reed-Solomon码纠错方法,本发明缩短了计算时间,降低了计算复杂度,提高了纠错率的精度,详见下文描述:
一种Reed-Solomon码纠错方法,所述方法包括以下步骤:
(1)将接收码元序列在GF(2m)域上进行提升小波变换,GF表示伽罗华域,2m是伽罗华域中的码元长度;
(2)对小波变换序列不同层数中的系数求其伴随式Sj,对每层分解系数进行纠错;
(3)通过对分层后的系数伴随式的阶数进行评估选取获取方法,得到错误位置多项式;
(4)求解错误位置多项式σ(p)的根,得到错误位置pj;
(5)求解错误位置的错误值Yj;
(6)将错误值Yj与输入码元异或,得到小波域中的纠正码元,然后进行信号重构,得到正确的码流。
所述将接收码元序列在GF(2m)域上进行提升小波变换的操作具体为:
进行提升小波变换后得到的变换结果为{cj-n,dj-n,dj-n-1,...,d1},n为分解层数,c为提升小波变换后的低频分量,d为提升小波变换后的高频分量,j为变量,其取值范围为n至0;每分解一层需判断分解后的系数个数,若分解系数的个数大于总数的1/3,则继续分解。
所述对小波变换序列不同层数中的系数求其伴随式Sj,对每层分解系数进行纠错的操作具体为:
①计算qk伴随式的行列式值|Sk|,q为提升小波分解后各系数的替代标记;
②若|Sk|≠0,则记录该层纠正的错误tk,执行步骤③;若|Sk|=0,k=k+1后,再重新执行步骤①;
③若∑tk=t,则结束纠错,否则k=k+1;t为最大纠错数,tk为每层分解系数对应的纠错个数。
所述通过对分层后的系数伴随式的阶数进行评估选取获取方法的操作具体为:
所述求解错误位置多项式σ(p)的根,得到错误位置pj的操作具体为:
本发明提供的技术方案的有益效果是:本方法针对现有技术中计算时间长,计算复杂度高,纠错率低等的不足,提出了基于提升小波变换的Reed-Solomon码的纠错算法,它本质是将复杂的求解过程转化到小波域,将Reed-Solomon码的数字序列进行提升小波域变换,并配合搜索规则来定位数字序列中码元的错误位置,进而修改误码,从数据源头降低求解错误位置多项式的维数,达到降低计算量和复杂度的目的,能够有效简化传统算法中复杂的计算步骤。同时,在计算过程中加入多重判断规则,使其能够自适应选择求解方程的方法从而提高纠错率。本方法已在相关领域,例如:二维码纠错、AWGN信道误码率的降低等进行大量的实验,结果表明:本方法计算复杂度低,计算时间短,纠错率高。
附图说明
图1为一种Reed-Solomon码纠错方法的流程图;
图2为判断规则图;
图3(a)是被污染的二维条码及实施本发明的纠错复原图,图3(b)是光照不均的二维码图像及实施本发明的纠错复原图;
图4(a)和图4(b)是误码率比较结果图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了缩短计算时间,降低计算复杂度,提高纠错率的精度,本发明实施例提供了一种Reed-Solomon码纠错方法,参见图1,详见下文描述:
101:将接收码元序列在GF(2m)域上进行提升小波变换;
其中,GF表示伽罗华域,2m是伽罗华域中的码元长度,进行提升小波变换后得到的变换结果为{cj-n,dj-n,dj-n-1,...,d1},n为分解层数,c为提升小波变换后的低频分量,d为提升小波变换后的高频分量,j为变量取值范围为n至0。每分解一层需判断分解后的系数个数,若分解系数的个数大于总数1/3,则继续分解,进一步降低维数,减少计算量。该步骤的具体操作为本领域技术人员所共知,本发明实施例对此不做赘述。
在保证不降低纠错率的前提下,采用提升小波分解能够将计算复杂度由O(m2)最低降低至从而节省计算时间。
102:对小波变换序列不同层数中的系数求其伴随式Sj,对每层分解系数进行纠错;
记{cj-n,dj-n,dj-n-1,...,d1}={qk,k=1,2,...,n+1},q为提升小波分解后各系数的替代标记,每层分解系数对应的纠错个数为tk,计算过程中加入判断机制(图2):
①计算qk伴随式的行列式值|Sk|(初值k=1);
②若|Sk|≠0,则记录该层纠正的错误tk,执行步骤③;若|Sk|=0,k=k+1后,再重新执行步骤①;
③若∑tk=t(t为最大纠错数),则结束纠错;否则k=k+1;
即当|Sk|=0时,表示该层分解的系数没有错误,k=k+1,进行下一次判断,直到所有的|Sk|均为0,则该码元序列没有错误,流程结束。
即当|Sk|≠0时,表示该层分解的系数有错误,需对其进行纠错。
103:通过对分层后的系数伴随式的阶数进行评估选取获取方法,得到错误位置多项式;
具体实现时,直接求解伴随式是比较困难的,因此需要先假设存在一个错误位置多项式σ(p)=σ0+σ1p+σ2p2+...+σtpt,(σ0=1),方程σ(p)=0,以所有的错误位置为根,求出多项式系数σ1,σ2,...,σt,就得到错误位置多项式。
其中,St……S2t为伴随式的值。可通过求解(1)中的方程组解来计算σ(p)的系数。本方法首先对分层后的系数伴随式的阶数进行评估,当阶数小于次时,可采用直接求解的方式求解系数,即采用PGZ算法利用穷举法来求解,计算过程简单、高效;而当阶数较高时则要使用BM算法迭代,规避PGZ算法的缺点。
BM算法[6]迭代求解错误位置多项式,其基本原理是利用自回归滤波原理迭代求解最小反馈错误位置多项式σ(p),迭代法简单计算过程是:先设一组初值σ0(p),一次迭代后用σ0(p)来表示σ1(p);同理,进行第二次迭代,求出σ2(p);依次类推,直到求出σj+1(p)。
104:求解错误位置多项式σ(p)的根,得到错误位置pj;
105:求解错误位置的错误值Yj;
106:将错误值Yj与输入码元异或,得到小波域中的纠正码元,然后进行信号重构,得到正确的码流。
综上,本发明使用提升小波变换对输入码进行分解,降低伴随式计算的维数,简化计算过程,减少伴随式的计算,从输入码源头简化计算流程,达到减少计算时间和降低计算复杂度的目的。在计算错误多项式中加入判断评价机制,从而得到自适应的算法调用过程,为长度不同的码元序列使用不同的求解方法,在一定程度上减少了计算时间,提高了计算效率。
下面以具体的实例来验证本方法的可行性,详见下文描述:
1 二维码纠错举例
二维条码长期暴露于印刷品表面和复杂的工况当中,很容易受到污损破坏。为了达到预期的识别效果,除了要设计合理条码结构外,还需要采用纠错能力强的纠错算法进行纠错。因此,二维条码采用Reed-Solomon码(下文中均用RS替代)进行编码、译码和纠错。本方法将提出的新方法应用于二维条码纠错中,举例如下:
附图3(a)为被墨迹污染的二维条码图像,其条码区域大小为22×22,接收码中含有12个错误码元,在域GF(29)中对RS(511,484,12)码分别使用本方法、基于DFT变换的算法以及传统的BM迭代算法对条码中的错误码元进行纠错,实验结果如表1所示。
附图3(b)为非均匀光照下二维条码二值化图像,由于光照不均,条码区域出现模糊和缺损,共出现了24个错误。分别使用本方法、基于DFT变换的算法以及传统的BM算法对二维条码接收码在域GF(28)中对RS(255,201,27)码对条码中的错误码元进行纠错,实验如表2所示。
表1 附图3(a)相关算法性能比较
表2 附图3(b)相关算法性能比较
实验数据表明,本方法在计算时间和计算复杂度以及纠错率等方面优于其它两种方法。本方法采用提升小波变换对输入码进行分解变换,在一定程度上减少了纠错算法的计算维数,降低了计算时间和复杂度,与BM算法和DFT算法相比,计算时间上提高一个数量级。而对于纠错率来说,由于BM迭代算法本身的缺陷未能将错误全部纠出,在此方面本方法略胜一筹。而傅里叶变换的方法在转向频域时,输入码有所亏损,使得能够纠错的码元减少,因此未能纠正所有的错误。
2 AWGN信道中RS码纠错算法对比
实验数据取自AWGN[7](Additive White Gaussian Noise)加性高斯白噪声信道,调制方式为BPSK调制,使用RS码对信号进行纠错,从而降低信号的误码率(γb为信噪比))。实验分别对RS(7,3,2)和RS(15,9,3)两组RS码进行误码率比较(图4(a)、(b))。
附图4的实验结果表明,将本方法和DFT算法分别应用于RS(7,3,2)和RS(15,9,3)两组RS码时,与DFT算法和原信道相比,本方法在1~8dB的信噪比范围内,降低了AWGN信道内的误码率,提高数据传输效率,为信号的可靠性传输提供保障。
参考文献
[1]I.S.Reed and G.Solomon.Journal of the Society for Industrial and Applied Mathematics Vol.8,No.2(Jun.,1960),pp.300-304
[2]R.E.Blahut.Theory and Practice of Error Control Codes.Reading,MA:Addison-Wesley,1983.
[3]Paola Boito.Tesi/Theses.The Euclidean algorithm[J].Structured Matrix Based Methods forApproximate Polynomial,2009,V15(1):45-58
[4]E.R.Berlekamp.Algebraic Coding Theory.New York:McGraw-Hill,1968.
[5]T.K.Truong,P.D.Chen,L.J.Wang,I.S.Reed,and Y.Chang.“Fast,prime factor,discreteFourier transform algorithms over GF(2m)for8≤m≤10,”Inform.Sciences,vol.176,no.1,pp.1-26,Jan.2006.
[6]Y.Wang and X.Zhu.“A fast algorithm for the Fourier transform over finite fields and itsVLSI implementation,”IEEE J.Select.Areas Commun.,vol.6,no.3,pp.572-577,Apr.1988.
[7]沈明峰,许宗泽.AWGN信道中二维扩展频谱系统的误码率分析[J].南京航空航天大学学报,395-398,vol.04,2003.
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种Reed-Solomon码纠错方法,其特征在于,所述方法包括以下步骤:
(1)将接收码元序列在GF(2m)域上进行提升小波变换,GF表示伽罗华域,2m是伽罗华域中的码元长度;
(2)对小波变换序列不同层数中的系数求其伴随式Sj,对每层分解系数进行纠错;
(3)通过对分层后的系数伴随式的阶数进行评估选取获取方法,得到错误位置多项式;
(4)求解错误位置多项式σ(p)的根,得到错误位置pj;
(5)求解错误位置的错误值Yj;
(6)将错误值Yj与输入码元异或,得到小波域中的纠正码元,然后进行信号重构,得到正确的码流。
2.根据权利要求1所述的一种Reed-Solomon码纠错方法,其特征在于,所述将接收码元序列在GF(2m)域上进行提升小波变换的操作具体为:
进行提升小波变换后得到的变换结果为{cj-n,dj-n,dj-n-1,...,d1},n为分解层数,c为提升小波变换后的低频分量,d为提升小波变换后的高频分量,j为变量,其取值范围为n至0;每分解一层需判断分解后系数个数,若分解系数的个数大于总数1/3,则继续分解。
3.根据权利要求2所述的一种Reed-Solomon码纠错方法,其特征在于,所述对小波变换序列不同层数中的系数求其伴随式Sj,对每层分解系数进行纠错的操作具体为:
①计算qk伴随式的行列式值|Sk|,q为提升小波分解后各系数的替代标记;
②若|Sk|≠0,则记录该层纠正的错误tk,执行步骤③;若|Sk|=0,k=k+1后,再重新执行步骤①;
③若∑tk=t,则结束纠错,否则k=k+1;t为最大纠错数,tk为每层分解系数对应的纠错个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310578455.7A CN103595423B (zh) | 2013-11-14 | 2013-11-14 | 一种Reed‑Solomon码纠错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310578455.7A CN103595423B (zh) | 2013-11-14 | 2013-11-14 | 一种Reed‑Solomon码纠错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103595423A true CN103595423A (zh) | 2014-02-19 |
CN103595423B CN103595423B (zh) | 2017-04-19 |
Family
ID=50085427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310578455.7A Expired - Fee Related CN103595423B (zh) | 2013-11-14 | 2013-11-14 | 一种Reed‑Solomon码纠错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103595423B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944584A (zh) * | 2014-04-24 | 2014-07-23 | 胡建国 | 一种二维码译码的方法及其装置 |
CN104202056A (zh) * | 2014-04-02 | 2014-12-10 | 胡建国 | 一种二维码纠错译码的方法及二维码装置 |
CN108512555A (zh) * | 2018-03-13 | 2018-09-07 | 中国工程物理研究院电子工程研究所 | 一种系统rs码阶数及本原多项式的识别方法 |
CN111209988A (zh) * | 2019-12-27 | 2020-05-29 | 宁波深寻信息科技有限公司 | 一种基于可识别彩色图形的大数据共享系统的管理方法 |
TWI783895B (zh) * | 2022-04-01 | 2022-11-11 | 國立勤益科技大學 | 隨機式rs碼之qr碼驗証系統及方法 |
CN115632666A (zh) * | 2022-09-30 | 2023-01-20 | 电子科技大学 | 一种新型的可纠正删除和插入错误的rs码译码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353634B1 (en) * | 1998-12-17 | 2002-03-05 | The United States Of America As Represented By The Secretary Of The Navy | Video decoder using bi-orthogonal wavelet coding |
CN101583031A (zh) * | 2009-06-26 | 2009-11-18 | 西安电子科技大学 | 基于小波的图像压缩传输方法 |
CN103177281A (zh) * | 2013-04-12 | 2013-06-26 | 江苏圆坤二维码研究院有限公司 | 一种二维码的编码方法 |
-
2013
- 2013-11-14 CN CN201310578455.7A patent/CN103595423B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353634B1 (en) * | 1998-12-17 | 2002-03-05 | The United States Of America As Represented By The Secretary Of The Navy | Video decoder using bi-orthogonal wavelet coding |
CN101583031A (zh) * | 2009-06-26 | 2009-11-18 | 西安电子科技大学 | 基于小波的图像压缩传输方法 |
CN103177281A (zh) * | 2013-04-12 | 2013-06-26 | 江苏圆坤二维码研究院有限公司 | 一种二维码的编码方法 |
Non-Patent Citations (1)
Title |
---|
FARAMARZ FEKRI ET AL.: "Block error correcting codes using finite-field wavelet transforms", 《IEEE TRANSACTIONS ON SIGNAL PROCESSING 》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202056A (zh) * | 2014-04-02 | 2014-12-10 | 胡建国 | 一种二维码纠错译码的方法及二维码装置 |
CN104202056B (zh) * | 2014-04-02 | 2017-10-31 | 胡建国 | 一种二维码纠错译码的方法及二维码装置 |
CN103944584A (zh) * | 2014-04-24 | 2014-07-23 | 胡建国 | 一种二维码译码的方法及其装置 |
CN108512555A (zh) * | 2018-03-13 | 2018-09-07 | 中国工程物理研究院电子工程研究所 | 一种系统rs码阶数及本原多项式的识别方法 |
CN108512555B (zh) * | 2018-03-13 | 2021-09-24 | 中国工程物理研究院电子工程研究所 | 一种系统rs码阶数及本原多项式的识别方法 |
CN111209988A (zh) * | 2019-12-27 | 2020-05-29 | 宁波深寻信息科技有限公司 | 一种基于可识别彩色图形的大数据共享系统的管理方法 |
CN111209988B (zh) * | 2019-12-27 | 2023-05-09 | 宁波深寻信息科技有限公司 | 一种基于可识别彩色图形的大数据共享系统的管理方法 |
TWI783895B (zh) * | 2022-04-01 | 2022-11-11 | 國立勤益科技大學 | 隨機式rs碼之qr碼驗証系統及方法 |
CN115632666A (zh) * | 2022-09-30 | 2023-01-20 | 电子科技大学 | 一种新型的可纠正删除和插入错误的rs码译码方法 |
CN115632666B (zh) * | 2022-09-30 | 2023-11-03 | 电子科技大学 | 一种新型的可纠正删除和插入错误的rs码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103595423B (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103595423A (zh) | 一种Reed-Solomon码纠错方法 | |
CN101924565B (zh) | Ldpc编码器、解码器、系统及方法 | |
US8176383B2 (en) | Method of constructing low density parity check code, method of decoding the same and transmission system for the same | |
US11544612B2 (en) | Memory system using a quantum convolutional code | |
US8539304B1 (en) | Parallel encoder for low-density parity-check (LDPC) codes | |
EP3659261A2 (en) | Encoder, decoder and transmitter | |
CN101405944B (zh) | 一种ldpc码的纠删译码方法及系统 | |
US11128317B2 (en) | Method for transmitting additional information by using linear block codes | |
EP3476052A1 (en) | Coding and decoding of polar codes extended to lengths which are not powers of two | |
JP2004032737A (ja) | リード−ソロモン復号器 | |
US9537508B1 (en) | Systems and methods for decoding cascade LDPC codes | |
CN1973440A (zh) | Ldpc编码器、解码器、系统及方法 | |
CN108292925A (zh) | 通过使用m阶GEL码对数据进行编码/解码的方法与设备 | |
Matuz et al. | Low-rate non-binary LDPC codes for coherent and blockwise non-coherent AWGN channels | |
US7398456B2 (en) | Information encoding by shortened Reed-Solomon codes | |
Han et al. | On fast Fourier transform-based decoding of Reed-Solomon codes | |
Heloir et al. | Stochastic chase decoder for reed-solomon codes | |
US9524206B2 (en) | Decoding device and error detection method | |
US9236890B1 (en) | Decoding a super-code using joint decoding of underlying component codes | |
Bardis et al. | Efficient burst error correction method for application in low frequency channels and data storage units | |
KR20170130139A (ko) | 수신 장치 및 그의 디코딩 방법 | |
US9985661B1 (en) | Reed-Solomon erasure code decoder | |
Qamar et al. | An efficient encoding algorithm for (n, k) binary cyclic codes | |
Morita et al. | Two-dimensional Lee-error-correcting codes on hexagonal signal constellations | |
James et al. | Multiple error correction using non-binary Redundant Residue Number System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170419 Termination date: 20201114 |
|
CF01 | Termination of patent right due to non-payment of annual fee |