CN113395137B - 一种fec编解码模块 - Google Patents
一种fec编解码模块 Download PDFInfo
- Publication number
- CN113395137B CN113395137B CN202110639106.6A CN202110639106A CN113395137B CN 113395137 B CN113395137 B CN 113395137B CN 202110639106 A CN202110639106 A CN 202110639106A CN 113395137 B CN113395137 B CN 113395137B
- Authority
- CN
- China
- Prior art keywords
- data
- source data
- module
- input end
- adder
- 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.)
- Active
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/0041—Arrangements at the transmitter end
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2942—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits
-
- 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
-
- 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/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- 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
-
- 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/65—Purpose and implementation aspects
- H03M13/6575—Implementations based on combinatorial logic, e.g. Boolean circuits
-
- 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/0045—Arrangements at the receiver end
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请提供一种FEC编解码模块,通过编码模块在每条传输链路的数据码流中增加一些码元(前向纠错码的码字)使其在接受端能够进行准确的判错并自动完成纠错。为了防止某条数据链路在传输过程中遇到连续性突发错误,设计过程中对多链路数据进行交织处理,更大程度的利用FEC的纠错能力,以提高系统的数据传输效率和抗干扰能力。
Description
技术领域
本发明涉及集成电路技术领域,具体涉及一种FEC编解码模块。
背景技术
首先,对本申请中用到的专业技术名词进行解释:
FEC:(Forward Error Correction)前向纠错。
RS码:即里德-所罗门码。若RS码为(62,60,t=1),其中t是可抗长度字符数,对应的60个字符,监督段为2t个字符,RS(62,60)的编码效率为60/62。
PH:链路中插入RS码字的位置。
Character Block:240个character加12个PH组成一个Character Block。
Super Block:64个Character Block组成一个Super Block。
PM:每个Super Block的开始标志位。
一、现有FEC_RS(62,60)码在实现过程中,每条链路数据在单位周期内独立进行一次RS Encoder编码,每个Character Block(60个character)只能纠正一个character错误。
二、TX链路数据在准备传输之前,数据进入FEC Encode模块,现有FEC实现方式按照每60个character+2个RS parity组成一个Block。其中每个Block中的60个character为有效信息数据。2个RS parity为链路中增加的码元,用于对可能出现的误码的判断与纠正。RX在接受到链路数据之后,数据进入FEC Decode模块,根据每个Block的RS parity值来判断当前Block中源数据是否存在误码,并对其进行纠正。解析过后的数据送到下一级,进行原有其他模块的分析。
申请人经过研究发现,对于现有的FEC_RS(62,60)码实现技术而言,现有技术没有实现交织功能,不具备纠正某条链路出现连续性突发错误的能力。另外对链路中的误码判断能力有限,不具备判断并纠正多个误码的能力。
发明内容
有鉴于此,本发明实施例提供一种FEC编解码模块,以实现对具有连续错误的链路进行判断并纠错。
为实现上述目的,本发明实施例提供如下技术方案:
一种FEC编解码模块,包括:
编码模块和纠错模块;
所述编码模块包括:
第一数据交织模块,用于把输入至所述数据交织模块的两路源数据依据预设方式进行交织重组处理,并把每两个周期的交织重组处理后的源数据的四个高低字节数据,分别送到对应的4个编码计算单元,其中,每个编码计算单元每两个周期获取与之对应的一个高/低字节数据;
4个编码计算单元,每个编码计算单元用于对获取到的连续的60个字节数据进行循环迭代计算,计算得到两个parity值;
编码单元,用于获取所述4个编码单元计算得到的parity值,对所述parity值进行极性编码;
数据选择器,用于获取极性编码后的parity值,将所述极性编码后的parity值插入至所述源数据中的PH位置,并发送给所述纠错模块;
所述纠错模块,包括:
第二数据交织模块,用于对所述数据选择器发送的源数据依据预设方式进行交织重组处理;
解码模块,用于对所述第二数据交织模块处理后的源数据中进行解码处理,得到源数据中极性编码后的parity值,并对所述极性编码后的parity值进行解码还原处理,得到极性编码之前的parity值;判断单元,用于计算所述解码单元解码处理得到的parity值对应的syndrome值,基于所述syndrome值判断所述解码单元解码得到的parity值的对错,并对错误的parity值所对应的数据块进行纠错;
错误定位单元,用于基于所述判断单元计算得到的syndrome值标定当前数据块中字符错误位置;
输出单元,用于输出具有错误位置标定的当前数据块。
可选的,上述FEC编解码模块中,包括:所述4个编码计算单元具体为,第一编码单元、第二编码单元、第三编码单元、第四编码单元,所述数据交织模块具体用于对获取到的源数据设置开始标志位,将所述开始标志位后的第一个周期的高源数据发送给第一编码单元,将所述开始标志位后的第一个周期的低源数据发送给第二编码单元,将所述开始标志位后的第二个周期的高源数据发送给第三编码单元,将所述开始标志位后的第二个周期的低源数据发送给第四编码单元。
可选的,上述FEC编解码模块中,所述编码计算单元包括:
第一乘法器、第二乘法器、第一加法器、第二加法器、第一逻辑与门、输出控制器、第一触发器和第二触发器;
所述输出控制器的第一输入端用于输入所述第一数据交织模块处理后的源数据,所述输出控制器的第二输入端与所述第二触发器的输出端相连,所述输出控制器的控制端用于输入控制信号;
所述第一逻辑与门的第一输入端与所述第一加法器的输出端相连,所述第一逻辑与门的第二输入端与所述输出控制器的控制端相连;
所述第一乘法器和所述第二乘法器的输入端与所述第一逻辑与门的输出端相连;
所述第一乘法器的输出端与所述第一触发器的输入端相连;
所述第一触发器的输出端与所述第二加法器的第一输入端相连;
所述第二乘法器的输出端与所述第二加法器的第二输入端相连;
所述第二触发器的输入端与所述第二加法器的输出端相连,所述第二触发器的输出端与所述第一加法器的第一输入端相连;
所述第一加法器的第二输入端与所述输出控制器的第一输入端相连。
可选的,上述FEC编解码模块中,所述第一预设值为0,所述第二预设值为1。
可选的,上述FEC编解码模块中,所述判断单元中具有syndrome值计算电路,所述syndrome值计算电路包括:
第三加法器、第三乘法器、第三触发器和第二逻辑与门;
所述第三加法器的第一输入端与所述第二逻辑与门的输出端相连,所述第三加法器的第二输入端用于获取所述解码单元解码处理得到的parity值;
所述第三乘法器的第一输入端与所述第三加法器的输出端相连,所述第三乘法器的第二输入端用于输入预设系数;
所述第三触发器的输入端与所述第三乘法器的输出端相连,所述第三触发器的输出端与所述第二逻辑与门的第一输入端相连,所述第二逻辑与门的第二输入端用于输入控制信号。
基于上述技术方案,本发明实施例提供的上述方案中,通过编码模块在每条传输链路的数据码流中增加一些码元(前向纠错码的码字)使其在接受端能够进行准确的判错并自动完成纠错。为了防止某条数据链路在传输过程中遇到连续性突发错误,设计过程中对多链路数据进行交织处理,更大程度的利用FEC的纠错能力,以提高系统的数据传输效率和抗干扰能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的FEC编解码模块的结构示意图;
图2为FEC纠错模块中的编码模块的结构示意图;
图3为FEC纠错模块中的纠错模块的结构示意图;
图4为编码模块中的编码计算单元的结构示意图;
图5为纠错模块中的判断单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对于现有技术中的技术方案,不能判断并纠正多个误码的问题,本申请公开了一种FEC编解码模块,参见图1,所述FEC编解码模块包括编码模块100和纠错模块200;
其中,参见图2,所述编码模块100包括:
第一数据交织模块101,用于把输入至所述第一数据交织模块的两路源数据依据预设方式进行交织重组处理,在本方案中,所述第一数据交织模块101的输入端输入有两条链路数据,两路链路输入至所述编码模块100后,首先通过所述第一数据交织模块101进行数据交织,在本方案中,所述数据交织的目的在于,防止某一条链路数据在传输的过程中发生多位连续型错误,如果某一条链路数据在传输过程中发生多位连续错误,会通过数据交织方式,将连续错误的数据交织开来。例如,所述第一数据交织模块101输入的源数据为ABCDEF,则经所述第一数据交织模块101交织重组处理后的源数据就变为BADCFE,在本方案中,将两个周期的交织重组处理后的源数据为一组,并把每两个周期的交织重组处理后的源数据的四个高低字节数据,分别送到对应的4个编码计算单元,其中,每个编码计算单元每两个周期获取与之对应的一个高/低字节数据,例如,第一周期交织重组处理后的源数据的高字节发送至第一编码计算单元,第一周期交织重组处理后的源数据的低字节发送至第二编码计算单元,第二周期交织重组处理后的源数据的高字节发送至第三编码计算单元,第二周期交织重组处理后的源数据的低字节发送至第四编码计算单元。
4个编码计算单元102,每个编码计算单元用于对获取到的连续的60个字节数据对获取到的60个字节进行循环迭代计算,直至所述源数据的最后一个字节迭代计算完成,得到所述源数据的parity值;所述编码计算模块为RS Encoder模块,即,RS编码模块,所述RS编码模块内部RS编码电路计算出每个character block的parity值,所述character block即为所述RS编码模块获取到的、由所述第一数据交织模块101发送的数据块,在这里的character block指的是源数据的集合,即,每个character block包括多个源数据,在本方案中,所述第一数据交织模块101将重组后的两条链路数据的每个character block的每连续两个高低周期的字节数据分别发送给所述4个编码计算单元102,每个编码计算单元102会计算得到其输入的源数据的数据块(character block)的两个parity值,针对每个character block会计算得到8个parity值,即,将所述连续两个高低周期中的第一个周期的高、低character数据,分别送到RS编码模块A,RS编码模块B,第二个周期的高、低character数据,分别送到RS编码模块C,RS编码模块D,具体的,在计算parity值的过程中,各个RS编码模块对获取到的每个字节基于一个预设的生成多项式进行迭代乘法运算,直至character block的最后一个字节(character block的第60个字符)到来,从而计算得到所述character block对应的两个parity值,连同character block的字符长度以及所述两个parity值,一共为62个字符;本方案中,就是第一数据交织模块连续两个周期输出的四个高低字节分别送到4个编码计算单元。4个编码计算单元对获取到的字节数据进行循环迭代计算,直到迭代到character block最后一个字节(也就是60个字符),得到最后的两个parity值,加在一起即62个字符,这就符合前文的RS(62,60)码。
具体的,所述编码计算单元102可以通过RS编码电路计算character block对应的parity值,参见图4,所述RS编码电路可以包括:
第一乘法器GF1、第二乘法器GF2、第一加法器GF3、第二加法器GF4、第一逻辑与门U1、输出控制器U2、第一触发器D1和第二触发器D2;
所述输出控制器U2的第一输入端用于输入所述第一数据交织模块处理后的源数据的高低字节数据,所述输出控制器U2的第二输入端与所述第二触发器D2的输出端相连,所述输出控制器U2的控制端用于输入控制信号;
所述第一逻辑与门U1的第一输入端与所述第一加法器GF3的输出端相连,所述第一逻辑与门U1的第二输入端与所述输出控制器U2的控制端相连;
所述第一乘法器GF1和所述第二乘法器GF2的输入端与所述第一逻辑与门U1的输出端相连;
所述第一乘法器GF1的输出端与所述第一触发器D1的输入端相连;
所述第一触发器D1的输出端与所述第二加法器GF4的第一输入端相连;
所述第二乘法器GF2的输出端与所述第二加法器GF4的第二输入端相连;
所述第二触发器D2的输入端与所述第二加法器GF4的输出端相连,所述第二触发器D2的输出端与所述第一加法器GF3的第一输入端相连;
所述第一加法器GF3的第二输入端与所述输出控制器U2的第一输入端相连。
在图4所示的编码计算单元102中,生成多项式g(x)=x2+3x+2,GF(210)域的本源多项式是p(x)=x10+x3+1。该硬件逻辑分别计算出每个FEC模块的2个parity值,其中g(x)为预设的系数值。
编码单元103,用于获取所述4个编码单元计算得到的parity值,对所述parity值进行极性编码。在本方案中,通过所述编码单元103对所述编码计算单元102计算出来的parity值进行8B/10B编码,因为根据RS编码电路计算出来的parity不符合源数据的编码极性平衡。所以需要重新进行极性编码以满足链路的DC平衡;
数据选择器104,用于获取极性编码后的parity值,将所述极性编码后的parity值插入至所述源数据中的PH位置,在这里,所述源数据为预设方式进行交织重组处理之前的源数据,并发送给所述纠错模块,该模块就是把前面模块产生的码元,按照一定的排列方式插入到每条链路的源数据流中传输到所述记错模块200;
在数据链中的数据输入至所述编码模块100时,输入至所述编码模块100的数据按照Character Block、Super Block的格式进行分布,其中,每个PM为每个Super Block插入一次,所述PM作为所述Super Block的开始标志位,由于RS(62,60)码的刻康长度字符数t=1,一个Character Block只能纠正一个character的错误,为了系统的抗干扰性更强。本发明采用多个编码计算单元102并行运行,在PM后第一个周期的高低character数据,分别送到RS编码模块A,RS编码模块B,第二个周期的高低character数据,分别送到RS编码模块C,RS编码模块D。这样的运算方式优势在于可抗字符数t=4。连续4个character传输过程中均发生错误,这种实现方式均可以实现判错并纠正。
另外,若两条链路数据中的Lane0链路数据或Lane1链路数据在传输过程中连续8个character均发生错误,这种连续性错误在原有的处理方式上无法实现判错和纠错。本发明在基础上,采用第一数据交织模块101对两条链路数据进行交织处理,采用数据的交织可以有效的处理这种某条链路发生连续性错误。即进入编码模块100的两条链路数据先采用交织,在lane0 PM之后第3/4周期数据和lane1PM之后第1/2周期数据交织。lane0第7/8周期数据和lane1第5/6周期数据交织,以此类推。这种实现方式很好的处理了连续性错误。由于该连续的8个character被送到不同的编码计算单元102进行编码,均可以实现判错和纠正。
参见图3,所述纠错模块200,包括:
第二数据交织模块201,用于对所述数据选择器发送的源数据依据预设方式对进行交织重组处理,交织在本方案中,通过交织处理,并提取交织后的源数据中的parity值,将所述parity值下发给所述解码模块202,将交织后的源数据中的其他有效的数据发送至缓存模块进行缓存;例如,输入到编码模块的源数据流的顺序是ABCDEF,第一数据交织模块对ABCDEF进行交织处理,得到BADCFE,然后对BADCFE计算出两个parity值(GH)并进行极性编码。然后把这个极性编码后的GH插入到的是源数据流,最后变成ABCDEF_GH,此时,第二数据交织模块收到的源数据流就是ABCDEF_GH,但是,这里面的GH是在BADCFE的数据流状态下产生的。所以首先也需要先将ABCDEF进行交织处理成BADCFE。
解码模块202,用于对所述第二数据交织模块处理后的源数据中的parity值进行解码处理,得到源数据中极性编码后的parity值,所述解码模块在获取到所述第二数据交织模块201发送的parity值后,由于该parity值是极性编码后的parity值,因此需要对获取到的parity值进行解码还原处理,以得到极性编码之前的parity值;
判断单元203,用于基于parity值解码还原后处理后的源数据,计算得到所述第二数据交织模块处理后的源数据的syndrome值,基于所述syndrome值判断源数据是否有误,如果有误,对所述源数据进行纠错处理,即,在本方案中,对所述parity值解码还原后处理后的源数据(经解码模块202处理后的第二数据交织模块201的输出数据)进行循环迭代计算,直至parity值解码还原后处理后的源数据的最后一个字符迭代计算完成,得到两个syndrome值,两个syndrome值都为0,说明当前输入至所述第一数据交织模块101的源数据没有错,如果任意一个出现非0的情况,说明输入至所述第一数据交织模块101的源数据有错,如果有误,对所述源数据进行纠错处理。
错误定位单元204,用于基于所述syndrome值判断当前源数据中字符错误位置;
输出单元205,用于,并输出具有错误位置标定的当前数据块。
所述判断单元203的通过如图5所示的syndrome值计算电路计算所述syndrome值,每个Character Block(parity值解码还原后处理后的源数据)数据进入syndrome值计算电路后会得到2个syndrome值,S0和S1。判断单元根据RS编码的性质,S0和S1的值能得出当前Character Block是否有错,并能够完成纠正,具体的,所述syndrome值计算电路包括:
第三加法器GF5、第三乘法器GF6、第三触发器D3和第二逻辑与门U3;
所述第三加法器GF5的第一输入端与所述第二逻辑与门U3的输出端相连,所述第三加法器GF5的第二输入端用于获取parity值解码还原后处理后的源数据;
所述第三乘法器GF6的第一输入端与所述第三加法器GF5的输出端相连,所述第三乘法器GF6的第二输入端用于输入预设系数;
所述第三触发器D3的输入端与所述第三乘法器GF6的输出端相连,所述第三触发器D3的输出端与所述第二逻辑与门U3的第一输入端相连,所述第二逻辑与门D3的第二输入端用于输入控制信号。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种FEC编解码模块,其特征在于,包括:
编码模块和纠错模块;
所述编码模块包括:
第一数据交织模块,用于把输入至所述数据交织模块的两路源数据依据预设方式进行交织重组处理,并把每两个周期的交织重组处理后的源数据的四个高低字节数据,分别送到对应的4个编码计算单元,其中,每个编码计算单元每两个周期获取与之对应的一个高/低字节数据;
4个编码计算单元,每个编码计算单元用于对获取到的连续的60个字节数据进行循环迭代计算,计算得到两个parity值;
编码单元,用于获取所述4个编码单元计算得到的parity值,对所述parity值进行极性编码;
数据选择器,用于获取极性编码后的parity值,将所述极性编码后的parity值插入至所述源数据中的PH位置,并发送给所述纠错模块,其中,所述源数据中的PH位置为插入RS码字的位置;
所述纠错模块,包括:
第二数据交织模块,用于对所述数据选择器发送的源数据依据预设方式进行交织重组处理;
解码模块,用于对所述第二数据交织模块处理后的源数据中的parity值进行解码还原处理;
判断单元,用于基于parity值解码还原后处理后的源数据,计算得到所述第二数据交织模块处理后的源数据的syndrome值,基于所述syndrome值判断源数据是否有误,如果有误,对所述源数据进行纠错处理;
错误定位单元,用于基于所述syndrome值判断当前源数据中字符错误位置;
输出单元,用于输出具有错误位置标定的当前数据块。
2.根据权利要求1所述的FEC编解码模块,其特征在于,包括:所述4个编码计算单元具体为,第一编码单元、第二编码单元、第三编码单元、第四编码单元,所述数据交织模块具体用于对获取到的源数据设置开始标志位,将所述开始标志位后的第一个周期的高源数据发送给第一编码单元,将所述开始标志位后的第一个周期的低源数据发送给第二编码单元,将所述开始标志位后的第二个周期的高源数据发送给第三编码单元,将所述开始标志位后的第二个周期的低源数据发送给第四编码单元,其中,所述高源数据为所述源数据的高字节,所述低源数据为所述源数据的低字节。
3.根据权利要求1所述的FEC编解码模块,其特征在于,所述编码计算单元中具有RS编码电路,所述RS编码电路用于计算所述parity值,所述RS编码电路包括:
第一乘法器、第二乘法器、第一加法器、第二加法器、第一逻辑与门、输出控制器、第一触发器和第二触发器;
所述输出控制器的第一输入端用于输入所述第一数据交织模块处理后的源数据,所述输出控制器的第二输入端与所述第二触发器的输出端相连,所述输出控制器的控制端用于输入控制信号;
所述第一逻辑与门的第一输入端与所述第一加法器的输出端相连,所述第一逻辑与门的第二输入端与所述输出控制器的控制端相连;
所述第一乘法器和所述第二乘法器的输入端与所述第一逻辑与门的输出端相连;
所述第一乘法器的输出端与所述第一触发器的输入端相连;
所述第一触发器的输出端与所述第二加法器的第一输入端相连;
所述第二乘法器的输出端与所述第二加法器的第二输入端相连;
所述第二触发器的输入端与所述第二加法器的输出端相连,所述第二触发器的输出端与所述第一加法器的第一输入端相连;
所述第一加法器的第二输入端与所述输出控制器的第一输入端相连。
4.根据权利要求3所述的FEC编解码模块,所述判断单元中具有syndrome值计算电路,所述syndrome值计算电路包括:
第三加法器、第三乘法器、第三触发器和第二逻辑与门;
所述第三加法器的第一输入端与所述第二逻辑与门的输出端相连,所述第三加法器的第二输入端用于获取所述parity值解码还原后处理后的源数据;
所述第三乘法器的第一输入端与所述第三加法器的输出端相连,所述第三乘法器的第二输入端用于输入预设系数;
所述第三触发器的输入端与所述第三乘法器的输出端相连,所述第三触发器的输出端与所述第二逻辑与门的第一输入端相连,所述第二逻辑与门的第二输入端用于输入控制信号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639106.6A CN113395137B (zh) | 2021-06-08 | 2021-06-08 | 一种fec编解码模块 |
US17/459,118 US11451246B1 (en) | 2021-06-08 | 2021-08-27 | FEC codec module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639106.6A CN113395137B (zh) | 2021-06-08 | 2021-06-08 | 一种fec编解码模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113395137A CN113395137A (zh) | 2021-09-14 |
CN113395137B true CN113395137B (zh) | 2023-04-25 |
Family
ID=77618605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110639106.6A Active CN113395137B (zh) | 2021-06-08 | 2021-06-08 | 一种fec编解码模块 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11451246B1 (zh) |
CN (1) | CN113395137B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478314A (zh) * | 2008-01-03 | 2009-07-08 | 中兴通讯股份有限公司 | 一种里德-所罗门编码译码器及其译码的方法 |
CN110971244A (zh) * | 2019-10-18 | 2020-04-07 | 天津大学 | 基于突发错误检测的前向纠错译码译码器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625774B1 (en) * | 1999-10-29 | 2003-09-23 | Stmicroelectronics, Inc. | Redundancy system and method for locating errors in interleaved code words |
JP4006726B2 (ja) * | 2002-03-15 | 2007-11-14 | 富士通株式会社 | 誤り訂正機能を有する伝送装置 |
JP5007676B2 (ja) * | 2008-01-31 | 2012-08-22 | 富士通株式会社 | 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置 |
CN101222297B (zh) * | 2008-01-31 | 2011-12-07 | 复旦大学 | 交织码和网络编码结合的数据分发方法 |
CN101686104B (zh) * | 2008-09-22 | 2013-11-06 | 华为技术有限公司 | 一种前向纠错的编解码的方法、装置和系统 |
JP2010200247A (ja) * | 2009-02-27 | 2010-09-09 | Mitsubishi Electric Corp | デジタル伝送システム及びデジタル伝送方法 |
CN101702625A (zh) * | 2009-10-29 | 2010-05-05 | 杭州冠宸科技有限公司 | 基于rs(255,239)算法的光通信实时纠错电路 |
CN102523010B (zh) * | 2011-12-07 | 2014-04-09 | 南京航空航天大学 | 一种modis中频数字信号接收方法 |
US9077378B2 (en) * | 2013-01-31 | 2015-07-07 | Lsi Corporation | Integrated-interleaved low density parity check (LDPC) codes |
US9160369B1 (en) * | 2013-03-01 | 2015-10-13 | Proton Digital Systems, Inc. | Method for iterative error correction with designed error floor performance |
US11016844B2 (en) * | 2019-03-15 | 2021-05-25 | Toshiba Memory Corporation | Error correction code structure |
-
2021
- 2021-06-08 CN CN202110639106.6A patent/CN113395137B/zh active Active
- 2021-08-27 US US17/459,118 patent/US11451246B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478314A (zh) * | 2008-01-03 | 2009-07-08 | 中兴通讯股份有限公司 | 一种里德-所罗门编码译码器及其译码的方法 |
CN110971244A (zh) * | 2019-10-18 | 2020-04-07 | 天津大学 | 基于突发错误检测的前向纠错译码译码器 |
Also Published As
Publication number | Publication date |
---|---|
CN113395137A (zh) | 2021-09-14 |
US11451246B1 (en) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4366463B2 (ja) | 符号化装置及び符号化方法 | |
CN108650057B (zh) | 一种编译码的方法、装置及系统 | |
CN103380585B (zh) | 输入位错误率推定方法及其装置 | |
US20020023246A1 (en) | Combination reed-solomon and turbo coding | |
US7831884B2 (en) | Method of correcting message errors using cyclic redundancy checks | |
US7246294B2 (en) | Method for iterative hard-decision forward error correction decoding | |
CN113491080B (zh) | 多模式信道编码 | |
CN88101539A (zh) | 编码译码方法 | |
EP0944963A1 (en) | Shortened fire code error-trapping decoding method and apparatus | |
US20030188248A1 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
US11101925B2 (en) | Decomposable forward error correction | |
CN113395137B (zh) | 一种fec编解码模块 | |
CN115037415A (zh) | 基于crc的纠错编码的方法、装置、终端 | |
US8745465B1 (en) | Detecting a burst error in the frames of a block of data bits | |
CN113904755A (zh) | 一种截短rs码解码方法 | |
EP3610576B1 (en) | Pipelined forward error correction for vector signaling code channel | |
JP2004282600A (ja) | 符号化装置および復号装置 | |
CN107342775B (zh) | 删余卷积码的维特比译码方法 | |
EP2285003B1 (en) | Correction of errors in a codeword | |
US9032277B1 (en) | Parallel low and asymmetric rate Reed Solomon coding | |
CN113595687B (zh) | 一种通讯数据的错误纠正系统及方法 | |
CN110504975B (zh) | 一种crc并行编解码方法及基于其的编解码器 | |
CN109245855B (zh) | 一种rs编解码器的覆盖性验证方法及系统 | |
CN115037414A (zh) | 基于crc的纠错解码的方法、装置、终端 | |
CN113839680A (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 |