CN110784283B - 确定前向纠错帧边界的方法、装置和解码系统 - Google Patents
确定前向纠错帧边界的方法、装置和解码系统 Download PDFInfo
- Publication number
- CN110784283B CN110784283B CN201910883143.4A CN201910883143A CN110784283B CN 110784283 B CN110784283 B CN 110784283B CN 201910883143 A CN201910883143 A CN 201910883143A CN 110784283 B CN110784283 B CN 110784283B
- Authority
- CN
- China
- Prior art keywords
- data block
- symbol
- symbols
- parameter values
- iteration
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012937 correction Methods 0.000 title claims description 122
- 235000014676 Phragmites communis Nutrition 0.000 claims 2
- 238000001514 detection method Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000002004 ayurvedic oil Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- 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/33—Synchronisation based on error coding or decoding
- H03M13/333—Synchronisation on a multi-bit block basis, e.g. frame synchronisation
-
- 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/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/048—Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
-
- 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/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种确定FEC帧的帧边界的方法、装置和解码系统,主要适用于RS码和BCH码。该方法包括:接收数据,该数据包括以第一符号为起点的N+P个连续符号,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块;获取该第一数据块对应的s个参数值;确定该第二数据块的第一迭代项和第二迭代项;根据该第一数据块对应的s个参数值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值;根据该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。本发明公开的确定FEC帧的帧边界的方法能够提高FEC帧的帧边界的检测效率。
Description
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及确定前向纠错帧边界(forwarderror correction frame boundary)的方法、装置和解码系统。
背景技术
随着高速通信链路速率的不断上升,信道的各种损伤效应逐渐加强,导致信噪比下降。为了改善低信噪比条件下的误码性能,前向纠错(Forward Error Correction,FEC)技术已逐渐成为高速通信链路实现过程中的必选技术。在众多的FEC码中,里得所罗门(Reed Solomon,RS)码和博斯-乔赫里(Bose-Chaudhuri-Hocquenghem,BCH)码由于其高增益、实现简单、占用资源小等优点而得到广泛的应用。其中,RS码已被国际电信联盟电信标准化部(International Telecommunications Union TelecommunicationStandardization Sector,ITU-T)的G.709以及电气与电子工程师协会(Institute ofElectrical and Electronic Engineers,IEEE)的802.3bj采用。BCH码是当前的400G以太网标准草案中FEC码的热门选项。此外,RS码和BCH码在25Gbps及以上速率的高速背板/铜缆链路中也有重要的应用。
RS码和BCH码的编码和解码过程是以数据帧为处理单元。接收侧在解码前首先需要确定数据流中的FEC帧边界。在现有技术中,有两种常用的确定FEC帧边界的方法。一种方法是发送侧在数据流中周期性地添加特殊的对齐字,而接收侧通过这些对齐字确定FEC帧边界。该方法会增加冗余信息,耗费较多的电路资源并且提高码率。另外,为了将冗余信息控制在一定范围之内,需要增加插入的两个对齐字之间的时间间隔,这意味着确定FEC帧边界需要消耗较多的时间。
另一种方法是接收侧的逻辑电路利用FEC码的性质从数据流中寻找FEC帧从而实现确定FEC帧边界。如图1所示,该方法首先假设第一数据块为一个FEC帧。第一数据块的起始位置为第一符号(每个符号中包括一个比特),并且该第一数据块的长度等于一个FEC帧的长度。接收侧将第一数据块送入解码器并对该第一数据块的性质是否符合FEC帧的性质进行分析。如果第一数据块的性质符合FEC帧的性质,则确定第一符号是FEC帧边界。如果第一数据块的性质不符合FEC帧的性质,则进一步对第二数据块的性质是否符合FEC帧的性质进行分析。其中,第二数据块的起始位置为第二符号,第二符号相对于第一符号的偏移量为N+1个符号,N为一个FEC帧包括的符号的数量。在实际操作过程中,可能需要丢弃第二数据块,并确定第三符号是否为FEC帧边界。第三符号为第三数据块的起始位置。第三符号相对于第二符号的偏移量为N个符号。该方法最差情况下需要对N个数据块进行检验,每次校验需要接收长度为两帧的数据。因此,最坏情况下需要接收约2×N×N个符号的数据,因此,确定FEC帧边界的过程消耗的时间较长,效率较低。
本发明提供一种适用于采用了RS和BCH FEC码的通信链路的确定帧边界方法,能够极大地提高确定FEC帧边界的效率。
发明内容
本发明实施例提供一种确定FEC帧的帧边界的方法、装置和解码系统,能够提高FEC帧的帧边界确定的效率。
第一方面,提供了一种确定FEC帧的帧边界的方法,包括:帧边界确定电路接收数据,该数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,该第二符号相对于该第一符号的偏移量为P个符号;获取该第一数据块对应的s个参数值;确定该第二数据块的第一迭代项和第二迭代项,其中,该第二数据块的第一迭代项是根据该第一数据块中的最前P个连续符号获得的,该第二数据块的第二迭代项是根据该第二数据块中的最后P个连续符号获得的;根据该第一数据块对应的s个参数值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值;根据该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。
在第一种可能的实现方式中,该第一数据块对应的s个参数值为校正因子的s个值,该第二数据块对应的s个参数值为校正因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:其中,a为常数,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号。
结合上述可能的实现方式,在第三种可能的实现方式中,该确定该第二数据块的第一迭代项,包括:从第一预设存储区域中获取该第一数据块中的最前P个连续符号,并根据该第一数据块中的最前P个连续符号和该公式H(a),确定该第二数据块的第一迭代项;或从第二预设存储区域中获取该第二数据块的第一迭代项。
结合上述可能的实现方式,在第四种可能的实现方式中,若该第一数据块对应的s个参数值为校正因子的s个值,并且该第二数据块对应的s个参数值为校正因子的s个值,则1<s≤2×t,t为一个FEC帧中能够被纠正的错误符号的最大数量,并且该第一迭代项和该第二迭代项分别包括s个数值;
该第二数据块对应的校正因子的s个值由下式确定:
Scurrent,i=Sprevious,i×(αi)P+H1(αi)×(αi)N+H2(αi)1≤i≤s,其中,Scurrent,i为该第二数据块对应的校正因子的第i个值,Sprevious,i为该第一数据块对应的校正因子的第i个值,H1(αi)为该第二数据块的第一迭代项的第i个值,H2(αi)为该第二数据块的第二迭代项的第i个值,αi为FEC码的生成多项式的第i个根。
结合上述可能的实现方式,在第五种可能的实现方式中,若该第一数据块对应的s个参数值为校验因子的s个值,并且该第二数据块对应的s个参数值为校正因子的s个值,则s=1,并且该第二数据块对应的校验因子的值由下式确定:
Rcurrent=(Rprevious×xP)modg(x)+(H1(x)×xP)modg(x)+(H2(x)×xP)modg(x),其中,Rcurrent为该第二数据块对应的校验因子的值,Rlast为该第一数据块对应的校验因子的值,H1(x)为该第二数据块的第一迭代项,H2(x)为该第二数据块的第二迭代项,g(x)为FEC码的生成多项式。
结合上述可能的实现方式,在第六种可能的实现方式中,该根据该第二数据块所对应的s个参数值,确定该第二符号是否为FEC帧的帧边界,包括:若该第二数据块所对应的s个参数值均为零,确定该第二符号为FEC帧的帧边界;若该第二数据块对应的s个参数值中的至少一个参数值不等于零,确定该第二符号不为FEC帧的帧边界。
结合上述可能的实现方式,在第七种可能的实现方式中,该方法还包括:若该数据包括的符号数量小于2N,接收新的数据,该新的数据包括P个连续符号,该新的数据与该N+P个连续符号相邻且在该N+P个连续符号之后收到,其中,由以该第二数据块中的第三符号为起点的N个连续符号组成第三数据块,该第三符号相对于该第二符号的偏移量为P个符号;若确定该第二符号不为FEC帧的帧边界,确定该第三数据块的第一迭代项和第二迭代项,其中,该第三数据块的第一迭代项是根据以该第二数据块中的最前P个连续符号获得的,该第三数据块的第二迭代项是根据该新的数据中包括的P个连续符号获得的;根据该第二数据块所对应的s个参数值以及该第三数据块的第一迭代项和第二迭代项,确定该第三数据块对应的s个参数值;根据该第三数据块对应的s个参数值,确定该第三符号是否为FEC帧的帧边界。
结合上述可能的实现方式,在第八种可能的实现方式中,该方法还包括:若该数据包括的符号数量等于2N,接收新的数据,该新的数据包括第四数据块,该第四数据块由以第四符号为起点的N个连续符号组成,该新的数据与该N+P个连续符号不相邻且在该N+P个连续符号之后收到,其中,该第四符号的起始比特位相对于该第二符号的起始比特位n1的偏移量为L个符号,其中,Lmodm≠0,或者Lmodm=0并且LmodP≠0,其中,mod表示求余操作,m为一个符号中包括的比特的数量;若确定该第二符号不为FEC帧的帧边界,根据该第四数据块包括的N个连续符号,确定该第四数据块对应的s个参数值;根据该第四数据块对应的s个参数值,确定该第四符号是否为FEC帧的帧边界。
第二方面,提供了一种确定FEC帧的帧边界的装置,包括:包括:接收器、参数计算器和比较器,其中,该接收器用于接收数据,该数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,该第二符号相对于该第一符号的偏移量为P个符号;该参数计算器用于获取该第一数据块所对应的s个参数值,确定该接收器接收到的该第二数据块的第一迭代项和第二迭代项,以及根据该第一数据块对应的s个参数值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值,其中,该第二数据块的第一迭代项是根据该第一数据块中的最前P个连续符号获得的,该第二数据块的第二迭代项是根据该第二数据块中的最后P个连续符号获得的;该比较器用于根据该参数计算器获得的该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。
在第一种可能的实现方式中,该第一数据块对应的s个参数值为校正因子的s个值,该第二数据块对应的s个参数值为校正因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:其中,a为常数,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号。
结合上述可能的实现方式,在第二种可能的实现方式中,该第一数据块对应的s个参数值为校验因子的s个值,该第二数据块对应的s个参数值为校验因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:其中,a为变量,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号,n(j)表示该第j个符号的序号。
结合上述可能的实现方式,在第三种可能的实现方式中,该装置还包括:存储器,其中,该存储器用于存储该第一数据块中的最前P个连续符号,该参数计算器具体用于:获取该存储器中存储的该第一数据块中的最前P个连续符号,以及根据该第一数据块中的最前P个连续符号以及该公式H(a),确定该第二数据块的第一迭代项;或者该存储器用于存储该第二数据快的第一迭代项,该参数计算器具体用于获取该存储器中存储的该第二数据块的第一迭代项。
结合上述可能的实现方式,在第四种可能的实现方式中,若该第一数据块对应的s个参数值为校正因子的s个值,并且该第二数据块对应的s个参数值为校正因子的s个值,则1<s≤2×t,t为一个FEC帧中能够被纠正的错误符号的最大数量,并且该第一迭代项和该第二迭代项分别包括s个数值;
该参数计算器具体用于根据以下公式确定该第二数据块对应的校正因子的s个值:
Scurrent,i=Sprevious,i×(αi)P+H1(αi)×(αi)N+H2(αi)1≤i≤s,其中,Scurrent,i为该第二数据块对应的校正因子的第i个值,Sprevious,i为该第一数据块对应的校正因子的第i个值,H1(αi)为该第二数据块的第一迭代项的第i个值,H2(αi)为该第二数据块的第二迭代项的第i个值,αi为FEC码的生成多项式的第i个根。
结合上述可能的实现方式,在第五种可能的实现方式中,若该第一数据块对应的s个参数值为校验因子的s个值,并且该第二数据块对应的s个参数值为校验因子的s个值,则s=1,并且该参数计算器具体用于根据以下公式确定该第二数据块对应的校验因子的值:
Rcurrent=(Rprevious×xP)modg(x)+(H1(x)×xP)modg(x)+(H2(x)×xP)modg(x),其中,Rcurrent为该第二数据块对应的校验因子的值,Rlast为该第一数据块对应的校验因子的值,H1(x)为该第二数据块的第一迭代项,H2(x)为该第二数据块的第二迭代项,g(x)为FEC码的生成多项式。
结合上述可能的实现方式,在第六种可能的实现方式中,该比较器具体用于:若该参数计算器确定的该第二数据块对应的s个参数值均为零,确定该第二符号为FEC帧的帧边界;若该参数计算器确定的该第二数据块对应的s个参数值中的至少一个参数值不等于零,确定该第二符号不为FEC帧的帧边界。
结合上述可能的实现方式,在第七种可能的实现方式中,该接收器还用于:若该数据包括的符号数量小于2N,接收新的数据,该新的数据包括P个连续符号,该新的数据与该N+P个连续符号相邻且在该N+P个连续符号之后收到,其中,由以该第二数据块中的第三符号为起点的N个连续符号组成第三数据块,该第三符号相对于该第二符号的偏移量为P个符号;该参数计算器还用于若该比较器确定该第二符号不为FEC帧的帧边界,确定该第三数据块的第一迭代项和第二迭代项,其中,该第三数据块的第一迭代项是根据以该第二数据块中的最前连续P个符号获得的,该第三数据块的第二迭代项是根据该新的数据中包括的P个连续符号获得的,以及根据该第二数据块所对应的s个参数值以及该第三数据块的第一迭代项和第二迭代项,确定该第三数据块对应的s个参数值;该比较器还用于根据该参数计算器确定的该第三数据块对应的s个参数值,确定该第三符号是否为FEC帧的帧边界。
结合上述可能的实现方式,在第八种可能的实现方式中,该接收器还用于:若该数据包括的符号数量等于2N,接收新的数据,该新的数据包括第四数据块,该第四数据块由以第四符号为起点的N个连续符号组成,该新的数据与该N+P个连续符号不相邻且在该N+P个连续符号之后收到,其中,该第四符号的起始比特位相对于该第二符号的起始比特位的偏移量为L个符号,其中,Lmodm≠0,或者Lmodm=0并且LmodP≠0,其中,mod表示求余操作,m为一个符号中包括的比特的数量;该参数计算器还用于若该比较器确定该第二符号不为FEC帧的帧边界,根据该第四数据块包括的N个连续符号,确定该第四数据块对应的s个参数值;该比较器还用于根据该参数计算器确定的该第四数据块对应的s个参数值,确定该第四符号是否为FEC帧的帧边界。
第三方面,提供了一种解码系统,包括:帧边界确定电路、错误诊断器和错误纠正器,该帧边界确定电路用于确定FEC码的帧边界,该错误诊断器用于根据该帧边界确定电路确定的帧边界,确定FEC帧中存在的错误,该错误纠正器用于根据该错误诊断器确定的FEC帧中存在的错误,对FEC帧进行纠错,其中,该帧边界确定电路具体用于:接收数据,该数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,该第二符号相对于该第一符号的偏移量为P个符号;获取该第一数据块所对应的s个参数值;确定该第二数据块的第一迭代项和第二迭代项,其中,该第二数据块的第一迭代项是根据该第一数据块中的最前P个连续符号获得的,该第二数据块的第二迭代项是根据该第二数据块中的最后P个连续符号获得的;根据该第一数据块对应的s个参数值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值;根据该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。
基于上述技术方案,本发明提供的确定FEC帧的帧边界的方法、装置和解码系统,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,该帧边界确定电路对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中确定FEC帧的帧边界的方法的示意图。
图2是本发明实施例的确定FEC帧的帧边界的方法的示意性流程图。
图3是本发明实施例的确定FEC帧的帧边界的方法中的第一数据块和第二数据块的示意图。
图4是本发明实施例的确定FEC帧的帧边界的方法的一个例子的示意图。
图5是本发明实施例的确定FEC帧的帧边界的装置的示意性框图。
图6是本发明实施例的确定FEC帧的帧边界的装置的一个例子的示意图。
图7是本发明实施例的解码系统的示意性框图。
图8是本发明实施例的解码系统的一个例子的示意图。
图9是本发明实施例的解码系统的另一个例子的示意图。
图10是本发明实施例的解码系统的再一个例子的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例的技术方案可以应用于通信系统。所述通信系统可以是全球移动通讯(Global System of Mobile communication,GSM)系统、码分多址(CodeDivision Multiple Access,CDMA)系统、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency DivisionDuplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)或者全球互联微波接入(Worldwide Interoperability for Microwave Access,WiMAX)通信系统。
应理解,本申请提供的确定FEC帧的帧边界的方法和装置以及解码系统主要适用于RS码或BCH码进行前向纠错的场景。例如,采用RS码或BCH码进行前向纠错的高速背板链路、以太网接口、光网络接口、无线通信的空中接口或者存储设备的数据接口。本申请中,FEC帧的帧边界的定义与FEC帧边界的定义相同。本申请中,连续符号是指连续发送的符号或者连续接收的符号。例如,发送器可以通过串行接口连续发送多个符号。接收器可以通过串行接口连续接收多个符号。本申请中,第一数据与第二数据相邻是指,如果第一数据被接收的时间迟于第二数据被接收的时间,则第二数据中最后被接收的符号与第一数据中最先被接收的符号是两个连续的符号。如果第一数据被接收的时间早于第二数据被接收的时间,则第一数据中最后被接收的符号与第二数据中最先被接收的符号是两个连续的符号。例如,新的数据与所述N+P个连续符号相邻且在N+P个连续符号之后收到,是指N+P个连续符号中最后被接收的符号与新的数据中的最先被接收的符号是两个连续的符号。
图2是本发明实施例的确定FEC帧的帧边界的方法100的示意性流程图,该方法100可以由任意具有确定前向纠错FEC帧的帧边界的功能的装置执行,例如,该方法100可以由帧边界确定电路执行,但本发明实施例不限于此。
S110,帧边界确定电路接收数据,该数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,该第二符号相对于该第一符号的偏移量为P个符号。
在本发明实施例中,一个FEC帧中包括N个符号,每个符号中包括m个比特。因此,一个FEC帧中包括的比特数量B=N×m。对于RS码来说,m为大于1的整数。对于BCH码来说,m=1。即一个符号包括一个比特。因此,对于BCH码来说,以下描述中的符号等同于比特。
在本发明实施例中,P可以为大于或等于1的正整数。例如,P为FEC编解码器的数据通道能够容纳的参数值的个数。P可用用于指示FEC编解码器的并行度。
为了确定一个符号是否为FEC帧的帧边界,帧边界确定电路可以假设以该符号为起点且包括N个连续符号的数据块是一个FEC帧。通过确定该数据块的参数值是否与FEC帧的参数值相符,来确定该数据块是否为FEC帧以及该符号是否为FEC帧的帧边界。具体地,如果该数据块的性质与FEC帧的性质相符,则说明该数据块是FEC帧并且该符号为FEC帧的帧边界。否则,该数据块不是FEC帧并且该符号并不是FEC帧的帧边界。
该帧边界确定电路可以接收包含FEC帧中的数据。具体地,该帧边界确定电路可以以其时钟周期为单位接收数据。具体为,在每个时钟周期内接收P个连续符号。其中,Q=N/P。可选地,该帧边界确定电路可以进行Q+1次接收,获得以第一符号为起点的连续的N+P个符号。如图3所示,该连续的N+P个符号包括最前P个连续符号、与该最前P个连续符号相邻的(N-P)个连续符号和最后P个连续符号。其中,该最前P个连续符号和该(N-P)个连续符号组成第一数据块。该(N-P)个连续符号和该最后P个连续符号组成第二数据块。即该(N+P)个连续符号中的最前N个连续符号组成第一数据块。该(N+P)个连续符号中的最后N个连续符号组成第二数据块。此时,该第二数据块相对于该第一数据块的偏移量为P个符号。
以图4为例,该帧边界确定电路可以首先进行Q次接收以获得N个连续符号rN-1~r0。其中,该帧边界确定电路可以在每个时钟周期接收一列中的P个连续符号,并且按图4所示表格中的列号由小到大的顺序依次接收该N个连续符号。即最先接收第一列符号rN-1~rN-P,最后接收第Q列符号rP-1~r0。该N个连续符号rN-1~r0组成第一数据块。此时,第一符号具体为符号rN-1。然后,该帧边界确定电路可以接收P个连续符号r-1~r-P。该帧边界确定电路接收了N+P个连续符号,并且该N+P个连续符号中的最后N个连续符号rN-P-1~r-P组成第二数据块。此时,第二符号具体为符号rN-P-1。为了便于描述,该第一数据块可以看做该第二数据块的前一数据块。该第二数据块可看做该第一数据块的前一数据块。在本发明实施例中,任意一个数据块与其前一数据块或后一数据块之间的位置关系和该第一数据块与该第二数据块之间的位置关系类似。即任意一个数据块的起始符号相对于其前一数据块的起始符号向后偏移P个符号。
在本发明实施例中,FEC帧的帧边界的确定以P个符号为单位进行偏移。具体地,该帧边界确定电路可以首先确定该第一数据块的起始符号(即第一符号)是否为FEC帧的帧边界,并且在确定该第一符号不为FEC帧的帧边界时,确定该第二数据块的起始符号(即第二符号)是否为FEC帧的帧边界。可选地,该第一符号可以为该数据中的首个待测符号,即该数据中不包括该第一数据块的前一数据块;或者,该第一符号也可以为该数据中的中间一个待测符号,即该数据中包括该第一数据块的前一数据块,本发明实施例对此不做限定。由此可知,在本发明实施例中,进行FEC帧的帧边界确定的并行度为Q,表示长度为两个FEC帧的数据中能够检测的符号的个数。
S120,获取该第一数据块所对应的s个参数值。
该s个参数值为校正因子的s个值或校验因子的s个值,s为大于或等于1的整数。如果该s个参数值为校验因子的s个值,则s=1;而如果该s个参数值为校正因子的s个值,则s可以为小于或等于2t的整数,t为一个FEC帧中能够被纠正的错误符号的最大数量。一般地,s的数值越大,确定的帧边界的准确度越高,但是消耗的电路资源越大,因此,可以根据实际的准确度需求和资源消耗确定该s的值,例如,s=P,但本发明实施例不限于此。
该帧边界确定电路可以通过多种方式确定该第一数据块对应的s个参数值。作为一个可选实施例,该帧边界确定电路可以在确定该第一符号是否为FEC帧的帧边界时,确定该第一数据块对应的s个参数值,其中,该帧边界确定电路可以通过多种方式确定该第一数据块对应的s个参数值。可选地,如果该数据中不包括该第一数据块的前一数据块,则该帧边界确定电路可以根据该第一数据块中包括的N个连续符号,确定该第一数据块对应的s个参数值;而如果该数据中包括该第一数据块的前一数据块,则该帧边界确定电路可以根据该第一数据块的前一数据块所对应的s个参数值,确定该第一数据块对应的s个参数值,本发明实施例对此不做限定。在确定该第一数据块对应的s个参数值之后,该帧边界确定电路可以将该第一数据块对应的s个参数值存储至存储器,相应地,在该帧边界确定电路确定该第二符号是否为FEC帧的帧边界时,可以从存储器获取该第一数据块对应的s个参数值,但本发明实施例不限于此。
S130,确定该第二数据块的第一迭代项和第二迭代项,其中,该第二数据块的第一迭代项是根据该第一数据块中的最前P个连续符号获得的,该第二数据块的第二迭代项是根据该第二数据块中的最后P个连续符号获得的。
仍以图4为例,该第二数据块的第一迭代项可以是根据符号rN-1~r0(即第一数据块)中的最前P个连续符号(即符号rN-1~rN-P)获得的,该第二数据块的第二迭代项可以是根据符号rN-P-1~r-P(即第二数据块)中的最后P个连续符号(符号r-1~r-P)获得的。
S140,根据该第一数据块对应的s个参数值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值。
该第二数据块对应的s个参数值可以为校正因子的s个值或校验因子的s个值。如果该s个参数值为校正因子的s个值,则该帧边界确定电路可以根据该第一数据块所对应的校正因子的s个值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的校正因子的s个值。
如果该s个参数值为校验因子的s个值,则s=1,并且该帧边界确定电路可以根据该第一数据块所对应的校验因子的值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的校验因子的值。
S150,根据该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。
因此,根据本发明实施例的确定FEC帧的帧边界的方法,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,该帧边界确定电路对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率。
在本发明实施例中,RS码和BCH码的校正因子的第i个值Si可以由下式确定:
RS码和BCH码的校验因子R的值由下式确定:
R=r(x)modg(x) (2)
其中,g(x)为RS码和BCH码的生成多项式,r(x)为码字多项式,分别可以由式(2)和式(3)表示:
r(x)=q(x)×g(x)+e(x) (4)
其中,αi为生成多项式的第i个根,1≤i≤2×t,e(x)为错误多项式,且当接收码字为有效的FEC帧时,e(x)=0。
由式(1)和式(2)可知,如果一个数据块为有效的FEC帧,则其2t个校正因子的值均为零并且校验因子的值为零。本发明实施例可以利用此性质确定第二数据块是否为真正的FEC帧,从而确定该第二符号是否为FEC帧的帧边界。
可选地,S150,根据该第二数据块所对应的s个参数值,确定该第二符号是否为FEC帧的帧边界,包括:
若该第二数据块所对应的s个参数值均为零,确定该第二符号为FEC帧的帧边界;
若该第二数据块对应的s个参数值中的至少一个参数值不等于零,确定该第二符号不为FEC帧的帧边界。
具体地,如果该s个参数值为校正因子的s个值,则该s的值可以为小于或等于2t的预设整数,此时,如果该第二数据块对应的校正因子的s个值均为零,则该帧边界确定电路可以确定该第二数据块为真正的FEC帧,并且该第二符号为FEC帧的帧边界;反之,如果该第二数据块对应的校正因子的s个值中存在至少一个不为零的数值,则确定该第二符号不是FEC帧的帧边界。如果该s个参数值为校验因子的s个值,则s=1,此时,如果该第二数据块对应的校验因子的值为零,则确定该第二数据块为真正的FEC帧,该第二符号为FEC帧的帧边界;反之,如果该第二数据块对应的校验因子的值不为零,则确定该第二符号不为FEC帧的帧边界。或者,该帧边界确定电路可以同时确定该第二数据块对应的校正因子的s个值和校验因子的值,并且只有在该第二数据块对应的校正因子的s个值和校验因子的值均为零时,才确定该第二符号为FEC帧的帧边界,但本发明实施例对此不做限定。
仍以图4为例,由式(1)~(4)可以得知,该第二数据块对应的Si的值与该第一数据块对应的Si的值之间具有如下关系:
Scurrent,i=Sprevious,i×(αi)P+H1,i×(αi)N+H2,i (5)
其中,1≤i≤s,Scurrent,i为该第二数据块对应的校正因子的第i个值,Sprevious,i为该第一数据块对应的校正因子的第i个值,H1,i为该第二数据块的第一迭代项的第i个值,且由式(6)确定,H2,i为该第二数据块的第二迭代项的第i个值,由式(7)确定。
其中,rk表示序号为k的符号。由式(6)可以看出,H1,i的值依赖于该第一数据块中的最前P个连续符号(符号rN-1~rN-P),其中,符号rN-1为该P个连续符号中的第0个符号,符号rN-P为该P个连续的符号中的第P-1个符号,依次类推。由式(7)可以看出,H2,i的值依赖于该第二数据块的最后P个连续符号(即符号r-1~r-P),其中,符号r-1为该P个连续的符号中的第0个符号,符号r-P为该P个连续的符号中的第P-1个符号,依次类推。
类似地,由式(1)~(4)可以得知,该第二数据块对应的R的值与该第一数据块对应的R的值之间具有如下关系:
Rcurrent=(Rprevious×xP)modg(x)+(H1R×xP)modg(x)+(H2R×xP)modg(x)(8)
其中,Rcurrent为该第二数据块对应的校验因子的值,Rprevious为该第一数据块对应的校验因子的值,H1R为该第二数据块的第一迭代项,且由式(9)确定,H2R为该第二数据块的第二迭代项,由式(10)确定。
其中,H1R的值依赖于该第一数据块的最前P个连续符号(即符号rN-1~rN-P),H2R的值依赖于该第二数据块的最后P个连续符号(即符号r-1~r-P)。
由上可知,可选地,该第一数据块对应的s个参数值为校正因子的s个值,该第二数据块对应的s个参数值为校正因子的s个值,并且该第二数据块的第一迭代项和第二迭代项可以由以下公式确定:
其中,a为常数,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号。
该第二数据块的第一迭代项可以通过将该第一数据块中的最前P个连续符号带入公式H(a)获得,该第二数据块的第二迭代项可以通过将该第二数据块中的最后P个连续符号带入公式H(a)获得。
具体地,可以按照接收的时间顺序将该最前P个连续符号或最后P个连续符号排序,以使得该最前P个连续符号或最后P个连续符号依次为第0个符号至第P-1个符号,其中,该最前P个符号或最后P个符号中的第0个符号最先被接收,该最前P个符号或最后P个符号中的第P-1个符号最后被接收,但本发明实施例不限于此。
可选地,作为另一实施例,该第一数据块对应的s个参数值为校验因子的s个值,该第二数据块对应的s个参数值为校验因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:
其中,a为变量,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号,n(j)表示该第j个符号的序号。
此时,a可以具体为生成多项式g(x)中的x。以图4为例,可以按照接收时间的顺序对该第一数据块的最前P个连续符号(rN-1~rN-P)进行排序,其中,符号rN-1为该最前P个连续符号中的第0个符号,即该第0个符号的序号为N-1;符号rN-P为该最前P个连续符号中的第P-1个符号,即该第P-1个符号的序号为N-P,依次类推,但本发明实施例不限于此。
可选地,作为另一实施例,若该第一数据块对应的s个参数值为校正因子的s个值,并且该第二数据块对应的s个参数值为校正因子的s个值,则1<s≤2×t,t为一个FEC帧中能够被纠正的错误符号的最大数量,并且该第一迭代项和该第二迭代项分别包括s个数值;相应地,该第二数据块对应的校正因子的s个值由下式确定:
Scurrent,i=Sprevious,i×(αi)P+H1(αi)×(αi)N+H2(αi) 1≤i≤s (13)
其中,Scurrent,i为该第二数据块对应的校正因子的第i个值,Sprevious,i为该第一数据块对应的校正因子的第i个值,H1(αi)为该第二数据块的第一迭代项的第i个值,H2(αi)为该第二数据块的第二迭代项的第i个值,αi为FEC码的生成多项式的第i个根。
此时,H1(αi)和H2(αi)的值可以由式(11)确定,例如,H1(αi)和H2(αi)的值可以分别由式(6)和式(7)确定。该FEC码可以指FEC帧中包括的FEC码。
可选地,作为另一实施例,若该第一数据块对应的s个参数值为校验因子的s个值,并且该第二数据块对应的s个参数值为校正因子的s个值,则s=1,并且该第二数据块对应的校验因子的值由下式确定:
Rcurrent=(Rprevious×xP)modg(x)+(H1(x)×xP)modg(x)+(H2(x)×xP)modg(x)
(14)
其中,Rcurrent为该第二数据块对应的校验因子的值,Rprevious为该第一数据块对应的校验因子的值,H1(x)为该第二数据块的第一迭代项,H2(x)为该第二数据块的第二迭代项,g(x)为FEC码的生成多项式。
此时,H1(x)和H2(x)的值可以由式(12)确定,例如,H1(x)和H2(x)的值可以分别由式(9)和式(10)确定。该FEC码可以指FEC帧中包括的FEC码。
在本发明实施例中,在S130中,该帧边界确定电路可以通过多种方式确定该第二数据块的第一迭代项。可选地,该帧边界确定电路可以预先将该第一数据块中的最前P个连续符号存储至存储器,相应地,在计算该第二数据块对应的s个参数值时,该帧边界确定电路可以从存储器中获取该第一数据块中的最前P个连续符号,并将该最前P个连续符号带入式(6)或(9)以获得该第二数据块的第一迭代项;相应地,该帧边界确定电路也可以将该第二数据块的最前P个连续符号预先存储至该第一预设存储区域,以使得该帧边界确定电路在对下一数据块进行检测时,从该第一预设存储区域获取该第二数据块的最前P个连续符号,并根据该最前P个连续符号确定该下一数据块的第一迭代项,但本发明实施例不限于此。
可选地,作为另一实施例,该帧边界确定电路也可以预先根据该第一数据块中的最前P个连续符号,计算该第二数据块的第一迭代项,并将该第一迭代项存储至存储器,相应地,在对该第二数据块进行检测时,从存储器中获取该第二数据块的第一迭代项,但本发明实施例不限于此。
S130,确定该第二数据块的第一迭代项,包括:
从第一预设存储区域中获取该第一数据块中的最前P个连续符号,并根据该第一数据块中的最前P个连续符号和该公式H(a),确定该第二数据块的第一迭代项;或
从第二预设存储区域中获取该第二数据块的第一迭代项。
可选地,作为另一实施例,该方法100还包括:
将该第二数据块中的最前P个连续符号带入该公式H(a),获得该第二数据块的下一数据块的第一迭代项,该下一数据块的起始符号相对于该第二符号的偏移量为P个符号且该下一数据块的起始符号属于该第二数据块;
将该下一数据块的第一迭代项存储至该第二预设存储区域。
这样,在该帧边界确定电路确定该第二符号不为FEC帧的帧边界时,可以对该第二数据块的下一数据块进行检测,并从该存储器的第二预设存储区域中获取该下一数据块的第一迭代项,本发明实施例对此不做限定。
可选地,作为另一实施例,该FEC帧边界确定电路在确定了该第二数据块对应的s个参数值之后,还可以将该第二数据块所对应的s个参数值存储至存储器,以便于在对该第二数据块的下一数据块进行检测时,可以从该存储器中获取该第二数据块所对应的s个参数值,并根据该第二数据块所对应的s个参数值,确定该下一数据块所对应的s个参数值,但本发明实施例不限于此。
可选地,作为另一实施例,该方法100还包括:
若该数据包括的符号数量小于2N,接收新的数据,该新的数据包括P个连续符号,该新的数据与该N+P个连续符号相邻且在该N+P个连续符号之后收到,其中,由以该第二数据块中的第三符号为起点的N个连续符号组成第三数据块,该第三符号相对于该第二符号的偏移量为P个符号;
若确定该第二符号不为FEC帧的帧边界,确定该第三数据块的第一迭代项和第二迭代项,其中,该第三数据块的第一迭代项是根据以该第二数据块中的最前P个连续符号获得的,该第三数据块的第二迭代项是根据该新的数据中包括的P个连续符号获得的;
根据该第二数据块所对应的s个参数值以及该第三数据块的第一迭代项和第二迭代项,确定该第三数据块对应的s个参数值;
根据该第三数据块对应的s个参数值,确定该第三符号是否为FEC帧的帧边界。
如果该数据中包括的符号数量小于2N,则该帧边界确定电路可以继续接收P个连续符号,并对检测的数据块以P个符号为单位进行滑动,其中,该第三数据块为该第二数据块的下一数据块。该第三数据块与该第二数据块之间的位置关系与该第二数据块与该第一数据块之间的位置关系类似,为了简洁,这里不再赘述。该帧边界确定电路对该第三数据块的处理流程与S120~140类似,为了简洁,这里不再赘述。
可选地,作为另一实施例,如果每个符号中包括多个比特,或者P为大于1的整数,则该方法100还可以进一步包括:
若该数据包括的符号数量等于2N,接收新的数据,该新的数据包括第四数据块,该第四数据块由以第四符号为起点的N个连续符号组成,该新的数据与该N+P个连续符号不相邻且在该N+P个连续符号之后收到,其中,该第四符号的起始比特位相对于该第二符号的起始比特位n1的偏移量为L个符号,其中,Lmodm≠0,或者Lmodm=0并且LmodP≠0,其中,mod表示求余操作,m为一个符号中包括的比特的数量;
若确定该第二符号不为FEC帧的帧边界,根据该第四数据块包括的N个连续符号,确定该第四数据块对应的s个参数值;
根据该第四数据块对应的s个参数值,确定该第四符号是否为FEC帧的帧边界。
若该数据包括的符号数量等于2N,并且该第二数据块的N个连续符号为该数据中的最后N个连续符号,则该帧边界确定电路已经完成了对该2N个符号中的Q个符号的检测,其中,该Q个已检测符号中的任意两个相邻符号之间的偏移量为P个符号。此时,该帧边界确定电路可以继续接收2N个符号,并执行类似的流程对该新接收的2N个符号中的Q个符号进行检测,其中,该Q个待检测符号中的任意两个相邻符号之间的偏移量为P个符号。其中,为了避免对同一符号或比特位的重复检测,该帧边界确定电路可以使得该Q个待检测符号在该新接收的2N个符号中的位置相对于Q个已检测的符号在该原来的2N个符号中的位置滑移一个或多个符号,即第i个待检测符号在该新接收的2N个符号中的位置相对于第i个已检测符号在该原来的2N个符号中的位置滑移一个或多个符号,1≤i≤Q;或者该Q个待检测符号在该新接收的2N个符号中的位置与该Q个已检测符号在原来的2N个符号中的位置相同,但是该Q个待检测符号的起始比特位相对于该Q个已检测符号的起始比特位滑移一个或多个比特位,即第i个待检测符号的起始比特位与该第i个已检测符号的起始比特位的偏移量不为m的整数倍,其中,m为每个符号中包括的比特位的数量,但本发明实施例不限于此。
根据本发明提供的确定FEC帧的帧边界的方法及装置,在进行FEC帧的帧边界的确定过程中最多需要接收2×N×m2×P的数据(即总共需要进行N×m次检测),与现有技术相比,能够将FEC帧的定位速度提高Q倍。以P=4的RS(N=528,k=514,m=10)码为例,根据本发明实施例的确定FEC帧的帧边界的方法在最坏情况下共需要接收20×5280×4比特的数据,在25G传输速率下的延迟约为16.4μs。而如果采用现有技术的方案,则需要的同步时间约为2×5280×5280比特,25G传输速率下的延迟约为2.2ms。
因此,根据本发明实施例的确定FEC帧的帧边界的方法,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的每2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
下面结合图4详细说明根据本发明实施例的确定FEC帧的帧边界的方法。该帧边界确定电路可以首先接收以符号rN-1(以下称为第一个待测符号)为起点的连续N个符号rN-1~r0,并由该连续N个符号组成当前数据以及第一数据块(或当前数据块),以确定该第一个待测符号是否为FEC帧的帧边界。此时,由于该当前数据中不包括该第一数据块的前一数据块,该帧边界确定电路可以根据式(1)或(2)确定该第一数据块对应的s个参数值,并根据该s个参数值确定该第一个待测符号是否为FEC帧的帧边界。
如果该第一个待测符号为FEC帧的帧边界,则该确定FEC帧的帧边界的流程结束。否则,该帧边界确定电路可以接收与该当前数据(即第一数据块的N个连续符号)相邻的P个连续符号(符号r-1~r-P),并将当前数据更新为(N+P)个连续符号。然后,该帧边界确定电路将以第二个待测符号(符号rN-P-1)为起点的连续N个符号(符号rN-P-1~r-P)作为第二数据块(新的当前数据块),并确定该新的当前数据中的第二个待测符号是否为FEC帧的帧边界,其中,该第二个待测符号(符号rN-P-1)相对于该第一个待测符号(符号rN-1)向后偏移P个符号。此时,由于该新的当前数据中包括该第二数据块的前一数据块(即第一数据块),则该帧边界确定电路可以根据该第一数据块对应的s个参数值,确定该第二数据块对应的s个参数值(即根据该前一数据块对应的s个参数值,确定该当前数据块对应的s个参数值),并根据该第二数据块对应的s个参数值,确定该第二个待测符号是否为FEC帧的帧边界。
若该帧边界确定电路确定该第二个待测符号为FEC帧的帧边界,则该确定FEC帧的帧边界的流程结束。否则,该帧边界确定电路继续接收与该新的当前数据(即N+P个连续符号)相邻的P个连续符号,将该当前数据更新为(N+2P)个连续符号,并将该新的当前数据中的以第三待测符号为起点的N个连续符号(rN-2P-1~r-2P)作为第三数据块(新的当前数据块),然后,根据该第二数据块对应的确定参数的s个值,确定第三个待测符号是否为FEC帧的帧边界,即根据该新的当前数据块的前一数据块所对应的s个参数值,确定该新的当前数据块对应的s个参数值,其中,该第三个待测符号相对于该第二个待测符号向后偏移P个符号,依此类推。
该帧边界确定电路可以重复进行上述迭代过程,直到检测到FEC帧的帧边界或者或者确定2N个连续符号中的Q个待测符号(即符号rN-1,rN-P-1,…,r2P-1,rP-1)均不为FEC帧的帧边界。其中,在对每个当前数据块进行检测时,该帧边界确定电路将当前数据中的以第一符号为起点的N个连续符号确定为当前数据块,其中,N为一个FEC帧中包括的符号的数量,所述当前接收数据中包括所述当前数据块的前一数据块,所述第一符号相对于所述前一数据块的起始符号向后偏移P个符号,其中,1≤P<N;确定所述前一数据块所对应的s个参数值,并且确定所述当前数据块的第一迭代项和第二迭代项,其中,所述s个参数值为校正因子的s个值或校验因子的s个值,所述当前数据块的第一迭代项是根据所述前一数据块中的前P个符号获得的,所述当前数据块的第二迭代项是根据所述当前数据块中的最后P个符号获得的,s≥1;根据所述前一数据块所对应的所述s个参数值以及所述当前数据块的第一迭代项和第二迭代项,确定所述当前数据块所对应的s个参数值;根据所述当前数据块所对应的s个参数值,确定所述第一符号是否为FEC帧的帧边界。
可选地,作为另一实施例,若该帧边界确定电路确定该第一符号不为FEC帧的帧边界并且该当前数据包括的符号数量小于2N,则该帧边界确定电路可以接收与该当前数据相邻的P个连续符号,并将新接收的该P个连续符号加入该当前数据,作为新的当前数据;将该新的当前数据中以第二符号为起点的N个连续符号确定为新的当前数据块,其中,所述第二符号相对于所述第一符号向后偏移P个符号。
可选地,作为另一实施例,该当前数据块具体以该第一符号中的第一比特位为起点,若确定该第一符号不为FEC帧的帧边界并且该当前数据包括2N个符号,则该帧边界确定电路可以继续接收N个连续符号,并将继续接收的该N个连续符号作为新的当前数据,其中,该继续接收的该N个连续符号与该2N个符号不相邻;以及将该新的当前数据中的以第三符号为起点的N个连续符号确定为新的当前数据块,其中,该第一符号的起始比特位为第一比特位,该第三符号的起始比特位为第二比特位,且该第二比特位的序号n2与该第一比特位的序号n1之间满足如下条件:(n2-n1)modm≠0,或者,若m>1且P>1,(n2-n1)modm=0并且(n2-n1)modP≠0,mod表示求余操作,m为一个符号中包括的比特的数量。
应理解,上述实施例以前后两个数据块之间相对偏移P个符号并且该帧边界确定电路以P个符号为单位继续数据为例进行描述,但本发明实施例中,该前后两个数据块之间偏移的符号数量可以不等于每次数据的符号数量,本发明实施例对此不做限定。
因此,根据本发明实施例的确定FEC帧的帧边界的方法,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的每2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
应注意,图4的这个例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图4的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中结合图1至图4,详细描述了根据本发明实施例的确定FEC帧的帧边界的方法,下面将结合图5至图10,描述根据本发明实施例的确定FEC帧的帧边界的装置和解码系统。
图5示出了根据本发明实施例的确定FEC帧的帧边界的装置200。该装置200包括:接收器210、参数计算器220和比较器230。该装置200可以用于执行图2所示的方法。
该接收器210用于接收数据,该数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,该第二符号相对于该第一符号的偏移量为P个符号;
该参数计算器220用于获取该接收器210接收的该第一数据块所对应的s个参数值,确定该接收器210接收到的该第二数据块的第一迭代项和第二迭代项,以及根据该第一数据块对应的s个参数值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值,其中,该第二数据块的第一迭代项是根据该第一数据块中的最前P个连续符号获得的,该第二数据块的第二迭代项是根据该第二数据块中的最后P个连续符号获得的;
该比较器230用于根据该参数计算器220获得的该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。
因此,根据本发明实施例的确定FEC帧的帧边界的装置,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
该参数计算器220还可以用于在对该第一数据块进行检测时,计算该第一数据块对应的s个参数值,该比较器230还用于根据该参数计算器220确定的该第一数据块对应的s个参数值,确定该第一符号不为FEC帧的帧边界时。可选地,该第一符号可以为该数据中的首个待测符号,即该当前数据中不包括该第一数据块的前一数据块;或者,该第一符号也可以为该当前数据中的中间一个待测符号,即该当前数据中包括该第一数据块的前一数据块,本发明实施例对此不做限定。
在本发明实施例中,P可以为大于或等于1的正整数,例如,P为FEC编解码器的并行度,即FEC编解码器的实际数据通道能够容纳的参数值的个数,但本发明实施例对此不做限定。该s个参数值可以为校正因子的s个值或校验因子的s个值。如果该s个参数值为校验因子的s个值,则s=1;而如果该s个参数值为校正因子的s个值,则s的数值可以小于或等于2t,t为一个FEC帧中能够被纠正的错误符号的最大数量。一般地,s的数值越大,进行帧边界检测的准确度越高,但是消耗的电路资源越大,因此,可以根据实际的准确度需求和资源消耗确定该s的值,例如,s=P,但本发明实施例不限于此。
可选地,该第一数据块对应的s个参数值为校正因子的s个值,该第二数据块对应的s个参数值为校正因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:
其中,a为常数,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号。
可选地,作为另一实施例,该第一数据块对应的s个参数值为校验因子的s个值,该第二数据块对应的s个参数值为校验因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:
其中,a为变量,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号,n(j)表示该第j个符号的序号。
此时,a可以具体为生成多项式g(x)中的x。
该第二数据块的第一迭代项可以通过将该第一数据块中的最前P个连续符号带入公式H(a)获得,该第二数据块的第二迭代项可以通过将该第二数据块中的最后P个连续符号带入公式H(a)获得。
可选地,作为另一实施例,该装置200还包括:存储器。该存储器用于存储该第一数据块中的最前P个连续符号,相应地,该参数计算器220具体用于:获取该存储器中存储的该第一数据块中的最前P个连续符号,以及根据该第一数据块中的最前P个连续符号以及该公式H(a),确定该第二数据块的第一迭代项;或者
该存储器用于存储该第二数据块的第一迭代项,相应地,该参数计算器220具体用于获取该存储器中存储的该第二数据块的第一迭代项。
可选地,作为另一实施例,若该第二符号不是该当前数据的第Q个待测符号,则该存储器还可以存储该第二数据块的最前P个连续符号,以便于在对该第二数据块的下一数据块进行检测时,根据该第二数据块的最前P个连续符号,确定该第二数据块的下一数据块的第一迭代项。
可选地,作为另一实施例,该参数计算器220还可以用于将该第二数据块中的前P个连续符号带入该公式H(a),获得该第二数据块的下一数据块的第一迭代项,其中,该下一数据块的起始符号相对于该第二符号向后偏移P个符号;相应地,该存储器还用于存储该参数计算器220获得的该第二数据块的下一数据块的第一迭代项。这样,在对该第二数据块的下一数据块进行检测时,该参数计算器220可以获取该存储器中存储的该下一数据块的第一迭代项。
在本发明实施例中,该存储器可以具体以寄存器或者以静态随机存取存储器(Random Access Memory,RAM)的形式实现。例如,该确定FEC帧的帧边界的装置200可以同时包括寄存器和静态RAM,其中,该寄存器用于寄存该第一数据块所对应的s个参数值,或进一步用于寄存该第二数据块的第一迭代项;该静态RAM用于存储当前数据,但本发明实施例不限于此。
可选地,作为另一实施例,若该第一数据块对应的s个参数值为校正因子的s个值,并且该第二数据块对应的s个参数值为校正因子的s个值,则1<s≤2×t,t为一个FEC帧中能够被纠正的错误符号的最大数量,并且该第一迭代项和该第二迭代项分别包括s个数值;
相应地,该参数计算器220具体用于根据以下公式确定该第二数据块对应的校正因子的s个值:
Scurrent,i=Sprevious,i×(αi)P+H1(αi)×(αi)N+H2(αi) 1≤i≤s (17)
其中,Scurrent,i为该第二数据块对应的校正因子的第i个值,Sprevious,i为该第一数据块对应的校正因子的第i个值,H1(αi)为该第二数据块的第一迭代项的第i个值,H2(αi)为该第二数据块的第二迭代项的第i个值,αi为FEC码的生成多项式的第i个根。
此时,该第一迭代项和该第二迭代项的值可以由式(15)确定。
可选地,作为另一实施例,若该第一数据块对应的s个参数值为校验因子的s个值,并且该第二数据块对应的s个参数值为校验因子的s个值,则s=1,并且该参数计算器220具体用于根据以下公式确定该第二数据块对应的校验因子的值:
Rcurrent=(Rprevious×xP)modg(x)+(H1(x)×xP)modg(x)+(H2(x)×xP)modg(x)
(18)
其中,Rcurrent为该第二数据块对应的校验因子的值,Rlast为该第一数据块对应的校验因子的值,H1(x)为该第二数据块的第一迭代项,H2(x)为该第二数据块的第二迭代项,g(x)为FEC码的生成多项式。
此时,该第一迭代项和该第二迭代项的值可以由式(16)确定。
可选地,作为另一实施例,该比较器230具体用于:
若该参数计算器220确定的该第二数据块对应的s个参数值均为零,确定该第二符号为FEC帧的帧边界;
若该参数计算器220确定的该第二数据块对应的s个参数值中的至少一个参数值不等于零,确定该第二符号不为FEC帧的帧边界。
可选地,作为另一实施例,该接收器210还用于:若该数据包括的符号数量小于2N,接收新的数据,该新的数据包括P个连续符号,该新的数据与该N+P个连续符号相邻且在该N+P个连续符号之后收到,其中,由以该第二数据块中的第三符号为起点的N个连续符号组成第三数据块,该第三符号相对于该第二符号的偏移量为P个符号;
该参数计算器220还用于若该比较器230确定该第二符号不为FEC帧的帧边界,确定该第三数据块的第一迭代项和第二迭代项,其中,该第三数据块的第一迭代项是根据以该第二数据块中的最前连续P个符号获得的,该第三数据块的第二迭代项是根据该新的数据中包括的P个连续符号获得的,以及根据该第二数据块所对应的s个参数值以及该第三数据块的第一迭代项和第二迭代项,确定该第三数据块对应的s个参数值;
该比较器230还用于根据该参数计算器220确定的该第三数据块对应的s个参数值,确定该第三符号是否为FEC帧的帧边界。
可选地,作为另一实施例,该接收器210还用于:若该数据包括的符号数量等于2N,接收新的数据,该新的数据包括第四数据块,该第四数据块由以第四符号为起点的N个连续符号组成,该新的数据与该N+P个连续符号不相邻且在该N+P个连续符号之后收到,其中,该第四符号的起始比特位相对于该第二符号的起始比特位的偏移量为L个符号,其中,Lmodm≠0,或者Lmodm=0并且LmodP≠0,其中,mod表示求余操作,m为一个符号中包括的比特的数量;
该参数计算器220还用于若该比较器230确定该第二符号不为FEC帧的帧边界,根据该第四数据块包括的N个连续符号,确定该第四数据块对应的s个参数值;
该比较器230还用于根据该参数计算器220确定的该第四数据块对应的s个参数值,确定该第四符号是否为FEC帧的帧边界。
在本发明实施例中,若该比较器230确定当前数据中的Q个待测符号均不为FEC帧的帧边界,则该装置200可以继续以2N个连续符号为单位进行帧边界的检测。其中,该装置200可以首先以一个或多个比特位为单位进行偏移执行上述确定过程,即(n2-n1)modm≠0;若进行比特位的偏移之后仍未检测到FEC帧的帧边界,则以一个或多个符号为单位进行偏移,即(n2-n1)modm=0并且(n2-n1)modP≠0,继续执行上述检测过程。或者,该装置200可以首先以一个或多个符号为单位进行偏移,然后以一个或多个比特位为单位进行偏移,本发明实施例对此不做限定。
根据本发明实施例的确定FEC帧的帧边界的装置200可对应于根据本发明实施例的确定FEC帧的帧边界的方法中的帧边界确定电路,并且确定FEC帧的帧边界的装置200中的各个模块的上述和其它操作和/或功能分别为了实现图2至图4中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,根据本发明实施例的确定FEC帧的帧边界的装置,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
图6示出了根据本发明实施例的确定FEC帧的帧边界的装置300的具体实现示例。该装置300包括数据缓存(data buffer)310、校正因子计算器320、比较器330、同步器(synchronizer)340和复用器(Mulitiplexer,MUX)350。
该校正因子计算器320用于将该当前数据中的第一个数据块作为当前数据块,以及计算并存储该第一个数据块对应的校正因子的s个值,其中,该第一数据块以该当前数据中的第一个符号(即第一个待测符号)为起点。
该比较器330用于根据该第一个数据块对应的校正因子的s个值是否均为零,确定第一个待测符号是否为FEC帧的帧边界。
若该比较器330确定该第一个待测符号不为FEC帧的帧边界,该复用器MUX 350从初始的0状态转换到1状态,此时,该校正因子计算器320与同步器340之间的传输链路由导通状态变为断开状态,同时数据缓存310与同步器340之间的传输链路由断开状态变为导通状态。
此时,该第一个数据块的下一数据块(即第二个数据块)作为新的当前数据块,其中,第二个数据块的起始符号相对于该第一个待测符号向后偏移P个符号。在以下描述中,一般性地将该第二个数据块称为第i个数据块,1<i≤Q。
该校正因子计算器320还用于计算该第i个数据块的第一迭代项和第二迭代项。
该数据缓存310用于存储该校正因子计算器320确定的该第i个数据块的第一迭代项。
该校正因子计算器320还用于计算该第i个数据块的第二迭代项,并将该第i个数据块的第二迭代项传输至该同步器340。
相应地,该校正因子计算器320还用于将之前存储的该第i-1个数据块对应的校正因子的s个值传输至同步器340。
该同步器340用于从该校正因子计算器320中获取该第i-1个数据块对应的校正因子的s个值,从该校正因子计算器320中获取该第i个数据块第二迭代项,以及从该数据缓存310中获取该第i个数据块的第一迭代项,并且根据从该校正因子计算器320获取的该第i-1个数据块对应的校正因子的s个值和该第i个数据块第二迭代项以及从该数据缓存310中获取的该第i个数据块的第一迭代项,计算该第i个待数据块所对应的校正因子的s个值。
该比较器330还用于根据该第i个数据块对应的校正因子的s个值,确定该该第i个数据块的起始符号是否为FEC帧的帧边界。
该校正因子计算器320还用于存储该同步器320确定的该第i个数据块所对应的校正因子的s个值。
若该比较器330确定该第i个数据块的起始符号不为FEC帧的帧边界,则该第i个数据块的下一数据块(即第i+1个数据块)作为新的第二数据块,依次类推。
可选地,该校正因子计算器320和同步器340可以由加法器和乘法器实现,但本发明实施例不限于此。
因此,根据本发明实施例的确定FEC帧的帧边界的装置,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
图7示意性地示出了根据本发明实施例的解码系统400,该解码系统400包括:帧边界确定电路410、错误诊断器420和错误纠正器430,该帧边界确定电路410用于确定FEC码的帧边界,该错误诊断器420用于根据该帧边界确定电路410确定的帧边界,确定FEC帧中存在的错误,该错误纠正器430用于根据该错误诊断器420确定的FEC帧中存在的错误,对FEC帧进行纠错,其中,该帧边界确定电路410具体用于:
接收数据,该数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,该第二符号相对于该第一符号的偏移量为P个符号;
获取该第一数据块所对应的s个参数值,该s个参数值为校正因子的s个值或校验因子的s个值,s≥1;
确定该第二数据块的第一迭代项和第二迭代项,其中,该第二数据块的第一迭代项是根据该第一数据块中的最前P个连续符号获得的,该第二数据块的第二迭代项是根据该第二数据块中的最后P个连续符号获得的;
根据该第一数据块对应的s个参数值以及该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值;
根据该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。
可选地,该解码系统400还可以包括解扰器,用于对待处理的数据流进行解扰;相应地,该错误纠正器430具体用于根据该错误诊断器420确定的FEC帧中存在的错误,对该解扰器解扰后的FEC帧进行纠错。
可选地,作为另一实施例,该解码系统400还可以包括控制器,用于若该帧边界确定电路410的确定结果表明该第二符号不是FEC帧的帧边界,则控制该帧边界确定电路410继续进行帧边界的确定。若该帧边界确定电路410的确定结果表明该第二符号是FEC帧的帧边界,则控制该错误诊断器420根据该帧边界确定电路410确定的帧边界,确定FEC帧中存在的错误。
根据本发明实施例的帧边界确定电路410可对应于根据本发明实施例的确定FEC帧的帧边界的方法中的帧边界确定电路,或者对应于根据本发明实施例的确定FEC帧的帧边界的装置,并且该帧边界确定电路410中的各个模块的上述和其它操作和/或功能分别为了实现图2至图4中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,根据本发明实施例的解码系统,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
图8和图9示出了根据本发明实施例的解码系统的两个示例。其中,在图8所示的解码系统500和图9所示的解码系统600中,该s个参数值为校正因子的s个值。如图8所示,该解码系统500包括帧边界确定电路510、错误诊断器520、错误纠正器、解扰器540和控制器550,其中,该帧边界确定电路510包括:数据缓存511、校正因子计算器512、同步器513和复用器(MUX)514。
该控制器550可以控制该复用器514的状态。在该帧边界确定电路510进行FEC帧的帧边界的确定时,该控制器550将该复用器514置于0,而在该帧边界确定电路510确定到FEC帧的帧边界时,该控制器将该复用器514置于1,但本发明实施例不限于此。
该帧边界确定电路510的其它模块的功能与图6所示的确定FEC帧的帧边界的装置300的相应模块的功能类似。具体地,该校正因子计算器512用于计算并存储该当前数据中的第一个数据块对应的校正因子的s个值(Sfirst),其中,该第一个数据块以该当前数据中的第一个符号为起始比特位。该比较器330用于根据该第一个数据块对应的校正因子的s个值是否均为零,确定第一个符号是否为FEC帧的帧边界。
若该比较器330确定该第一个符号不为FEC帧的帧边界,则该第一个数据块的下一数据块(即第二个数据块)作为新的当前数据块。
该校正因子计算器320还用于计算该第i个数据块的第一迭代项和第二迭代项,其中,1<i≤Q。
该数据缓存310用于存储该校正因子计算器320确定的该第i个数据块的第一迭代项。
该同步器340用于根据从该校正因子计算器320获取的该第i-1个数据块对应的校正因子的s个值和该第i个数据块第二迭代项(H2)以及从该数据缓存310中获取的该第i个数据块的第一迭代项(H1),计算该第i个数据块所对应的校正因子的s个值(Snext)。
该比较器330还用于根据该第i个数据块对应的校正因子的s个值,确定该第i个数据块的起始符号是否为FEC帧的帧边界。
该校正因子计算器320还用于存储该同步器340确定的该第i个数据块所对应的校正因子的s个值,以便于该同步器340根据该第i个数据块所对应的校正因子的s个值确定该第i+1个数据块所对应的校正因子的s个值。
图9所示的解码系统700与图8所示的解码系统600的结构类似,主要不同点在于该帧边界确定电路610与帧边界确定电路510的结构不同。具体地,在帧边界确定电路510中,由校正因子计算器512预先计算第i个数据块的第一迭代项H1,并将该第i个数据块的第一迭代项H1存储至数据缓存511。这样,当该同步器513计算第i个数据块对应的校正因子的数值时,可以获取该数据缓存511中存储的H1,而无需实时计算。
在帧边界确定电路610中,数据缓存611不用于存储该第i个数据块的第一迭代项,而用于存储该第i-1个数据块的最前P个连续符号。此时,在该同步器613需要计算该第i个数据块对应的校正因子Snext的值时,由多项式计算器614根据该数据缓存611中存储的该第i-1个数据块的最前P个连续符号,实时计算该第i个数据块的第一迭代项H1,并将计算结果输入到该同步器613。
图10示出了根据本发明实施例的另一解码系统700的例子。其中,该s个参数值为校验因子的值。由式(16)可以得出下一数据块所对应的校验因子的值可以由下式确定:
Rnext=Rhead+Rbody+Rtail (19)
Rbody=[Rcurrent·xP]modg(x) (20)
Rhead=H1modg(x) (21)
Rtail=H2modg(x) (22)
相应地,该帧边界确定电路710包括:数据缓存711、Rfirst异或计算电路712、复用器713、Rbody异或计算电路714、Rhead异或计算电路715、Rtail异或计算电路716、求和器717和比较器718。
Rfirst异或计算电路712用于计算第一个数据块对应的校验因子Rfirst的值,比较器718用于根据该Rfirst异或计算电路712确定的Rfirst的值,确定该第一个数据块的起始符号是否为FEC帧的帧边界。
若比较器718确定该第一个数据块的起始符号不为FEC帧的帧边界,则Rbody异或计算电路714将该Rfirst异或计算电路712确定的Rfirst的值带入式(20),获得该第一个数据块的下一数据块(以下称为第二个数据块)的Rbody的值,其中,该第二个数据块的起始符号相对于该第一个数据块的起始符号向后偏移P个符号。
此后,该MUX 713由初始的0状态切换到1装置,此时,Rfirst异或计算电路712与Rbody异或计算电路714之间的传输链路由导通状态变为断开状态,同时Rbody异或计算电路714与求和器717之间的传输链路由断开状态变为导通状态。
在以下描述中,一般性地将该第二数据块称为第i个数据块,1<i≤Q。
Rhead异或计算电路715将该第i-1个数据块中的最前P个连续符号带入式(21)计算该第i个数据块的Rhead的值,并且Rtail异或计算电路716将第i个数据块的最后P个连续符号带入式(22)计算该第i个数据块的Rtail的值。随后,该Rbody、Rhead和Rtail的值均被输入到求和器717。
该求和器717对输入的Rbody、Rhead和Rtail的值执行相加操作,获得该第i个数据块对应的校验因子Rnext的值。
该比较器718根据该Rnext的值,确定该第i个数据块的起始符号是否为FEC帧的帧边界。
若该比较器718确定该第i个数据块的起始符号不为FEC帧的帧边界,则该帧边界确定电路710继续进行迭代计算,确定该第i个数据块的下一数据块(第i+1数据块)的起始符号是否为FEC帧的帧边界,即该Rbody异或计算电路714将该求和器717确定的Rnext的值带入式(18),获得该第i+1个数据块的Rbody的值;Rhead异或计算电路715将该第i个数据块中的最前P个连续符号带入式(21),获得该第i+1个数据块的Rhead的值;Rtail异或计算电路716将该第i+1个数据块的最后P个连续符号带入式(22),获得该第i+1个数据块的Rtail的值;最后该求和器根据该第i+1个数据块的Rbody、Rhead和Rtail的值,确定该第i+1个数据块对应的校验因子的值。
因此,根据本发明实施例的解码系统,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
应注意,图6以及图8至图10的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图6以及图8至图10的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
本发明实施例还提供了一种确定前向纠错帧的帧边界的装置。所述装置可以用于执行图2所示的方法。举例来说,该装置可以是帧边界确定电路。下文涉及的技术术语的含义以及举例,可以参考图2对应的实施例,此处不再赘述。该装置包括:
接收单元,用于接收数据,该数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,该N+P个连续符号中的以该第一符号为起点的N个连续符号组成第一数据块,该N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,该第二符号相对于该第一符号的偏移量为P个符号;
获取单元,用于获取该第一数据块所对应的s个参数值;
第一确定单元,用于确定该接收单元接收到的该第二数据块的第一迭代项和第二迭代项,其中,该第二数据块的第一迭代项是根据该第一数据块中的前P个连续符号获得的,该第二数据块的第二迭代项是根据该第二数据块中的最后P个连续符号获得的;
第二确定单元,用于根据该获取单元获取的该第一数据块对应的s个参数值以及该第一确定单元确定的该第二数据块的第一迭代项和第二迭代项,确定该第二数据块对应的s个参数值;
第三确定单元,用于根据该第二确定单元确定的该第二数据块对应的s个参数值,确定该第二符号是否为FEC帧的帧边界。
可选地,该第一数据块对应的s个参数值为校正因子的s个值,该第二数据块对应的s个参数值为校正因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:
其中,a为常数,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号。
可选地,作为另一实施例,该第一数据块对应的s个参数值为校验因子的s个值,该第二数据块对应的s个参数值为校验因子的s个值,并且该第二数据块的第一迭代项和第二迭代项由以下公式确定:
其中,a为变量,r(j)表示该最前P个连续符号中的第j个符号或该最后P个连续符号中的第j个符号,n(j)表示该第j个符号的序号。
可选地,作为另一实施例,该装置还包括:存储单元,其中,
该存储单元用于存储该第一数据块中的最前P个连续符号,
该第一确定单元具体用于:获取该存储单元中存储的该第一数据块中的最前P个连续符号,以及根据该第一数据块中的最前P个连续符号以及该公式H(a),确定该第二数据块的第一迭代项;或者
该存储单元用于存储该第二数据快的第一迭代项,
该第一确定单元具体用于获取该存储单元中存储的该第二数据块的第一迭代项。
可选地,作为另一实施例,若该第一数据块对应的s个参数值为校正因子的s个值,并且该第二数据块对应的s个参数值为校正因子的s个值,则1<s≤2×t,t为一个FEC帧中能够被纠正的错误符号的最大数量,并且该第一迭代项和该第二迭代项分别包括s个数值;
该第二确定单元具体用于根据以下公式确定该第二数据块对应的校正因子的s个值:
Scurrent,i=Sprevious,i×(αi)P+H1(αi)×(αi)N+H2(αi) 1≤i≤s (25)
其中,Scurrent,i为该第二数据块对应的校正因子的第i个值,Sprevious,i为该第一数据块对应的校正因子的第i个值,H1(αi)为该第二数据块的第一迭代项的第i个值,H2(αi)为该第二数据块的第二迭代项的第i个值,αi为FEC码的生成多项式的第i个根。
可选地,作为另一实施例,若该第一数据块对应的s个参数值为校验因子的s个值,并且该第二数据块对应的s个参数值为校验因子的s个值,则s=1,并且该第二确定单元具体用于根据以下公式确定该第二数据块对应的校验因子的值:
Rcurrent=(Rprevious×xP)modg(x)+(H1(x)×xP)modg(x)+(H2(x)×xP)modg(x)
(26)
其中,Rcurrent为该第二数据块对应的校验因子的值,Rprevious为该第一数据块对应的校验因子的值,H1(x)为该第二数据块的第一迭代项,H2(x)为该第二数据块的第二迭代项,g(x)为FEC码的生成多项式。
可选地,作为另一实施例,该第三确定单元具体用于:
若该第二确定单元确定的该第二数据块对应的s个参数值均为零,确定该第二符号为FEC帧的帧边界;或者
若该第二确定单元确定的该第二数据块对应的s个参数值中的至少一个参数值不等于零,确定该第二符号不为FEC帧的帧边界。
可选地,作为另一实施例,该接收单元还用于:若该数据包括的符号数量小于2N,接收新的数据,该新的数据包括P个连续符号,该新的数据与该N+P个连续符号相邻且在该N+P个连续符号之后收到,其中,由以该第二数据块中的第三符号为起点的N个连续符号组成第三数据块,该第三符号相对于该第二符号的偏移量为P个符号;
该第二确定单元还用于若该第三确定单元确定该第二符号不为FEC帧的帧边界,确定该第三数据块的第一迭代项和第二迭代项,其中,该第三数据块的第一迭代项是根据以该第二数据块中的最前P个连续符号获得的,该第三数据块的第二迭代项是根据该新的数据中包括的P个连续符号获得的,以及根据该第二数据块所对应的s个参数值以及该第三数据块的第一迭代项和第二迭代项,确定该第三数据块对应的s个参数值;
该第三确定单元还用于根据该第二确定单元确定的该第三数据块对应的s个参数值,确定该第三符号是否为FEC帧的帧边界。
可选地,作为另一实施例,该接收单元还用于:若该数据包括的符号数量等于2N,接收新的数据,该新的数据包括第四数据块,该第四数据块由以第四符号为起点的N个连续符号组成,该新的数据与该N+P个连续符号不相邻且在该N+P个连续符号之后收到,其中,该第四符号的起始比特位相对于该第二符号的起始比特位的偏移量为L个符号,其中,Lmodm≠0,或者Lmodm=0并且LmodP≠0,其中,mod表示求余操作,m为一个符号中包括的比特的数量;
该第二确定单元还用于若该第三确定单元确定该第二符号不为FEC帧的帧边界,根据该第四数据块包括的N个连续符号,确定该第四数据块对应的s个参数值;
该第三确定单元还用于根据该第二确定单元确定的该第四数据块对应的s个参数值,确定该第四符号是否为FEC帧的帧边界。
因此,根据本发明实施例的确定FEC帧的帧边界的装置,利用第一数据块所对应的s个参数值,确定第二数据块对应的s个参数值,其中,该第一数据块由以第一符号为起点的N个连续符号组成,该第二数据块由以第二符号为起点的N个连续符号组成,第二符号相对于该第一符号的偏移量为P个符号,并且该帧边界确定电路根据该第二数据块对应的s个参数值确定该第二符号是否为FEC帧的帧边界,通过采用该迭代算法,对于接收的2N个连续符号,能够检测该2N个连续符号中的N/P个符号是否为FEC帧的帧边界,从而提高FEC帧的帧边界的确定效率,提高通信链路的同步速度,提升系统性能。
应理解,在本发明实施例中,术语和/或仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符/,一般表示前后关联对象是一种或的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种确定前向纠错FEC帧的帧边界的方法,其特征在于,应用于里得所罗门RS码或博斯-乔赫里BCH码进行前向纠错,包括:
帧边界确定电路接收数据,所述数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,所述N+P个连续符号中的以所述第一符号为起点的N个连续符号组成第一数据块,所述N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,所述第二符号相对于所述第一符号的偏移量为P个符号;
根据所述第一数据块对应的s个参数值以及所述第二数据块的第一迭代项和第二迭代项,确定所述第二数据块对应的s个参数值,其中,所述第二数据块的第一迭代项是根据所述第一数据块中的最前P个连续符号获得的,所述第二数据块的第二迭代项是根据所述第二数据块中的最后P个连续符号获得的;
根据所述第二数据块对应的s个参数值,确定所述第二符号是否为FEC帧的帧边界,包括:
若所述第二数据块所对应的s个参数值均为零,确定所述第二符号为FEC帧的帧边界;或者
若所述第二数据块对应的s个参数值中的至少一个参数值不等于零,确定所述第二符号不为FEC帧的帧边界。
4.根据权利要求2所述的方法,其特征在于,所述确定所述第二数据块的第一迭代项,包括:
从第一预设存储区域中获取所述第一数据块中的最前P个连续符号,并根据所述第一数据块中的最前P个连续符号和所述公式H(a),确定所述第二数据块的第一迭代项;或
从第二预设存储区域中获取所述第二数据块的第一迭代项。
5.根据权利要求1至4中任一项所述的方法,其特征在于,若所述第一数据块对应的s个参数值为校正因子的s个值,并且所述第二数据块对应的s个参数值为校正因子的s个值,则1<s≤2×t,t为一个FEC帧中能够被纠正的错误符号的最大数量,并且所述第一迭代项和所述第二迭代项分别包括s个数值;
所述第二数据块对应的校正因子的s个值由下式确定:
Scurrent,i=Sprevious,i×(αi)P+H1(αi)×(αi)N+H2(αi)1≤i≤s
其中,Scurrent,i为所述第二数据块对应的校正因子的第i个值,Sprevious,i为所述第一数据块对应的校正因子的第i个值,H1(αi)为所述第二数据块的第一迭代项的第i个值,H2(αi)为所述第二数据块的第二迭代项的第i个值,αi为FEC码的生成多项式的第i个根。
6.根据权利要求1至4中任一项所述的方法,其特征在于,若所述第一数据块对应的s个参数值为校验因子的s个值,并且所述第二数据块对应的s个参数值为校正因子的s个值,则s=1,并且所述第二数据块对应的校验因子的值由下式确定:
Rcurrent=(Rprevious×xP)mod g(x)+(H1(x)×xP)mod g(x)+(H2(x)×xP)mod g(x)
其中,Rcurrent为所述第二数据块对应的校验因子的值,Rlast为所述第一数据块对应的校验因子的值,H1(x)为所述第二数据块的第一迭代项,H2(x)为所述第二数据块的第二迭代项,g(x)为FEC码的生成多项式。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
若所述数据包括的符号数量小于2N,接收新的数据,所述新的数据包括P个连续符号,所述新的数据与所述N+P个连续符号相邻且在所述N+P个连续符号之后收到,其中,由以所述第二数据块中的第三符号为起点的N个连续符号组成第三数据块,所述第三符号相对于所述第二符号的偏移量为P个符号;
若确定所述第二符号不为FEC帧的帧边界,确定所述第三数据块的第一迭代项和第二迭代项,其中,所述第三数据块的第一迭代项是根据所述第二数据块中的最前P个连续符号获得的,所述第三数据块的第二迭代项是根据所述新的数据中包括的P个连续符号获得的;
根据所述第二数据块所对应的s个参数值以及所述第三数据块的第一迭代项和第二迭代项,确定所述第三数据块对应的s个参数值;
根据所述第三数据块对应的s个参数值,确定所述第三符号是否为FEC帧的帧边界。
8.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
若所述数据包括的符号数量等于2N,接收新的数据,所述新的数据包括第四数据块,所述第四数据块由以第四符号为起点的N个连续符号组成,所述新的数据与所述N+P个连续符号不相邻且在所述N+P个连续符号之后收到,其中,所述第四符号的起始比特位相对于所述第二符号的起始比特位n1的偏移量为L个符号,其中,Lmodm≠0,或者Lmodm=0并且LmodP≠0,其中,mod表示求余操作,m为一个符号中包括的比特的数量;
若确定所述第二符号不为FEC帧的帧边界,根据所述第四数据块包括的N个连续符号,确定所述第四数据块对应的s个参数值;
根据所述第四数据块对应的s个参数值,确定所述第四符号是否为FEC帧的帧边界。
9.一种确定前向纠错FEC帧的帧边界的装置,其特征在于,应用于里得所罗门RS码或博斯-乔赫里BCH码进行前向纠错,包括:接收器、参数计算器和比较器,其中,
所述接收器用于接收数据,所述数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,所述N+P个连续符号中的以所述第一符号为起点的N个连续符号组成第一数据块,所述N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,所述第二符号相对于所述第一符号的偏移量为P个符号;
所述参数计算器用于获取所述接收器接收的所述第一数据块所对应的s个参数值,以及根据所述第一数据块对应的s个参数值以及所述第二数据块的第一迭代项和第二迭代项,确定所述第二数据块对应的s个参数值,其中,所述第二数据块的第一迭代项是根据所述第一数据块中的最前P个连续符号获得的,所述第二数据块的第二迭代项是根据所述第二数据块中的最后P个连续符号获得的;
所述比较器用于根据所述参数计算器获得的所述第二数据块对应的s个参数值,确定所述第二符号是否为FEC帧的帧边界;
所述比较器具体用于:
若所述参数计算器确定的所述第二数据块对应的s个参数值均为零,确定所述第二符号为FEC帧的帧边界;或者
若所述参数计算器确定的所述第二数据块对应的s个参数值中的至少一个参数值不等于零,确定所述第二符号不为FEC帧的帧边界。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:存储器,其中,
所述存储器用于存储所述第一数据块中的最前P个连续符号,
所述参数计算器具体用于:获取所述存储器中存储的所述第一数据块中的最前P个连续符号,以及根据所述第一数据块中的最前P个连续符号以及所述公式H(a),确定所述第二数据块的第一迭代项;或者
所述存储器用于存储所述第二数据快的第一迭代项,
所述参数计算器具体用于获取所述存储器中存储的所述第二数据块的第一迭代项。
13.根据权利要求9至12中任一项所述的装置,其特征在于,若所述第一数据块对应的s个参数值为校正因子的s个值,并且所述第二数据块对应的s个参数值为校正因子的s个值,则1<s≤2×t,t为一个FEC帧中能够被纠正的错误符号的最大数量,并且所述第一迭代项和所述第二迭代项分别包括s个数值;
所述参数计算器具体用于根据以下公式确定所述第二数据块对应的校正因子的s个值:
Scurrent,i=Sprevious,i×(αi)P+H1(αi)×(αi)N+H2(αi)1≤i≤s
其中,Scurrent,i为所述第二数据块对应的校正因子的第i个值,Sprevious,i为所述第一数据块对应的校正因子的第i个值,H1(αi)为所述第二数据块的第一迭代项的第i个值,H2(αi)为所述第二数据块的第二迭代项的第i个值,αi为FEC码的生成多项式的第i个根。
14.根据权利要求9至12中任一项所述的装置,其特征在于,若所述第一数据块对应的s个参数值为校验因子的s个值,并且所述第二数据块对应的s个参数值为校验因子的s个值,则s=1,并且所述参数计算器具体用于根据以下公式确定所述第二数据块对应的校验因子的值:
Rcurrent=(Rprevious×xP)mod g(x)+(H1(x)×xP)mod g(x)+(H2(x)×xP)mod g(x)
其中,Rcurrent为所述第二数据块对应的校验因子的值,Rprevious为所述第一数据块对应的校验因子的值,H1(x)为所述第二数据块的第一迭代项,H2(x)为所述第二数据块的第二迭代项,g(x)为FEC码的生成多项式。
15.根据权利要求9至12中任一项所述的装置,其特征在于,所述接收器还用于:若所述数据包括的符号数量小于2N,接收新的数据,所述新的数据包括P个连续符号,所述新的数据与所述N+P个连续符号相邻且在所述N+P个连续符号之后收到,其中,由以所述第二数据块中的第三符号为起点的N个连续符号组成第三数据块,所述第三符号相对于所述第二符号的偏移量为P个符号;
所述参数计算器还用于若所述比较器确定所述第二符号不为FEC帧的帧边界,确定所述第三数据块的第一迭代项和第二迭代项,其中,所述第三数据块的第一迭代项是根据以所述第二数据块中的最前P个连续符号获得的,所述第三数据块的第二迭代项是根据所述新的数据中包括的P个连续符号获得的,以及根据所述第二数据块所对应的s个参数值以及所述第三数据块的第一迭代项和第二迭代项,确定所述第三数据块对应的s个参数值;
所述比较器还用于根据所述参数计算器确定的所述第三数据块对应的s个参数值,确定所述第三符号是否为FEC帧的帧边界。
16.根据权利要求9至12中任一项所述的装置,其特征在于,所述接收器还用于:若所述数据包括的符号数量等于2N,接收新的数据,所述新的数据包括第四数据块,所述第四数据块由以第四符号为起点的N个连续符号组成,所述新的数据与所述N+P个连续符号不相邻且在所述N+P个连续符号之后收到,其中,所述第四符号的起始比特位相对于所述第二符号的起始比特位的偏移量为L个符号,其中,Lmodm≠0,或者Lmodm=0并且LmodP≠0,其中,mod表示求余操作,m为一个符号中包括的比特的数量;
所述参数计算器还用于若所述比较器确定所述第二符号不为FEC帧的帧边界,根据所述第四数据块包括的N个连续符号,确定所述第四数据块对应的s个参数值;
所述比较器还用于根据所述参数计算器确定的所述第四数据块对应的s个参数值,确定所述第四符号是否为FEC帧的帧边界。
17.一种解码系统,其特征在于,包括:帧边界确定电路、错误诊断器和错误纠正器,所述帧边界确定电路用于确定FEC码的帧边界,所述错误诊断器用于根据所述帧边界确定电路确定的帧边界,确定FEC帧中存在的错误,所述错误纠正器用于根据所述错误诊断器确定的FEC帧中存在的错误,对FEC帧进行纠错,其中,所述帧边界确定电路具体用于:
接收数据,所述数据包括以第一符号为起点的N+P个连续符号,N为一个FEC帧中包括的符号的数量,N为P的正整数倍且N大于P,其中,所述N+P个连续符号中的以所述第一符号为起点的N个连续符号组成第一数据块,所述N+P个连续符号中的以第二符号为起点的N个连续符号组成第二数据块,所述第二符号相对于所述第一符号的偏移量为P个符号;
获取所述第一数据块所对应的s个参数值;
根据所述第一数据块对应的s个参数值以及所述第二数据块的第一迭代项和第二迭代项,确定所述第二数据块对应的s个参数值,其中,所述第二数据块的第一迭代项是根据所述第一数据块中的前P个连续符号获得的,所述第二数据块的第二迭代项是根据所述第二数据块中的最后P个连续符号获得的;
根据所述第二数据块对应的s个参数值,确定所述第二符号是否为FEC帧的帧边界,包括:
若所述第二数据块所对应的s个参数值均为零,确定所述第二符号为FEC帧的帧边界;或者
若所述第二数据块对应的s个参数值中的至少一个参数值不等于零,确定所述第二符号不为FEC帧的帧边界。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910883143.4A CN110784283B (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/082660 WO2016011592A1 (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN201480080532.9A CN106664154B (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN201910883143.4A CN110784283B (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480080532.9A Division CN106664154B (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784283A CN110784283A (zh) | 2020-02-11 |
CN110784283B true CN110784283B (zh) | 2022-01-14 |
Family
ID=55162396
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910883143.4A Active CN110784283B (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN201480080532.9A Active CN106664154B (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480080532.9A Active CN106664154B (zh) | 2014-07-22 | 2014-07-22 | 确定前向纠错帧边界的方法、装置和解码系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10116419B2 (zh) |
EP (2) | EP3163779B1 (zh) |
CN (2) | CN110784283B (zh) |
ES (1) | ES2750999T3 (zh) |
WO (1) | WO2016011592A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10911069B2 (en) * | 2019-01-22 | 2021-02-02 | Western Digital Technologies, Inc. | Memory device with enhanced error correction |
CN114793145B (zh) * | 2021-01-26 | 2024-04-23 | 华为技术有限公司 | 一种解码方法、接收设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035355B2 (en) * | 2001-09-17 | 2006-04-25 | Digeo, Inc. | Apparatus and method for decode arbitration in a multi-stream multimedia system |
WO2011023489A1 (en) * | 2009-08-28 | 2011-03-03 | International Business Machines Corporation | Method and system for detecting the frame boundary of a data stream received in forward error correction layer in the ethernet |
CN102035616A (zh) * | 2009-09-30 | 2011-04-27 | 国际商业机器公司 | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 |
CN102263609A (zh) * | 2010-05-31 | 2011-11-30 | 国际商业机器公司 | 帧边界检测方法和设备及解码方法和系统 |
CN102461041A (zh) * | 2009-06-10 | 2012-05-16 | 阿尔卡特朗讯 | 用于向多个收发器的信道自适应错误复原传输的系统 |
CN101233715B (zh) * | 2006-06-26 | 2012-09-12 | 三菱电机株式会社 | 实现fec前向纠错功能的通信装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05304519A (ja) * | 1992-04-02 | 1993-11-16 | Nec Corp | フレーム同期回路 |
DE69332367T2 (de) * | 1993-01-07 | 2003-07-03 | Kabushiki Kaisha Toshiba, Kawasaki | Datenübertragungssystem mit adaptivem Hybrid-ARQ-Verfahren |
JP4244568B2 (ja) * | 2002-06-12 | 2009-03-25 | 日本ビクター株式会社 | 再生装置、再生方法及びプログラム |
US8208499B2 (en) * | 2003-06-13 | 2012-06-26 | Dtvg Licensing, Inc. | Framing structure for digital broadcasting and interactive services |
KR101484994B1 (ko) * | 2008-08-25 | 2015-01-26 | 삼성전자주식회사 | 전력 소모를 줄이기 위한 수신기, 및 상기 수신기를 포함하는 디지털 방송 수신 시스템 |
JP4935787B2 (ja) * | 2008-09-12 | 2012-05-23 | 日本電気株式会社 | 巡回符号演算処理回路 |
CN102356585A (zh) * | 2011-08-19 | 2012-02-15 | 华为技术有限公司 | 一种光传输模块和光信号传输装置 |
CN103199876B (zh) * | 2013-04-11 | 2016-08-10 | 华为技术有限公司 | 实现软判决fec译码的方法及装置 |
CN107667490B (zh) * | 2015-07-27 | 2019-10-25 | Lg电子株式会社 | 用于发送和接收广播信号的设备和方法 |
-
2014
- 2014-07-22 CN CN201910883143.4A patent/CN110784283B/zh active Active
- 2014-07-22 EP EP14898128.5A patent/EP3163779B1/en active Active
- 2014-07-22 EP EP19187975.8A patent/EP3618326A1/en active Pending
- 2014-07-22 ES ES14898128T patent/ES2750999T3/es active Active
- 2014-07-22 CN CN201480080532.9A patent/CN106664154B/zh active Active
- 2014-07-22 WO PCT/CN2014/082660 patent/WO2016011592A1/zh active Application Filing
-
2017
- 2017-01-20 US US15/411,669 patent/US10116419B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035355B2 (en) * | 2001-09-17 | 2006-04-25 | Digeo, Inc. | Apparatus and method for decode arbitration in a multi-stream multimedia system |
CN101233715B (zh) * | 2006-06-26 | 2012-09-12 | 三菱电机株式会社 | 实现fec前向纠错功能的通信装置 |
CN102461041A (zh) * | 2009-06-10 | 2012-05-16 | 阿尔卡特朗讯 | 用于向多个收发器的信道自适应错误复原传输的系统 |
WO2011023489A1 (en) * | 2009-08-28 | 2011-03-03 | International Business Machines Corporation | Method and system for detecting the frame boundary of a data stream received in forward error correction layer in the ethernet |
CN101997628B (zh) * | 2009-08-28 | 2013-08-14 | 国际商业机器公司 | 以太网前向纠错层接收的数据流的帧边界检测方法和系统 |
CN102035616A (zh) * | 2009-09-30 | 2011-04-27 | 国际商业机器公司 | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 |
CN102263609A (zh) * | 2010-05-31 | 2011-11-30 | 国际商业机器公司 | 帧边界检测方法和设备及解码方法和系统 |
Non-Patent Citations (2)
Title |
---|
eCall SWG." TS 26.268 v1.2.0 eCall data transfer * |
In-band modem solution ; ANSI-C reference code (Release 8)".《3GPP TS 26.268》.2009, * |
Also Published As
Publication number | Publication date |
---|---|
US20170134121A1 (en) | 2017-05-11 |
US10116419B2 (en) | 2018-10-30 |
WO2016011592A1 (zh) | 2016-01-28 |
ES2750999T3 (es) | 2020-03-30 |
CN106664154B (zh) | 2019-10-22 |
EP3163779B1 (en) | 2019-08-28 |
EP3163779A1 (en) | 2017-05-03 |
EP3163779A8 (en) | 2017-07-12 |
CN110784283A (zh) | 2020-02-11 |
EP3163779A4 (en) | 2017-07-19 |
CN106664154A (zh) | 2017-05-10 |
EP3618326A1 (en) | 2020-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109314602B (zh) | 用于错误检测编码的装置和方法 | |
CN110915141B (zh) | 基于极化码的turbo乘积码 | |
CN110326221B (zh) | 一种用于为极化码生成有序序列的方法 | |
CN110326342B (zh) | 一种用于指定编码子信道的有序序列的装置和方法 | |
CN109286473B (zh) | 一种基于极化码的低复杂度pdcch信道盲检测方法 | |
JP2007166031A (ja) | Crc値の算出装置 | |
CN105812000B (zh) | 一种改进的bch软判决译码方法 | |
CN110999095A (zh) | 用于极化码的按块并行冻结位生成 | |
US20100023846A1 (en) | Methods and apparatuses for performing error detection and error correction for synchronization frame | |
US8438463B2 (en) | Decoding tail-biting convolutional codes | |
CN108270508B (zh) | 一种循环冗余校验crc实现方法、装置及网络设备 | |
US8923453B2 (en) | System and method for iteration scheduling in joint equalization and turbo decoding | |
CN110784283B (zh) | 确定前向纠错帧边界的方法、装置和解码系统 | |
CN104796160B (zh) | 译码方法和装置 | |
CN109672498A (zh) | 译码方法和装置 | |
CN104468022A (zh) | 一种传输格式组合的译码方法及装置 | |
CN109004939A (zh) | 极化码译码装置和方法 | |
JP5169771B2 (ja) | 復号器および復号方法 | |
CN113659994A (zh) | 一种低复杂度的卷积码随机交织关系的估计方法 | |
CN110808740B (zh) | 删节信道下基于极化码的低复杂度译码方法 | |
CN102655415B (zh) | 一种维特比译码装置和方法 | |
CN111600613B (zh) | 一种校验方法、装置、译码器、接收机及计算机存储介质 | |
JP5315449B1 (ja) | 復号装置、復号方法、プログラム及び受信装置 | |
CN103368884B (zh) | 一种fffs编码报文的解码方法 | |
EP2464022B1 (en) | Decoding tail-biting convolutional codes |
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 |