CN108471315A - 一种纠删译码方法及装置 - Google Patents
一种纠删译码方法及装置 Download PDFInfo
- Publication number
- CN108471315A CN108471315A CN201710100823.5A CN201710100823A CN108471315A CN 108471315 A CN108471315 A CN 108471315A CN 201710100823 A CN201710100823 A CN 201710100823A CN 108471315 A CN108471315 A CN 108471315A
- Authority
- CN
- China
- Prior art keywords
- syndrome
- multinomial
- deletion
- unbiased
- symbol
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明实施例公开了一种纠删译码方法及装置,方法包括:接收待译码数据,其中包含n个码元,n个码元包括:k个原始码元及r个校验码元;对n个码元进行递归运算,得到r个无偏伴随式;对r个无偏伴随式进行偏置,得到r个偏置伴随式;利用纠删求解关键方程及r个偏置伴随式,迭代计算删除位置多项式及删除值多项式;利用删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值,并利用删除幅值进行译码。一方面,先串行迭代计算每个无偏伴随式对应的偏置量,再根据偏置量对r个无偏伴随式进行偏置,得到r个偏置伴随式;这样,便可以处理码长不同的码元;另一方面,上述过程可以在n个周期内完成,提高了总线译码利用率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种纠删译码方法及装置。
背景技术
纠删码(erasure coding,EC)是一种数据保护方法,该方法可以用n=k+r来表示,其中,k表示原始码元份数,r表示校验码元份数,n表示总的码元份数。具体的,可以将数据分割成k个原始码元,基于这k个原始码元进行扩展、编码,得到r个校验码元;将这k个原始码元和r个校验码元分别存储至各个磁盘中;这样,如果某个磁盘出现故障导致数据丢失,则可以根据未丢失的原始码元及校验码元对丢失的码元进行恢复。
纠删码有多种,比如,RSE(Reed-Solomon Erasure,里德-索罗门纠删码,也称RS纠删码),是一种纠错/纠删能力较强的非二进制编码方式。RS纠删码广泛应用于各种抗丢包场景中,比如,传输信道抗丢包、分布式存储备份等诸多场景等。
一般来说,RS纠删码对应的纠删译码方法中:一种RS码长对应一组纠删求解关键方程,一种RS纠删译码模块也只能利用一组纠删求解关键方程进行纠删译码;因此,一种RS纠删译码模块仅能对一种码长的码元进行处理;如果各个码元的码长不同,则需要多个RS纠删译码模块,这样提高了设备资源的消耗。
发明内容
本发明实施例的目的在于提供一种纠删译码方法及装置,能够对码长不同的码元进行处理。
为达到上述目的,本发明实施例公开了一种纠删译码方法,包括:
接收待译码数据,所述待译码数据包含n个码元,所述n个码元包括:k个原始码元及r个校验码元;
对所述n个码元进行递归运算,得到r个无偏伴随式;
串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;
利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式;
利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值,并利用所述删除幅值进行译码。
可选的,所述对所述n个码元进行递归运算,得到r个无偏伴随式的步骤,可以包括:
利用r个伴随式计算单元,对所述n个码元进行递归运算,得到r个无偏伴随式;其中,所述伴随式计算单元包含有限域常系数乘法器及有限域加法器;
所述无偏伴随式为:
可选的,所述串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式的步骤,可以包括:
根据所述n及所述k,确定起始偏置量;
将所述起始偏置量进行迭代,得到r-1个偏置量;
将所述起始偏置量、所述r-1个偏置量分别与各自对应的无偏伴随式相乘,得到r个偏置伴随式。
可选的,所述利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式的步骤,可以包括:
确定删除位置标识多项式为:
Z(x)=Zrxr+Zr-1xr-1+...+Z1x+Z0,其中,Z0为常数α0;
根据所述删除位置标识多项式,确定删除位置多项式为:
Λ(x)=Λrxr+Λr-1xr-1+......+Λ1x1+Λ0,其中,Λ0为固定值α0;
根据所述删除位置标识多项式,确定删除值多项式为:
Ω(x)=Ωrxr+Ωr-1xr-1+......+Ω1x1+Ω0,其中,Ω0为固定值0;
迭代求解所述删除位置多项式和所述删除值多项式。
可选的,所述利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值的步骤,可以包括:
利用如下算式,计算得到每个删除位置对应的删除幅值:
其中,β=Zj -1,j表示删除位置标识多项式中各个删除位置的序号。
为达到上述目的,本发明实施例还公开了一种纠删译码装置,包括:
接收模块,用于接收待译码数据,所述待译码数据包含n个码元,所述n个码元包括:k个原始码元及r个校验码元;
第一计算模块,用于对所述n个码元进行递归运算,得到r个无偏伴随式;
偏置模块,用于串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;
第二计算模块,用于利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式;
第三计算模块,用于利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值;
译码模块,用于利用所述删除幅值进行译码。
可选的,所述第一计算模块,具体可以用于:
利用r个伴随式计算单元,对所述n个码元进行递归运算,得到r个无偏伴随式;其中,所述伴随式计算单元包含有限域常系数乘法器及有限域加法器;
所述无偏伴随式为:
可选的,所述偏置模块,具体可以用于:
根据所述n及所述k,确定起始偏置量;
将所述起始偏置量进行迭代,得到r-1个偏置量;
将所述起始偏置量、所述r-1个偏置量分别与各自对应的无偏伴随式相乘,得到r个偏置伴随式。
可选的,所述第二计算模块,具体可以用于:
确定删除位置标识多项式为:
Z(x)=Zrxr+Zr-1xr-1+...+Z1x+Z0,其中,Z0为常数α0;
根据所述删除位置标识多项式,确定删除位置多项式为:
Λ(x)=Λrxr+Λr-1xr-1+......+Λ1x1+Λ0,其中,Λ0为固定值α0;
根据所述删除位置标识多项式,确定删除值多项式为:
Ω(x)=Ωrxr+Ωr-1xr-1+......+Ω1x1+Ω0,其中,Ω0为固定值0;
迭代求解所述删除位置多项式和所述删除值多项式。
可选的,所述第三计算模块,具体可以用于:
利用如下算式,计算得到每个删除位置对应的删除幅值:
其中,β=Zj -1,j表示删除位置标识多项式中各个删除位置的序号。
应用本发明实施例,一方面,先串行迭代计算每个无偏伴随式对应的偏置量,再根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;这样,便可以处理码长不同的码元;另一方面,上述过程可以在n个周期内完成,提高了总线译码利用率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种纠删译码方法的流程示意图;
图2为本发明实施例提供的一种无偏置伴随式的实现架构示意图;
图3为图2中每个伴随式计算单元的结构示意图;
图4为本发明实施例提供的对无偏置伴随式进行偏置的逻辑结构示意图;
图5为现有方案中输入RS纠删码的示意图;
图6为求解删除值多项式的逻辑结构示意图;
图7为求解删除位置多项式的逻辑结构示意图;
图8为本发明实施例提供的一种具体实施方式的流程示意图;
图9为本发明实施例提供的一种纠删译码装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种纠删译码方法及装置,可以应用于各种电子设备,具体不做限定。下面首先对本发明实施例提供的纠删译码方法进行详细说明。
图1为本发明实施例提供的一种纠删译码方法的流程示意图,包括:
S101:接收待译码数据;所述待译码数据包含n个码元,所述n个码元包括:k个原始码元及r个校验码元。
通常情况下,RS纠删码可以在GF(23)、GF(24)、GF(28)等各种有限域下,例如,在GF(28)有限域中,RS纠删码的母码N值为255,在GF(24)有限域中,RS纠删码的母码N值为15。
为了方便描述,本发明实施例中定义RS(n,k,r,m,N),其中,k表示原始码元个数,r表示校验码元个数,n表示经过编码后的总码元个数,m表示限定的有限域GF(2m),N表示对于RS纠删码的母码N值,且N=2m-1。
S102:对所述n个码元进行递归运算,得到r个无偏伴随式。
具体的,可以利用r个伴随式计算单元,对所述n个码元进行递归运算,得到r个无偏伴随式;其中,所述伴随式计算单元包含有限域常系数乘法器及有限域加法器。
假设以GF(28)有限域下的RS(32,16)为例进行说明,也就是n为32,k为16,r为16;为了简化说明,假设待译码数据c=(1,2,3,4,……32),也就是说,第1个码元数值为1,第2个码元数值为2……第32个码元数值为32。
可以如图2所示,利用16个伴随式计算单元对这n个码元进行递归运算;每个伴随式计算单元可以如图3所示,包含一个有限域常系数乘法器及一个有限域加法器。
一般来说,各个伴随式组成伴随式多项式,伴随式多项式用S(x)表示;同样的,各个无偏伴随式组成无偏伴随式多项式,无偏伴随式多项式用S’(x)表示。本领域技术人员可以理解:
这里,S’(x)为16个无偏伴随式S’k组成的多项式,无偏伴随式S’k为:
上式中的α、α1......α16为范德蒙矩阵中的元素。
因此,r个无偏伴随式如下所示:
S'1=1·α31+2·α30+......+32·α0
S'2=1·(α2)31+2·(α2)30+......+32·(α2)0
......
S'16=1·(α16)31+2·(α16)30+......+32·(α16)0
S103:串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式。
S103可以包括:根据所述n及所述k,确定起始偏置量;将所述起始偏置量进行迭代,得到r-1个偏置量;将所述起始偏置量、所述r-1个偏置量分别与各自对应的无偏伴随式相乘,得到r个偏置伴随式。
1、可以根据当前RS纠删码长n/k的值,确定起始偏置量αoffset大小为αN-n,具体数值可由n/k寻址ROM查表得出;
2、将起始偏置量与S’1在有限域相乘可以得到第一个偏置伴随式S1;
3、固定量αoffset与初始偏置量迭代相乘得到(α2)offset,(α2)offset与S’2在有限域相乘可以得到第二个偏置伴随式S2
......
以此类推,多次迭代即可得到r个偏置伴随式:S1—S16,计算过程可以如图4所示,计算周期为r,计算周期小于n。
需要说明的是,RS纠删码对应的纠删译码方法复杂性较高,计算耗时较长。在一些现有方案中,如图5所示,输入给RS纠删译码模块的数据不能连续,中间需要存在一定的“空闲周期”,使得RS纠删译码模块在这段空闲周期中进行译码操作。RS纠删译码的总线利用率为:本领域技术人员可以理解,当计算周期小于n时,可以实现全流水纠删译码,也就是η为100%。
上述迭代过程计算周期小于n,不影响全流水纠删译码;而且如图4所示,上述迭代过程仅耗费2个全变量有限域乘法器,消耗资源少。
S104:利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式。
S104可以包括:
1、确定删除位置标识多项式为:Z(x)=Zrxr+Zr-1xr-1+...+Z1x+Z0,
具体的,可以根据预先确定的删除标志,计算出删除位置标识多项式Z(x),Z0为常数α0,若所接收到的第i个码元错误(i从1开始)那么对应的Zi=αN-i。Zi多项式计算可与S’(x)同时进行,计算周期不超过n,不影响全流水纠删译码。
2、纠删求解关键方程如下:
Ω(x)=Λ(x)S(x)modxd,
其中,d=n-k+1,Ω(x)为删除值多项式,Λ(x)为删除位置多项式;
根据有限域性质,推导出下式:
Ω(x)=Θ(x)xd+Λ(x)S(x),
其中,Θ(x)为中间差值多项式,Ω(x)阶数小于或等于Λ(x)阶数,因此可以不用计算中间差值多项式,直接计算Λ(x)S(x)然后去除运算结果的高位阶数系数。根据欧几里德迭代求解Ω(x)=Θ(x)xd+Λ(x)S(x):
(1)、根据删除位置标识多项式Z(x)确定删除位置多项式Λ(x)为:Λ(x)=Λrxr+Λr-1xr-1+......+Λ1x1+Λ0。
Λ(x)为r阶多项式,当前RS纠删码若有v个删除位置则Λ(x)的第v+1阶到r阶系数为零,且多项式最低阶系数Λ0为固定值α0。
(2)、根据删除位置标识多项式Z(x)确定删除值多项式Ω(x)为:Ω(x)=Ωrxr+Ωr-1xr-1+......+Ω1x1+Ω0。
迭代计算删除值多项式Ω(x),其中Ω(x)阶数不超过Λ(x)阶数,且系数Ω0固定为数值0。
需要说明的是,求解Λ(x)及Ω(x)可以同时进行迭代计算,这样可以进一步减少计算过程耗费的时长;或者,也可以先求解Λ(x)再求解Ω(x);或者,也可以先求解Ω(x)再求解Λ(x),具体不做限定。
求解Λ(x)及Ω(x)的算法可以如下所示,其中,Λc(x)和Ωc(x)为待求的删除位置多项式和删除值多项式,Λa(x)和Ωa(x)为迭代中间变量多项式;迭代初始Λc(x)和Λa(x)各阶系数为零,Ωc(x)初始值为上述S103计算出的S(x),中间变量多项式Ωa(x)为xd;γ为迭代中间变量,i为迭代次数控制变量,erasure_num为预先确定的被删除或丢失码元的数量;除迭代次数变量i之外,其它所有乘加运算都基于有限域GF(2m)代数运算规则:
迭代第一步:
初始化
begin
Λa(x)=0,Λc(x)=0,Ωa(x)=xd,Ωc(x)=S(x),i=0;
end
迭代第二步:
begin
γ=Zi;
Ωtmp=Ωa(x)+γΩc(x)
Λtmp=Λa(x)+γΛc(x)
if(i==erasure_num)
Λc(x)=Λtmp;Ωc(x)=Ωtmp;
迭代完成;
else
跳到迭代第三步;
end
迭代第三步:
begin
Λa(x)=Λtmp;Ωa(x)=Ωtmp;
Λc(x)=xΛtmp;Ωc(x)=xΩtmp;
Ωd+1 c=0;i=i+1;
返回迭代第二步;
end
求解Ωc(x)的逻辑结构可以如图6所示,求解Λc(x)的逻辑结构可以如图7所示;迭代完成后得到的Λc(x)即为删除位置多项式,Ωc(x)即为删除值多项式。
S105:利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值,并利用所述删除幅值进行译码。
作为一种实施方式,可以利用Forney算法,也就是如下算式,计算得到每个删除位置对应的删除幅值:
其中,β=Zj -1,j表示删除位置标识多项式中各个删除位置的序号。
本领域技术人员可以理解,Forney算法需要消耗r+r/2个有限域常系数乘法器,计算周期为n,也不会影响全流水纠删译码。
本领域技术人员可以理解,得到了删除幅值,便可以进行译码,具体不再赘述。
综上所述,本方案中各步骤计算周期数如下表所示:
运算步骤 | 计算周期数 |
S102中计算无偏伴随式S’(x) | n |
S103中对S’(x)偏置得到S(x) | r |
S104中计算删除位置标识多项式Z(x) | n |
S104中求解纠删求解关键方程 | r+1 |
S105中Forney算法 | n |
由此可见,上述各计算周期都不大于n,也就是说,总线利用率能达到100%,可以实现全流水纠删译码。
另外,需要说明的是,相对于上表中前两个步骤(计算无偏伴随式S’(x),对S’(x)偏置得到S(x)),现有方案通常采取如下处理过程得到S(x):
本领域技术人员可以理解,GF(28)有限域下的母码N=255,这个有限域内元素集合为{α254,α253,……α0,0}共256个元素。对于基于RS(255,x)的缩短码字来说,为了使1个模块就能完成所有缩短码字的译码,此处将所接收到的码块的第一个码元定义为权重x254。
比如,上述例子中GF(28)域下的RS(32,16),c=(1,2,3,4,……32);接收到的第一个码元是1,则这个1在这个码块中的权重是x254;
再比如,如果GF(28)域下的RS(100,80),接收到的第一个码元是100,则这个100在这个码块中的权重仍是x254;
这样对于不同的缩短码字,它们的“基准”相同,偏置量不同。
下面仍以GF(28)有限域下的RS(32,16),c=(1,2,3,4,……32)为例进行说明,待译码数据的多项式形式为:
c(x)=1·x254+2·x253+......+32·x223
将范德蒙矩阵中的元素代入可得如下计算形式:
S1=c(α1)=1·α254+2·α253+......+32·α223
S2=c(α2)=1·(α2)254+2·(α2)253+......+32·(α2)223
……
S16=c(α16)=1·(α16)254+2·(α16)253+......+32·(α16)223
上述S1—S16即为r个偏置伴随式。但是上述过程中,S1—S16的各个偏置量αoffset均不同,需要每次都计算r个偏置伴随式的偏置量,那么需要耗费至少r个全变量有限域乘法器,耗费资源过大。
本方案相比于上述现有方案,不需要每次都计算偏置量,而且计算周期小于n,仅耗费2个全变量有限域乘法器,极大地降低了消耗资源。
作为一个具体的实施方式,可以如图8所示,接收待译码数据后,先进行递归运算,得到无偏伴随式多项式S’(x);对S’(x)进行偏置修正,得到S(x);再根据S(x)及删除位置标识多项式Z(x),求解删除位置多项式Λa(x)及删除值多项式Ωa(x);再利用Forney算法确定删除幅值;利用删除幅值进行码字纠删(译码);译码后可以输出数据,同时可以进行校验,如果校验失败,再输出纠删失败信息。
本领域技术人员可以理解,校验过程与上述得到无偏伴随式的过程类似,仅当校验算子与接收码字矩阵相乘为0时,表示校验成功。在图8所示实施方式中,可以利用FIFO((First Input First Output))缓存一些中间数据,具体不做限定。
应用本发明图1所示实施例,一方面,先串行迭代计算每个无偏伴随式对应的偏置量,再根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;这样,便可以处理码长不同的码元;另一方面,上述过程可以在n个周期内完成,提高了总线译码利用率。
与上述方法实施例相对应,本发明实施例还提供一种纠删译码装置。
图9为本发明实施例提供的一种纠删译码装置的结构示意图,包括:
接收模块901,用于接收待译码数据,所述待译码数据包含n个码元,所述n个码元包括:k个原始码元及r个校验码元;
第一计算模块902,用于对所述n个码元进行递归运算,得到r个无偏伴随式;
偏置模块903,用于串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;
第二计算模块904,用于利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式;
第三计算模块905,用于利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值;
译码模块906,用于利用所述删除幅值进行译码。
在本实施例中,第一计算模块902,具体可以用于:
利用r个伴随式计算单元,对所述n个码元进行递归运算,得到r个无偏伴随式;其中,所述伴随式计算单元包含有限域常系数乘法器及有限域加法器;
所述无偏伴随式为:
在本实施例中,偏置模块903,具体可以用于:
根据所述n及所述k,确定起始偏置量;
将所述起始偏置量进行迭代,得到r-1个偏置量;
将所述起始偏置量、所述r-1个偏置量分别与各自对应的无偏伴随式相乘,得到r个偏置伴随式。
在本实施例中,第二计算模块904,具体可以用于:
确定删除位置标识多项式为:
Z(x)=Zrxr+Zr-1xr-1+...+Z1x+Z0,其中,Z0为常数α0;
根据所述删除位置标识多项式,确定删除位置多项式为:
Λ(x)=Λrxr+Λr-1xr-1+......+Λ1x1+Λ0,其中,Λ0为固定值α0;
根据所述删除位置标识多项式,确定删除值多项式为:
Ω(x)=Ωrxr+Ωr-1xr-1+......+Ω1x1+Ω0,其中,Ω0为固定值0;
迭代求解所述删除位置多项式和所述删除值多项式。
在本实施例中,第三计算模块905,具体可以用于:
利用如下算式,计算得到每个删除位置对应的删除幅值:
其中,β=Zj -1,j表示删除位置标识多项式中各个删除位置的序号。
应用本发明图9所示实施例,一方面,先串行迭代计算每个无偏伴随式对应的偏置量,再根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;这样,便可以处理码长不同的码元;另一方面,上述过程可以在n个周期内完成,提高了总线译码利用率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种纠删译码方法,其特征在于,包括:
接收待译码数据,所述待译码数据包含n个码元,所述n个码元包括:k个原始码元及r个校验码元;
对所述n个码元进行递归运算,得到r个无偏伴随式;
串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;
利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式;
利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值,并利用所述删除幅值进行译码。
2.根据权利要求1所述的方法,其特征在于,所述对所述n个码元进行递归运算,得到r个无偏伴随式的步骤,包括:
利用r个伴随式计算单元,对所述n个码元进行递归运算,得到r个无偏伴随式;其中,所述伴随式计算单元包含有限域常系数乘法器及有限域加法器;
所述无偏伴随式为:
3.根据权利要求1所述的方法,其特征在于,所述串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式的步骤,包括:
根据所述n及所述k,确定起始偏置量;
将所述起始偏置量进行迭代,得到r-1个偏置量;
将所述起始偏置量、所述r-1个偏置量分别与各自对应的无偏伴随式相乘,得到r个偏置伴随式。
4.根据权利要求1所述的方法,其特征在于,所述利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式的步骤,包括:
确定删除位置标识多项式为:
Z(x)=Zrxr+Zr-1xr-1+...+Z1x+Z0,其中,Z0为常数α0;
根据所述删除位置标识多项式,确定删除位置多项式为:
Λ(x)=Λrxr+Λr-1xr-1+……+Λ1x1+Λ0,其中,Λ0为固定值α0;
根据所述删除位置标识多项式,确定删除值多项式为:
Ω(x)=Ωrxr+Ωr-1xr-1+……+Ω1x1+Ω0,其中,Ω0为固定值0;
迭代求解所述删除位置多项式和所述删除值多项式。
5.根据权利要求4所述的方法,其特征在于,所述利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值的步骤,包括:
利用如下算式,计算得到每个删除位置对应的删除幅值:
其中,β=Zj -1,j表示删除位置标识多项式中各个删除位置的序号。
6.一种纠删译码装置,其特征在于,包括:
接收模块,用于接收待译码数据,所述待译码数据包含n个码元,所述n个码元包括:k个原始码元及r个校验码元;
第一计算模块,用于对所述n个码元进行递归运算,得到r个无偏伴随式;
偏置模块,用于串行迭代计算每个无偏伴随式对应的偏置量,并根据所述偏置量对所述r个无偏伴随式进行偏置,得到r个偏置伴随式;
第二计算模块,用于利用纠删求解关键方程及所述r个偏置伴随式,迭代计算删除位置多项式及删除值多项式;
第三计算模块,用于利用所述删除位置多项式及删除值多项式,计算得到每个删除位置对应的删除幅值;
译码模块,用于利用所述删除幅值进行译码。
7.根据权利要求6所述的装置,其特征在于,所述第一计算模块,具体用于:
利用r个伴随式计算单元,对所述n个码元进行递归运算,得到r个无偏伴随式;其中,所述伴随式计算单元包含有限域常系数乘法器及有限域加法器;
所述无偏伴随式为:
8.根据权利要求6所述的装置,其特征在于,所述偏置模块,具体用于:
根据所述n及所述k,确定起始偏置量;
将所述起始偏置量进行迭代,得到r-1个偏置量;
将所述起始偏置量、所述r-1个偏置量分别与各自对应的无偏伴随式相乘,得到r个偏置伴随式。
9.根据权利要求6所述的装置,其特征在于,所述第二计算模块,具体用于:确定删除位置标识多项式为:
Z(x)=Zrxr+Zr-1xr-1+...+Z1x+Z0,其中,Z0为常数α0;
根据所述删除位置标识多项式,确定删除位置多项式为:
Λ(x)=Λrxr+Λr-1xr-1+……+Λ1x1+Λ0,其中,Λ0为固定值α0;
根据所述删除位置标识多项式,确定删除值多项式为:
Ω(x)=Ωrxr+Ωr-1xr-1+……+Ω1x1+Ω0,其中,Ω0为固定值0;
迭代求解所述删除位置多项式和所述删除值多项式。
10.根据权利要求6所述的装置,其特征在于,所述第三计算模块,具体用于:
利用如下算式,计算得到每个删除位置对应的删除幅值:
其中,β=Zj -1,j表示删除位置标识多项式中各个删除位置的序号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710100823.5A CN108471315B (zh) | 2017-02-23 | 2017-02-23 | 一种纠删译码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710100823.5A CN108471315B (zh) | 2017-02-23 | 2017-02-23 | 一种纠删译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108471315A true CN108471315A (zh) | 2018-08-31 |
CN108471315B CN108471315B (zh) | 2021-08-20 |
Family
ID=63266879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710100823.5A Active CN108471315B (zh) | 2017-02-23 | 2017-02-23 | 一种纠删译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108471315B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296999A (zh) * | 2021-05-20 | 2021-08-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种raid6编码方法及编码电路 |
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0545498A2 (de) * | 1991-12-04 | 1993-06-09 | Bts Broadcast Television Systems Gmbh | Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen |
EP0621698A2 (en) * | 1993-04-21 | 1994-10-26 | Canon Kabushiki Kaisha | Error correction method including erasure correction, and apparatus therefore |
US7010739B1 (en) * | 2002-04-11 | 2006-03-07 | Marvell International Ltd. | Error evaluator for inversionless Berlekamp-Massey algorithm in Reed-Solomon decoders |
KR20060098269A (ko) * | 2005-03-11 | 2006-09-18 | 인하대학교 산학협력단 | 파이프라인 재귀적인 기술을 이용한 면적 효율적인 리드솔로몬 복호기 |
CN101582744A (zh) * | 2009-06-19 | 2009-11-18 | 重庆邮电大学 | 一种基于迭代方法的rs喷泉码的编译码方法 |
CN101834617A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种rs纠错码解码器 |
CN201789494U (zh) * | 2010-06-01 | 2011-04-06 | 福建新大陆电脑股份有限公司 | 一种条码纠错译码装置 |
CN102122964A (zh) * | 2011-03-31 | 2011-07-13 | 西安电子科技大学 | 一种基于fpga的高速rs编译码器实现方法 |
CN102130695A (zh) * | 2010-01-15 | 2011-07-20 | 中兴通讯股份有限公司 | 一种级联码的译码方法及装置 |
CN102523006A (zh) * | 2011-12-31 | 2012-06-27 | 中国科学院上海微系统与信息技术研究所 | 一种级联编码器及实现方法 |
CN104052502A (zh) * | 2013-03-14 | 2014-09-17 | 华为技术有限公司 | 译码的方法和译码器 |
CN104639282A (zh) * | 2013-11-14 | 2015-05-20 | 杭州海康威视数字技术股份有限公司 | 通信系统中rs译码方法及其装置 |
CN105359108A (zh) * | 2013-08-05 | 2016-02-24 | 英特尔公司 | 带有自适应纠删码生成的存储系统 |
CN106302573A (zh) * | 2015-05-14 | 2017-01-04 | 杭州海康威视系统技术有限公司 | 一种采用擦除码处理数据的方法、系统及装置 |
-
2017
- 2017-02-23 CN CN201710100823.5A patent/CN108471315B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0545498A2 (de) * | 1991-12-04 | 1993-06-09 | Bts Broadcast Television Systems Gmbh | Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen |
EP0621698A2 (en) * | 1993-04-21 | 1994-10-26 | Canon Kabushiki Kaisha | Error correction method including erasure correction, and apparatus therefore |
US7010739B1 (en) * | 2002-04-11 | 2006-03-07 | Marvell International Ltd. | Error evaluator for inversionless Berlekamp-Massey algorithm in Reed-Solomon decoders |
KR20060098269A (ko) * | 2005-03-11 | 2006-09-18 | 인하대학교 산학협력단 | 파이프라인 재귀적인 기술을 이용한 면적 효율적인 리드솔로몬 복호기 |
CN101582744A (zh) * | 2009-06-19 | 2009-11-18 | 重庆邮电大学 | 一种基于迭代方法的rs喷泉码的编译码方法 |
CN102130695A (zh) * | 2010-01-15 | 2011-07-20 | 中兴通讯股份有限公司 | 一种级联码的译码方法及装置 |
CN201789494U (zh) * | 2010-06-01 | 2011-04-06 | 福建新大陆电脑股份有限公司 | 一种条码纠错译码装置 |
CN101834617A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种rs纠错码解码器 |
CN102122964A (zh) * | 2011-03-31 | 2011-07-13 | 西安电子科技大学 | 一种基于fpga的高速rs编译码器实现方法 |
CN102523006A (zh) * | 2011-12-31 | 2012-06-27 | 中国科学院上海微系统与信息技术研究所 | 一种级联编码器及实现方法 |
CN104052502A (zh) * | 2013-03-14 | 2014-09-17 | 华为技术有限公司 | 译码的方法和译码器 |
CN105359108A (zh) * | 2013-08-05 | 2016-02-24 | 英特尔公司 | 带有自适应纠删码生成的存储系统 |
CN104639282A (zh) * | 2013-11-14 | 2015-05-20 | 杭州海康威视数字技术股份有限公司 | 通信系统中rs译码方法及其装置 |
CN106302573A (zh) * | 2015-05-14 | 2017-01-04 | 杭州海康威视系统技术有限公司 | 一种采用擦除码处理数据的方法、系统及装置 |
Non-Patent Citations (2)
Title |
---|
JYH-HORNG JENG等: ""On Decoding of Both Errors and Erasures of a Reed–Solomon Code Using an Inverse-Free Berlekamp–Massey Algorithm"", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 * |
刘政林: ""流水线纠错纠删RS译码器的设计和时序"", 《华中科技大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296999A (zh) * | 2021-05-20 | 2021-08-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种raid6编码方法及编码电路 |
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
CN116028260B (zh) * | 2023-01-09 | 2024-02-27 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108471315B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Error correction for multi-level NAND flash memory using Reed-Solomon codes | |
Rhee | Error-correcting coding theory | |
US8276051B2 (en) | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications | |
US8458574B2 (en) | Compact chien-search based decoding apparatus and method | |
JP2005512183A (ja) | ガロア体乗算システム | |
CN101162965B (zh) | 一种ldpc码的纠删译码方法及系统 | |
CN101277119B (zh) | 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置 | |
CN105518996B (zh) | 一种基于二进制域里德所罗门码的数据编解码方法 | |
US20130139028A1 (en) | Extended Bidirectional Hamming Code for Double-Error Correction and Triple-Error Detection | |
CN101800560B (zh) | Flash控制器中BCH编译码的纠错能力扩展方法 | |
US20100332956A1 (en) | Polynomial division | |
CN108471315A (zh) | 一种纠删译码方法及装置 | |
Nielsen | List decoding of linear block codes | |
US6370671B1 (en) | Configurable decoder and method for decoding a reed-solomon codeword | |
CN102891689B (zh) | 一种错误位置多项式求解方法及装置 | |
Lou et al. | Channel Coding | |
CN114389752A (zh) | 循环冗余校验码生成方法、装置、设备、介质和程序产品 | |
US6415413B1 (en) | Configurable Reed-Solomon controller and method | |
US20080140740A1 (en) | Systems and methods for processing data sets in parallel | |
CN101848001A (zh) | Flash控制器中BCH编译码的数据长度扩展方法 | |
Munuera et al. | Locally recoverable codes from rational maps | |
JP3343857B2 (ja) | 復号装置、演算装置およびこれらの方法 | |
CN101931415B (zh) | 编码装置及方法、译码装置及方法和纠错系统 | |
CN104917535B (zh) | 用于分组码的高阶伴随式计算器和计算高阶伴随式的方法 | |
Lin et al. | RAID-6 Reed-Solomon codes with asymptotically optimal arithmetic complexities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |