CN110071727A - 编码方法、译码方法、纠错方法及装置 - Google Patents
编码方法、译码方法、纠错方法及装置 Download PDFInfo
- Publication number
- CN110071727A CN110071727A CN201910345559.0A CN201910345559A CN110071727A CN 110071727 A CN110071727 A CN 110071727A CN 201910345559 A CN201910345559 A CN 201910345559A CN 110071727 A CN110071727 A CN 110071727A
- Authority
- CN
- China
- Prior art keywords
- row
- column
- data
- interval
- unit
- 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/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
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
编码方法、译码方法、纠错方法及装置,其中所述编码方法,适于执行RS编码,以对在一个时钟周期内包括1个符号误码传输的数据进行纠错,其中,一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t等于n‑k,1个符号的长度为t,所述编码方法包括:将输入的信息码数据与预设的校验矩阵进行组合异或,得到校验码数据;将所述信息码数据和所述校验码数据组合,得到RS编码数据并输出;其中,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。采用上述方案可以提高编码效率。
Description
技术领域
本发明实施例涉及编码纠错技术领域,尤其涉及编码方法、译码方法、纠错方法及装置。
背景技术
纠错码技术在通信信息技术中广泛使用。一般而言,在数字信息发送之前,需要按照相应规则,在发送端的数据流中加入冗余码,以便接收端能够进行误码检测与纠正。里德-所罗门(Reed-Solomon,RS)纠错码是目前最有效且应用较广的差错控制编码方式。RS码可以纠正随机错误,也可以纠正突发错误与存储错误,已经广泛应用于卫星通信、数字电视、闪存(Nand Flash)与DDR内存等领域。
目前已有的RS编码、译码与纠错方法,不论是编码、译码还是纠错,每种操作都需要n(码长)个时钟周期迭代移位后,才能输出结果,计算效率较低,而且计算过程复杂度高。
发明内容
有鉴于此,本发明实施例提供了一种编码方法、译码方法、纠错方法及装置,可以分别相应提高编码效率、译码效率和纠错效率。
本发明实施例提供了一种编码方法,适于执行RS编码,以对在一个时钟周期内包括1个符号误码传输的数据进行纠错,其中,一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t等于n-k,1个符号的长度为t,所述编码方法包括:
将输入的信息码数据与预设的校验矩阵进行组合异或,得到校验码数据;
将所述信息码数据和所述校验码数据组合,得到RS编码数据并输出;
其中,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。
可选地,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
可选地,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
本发明实施例提供了一种译码方法,适于执行RS译码,对于一个时钟周期内输入的码字长度为n的RS编码数据,其中包含码字长度为k的信息码数据和码字长度为2t的校验码数据,且2t等于n-k,所述RS编码数据适于纠错1个符号的误码,1个符号的长度为t,所述译码方法包括:
将输入的RS编码数据与预设的校验矩阵进行组合异或,得到伴随式数据,所述伴随式数据包括所述信息码数据和所述校验码数据,所述预设的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
根据得到的伴随式数据的结果输出相应数据。
可选地,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
可选地,所述校验矩阵的第1行至第t行和第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
可选地,所述根据得到的伴随式数据的结果输出相应数据,包括:当得到的伴随式数据中包含非零值时,将所述伴随式数据输出至纠错装置进行纠错处理;当得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据作为译码结果直接输出。
本发明实施例提供了一种数据纠错方法,适于对获取的RS译码数据执行纠错,修正包括1个符号误码传输的数据中的误码,其中,一个时钟周期输入的RS译码输出码数据的长度为n,译码得到的信息码的码字长度为k,1个符号的长度为t,校验码数据的码字长度为2t,且2t等于n-k,所述数据纠错方法包括:
获取RS译码得到的伴随式数据,基于符号位置与对应的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t];其中,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
当所述RS译码得到的伴随式不全为0,且仅有第i个符号位置B[i]等于1时,确定第i个符号存在错误,则将译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据。
可选地,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
可选地,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
可选地,所述数据纠错方法还包括:当所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,确定至少两个符号存在错误。
本发明实施例还提供了一种编码装置,适于执行RS码编码,以对在一个时钟周期内包括1个符号误码传输的数据进行纠错,其中一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t等于n-k,1个符号的长度为t,所述编码装置包括:
第一输入单元,适于输入信息码数据;
第一存储单元,适于存储预设的校验矩阵,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
编码单元,适于将所述第一输入单元输入的信息码数据与所述第一存储单元存储的校验矩阵进行组合异或,得到RS编码数据;
第一输出单元,适于输出所述编码单元得到的RS编码数据。
可选地,所述第一存储单元存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
可选地,所述第一存储单元存储的校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
本发明实施例还提供了一种译码装置,适于执行RS译码,对于一个时钟周期内输入的码字长度为n的RS编码数据,其中包含码字长度为k的信息码数据和码字长度为2t的校验码数据,且2t等于n-k,所述RS编码数据适于纠错1个符号的误码,1个符号的长度为t,所述译码装置包括:
第二输入单元,适于输入RS编码数据;
第二存储单元,适于存储预设的校验矩阵,所述预设的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
译码单元,适于将第二输入单元输入的RS编码数据与所述第二存储单元存储的校验矩阵进行组合异或,得到伴随式数据,所述伴随式数据包括所述信息码数据和所述校验码数据;
第二输出单元,适于根据得到的伴随式数据的结果输出相应数据。
可选地,所述第二存储单元存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
可选地,所述第二存储单元存储的校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
可选地,所述输出单元包括:
判断子单元,适于判断所述译码单元得到的伴随式数据中是否包含非零值;
第一输出子单元,适于在所述判断子单元确定所述译码单元得到的伴随式数据中包含非零值时,将所述伴随式数据输出至纠错装置进行纠错处理;
提取子单元,适于在所述判断子单元确定所述译码单元得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据;
第二输出子单元,适于将所述提取子单元提取的信息码数据直接输出。
本发明实施例还提供了一种数据纠错装置,适于对获取的RS译码数据执行纠错,修正包括1个符号误码传输的数据中的误码,其中,一个时钟周期输入的RS译码输出码数据的长度为n,译码得到的信息码的码字长度为k,1个符号的长度为t,校验码数据的码字长度为2t,且2t等于n-k,所述数据纠错装置包括:
第三输入单元,适于获取RS译码得到的伴随式数据;
第三存储单元,适于存储预设的校验矩阵,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
符号位置生成单元,适于基于符号位置与所述第三存储单元中存储的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t];
错误符号位置确定单元,适于当确定所述RS译码得到的伴随式不全为0时,且仅有第i个符号位置B[i]等于1时,确定所述第i个符号错误;
纠错单元,适于当所述错误符号位置确定单元确定仅有所述第i个符号错误时,将所述译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据。
可选地,所述第三存储单元存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
可选地,所述第三存储单元存储的所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
可选地,所述错误符号位置确定单元,还适于所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,确定存在至少两个符号位置错误。
一方面,采用本发明实施例的编码方案,以对在一个时钟周期内包括1个符号误码传输的数据进行纠错,通过将输入的信息码数据与预设的校验矩阵进行组合异或,即可得到RS编码数据,其中,一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t等于n-k,1个符号的长度为t,由于所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵,采用这一特殊构造的简化的校验矩阵,可以十分巧妙地确认出错位置,并实现纠错,且这一编码过程无须移位迭代及乘除法操作,也无过于复杂的公式计算过程,只需要进行组合异或的简单的逻辑操作,一个时钟周期即可完成编码运算,因而可以极大地提高编码效率。
进一步地,所述校验矩阵的第一区间的t行t列的单位矩阵可以分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵可以分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
进一步地,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵,校验矩阵结构简单,采用这一校验矩阵进行译码及纠错无须进行任何变形转换,通过这一简化的校验矩阵一个时钟周期即可完成RS编码运算,故可以提高编码效率。
另一方面,采用本发明实施例相应的译码方案进行译码,对于一个时钟周期内输入的码字长度为n的RS编码数据,其中包含码字长度为k的信息码数据和码字长度为2t的校验码数据,且2t等于n-k,所述RS编码数据适于纠错1个符号的误码,1个符号的长度为t,将输入的RS编码数据与预设的校验数据进行组合异或,得到伴随式数据并输出,由于预设的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵,采用这一特殊构造的简化的校验矩阵,可以十分巧妙地确认出错位置,并实现纠错,且这一译码过程无须移位迭代及乘除法操作,也无过于复杂的公式计算,只需要一个时钟周期即可完成译码运算,因而可以极大地提高译码效率。
进一步地,所述校验矩阵的第一区间的t行t列的单位矩阵可以分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵可以分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
进一步地,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。这一校验矩阵结构简单,采用这一校验矩阵进行译码及纠错无须进行任何变形转换,通过这一简化的校验矩阵一个时钟周期即可完成RS译码运算,故可以提高译码效率。
另一方面,采用本发明实施例的数据纠错方案,适于对获取的RS译码数据执行纠错,修正包括1个符号误码传输的数据中的误码,其中一个时钟周期输入的RS译码输出码数据的长度为n,译码得到的信息码的码字长度为k,1个符号的长度为t,且校验码数据的码字长度为2t且2t等于n-k,通过获取RS译码得到的伴随式数据,基于符号位置与对应的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t],由于所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵,当所述RS译码得到的伴随式不全为0,且仅有第i个符号位置B[i]等于1时,确定第i个符号存在错误,则将译码得到的相应位置的信息码数据分别与对应的校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,即可得到B[i]相应位置的信息码数据,采用本发明实施例的构造的简化的校验矩阵,可以十分巧妙地确认出错位置,并实现纠错,且这一纠错过程无须移位迭代及乘除法操作,也无过于复杂的公式计算,只需要一个时钟周期即可完成纠错运算,因而可以极大地提高纠错效率。
进一步地,所述校验矩阵的第一区间的t行t列的单位矩阵可以分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵可以分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
进一步地,所述校验矩阵的第1行至第t行和第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵,通过这一简化的校验矩阵一个时钟周期即可进行RS纠错,故可以提高纠错效率。
进一步地,当所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,可以确定至少两个符号位置错误,从而可以采取进一步的措施,避免产生数据错误。
附图说明
图1示出了一种编码电路的结构示意图;
图2示出了本发明实施例中一种编码方法的流程图;
图3示出了本发明实施例中一种译码方法的流程图;
图4示出了本发明实施例中一种纠错方法的流程图;
图5示出了本发明实施例中一种编码、译码、纠错方法的应用场景示意图;
图6示出了本发明实施例中一种编码装置的结构示意图;
图7示出了本发明实施例中一种译码装置的结构示意图;
图8示出了本发明实施例中一种纠错装置的结构示意图。
具体实施方式
RS码是一种多元循环移位(BCH)码,定义在伽罗华(Galois)有限域GF(2m)上,m为一个符号包含的二进制序列的位数。纠正1个符号错误的RS码可以表示为RS(n,k),其中:n表示码字长度,n=2m-1;k表示信息长度k=n-2t;校验码长度2t=n-k,1个符号包含t比特数据。
一般而言,在数字信息发送之前,采用RS编码电路对信息码进行编码,在接收侧对于接收到的RS编码数据采用相应的RS译码电路进行译码并纠错。
目前常用的RS编码器有k级编码器和n-k级编码器。其中,对于n-k级编码器的编码过程中,需要用到生成多项式g(x),现有n-k级编码器采用g(x)乘法电路编码器或除法电路编码器,可以将待编码的信息组m(x)编成C(x),使得C(x)=g(x)*m(x),其中:
g(x)=g2tx2t+g2t-1x2t-1+...+g1x+g0,(g2t=1);
m(x)xn-k=mkxn-1+mk-1xn-2+...+0xn-k-1+...+0x+0。
那么,m(x)xn-k/g(x)的除法电路可以如图1所示,上述方法相当于事先做好m(x)xn -k,再做除法,m1,m2,…mk依次存入寄存器R1、R2至R2t,这样需要移位n次。
RS码的译码过程具体如下:
由接收到的RS编码数据r(x)可以求得伴随式数据sj;
其中,当伴随式数据sj全为0时,可以确定信息码均正确,可以提取所述伴随式数据对应的信息码数据直接输出;当得到的伴随式数据sj包含非零值时,可以将所述伴随式数据sj输出至纠错装置进行纠错处理。
RS码的具体纠错过程可以包含如下几个步骤:
由伴随式数据sj可以求得错误位置多项式;
用钱式搜索解出错误位置多项式的根,得到错误位置数,确定错误位置;
由错误位置数求得错误值,从而得到错误图样
完成纠错。
而不论是译码过程中求伴随式还是纠错过程中确定错误位置,也均需要n次迭代移位,因此,编码、译码、纠错效率均较低。
针对上述问题,本发明实施例公开了一种编码方案、译码方案和纠错方案,通过特殊构造的简化的校验矩阵,可以十分巧妙地确认出错位置,并实现纠错,且采用上述特征构造的简化的校验矩阵进行编码、译码、纠错的过程均无须移位迭代及乘除法操作,也无过于复杂的公式计算过程,只需要一个时钟周期即可完成相应的编码、译码及纠错过程,从而可以极大地提高编码、译码及纠错效率。
具体而言,对于一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t等于n-k,本发明实施例采用的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。采用所述校验矩阵所生成的RS编码,对于一个时钟周期输入的k比特信息码数据,可以纠正其中1个符号(t比特)的错误。
为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,对编码、译码及纠错方案分别进行详细介绍。
首先介绍本发明实施例所采用的编码过程:
参照图2,本发明实施例提供了一种编码方法,适于执行RS编码,一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t=n-k,适于纠正其中一个符号的错误,1个符号的长度为t,本发明实施例具体可以执行如下编码过程:
S21,将输入的信息码数据与预设的校验矩阵进行组合异或,得到校验码数据;其中,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。
在具体实施中,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。又如,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间,或者分别位于所述校验矩阵的上半区间和下半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。在本发明一实施例中,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。这一校验矩阵结构简单,采用这一校验矩阵进行译码及纠错无须进行任何变形转换,因而不但可以提高编码效率,还可以进一步提高译码效率和纠错效率。
S22,将所述信息码数据和所述校验码数据组合,得到RS编码数据并输出。
以下对本发明实施例的编码原理进行详细介绍:
例如对于信息码M,码字长度为k,可以表示为:M=[m1,m2,m3,…mk],其中mi表示第i个信息码;
校验码chk,码字长度为2t,可以表示为:chk=[chk1,chk2,chk3,…chk2t],chkj表示第j个校验码。
设RS编码后数据为C={M,chk},则:
H*CT=0(1)
其中:H为校验矩阵,校验矩阵H共有r行,n列,在本发明一实施例中,分为两部分,校验矩阵H内右半部分为第二区间,包括r行r列的单位矩阵,左半部分为r行k列,其中r=n-k=2t,左半部分包含所述第一区间,具体如下矩阵H所示。
将上述校验矩阵H代入式(1)展开,可得到校验方程组如下,其中“+”表示组合异或操作,即将相应位置的信息码、校验码分别与校验矩阵对应位置的值进行组合,并分别进行异或处理:
h11m1+h12m2+…+h1kmk+r1+0+0+…+0=0;
h21m1+h22m2+…+h2kmk+0+r2+0+…+0=0;
……
Hr1m1+hr2m2+…+hrkmk+0+0+0+…+r2t=0。
上述方程组中hij为常数,与校验矩阵H中相应位置的值一致。
则可得到校验码数据:
r1=h11m1+h12m2+…+h1kmk;
r2=h21m1+h22m2+…+h2kmk;
……
r2t=hr1m1+hr2m2+…+hrkmk。
因此,只要将本发明实施例所采用的预设的校验矩阵与输入的信息码进行组合异或,即可得到校验码数据chk=r1~r2t,继而可以得到RS编码数据C={M,chk},由于本发明实施例所采用的校验矩阵的值为事先已知的简化矩阵,仅需一次组合异或即可得到RS校验码,这一过程仅需要一个时钟周期即可完成,而无须多个周期来进行循环移位,故可以大大提高RS编码效率。
以下介绍本发明实施例所采用的译码方法,可以执行RS译码。对于一个时钟周期内输入的码字长度为n的RS编码数据,其中包含码字长度为k的信息码数据和码字长度为2t的校验码数据,且2t等于n-k,所述RS编码数据适于纠错1个符号的误码,1个符号的长度为t。参照图3所示的译码方法的流程图,本发明实施例的RS译码方法具体可以包括如下步骤:
S31,将输入的RS编码数据与预设的校验矩阵进行组合异或,得到伴随式数据,所述伴随式数据包括所述信息码数据和所述校验码数据,所述预设的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵,所述伴随式数据包括所述信息码数据和所述校验码数据。
在具体实施中,所述校验矩阵的第一区间的t行t列的单位矩阵可以分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵可以分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。又如,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间,或者分别位于所述校验矩阵的上半区间和下半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。
在本发明一实施例中,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。这一校验矩阵结构简单,采用这一校验矩阵进行译码及纠错无须进行任何变形转换,通过这一简化的校验矩阵一个时钟周期即可完成RS译码运算,故可以提高译码效率。
S32,根据得到的伴随式数据的结果输出相应数据。
在具体实施中,当得到的伴随式数据中包含非零值时,可以将所述伴随式数据输出至纠错装置进行纠错处理;当得到的伴随式数据中无非零值时,可以提取所述伴随式数据对应的信息码数据作为译码结果直接输出。
以下对本发明实施例所采用的译码方法的原理进行详细介绍:
对于接收到的RS编码数据c(x)(c1c2...ckchk1chk2...chkr),其中r=2t,使用预设的校验矩阵H,求得伴随式数据S(S1~S2t,共2t个),即:
ST=H*CT,
进行转置变换,并展开后,可以得到伴随式数据:
由上可知,采用本发明实施例预先确定的校验矩阵,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵,上述公式中对应的校验矩阵的第二区间即为第1行至第2t行的第k+1列至第k+2t列,第一区间位于所述第1行至第2t行的第1列至第k列,伴随式结果即为输入的RS编码数据的组合异或,2t个伴随式数据可以在一个时钟周期即生成完成,而无须多个周期的迭代移位,因而可以大大提高译码效率。
由于数据在存储、传输过程中可能出现突发错误、随机错误等各种错误,为确定错误位置,并进行纠错,可以采用本发明实施例的纠错方法。
本发明实施例的纠错方法,适于对获取的RS译码数据执行纠错,修正包括1个符号误码传输的数据中的误码,其中一个时钟周期输入的RS译码输出码数据的长度为n,译码得到的信息码的码字长度为k,1个符号的长度为t,校验码数据的码字长度为2t,且2t等于n-k,参照图4所述的纠错方法的流程图,本发明实施例的数据纠错方法具体可以包括如下步骤:
S41,获取RS译码得到的伴随式数据,基于符号位置与对应的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t];其中,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。
在具体实施中,所述校验矩阵的第一区间的t行t列的单位矩阵可以分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵可以分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。在本发明实施例中,只要能从所述校验矩阵中提取出连续的k/t个单位矩阵形成第一区间,提取出2t行2t列的单位矩阵形成第二区间即可,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。又如,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间,或者分别位于所述校验矩阵的上半区间和下半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。
在具体实施中,为计算更加简便,本发明实施例所采用的校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵,这一校验矩阵结构简单,采用这一校验矩阵进行译码及纠错无须进行任何变形转换。
S42,当所述RS译码得到的伴随式不全为0,且仅有第i个符号位置B[i]等于1时,确定第i个符号存在错误,则执行步骤S43。
S43,将译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据。
在具体实施中,当所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,可以确定至少两个符号存在错误。当确定至少两个符号存在错误时,确定所存在的符号无法纠错,可以发出告警信息,以便重新获取相应的RS编码数据,进而可以重新译码及纠错。
具体而言,若S伴随式数据均等于0,则表示没有符号错误;若S伴随式数据有不等于0的情况,表示有错误,仅当只有一个符号出错时,若符号位置B[i]=1,则代表第i个符号出错;若S不等于0且符号位置B[i]=0,则代表至少两个符号错误,为不可纠正错误。
采用本发明实施例的纠错方法,可以纠正一个符号错误,即t比特数据的错误,检出至少2个符号错误。
以下通过一个具体的应用实例说明本发明实施例的纠错过程:
以RS(72,64)为例,n=72,k=64,2t=n-k=8,t=4,则按照1个符号(symbol)=4bit,72个bit共有18个symbol,则:
[3:0]为Symbol1;
[7:4]为Symbol2;
…
[71:68]为Symbol18。
本发明一实施例所采用的校验矩阵采用了如下特定值:
[h11 h12 h13 h14 …]=[1 0 0 0 1 0 0 0 1 0 0 0 … 1 0 0 0 0 0 0 0];
[h21 h22 h23 h24 …]=[0 1 0 0 0 1 0 0 0 1 0 0 … 0 1 0 0 0 0 0 0];
[h31 h32 h33 h34 …]=[0 0 1 0 0 0 1 0 0 0 1 0 … 0 0 1 0 0 0 0 0];
[h41 h42 h43 h44 …]=[0 0 0 1 0 0 0 1 0 0 0 1 … 0 0 0 1 0 0 0 0];
[h51 h52 h53 h54 …]=[1 1 0 1 … 0 0 0 0 1 0 0 0];
[h61 h62 h63 h64 …]=[0 1 1 0 … 0 0 0 0 0 1 0 0];
[h71 h72 h73 h74 …]=[1 0 1 1 … 0 0 0 0 0 0 1 0];
[h81 h82 h83 h84 …]=[1 1 0 1 … 0 0 0 0 0 0 0 1]。
具体规律如下:
1)第1行至第4行的第1列至第64列为有连续的4行4列的单位矩阵组合;
2)第1行至第8行的第65列至第72列,是一个8行8列的单位矩阵;
3)其他位置的数据不需要特别限制。
将译码读出的数据代入伴随式生成公式中,这里k=64,r=8,则可以得到8个伴随式数据:
S1=h11c1+h12c2+h13c3+h14c4+…+h1kck+chk1+0+0+0+0+0+0+0;
S2=h21c1+h22c2+h23c3+h24c4+…+h2kck+0+chk2+0+0+0+0+0+0;
S3=h31c1+h32c2+h33c3+h34c4+…+h3kck+0+0+chk3+0+0+0+0+0;
S4=h41c1+h42c2+h43c3+h44c4+…+h4kck+0+0+0+chk4+0+0+0+0;
S5=h51c1+h52c2+h53c3+h54c4+…+h5kck+0+0+0+0+chk5+0+0+0;
S6=h61c1+h62c2+h63c3+h64c4+…+h6kck+0+0+0+0+0+chk6+0+0;
S7=h71c1+h72c2+h73c3+h74c4+…+h7kck+0+0+0+0+0+0+chk7+0;
S8=h81c1+h82c2+h83c3+h84c4+…+h8kck+0+0+0+0+0+0+0+chk8。
将本发明实施例中H校验矩阵的具体值代入上述S伴随式中,则:
S1=c1+0+0+0+c5+0+0+0+c9+0+0+0+…+c61+0+0+0+chk1;
S2=0+c2+0+0+0+c6+0+0+0+c10+0+0+…+0+c62+0+0+chk2;
S3=0+0+c3+0+0+0+c7+0+0+0+c11+0+…+0+0+c63+0+chk3;
S4=0+0+0+c4+0+0+0+c8+0+0+0+c12+…+0+0+0+c64+chk4;
S5=c1+c2+0+c4+…+h5kck+chk5;
S6=0+c2+c3+0+…+h6kck+chk6;
S7=c1+0+c3+c4+…+h7kck+chk7;
S8=c1+c2+0+c4+…+h8kck+chk8。
可以基于符号位置与对应的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],若S1~8不全为0,且仅有第i个符号位置B[i]等于1,则可确定第i个符号错误;若S1~8不全为0,且当所有符号位置B[1]至B[18]均为0,则可确定至少两个符号存在错误。
例如:
B[1]=(S5=S1+S2+S4)&&(S6=S2+S3)&&(S7=S1+S3+S4)&&
(S8=S1+S2+S4)。
这里解释一下确定B[1]是否错误的四个条件:
四个条件分别是S5至S8的前四列数值。
其中,条件1:S5=S1+S2+S4,取的是S5的前四列,即[1101],把S1、S2、S4数值代入,可以看出满足这个条件时,已经把c1+c2+c3+c4全部消掉了,即symbol1位置的数据没有参与比较了,只剩下后面的比特位。此时若S伴随式不全为0,即存在错误的情况下,而此条件满足,即表示除了symbol1位置的其他数据都正确,因而可以证明symbol1位置出错了。
条件2:S6=S2+S3,条件3:S7=S1+S3+S4,条件4:S8=S1+S2+S4,代入具体数值后,与条件1同理。
之所以4个条件必须全部满足,是基于RS算法的特点考虑,保证不存在误判。
以下介绍其纠错过程:
当所述RS译码得到的伴随式不全为0,且仅有第i个符号位置B[i]等于1时,确定第i个符号存在错误,则将译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据
对于本发明实施例中满足如下条件的校验矩阵,第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵,当B[18:1]中仅有第[i]个符号位置B[i]为1时,则表示对应位置的symbol出错,则可以将对应位置的信息码数据与伴随式S1至St分别进行组合异或,对于B[18:1]中所述B[i]之外的其他位置,由于不为1,则表示相应位置的symbol未出错,则可以直接输出,可以采用如下表达式表达这一纠错过程:
Cor[3:0]=B[1]?(c[3:0]^S[4:1]):c[3:0];
Cor[7:4]=B[2]?(c[7:4]^S[4:1]):c[7:4];
……
Cor[63:60]=B[16]?(c[63:60]^S[4:1]):c[63:60]。
即在伴随式数据S不全为0,且仅有1个符号错误时,上述表达式即表示:
确定B[1]是否为1,如果B[1]=1,则可以将接收到的信息码数据c[3:0]与S[4:1]进行组合异或,即可得到信息码数据c[3:0]对应的纠错数据Cor[3:0];如果B[1]≠1,则无须纠错,可直接输出信息码c[3:0];
确定B[2]是否为1,如果B[2]=1,则可以将接收到的信息码数据c[7:4]与S[4:1]进行组合异或,即可得到信息码数据c[7:4]对应的纠错数据Cor[7:4];如果B[2]≠1,则无须纠错,可直接输出信息码c[7:4];
……
确定B[16]是否为1,如果B[1]=1,则可以将接收到的信息码数据c[3:0]与S[4:1]进行组合异或,即可得到信息码数据c[3:0]对应的纠错数据Cor[3:0];如果B[1]≠1,则无须纠错,可直接输出信息码c[3:0]。
在本发明上述实施例中,由于信息码数据共k比特,对应前64位,即B[1]至B[16],校验码共8比特,对应第65位至第72位,由于校验码不用输出,即使错误,也不用纠正,故这里仅给出了分别通过判定B[1]至B[16]分别是否为1,来完成1个符号(t比特,本实施例t取4比特)的信息码纠错的过程。
以下对上述纠错原理进行简要解释说明:
因为在编码时,满足如下关系:
r1=h11m1+h12m2+…+h1kmk;
chk1=r1=h11m1+h12m2+…+h1kmk。
在此处,chk1=m1+0+0+0+m5+0+0+0+m9+0+0+0+…+m61+0+0+0,即:
m1=chk1+m5+0+0+0+m9+0+0+0+…+m61+0+0+0;
而对应的S1:
S1=c1+0+0+0+c5+0+0+0+c9+0+0+0+…+c61+0+0+0+chk1,
进行重组后:
S1+c1=c5+0+0+0+c9+0+0+0+…+c61+0+0+0+chk1。
此等式的右侧与m1等式的右侧,在只有symbol1出错条件下(B[1]=1),是相等的。即可得:
m1=S1+c1。
同理可得:
m2=S2+c2;
m3=S3+c3;
m4=S4+c4。
即可得到:
Cor[3:0]=B[1]?(c[3:0]^S[4:1]):c[3:0];
Cor[3:0]就是原值m1至m4。
同理,可得到其它位置纠错值,这里不再赘述。
参照图5所示的本发明实施例中一种应用场景示意图,本发明实施例可以应用于DDR内存领域。信息码(m1,m2,…mk)输入本发明实施例中的编码装置51,采用本发明实施例中预设的校验矩阵52进行RS(n,k)编码后得到RS编码数据(m1,m2,…mk,chk1,chk2,…chkr)(其中,r=2t)并写入DDR存储器53;对于从DDR存储器53读出的数据(c1,c2,…cn),先输入本发明实施例中的译码装置54进行译码处理,可以得到伴随式数据(r1,r2,…r2t),其中2t=n-k,将伴随式数据(r1,r2,…r2t)输入纠错装置55,采用本发明实施例中的校验矩阵52进行纠错,可以得到纠错后的数据(c1,c2,…ck),在仅存在一个符号(t比特)错误的情况下,可以完全纠错,纠错后的数据:(c1,c2,…ck)=(m1,m2,…mk)。
可以理解的是,本发明实施例还可以应用于卫星通信、数字电视等领域,所述编码过程可以在数据发送侧设备执行,对应的译码过程、纠错过程相应地在数据接收侧执行,可以在数据发送侧设置相应的编码装置进行RS编码处理,在数据接收侧设置相应的译码装置、纠错装置进行处理。对于双向交互的设备,则在两侧均相应设置编码装置、译码装置及纠错装置,在数据发出前执行相对应的编码过程,对于接收到的数据分别依次执行相对应的译码过程和纠错过程。
为使本领域技术人员更好地理解和实现本发明实施例,以下对能够实现上述编码方法的编码装置、能够实现上述译码方法的译码装置以及能够实现上述纠错方法的纠错装置分别参照附图进行相应描述。
图6示出了本发明实施例中一种编码装置的结构示意图,在本发明实施例中,参照图6,编码装置60可以包括第一输入单元61、第一存储单元62和编码单元63、第一输出单元64,其中:
第一输入单元61,适于输入信息码数据;
第一存储单元62,适于存储预设的校验矩阵,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
编码单元63,适于将所述第一输入单元61输入的信息码数据与所述第一存储单元62存储的校验矩阵进行组合异或,得到RS编码数据;
第一输出单元64,适于输出所述编码单元63得到的RS编码数据。
在具体实施中,所述第一存储单元62存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
在本发明实施例中,只要能从所述校验矩阵中提取出连续的k/t个单位矩阵形成第一区间,提取出2t行2t列的单位矩阵形成第二区间即可,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。又如,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间,或者分别位于所述校验矩阵的上半区间和下半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。
在本发明一实施例中,所述第一存储单元62存储的校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
图7示出了本发明实施例中一种译码装置的结构示意图。在本发明实施例中,对于一个时钟周期内输入的码字长度为n的RS编码数据,其中包含码字长度为k的信息码数据和码字长度为2t的校验码数据,且2t等于n-k,所述RS编码数据适于纠错1个符号的误码,1个符号的长度为t,参照图7,译码装置70可以包括:第二输入单元71、第二存储单元72、译码单元73和第二输出单元74,其中:
第二输入单元71,适于输入RS编码数据;
第二存储单元72,适于存储预设的校验矩阵,所述预设的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
译码单元73,适于将第二输入单元71输入的RS编码数据与所述第二存储单元72存储的校验矩阵进行组合异或,得到伴随式数据,所述伴随式数据包括所述信息码数据和所述校验码数据;
第二输出单元74,适于根据得到的伴随式数据的结果输出相应数据。
在具体实施中,所述第二存储单元72存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
在本发明实施例中,只要能从所述校验矩阵中提取出连续的k/t个单位矩阵形成第一区间,提取出2t行2t列的单位矩阵形成第二区间即可,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。又如,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间,或者分别位于所述校验矩阵的上半区间和下半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。
在本发明一实施例中,所述第二存储单元72存储的校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
在具体实施中,继续参照图7,所述第二输出单元74可以包括:判定子单元741、第一输出子单元742、提取子单元743和第二输出子单元744,其中:
判断子单元741,适于判断所述译码单元73得到的伴随式数据中是否包含非零值;
第一输出子单元742,适于在所述判断子单元741确定所述译码单元73得到的伴随式数据中包含非零值时,将所述伴随式数据输出至纠错装置进行纠错处理;
提取子单元743,适于在所述判断子单元741确定所述译码单元73得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据;
第二输出子单元744,适于将所述提取子单元743提取的信息码数据直接输出。
本发明实施例还提供了与上述实施例相应的纠错装置,可以对获取的RS译码数据执行纠错,修正包括1个符号误码传输的数据中的误码,其中,一个时钟周期输入的RS译码输出码数据的长度为n,译码得到的信息码的码字长度为k,1个符号的长度为t,校验码数据的码字长度为2t,且2t等于n-k。在本发明实施例中,参照图8所示的本发明一实施例中纠错装置的结构示意图,纠错装置80可以包括:第三输入单元81、第三存储单元82、符号位置生成单元83、错误符号位置确定单元84和纠错单元85,其中:
第三输入单元81,适于获取RS译码得到的伴随式数据;
第三存储单元82,适于存储预设的校验矩阵,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
符号位置生成单元83,适于基于符号位置与所述第三存储单元82中存储的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t];
错误符号位置确定单元84,适于当确定所述RS译码得到的伴随式不全为0时,且仅有第i个符号位置B[i]等于1时,确定所述第i个符号错误;
纠错单元85,适于当所述错误符号位置确定单元84确定仅有所述第i个符号错误时,将所述译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据。
在具体实施中,所述第三存储单元82存储的校验矩阵的第一区间的t行t列的单位矩阵可以分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵可以分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
在本发明实施例中,只要能从所述校验矩阵中提取出连续的k/t个单位矩阵形成第一区间,提取出2t行2t列的单位矩阵形成第二区间即可,从而可以形成多种方案的校验矩阵,提高所设置的校验矩阵的自由度。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。又如,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间,或者分别位于所述校验矩阵的上半区间和下半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。
所述第三存储单元82存储的所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
在具体实施中,所述错误符号位置确定单元84,还适于所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,确定存在至少两个符号位置错误。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (22)
1.一种编码方法,适于执行RS编码,以对在一个时钟周期内包括1个符号误码传输的数据进行纠错,其中,一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t等于n-k,1个符号的长度为t,其特征在于,所述编码方法包括:
将输入的信息码数据与预设的校验矩阵进行组合异或,得到校验码数据;
将所述信息码数据和所述校验码数据组合,得到RS编码数据并输出;
其中,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。
2.根据权利要求1所述的编码方法,其特征在于,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
3.根据权利要求2所述的编码方法,其特征在于,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
4.一种译码方法,适于执行RS译码,对于一个时钟周期内输入的码字长度为n的RS编码数据,其中包含码字长度为k的信息码数据和码字长度为2t的校验码数据,且2t等于n-k,所述RS编码数据适于纠错1个符号的误码,1个符号的长度为t,其特征在于,所述译码方法包括:
将输入的RS编码数据与预设的校验矩阵进行组合异或,得到伴随式数据,所述伴随式数据包括所述信息码数据和所述校验码数据,所述预设的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
根据得到的伴随式数据的结果输出相应数据。
5.根据权利要求4所述的译码方法,其特征在于,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
6.根据权利要求5所述的译码方法,其特征在于,所述校验矩阵的第1行至第t行和第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
7.根据权利要求4所述的译码方法,其特征在于,所述根据得到的伴随式数据的结果输出相应数据,包括:
当得到的伴随式数据中包含非零值时,将所述伴随式数据输出至纠错装置进行纠错处理;
当得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据作为译码结果直接输出。
8.一种数据纠错方法,适于对获取的RS译码数据执行纠错,修正包括1个符号误码传输的数据中的误码,其中,一个时钟周期输入的RS译码输出码数据的长度为n,译码得到的信息码的码字长度为k,1个符号的长度为t,校验码数据的码字长度为2t,且2t等于n-k,其特征在于,所述数据纠错方法包括:
获取RS译码得到的伴随式数据,基于符号位置与对应的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t];其中,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
当所述RS译码得到的伴随式不全为0,且仅有第i个符号位置B[i]等于1时,确定第i个符号存在错误,则将译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据。
9.根据权利要求8所述的数据纠错方法,其特征在于,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
10.根据权利要求9所述的数据纠错方法,其特征在于,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
11.根据权利要求8至10任一项所述的数据纠错方法,其特征在于,还包括:当所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,确定至少两个符号存在错误。
12.一种编码装置,适于执行RS码编码,以对在一个时钟周期内包括1个符号误码传输的数据进行纠错,其中一个时钟周期输入的信息码数据的码字长度为k,RS编码输出码数据的码字长度为n,对应的校验码数据的码字长度为2t,且2t等于n-k,1个符号的长度为t,其特征在于,所述编码装置包括:
第一输入单元,适于输入信息码数据;
第一存储单元,适于存储预设的校验矩阵,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
编码单元,适于将所述第一输入单元输入的信息码数据与所述第一存储单元存储的校验矩阵进行组合异或,得到RS编码数据;
第一输出单元,适于输出所述编码单元得到的RS编码数据。
13.根据权利要求12所述的编码装置,其特征在于,所述第一存储单元存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
14.根据权利要求13所述的编码装置,其特征在于,所述第一存储单元存储的校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
15.一种译码装置,适于执行RS译码,对于一个时钟周期内输入的码字长度为n的RS编码数据,其中包含码字长度为k的信息码数据和码字长度为2t的校验码数据,且2t等于n-k,所述RS编码数据适于纠错1个符号的误码,1个符号的长度为t,其特征在于,所述译码装置包括:
第二输入单元,适于输入RS编码数据;
第二存储单元,适于存储预设的校验矩阵,所述预设的校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
译码单元,适于将第二输入单元输入的RS编码数据与所述第二存储单元存储的校验矩阵进行组合异或,得到伴随式数据,所述伴随式数据包括所述信息码数据和所述校验码数据;
第二输出单元,适于根据得到的伴随式数据的结果输出相应数据。
16.根据权利要求15所述的译码装置,其特征在于,所述第二存储单元存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
17.根据权利要求16所述的译码装置,其特征在于,所述第二存储单元存储的校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
18.根据权利要求15所述的译码装置,其特征在于,所述输出单元包括:
判断子单元,适于判断所述译码单元得到的伴随式数据中是否包含非零值;
第一输出子单元,适于在所述判断子单元确定所述译码单元得到的伴随式数据中包含非零值时,将所述伴随式数据输出至纠错装置进行纠错处理;
提取子单元,适于在所述判断子单元确定所述译码单元得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据;
第二输出子单元,适于将所述提取子单元提取的信息码数据直接输出。
19.一种数据纠错装置,适于对获取的RS译码数据执行纠错,修正包括1个符号误码传输的数据中的误码,其中,一个时钟周期输入的RS译码输出码数据的长度为n,译码得到的信息码的码字长度为k,1个符号的长度为t,校验码数据的码字长度为2t,且2t等于n-k,其特征在于,所述数据纠错装置包括:
第三输入单元,适于获取RS译码得到的伴随式数据;
第三存储单元,适于存储预设的校验矩阵,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵;
符号位置生成单元,适于基于符号位置与所述第三存储单元中存储的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t];
错误符号位置确定单元,适于当确定所述RS译码得到的伴随式不全为0时,且仅有第i个符号位置B[i]等于1时,确定所述第i个符号错误;
纠错单元,适于当所述错误符号位置确定单元确定仅有所述第i个符号错误时,将所述译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据。
20.根据权利要求19所述的数据纠错装置,其特征在于,所述第三存储单元存储的校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
21.根据权利要求20所述的数据纠错装置,其特征在于,所述第三存储单元存储的所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。
22.根据权利要求19至21任一项所述的数据纠错装置,其特征在于,所述错误符号位置确定单元,还适于所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,确定存在至少两个符号位置错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910345559.0A CN110071727B (zh) | 2019-04-26 | 2019-04-26 | 编码方法、译码方法、纠错方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910345559.0A CN110071727B (zh) | 2019-04-26 | 2019-04-26 | 编码方法、译码方法、纠错方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110071727A true CN110071727A (zh) | 2019-07-30 |
CN110071727B CN110071727B (zh) | 2023-05-05 |
Family
ID=67369198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910345559.0A Active CN110071727B (zh) | 2019-04-26 | 2019-04-26 | 编码方法、译码方法、纠错方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071727B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764736A (zh) * | 2019-10-29 | 2020-02-07 | 深圳芯英科技有限公司 | 一种矩阵处理装置、方法及设备 |
CN111294059A (zh) * | 2019-12-26 | 2020-06-16 | 成都海光集成电路设计有限公司 | 编码方法、译码方法、纠错方法及相关装置 |
CN112688693A (zh) * | 2020-12-14 | 2021-04-20 | 海光信息技术股份有限公司 | 一种内存多矩阵编码方法、纠错方法及相关装置 |
CN113485866A (zh) * | 2021-07-02 | 2021-10-08 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
CN115632666A (zh) * | 2022-09-30 | 2023-01-20 | 电子科技大学 | 一种新型的可纠正删除和插入错误的rs码译码方法 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050219070A1 (en) * | 2003-12-01 | 2005-10-06 | Digital Fountain, Inc. | Protection of data from erasures using subsymbol based codes |
US20080052605A1 (en) * | 2004-08-24 | 2008-02-28 | Huawei Technologies Co. Ltd. | Method for Restoring the Missing Data Packets |
CN101699770A (zh) * | 2009-10-23 | 2010-04-28 | 山东大学 | 一种高速ldpc码编码器及其编码方法 |
US20130061115A1 (en) * | 2010-05-11 | 2013-03-07 | Masaharu Imai | Error-correcting code processing method and device |
CN103151078A (zh) * | 2013-03-19 | 2013-06-12 | 中国科学院微电子研究所 | 一种存储器检错纠错码生成方法 |
CN103198869A (zh) * | 2013-03-04 | 2013-07-10 | 中国科学院长春光学精密机械与物理研究所 | 一种空间ccd图像存储器nand闪存纠错编解码器及纠错方法 |
CN103475379A (zh) * | 2013-09-10 | 2013-12-25 | 电子科技大学 | 一种ldpc编码方法 |
US20150007001A1 (en) * | 2010-11-10 | 2015-01-01 | Infineon Technologies Ag | Apparatus and method for error correction and error detection |
CN104378121A (zh) * | 2013-08-13 | 2015-02-25 | 北京兆易创新科技股份有限公司 | 一种译码方法及译码装置 |
CN104464822A (zh) * | 2014-11-21 | 2015-03-25 | 湖南大学 | 一种基于闪存错误区间的ldpc纠错编码方法 |
CN104579366A (zh) * | 2015-01-30 | 2015-04-29 | 荣成市鼎通电子信息科技有限公司 | Wpan中基于三级流水线的高速qc-ldpc编码器 |
US9083383B1 (en) * | 2013-01-29 | 2015-07-14 | Xilinx, Inc. | Parity check matrix |
CN104850468A (zh) * | 2015-05-31 | 2015-08-19 | 上海交通大学 | 基于校验矩阵的纠删码解码方法 |
CN106160753A (zh) * | 2016-06-23 | 2016-11-23 | 湖南大学 | 一种适用于ssd的权值多比特翻转ldpc译码方法 |
US20170141797A1 (en) * | 2014-03-20 | 2017-05-18 | Technische Universitat Kaiserslautern | Method and device for an error correction of trans |
US20180260276A1 (en) * | 2016-12-24 | 2018-09-13 | Huawei Technologies Co., Ltd. | Storage Controller, Data Processing Chip, and Data Processing Method |
CN109617671A (zh) * | 2018-12-21 | 2019-04-12 | 成都海光集成电路设计有限公司 | 加解密、扩展方法及装置、加解密系统、终端 |
CN109656840A (zh) * | 2018-12-21 | 2019-04-19 | 成都海光集成电路设计有限公司 | 一种数据加解密的装置、方法、存储介质、以及数据存储系统 |
-
2019
- 2019-04-26 CN CN201910345559.0A patent/CN110071727B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050219070A1 (en) * | 2003-12-01 | 2005-10-06 | Digital Fountain, Inc. | Protection of data from erasures using subsymbol based codes |
US20080052605A1 (en) * | 2004-08-24 | 2008-02-28 | Huawei Technologies Co. Ltd. | Method for Restoring the Missing Data Packets |
CN101699770A (zh) * | 2009-10-23 | 2010-04-28 | 山东大学 | 一种高速ldpc码编码器及其编码方法 |
US20130061115A1 (en) * | 2010-05-11 | 2013-03-07 | Masaharu Imai | Error-correcting code processing method and device |
US20150007001A1 (en) * | 2010-11-10 | 2015-01-01 | Infineon Technologies Ag | Apparatus and method for error correction and error detection |
US9083383B1 (en) * | 2013-01-29 | 2015-07-14 | Xilinx, Inc. | Parity check matrix |
CN103198869A (zh) * | 2013-03-04 | 2013-07-10 | 中国科学院长春光学精密机械与物理研究所 | 一种空间ccd图像存储器nand闪存纠错编解码器及纠错方法 |
CN103151078A (zh) * | 2013-03-19 | 2013-06-12 | 中国科学院微电子研究所 | 一种存储器检错纠错码生成方法 |
CN104378121A (zh) * | 2013-08-13 | 2015-02-25 | 北京兆易创新科技股份有限公司 | 一种译码方法及译码装置 |
CN103475379A (zh) * | 2013-09-10 | 2013-12-25 | 电子科技大学 | 一种ldpc编码方法 |
US20170141797A1 (en) * | 2014-03-20 | 2017-05-18 | Technische Universitat Kaiserslautern | Method and device for an error correction of trans |
CN104464822A (zh) * | 2014-11-21 | 2015-03-25 | 湖南大学 | 一种基于闪存错误区间的ldpc纠错编码方法 |
CN104579366A (zh) * | 2015-01-30 | 2015-04-29 | 荣成市鼎通电子信息科技有限公司 | Wpan中基于三级流水线的高速qc-ldpc编码器 |
CN104850468A (zh) * | 2015-05-31 | 2015-08-19 | 上海交通大学 | 基于校验矩阵的纠删码解码方法 |
CN106160753A (zh) * | 2016-06-23 | 2016-11-23 | 湖南大学 | 一种适用于ssd的权值多比特翻转ldpc译码方法 |
US20180260276A1 (en) * | 2016-12-24 | 2018-09-13 | Huawei Technologies Co., Ltd. | Storage Controller, Data Processing Chip, and Data Processing Method |
CN109617671A (zh) * | 2018-12-21 | 2019-04-12 | 成都海光集成电路设计有限公司 | 加解密、扩展方法及装置、加解密系统、终端 |
CN109656840A (zh) * | 2018-12-21 | 2019-04-19 | 成都海光集成电路设计有限公司 | 一种数据加解密的装置、方法、存储介质、以及数据存储系统 |
Non-Patent Citations (3)
Title |
---|
KAMEYAMA 等: "Erasure Codes with Small Overhead Factor and Their Distributed Storage Applications", 《2007 41ST ANNUAL CONFERENCE ON INFORMATION SCIENCES AND SYSTEMS》 * |
TENG, P.A,B 等: "Random RAID: A RAID Storage Scheme with High Fault-tolerance and Flexibility", 《GONGCHENG KEXUE YU JISHU/ADVANCED ENGINEERING SCIENCE》 * |
王琦: "基于LDPC码的以太网数据传输编码设计", 《实验室研究与探索》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764736A (zh) * | 2019-10-29 | 2020-02-07 | 深圳芯英科技有限公司 | 一种矩阵处理装置、方法及设备 |
CN110764736B (zh) * | 2019-10-29 | 2021-11-26 | 中昊芯英(杭州)科技有限公司 | 一种矩阵处理装置、方法及设备 |
CN111294059A (zh) * | 2019-12-26 | 2020-06-16 | 成都海光集成电路设计有限公司 | 编码方法、译码方法、纠错方法及相关装置 |
CN111294059B (zh) * | 2019-12-26 | 2023-06-30 | 成都海光集成电路设计有限公司 | 编码方法、译码方法、纠错方法及相关装置 |
CN112688693A (zh) * | 2020-12-14 | 2021-04-20 | 海光信息技术股份有限公司 | 一种内存多矩阵编码方法、纠错方法及相关装置 |
CN112688693B (zh) * | 2020-12-14 | 2023-12-05 | 海光信息技术股份有限公司 | 一种内存多矩阵编码方法、纠错方法及相关装置 |
CN113485866A (zh) * | 2021-07-02 | 2021-10-08 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
CN113485866B (zh) * | 2021-07-02 | 2023-05-09 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
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 |
---|---|
CN110071727B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110071727A (zh) | 编码方法、译码方法、纠错方法及装置 | |
CN108650057B (zh) | 一种编译码的方法、装置及系统 | |
CN105553485B (zh) | 基于fpga的bch编解码装置及其编解码方法 | |
CN105991227A (zh) | 数据编码方法及装置 | |
CN102468855A (zh) | 用于纠正在编码比特序列中的至少单比特错误的设备和方法 | |
CN1983822A (zh) | 奇偶校验矩阵及其产生方法、编码方法和纠错设备 | |
CN101946230A (zh) | 用于检测和校正所接收的符号串中的定相突发差错、删除、符号差错和位差错的方法和系统 | |
CN101288232B (zh) | 对数据进行编码和解码的方法以及设备 | |
CN106708654A (zh) | 一种用于NANDflash的BCH纠错码的电路结构 | |
CN102523072B (zh) | 具有检错纠错功能的lt码编译码方法 | |
WO2009146517A1 (en) | Method of encoding and/or decoding multidimensional and a system comprising such method | |
Tallini et al. | On efficient repetition error correcting codes | |
CN109428672A (zh) | 信息编译码方法和装置、信息处理系统 | |
CN108429553A (zh) | 极化码的编码方法、编码装置及设备 | |
CN109347485A (zh) | 构造ldpc码校验矩阵的方法及ldpc码编译方法 | |
CN113485866A (zh) | 译码方法及相关装置、电子设备和存储介质 | |
Kim et al. | Hamming product code with iterative process for NAND flash memory controller | |
US9236890B1 (en) | Decoding a super-code using joint decoding of underlying component codes | |
RU2693190C1 (ru) | Способ диагностики недвоичных блоковых кодов | |
Tallini et al. | Reed-Muller codes, elementary symmetric functions and asymmetric error correction | |
Key | Some error-correcting codes and their applications | |
Aliev et al. | Software System for Simulation Research of Reed-Solomon Decoders in Presence of Noise Applied in Digital Communication Systems | |
CN109120376A (zh) | 基于极化码级联的低复杂度crc设计方法 | |
Kashkouli | The Implementation and Verification of Hamming code | |
CN113422612B (zh) | 编码方法、译码方法及相关装置、电子设备和存储介质 |
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 |