CN101414832A - 里得-索罗门解码中有效率的陈氏寻根方法及系统 - Google Patents
里得-索罗门解码中有效率的陈氏寻根方法及系统 Download PDFInfo
- Publication number
- CN101414832A CN101414832A CNA2007101625861A CN200710162586A CN101414832A CN 101414832 A CN101414832 A CN 101414832A CN A2007101625861 A CNA2007101625861 A CN A2007101625861A CN 200710162586 A CN200710162586 A CN 200710162586A CN 101414832 A CN101414832 A CN 101414832A
- Authority
- CN
- China
- Prior art keywords
- roots
- mismark
- efficient
- looking
- chen shi
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
一种里得-索罗门解码中有效率的陈氏寻根方法,适用于在一具有平行处理指令集的处理器上执行,该方法包含下列步骤:(a)若已求出的一错误位置多项式符合一预设条件,则以查表方式直接对应出至少一错误符号位置;(b)若该错误位置多项式不符合该预设条件,则执行步骤(c)-(e);(c)计算一错误评估值;(d)若该错误评估值等于0,则将该错误符号位置存储至一错误位置存储器;及(e)若该错误评估值不等于0,则回到步骤(c)。
Description
技术领域
本发明涉及一种里得-索罗门(Reed-Solomon)解码中的陈氏寻根(ChienSearch)技术,特别是核计一种里得-索罗门解码中使用查表方式直接对应出错误符号位置以提升效能的陈氏寻根方法及系统。
背景技术
近年来,从消费性电子产品到通信电子产品,对于信号传送的可靠度的需求日渐殷切;因此,错误检测更正机制也日益重要。在数字通信过程中,传送端为了确保欲传送的原始数据的正确性,一般而言,会对原始数据附加冗余数据(Redundant Data),而接收端即可根据此冗余数据进行错误校正;其中以里得-索罗门码最为常见。也由于里得-索罗门码对于传输通道中所产生的错误有很好的更正能力,故成为非常受欢迎的信道编码(Channel Coding)方式之一,且目前已为卫星通信系统、数字电视系统、各式数字影音记录媒体等所广泛使用的错误更正码(Error Correction Code)。
尽管里得-索罗门码在错误更正方面有相当优异的效能表现,但其解码所需的运算量十分庞大,所以通常会以硬件的方式来计算处理;若要以程序解码的方式在处理器上执行,势必会遭遇到运算量过于庞大而导致解码速度过于缓慢的问题;故在一些由软件定义作业(像是,软件无线电(SoftwareDefined Radio,SDR))的通信装置的应用上,加速里得-索罗门码的程序解码速度已然成为一项重要的研究课题。
参阅图1,现有的里得-索罗门解码程序可分为四个阶段,分别如阶段11、12、13,及14所示:故障(Syndrome)计算、错误位置多项式(Error LocationPolynomial)计算、陈氏寻根(Chien Search),及错误值(ErrorValue)计算。在此里得-索罗门解码程序中,将近40%的运算量是集中在阶段13的陈氏寻根,若能有效降低陈氏寻根的处理时间,即可成功地加速里得-索罗门码的解码速度。
参阅图2,一现有的里得-索罗门解码中的陈氏寻根方法包含下列步骤。在步骤21中,初始化一位置索引,j=0;以及一符号(Symbol)索引,i=0。在步骤22中,计算一错误评估值Λ(αi)。在步骤23中,判断该错误评估值Λ(αi)是否等于0;若是,则代表第i个位置的符号有错误发生,需进行步骤24的处理;否则,继续进行步骤26的处理。在步骤24~25中,先将目前的符号索引i存储至一错误位置数组,Location[j]=i;继而增加该位置索引,j=j+1。在步骤26~27中,判断陈氏寻根是否已完成,即,判断是否i=n-1;若是,则结束陈氏寻根;否则,增加该符号索引,i=i+1,并回到上述步骤重复执行。其中,n代表已接收的一里得-索罗门区块码(Block Code)的一符号(Symbol)总数。其中,计算该错误评估值Λ(αi)所需的有限场乘法、有限场加法,及后续的比较判断处理,皆属十分耗时的运算。
另一现有的里得-索罗门解码中的陈氏寻根方法,如美国专利公告号US6,263,470中所揭露,主要是以查表(Look-up Table)方式,自一预先定义的有限场乘法结果表中,对应出计算该错误评估值Λ(αi)时所需的有限场乘法结果,以降低上述步骤22所需的时间;但,该现有方法仅降低有限场乘法运算的时间,其余如有限场加法及后续的比较判断处理仍需执行,故,尚有待改进的空间。
因此,有必要寻求一解决之道,使得陈氏寻根的处理时间更进一步地降低,而加速里得-索罗门码的解码速度。
发明内容
因此,本发明的目的,即在提供一种里得-索罗门解码中有效率的陈氏寻根方法,适用于在一具有平行处理指令集(Parallel Processing Instruction Set)的处理器上执行。
于是,本发明里得-索罗门解码中有效率的陈氏寻根方法是包含下列步骤:(a)若已求出的一错误位置多项式符合一预设条件,则以查表方式直接对应出至少一错误符号位置;(b)若该错误位置多项式不符合该预设条件,则执行步骤(c)~(e);(c)计算一错误评估值;(d)若该错误评估值等于0,则将该错误符号位置存储至一错误位置存储器;及(e)若该错误评估值不等于0,则回到步骤(c)。
本发明的另一目的,即在提供一种有效率的陈氏寻根系统,适用于在一具有平行处理指令集的处理器上进行陈氏寻根。
于是,本发明有效率的陈氏寻根系统包含一第一判断模块、一查表模块、一错误评估模块、一第二判断模块,及一存储器写入模块。该第一判断模块用以判断已求出的一错误位置多项式是否符合一预设条件。该查表模块用以利用查表方式直接对应出至少一错误符号位置。该错误评估模块用以计算一错误评估值。该第二判断模块用以判断该错误评估值是否等于0。该存储器写入模块用以将该错误符号位置存储至一错误位置存储器。
本发明是藉由查表方式直接对应出该错误符号位置,使得陈氏寻根的处理时间更进一步地降低,而加速里得-索罗门码的解码速度,的确可达到本发明的目的。
附图说明
图1是一结构图,说明一里得-索罗门码的解码程序;
图2是一流程图,说明现有的里得-索罗门解码中的陈氏寻根方法;
图3是一系统方块图,说明本发明里得-索罗门解码中有效率的陈氏寻根系统的较佳实施例;
图4是一流程图,说明本发明里得-索罗门解码中有效率的陈氏寻根方法的较佳实施例;
图5是一示意图,说明一第一错误位置表及一第二错误位置表;及
图6是一统计图,说明有错误产生的符号数目的机率分布。
附图符号说明
11~14:阶段
21~27:步骤
3:陈氏寻根系统
31:第一判断模块
32:查表模块
33:第一错误位置表
34:第二错误位置表
35:错误评估模块
36:第二判断模块
37:存储器写入模块
411~421:步骤。
具体实施方式
有关本发明的前述及其它技术内容、特点与功效,在以下配合参考附图的一个较佳实施例的详细说明中,将可清楚的呈现。
回顾图1,里得-索罗门解码程序包含四个阶段11、12、13,及14。在阶段11中,故障计算的目的是为了判断接收到的信号是否已受到噪声(Noise)的污染;若故障的计算结果为0,代表信号未受噪声污染(即,接收到的信号正确);否则,就必需继续进行阶段12~14的处理。在阶段12中,利用柏力肯-梅西算法(Berlekamp-Massey Algorithm),以计算出一错误位置多项式。在阶段13中,根据该错误位置多项式进行陈氏寻根,以求出至少一错误符号位置。在阶段14中,求出至少一错误值,最后在适当的错误符号位置减去错误值,以还原出正确信号。
一般而言,一里得-索罗门区块码的设计都是以Reed-Solomon(n,k)来表示,n代表经过编码后每个区块(Block)的符号总数,k代表每个区块被编码的原始信息符号(Message Symbol)数目,且t=(n-k)/2,t代表至多可校正的错误数目。以欧规DVB(Digital Video Broadcasting)系统为例,其采用的为Reed-Solomon(204,188),即,该里得-索罗门区块码内总共有204个符号、被编码的原始信息符号数目为188,且至多可校正8个错误。
假设接收到的该里得-索罗门区块码如表示式(1)所示。
r=r0+r1+r2+...+ri+...+rn-1 (1)
其中,i为一符号索引,ri代表该里得-索罗门区块码中第i个符号。
经过柏力肯-梅西算法可求出有错误产生的符号的数量以及一错误位置多项式,假设有错误产生的符号共有d个(即,该错误位置多项式的长度为d),则计算出的错误位置多项式,如表示式(2)所示。
Λ(αi)=λ0+λ1αi+λ2α2i+λ3α3i+…+λdαdi (2)
其中,d≤t。
对于每一个符号ri计算对应的错误评估值Λ(αi),其计算公式如表示式(3)所示。
Λ(α0)=λ0+λ1α0+λ2α0+λ3α0+…+λdα0
Λ(α1)=λ0+λ1α1+λ2α2+λ3α3+…+λdαd
Λ(αn-1)=λ0+λ1αn-1+λ2α2n-2+λ3α3n-3+…+λdαd(n-1) (3)
若计算出的Λ(αi)为0,则表示符号ri有错误产生;否则,表示符号ri正确无误。
由于里得-索罗门码的编码/解码原理及其有限场运算乃建构于迦罗瓦场(Galois Field)GF(2m),2m代表迦罗瓦场中对应的元素总数。在本说明书中,表示式(3)内错误评估值Λ(αi)的有限场运算为迦罗瓦场运算。
参阅图3,本发明里得-索罗门解码中有效率的陈氏寻根系统3的较佳实施例,包含一第一判断模块31、一查表模块32、一第一错误位置表33、一第二错误位置表34、一错误评估模块35、一第二判断模块36,及一存储器写入模块37。该第一判断模块31用以判断已求出的该错误位置多项式是否符合一预设条件。该查表模块32用以利用查表方式直接对应出至少一错误符号位置。该错误评估模块35用以计算该错误评估值。该第二判断模块36用以判断该错误评估值是否等于0。该存储器写入模块37用以将该错误符号位置存储至一错误位置存储器。该系统3及其各模块可藉由软件程序而完成,当其加载至一具有平行处理指令集的处理器上,可用以执行本发明里得-索罗门解码中有效率的陈氏寻根方法。
在本较佳实施例中,该方法是在具有SSE2指令集的x86处理器上执行,但该方法亦可在其它具有类似的平行处理指令集的数字信号处理器(DSP)、通用处理器(General Purpose Processor)、或中央处理单元(CPU)上执行,所以,本发明的实施并非受限于本较佳实施例的例示。
本发明里得-索罗门解码中有效率的陈氏寻根方法包含下列步骤。
参阅图5,在进行以下步骤之前,需预先建立该第一错误位置表33及该第二错误位置表34。
假设长度为1的错误位置多项式(即,d=1,错误符号位置的数目为1)表示为:Λ(αi)=λ0,其中,λ0∈GF(2m);该第一错误位置表33的内容为:P(k),且0≤k<2m,P(k)代表λ0=k所预先求出的该错误符号位置。假设长度为2的错误位置多项式(即,d=2,错误符号位置的数目为2)表示为:
Λ(αi)=λ0+λ1αi,其中,λ0,λ1∈GF(2m);该第二错误位置表34的内容为:P0(k0,k1)及P1(k0,k1),且0≤k0,k1<2m,P0(k0,k1)及P1(k0,k1)代表λ0=k0,λ1=k1所预先求出的该二个错误符号位置。
一般而言,我们所处理的符号大都假设为8位的大小,若m设定为8,则λ0,λ1∈GF(28)=GF(256)={0,1,2,…,255},该第一错误位置表33及该第二错误位置表34分别为:28字节及28×28×2字节。
参阅图3、图4与图5,在步骤411~412中,该第一判断模块31判断该错误位置多项式的长度d是否等于一第一默认值(在本较佳实施例中,该第一默认值为1),若是,则该查表模块32自该第一错误位置表33直接对应出该错误符号位置P(k),并结束陈氏寻根;否则,继续进行步骤413。
在步骤413~414中,该第一判断模块31判断该错误位置多项式的长度d是否等于一第二默认值(在本较佳实施例中,该第二默认值为2),若是,则该查表模块32自该第二错误位置表34直接对应出该二个错误符号位置P0(k0,k1)及P1(k0,k1),并结束陈氏寻根;否则,继续进行步骤415。
步骤415~421如同现有陈氏寻根方法的步骤,简要叙述如下。
在步骤415中,该陈氏寻根系统3初始化一位置索引,j=0;以及该符号索引,i=0。
在步骤416中,该错误评估模块35计算该错误评估值Λ(αi)。
在步骤417中,该第二判断模块36判断该错误评估值Λ(αi)是否等于0;若是,则代表第i个位置的符号有错误发生,需进行步骤418的处理;否则,继续进行步骤420的处理。
在步骤418~419中,先将目前的符号索引i(即,该错误符号位置)存储至一错误位置存储器,Location[j]=i;继而增加该位置索引,j=j+1。
在步骤420~421中,判断陈氏寻根是否已完成,即,判断是否i=n-1;若是,则结束陈氏寻根;否则,增加该符号索引,i=i+1,并回到步骤416。
参阅图5与图6,以欧规DVB系统为例,有错误产生的符号数目为1及2的机率将近90%,意指所接收的里得-索罗门区块码,近乎90%可利用查找该第一错误位置表33及该第二错误位置表34直接对应出错误符号位置。
归纳上述,藉由本发明,约有90%的里得-索罗门区块码可利用查表方式直接对应出错误符号位置,仅有约10%的里得-索罗门区块码需进行耗时的有限场乘法、有限场加法,及后续的比较判断处理。因此,进一步降低了陈氏寻根的处理时间,成功地加速里得-索罗门码的解码速度,的确可以达成本发明的目的。
惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。
Claims (14)
1.一种里得-索罗门解码中有效率的陈氏寻根方法,适用于在一具有平行处理指令集的处理器上执行,该方法包含下列步骤:
(a)若已求出的一错误位置多项式符合一预设条件,则以查表方式直接对应出至少一错误符号位置;
(b)若该错误位置多项式不符合该预设条件,则执行步骤(c)-(e);
(c)计算一错误评估值;
(d)若该错误评估值等于0,则将该错误符号位置存储至一错误位置存储器;及
(e)若该错误评估值不等于0,则回到步骤(c)。
2.如权利要求1所述的里得-索罗门解碼中有效率的陈氏寻根方法,其中,该步骤(a)包括一子步骤(a-1):
(a-1)若该错误位置多项式的长度等于一第一默认值,则查找预先建立的一第一错误位置表,以对应出该错误符号位置,其中,该错误符号位置的数目等于该第一默认值。
3.如权利要求2所述的里得-索罗门解码中有效率的陈氏寻根方法,其中,该步骤(a-1)的该第一默认值为1。
4.如权利要求3所述的里得-索罗门解码中有效率的陈氏寻根方法,其中,假设长度为1的错误位置多项式表示为:Λ(αi)=λ0,λ0∈GF(2m),2m代表迦罗瓦场中对应的元素总数,该步骤(a-1)的该第一错误位置表的内容为:P(k),且0≤k<2m,P(k)代表λ0=k所预先求出的该错误符号位置。
5.如权利要求2所述的里得-索罗门解码中有效率的陈氏寻根方法,其中,该步骤(a)更包括一子步骤(a-2):
(a-2)若该错误位置多项式的长度等于一第二默认值,则查找预先建立的一第二错误位置表以对应出该错误符号位置,其中,该错误符号位置的数目等于该第二默认值。
6.如权利要求5所述的里得-索罗门解码中有效率的陈氏寻根方法,其中,该步骤(a-2)的该第二默认值为2。
7.如权利要求6所述的里得-索罗门解码中有效率的陈氏寻根方法,其中,假设长度为2的错误位置多项式表示为:Λ(αi)=λ0+λ1αi,λ0,λ1∈GF(2m),2m代表迦罗瓦场中对应的元素总数,该步骤(a-2)的该第二错误位置表的内容为:P0(k0,k1)及P1(k0,k1),且0≤k0,k1<2m,P0(k0,k1)及P1(k0,k1)代表λ0=k0,λ1=k1所预先求出的该二个错误符号位置。
8.一种里得-索罗门解码中有效率的陈氏寻根系统,适用于在一具有平行处理指令集的处理器上进行陈氏寻根,该系统包含:
一第一判断模块,用以判断已求出的一错误位置多项式是否符合一预设条件;
一查表模块,用以利用查表方式直接对应出至少一错误符号位置;
一错误评估模块,用以计算一错误评估值;
一第二判断模块,用以判断该错误评估值是否等于0;及
一存储器写入模块,用以将该错误符号位置存储至一错误位置存储器。
9.如权利要求8所述的里得-索罗门解码中有效率的陈氏寻根系统,更包含预先建立的一第一错误位置表,若该第一判断模块判断出该错误位置多项式的长度等于一第一默认值,则该查表模块自该第一错误位置表对应出该错误符号位置,其中,该错误符号位置的数目等于该第一默认值。
10.如权利要求9所述的里得-索罗门解码中有效率的陈氏寻根系统,其中,该第一默认值为1。
11.如权利要求10所述的里得-索罗门解码中有效率的陈氏寻根系统,其中,假设长度为1的错误位置多项式表示为:Λ(αi)=λ0,λ0∈GF(2m),2m代表迦罗瓦场中对应的元素总数,该第一错误位置表的内容为:P(k),且0≤k<2m,P(k)代表λ0=k所预先求出的该错误符号位置。
12.如权利要求9所述的里得-索罗门解码中有效率的陈氏寻根系统,更包含预先建立的一第二错误位置表,若该第一判断模块判断出该错误位置多项式的长度等于一第二默认值,则该查表模块自该第二错误位置表对应出该错误符号位置,其中,该错误符号位置的数目等于该第二默认值。
13.如权利要求12所述的里得-索罗门解码中有效率的陈氏寻根系统,其中,该第二默认值为2。
14.如权利要求13所述的里得-索罗门解码中有效率的陈氏寻根系统,其中,假设长度为2的错误位置多项式表示为:Λ(αi)=λ0+λ1αi,λ0,λ1∈GF(2m),2m代表迦罗瓦场中对应的元素总数,该第二错误位置表的内容为:P0(k0,k1)及P1(k0,k1),且0≤k0,k1<2m,P0(k0,k1)及P1(k0,k1)代表λ0=k0,λ1=k1所预先求出的该二个错误符号位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101625861A CN101414832A (zh) | 2007-10-19 | 2007-10-19 | 里得-索罗门解码中有效率的陈氏寻根方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101625861A CN101414832A (zh) | 2007-10-19 | 2007-10-19 | 里得-索罗门解码中有效率的陈氏寻根方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101414832A true CN101414832A (zh) | 2009-04-22 |
Family
ID=40595185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101625861A Pending CN101414832A (zh) | 2007-10-19 | 2007-10-19 | 里得-索罗门解码中有效率的陈氏寻根方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101414832A (zh) |
-
2007
- 2007-10-19 CN CNA2007101625861A patent/CN101414832A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468432B2 (en) | Coder-decoder and method for encoding and decoding an error correction code | |
CN101194451B (zh) | 用于迭代解码器中的功率减小的方法及装置 | |
US20090113275A1 (en) | Bch code with 256 information bytes and up to 8 bytes of parity check elements | |
US20050172208A1 (en) | Forward Chien search type Reed-Solomon decoder circuit | |
US7941734B2 (en) | Method and apparatus for decoding shortened BCH codes or reed-solomon codes | |
CN101277119B (zh) | 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置 | |
US20090110109A1 (en) | Apparatus and method for generating a transmit signal and apparatus and method for extracting an original message from a received signal | |
US11651830B2 (en) | Low latency decoder for error correcting codes | |
CN101483442B (zh) | 根据Nand Flash多余空间来配置纠错能力的BCH解码器 | |
KR101314232B1 (ko) | 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 | |
CN101442313B (zh) | 数字通信过程中的编解码方法以及编码器、解码器 | |
US8365053B2 (en) | Encoding and decoding data using store and exclusive or operations | |
CN110679090B (zh) | 减少延迟错误校正解码 | |
CN113485866A (zh) | 译码方法及相关装置、电子设备和存储介质 | |
US10193574B1 (en) | Efficient syndrome calculation in processing a GLDPC code | |
US8060809B2 (en) | Efficient Chien search method and system in Reed-Solomon decoding | |
CN107688506B (zh) | 一种流水结构的bch译码系统 | |
CN102439854A (zh) | 用于通信的系统和方法 | |
US7984366B2 (en) | Efficient chien search method in reed-solomon decoding, and machine-readable recording medium including instructions for executing the method | |
CN108471315B (zh) | 一种纠删译码方法及装置 | |
US8042026B2 (en) | Method for efficiently calculating syndromes in reed-solomon decoding, and machine-readable storage medium storing instructions for executing the method | |
CN101414832A (zh) | 里得-索罗门解码中有效率的陈氏寻根方法及系统 | |
CN101803204A (zh) | 纠正位串错误的方法 | |
CN100525117C (zh) | 用于实现迭代n维解码的解码器及其方法 | |
US8176395B2 (en) | Memory module and writing and reading method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090422 |