CN101262305A - 一种里德索罗蒙码的译码方法及装置 - Google Patents
一种里德索罗蒙码的译码方法及装置 Download PDFInfo
- Publication number
- CN101262305A CN101262305A CNA2008100932335A CN200810093233A CN101262305A CN 101262305 A CN101262305 A CN 101262305A CN A2008100932335 A CNA2008100932335 A CN A2008100932335A CN 200810093233 A CN200810093233 A CN 200810093233A CN 101262305 A CN101262305 A CN 101262305A
- Authority
- CN
- China
- Prior art keywords
- row
- data
- byte
- interleaver device
- business datum
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- 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/27—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 using interleaving techniques
Abstract
一种RS码的译码方法及装置,该方法包括如下步骤:在字节交织器中按列依次填充待译码数据;对字节交织器校验区中的数据按行和/或按列进行循环移位,使得校验区的每行数据为字节交织器信息区中相应行数据的依序排列的校验数据;按照行方式进行RS译码,将译码得到的各行信息数据依序写入字节交织器信息区的对应行;从字节交织器信息区中逐列读出所述译码后信息数据中的业务数据。采用本发明的方法及装置,与相应的RS码交织编码方法配合使用,可避免数据包中的连续错误对译码的影响;并在行的方向也有很好的分集,起着行列交织器的行置换的作用,在数据包的传输过程中能够避免周期性噪声的干扰,从而使得编码具有最好的性能。
Description
技术领域
本发明涉及通信领域,尤其涉及一种里德索罗蒙(Reed-Solomon,简称RS)码的译码方法。
背景技术
线性分组码(Linear Grouping Code)是一组固定长度的码组,可以表示为(n,k),通常用于前向纠错。在编码时k个信息位被编成n位码组长度。由于[n,k,d]分组码的2k个码字组成了一个k维的子空间,则该2k个码字一定可以由k个线性无关的基底张成,若把该k个基底写成矩阵的形式,则有:
[n,k,d]码中的任何码字,都可以由这组基底的线性组合生成,即:
称G为码的生成矩阵。显然,对于生成矩阵的各行来说,只要满足线性无关即可(没有考虑最小距离),而一个k维空间的基底可以任意选择k个线性无关的矢量,所以作为码的生成矩阵G也不是唯一的,但不论采用哪一种形式,它们都生成相同的子空间,即同一个[n,k,d]码。
RS码是一种线性分组循环码,它以长度为n的一组符号(symbols)为单位处理(通常n=8比特,称为编码字),组中的n个符号是由k个欲传输的信息符号按一定关联关系生成的。由于n个符号中还应包含误码保护信息,所以要求编码形式用(n,k)表示,其中k<n;因此,当n=8时,共有28=256种符号,用十进制表示的符号范围是0~255。这256种符号组成一个有限域(称伽罗华域)GF(28)。一般地,当有限域是二元域GF(2)的扩域时用GF(2m)表示。在GF(2m)域中,能纠正t个错误的(n,k)RS码,校验符号数为2×t,最小码距离dmin=2×t+1=n-k+1(校验矩阵是个满秩的矩阵)。所谓1个符号的错误可以是指符号中的1比特发生错误,也可以指符号中的若干比特甚至所有m比特都发生错误。可见,RS码具有极强的随机错误和突发错误纠正能力,故在数字差错控制领域受到非常广泛的应用。
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层具备功能有:数据链路的建立和拆除、帧传输和帧同步、差错与流量控制、数据链路管理。链路层前向纠错(Forward Error Correction,简称FEC)作为物理链路层前向纠错技术的补充,用于实现链路层差错控制的功能,确保上一层协议能够接收无差错的数据报。RS码由于其优异的性能,非常适合作为链路层前向纠错码(Link Layer Forward ErrorCorrection)。
数字通信中常用的交织器按交织对象分可分为字节交织和位交织。字节交织器(Byte Interleaver)的主要作用就是将原始字节序列打乱,使得错误的位置看上去是随机的,交织前后字节序列的相关性减弱,并分布于许多码字间而不仅仅是几个码字之间,这样做很突出的一个优点便是大大降低了数据突发错误的影响。
为了进一步改善链路层FEC的性能,RS编译码器通常和字节交织器一起使用。一般情况下,字节交织器可以用行列交织器,其列数等于RS码码长,行数随码块数目而改变。例如RS(255,207)码的字节交织器固定为255列,其中左边207列为信息区,右边48列为校验区。交织器的行数及列数可以但不限于从0开始编号,本发明中为描述的一致性均采用从0开始编号。
现有技术中RS码交织编码方法中,当有业务数据包输入该字节交织器时,先从上到下填充第0列,当第0列填充完之后再从上往下填充第1列,如此类推,直到该业务数据包所有数据均被填充在该交织器中,前207列中未被填充的部分用0填充。每一行的校验值是根据前207位的数据信息形成的。交织编码后的形式如图1所示,其中K=207,S=48。当输出交织器中的数据时,是从第0列开始由上到下依次输出,第0列输完之后再从上到下依次输出第1列的数据,直到该255列的数据全部输出完毕。
现有技术中的RS码交织编码和对应的译码方法存在以下缺陷:信息区中填充值为0的部分集中在一起,由于数据是按列发送,这样会导致该列中具有较多填充值的行对应的连续时间区域相对得到了过多保护,而该列中具有较少填充值的行对应的连续时间区域相对缺少保护。此外,校验区的数据虽然按行生成,按列读出,但输出时数据间交织过于规则,达不到最佳的交织效果,所以整个输出数据包的性能达不到最佳。
发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提供一种RS码的译码方法及装置,以解决现有技术中存在的信息区填充值过于集中,从而影响RS码/译码效果的问题;以及校验区的数据输出时数据间交织过于规则,达不到最佳的交织/解交织效果的问题。
为了解决上述问题,本发明提供一种里德索罗蒙码的译码方法,该方法包括如下步骤:
A:在字节交织器中按列依次填充待译码数据;
B:对字节交织器校验区中的数据按行和/或按列进行循环移位,使得校验区的每行数据为字节交织器信息区中相应行数据的依序排列的校验数据;
C:按照行方式进行RS译码,将译码得到的各行信息数据依序写入字节交织器信息区的对应行;
D:从字节交织器信息区中逐列读出所述译码后信息数据中的业务数据。
此外,步骤B中,对字节交织器校验区中的数据按列进行循环移位,校验区第i列所有行移动的位数为:floor(i×M/S);其中,M为所述字节交织器的行数,S为所述校验区的列数,i=0,1,...,S-1。
此外,步骤D包含如下子步骤:
D1:顺序读出字节交织器信息区第0至kc-1列中的业务数据;
D2:若第kc列中包含d个字节的业务数据,且0<d≤M/2,则从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
此外,步骤B中,对所述字节交织器校验区中的数据,以从下到上的方向进行所述循环移位。
本发明还提供一种里德索罗蒙码的译码方法,该方法包括如下步骤:
a:在字节交织器中按列依次填充待译码数据;
b:按照行方式进行RS译码,将译码得到的各行信息数据依序写入字节交织器信息区的对应行;
c:从字节交织器信息区中顺序读出第0至kc-1列中的业务数据;
d:若第kc列中包含d个字节的业务数据,且0<d≤M/2,则从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
本发明还提供一种里德索罗蒙码的译码装置,包含:数据填充单元,字节交织器,译码单元;该装置还包含循环移位单元,数据提取单元;其中:
所述数据填充单元用于在所述字节交织器中按列依次填充待译码数据;
所述循环移位单元用于向所述字节交织器发送循环移位控制信号,对字节交织器校验区中的数据按行和/或按列进行循环移位,使得校验区的每行数据为字节交织器信息区中相应行数据的依序排列的校验数据;
所述译码单元用于按照行方式对所述字节交织器中的数据进行RS译码,将译码得到的各行信息数据依序写入所述字节交织器信息区的对应行;
所述数据提取单元用于从字节交织器信息区中逐列读出所述译码后信息数据中的业务数据。
此外,所述循环移位单元对所述字节交织器校验区中的数据按列进行循环移位,校验区第i列所有行移动的位数为:floor(i×M/S);其中,M为所述字节交织器的行数,S为所述校验区的列数,i=0,1,...,S-1。
此外,所述数据提取单元用于顺序读出字节交织器信息区第0至kc-1列中的业务数据;并且:
若第kc列中包含d个字节的业务数据,且0<d≤M/2,则所述数据提取单元从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则所述数据提取单元从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
此外,所述循环移位单元对所述字节交织器校验区中的数据,以从下到上的方向进行所述循环移位。
本发明还提供一种里德索罗蒙码的译码装置,包含:数据填充单元,字节交织器,译码单元;该装置还包含数据提取单元;其中:
所述数据填充单元用于在所述字节交织器中按列依次填充待译码数据;
所述译码单元用于按照行方式对所述字节交织器中的数据进行RS译码,将译码得到的各行信息数据依序写入所述字节交织器信息区的对应行;
所述数据提取单元用于顺序读出字节交织器信息区第0至kc-1列中的业务数据;并且:
若第kc列中包含d个字节的业务数据,且0<d≤M/2,则所述数据提取单元从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则所述数据提取单元从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
采用本发明的RS码译码方法及装置,与相应的RS码交织编码方法配合使用,若采用在行的方向上进行循环移位,可避免数据包中的连续错误对译码的影响;若采用在列的方向上进行循环移位,可保证在行的方向也有很好的分集,起着行列交织器的行置换的作用,在数据包的传输过程中能够避免周期性噪声的干扰,从而使得编码具有最好的性能;此外,通过均匀地放置填充零字节,使得交织的时间分集效果更好。
附图说明
图1是现有技术中进行RS码交织编码后的示意图;
图2是一种RS码交织编码方法流程图;
图3是一种RS码交织编码方法对填充部分进行交织的示意图;
图4是一种RS码交织编码方法填充校验数据的示意图;
图5是本发明实施例RS码译码方法流程图;
图6是本发明实施例用待译码数据填充RS(N,K,S)码字节交织器的示意图;
图7是本发明实施例RS码译码装置结构示意图。
具体实施方式
本发明提供一种RS码交织编码方法,以及对应的RS译码方法,通过将信息区中包含有效数据的最后一列中的填充值为0的区域分散开,和/或对校验区的校验数据进行移位来改进现有技术中RS码交织编码方法,并能达到提高数据链路层的可靠性的技术效果。
下面将结合附图和实施例分别对本发明的RS码交织编码,以及相应的RS码的译码方法及装置进行详细描述。
RS码交织编码方法
本实施例提供了一种RS码交织编码方法,设给定的RS码为(N,K,S),则对应的字节交织器的列数为N,左边K列为信息区,右边S(S=N-K)列为校验区,上述N、K、S的单位为字节。本实施例中交织器的行数及列数采用从0开始编号,具体实现时也可采用其他编号方式。如图2所示,本发明方法具体操作如下所述:
步骤201:将IP(Internet Protocol,因特网协议)数据按多协议封装成TS(Time-Slicing,时间分片)码流,得到业务数据包的字节大小,设该数据包的字节大小为F个字节,该步骤具体操作方法与现有技术相同;
步骤202:根据业务数据包中的字节数F及信息区的列数K计算出交织器的行数M及信息区中能够用有效数据填满的列数kc,用有效数据填满的列是指直接用原数据包中的数据即可填满的列;
其中:
交织器的行数M=ceil(F/K),ceil(·)表示向上取整;
kc=floor(F/M),floor(·)表示向下取整;
此外,还需计算如下参数:
d=F mod M,mod表示取模运算;d表示填满前kc列后剩余的有效数据字节数;
另外,记g=floor(M/d);h=floor(M/(M-d))。
步骤203:根据上述计算所得参数用业务数据填充RS(N,K,S)码字节交织器的前K列,即信息区;
本步骤可分为以下子步骤:
步骤2031:将业务数据包的前kc×M字节从第0列开始,逐列依次写入所述信息区的前kc列(即第0到第kc-1列),每列从上到下顺序写入;
即从RS(N,K,S)码字节交织器的第0列按从上到下的顺序开始填充,填完第0列再按从上到下的顺序填充第1列,依此类推,直到填充完RS(N,K,S)码字节交织器的前kc列,每列填充M个字节;前kc×M字节填充完毕后,若d不等于0则执行步骤2032,否则执行步骤204。
步骤2032:用业务数据包中剩余的d个字节数据和M-d个字节0填充第kc列;
具体的填充方法可以是但不限于:
若d≤M/2,将该列中第0,g,2×g,...,(d-1)×g行从上到下依次写入业务数据包剩余的d个字节,剩余位置填充M-d个字节0;
否则,将该列中第0,h,2×h,...,(M-d-1)×h行填充M-d个字节0,剩余行位置从上到下依次写入业务数据包剩余的d个字节,填充后的形式如图3所示。这时在该列,信息数据和填充数据几乎处于均匀分布状态。
步骤2033:在信息区的剩余部分,即第kc+1列至第K-1列全部填充0字节。
步骤204:根据信息区的数据构造每行校验区的数据,即按照行的方式进行RS编码,每一行后面添加S个字节的校验数据,每行校验数据是根据所在行前K列的数据信息生成的,具体方法与现有技术相同,填充后的形式如图4所示,该图只示出了填充第0行校验数据的情形;
步骤205:对校验数据进行循环移位处理,可以是按行或按列进行循环移位,也可以是即按行又按列循环移位,各行或各列的移动位数可以不相同,每行或每列的移位位数可按某个预设的约定得到,如由某个预设的公式计算得到;
按列循环移位可以采用但不限于如下方式:
对第0列所有行的数据不进行列循环移位操作;
对第i列的所有行的数据,按照从上到下的方向(或从下到上的方向)进行循环移位,同一列的所有数据移动位数相同。计算移动位数的公式可以是但不限于:
floor(i×M/S)位,i=1,...,S-1。
步骤206:将RS(N,K,S)码字节交织器中校验区数据逐列依次读出,每列按从上到下的方式读出,将读出的数据进行XPE-FEC(eXtensibleProtocol Encapsulation-Forward Error Corection,可扩展协议封装-前向纠错)复用适配封装。
综上所述,采用上述RS码交织编码方法,若在行的方向上进行循环移位,可避免数据包中的连续错误对译码的影响;若在列的方向上进行循环移位,保证在行的方向也有很好的分集,起着行列交织器的行置换的作用,在数据包的传输过程中能够避免周期性噪声的干扰,从而使得编码具有最好的性能;此外,上述方法还提出了在有填充字节和信息数据包字节的列中,均匀地放置填充零字节,可以使得时间上具有更加均匀的保护。这样做的好处,使得交织的时间分集效果更好。
RS码译码方法
图5为本发明实施例RS码译码方法流程图。该译码方法是与上述编码方法相对应的逆过程。本实施例中,同样设定RS码为(N,K,S),此外,设接收到的业务数据包按多协议解封装后得到的待译码数据(包含业务数据、填充数据和对应的校验数据)的字节数为T。
如图5所示,该方法包含如下步骤:
步骤501:根据待译码数据的字节数T及字节交织器的列数N计算出所述字节交织器的行数M=ceil(T/N);
步骤502:用待译码数据填充RS(N,K,S)码字节交织器;
图6是本发明实施例用待译码数据填充RS(N,K,S)码字节交织器的示意图。
步骤503:对校验数据(即图6所示交织器中的右边S列数据)进行循环移位处理;与对应RS交织编码过程采用的循环移位规则相对应,本步骤中的循环移位处理规则可以是按行循环移位,也可以是按列循环移位,各行或各列的移动位数可以不相同,每行或每列的移位位数可按某个预设的约定得到,如由某个预设的公式计算得到。
具体移位方式可以采用但不限于如下方式:(与步骤205采用的循环移位方法相对应)
对于第0列所有行的数据不进行列循环移位操作;
对于第i列的所有行的数据,按照从下到上方向(或从上到下的方向)进行循环移位,同一列的所有数据移动位数相同。计算移动位数的公式可以是但不限于:
floor(i×M/S)位,i=1,...,S-1。
步骤504:根据字节交织器中每行的数据,按照行的方式进行RS译码,得到K个字节的信息数据,写入所在行的前K列,即得到信息区每行的数据,具体译码方法与现有技术相同。
步骤505:将译码后RS码字节交织器中信息区的有效数据逐列依次读出;
本步操作可分为以下子步骤:
步骤5051:根据所述有效数据序列(即业务数据序列)的字节数F,计算出所述信息区中能够用有效数据填满的列数kc,kc=floor(F/M);
上述有效数据序列字节数F是发送端(RS编码端)通过其它信令预先告知接收端(RS译码端)的。
步骤5052:顺序读出所述信息区的前kc列,每列从上到下顺序读出;得到所述信息序列的前kc×M个字节;
步骤5053:设信息序列中剩余的d个字节未被读出,若d=0,则结束;若d≠0,则执行步骤5054;
其中,d=F mod M。
步骤5054:记g=floor(M/d),h=floor(M/(M-d));按下列方法将信息序列中剩余d个字节从交织器的第kc列读出:
若0<d≤M/2,则从该列的第0,g,2×g,...,(d-1)×g行,从上到下依次读取信息序列剩余的d个字节;
若d>M/2,则跳过该列中第0,h,2×h,...,(M-d-1)×h行位置不读,从上到下依次读取该列剩余行中信息序列剩余的d个字节。
需要注意的是,步骤503是一个可选步骤,即步骤501~502加上步骤504~505可以构成一个完整的实施例。
RS码译码装置
图7为本发明实施例RS码译码装置结构示意图。如图7所示,该装置包含:数据填充单元,存储器(即字节交织器),循环移位单元,译码单元,数据提取单元。其中:
数据填充单元,用于接收待译码数据,并根据待译码数据的字节数T及字节交织器的列数N计算出所述字节交织器的行数M;用待译码数据填充RS(N,K,S)码字节交织器;M的计算公式如上所述。
循环移位单元,用于向字节交织器输出循环移位控制信号,对字节交织器中的校验数据按行或列进行循环移位处理;具体的移位方法和移动位数的计算公式如上所述。
需要注意的是,循环移位单元是一个可选单元。
译码单元,用于对字节交织器中的每行数据,按照行的方式进行RS译码,得到K个字节的信息数据,写入所在行的前K列,即得到信息区每行的数据。
数据提取单元,用于将译码后字节交织器中信息区的有效数据逐列依次读出,输出有效数据序列;具体读取方法如上所述。
Claims (10)
1、一种里德索罗蒙码的译码方法,其特征在于,该方法包括如下步骤:
A:在字节交织器中按列依次填充待译码数据;
B:对字节交织器校验区中的数据按行和/或按列进行循环移位,使得校验区的每行数据为字节交织器信息区中相应行数据的依序排列的校验数据;
C:按照行方式进行RS译码,将译码得到的各行信息数据依序写入字节交织器信息区的对应行;
D:从字节交织器信息区中逐列读出所述译码后信息数据中的业务数据。
2、如权利要求1所述的方法,其特征在于,
步骤B中,对字节交织器校验区中的数据按列进行循环移位,校验区第i列所有行移动的位数为:floor(i×M/S);其中,M为所述字节交织器的行数,S为所述校验区的列数,i=0,1,...,S-1。
3、如权利要求1所述的方法,其特征在于,
步骤D包含如下子步骤:
D1:顺序读出字节交织器信息区第0至kc-1列中的业务数据;
D2:若第kc列中包含d个字节的业务数据,且0<d≤M/2,则从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
4、如权利要求2所述的方法,其特征在于,
步骤B中,对所述字节交织器校验区中的数据,以从下到上的方向进行所述循环移位。
5、一种里德索罗蒙码的译码方法,其特征在于,该方法包括如下步骤:
a:在字节交织器中按列依次填充待译码数据;
b:按照行方式进行RS译码,将译码得到的各行信息数据依序写入字节交织器信息区的对应行;
c:从字节交织器信息区中顺序读出第0至kc-1列中的业务数据;
d:若第kc列中包含d个字节的业务数据,且0<d≤M/2,则从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
6、一种里德索罗蒙码的译码装置,包含:数据填充单元,字节交织器,译码单元;其特征在于,该装置还包含循环移位单元,数据提取单元;其中:
所述数据填充单元用于在所述字节交织器中按列依次填充待译码数据;
所述循环移位单元用于向所述字节交织器发送循环移位控制信号,对字节交织器校验区中的数据按行和/或按列进行循环移位,使得校验区的每行数据为字节交织器信息区中相应行数据的依序排列的校验数据;
所述译码单元用于按照行方式对所述字节交织器中的数据进行RS译码,将译码得到的各行信息数据依序写入所述字节交织器信息区的对应行;
所述数据提取单元用于从字节交织器信息区中逐列读出所述译码后信息数据中的业务数据。
7、如权利要求6所述的装置,其特征在于,
所述循环移位单元对所述字节交织器校验区中的数据按列进行循环移位,校验区第i列所有行移动的位数为:floor(i×M/S);其中,M为所述字节交织器的行数,S为所述校验区的列数,i=0,1,...,S-1。
8、如权利要求6所述的装置,其特征在于,
所述数据提取单元用于顺序读出字节交织器信息区第0至kc-1列中的业务数据;并且:
若第kc列中包含d个字节的业务数据,且0<d≤M/2,则所述数据提取单元从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则所述数据提取单元从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
9、如权利要求7所述的装置,其特征在于,
所述循环移位单元对所述字节交织器校验区中的数据,以从下到上的方向进行所述循环移位。
10、一种里德索罗蒙码的译码装置,包含:数据填充单元,字节交织器,译码单元;其特征在于,该装置还包含数据提取单元;其中:
所述数据填充单元用于在所述字节交织器中按列依次填充待译码数据;
所述译码单元用于按照行方式对所述字节交织器中的数据进行RS译码,将译码得到的各行信息数据依序写入所述字节交织器信息区的对应行;
所述数据提取单元用于顺序读出字节交织器信息区第0至kc-1列中的业务数据;并且:
若第kc列中包含d个字节的业务数据,且0<d≤M/2,则所述数据提取单元从该列的第0,g,2×g,...,(d-1)×g行从上到下依次读出业务数据的剩余d个字节;
若第kc列中包含d个字节的业务数据,且d>M/2,则所述数据提取单元从该列中除第0,h,2×h,...,(M-d-1)×h行以外的其它行,从上到下依次读出业务数据的剩余d个字节;
其中,有效数据字节数为F,所述字节交织器的行数为M,kc=floor(F/M),d=F mod M,g=floor(M/d),h=floor(M/(M-d))。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810093233A CN100589359C (zh) | 2008-04-23 | 2008-04-23 | 一种里德索罗蒙码的译码方法及装置 |
US12/988,643 US8286063B2 (en) | 2008-04-23 | 2008-08-25 | Decoding method and device for Reed-Solomon code |
EP08784122.7A EP2271018B1 (en) | 2008-04-23 | 2008-08-25 | A decoding method and device for reed-solomon code |
PCT/CN2008/072132 WO2009129675A1 (zh) | 2008-04-23 | 2008-08-25 | 一种里德索罗蒙码的译码方法及装置 |
RU2010143320/09A RU2444137C1 (ru) | 2008-04-23 | 2008-08-25 | Способ и устройство декодирования кода рида-соломона |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810093233A CN100589359C (zh) | 2008-04-23 | 2008-04-23 | 一种里德索罗蒙码的译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101262305A true CN101262305A (zh) | 2008-09-10 |
CN100589359C CN100589359C (zh) | 2010-02-10 |
Family
ID=39962546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810093233A Expired - Fee Related CN100589359C (zh) | 2008-04-23 | 2008-04-23 | 一种里德索罗蒙码的译码方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8286063B2 (zh) |
EP (1) | EP2271018B1 (zh) |
CN (1) | CN100589359C (zh) |
RU (1) | RU2444137C1 (zh) |
WO (1) | WO2009129675A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969358A (zh) * | 2010-09-29 | 2011-02-09 | 航天恒星科技有限公司 | 一种用于空间通信的高速并行rs译码方法 |
CN102325003A (zh) * | 2011-07-14 | 2012-01-18 | 海能达通信股份有限公司 | 数据错误检测的方法、装置及通信系统 |
CN101729193B (zh) * | 2008-11-03 | 2013-08-28 | 华为技术有限公司 | 编码方法和装置、解码方法和装置以及编解码系统 |
CN103780352A (zh) * | 2014-01-26 | 2014-05-07 | 上海网达软件股份有限公司 | Rsfec解码算法的解码性能优化方法 |
CN113485866A (zh) * | 2021-07-02 | 2021-10-08 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2677372C1 (ru) * | 2017-08-07 | 2019-01-16 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет "(ЮЗГУ) | Устройство декодирования произведений кодов Рида-Соломона |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6889356B1 (en) * | 1994-11-23 | 2005-05-03 | Cingular Wireless Ii, Llc | Cyclic trellis coded modulation |
CN1215671C (zh) | 1997-05-30 | 2005-08-17 | 高通股份有限公司 | 为空中文件转发提供差错保护的方法和装置 |
US7549107B1 (en) * | 2000-05-18 | 2009-06-16 | Broadcom Corporation | Interleaved reed solomon coding for home networking |
US7000168B2 (en) * | 2001-06-06 | 2006-02-14 | Seagate Technology Llc | Method and coding apparatus using low density parity check codes for data storage or data transmission |
US6895547B2 (en) * | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
WO2004006443A1 (en) * | 2002-07-03 | 2004-01-15 | Hughes Electronics Corporation | Bit-interleaved coded modulation using low density parity check (ldpc) codes |
KR100902295B1 (ko) | 2002-10-19 | 2009-06-10 | 삼성전자주식회사 | 복합적 오류정정 부호화 기능을 구비한 디지털방송시스템의 전송장치 및 전송방법 |
EP1770892A3 (en) * | 2003-08-29 | 2007-04-18 | Mitsubishi Electric Information Technology Centre Europe B.V. | Method for transmitting in an optimal manner interleaved data in a MIMO telecommunication system |
KR20060011249A (ko) | 2004-07-29 | 2006-02-03 | 삼성전자주식회사 | 블록 인터리빙을 사용하는 이동통신 시스템에서디인터리빙 버퍼 운용 방법 및 그 장치 |
KR20060029495A (ko) * | 2004-10-01 | 2006-04-06 | 삼성전자주식회사 | 리드-솔로몬 부호의 복호 장치 및 방법 |
US7617441B2 (en) * | 2005-07-18 | 2009-11-10 | Broadcom Corporation | Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices |
US7617439B2 (en) * | 2005-01-10 | 2009-11-10 | Broadcom Corporation | Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices |
US7617442B2 (en) * | 2005-07-18 | 2009-11-10 | Broadcom Corporation | Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices |
RU2310273C2 (ru) * | 2005-10-24 | 2007-11-10 | Открытое акционерное общество "Российский институт мощного радиостроения" | Способ кодирования-декодирования информации в системах передачи данных |
-
2008
- 2008-04-23 CN CN200810093233A patent/CN100589359C/zh not_active Expired - Fee Related
- 2008-08-25 US US12/988,643 patent/US8286063B2/en not_active Expired - Fee Related
- 2008-08-25 RU RU2010143320/09A patent/RU2444137C1/ru not_active IP Right Cessation
- 2008-08-25 WO PCT/CN2008/072132 patent/WO2009129675A1/zh active Application Filing
- 2008-08-25 EP EP08784122.7A patent/EP2271018B1/en not_active Not-in-force
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729193B (zh) * | 2008-11-03 | 2013-08-28 | 华为技术有限公司 | 编码方法和装置、解码方法和装置以及编解码系统 |
CN101969358A (zh) * | 2010-09-29 | 2011-02-09 | 航天恒星科技有限公司 | 一种用于空间通信的高速并行rs译码方法 |
CN101969358B (zh) * | 2010-09-29 | 2012-12-26 | 航天恒星科技有限公司 | 一种用于空间通信的高速并行rs译码方法 |
CN102325003A (zh) * | 2011-07-14 | 2012-01-18 | 海能达通信股份有限公司 | 数据错误检测的方法、装置及通信系统 |
CN103780352A (zh) * | 2014-01-26 | 2014-05-07 | 上海网达软件股份有限公司 | Rsfec解码算法的解码性能优化方法 |
CN103780352B (zh) * | 2014-01-26 | 2017-02-01 | 上海网达软件股份有限公司 | Rsfec解码算法的解码性能优化方法 |
CN113485866A (zh) * | 2021-07-02 | 2021-10-08 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
CN113485866B (zh) * | 2021-07-02 | 2023-05-09 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2009129675A1 (zh) | 2009-10-29 |
US20110041034A1 (en) | 2011-02-17 |
EP2271018B1 (en) | 2017-10-04 |
EP2271018A1 (en) | 2011-01-05 |
US8286063B2 (en) | 2012-10-09 |
CN100589359C (zh) | 2010-02-10 |
EP2271018A4 (en) | 2011-05-11 |
RU2444137C1 (ru) | 2012-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9660763B2 (en) | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes | |
WO2016045391A1 (zh) | 一种数据传输方法及装置 | |
CN100589359C (zh) | 一种里德索罗蒙码的译码方法及装置 | |
US9130594B2 (en) | Continuously interleaved error correction | |
CA3193950C (en) | Forward error correction with compression coding | |
US8136020B2 (en) | Forward error correction CODEC | |
CN101667887A (zh) | 编码方法及其装置、解码方法及其装置 | |
WO2006085488A1 (ja) | 誤り訂正符号化装置及び誤り訂正復号装置 | |
JPWO2013001706A1 (ja) | 無線送受信装置、通信システム及びそれらに用いるチャネルコーディング処理方法 | |
CN101686104B (zh) | 一种前向纠错的编解码的方法、装置和系统 | |
US7289530B1 (en) | System and method for coding a digital wrapper frame | |
CN100488057C (zh) | 数字信号的优化交织 | |
KR20160105312A (ko) | 가변 길이 시그널링 정보 부호화를 위한 제로 패딩 장치 및 이를 이용한 제로 패딩 방법 | |
CN101459432B (zh) | 一种rs码交织编码方法 | |
CN115037415B (zh) | 基于crc的纠错编码的方法、装置、终端 | |
TWI520528B (zh) | 增壓碼 | |
JP2023519407A (ja) | データ通信のためのコーディング方法および装置 | |
JP2013070289A (ja) | 誤り訂正方法、誤り訂正装置、送信機、受信機及び誤り訂正プログラム | |
CN115037414B (zh) | 基于crc的纠错解码的方法、装置、终端 | |
Bitzer et al. | On locally invertible rate-1/n convolutional encoders | |
CODE | mod u Ie | |
CN117240401A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200122 Address after: 4819 emperor Avenue, Triangle Park Research Center, Durham, Delaware, USA Patentee after: Open Invention Network Co.,Ltd. Address before: 518057 Department of law, Zhongxing building, South hi tech Industrial Park, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen Patentee before: ZTE Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |