WO2016011592A1 - 确定前向纠错帧边界的方法、装置和解码系统 - Google Patents

确定前向纠错帧边界的方法、装置和解码系统 Download PDF

Info

Publication number
WO2016011592A1
WO2016011592A1 PCT/CN2014/082660 CN2014082660W WO2016011592A1 WO 2016011592 A1 WO2016011592 A1 WO 2016011592A1 CN 2014082660 W CN2014082660 W CN 2014082660W WO 2016011592 A1 WO2016011592 A1 WO 2016011592A1
Authority
WO
WIPO (PCT)
Prior art keywords
data block
symbol
consecutive symbols
iteration
parameter values
Prior art date
Application number
PCT/CN2014/082660
Other languages
English (en)
French (fr)
Inventor
陆玉春
李亮
翟素萍
臧大军
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201480080532.9A priority Critical patent/CN106664154B/zh
Priority to CN201910883143.4A priority patent/CN110784283B/zh
Priority to ES14898128T priority patent/ES2750999T3/es
Priority to EP19187975.8A priority patent/EP3618326A1/en
Priority to PCT/CN2014/082660 priority patent/WO2016011592A1/zh
Priority to EP14898128.5A priority patent/EP3163779B1/en
Publication of WO2016011592A1 publication Critical patent/WO2016011592A1/zh
Priority to US15/411,669 priority patent/US10116419B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/33Synchronisation based on error coding or decoding
    • H03M13/333Synchronisation on a multi-bit block basis, e.g. frame synchronisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/048Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Definitions

  • Embodiments of the present invention relate to the field of communications, and more particularly, to a method, apparatus, and corner code system for determining a forward error correction frame boundary. Background technique
  • FEC Forward Error Correction
  • RS Reed Solomon
  • BCH Bose-Chaudhuri-Hocquenghem
  • the BCH code is a popular option for FEC codes in the current 400G Ethernet standard draft.
  • RS codes and BCH codes are also important applications in high-speed backplane/copper links at rates of 25 Gbps and above.
  • the encoding and decoding process of the RS code and the BCH code is a data frame as a processing unit.
  • the receiving side first needs to determine the FEC frame boundary in the data stream before decoding.
  • there are two commonly used methods for determining the boundary of a FEC frame One method is that the transmitting side periodically adds special alignment words in the data stream, and the receiving side determines the FEC frame boundaries through these alignment words. This method adds redundant information, consumes more circuit resources, and increases the code rate.
  • the logic circuit on the receiving side uses the property of the FEC code to find the FEC frame from the data stream to achieve the determination of the FEC frame boundary.
  • the method first sets the first data block to be an FEC frame.
  • the starting position of the first data block is the first symbol (including one bit in each symbol), and the length of the first data block is equal to the length of one FEC frame.
  • the receiving side sends the first data block to the decoder and analyzes whether the nature of the first data block conforms to the nature of the FEC frame. If the property of the first data block conforms to the nature of the FEC frame, determining that the first symbol is an FEC frame Boundary.
  • the starting position of the second data block is a second symbol
  • the offset of the second symbol relative to the first symbol is N+1 symbols, where N is the number of symbols included in one FEC frame.
  • the third symbol is the starting position of the third data block.
  • the offset of the third symbol relative to the second symbol is N symbols. In the worst case, this method needs to check N data blocks, and each check needs to receive data with a length of two frames. Therefore, in the worst case, it is necessary to receive data of about 2xNxN symbols, and therefore, the process of determining the boundary of the FEC frame takes a long time and is inefficient.
  • the present invention provides a method for determining a frame boundary suitable for a communication link using RS and BCH FEC codes, which can greatly improve the efficiency of determining FEC frame boundaries. Summary of the invention
  • Embodiments of the present invention provide a method, apparatus, and decoding system for determining a frame boundary of an FEC frame, which can improve the efficiency of determining a frame boundary of an FEC frame.
  • a method for determining a frame boundary of an FEC frame comprising: a frame boundary determining circuit receiving data, the data comprising N+P consecutive symbols starting from a first symbol, where N is included in an FEC frame The number of symbols, N is a positive integer multiple of P and N is greater than P, wherein N consecutive symbols starting from the first symbol among the N+P consecutive symbols constitute a first data block, the N+P The N consecutive symbols starting from the second symbol in the consecutive symbols form a second data block, and the offset of the second symbol relative to the first symbol is P symbols; acquiring s corresponding to the first data block a parameter value; determining a first iteration term and a second iteration term of the second data block, wherein the first iteration term of the second data block is obtained according to a first P consecutive symbol in the first data block, The second iteration term of the second data block is obtained according to the last P consecutive symbols in the second data block; according to the s parameter values corresponding to the first
  • the s parameter values corresponding to the first data block are s values of the correction factor
  • the s parameter values corresponding to the second data block are s values of the correction factor
  • the S parameter values corresponding to the first data block are S values of the check factor
  • the S parameter values corresponding to the second data block are The S values of the factor are determined
  • the S parameter values corresponding to the first data block are S values of the correction factor
  • the S parameter values corresponding to the second data block are The s values of the correction factor
  • Ks ⁇ 2xt, t is the maximum number of error symbols that can be corrected in one FEC frame, and the first iteration term and the second iteration term respectively include s values
  • the second data The S values of the correction factors corresponding to the block are determined by the following formula:
  • S current , i Iaf + H l (a i ) (a i ) N + H 2 (a i ) 1 ⁇
  • S - t4 is the first value of the correction factor corresponding to the second data block, .
  • the first value of the correction factor corresponding to the first data block is the first value of the first iteration item of the second data block
  • ⁇ 2 (o is the first value of the second iteration item of the second data block
  • ", ⁇ is the ith root of the generator polynomial of the FEC code.
  • s parameter values corresponding to the first data block are s values of the check factor
  • Rcurrent ( R previous XX? ) mod ⁇ ( x ) + ( ⁇ i W X X ) mod g(x) + (H 2 (x) XX P ) mod g(x), where
  • R current is a value of a check factor corresponding to the second data block
  • R last is a value of a check factor corresponding to the first data block
  • j is a first iteration item of the second data block, where the second data is The second iteration term of the block is the generator polynomial of the FEC code.
  • the determining, by the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of an FEC frame includes: If the s parameter values corresponding to the second data block are all zero, determining that the second symbol is a frame boundary of the FEC frame; if at least one of the s parameter values corresponding to the second data block is not equal to zero, It is determined that the second symbol is not the frame boundary of the FEC frame.
  • the method further includes: if the data includes a number of symbols less than 2N, receiving new data, the new data includes P consecutive symbols, the new Data is adjacent to the N+P consecutive symbols and received after the N+P consecutive symbols, wherein the third data block is composed of N consecutive symbols starting from the third symbol in the second data block The offset of the third symbol relative to the second symbol is P symbols; if it is determined that the second symbol is not the frame boundary of the FEC frame, determining the first iteration term and the second iteration term of the third data block The first iteration term of the third data block is obtained according to the first P consecutive symbols in the second data block, and the second iteration item of the third data block is included according to the new data Obtained by the P consecutive symbols; determining, according to the s parameter values corresponding to the second data block and the first iteration item and the second iteration item of the third data block, the s parameter values corresponding to the third data block; According to: if the data includes a number of symbols less than 2N, receiving new
  • the method further includes: if the data includes a number of symbols equal to 2N, receiving new data, where the new data includes a fourth data block, the fourth The data block is composed of N consecutive symbols starting from a fourth symbol, the new data is not adjacent to the N+P consecutive symbols and is received after the N+P consecutive symbols, wherein the fourth symbol
  • the number of bits included in the frame if it is determined that the second symbol is not the frame boundary of the FEC frame, determining s parameter values corresponding to the fourth data block according to the N consecutive symbols included in the fourth data block;
  • the s parameter values corresponding to the four data blocks determine whether the fourth symbol is a frame boundary of the FEC frame.
  • an apparatus for determining a frame boundary of an FEC frame including: a receiver, a parameter calculator, and a comparator, wherein the receiver is configured to receive data, where the data includes a first symbol N+P consecutive symbols, N is the number of symbols included in one FEC frame, N is a positive integer multiple of P and N is greater than P, wherein the first symbol is used as the starting point of the N+P consecutive symbols The N consecutive symbols form a first data block, and the N consecutive symbols starting from the second symbol of the N+P consecutive symbols form a second data block, and the offset of the second symbol relative to the first symbol P symbols; the parameter calculator is used to obtain s parameters corresponding to the first data block And determining, by the receiver, the first iteration term and the second iteration term of the second data block, and the S parameter values corresponding to the first data block and the first iteration term of the second data block a second iteration item, determining S parameter values corresponding to the second data block, where the first iter
  • the s parameter values corresponding to the first data block are s values of the correction factor
  • the s parameter values corresponding to the second data block are s values of the correction factor
  • the s parameter values corresponding to the first data block are s values of the check factor
  • the s parameter values corresponding to the second data block are s values of the factor
  • the jth symbol in the continuous symbol 3 ⁇ 4 the jth symbol in the last P consecutive symbols represents the sequence number of the jth symbol.
  • the apparatus further includes: a memory, where the memory is configured to store a first P consecutive symbols in the first data block, where the parameter calculator is specifically used Obtaining: a first P consecutive symbol in the first data block stored in the memory, and determining a first iteration item of the second data block according to the first P consecutive symbols in the first data block and the formula; Or the memory is configured to store a first iteration item of the second data fast, the parameter calculator is specifically configured to acquire a first iteration item of the second data block stored in the memory.
  • the s parameter values corresponding to the first data block are s values of the correction factor
  • the s parameter values corresponding to the second data block are The s values of the correction factor
  • Ks ⁇ 2xt, t is the maximum number of error symbols that can be corrected in one FEC frame
  • the first iteration term and the second iteration term respectively include s values
  • the first value of the correction factor corresponding to the first data block ⁇ is the first value of the first iteration item of the second data block, and ⁇ 2 ( ⁇ ) is the second iteration term of the second data block
  • the first value is the ith root of the generator polynomial of the FEC code.
  • the S parameter values corresponding to the first data block are S values of the check factor
  • R CU rrent ( ⁇ previous XX? ) mod g( x ) + ( H l X mod g(x) + (H 2 (x) XX ? ) mod g(x), where
  • R current is a value of a check factor corresponding to the second data block
  • R last is a value of a check factor corresponding to the first data block
  • j is a first iteration item of the second data block, where the second data is The second iteration term of the block is the generator polynomial of the FEC code.
  • the comparator is specifically configured to: if the s parameter values corresponding to the second data block determined by the parameter calculator are all zero, determine the second The symbol is a frame boundary of the FEC frame. If the parameter calculator determines that at least one of the s parameter values corresponding to the second data block is not equal to zero, it is determined that the second symbol is not the frame boundary of the FEC frame.
  • the receiver is further configured to: if the data includes a number of symbols less than 2N, receive new data, where the new data includes P consecutive symbols, New data is adjacent to the N+P consecutive symbols and received after the N+P consecutive symbols, wherein the third consecutive symbols starting from the third symbol in the second data block form a third a data block, the offset of the third symbol relative to the second symbol is P symbols; the parameter calculator is further configured to determine the third if the comparator determines that the second symbol is not a frame boundary of the FEC frame a first iteration term and a second iteration term of the data block, wherein the first iteration term of the third data block is obtained according to a first consecutive P symbols in the second data block, the third data block The second iteration term is obtained according to the P consecutive symbols included in the new data, and according to the s parameter values corresponding to the second data block and the first iteration term and the second iteration term of the third data block, Determine
  • the receiver is further configured to: if the data includes a number of symbols equal to 2N, receive new data, where the new data includes a fourth data block, the fourth data block being composed of N consecutive symbols starting from a fourth symbol, the new data not being adjacent to the N+P consecutive symbols and received after the N+P consecutive symbols
  • the parameter calculator is further configured to: if the comparator determines that the second symbol is not a frame boundary of the FEC frame, according to the N consecutive symbols included in the fourth data block Determining, according to the s parameter values corresponding to the fourth data block determined by the parameter calculator, determining whether the fourth symbol is a frame of an FEC frame. boundary.
  • a decoding system including: a frame boundary determining circuit, an error diagnostic device, and an error corrector, wherein the frame boundary determining circuit is configured to determine a frame boundary of an FEC code, and the error diagnostic device is configured to determine according to the frame boundary a frame boundary determined by the circuit, determining an error existing in the FEC frame, the error corrector for correcting the FEC frame according to an error existing in the FEC frame determined by the error diagnostic device, wherein the frame boundary determining circuit is specifically used for : receiving data, the data includes N+P consecutive symbols starting from the first symbol, N is the number of symbols included in one FEC frame, N is a positive integer multiple of P and N is greater than P, where the N+ The N consecutive symbols starting from the first symbol in the P consecutive symbols form a first data block, and the N consecutive symbols starting from the second symbol in the N+P consecutive symbols form a second data block, The offset of the second symbol relative to the first symbol is P symbols; acquiring s parameter values corresponding to the first data
  • the method, the device, and the decoding system for determining a frame boundary of an FEC frame are determined by using the s parameter values corresponding to the first data block, and determining s parameter values corresponding to the second data block, where
  • the first data block is composed of N consecutive symbols starting from a first symbol
  • the second data block is composed of N consecutive symbols starting from a second symbol, and an offset of the second symbol relative to the first symbol
  • the quantity is P symbols
  • the frame boundary determining circuit determines, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and uses the iteration calculation
  • the frame boundary determining circuit can detect whether the N/P symbols in the 2N consecutive symbols are frame boundaries of the FEC frame for the received 2N consecutive symbols, thereby improving the determining efficiency of the frame boundary of the FEC frame, and improving communication.
  • the synchronization speed of the link improves system performance.
  • FIG. 1 is a schematic diagram of a method of determining a frame boundary of an FEC frame in the prior art.
  • FIG. 3 is a schematic diagram of a first data block and a second data block in a method for determining a frame boundary of an FEC frame according to an embodiment of the present invention.
  • Fig. 4 is a schematic diagram showing an example of a method of determining a frame boundary of an FEC frame according to an embodiment of the present invention.
  • Figure 5 is a schematic block diagram of an apparatus for determining a frame boundary of an FEC frame in accordance with an embodiment of the present invention.
  • Fig. 6 is a schematic diagram showing an example of an apparatus for determining a frame boundary of an FEC frame according to an embodiment of the present invention.
  • Figure 7 is a schematic block diagram of a decoding system in accordance with an embodiment of the present invention.
  • Figure 8 is a diagram showing an example of a decoding system of an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of another example of a decoding system of an embodiment of the present invention.
  • Figure 10 is a diagram showing still another example of the decoding system of the embodiment of the present invention. Detailed ways
  • the communication system may be a Global System of Mobile communication (GSM) system, a Code Division Multiple Access (CDMA) system, and a wideband code division multiple access.
  • GSM Global System of Mobile communication
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • GPRS General Packet Radio Service
  • LTE Long Term Evolution
  • FDD Frequency Division Duplex
  • TDD Time Division Duplex
  • UMTS Universal Mobile Telecommunication System
  • WiMAX Worldwide Interoperability for Microwave Access
  • the method and apparatus for determining the frame boundary of an FEC frame and the decoding system provided by the present application are mainly applicable to a scenario in which the RS code or the BCH code performs forward error correction.
  • a high-speed backplane link for forward error correction using an RS code or a BCH code an Ethernet interface, an optical network interface, an air interface for wireless communication, or a data interface for a storage device.
  • the definition of the frame boundary of the FEC frame is the same as the definition of the FEC frame boundary.
  • a continuous symbol refers to a symbol that is continuously transmitted or a symbol that is continuously received.
  • the transmitter can continuously transmit multiple symbols through the serial interface.
  • the receiver can continuously receive multiple symbols through the serial interface.
  • the first data adjacent to the second data means that if the first data is received later than the second data is received, the last received symbol in the second data is the most
  • the symbols that are received first are two consecutive symbols. If the first data is received earlier than the second data is received, the last received symbol in the first data and the first received symbol in the second data are two consecutive symbols.
  • the new data is adjacent to the N+P consecutive symbols and received after N+P consecutive symbols, which refers to the last received symbol in the N+P consecutive symbols and the first in the new data.
  • the symbols received are two consecutive symbols.
  • FIG. 2 is a schematic flowchart of a method 100 for determining a frame boundary of an FEC frame according to an embodiment of the present invention.
  • the method 100 may be performed by any device having a function of determining a frame boundary of a forward error correction FEC frame, for example, the method. 100 may be performed by the frame boundary determining circuit, but the embodiment of the present invention is not limited thereto.
  • the frame boundary determining circuit receives data, where the data includes N+P consecutive symbols starting from the first symbol, where N is the number of symbols included in one FEC frame, and N is a positive integer multiple of P and N is greater than P.
  • the N consecutive symbols starting from the first symbol in the N+P consecutive symbols form a first data block, and the N consecutive symbols in the N+P consecutive symbols start from the second symbol a second data block, the offset of the second symbol relative to the first symbol being P symbols.
  • m is an integer greater than one.
  • P may be a positive integer greater than or equal to 1.
  • P is the number of parameter values that the FEC codec's data channel can hold.
  • P can be used to indicate the degree of parallelism of the FEC codec.
  • the frame boundary determining circuit can assume that the data block starting from the symbol and including N consecutive symbols is an FEC frame. Whether the data block is an FEC frame and whether the symbol is a frame boundary of the FEC frame is determined by determining whether the parameter value of the data block matches the parameter value of the FEC frame. Specifically, if the nature of the data block matches the nature of the FEC frame, then the data block is an FEC frame and the symbol is the frame boundary of the FEC frame. Otherwise, the data block is not a FEC frame and the symbol is not the frame boundary of the FEC frame.
  • the frame boundary determining circuit may first perform Q times to obtain N consecutive symbols! " ⁇ !. .
  • the frame boundary determining circuit may receive P consecutive symbols in a column every clock cycle, and sequentially receive the N consecutive symbols in a descending order according to a column number in the table shown in FIG. That is, the first column symbol is received first! ⁇ Guang! ⁇ , Finally receive the Qth column symbol ⁇ 13 ⁇ 4.
  • the N consecutive symbols r ⁇ r Form the first data block.
  • the first symbol is specifically a symbol r N _ l D.
  • the frame boundary determining circuit can receive P consecutive symbols 1 ⁇ 1 ⁇ .
  • the frame boundary determining circuit receives N+P consecutive symbols, and the last N consecutive symbols r ⁇ jp of the N+P consecutive symbols constitute a second data block.
  • the second symbol is specifically the symbol r N _! .
  • the first data block can be regarded as the previous data block of the second data block.
  • the second data block can be regarded as the The previous data block of the first data block.
  • the positional relationship between any one of the data blocks and the previous data block or the subsequent data block and the positional relationship between the first data block and the second data block are similar. That is, the start symbol of any one data block is shifted backward by P symbols with respect to the start symbol of the previous data block.
  • the determination of the frame boundary of the FEC frame is offset in units of P symbols.
  • the frame boundary determining circuit may first determine whether a start symbol (ie, a first symbol) of the first data block is a frame boundary of an FEC frame, and when determining that the first symbol is not a frame boundary of an FEC frame, Determining whether the start symbol (ie, the second symbol) of the second data block is a frame boundary of the FEC frame.
  • the first symbol may be the first symbol to be tested in the data, that is, the previous data block of the first data block is not included in the data; or the first symbol may also be in the data.
  • the first data block of the first data block is included in the data, which is not limited by the embodiment of the present invention. Therefore, in the embodiment of the present invention, the parallelism of determining the frame boundary of the FEC frame is Q, and the number of symbols that can be detected in the data of the two FEC frames is represented.
  • the frame boundary determining circuit may determine s parameter values corresponding to the first data block in a plurality of manners. As an optional embodiment, the frame boundary determining circuit may determine, according to whether the first symbol is a frame boundary of the FEC frame, the s parameter values corresponding to the first data block, where the frame boundary determining circuit may pass The s parameter values corresponding to the first data block are determined in multiple ways. Optionally, if the previous data block of the first data block is not included in the data, the frame boundary determining circuit may determine, according to the N consecutive symbols included in the first data block, the first data block.
  • the frame boundary determining circuit may determine the s parameter value corresponding to the previous data block of the first data block.
  • the s parameter values corresponding to the first data block are not limited in this embodiment of the present invention.
  • the frame boundary determining circuit may determine the S corresponding to the first data block.
  • the parameter value is stored to the memory, and accordingly, the frame boundary determining circuit determines whether the second symbol is
  • the s parameter values corresponding to the first data block may be obtained from the memory, but the embodiment of the present invention is not limited thereto.
  • the first iteration term of the second data block may be according to the symbols r N rr. Obtained by the first P consecutive symbols (ie, the symbol r N i ⁇ P ) in the first data block, the second iteration term of the second data block may be based on the symbol Obtained from the last P consecutive symbols (symbol r-1 P ) in the (ie, the second data block).
  • S140 Determine, according to the s parameter values corresponding to the first data block and the first iteration item and the second iteration item of the second data block, the s parameter values corresponding to the second data block.
  • the S parameter values corresponding to the second data block may be S values of the correction factor or S values of the check factor. If the S parameter values are S values of the correction factor, the frame boundary determining circuit may be based on the s values of the correction factors corresponding to the first data block and the first iteration term and the second of the second data block. An iteration term determines s values of the correction factors corresponding to the second data block.
  • the frame boundary determining circuit may be based on the value of the check factor corresponding to the first data block and the first of the second data block An iteration term and a second iteration term determine a value of a check factor corresponding to the second data block.
  • the method for determining the frame boundary of the FEC frame determines the s parameter values corresponding to the second data block by using the s parameter values corresponding to the first data block, where the first data block is determined by Forming N consecutive symbols starting from the first symbol, the second data block is composed of N consecutive symbols starting from the second symbol, and the offset of the second symbol relative to the first symbol is P symbols.
  • the frame boundary determining circuit determines, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and by using the iterative algorithm, the frame boundary determining circuit is configured to receive 2N consecutive symbols. And being able to detect whether the N/P symbols in the 2N consecutive symbols are frame boundaries of the FEC frame, thereby improving the determining efficiency of the frame boundary of the FEC frame.
  • the first value & of the correction factor of the RS code and the BCH code can be determined by:
  • the value of the check factor R of the RS code and the BCH code is determined by:
  • R r(x) mod g(x) (2)
  • g(x) is the generator polynomial of the RS code and the BCH code, which is a codeword polynomial, which can be represented by equations (2) and (3), respectively:
  • ( ) n ⁇ - ⁇ ) ( 3 )
  • r(x) q(x) xg(x) + e(x) (4)
  • ⁇ 3 ⁇ 4 is the ith root of the generator polynomial, l ⁇ i ⁇ 2x, It is an error polynomial, and x is 0 when the received codeword is a valid FEC frame.
  • S150 determining, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, including:
  • the frame boundary determining circuit may simultaneously determine the s values of the correction factors corresponding to the second data block and the values of the check factors, and only the s values and the check factors of the correction factors corresponding to the second data block Value is When the time is zero, it is determined that the second symbol is a frame boundary of the FEC frame, but the embodiment of the present invention does not limit this.
  • is the ith value of the correction factor corresponding to the first data block, is the first value of the first iteration term of the second data block, and is determined by equation (6), where 2 is the second data block The first value of the second iteration term is determined by equation (7).
  • r k represents a symbol of the sequence number k. It can be seen from equation (6) that the value depends on the first P consecutive symbols (symbol r ⁇ r ⁇ p) in the first data block, wherein the symbol is the 0th symbol in the P consecutive symbols, The symbol r N _ P is the P-1th symbol of the P consecutive symbols, and so on. It can be seen from equation (7) that the value of 2 depends on the last P consecutive symbols of the second data block (ie, symbols ⁇ ⁇ ⁇ ), where the symbol ⁇ is the 0th symbol in the consecutive symbols The symbol r_P is the P- 1th symbol in the consecutive symbols, and so on.
  • Equation (9) determines that 2 ⁇ is the second iteration term of the second data block, determined by equation (10).
  • the value depends on the first consecutive consecutive symbols of the first data block (ie, the symbols r N-1 ⁇ r NP ), and the value of 2 ⁇ depends on the last consecutive symbols of the second data block (ie, symbols) Ri-rp ).
  • the S parameter values corresponding to the first data block are S values of the correction factor
  • the S parameter values corresponding to the second data block are S values of the correction factor
  • the second The first iteration term and the second iteration term of the data block can be determined by the following formula:
  • is a constant indicating the jth symbol in the first consecutive consecutive symbols or the jth symbol in the last P consecutive symbols.
  • the first iteration term of the second data block may be obtained by bringing the first P consecutive symbols in the first data block into the formula fa), and the second iteration term of the second data block may pass the second data block
  • the last P consecutive symbols in the middle are taken into the formula oj.
  • the top P consecutive symbols or the last P consecutive symbols may be sorted according to the received chronological order such that the first P consecutive symbols or the last P consecutive symbols are the 0th symbol to the P-1th a symbol, wherein the 0th symbol of the first P symbol or the last P symbols is received first, and the P-1th symbol of the first P symbol or the last P symbols is finally received, but the present invention
  • the embodiment is not limited to this.
  • the s parameter values corresponding to the first data block are s values of the check factor
  • the s parameter values corresponding to the second data block are s values of the check factor
  • the first iteration term and the second iteration term of the second data block are determined by the following formula:
  • is a variable representing the jth symbol or the last of the top consecutive symbols
  • the jth symbol of the P consecutive symbols "(/ ⁇ ) indicates the sequence number of the jth symbol.
  • the first P consecutive symbols (r ⁇ r ⁇ p) of the first data block may be sorted according to the order of receiving time, where the symbol r N _i is the first of the first P consecutive symbols. 0 symbols, that is, the number of the 0th symbol is N-1; the symbol r N _ P is the P-1th symbol of the first P consecutive symbols, that is, the sequence number of the P-1th symbol is NP , and so on, but the embodiment of the present invention is not limited thereto.
  • the s parameter values corresponding to the first data block are s values of the correction factor
  • the s parameter values corresponding to the second data block are s values of the correction factor
  • Ks ⁇ 2xt, t is the maximum number of error symbols that can be corrected in one FEC frame, and the first iteration term and the second iteration term respectively include s values; correspondingly, the second data block corresponds to the school
  • the S values of the positive factors are determined by:
  • the values of ⁇ and H 2 ( ai ) can be determined by the formula (11), for example, H ⁇ ) and ⁇ 2 (the values of ⁇ can be determined by the equations (6) and (7), respectively.
  • the code may refer to an FEC code included in an FEC frame.
  • the s parameter values corresponding to the first data block are s values of the check factor
  • the s parameter values corresponding to the second data block are s values of the correction factor
  • Rcurrent ( ⁇ previous XX? ) Touch dg(x) + (H, (x) XX ? ) mod g(x) + (H 2 (x) XX ? ) mod g(x) ( 14)
  • R ⁇ ⁇ is the value of the check factor corresponding to the second data block
  • the value of the check factor corresponding to the first data block is the first iteration term of the second data block
  • H 2 (x) is the second
  • the second iteration term of the data block is the generator polynomial of the FEC code.
  • the value of the sum H 2 (x) can be determined by the formula (12), for example, the values of H!(x) and H 2 (x) can be determined by the equations (9) and (10), respectively.
  • the FEC code may refer to an FEC code included in an FEC frame.
  • the frame boundary determining circuit may determine the first iteration term of the second data block in multiple manners.
  • the frame boundary determining circuit may store the first P consecutive symbols in the first data block to the memory in advance, and correspondingly, when calculating the s parameter values corresponding to the second data block, the frame boundary is determined.
  • the circuit may obtain the first P consecutive symbols in the first data block from the memory, and bring the first P consecutive symbols into the equation (6) or (9) to obtain a first iteration term of the second data block;
  • the frame boundary determining circuit may pre-store the first p consecutive symbols of the second data block to the first preset storage area, so that the frame boundary determining circuit detects the next data block.
  • the first p consecutive symbols of the second data block are obtained from the first preset storage area, and the first iteration item of the next data block is determined according to the first P consecutive symbols, but the embodiment of the present invention is not limited thereto.
  • the frame boundary determining circuit may further calculate, according to the first P consecutive symbols in the first data block, a first iteration term of the second data block, and the first iteration.
  • the item is stored in the memory, and correspondingly, when the second data block is detected, the first iteration term of the second data block is obtained from the memory, but the embodiment of the present invention is not limited thereto.
  • S130. Determine a first iteration item of the second data block including:
  • the method 100 further includes:
  • the first iteration item of the next data block is stored to the second preset storage area.
  • the next data block of the second data block may be detected and obtained from the second preset storage area of the memory.
  • the first iteration of the next data block is not limited in this embodiment of the present invention.
  • the FEC frame boundary determining circuit may further store the s parameter values corresponding to the second data block into the memory.
  • the s parameter values corresponding to the second data block may be obtained from the memory, and according to the S corresponding to the second data block.
  • the parameter value determines the S parameter values corresponding to the next data block, but the embodiment of the present invention is not limited thereto.
  • the method 100 further includes:
  • the new data includes P consecutive symbols, the new data is adjacent to the N+P consecutive symbols and is received after the N+P consecutive symbols
  • the third data block is composed of N consecutive symbols starting from the third symbol in the second data block, and the offset of the third symbol relative to the second symbol is P symbols;
  • the second symbol is not a frame boundary of the FEC frame, determining a first iteration term and a second iteration term of the third data block, where the first iteration term of the third data block is based on the second data Obtained by the first P consecutive symbols in the block, the second iteration term of the third data block is obtained according to P consecutive symbols included in the new data;
  • the frame boundary determining circuit may continue to receive P consecutive symbols, and slide the detected data block in units of P symbols, wherein the third data block is the first The next data block of the second data block.
  • the positional relationship between the third data block and the second data block is similar to the positional relationship between the second data block and the first data block.
  • the process of processing the third data block by the frame boundary determining circuit is similar to that of S120 to 140. For brevity, details are not described herein again.
  • the method 100 may further include:
  • the frame boundary determining circuit has completed Q of the 2N symbols.
  • the detection of a symbol, wherein an offset between any two adjacent symbols of the Q detected symbols is P symbols.
  • the frame boundary determining circuit may continue to receive 2N symbols, and perform a similar process to detect Q symbols in the newly received 2N symbols, where any two of the Q detected symbols are The offset between adjacent symbols is P symbols.
  • the frame boundary determining circuit may make the position of the Q detected symbols in the newly received 2N symbols relative to the Q detected symbols in the original
  • the position in the 2N symbols slips one or more symbols, that is, the position of the i-th detected symbol in the newly received 2N symbols relative to the position of the i-th detected symbol in the original 2N symbols Sliding one or more symbols, l ⁇ i ⁇ Q; or the position of the Q detected symbols in the newly received 2N symbols and the Q detected symbols in the original 2N symbols
  • the positions are the same, but the start bits of the Q detected symbols are shifted by one or more bits relative to the start bits of the Q detected symbols, that is, the start bit of the ith to-be-detected symbol and
  • the offset of the start bit of the i-th detected symbol is not an integer multiple of m, where m is the number of bits included in each symbol, but the embodiment of the present invention is not limited thereto.
  • the method for determining the frame boundary of the FEC frame determines the s parameter values corresponding to the second data block by using the s parameter values corresponding to the first data block, where the first data block is determined by Forming N consecutive symbols starting from the first symbol, the second data block is composed of N consecutive symbols starting from the second symbol, and the offset of the second symbol relative to the first symbol is P symbols.
  • the frame boundary determining circuit determines, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and by using the iterative algorithm, detecting the 2N consecutive symbols received. Whether the N/P symbols in the 2N consecutive symbols are frame boundaries of the FEC frame, thereby improving the determination efficiency of the frame boundary of the FEC frame, improving the synchronization speed of the communication link, and improving system performance.
  • the frame boundary determining circuit may first receive consecutive N symbols starting from a symbol r N ⁇ (hereinafter referred to as a first symbol to be tested) and composing current data and the first data block (or current data) from the consecutive N symbols Block), to determine whether the first symbol to be tested is a frame boundary of an FEC frame.
  • the frame boundary determining circuit may determine the s parameter values corresponding to the first data block according to the formula (1) or (2), and Determining, according to the s parameter values, whether the first symbol to be tested is a frame boundary of an FEC frame.
  • the process of determining the frame boundary of the FEC frame ends. Otherwise, the frame boundary determining circuit may receive P consecutive symbols (symbols adjacent to the current data (ie, N consecutive symbols of the first data block) and update the current data to (N+P) consecutive symbols. , the frame boundary determining circuit will take the second symbol to be tested The number N N _!
  • the frame boundary determining circuit may determine, according to the s parameter values corresponding to the first data block, s parameter values corresponding to the second data block (ie, determining s parameter values corresponding to the current data block according to s parameter values corresponding to the previous data block), and according to the s corresponding to the second data block
  • the parameter value determines whether the second symbol to be tested is a frame boundary of the FEC frame.
  • the frame boundary determining circuit determines that the second symbol to be tested is a frame boundary of the FEC frame, the process of determining the frame boundary of the FEC frame ends. Otherwise, the frame boundary determining circuit continues to receive P consecutive symbols adjacent to the new current data (ie, N+P consecutive symbols), updates the current data to (N+2P) consecutive symbols, and N consecutive symbols (r N-2I ⁇ n 2P ) starting from the third symbol to be detected in the new current data as the third data block (new current data block), and then corresponding to the second data block according to the second data block Determining the s values of the parameters, determining whether the third symbol to be tested is the frame boundary of the FEC frame, that is, determining the new current data according to the s parameter values corresponding to the previous data block of the new current data block. The s parameter values corresponding to the block, wherein the third symbol to be tested is offset backward by P symbols with respect to the second symbol to be tested, and so on.
  • the frame boundary determining circuit may repeat the above iterative process until the frame boundary of the FEC frame is detected or the Q symbols to be tested in the 2N consecutive symbols are determined (ie, the symbols r N _ l r NP-1 , r 2P-1 , rw ) are not the frame boundaries of the FEC frame.
  • the frame boundary determining circuit determines N consecutive symbols starting from the first symbol in the current data as the current data block, where N is included in one FEC frame.
  • the number of symbols, the current received data includes a previous data block of the current data block, and the first symbol is backward shifted by P symbols with respect to a start symbol of the previous data block, where, 1 ⁇ P ⁇ N; determining s parameter values corresponding to the previous data block, and determining a first iteration term and a second iteration term of the current data block, where the s parameter values are correction factors s values of the s values or the check factor, the first iteration term of the current data block is obtained according to the first P symbols in the previous data block, and the second iteration term of the current data block is Obtaining s ⁇ l according to the last P symbols in the current data block; according to the s parameter values corresponding to the previous data block and the first iteration term and the second iteration of the current data block Item, determining the s corresponding to the current data block Ginseng a value; determining, according to the S parameter values corresponding to the current data block, whether the first symbol is
  • the frame boundary determining circuit may receive the current P consecutive symbols adjacent to the data, and adding the newly received P consecutive symbols to the current data as new current data; determining N consecutive symbols starting from the second symbol in the new current data as a new current data block, wherein the second symbol is offset backward by P symbols relative to the first symbol.
  • the current data block specifically starts with a first bit in the first symbol.
  • the frame boundary determining circuit may continue to receive N consecutive symbols, and continue to receive the N consecutive symbols as a new current Data, wherein the N consecutive symbols that are continuously received are not adjacent to the 2N symbols; and the N consecutive symbols starting from the third symbol in the new current data are determined as new current data blocks,
  • the start bit of the first symbol is a first bit
  • the start bit of the third symbol is a second bit
  • the sequence number of the second bit is 2 and the sequence number of the first bit
  • the P symbol is relatively offset between the last two data blocks, and the frame boundary determining circuit continues the data in units of P symbols.
  • the two before and after The number of symbols of the offset between the data blocks may not be equal to the number of symbols of the data, which is not limited by the embodiment of the present invention.
  • the method for determining the frame boundary of the FEC frame determines the s parameter values corresponding to the second data block by using the s parameter values corresponding to the first data block, where the first data block is determined by Forming N consecutive symbols starting from the first symbol, the second data block is composed of N consecutive symbols starting from the second symbol, and the offset of the second symbol relative to the first symbol is P symbols. And the frame boundary determining circuit determines, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and by using the iterative algorithm, detecting the 2N consecutive symbols received.
  • N/P symbols in 2N consecutive symbols are frames of FEC frames
  • the boundary thereby improving the determination efficiency of the frame boundary of the FEC frame, improving the synchronization speed of the communication link, and improving system performance.
  • the embodiments are not intended to limit the scope of the embodiments of the invention. A person skilled in the art will be able to make various modifications or changes in the form of the embodiment of FIG. 4, and such modifications or variations are also within the scope of the embodiments of the present invention.
  • the set 200 includes: a receiver 210, a parameter calculator 220, and a comparator 230.
  • the apparatus 200 can be used to perform the method illustrated in FIG.
  • the receiver 210 is configured to receive data, where the data includes N+P consecutive symbols starting from the first symbol, where N is the number of symbols included in one FEC frame, N is a positive integer multiple of P, and N is greater than P, The N consecutive symbols starting from the first symbol in the N+P consecutive symbols form a first data block, and the N consecutive symbols in the N+P consecutive symbols start from the second symbol a second data block, the offset of the second symbol relative to the first symbol is P symbols; the parameter calculator 220 is configured to acquire s parameter values corresponding to the first data block received by the receiver 210 Determining, by the receiver 210, the first iteration term and the second iteration term of the second data block, and according to the s parameter values corresponding to the first data block and the first iteration term of the second data block a second iteration item, determining s parameter values corresponding to the second data block, where the first iteration item of the second data block is obtained according to the first P consecutive symbols in the first data block, the second The second iter
  • the comparator 230 is configured to determine, according to the s parameter values corresponding to the second data block obtained by the parameter calculator 220, whether the second symbol is a frame boundary of the FEC frame.
  • the apparatus for determining a frame boundary of an FEC frame determines, by using s parameter values corresponding to the first data block, s parameter values corresponding to the second data block, where the A data block is composed of N consecutive symbols starting from a first symbol, the second data block is composed of N consecutive symbols starting from a second symbol, and an offset of the second symbol relative to the first symbol is P symbols, and the frame boundary determining circuit determines, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, by using the iterative algorithm, for the received 2N consecutive symbols, It can detect whether the N/P symbols in the 2N consecutive symbols are frame boundaries of the FEC frame, thereby improving the determining efficiency of the frame boundary of the FEC frame, improving the synchronization speed of the communication link, and improving system performance.
  • the parameter calculator 220 is further configured to calculate s parameter values corresponding to the first data block when the first data block is detected, and the comparator 230 is further configured to determine, according to the parameter calculator 220
  • the s parameter values corresponding to a data block determine that the first symbol is not the frame boundary of the FEC frame.
  • the first symbol may be the first symbol to be tested in the data, that is, the current data does not include the previous data block of the first data block; or the first symbol may also be the current data.
  • a symbol to be tested that is, the current data includes the previous data block of the first data block, which is not limited by the embodiment of the present invention.
  • P may be a positive integer greater than or equal to 1, for example, P is the parallelism of the FEC codec, that is, the number of parameter values that the FEC codec can accommodate in the actual data channel, but The embodiment of the invention does not limit this.
  • embodiments of the invention are not limited thereto.
  • the s parameter values corresponding to the first data block are s values of the correction factor
  • the s parameter values corresponding to the second data block are s values of the correction factor
  • the second data block is An iteration term and a second iteration term are determined by the following formula:
  • is a constant indicating the jth symbol in the first consecutive consecutive symbols or the jth symbol in the last P consecutive symbols.
  • the s parameter values corresponding to the first data block are check factors.
  • S values, the S parameter values corresponding to the second data block are S values of the check factor, and the first iteration term and the second iteration term of the second data block are determined by the following formula:
  • is a variable indicating the jth symbol in the first consecutive consecutive symbols or the jth symbol in the last P consecutive symbols, indicating the sequence number of the jth symbol.
  • can be specifically X in the generator polynomial.
  • the first iteration term of the second data block may be obtained by bringing the first P consecutive symbols in the first data block into the formula fa), and the second iteration term of the second data block may pass the second data block The last P consecutive symbols in the middle are taken into the formula a).
  • the apparatus 200 further includes: a memory.
  • the memory is configured to store the first P consecutive symbols in the first data block
  • the parameter calculator 220 is specifically configured to: obtain the first P consecutive symbols in the first data block stored in the memory, and Determining a first iteration term of the second data block according to the first P consecutive symbols in the first data block and the formula H(a); or
  • the memory is configured to store a first iteration item of the second data block, and correspondingly, the parameter calculator
  • the 220 is specifically configured to acquire a first iteration item of the second data block stored in the memory.
  • the memory may further store the first P consecutive symbols of the second data block, so as to be in the When the next data block of the second data block is detected, the first iteration term of the next data block of the second data block is determined according to the first P consecutive symbols of the second data block.
  • the parameter calculator 220 may be further configured to bring the first P consecutive symbols in the second data block into the formula H(a) to obtain the next step of the second data block. a first iteration term of the data block, wherein a start symbol of the next data block is offset backward by P symbols with respect to the second symbol; and correspondingly, the memory is further configured to store the parameter obtained by the parameter calculator 220 The first iteration term of the next data block of the second data block.
  • the parameter calculator 220 can acquire the first iteration term of the next data block stored in the memory.
  • the memory may be implemented in the form of a register or a random access memory (RAM).
  • the apparatus 200 for determining a frame boundary of an FEC frame may include both a register and a static RAM, wherein the register is used The S parameter values corresponding to the first data block are registered, or further used to register the first iteration item of the second data block; the static RAM is used to store current data, but the embodiment of the present invention is not limited thereto.
  • Ks ⁇ 2xt, t is the maximum number of error symbols that can be corrected in one FEC frame, and the first iteration term and the second iteration term respectively include s values;
  • the parameter calculator 220 is specifically configured to determine s values of the correction factors corresponding to the second data block according to the following formula:
  • S CU rrent,i S previous X (af + H ⁇ X ( ⁇ + H ⁇ ) l ⁇ i ⁇ S (17)
  • o ⁇ is the first value of the first iteration item of the second data block
  • is the first root of the generator polynomial of the FEC code.
  • the values of the first iteration term and the second iteration term may be determined by equation (15).
  • the parameter calculator 220 is specifically configured to determine the value of the check factor corresponding to the second data block according to the following formula:
  • Urrent ⁇ previous X mod g(x) + (H, (x) XX P ) mod g(x) + (H 2 (x) XX ) mod g(x)
  • R is a value of a check factor corresponding to the second data block
  • R is a value of a check factor corresponding to the first data block
  • the second iteration term of the two data blocks is a generator polynomial of the FEC code.
  • the values of the first iteration term and the second iteration term may be determined by equation (16).
  • the comparator 230 is specifically configured to:
  • the parameter calculator 220 determines that at least one of the s parameter values corresponding to the second data block is not equal to zero, it is determined that the second symbol is not the frame boundary of the FEC frame.
  • the receiver 210 is further configured to: if the data includes a number of symbols less than 2N, receive new data, where the new data includes P consecutive symbols, the new data Adjacent to the N+P consecutive symbols and received after the N+P consecutive symbols, wherein the third data block is composed of N consecutive symbols starting from the third symbol in the second data block, The offset of the third symbol relative to the second symbol is P symbols;
  • the parameter calculator 220 is further configured to determine a first iteration term and a second iteration term of the third data block if the comparator 230 determines that the second symbol is not a frame boundary of the FEC frame, where the third data block
  • the first iteration term is obtained according to a first consecutive P symbols in the second data block
  • the second iteration term of the third data block is obtained according to P consecutive symbols included in the new data
  • the comparator 230 is further configured to determine, according to the s parameter values corresponding to the third data block determined by the parameter calculator 220, whether the third symbol is a frame boundary of the FEC frame.
  • the receiver 210 is further configured to: if the data includes a number of symbols equal to 2N, receive new data, where the new data includes a fourth data block, where the fourth data block is The fourth symbol is composed of N consecutive symbols of the starting point, the new data is not adjacent to the N+P consecutive symbols and is received after the N+P consecutive symbols, where the starting bit of the fourth symbol
  • the parameter calculator 220 is further configured to: if the comparator 230 determines that the second symbol is not a frame boundary of the FEC frame, determine, according to the N consecutive symbols included in the fourth data block, the s parameters corresponding to the fourth data block Value
  • the comparator 230 is further configured to determine, according to the s parameter values corresponding to the fourth data block determined by the parameter calculator 220, whether the fourth symbol is a frame boundary of the FEC frame.
  • the apparatus 200 may continue to perform the detection of the frame boundary in units of 2N consecutive symbols.
  • the apparatus 200 may first perform the above determining process by performing offset in units of one or more bits, that is, (" 2 - «" mod ⁇ 0; if the FEC frame is not detected after the bit shift is performed
  • the apparatus 200 may first perform the offset in units of one or more symbols, and then perform the offset in units of one or more bits, which is not limited in the embodiment of the present invention.
  • the apparatus 200 for determining a frame boundary of an FEC frame according to an embodiment of the present invention may correspond to a frame boundary determination circuit in a method of determining a frame boundary of an FEC frame according to an embodiment of the present invention, and determining the frame boundary of the FEC frame in the apparatus 200.
  • the apparatus for determining a frame boundary of an FEC frame determines, by using s parameter values corresponding to the first data block, s parameter values corresponding to the second data block, where the first data block is determined by Forming N consecutive symbols starting from the first symbol, the second data block is composed of N consecutive symbols starting from the second symbol, and the offset of the second symbol relative to the first symbol is P symbols.
  • the frame boundary determining circuit determines, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and by using the iterative algorithm, detecting the 2N for the received 2N consecutive symbols Whether the N/P symbols in consecutive symbols are frame boundaries of the FEC frame, thereby improving the determination efficiency of the frame boundary of the FEC frame, improving the synchronization speed of the communication link, and improving system performance.
  • FIG. 6 shows a specific implementation example of an apparatus 300 for determining a frame boundary of an FEC frame in accordance with an embodiment of the present invention.
  • the apparatus 300 includes a data buffer 310, a correction factor calculator 320, a comparator 330, a synchronizer 340, and a multiplexer (MUX) 350.
  • MUX multiplexer
  • the correction factor calculator 320 is configured to use the first data block in the current data as the current data block, and calculate and store s values of the correction factor corresponding to the first data block, where the first data block Start with the first symbol in the current data (ie the first symbol to be tested).
  • the comparator 330 is configured to determine whether the first symbol to be tested is a frame boundary of the FEC frame according to whether the s values of the correction factors corresponding to the first data block are all zero.
  • the multiplexer MUX 350 transitions from the initial 0 state to the 1 state, at which time the correction factor calculator 320 and the synchronizer 340 The transmission link between the two is changed from the on state to the off state, and the transmission link between the data buffer 310 and the synchronizer 340 is changed from the off state to the on state.
  • the next data block of the first data block (ie, the second data block) is used as a new current data block, where the start symbol of the second data block is relative to the first symbol to be tested. Offset P symbols.
  • the second data block is generally referred to as the i-th data block, l ⁇ i ⁇ Q.
  • the correction factor calculator 320 is further configured to calculate a first iteration term and a second of the i-th data block Iteration item.
  • the data cache 310 is configured to store a first iteration of the i-th data block determined by the correction factor calculator 320.
  • the correction factor calculator 320 is further configured to calculate a second iteration term of the i th data block and transmit a second iteration term of the i th data block to the synchronizer 340.
  • the correction factor calculator 320 is further configured to transmit the s values of the correction factors corresponding to the i-1th data block stored before to the synchronizer 340.
  • the synchronizer 340 is configured to acquire s values of the correction factor corresponding to the i-1th data block from the correction factor calculator 320, and obtain the second iteration of the ith data block from the correction factor calculator 320. And a first iteration term of the i-th data block obtained from the data buffer 310, and based on the s values of the correction factors corresponding to the i-th data block obtained from the correction factor calculator 320 And calculating, by the second iteration term of the i-th data block and the first iteration item of the i-th data block obtained from the data buffer 310, the s values of the correction factors corresponding to the i-th to-be-blocked data block.
  • the comparator 330 is further configured to determine, according to the s values of the correction factors corresponding to the i th data block, whether the start symbol of the i th data block is a frame boundary of the FEC frame.
  • the correction factor calculator 320 is further configured to store s values of the correction factors corresponding to the i-th data block determined by the synchronizer 320.
  • the comparator 330 determines that the start symbol of the i-th data block is not the frame boundary of the FEC frame, the next data block of the i-th data block (ie, the i+1th data block) is used as the new one. Two data blocks, and so on.
  • correction factor calculator 320 and the synchronizer 340 may be implemented by an adder and a multiplier, but the embodiment of the invention is not limited thereto.
  • the apparatus for determining a frame boundary of an FEC frame determines, by using s parameter values corresponding to the first data block, s parameter values corresponding to the second data block, where the first data block is determined by Forming N consecutive symbols starting from the first symbol, the second data block is composed of N consecutive symbols starting from the second symbol, and the offset of the second symbol relative to the first symbol is P symbols.
  • FIG. 7 schematically illustrates a decoding system 400 that includes: a frame boundary determination circuit 410, an error diagnostic device 420, and an error corrector 430 for determining FEC, in accordance with an embodiment of the present invention.
  • the frame boundary of the code is configured to determine an error existing in the FEC frame according to the frame boundary determined by the frame boundary determining circuit 410, and the error corrector 430 is configured to determine the FEC frame according to the error diagnostic device 420.
  • the data includes N+P consecutive symbols starting from the first symbol, N is the number of symbols included in one FEC frame, N is a positive integer multiple of P and N is greater than P, where the N+P The N consecutive symbols starting from the first symbol in the consecutive symbols form a first data block, and the N consecutive symbols starting from the second symbol in the N+P consecutive symbols form a second data block, where The offset of the second symbol relative to the first symbol is p symbols;
  • the decoding system 400 may further include a descrambler for descrambling the data stream to be processed; correspondingly, the error corrector 430 is specifically configured to be present in the FEC frame determined according to the error diagnostic device 420. Error, error correction is performed on the FEC frame descrambled by the descrambler.
  • the decoding system 400 may further include a controller, if the determination result of the frame boundary determining circuit 410 indicates that the second symbol is not a frame boundary of the FEC frame, then the frame boundary is determined to be determined. Circuit 410 continues with the determination of the frame boundaries. If the determination result of the frame boundary determining circuit 410 indicates that the second symbol is a frame boundary of the FEC frame, the error diagnosing unit 420 is controlled to determine an error existing in the FEC frame according to the frame boundary determined by the frame boundary determining circuit 410.
  • a frame boundary determining circuit in a method of determining a frame boundary of an FEC frame, or a device corresponding to determining a frame boundary of an FEC frame according to an embodiment of the present invention, and each of the frame boundary determining circuits 410
  • the above and other operations and/or functions of the modules are respectively implemented in order to implement the respective processes of the respective methods in FIG. 2 to FIG. 4, and are not described herein again for brevity.
  • the decoding system determines the s parameter values corresponding to the second data block by using the s parameter values corresponding to the first data block, where the first data block is started by using the first symbol. And consisting of N consecutive symbols, the second data block is composed of N consecutive symbols starting from the second symbol, the offset of the second symbol relative to the first symbol is P symbols, and the frame boundary determining circuit Determining, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and by using the iterative algorithm, for the received 2N consecutive symbols, detecting N of the 2N consecutive symbols Whether the /P symbols are frame boundaries of the FEC frame, thereby improving the determination efficiency of the frame boundary of the FEC frame, improving the synchronization speed of the communication link, and improving system performance.
  • Figures 8 and 9 show two examples of a decoding system in accordance with an embodiment of the present invention.
  • the s parameter values are s values of the correction factor.
  • the decoding system 500 includes a frame boundary determining circuit 510, an error diagnostic device 520, an error corrector, a descrambler 540, and a controller 550, wherein the frame boundary determining circuit 510 includes: a data buffer 511, a correction A factor calculator 512, a synchronizer 513, and a multiplexer (MUX) 514.
  • MUX multiplexer
  • the controller 550 can control the state of the multiplexer 514.
  • the controller 550 sets the multiplexer 514 to 0 when the frame boundary determination circuit 510 determines the frame boundary of the FEC frame, and the control is performed when the frame boundary determination circuit 510 determines the frame boundary to the FEC frame.
  • the multiplexer 514 is placed at 1, but the embodiment of the present invention is not limited thereto.
  • the correction factor calculator 512 is configured to calculate and store s values (3 ⁇ 4r St ) of the correction factors corresponding to the first data block in the current data, where the first data block is in the current data.
  • the first symbol is the start bit.
  • the comparator 330 is configured to determine whether the first symbol is a frame boundary of the FEC frame according to whether the s values of the correction factors corresponding to the first data block are all zero.
  • the comparator 330 determines that the first symbol is not the frame boundary of the FEC frame, then the next data block of the first data block (i.e., the second data block) is used as the new current data block.
  • the correction factor calculator 320 is further configured to calculate a first iteration term and a second iteration term of the i th data block, where l ⁇ i ⁇ Q.
  • the data cache 310 is configured to store the ith data block determined by the correction factor calculator 320 The first iteration of the item.
  • the synchronizer 340 is configured to: according to the s values of the correction factor corresponding to the i-1th data block obtained from the correction factor calculator 320 and the second iteration term ( 2 ) of the i th data block and from the data
  • the first iteration term of the i-th data block obtained in the buffer 310 calculates s values of the correction factor corresponding to the i-th data block ( & ext ) 0
  • the comparator 330 is further configured to determine, according to the s values of the correction factors corresponding to the i th data block, whether a start symbol of the i th data block is a frame boundary of the FEC frame.
  • the correction factor calculator 320 is further configured to store s values of the correction factors corresponding to the i-th data block determined by the synchronizer 340, so that the synchronizer 340 can correct the correction factor according to the i-th data block.
  • the s values determine the s values of the correction factors corresponding to the i+1th data block.
  • the decoding system 700 shown in Fig. 9 is similar in structure to the decoding system 600 shown in Fig. 8, and the main difference is that the frame boundary determining circuit 610 is different in structure from the frame boundary determining circuit 510. Specifically, in the frame boundary determining circuit 510, the first iteration term H! of the i-th data block is pre-calculated by the correction factor calculator 512, and the first iteration term of the i-th data block is stored to the data buffer. 511. Thus, when the synchronizer 513 calculates the value of the correction factor corresponding to the i-th data block, it can be stored in the data buffer 511 without real-time calculation.
  • the data buffer 611 is not used to store the first iteration item of the i-th data block, and is used to store the first P consecutive symbols of the i-th data block.
  • the polynomial calculator 614 is based on the first P of the i-1th data block stored in the data buffer 611. The consecutive iterations, the first iteration term of the i-th data block is calculated in real time, and the calculation result is input to the synchronizer 613.
  • FIG. 10 shows an example of another decoding system 700 in accordance with an embodiment of the present invention.
  • the s parameter values are values of a check factor. From equation (16), it can be concluded that the value of the check factor corresponding to the next data block can be determined by:
  • the frame boundary determining circuit 710 includes: a data buffer 711, an R first exclusive OR calculation circuit 712, a multiplexer 713, a R body exclusive OR calculation circuit 714, and a R head XOR calculation circuit 715, R tail XOR calculation circuit 716, summer 717 and comparator 718.
  • the R &s t exclusive OR calculation circuit 712 is configured to calculate a value of the check factor R flKt corresponding to the first data block, and the comparator 718 is configured to determine the first value according to the value of R &st determined by the R flKt exclusive OR calculation circuit 712 Whether the start symbol of a data block is the frame boundary of the FEC frame.
  • the d y exclusive OR calculation circuit 714 brings the value of R flKt determined by the R flKt exclusive OR calculation circuit 712 into the equation (20 ), and obtains the next data block of the first data block (hereinafter referred to as the second data block). ) R b . a value of dy , wherein a start symbol of the second data block is backward shifted by P symbols with respect to a start symbol of the first data block.
  • the MUX 713 is switched from the initial 0 state to the 1 device, at which time the R first XOR calculation circuit 712 and R b .
  • the transmission link between the dy- OR calculation circuit 714 changes from the on state to the off state, while R b .
  • the transmission link between the dy- OR calculation circuit 714 and the summer 717 changes from the off state to the on state.
  • the second data block is generally referred to as the i-th data block, l ⁇ i ⁇ Q.
  • the R head exclusive OR calculation circuit 715 carries the first P consecutive symbols in the i- 1th data block into the equation (21) to calculate the value of the ea d of the i th data block, and the R tai i exclusive OR calculation circuit 716 carries the last P consecutive symbols of the i-th data block into equation (22) to calculate the value of R tail of the i-th data block. Subsequently, the R b .
  • the values of dy , R head and 1 £1 are all input to summer 717.
  • the summer 717 pairs the input R b .
  • the values of dy , R head and R tail perform an addition operation to obtain the value of the check factor R next corresponding to the i th data block.
  • the comparator 718 determines, according to the value of the R next , whether the start symbol of the i th data block is a frame boundary of the FEC frame.
  • the frame boundary determining circuit 710 continues to perform an iterative calculation to determine the next data block of the i-th data block ( Whether the start symbol of the i+1 data block is the frame boundary of the FEC frame, that is, the R b .
  • the dy- OR calculation circuit 714 brings the value of R next determined by the summer 717 into the equation (18) to obtain R b of the i+1th data block.
  • R head exclusive OR calculation circuit 715 brings the first P consecutive symbols in the i-th data block into equation (21), and obtains the value of R head of the i+1th data block; R tail Or the calculation circuit 716 carries the last P consecutive symbols of the i+1th data block into the equation (22) to obtain the value of the R tail of the i+1th data block; and finally the summer according to the i th R b of +1 data blocks.
  • the decoding system determines the S parameter values corresponding to the second data block by using the S parameter values corresponding to the first data block, where the first data block is started by using the first symbol.
  • the second data block is composed of N consecutive symbols starting from the second symbol, the offset of the second symbol relative to the first symbol is P symbols, and the frame boundary determining circuit Determining, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and by using the iterative algorithm, for the received 2N consecutive symbols, detecting N of the 2N consecutive symbols Whether the /P symbols are frame boundaries of the FEC frame, thereby improving the determination efficiency of the frame boundary of the FEC frame, improving the synchronization speed of the communication link, and improving system performance.
  • FIG. 6 and FIG. 8 to FIG. 10 are intended to help those skilled in the art to better understand the embodiments of the present invention and not to limit the scope of the embodiments of the present invention. It is obvious to those skilled in the art that various modifications and changes can be made in the embodiments of FIG. 6 and FIG. 8 to FIG. 10, and such modifications or variations are also within the scope of the embodiments of the present invention.
  • Embodiments of the present invention also provide an apparatus for determining a frame boundary of a forward error correction frame.
  • the apparatus can be used to perform the method illustrated in Figure 2.
  • the device can be a frame boundary determination circuit.
  • the device includes:
  • a receiving unit configured to receive data, where the data includes N+P consecutive symbols starting from the first symbol, where N is the number of symbols included in one FEC frame, N is a positive integer multiple of P, and N is greater than P, where And N consecutive symbols starting from the first symbol in the N+P consecutive symbols form a first data block, and the N consecutive symbols starting from the second symbol in the N+P consecutive symbols form a first a second data block, the offset of the second symbol relative to the first symbol is P symbols; an obtaining unit, configured to acquire s parameter values corresponding to the first data block;
  • a first determining unit configured to determine a first iteration item and a second iteration item of the second data block received by the receiving unit, where a first iteration item of the second data block is according to the first data block Obtained by the first P consecutive symbols, the second iteration term of the second data block is obtained according to the last P consecutive symbols in the second data block;
  • a second determining unit configured to determine, according to the s parameter values corresponding to the first data block acquired by the acquiring unit, and the first iteration item and the second iteration item of the second data block determined by the first determining unit s parameter values corresponding to the second data block;
  • a third determining unit configured to determine, according to the s parameter values corresponding to the second data block determined by the second determining unit, whether the second symbol is a frame boundary of the FEC frame.
  • the S parameter values corresponding to the first data block are S values of the correction factor
  • the S parameter values corresponding to the second data block are S values of the correction factor
  • the second data block is An iteration term and a second iteration term are determined by the following formula:
  • is a constant indicating the jth symbol or the last of the top consecutive symbols
  • the s parameter values corresponding to the first data block are s values of the check factor
  • the s parameter values corresponding to the second data block are s values of the check factor
  • the first iteration term and the second iteration term of the second data block are determined by the following formula:
  • is a variable representing the jth symbol or the last of the top consecutive symbols
  • the jth symbol of the P consecutive symbols "(/ ⁇ ) indicates the sequence number of the jth symbol.
  • the apparatus further includes: a storage unit, where the storage unit is configured to store a first P consecutive symbols in the first data block,
  • the first determining unit is specifically configured to: obtain the first P consecutive symbols in the first data block stored in the storage unit, and according to the first P consecutive symbols in the first data block and the public H(a) Determining a first iteration of the second data block; or
  • the storage unit is configured to store the first iteration item of the second data fast.
  • the first determining unit is specifically configured to acquire a first iteration item of the second data block stored in the storage unit.
  • the s parameter values corresponding to the first data block are S values of the correction factor
  • the S parameter values corresponding to the second data block are S values of the correction factor
  • Ks ⁇ 2xt t is the maximum number of error symbols that can be corrected in one FEC frame, and the first iteration term and the second iteration term respectively include s values;
  • the second determining unit is specifically configured to determine s values of the correction factors corresponding to the second data block according to the following formula:
  • the second determining unit is specifically configured to determine a value of a check factor corresponding to the second data block according to the following formula:
  • Urrent ⁇ previous X ⁇ ) m od g(x) + ( , (x) XX P ) mod g(x) + (H 2 (x) XX ) mod g(x)
  • R ⁇ is a value of a check factor corresponding to the second data block, and is a value of a check factor corresponding to the first data block, which is a first iteration term of the second data block
  • H 2 (x) is the second iteration term of the second data block, which is a generator polynomial of the FEC code.
  • the third determining unit is specifically configured to:
  • the receiving unit is further configured to: if the number of symbols included in the data is less than 2N, receive new data, where the new data includes P consecutive symbols, the new data and the N+ P consecutive symbols are adjacent and received after the N+P consecutive symbols, wherein the third data block is composed of N consecutive symbols starting from a third symbol in the second data block, the third symbol The offset with respect to the second symbol is P symbols;
  • the second determining unit is further configured to: if the third determining unit determines that the second symbol is not a frame boundary of the FEC frame, determine a first iteration item and a second iteration item of the third data block, where the third data The first iteration term of the block is obtained according to the first P consecutive symbols in the second data block, and the second iteration term of the third data block is obtained according to P consecutive symbols included in the new data, And determining, according to the s parameter values corresponding to the second data block and the first iteration item and the second iteration item of the third data block, the s parameter values corresponding to the third data block;
  • the third determining unit is further configured to determine, according to the s parameter values corresponding to the third data block determined by the second determining unit, whether the third symbol is a frame boundary of the FEC frame.
  • the second determining unit is further configured to: if the third determining unit determines that the second symbol is not a frame boundary of the FEC frame, determine, according to the N consecutive symbols included in the fourth data block, the s corresponding to the fourth data block Parameter value
  • the third determining unit is further configured to determine, according to the s parameter values corresponding to the fourth data block determined by the second determining unit, whether the fourth symbol is a frame boundary of the FEC frame.
  • the apparatus for determining a frame boundary of an FEC frame determines, by using s parameter values corresponding to the first data block, s parameter values corresponding to the second data block, where the first data block is determined by Forming N consecutive symbols starting from the first symbol, the second data block is composed of N consecutive symbols starting from the second symbol, and the offset of the second symbol relative to the first symbol is P symbols.
  • the frame boundary determining circuit determines, according to the s parameter values corresponding to the second data block, whether the second symbol is a frame boundary of the FEC frame, and by using the iterative algorithm, detecting the 2N for the received 2N consecutive symbols Whether the N/P symbols in consecutive symbols are frame boundaries of the FEC frame, thereby improving the determination efficiency of the frame boundary of the FEC frame, improving the synchronization speed of the communication link, and improving system performance.
  • the term and/or merely an association describing the associated object indicates that there may be three relationships.
  • a and / or B can mean: There are three cases of A, B and A and B alone.
  • the characters in this article generally indicate that the contextual object is an OR relationship.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the components displayed for the unit may or may not be physical units, ie may be located in one place, or may be distributed over multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and the like, which can store program 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

确定前向纠错帧边界的方法、 装置和解码系统 技术领域
本发明实施例涉及通信领域, 并且更具体地, 涉及确定前向纠错帧边界 ( forward error correction frame boundary ) 的方法、 装置和角罕码系统。 背景技术
随着高速通信链路速率的不断上升, 信道的各种损伤效应逐渐加强, 导 致信噪比下降。 为了改善低信噪比条件下的误码性能, 前向纠错(Forward Error Correction, FEC )技术已逐渐成为高速通信链路实现过程中的必选技 术。 在众多的 FEC码中, 里得所罗门 (Reed Solomon, RS )码和博斯-乔 赫里 ( Bose-Chaudhuri-Hocquenghem, BCH )码由于其高增益、 实现简单、 占用资源小等优点而得到广泛的应用。 其中, RS 码已被国际电信联盟电信 标准化邵 ( International Telecommunications Union Telecommunication Standardization Sector, ITU-T )的 G.709以及电气与电子工程师协会( Institute of Electrical 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 个数据块进行检验, 每次校验需要接收长度为两帧的数据。 因此, 最坏情况 下需要接收约 2xNxN个符号的数据, 因此, 确定 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个值, 并且该 第二数据块的第一迭代项和第二迭代项由以下公式确定: H(a) = ^ r(j) x aj , 其中, β为常数, 表示该最前 Ρ个连续符号中的第 j个符号或 ίί最后 Ρ个 连续符号中的第 j个符号。
结合上述可能的实现方式, 在第二种可能的实现方式中, 该第一数据块 对应的 S个参数值为校验因子的 S个值, 该第二数据块对应的 S个参数值为 校验因子的 S个值, 并且该第二数据块的第一迭代项和第二迭代项由以下公 式确定: H( ) = §r ) x ^W , 其中, β为变量, 表示该最前 Ρ个连续符号 中的第 j个符号 ¾该最后 P个连续符号中的第 j个符号, 《 表示该第 j个符 号的序号。
结合上述可能的实现方式, 在第三种可能的实现方式中, 该确定该第二 数据块的第一迭代项, 包括: 从第一预设存储区域中获取该第一数据块中的 最前 P个连续符号, 并根据该第一数据块中的最前 P个连续符号和该公式 H(a) , 确定该第二数据块的第一迭代项; 或从第二预设存储区域中获取该第 二数据块的第一迭代项。
结合上述可能的实现方式, 在第四种可能的实现方式中, 若该第一数据 块对应的 S个参数值为校正因子的 S个值, 并且该第二数据块对应的 S个参 数值为校正因子的 s个值, 则 Ks<2xt, t为一个 FEC帧中能够被纠正的错 误符号的最大数量, 并且该第一迭代项和该第二迭代项分别包括 s个数值; 该第二数据块对应的校正因子的 S个值由下式确定:
Scurrent,i =
Figure imgf000005_0001
iaf + Hl(ai) (ai)N + H2(ai) 1≤ 其中, S—t4为 该第二数据块对应的校正因子的第 个值, .。 为该第一数据块对应的校 正因子的第 个值, 为该第二数据块的第一迭代项的第 个值, Η2(ο 为该第二数据块的第二迭代项的第 个值, 《,·为 FEC码的生成多项式的第 i 个根。
结合上述可能的实现方式, 在第五种可能的实现方式中, 若该第一数据 块对应的 s个参数值为校验因子的 s个值, 并且该第二数据块对应的 s个参 数值为校正因子的 s个值, 则 s=l , 并且该第二数据块对应的校验因子的值 由下式确定:
Rcurrent = (Rprevious X X?) mod §(x) + (^i W X X ) mod g(x) + (H2 (x) X XP) mod g(x),其中,
Rcurrent为该第二数据块对应的校验因子的值, Rlast为该第一数据块对应的校 验因子的值, j为该第二数据块的第一迭代项, 为该第二数据块的 第二迭代项, 为 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个连续符号之后收到, 其中, 该第 四符号的起始比特位相对于该第二符号的起始比特位 的偏移量为 L个符 号, 其中, mod ≠0, 或者 mod =0并且 modP ≠0, 其中, mod表示 求余操作, 为一个符号中包括的比特的数量; 若确定该第二符号不为 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个值, 并且该 第二数据块的第一迭代项和第二迭代项由以下公式确定: H(a) = ^ r(j) x aj , 其中, α为常数, 表示该最前 Ρ个连续符号中的第 j个符号或 最后 Ρ个 连续符号中的第 j个符号。
结合上述可能的实现方式, 在第二种可能的实现方式中, 该第一数据块 对应的 s个参数值为校验因子的 s个值, 该第二数据块对应的 s个参数值为 校验因子的 s个值, 并且该第二数据块的第一迭代项和第二迭代项由以下公 式确定: H( ) = § r ) x ^W , 其中, β为变量, 表示该最前 Ρ个连续符号 中的第 j个符号 ¾该最后 P个连续符号中的第 j个符号, 表示该第 j个符 号的序号。
结合上述可能的实现方式,在第三种可能的实现方式中,该装置还包括: 存储器, 其中, 该存储器用于存储该第一数据块中的最前 P个连续符号, 该 参数计算器具体用于:获取该存储器中存储的该第一数据块中的最前 P个连 续符号, 以及根据该第一数据块中的最前 P个连续符号以及该公式 确 定该第二数据块的第一迭代项; 或者该存储器用于存储该第二数据快的第一 迭代项, 该参数计算器具体用于获取该存储器中存储的该第二数据块的第一 迭代项。
结合上述可能的实现方式, 在第四种可能的实现方式中, 若该第一数据 块对应的 s个参数值为校正因子的 s个值, 并且该第二数据块对应的 s个参 数值为校正因子的 s个值, 则 Ks<2xt, t为一个 FEC帧中能够被纠正的错 误符号的最大数量, 并且该第一迭代项和该第二迭代项分别包括 s个数值; 该参数计算器具体用于根据以下公式确定该第二数据块对应的校正因 子的 s个值: Scu t,i = S previous,i « + Η^Χα^ + HAc \ < i≤s ,其中, Scurrent ^ 该第二数据块对应的校正因子的第 个值, .。 为该第一数据块对应的校 正因子的第 个值, ο^为该第二数据块的第一迭代项的第 个值, Η2(αί) 为该第二数据块的第二迭代项的第 个值, 为 FEC码的生成多项式的第 i 个根。
结合上述可能的实现方式, 在第五种可能的实现方式中, 若该第一数据 块对应的 S个参数值为校验因子的 S个值, 并且该第二数据块对应的 S个参 数值为校验因子的 s个值, 则 s=l , 并且该参数计算器具体用于根据以下公 式确定该第二数据块对应的校验因子的值:
RCUrrent = (^previous X X?) mod g(x) + (Hl X mod g(x) + (H2 (x) X X?) mod g(x),其中,
Rcurrent为该第二数据块对应的校验因子的值, Rlast为该第一数据块对应的校 验因子的值, j为该第二数据块的第一迭代项, 为该第二数据块的 第二迭代项, 为 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个连续符号之后收到, 其中, 该第四符号的起始比特位相对于该第二符号的起始比特位的偏移量为 个 符号, 其中, mod ≠0, 或者 mod =0并且 mod尸 ≠0, 其中, mod表 示求余操作, 为一个符号中包括的比特的数量; 该参数计算器还用于若该 比较器确定该第二符号不为 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帧的帧边界的方法的示意图。 图 3是本发明实施例的确定 FEC帧的帧边界的方法中的第一数据块和 第二数据块的示意图。
图 4是本发明实施例的确定 FEC帧的帧边界的方法的一个例子的示意 图。
图 5是本发明实施例的确定 FEC帧的帧边界的装置的示意性框图。 图 6是本发明实施例的确定 FEC帧的帧边界的装置的一个例子的示意 图。
图 7是本发明实施例的解码系统的示意性框图。
图 8是本发明实施例的解码系统的一个例子的示意图。
图 9是本发明实施例的解码系统的另一个例子的示意图。
图 10是本发明实施例的解码系统的再一个例子的示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚地描述, 显然, 所描述的实施例是本发明的一部分实施例, 而不是全部 实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳 动的前提下所获得的所有其他实施例, 都应属于本发明保护的范围。
应理解, 本发明实施例的技术方案可以应用于通信系统。 所述通信系统 可以是全球移动通讯 ( Global System of Mobile communication, GSM )系统、 码分多址 (Code Division Multiple Access, CDMA ) 系统、 宽带码分多址 ( Wideband Code Division Multiple Access, WCDMA ) 系统、 通用分组无线 业务 ( General Packet Radio Service, GPRS )、长期演进( Long Term Evolution, LTE ) 系统、 LTE频分双工 (Frequency Division Duplex, 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=Nxm。 对于 RS码来说, m为大于 1的整数。 对于 BCH码来说, m=l。 即一个符号包括一个比特。 因此, 对于 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个连 续符号!"^〜!"。。 其中, 该帧边界确定电路可以在每个时钟周期接收一列中的 P个连续符号, 并且按图 4所示表格中的列号由小到大的顺序依次接收该 N 个连续符号。 即最先接收第一列符号!^广!^^, 最后接收第 Q列符号 〜1¾。 该 N个连续符号 r^ r。组成第一数据块。 此时, 第一符号具体为符号 rN_l D 然后, 该帧边界确定电路可以接收 P个连续符号 1^〜1^。 该帧边界确定电路 接收了 N+P个连续符号, 并且该 N+P个连续符号中的最后 N个连续符号 r^j p组成第二数据块。 此时, 第二符号具体为符号 rN_! 。 为了便于描述, 该第一数据块可以看做该第二数据块的前一数据块。该第二数据块可看做该 第一数据块的前一数据块。 在本发明实施例中, 任意一个数据块与其前一数 据块或后一数据块之间的位置关系和该第一数据块与该第二数据块之间的 位置关系类似。 即任意一个数据块的起始符号相对于其前一数据块的起始符 号向后偏移 P个符号。
在本发明实施例中, FEC帧的帧边界的确定以 P个符号为单位进行偏移。 具体地, 该帧边界确定电路可以首先确定该第一数据块的起始符号(即第一 符号 )是否为 FEC帧的帧边界, 并且在确定该第一符号不为 FEC帧的帧边 界时, 确定该第二数据块的起始符号 (即第二符号)是否为 FEC 帧的帧边 界。 可选地, 该第一符号可以为该数据中的首个待测符号, 即该数据中不包 括该第一数据块的前一数据块; 或者, 该第一符号也可以为该数据中的中间 一个待测符号, 即该数据中包括该第一数据块的前一数据块, 本发明实施例 对此不做限定。 由此可知, 在本发明实施例中, 进行 FEC 帧的帧边界确定 的并行度为 Q , 表示长度为两个 FEC帧的数据中能够检测的符号的个数。
S120, 获取该第一数据块所对应的 s个参数值。
该 s个参数值为校正因子的 s个值或校验因子的 s个值, s为大于或等 于 1的整数。 如果该 s个参数值为校验因子的 s个值, 则 s=l ; 而如果该 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 〜r。 (即 第一数据块) 中的最前 P个连续符号 (即符号 rN i^P )获得的, 该第二数 据块的第二迭代项可以是根据符号
Figure imgf000014_0001
(即第二数据块) 中的最后 P个 连续符号 (符号 r-1 P )获得的。
S140, 根据该第一数据块对应的 s个参数值以及该第二数据块的第一迭 代项和第二迭代项, 确定该第二数据块对应的 s个参数值。
该第二数据块对应的 S个参数值可以为校正因子的 S个值或校验因子的 S个值。 如果该 S个参数值为校正因子的 S个值, 则该帧边界确定电路可以 根据该第一数据块所对应的校正因子的 s个值以及该第二数据块的第一迭代 项和第二迭代项, 确定该第二数据块对应的校正因子的 s个值。
如果该 s个参数值为校验因子的 s个值, 则 s=l , 并且该帧边界确定电 路可以根据该第一数据块所对应的校验因子的值以及该第二数据块的第一 迭代项和第二迭代项, 确定该第二数据块对应的校验因子的值。
S150,根据该第二数据块对应的 s个参数值,确定该第二符号是否为 FEC 帧的帧边界。
因此, 根据本发明实施例的确定 FEC 帧的帧边界的方法, 利用第一数 据块所对应的 s个参数值, 确定第二数据块对应的 s个参数值, 其中, 该第 一数据块由以第一符号为起点的 N个连续符号组成 ,该第二数据块由以第二 符号为起点的 N个连续符号组成, 第二符号相对于该第一符号的偏移量为 P 个符号, 并且该帧边界确定电路根据该第二数据块对应的 s个参数值确定该 第二符号是否为 FEC 帧的帧边界, 通过釆用该迭代算法, 该帧边界确定电 路对于接收的 2N个连续符号, 能够检测该 2N个连续符号中的 N/P个符号 是否为 FEC帧的帧边界, 从而提高 FEC帧的帧边界的确定效率。
在本发明实施例中, RS码和 BCH码的校正因子的第 个值&可以由下 式确定: RS码和 BCH码的校验因子 R的值由下式确定:
R = r(x) mod g(x) (2) 其中, g(x)为 RS码和 BCH码的生成多项式, 为码字多项式, 分别 可以由式 (2)和式 (3)表示: g( ) = n^ - ^) (3) r(x) = q(x) x g(x) + e(x) (4) 其中, ο¾为生成多项式的第 i个根, l≤i≤2x, 为错误多项式, 且当 接收码字为有效的 FEC帧时, x戶 0。
由式( 1 )和式(2 )可知, 如果一个数据块为有效的 FEC帧, 则其 2t 个校正因子的值均为零并且校验因子的值为零。本发明实施例可以利用此性 质确定第二数据块是否为真正的 FEC帧, 从而确定该第二符号是否为 FEC 帧的帧边界。
可选地, S 150 , 根据该第二数据块所对应的 s个参数值, 确定该第二符 号是否为 FEC帧的帧边界, 包括:
若该第二数据块所对应的 s个参数值均为零,确定该第二符号为 FEC帧 的帧边界;
若该第二数据块对应的 s个参数值中的至少一个参数值不等于零, 确定 该第二符号不为 FEC帧的帧边界。
具体地, 如果该 s个参数值为校正因子的 s个值, 则该 s的值可以为小 于或等于 2 的预设整数, 此时, 如果该第二数据块对应的校正因子的 s个值 均为零, 则该帧边界确定电路可以确定该第二数据块为真正的 FEC 帧, 并 且该第二符号为 FEC 帧的帧边界; 反之, 如果该第二数据块对应的校正因 子的 s个值中存在至少一个不为零的数值,则确定该第二符号不是 FEC帧的 帧边界。 如果该 s个参数值为校验因子的 s个值, 则 s=l , 此时, 如果该第 二数据块对应的校验因子的值为零, 则确定该第二数据块为真正的 FEC帧, 该第二符号为 FEC 帧的帧边界; 反之, 如果该第二数据块对应的校验因子 的值不为零, 则确定该第二符号不为 FEC 帧的帧边界。 或者, 该帧边界确 定电路可以同时确定该第二数据块对应的校正因子的 s 个值和校验因子的 值, 并且只有在该第二数据块对应的校正因子的 s个值和校验因子的值均为 零时, 才确定该第二符号为 FEC 帧的帧边界, 但本发明实施例对此不做限 定。
仍以图 4为例, 由式( 1 ) 〜(4) 可以得知, 该第二数据块对应的 &的 值与该第一数据块对应的 & 值之间具有如下关系:
S current f,ι.
Figure imgf000016_0001
+ H] 1,/.x( Va /)N +H72,/. ( V5) 其中, 1≤ i <s, 为该第二数据块对应的校正因子的第 i 个值,
。^为该第一数据块对应的校正因子的第 i个值, 为该第二数据块的 第一迭代项的第 个值, 且由式(6)确定, 2为该第二数据块的第二迭代 项的第 个值, 由式(7)确定。
N-1
Η„ = ∑ rk (a,†-^ (6) k=N-P
Figure imgf000016_0002
其中, rk表示序号为 k的符号。 由式(6)可以看出, 的值依赖于该 第一数据块中的最前 P个连续符号 (符号 r^ r^p), 其中, 符号 为该 P个 连续符号中的第 0个符号,符号 rN_P为该 P个连续的符号中的第 P-1个符号 , 依次类推。 由式(7)可以看出, 2 的值依赖于该第二数据块的最后 P个连 续符号 (即符号 ιρ), 其中, 符号 ι为该 Ρ个连续的符号中的第 0个符 号, 符号 r_P为该 Ρ个连续的符号中的第 P-1个符号, 依次类推。
类似地, 由式( 1 ) 〜(4) 可以得知, 该第二数据块对应的 R的值与该 第一数据块对应的 R的值之间具有如下关系:
Current = {R PreviouS x ^)modg( ) + (H lR x )modg(x) + (H 2R x )modg(x)
(8) 其中, R „,为该第二数据块对应的校验因子的值, 为该第一数 据块对应的校验因子的值, 为该第二数据块的第一迭代项, 且由式(9 ) 确定, 为该第二数据块的第二迭代项, 由式(10)确定。
N-1
∑ rk xk (9) k=N-P
-1
H2R = ∑rkxxk (10) k P
其中, 的值依赖于该第一数据块的最前 Ρ 个连续符号(即符号 rN-1~rN-P) , 的值依赖于该第二数据块的最后 Ρ 个连续符号 (即符号 r.i-r.p )。
由上可知, 可选地, 该第一数据块对应的 S个参数值为校正因子的 S个 值, 该第二数据块对应的 S个参数值为校正因子的 S个值, 并且该第二数据 块的第一迭代项和第二迭代项可以由以下公式确定:
H(a) =∑r(7)x^ (11) =o
其中, β为常数, 表示该最前 Ρ个连续符号中的第 j个符号或该最后 P个连续符号中的第 j个符号。
该第二数据块的第一迭代项可以通过将该第一数据块中的最前 P 个连 续符号带入公式 fa)获得,该第二数据块的第二迭代项可以通过将该第二数 据块中的最后 P个连续符号带入公式 oj获得。
具体地,可以按照接收的时间顺序将该最前 P个连续符号或最后 P个连 续符号排序,以使得该最前 P个连续符号或最后 P个连续符号依次为第 0个 符号至第 P-1个符号, 其中, 该最前 P个符号或最后 P个符号中的第 0个符 号最先被接收, 该最前 P个符号或最后 P个符号中的第 P-1个符号最后被接 收, 但本发明实施例不限于此。
可选地, 作为另一实施例, 该第一数据块对应的 s个参数值为校验因子 的 s个值, 该第二数据块对应的 s个参数值为校验因子的 s个值, 并且该第 二数据块的第一迭代项和第二迭代项由以下公式确定:
H(a) = ^ r(j) an j) ( 12 ) =0
其中, α为变量, 表示该最前 Ρ个连续符号中的第 j个符号或该最后
P个连续符号中的第 j个符号, "(/·)表示该第 j个符号的序号。
此时, α可以具体为生成多项式 中的 x。 以图 4为例, 可以按照接 收时间的顺序对该第一数据块的最前 P个连续符号(r^ r^p )进行排序, 其 中, 符号 rN_i为该最前 P个连续符号中的第 0个符号, 即该第 0个符号的序 号为 N-1 ; 符号 rN_P为该最前 P个连续符号中的第 P-1个符号, 即该第 P-1 个符号的序号为 N-P, 依次类推, 但本发明实施例不限于此。
可选地, 作为另一实施例, 若该第一数据块对应的 s个参数值为校正因 子的 s个值, 并且该第二数据块对应的 s个参数值为校正因子的 s个值, 则 Ks<2xt, t为一个 FEC帧中能够被纠正的错误符号的最大数量, 并且该第一 迭代项和该第二迭代项分别包括 s个数值; 相应地, 该第二数据块对应的校 正因子的 S个值由下式确定:
Scurrent ^ S^^ ia + Hl(ai) {ai)N + H2(ai) l≤i≤s (13) 其中, Μ^ .为该第二数据块对应的校正因子的第 个值, sp; 该 第一数据块对应的校正因子的第 i个值, o^为该第二数据块的第一迭代项 的第 个值, 为该第二数据块的第二迭代项的第 个值, α为 FEC码的 生成多项式的第 个根。
此时, Η^α 和 H2(ai) 的值可以由式( 11 )确定,例如, H^)和 Η2(α 的 值可以分别由式 (6)和式 (7)确定。 该 FEC码可以指 FEC帧中包括的 FEC码。
可选地, 作为另一实施例, 若该第一数据块对应的 s个参数值为校验因 子的 s个值, 并且该第二数据块对应的 s个参数值为校正因子的 s个值, 则 s= l , 并且该第二数据块对应的校 3全因子的值由下式确定:
Rcurrent = (^previous X X? )觸 d g(x) + (H、 (x) X X? ) mod g(x) + (H2 (x) X X? ) mod g(x) ( 14) 其中, R^ ^为该第二数据块对应的校验因子的值, 为该第一数 据块对应的校验因子的值, 为该第二数据块的第一迭代项, H2(x)为该 第二数据块的第二迭代项, 为 FEC码的生成多项式。
此时, 和 H2(x) 的值可以由式( 12 )确定, 例如, H!(x)和 H2(x) 的 值可以分别由式 (9)和式(10)确定。该 FEC码可以指 FEC帧中包括的 FEC码。
在本发明实施例中, 在 S 130中, 该帧边界确定电路可以通过多种方式 确定该第二数据块的第一迭代项。 可选地, 该帧边界确定电路可以预先将该 第一数据块中的最前 P个连续符号存储至存储器, 相应地, 在计算该第二数 据块对应的 s个参数值时, 该帧边界确定电路可以从存储器中获取该第一数 据块中的最前 P个连续符号, 并将该最前 P个连续符号带入式(6 )或 (9 ) 以获得该第二数据块的第一迭代项; 相应地, 该帧边界确定电路也可以将该 第二数据块的最前 p个连续符号预先存储至该第一预设存储区域, 以使得该 帧边界确定电路在对下一数据块进行检测时,从该第一预设存储区域获取该 第二数据块的最前 p个连续符号,并根据该最前 P个连续符号确定该下一数 据块的第一迭代项, 但本发明实施例不限于此。
可选地, 作为另一实施例, 该帧边界确定电路也可以预先根据该第一数 据块中的最前 P个连续符号, 计算该第二数据块的第一迭代项, 并将该第一 迭代项存储至存储器, 相应地, 在对该第二数据块进行检测时, 从存储器中 获取该第二数据块的第一迭代项, 但本发明实施例不限于此。 S 130, 确定该第二数据块的第一迭代项, 包括:
从第一预设存储区域中获取该第一数据块中的最前 p个连续符号,并根 据该第一数据块中的最前 P个连续符号和该公式 H(a) ,确定该第二数据块的 第一迭代项; 或
从第二预设存储区域中获取该第二数据块的第一迭代项。
可选地, 作为另一实施例, 该方法 100还包括:
将该第二数据块中的最前 P个连续符号带入该公式 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个连续符号之后收到, 其中, 该第四符号的起始比特位相对于该第二符号的起始比特位 nj的偏移量为 L 个符号, 其中, mod ≠0, 或者 mod =0并且 mod尸 ≠0, 其中, mod 表示求余操作, 为一个符号中包括的比特的数量;
若确定该第二符号不为 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个符号中的位置滑移一个或多个符号, l≤i≤Q;或者该 Q个待检测符号在 该新接收的 2N个符号中的位置与该 Q个已检测符号在原来的 2N个符号中 的位置相同, 但是该 Q个待检测符号的起始比特位相对于该 Q个已检测符 号的起始比特位滑移一个或多个比特位, 即第 i个待检测符号的起始比特位 与该第 i个已检测符号的起始比特位的偏移量不为 m的整数倍, 其中, m为 每个符号中包括的比特位的数量, 但本发明实施例不限于此。
根据本发明提供的确定 FEC帧的帧边界的方法及装置, 在进行 FEC帧 的帧边界的确定过程中最多需要接收 2xNxm2xP 的数据(即总共需要进行 Nxm次检测), 与现有技术相比, 能够将 FEC 帧的定位速度提高 Q倍。 以 P=4的 RS(N =528 , k =514, m =10)码为例, 根据本发明实施例的确定 FEC 帧的帧边界的方法在最坏情况下共需要接收 20x5280x4 比特的数据, 在 25G传输速率下的延迟约为 16.4μδ。 而如果釆用现有技术的方案, 则需要的 同步时间约为 2x5280x5280比特, 25G传输速率下的延迟约为 2.2ms。
因此, 根据本发明实施例的确定 FEC 帧的帧边界的方法, 利用第一数 据块所对应的 s个参数值, 确定第二数据块对应的 s个参数值, 其中, 该第 一数据块由以第一符号为起点的 N个连续符号组成 ,该第二数据块由以第二 符号为起点的 N个连续符号组成, 第二符号相对于该第一符号的偏移量为 P 个符号, 并且该帧边界确定电路根据该第二数据块对应的 s个参数值确定该 第二符号是否为 FEC帧的帧边界, 通过釆用该迭代算法, 对于接收的每 2N 个连续符号,能够检测该 2N个连续符号中的 N/P个符号是否为 FEC帧的帧 边界, 从而提高 FEC 帧的帧边界的确定效率, 提高通信链路的同步速度, 提升系统性能。
下面结合图 4详细说明根据本发明实施例的确定 FEC帧的帧边界的方 法。 该帧边界确定电路可以首先接收以符号 rN^ (以下称为第一个待测符号) 为起点的连续 N个符号 并由该连续 N个符号组成当前数据以及第 一数据块(或当前数据块), 以确定该第一个待测符号是否为 FEC帧的帧边 界。 此时, 由于该当前数据中不包括该第一数据块的前一数据块, 该帧边界 确定电路可以根据式 ( 1 ) 或 ( 2 )确定该第一数据块对应的 s个参数值, 并 根据该 s个参数值确定该第一个待测符号是否为 FEC帧的帧边界。
如果该第一个待测符号为 FEC帧的帧边界, 则该确定 FEC帧的帧边界 的流程结束。 否则, 该帧边界确定电路可以接收与该当前数据(即第一数据 块的 N个连续符号)相邻的 P个连续符号 (符号 并将当前数据更 新为(N+P )个连续符号。 然后, 该帧边界确定电路将以第二个待测符号(符 号 rN_! )为起点的连续 N个符号(符号 )作为第二数据块(新的当 前数据块), 并确定该新的当前数据中的第二个待测符号是否为 FEC帧的帧 边界, 其中, 该第二个待测符号(符号
Figure imgf000022_0001
)相对于该第一个待测符号(符 号 ) 向后偏移 P个符号。 此时, 由于该新的当前数据中包括该第二数据 块的前一数据块(即第一数据块), 则该帧边界确定电路可以根据该第一数 据块对应的 s个参数值, 确定该第二数据块对应的 s个参数值 (即根据该前 一数据块对应的 s个参数值,确定该当前数据块对应的 s个参数值),并根据 该第二数据块对应的 s个参数值,确定该第二个待测符号是否为 FEC帧的帧 边界。
若该帧边界确定电路确定该第二个待测符号为 FEC 帧的帧边界, 则该 确定 FEC 帧的帧边界的流程结束。 否则, 该帧边界确定电路继续接收与该 新的当前数据 (即 N+P个连续符号)相邻的 P个连续符号, 将该当前数据 更新为 (N+2P ) 个连续符号, 并将该新的当前数据中的以第三待测符号为 起点的 N个连续符号 (rN-2I 〜n2P )作为第三数据块(新的当前数据块), 然 后, 根据该第二数据块对应的确定参数的 s个值, 确定第三个待测符号是否 为 FEC帧的帧边界,即根据该新的当前数据块的前一数据块所对应的 s个参 数值, 确定该新的当前数据块对应的 s个参数值, 其中, 该第三个待测符号 相对于该第二个待测符号向后偏移 P个符号, 依此类推。
该帧边界确定电路可以重复进行上述迭代过程, 直到检测到 FEC 帧的 帧边界或者或者确定 2N 个连续符号中的 Q 个待测符号 (即符号 rN_l rN-P-1 , r2P-1 , rw )均不为 FEC帧的帧边界。 其中, 在对每个当前数据块 进行检测时,该帧边界确定电路将当前数据中的以第一符号为起点的 N个连 续符号确定为当前数据块, 其中, N为一个 FEC帧中包括的符号的数量, 所述当前接收数据中包括所述当前数据块的前一数据块, 所述第一符号相对 于所述前一数据块的起始符号向后偏移 P个符号, 其中, 1≤P<N; 确定所述 前一数据块所对应的 s个参数值, 并且确定所述当前数据块的第一迭代项和 第二迭代项, 其中, 所述 s个参数值为校正因子的 s个值或校验因子的 s个 值,所述当前数据块的第一迭代项是根据所述前一数据块中的前 P个符号获 得的,所述当前数据块的第二迭代项是根据所述当前数据块中的最后 P个符 号获得的, s≥l ; 根据所述前一数据块所对应的所述 s个参数值以及所述当 前数据块的第一迭代项和第二迭代项, 确定所述当前数据块所对应的 s个参 数值; 根据所述当前数据块所对应的 S个参数值, 确定所述第一符号是否为
FEC帧的帧边界。
可选地, 作为另一实施例, 若该帧边界确定电路确定该第一符号不为 FEC帧的帧边界并且该当前数据包括的符号数量小于 2N, 则该帧边界确定 电路可以接收与该当前数据相邻的 P个连续符号,并将新接收的该 P个连续 符号加入该当前数据, 作为新的当前数据; 将该新的当前数据中以第二符号 为起点的 N个连续符号确定为新的当前数据块,其中, 所述第二符号相对于 所述第一符号向后偏移 P个符号。
可选地, 作为另一实施例, 该当前数据块具体以该第一符号中的第一比 特位为起点,
若确定该第一符号不为 FEC帧的帧边界并且该当前数据包括 2N个符 号, 则该帧边界确定电路可以继续接收 N个连续符号, 并将继续接收的该 N 个连续符号作为新的当前数据, 其中, 该继续接收的该 N个连续符号与该 2N个符号不相邻; 以及将该新的当前数据中的以第三符号为起点的 N个连 续符号确定为新的当前数据块, 其中, 该第一符号的起始比特位为第一比特 位,该第三符号的起始比特位为第二比特位,且该第二比特位的序号《2与该 第一比特位的序号 之间满足如下条件: (《2 - ) mod ≠0, 或者, 若 m>l且 Ρ>1 , («2 - «i)modm =0并且 )modP≠0, mod表示求余操作, m为一个 符号中包括的比特的数量。
应理解,上述实施例以前后两个数据块之间相对偏移 P个符号并且该帧 边界确定电路以 P 个符号为单位继续数据为例进行描述, 但本发明实施例 中, 该前后两个数据块之间偏移的符号数量可以不等于每次数据的符号数 量, 本发明实施例对此不做限定。
因此, 根据本发明实施例的确定 FEC 帧的帧边界的方法, 利用第一数 据块所对应的 s个参数值, 确定第二数据块对应的 s个参数值, 其中, 该第 一数据块由以第一符号为起点的 N个连续符号组成 ,该第二数据块由以第二 符号为起点的 N个连续符号组成, 第二符号相对于该第一符号的偏移量为 P 个符号, 并且该帧边界确定电路根据该第二数据块对应的 s个参数值确定该 第二符号是否为 FEC帧的帧边界, 通过釆用该迭代算法, 对于接收的每 2N 个连续符号,能够检测该 2N个连续符号中的 N/P个符号是否为 FEC帧的帧 边界, 从而提高 FEC 帧的帧边界的确定效率, 提高通信链路的同步速度, 提升系统性能。 实施例, 而非要限制本发明实施例的范围。 本领域技术人员根据所给出的图 4的例子, 显然可以进行各种等价的修改或变化, 这样的修改或变化也落入 本发明实施例的范围内。
应理解, 上述各过程的序号的大小并不意味着执行顺序的先后, 各过程 的执行顺序应以其功能和内在逻辑确定 , 而不应对本发明实施例的实施过程 构成任何限定。
上文中结合图 1至图 4,详细描述了根据本发明实施例的确定 FEC帧的 帧边界的方法,下面将结合图 5至图 10,描述根据本发明实施例的确定 FEC 帧的帧边界的装置和解码系统。 置 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=l ; 而如果该 s个参数值为校正因子的 s个值, 则 s的数值可以小于或等于 2t, t 为一个 FEC帧中能够被纠正的错误符号的最大数量。一般地, s的数值越大, 进行帧边界检测的准确度越高, 但是消耗的电路资源越大, 因此, 可以根据 实际的准确度需求和资源消耗确定该 s 的值, 例如, s=P, 但本发明实施例 不限于此。
可选地, 该第一数据块对应的 s个参数值为校正因子的 s个值, 该第二 数据块对应的 s个参数值为校正因子的 s个值, 并且该第二数据块的第一迭 代项和第二迭代项由以下公式确定:
H(a) = r(j) x aj ( 15 ) =o
其中, β为常数, 表示该最前 Ρ个连续符号中的第 j个符号或该最后 P个连续符号中的第 j个符号。
可选地, 作为另一实施例, 该第一数据块对应的 s个参数值为校验因子 的 S个值, 该第二数据块对应的 S个参数值为校验因子的 S个值, 并且该第 二数据块的第一迭代项和第二迭代项由以下公式确定:
Η(α) = ^(]) αη ]) ( 16 ) =ο
其中, α为变量, 表示该最前 Ρ个连续符号中的第 j个符号或该最后 P个连续符号中的第 j个符号, 表示该第 j个符号的序号。
此时, α可以具体为生成多项式 中的 X。
该第二数据块的第一迭代项可以通过将该第一数据块中的最前 P 个连 续符号带入公式 fa)获得,该第二数据块的第二迭代项可以通过将该第二数 据块中的最后 P个连续符号带入公式 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个值, 则 Ks<2xt, t为一个 FEC帧中能够被纠正的错误符号的最大数量, 并且该第一 迭代项和该第二迭代项分别包括 s个数值;
相应地, 该参数计算器 220具体用于根据以下公式确定该第二数据块对 应的校正因子的 s个值:
SCUrrent,i = S previous X (af + H^ X (^ + H^) l≤i≤S (17) 其中, 为该第二数据块对应的校正因子的第 个值, sprevious,i为该 第一数据块对应的校正因子的第 i个值, o^为该第二数据块的第一迭代项 的第 个值, 为该第二数据块的第二迭代项的第 个值, α为 FEC码的 生成多项式的第 个根。
此时, 该第一迭代项和该第二迭代项的值可以由式(15 )确定。
可选地, 作为另一实施例, 若该第一数据块对应的 s个参数值为校验因 子的 S个值, 并且该第二数据块对应的 S个参数值为校验因子的 S个值, 则 s= l , 并且该参数计算器 220具体用于根据以下公式确定该第二数据块对应 的校验因子的值:
urrent = {^previous X mod g(x) + (H, (x) X XP) mod g(x) + (H2 (x) X X ) mod g(x)
(18) 其中, R 为该第二数据块对应的校验因子的值, R 为该第一数据 块对应的校验因子的值, 为该第二数据块的第一迭代项, 为该第 二数据块的第二迭代项, 为 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个连续符号之后收到, 其中, 该第四符号的起始比特 位相对于该第二符号的起始比特位的偏移量为 个符号, 其中, Zmod ≠0 , 或者 mod =0并且 mod尸 ≠0 , 其中, mod表示求余操作, 为一个符号 中包括的比特的数量;
该参数计算器 220还用于若该比较器 230确定该第二符号不为 FEC帧 的帧边界,根据该第四数据块包括的 N个连续符号,确定该第四数据块对应 的 s个参数值;
该比较器 230还用于根据该参数计算器 220确定的该第四数据块对应的 s个参数值, 确定该第四符号是否为 FEC帧的帧边界。
在本发明实施例中,若该比较器 230确定当前数据中的 Q个待测符号均 不为 FEC帧的帧边界,则该装置 200可以继续以 2N个连续符号为单位进行 帧边界的检测。 其中, 该装置 200可以首先以一个或多个比特位为单位进行 偏移执行上述确定过程, 即 (《2- « )mod ≠0; 若进行比特位的偏移之后仍未 检测到 FEC 帧的帧边界, 则以一个或多个符号为单位进行偏移, 即 (《2 - nj)modm =0 f JL(«2 - n])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 个数据块, l<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≥l;
确定该第二数据块的第一迭代项和第二迭代项, 其中, 该第二数据块的 第一迭代项是根据该第一数据块中的最前 P个连续符号获得的,该第二数据 块的第二迭代项是根据该第二数据块中的最后 P个连续符号获得的;
根据该第一数据块对应的 s个参数值以及该第二数据块的第一迭代项和 第二迭代项, 确定该第二数据块对应的 s个参数值;
根据该第二数据块对应的 s个参数值,确定该第二符号是否为 FEC帧的 帧边界。
可选地, 该解码系统 400还可以包括解扰器, 用于对待处理的数据流进 行解扰; 相应地, 该错误纠正器 430具体用于根据该错误诊断器 420确定的 FEC帧中存在的错误, 对该解扰器解扰后的 FEC帧进行纠错。
可选地, 作为另一实施例, 该解码系统 400还可以包括控制器, 用于若 该帧边界确定电路 410的确定结果表明该第二符号不是 FEC帧的帧边界, 则控制该帧边界确定电路 410继续进行帧边界的确定。若该帧边界确定电路 410 的确定结果表明该第二符号是 FEC 帧的帧边界, 则控制该错误诊断器 420根据该帧边界确定电路 410确定的帧边界, 确定 FEC帧中存在的错误。 确定 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 个值 ( ¾rSt ),其中,该第一个数据块以该当前数据中的第一个符号为起始比特位。 该比较器 330用于根据该第一个数据块对应的校正因子的 s个值是否均为 零, 确定第一个符号是否为 FEC帧的帧边界。
若该比较器 330确定该第一个符号不为 FEC帧的帧边界, 则该第一个 数据块的下一数据块 (即第二个数据块)作为新的当前数据块。
该校正因子计算器 320还用于计算该第 i个数据块的第一迭代项和第二 迭代项, 其中, l<i≤Q。
该数据緩存 310用于存储该校正因子计算器 320确定的该第 i个数据块 的第一迭代项。
该同步器 340用于根据从该校正因子计算器 320获取的该第 i-1个数据 块对应的校正因子的 s个值和该第 i个数据块第二迭代项 ( 2 ) 以及从该数 据緩存 310中获取的该第 i个数据块的第一迭代项 计算该第 i个数据 块所对应的校正因子的 s个值( & ext )0
该比较器 330还用于根据该第 i个数据块对应的校正因子的 s个值, 确 定该第 i个数据块的起始符号是否为 FEC帧的帧边界。
该校正因子计算器 320还用于存储该同步器 340确定的该第 i个数据块 所对应的校正因子的 s个值, 以便于该同步器 340根据该第 i个数据块所对 应的校正因子的 s个值确定该第 i+1个数据块所对应的校正因子的 s个值。
图 9所示的解码系统 700与图 8所示的解码系统 600的结构类似, 主要 不同点在于该帧边界确定电路 610与帧边界确定电路 510的结构不同。具体 地, 在帧边界确定电路 510中, 由校正因子计算器 512预先计算第 i个数据 块的第一迭代项 H! , 并将该第 i个数据块的第一迭代项 ^存储至数据緩存 511。 这样, 当该同步器 513计算第 i个数据块对应的校正因子的数值时, 可 以获取该数据緩存 511中存储的 而无需实时计算。
在帧边界确定电路 610中, 数据緩存 611不用于存储该第 i个数据块的 第一迭代项, 而用于存储该第 i-1个数据块的最前 P个连续符号。 此时, 在 该同步器 613需要计算该第 i个数据块对应的校正因子 Snext的值时, 由多项 式计算器 614根据该数据緩存 611中存储的该第 i-1个数据块的最前 P个连 续符号, 实时计算该第 i个数据块的第一迭代项 , 并将计算结果输入到该 同步器 613。
图 10示出了才艮据本发明实施例的另一解码系统 700的例子。 其中, 该 s 个参数值为校验因子的值。 由式(16 )可以得出下一数据块所对应的校验因 子的值可以由下式确定:
(19) 。dy = [U ]modg(x) (20)
Figure imgf000033_0001
i?tail = H2 mod ( ) (22) 相应地, 该帧边界确定电路 710包括: 数据緩存 711、 Rfirst异或计算电 路 712、 复用器 713、 Rbody异或计算电路 714、 Rhead异或计算电路 715、 Rtail 异或计算电路 716、 求和器 717和比较器 718。
R&st异或计算电路 712用于计算第一个数据块对应的校验因子 RflKt的 值, 比较器 718用于根据该 RflKt异或计算电路 712确定的 R&st的值, 确定 该第一个数据块的起始符号是否为 FEC帧的帧边界。
若比较器 718确定该第一个数据块的起始符号不为 FEC帧的帧边界, 则 Rb。dy异或计算电路 714将该 RflKt异或计算电路 712确定的 RflKt的值带入 式(20 ), 获得该第一个数据块的下一数据块(以下称为第二个数据块) 的 Rbdy的值, 其中, 该第二个数据块的起始符号相对于该第一个数据块的起始 符号向后偏移 P个符号。
此后, 该 MUX 713由初始的 0状态切换到 1装置, 此时, Rfirst异或计 算电路 712与 Rbdy异或计算电路 714之间的传输链路由导通状态变为断开 状态, 同时 Rbdy异或计算电路 714与求和器 717之间的传输链路由断开状 态变为导通状态。
在以下描述中, 一般性地将该第二数据块称为第 i个数据块, l<i≤Q。
Rhead异或计算电路 715将该第 i-1个数据块中的最前 P个连续符号带入 式(21 )计算该第 i个数据块的 ead的值, 并且 Rtaii异或计算电路 716将 第 i个数据块的最后 P个连续符号带入式(22 )计算该第 i个数据块的 Rtail 的值。 随后, 该 Rbdy、 Rhead和1 1£111的值均被输入到求和器 717。
该求和器 717对输入的 Rbdy、 Rhead和 Rtail的值执行相加操作, 获得该 第 i个数据块对应的校验因子 Rnext的值。
该比较器 718根据该 Rnext的值, 确定该第 i个数据块的起始符号是否为 FEC帧的帧边界。
若该比较器 718确定该第 i个数据块的起始符号不为 FEC帧的帧边界, 则该帧边界确定电路 710继续进行迭代计算, 确定该第 i个数据块的下一数 据块 (第 i+1数据块 ) 的起始符号是否为 FEC帧的帧边界, 即该 Rbdy异或 计算电路 714将该求和器 717确定的 Rnext的值带入式( 18 ), 获得该第 i+1 个数据块的 Rbdy的值; Rhead异或计算电路 715将该第 i个数据块中的最前 P 个连续符号带入式(21 ), 获得该第 i+1个数据块的 Rhead的值; Rtail异或计 算电路 716将该第 i+1个数据块的最后 P个连续符号带入式(22 ), 获得该 第 i+1个数据块的 Rtail的值; 最后该求和器根据该第 i+1个数据块的 Rbdy
Rhead和 Rtall的值, 确定该第 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个值, 并且该第二数据块的第一迭 代项和第二迭代项由以下公式确定:
H(a) = ^r(j)xaj (23) =o
其中, α为常数, 表示该最前 Ρ个连续符号中的第 j个符号或该最后
P个连续符号中的第 j个符号。
可选地, 作为另一实施例, 该第一数据块对应的 s个参数值为校验因子 的 s个值, 该第二数据块对应的 s个参数值为校验因子的 s个值, 并且该第 二数据块的第一迭代项和第二迭代项由以下公式确定:
Η(α) = ^(]) αη ]) (24) =ο
其中, α为变量, 表示该最前 Ρ个连续符号中的第 j个符号或该最后
P个连续符号中的第 j个符号, "(/·)表示该第 j个符号的序号。
可选地, 作为另一实施例, 该装置还包括: 存储单元, 其中, 该存储单元用于存储该第一数据块中的最前 P个连续符号,
该第一确定单元具体用于: 获取该存储单元中存储的该第一数据块中的 最前 P个连续符号,以及根据该第一数据块中的最前 P个连续符号以及该公 H(a), 确定该第二数据块的第一迭代项; 或者
该存储单元用于存储该第二数据快的第一迭代项,
该第一确定单元具体用于获取该存储单元中存储的该第二数据块的第 一迭代项。
可选地, 作为另一实施例, 若该第一数据块对应的 s个参数值为校正因 子的 S个值, 并且该第二数据块对应的 S个参数值为校正因子的 S个值, 则
Ks<2xt, t为一个 FEC帧中能够被纠正的错误符号的最大数量, 并且该第一 迭代项和该第二迭代项分别包括 s个数值;
该第二确定单元具体用于根据以下公式确定该第二数据块对应的校正 因子的 s个值:
Sc w S—s'
Figure imgf000036_0001
<i<s (25) 其中, Μ^.为该第二数据块对应的校正因子的第 个值, sp; 该 第一数据块对应的校正因子的第 i个值, o^为该第二数据块的第一迭代项 的第 个值, 为该第二数据块的第二迭代项的第 个值, α为 FEC码的 生成多项式的第 个根。
可选地, 作为另一实施例, 若该第一数据块对应的 S个参数值为校验因 子的 S个值, 并且该第二数据块对应的 S个参数值为校验因子的 S个值, 则 s= l , 并且该第二确定单元具体用于根据以下公式确定该第二数据块对应的 校验因子的值:
urrent = {^previous X ^) mod g(x) + ( , (x) X XP) mod g(x) + (H2 (x) X X ) mod g(x)
( 26 ) 其中, R^ ^为该第二数据块对应的校验因子的值, 为该第一数 据块对应的校验因子的值, 为该第二数据块的第一迭代项, H2(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个连续符号之后收到, 其中, 该第四符号的起始比特位 相对于该第二符号的起始比特位的偏移量为 个符号, 其中, Zmod ≠0, 或者 mod =0并且 mod尸 ≠0, 其中, mod表示求余操作, 为一个符号 中包括的比特的数量;
该第二确定单元还用于若该第三确定单元确定该第二符号不为 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

权利要求
1. 一种确定前向纠错 FEC帧的帧边界的方法, 其特征在于, 包括: 帧边界确定电路接收数据, 所述数据包括以第一符号为起点的 N+P 个 连续符号, N为一个 FEC帧中包括的符号的数量, N为 P的正整数倍且 N 大于 P, 其中, 所述 N+P个连续符号中的以所述第一符号为起点的 N个连 续符号组成第一数据块, 所述 N+P个连续符号中的以第二符号为起点的 N 个连续符号组成第二数据块, 所述第二符号相对于所述第一符号的偏移量为 P个符号;
获取所述第一数据块对应的 s个参数值;
确定所述第二数据块的第一迭代项和第二迭代项, 其中, 所述第二数据 块的第一迭代项是根据所述第一数据块中的最前 P个连续符号获得的,所述 第二数据块的第二迭代项是根据所述第二数据块中的最后 P 个连续符号获 得的;
根据所述第一数据块对应的 s个参数值以及所述第二数据块的第一迭代 项和第二迭代项, 确定所述第二数据块对应的 s个参数值;
根据所述第二数据块对应的 s个参数值, 确定所述第二符号是否为 FEC 帧的帧边界。
2. 根据权利要求 1所述的方法, 其特征在于, 所述第一数据块对应的 s 个参数值为校正因子的 s个值, 所述第二数据块对应的 s个参数值为校正因 子的 s个值, 并且所述第二数据块的第一迭代项和第二迭代项由以下公式确 定:
H(a) = g r(7) x ^' 其中, β为常数, 表示所述最前 Ρ个连续符号中的第 j个符号或所述 最后 P个连续符号中的第 j个符号。
3. 根据权利要求 1所述的方法, 其特征在于, 所述第一数据块对应的 s 个参数值为校验因子的 s个值, 所述第二数据块对应的 s个参数值为校验因 子的 s个值, 并且所述第二数据块的第一迭代项和第二迭代项由以下公式确 定:
Figure imgf000040_0001
其中, β为变量, 表示所述最前 Ρ个连续符号中的第 j个符号或所述 最后 P个连续符号中的第 j个符号, 表示所述第 j个符号的序号。
4. 根据权利要求 2或 3所述的方法, 其特征在于, 所述确定所述第二 数据块的第一迭代项, 包括:
从第一预设存储区域中获取所述第一数据块中的最前 P个连续符号,并 根据所述第一数据块中的最前 P个连续符号和所述公式 H(a) ,确定所述第二 数据块的第一迭代项; 或
从第二预设存储区域中获取所述第二数据块的第一迭代项。
5. 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 若所述第 一数据块对应的 s个参数值为校正因子的 s个值, 并且所述第二数据块对应 的 s个参数值为校正因子的 s个值, 则 l<s≤2xt, t为一个 FEC帧中能够被纠 正的错误符号的最大数量, 并且所述第一迭代项和所述第二迭代项分别包括 s个数值;
所述第二数据块对应的校正因子的 s个值由下式确定:
Scurrent,i = S ^^ {af + H ^a^ i^f + H 2(^) \ < 1 < S
其中, M 为所述第二数据块对应的校正因子的第 个值, sprevious,i为 所述第一数据块对应的校正因子的第 个值, 为所述第二数据块的第一 迭代项的第 个值, 为所述第二数据块的第二迭代项的第 个值, α为 FEC码的生成多项式的第 个根。
6. 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 若所述第 一数据块对应的 s个参数值为校验因子的 s个值, 并且所述第二数据块对应 的 s个参数值为校正因子的 s个值, 则 s=l , 并且所述第二数据块对应的校 验因子的值由下式确定:
urrent = {^previous X X?) mod g(x) + (^l X mod g(x) + (H2 (x) X XP) mod g(x) 其中, R^ ^为所述第二数据块对应的校验因子的值, Rto为所述第一 数据块对应的校验因子的值, j为所述第二数据块的第一迭代项, H2(X) 为所述第二数据块的第二迭代项, g(x)为 FEC码的生成多项式。
7. 根据权利要求 1至 6中任一项所述的方法, 其特征在于, 所述根据 所述第二数据块所对应的 s个参数值,确定所述第二符号是否为 FEC帧的帧 边界, 包括:
若所述第二数据块所对应的 s 个参数值均为零, 确定所述第二符号为 FEC帧的帧边界; 或者 若所述第二数据块对应的 S个参数值中的至少一个参数值不等于零, 确 定所述第二符号不为 FEC帧的帧边界。
8. 根据权利要求 1至 7中任一项所述的方法, 其特征在于, 所述方法 还包括:
若所述数据包括的符号数量小于 2N, 接收新的数据, 所述新的数据包 括 P个连续符号, 所述新的数据与所述 N+P个连续符号相邻且在所述 N+P 个连续符号之后收到, 其中, 由以所述第二数据块中的第三符号为起点的 N 个连续符号组成第三数据块, 所述第三符号相对于所述第二符号的偏移量为 P个符号;
若确定所述第二符号不为 FEC 帧的帧边界, 确定所述第三数据块的第 一迭代项和第二迭代项, 其中, 所述第三数据块的第一迭代项是根据所述第 二数据块中的最前 P个连续符号获得的 ,所述第三数据块的第二迭代项是根 据所述新的数据中包括的 P个连续符号获得的;
根据所述第二数据块所对应的 s个参数值以及所述第三数据块的第一迭 代项和第二迭代项, 确定所述第三数据块对应的 s个参数值;
根据所述第三数据块对应的 s个参数值, 确定所述第三符号是否为 FEC 帧的帧边界。
9. 根据权利要求 1至 7中任一项所述的方法, 其特征在于, 所述方法 还包括:
若所述数据包括的符号数量等于 2N, 接收新的数据, 所述新的数据包 括第四数据块, 所述第四数据块由以第四符号为起点的 N个连续符号组成, 所述新的数据与所述 N+P个连续符号不相邻且在所述 N+P个连续符号之后 收到, 其中, 所述第四符号的起始比特位相对于所述第二符号的起始比特位 的偏移量为 个符号, 其中, Zmod ≠0, 或者 mod =0并且 modP ≠ 0, 其中, mod表示求余操作, 为一个符号中包括的比特的数量;
若确定所述第二符号不为 FEC 帧的帧边界, 根据所述第四数据块包括 的 N个连续符号, 确定所述第四数据块对应的 s个参数值;
根据所述第四数据块对应的 s个参数值, 确定所述第四符号是否为 FEC 帧的帧边界。
10. 一种确定前向纠错 FEC 帧的帧边界的装置, 其特征在于, 包括: 接收器、 参数计算器和比较器, 其中,
所述接收器用于接收数据, 所述数据包括以第一符号为起点的 N+P 个 连续符号, N为一个 FEC帧中包括的符号的数量, N为 P的正整数倍且 N 大于 P, 其中, 所述 N+P个连续符号中的以所述第一符号为起点的 N个连 续符号组成第一数据块, 所述 N+P个连续符号中的以第二符号为起点的 N 个连续符号组成第二数据块, 所述第二符号相对于所述第一符号的偏移量为 P个符号;
所述参数计算器用于获取所述接收器接收的所述第一数据块所对应的 s 个参数值,确定所述接收器接收到的所述第二数据块的第一迭代项和第二迭 代项, 以及根据所述第一数据块对应的 s个参数值以及所述第二数据块的第 一迭代项和第二迭代项, 确定所述第二数据块对应的 s个参数值, 其中, 所 述第二数据块的第一迭代项是根据所述第一数据块中的最前 p 个连续符号 获得的,所述第二数据块的第二迭代项是根据所述第二数据块中的最后 P个 连续符号获得的;
所述比较器用于根据所述参数计算器获得的所述第二数据块对应的 s个 参数值, 确定所述第二符号是否为 FEC帧的帧边界。
11. 根据权利要求 10所述的装置, 其特征在于, 所述第一数据块对应 的 s个参数值为校正因子的 s个值, 所述第二数据块对应的 s个参数值为校 正因子的 s个值, 并且所述第二数据块的第一迭代项和第二迭代项由以下公 式确定:
ff(a) =∑r( ) x a
=o
其中, β为常数, 表示所述最前 Ρ个连续符号中的第 j个符号或所述 最后 P个连续符号中的第 j个符号。
12. 根据权利要求 10所述的装置, 其特征在于, 所述第一数据块对应 的 s个参数值为校验因子的 s个值, 所述第二数据块对应的 s个参数值为校 验因子的 s个值, 并且所述第二数据块的第一迭代项和第二迭代项由以下公 式确定: =ο
其中, α为变量, 表示所述最前 Ρ个连续符号中的第 j个符号或所述 最后 P个连续符号中的第 j个符号, 《 表示所述第 j个符号的序号。
13. 根据权利要求 11或 12所述的装置,其特征在于, 所述装置还包括: 存储器, 其中,
所述存储器用于存储所述第一数据块中的最前 P个连续符号,
所述参数计算器具体用于: 获取所述存储器中存储的所述第一数据块中 的最前 P个连续符号,以及根据所述第一数据块中的最前 P个连续符号以及 所述公式 确定所述第二数据块的第一迭代项; 或者
所述存储器用于存储所述第二数据快的第一迭代项,
所述参数计算器具体用于获取所述存储器中存储的所述第二数据块的 第一迭代项。
14. 根据权利要求 10至 13中任一项所述的装置, 其特征在于, 若所述 第一数据块对应的 s个参数值为校正因子的 s个值, 并且所述第二数据块对 应的 s个参数值为校正因子的 s个值, 则 Ks<2xt, t为一个 FEC帧中能够被 纠正的错误符号的最大数量, 并且所述第一迭代项和所述第二迭代项分别包 括 s个数值;
所述参数计算器具体用于根据以下公式确定所述第二数据块对应的校 正因子的 s个值:
SCUrrent,i = ^™,,/ X + (¾ ) X + ^2 (¾) 1≤ Ά
其中, 为所述第二数据块对应的校正因子的第 个值, sp;
所述第一数据块对应的校正因子的第 个值, 为所述第二数据块的第一 迭代项的第 个值, 为所述第二数据块的第二迭代项的第 个值, α为 FEC码的生成多项式的第 个根。
15. 根据权利要求 10至 13中任一项所述的装置, 其特征在于, 若所述 第一数据块对应的 s个参数值为校验因子的 s个值, 并且所述第二数据块对 应的 s个参数值为校验因子的 s个值, 则 s= l , 并且所述参数计算器具体用 于根据以下公式确定所述第二数据块对应的校验因子的值:
urrent = (Rprevious X X? )觸 d g(x) + (H, (x) X XP ) mod g(x) + (H2 (x) X XP ) mod g(x) 其中, 为所述第二数据块对应的校验因子的值, . 为所述第 一数据块对应的校验因子的值, j为所述第二数据块的第一迭代项, H2(x) 为所述第二数据块的第二迭代项, g(x)为 FEC码的生成多项式。
16. 根据权利要求 10至 15中任一项所述的装置, 其特征在于, 所述比 较器具体用于: 若所述参数计算器确定的所述第二数据块对应的 S个参数值均为零, 确 定所述第二符号为 FEC帧的帧边界; 或者
若所述参数计算器确定的所述第二数据块对应的 s个参数值中的至少一 个参数值不等于零, 确定所述第二符号不为 FEC帧的帧边界。
17. 根据权利要求 10至 16中任一项所述的装置, 其特征在于, 所述接 收器还用于: 若所述数据包括的符号数量小于 2N, 接收新的数据, 所述新 的数据包括 P个连续符号, 所述新的数据与所述 N+P个连续符号相邻且在 所述 N+P个连续符号之后收到, 其中, 由以所述第二数据块中的第三符号 为起点的 N个连续符号组成第三数据块,所述第三符号相对于所述第二符号 的偏移量为 P个符号;
所述参数计算器还用于若所述比较器确定所述第二符号不为 FEC 帧的 帧边界, 确定所述第三数据块的第一迭代项和第二迭代项, 其中, 所述第三 数据块的第一迭代项是根据以所述第二数据块中的最前 P 个连续符号获得 的,所述第三数据块的第二迭代项是根据所述新的数据中包括的 P个连续符 号获得的, 以及根据所述第二数据块所对应的 s个参数值以及所述第三数据 块的第一迭代项和第二迭代项, 确定所述第三数据块对应的 s个参数值; 所述比较器还用于根据所述参数计算器确定的所述第三数据块对应的 S 个参数值, 确定所述第三符号是否为 FEC帧的帧边界。
18. 根据权利要求 10至 16中任一项所述的装置, 其特征在于, 所述接 收器还用于: 若所述数据包括的符号数量等于 2N, 接收新的数据, 所述新 的数据包括第四数据块,所述第四数据块由以第四符号为起点的 N个连续符 号组成, 所述新的数据与所述 N+P个连续符号不相邻且在所述 N+P个连续 符号之后收到, 其中, 所述第四符号的起始比特位相对于所述第二符号的起 始比特位的偏移量为 L个符号,其中, mod ≠0,或者 mod =0并且 mod尸 ≠0, 其中, mod表示求余操作, 为一个符号中包括的比特的数量;
所述参数计算器还用于若所述比较器确定所述第二符号不为 FEC 帧的 帧边界,根据所述第四数据块包括的 N个连续符号,确定所述第四数据块对 应的 s个参数值;
所述比较器还用于根据所述参数计算器确定的所述第四数据块对应的 s 个参数值, 确定所述第四符号是否为 FEC帧的帧边界。
19. 一种解码系统, 其特征在于, 包括: 帧边界确定电路、 错误诊断器 和错误纠正器, 所述帧边界确定电路用于确定 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 帧的帧边界。
PCT/CN2014/082660 2014-07-22 2014-07-22 确定前向纠错帧边界的方法、装置和解码系统 WO2016011592A1 (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201480080532.9A CN106664154B (zh) 2014-07-22 2014-07-22 确定前向纠错帧边界的方法、装置和解码系统
CN201910883143.4A CN110784283B (zh) 2014-07-22 2014-07-22 确定前向纠错帧边界的方法、装置和解码系统
ES14898128T ES2750999T3 (es) 2014-07-22 2014-07-22 Método y aparato para determinar límites de trama de corrección de errores hacia adelante, y sistema de descodificación
EP19187975.8A EP3618326A1 (en) 2014-07-22 2014-07-22 Method and apparatus for determining forward error correction frame boundary, and decoding system
PCT/CN2014/082660 WO2016011592A1 (zh) 2014-07-22 2014-07-22 确定前向纠错帧边界的方法、装置和解码系统
EP14898128.5A EP3163779B1 (en) 2014-07-22 2014-07-22 Method and apparatus for determining forward error correction frame boundary and decoding system
US15/411,669 US10116419B2 (en) 2014-07-22 2017-01-20 Method and apparatus for determining forward error correction frame boundary, and decoding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/082660 WO2016011592A1 (zh) 2014-07-22 2014-07-22 确定前向纠错帧边界的方法、装置和解码系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/411,669 Continuation US10116419B2 (en) 2014-07-22 2017-01-20 Method and apparatus for determining forward error correction frame boundary, and decoding system

Publications (1)

Publication Number Publication Date
WO2016011592A1 true WO2016011592A1 (zh) 2016-01-28

Family

ID=55162396

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/082660 WO2016011592A1 (zh) 2014-07-22 2014-07-22 确定前向纠错帧边界的方法、装置和解码系统

Country Status (5)

Country Link
US (1) US10116419B2 (zh)
EP (2) EP3618326A1 (zh)
CN (2) CN106664154B (zh)
ES (1) ES2750999T3 (zh)
WO (1) WO2016011592A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997628A (zh) * 2009-08-28 2011-03-30 国际商业机器公司 以太网前向纠错层接收的数据流的帧边界检测方法和系统
CN102263609A (zh) * 2010-05-31 2011-11-30 国际商业机器公司 帧边界检测方法和设备及解码方法和系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05304519A (ja) * 1992-04-02 1993-11-16 Nec Corp フレーム同期回路
EP0606016B1 (en) * 1993-01-07 2002-10-09 Kabushiki Kaisha Toshiba Data communication system using an adaptive hybrid ARQ scheme
US7073118B2 (en) * 2001-09-17 2006-07-04 Digeo, Inc. Apparatus and method for saturating decoder values
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
KR100936857B1 (ko) * 2006-06-26 2010-01-14 히다치 가세고교 가부시끼가이샤 내열성 수지 페이스트 및 그 제조방법
KR101484994B1 (ko) * 2008-08-25 2015-01-26 삼성전자주식회사 전력 소모를 줄이기 위한 수신기, 및 상기 수신기를 포함하는 디지털 방송 수신 시스템
JP4935787B2 (ja) * 2008-09-12 2012-05-23 日本電気株式会社 巡回符号演算処理回路
US8369705B2 (en) * 2009-06-10 2013-02-05 Alcatel Lucent System and method for channel-adaptive error-resilient transmission to multiple transceivers
CN102035616B (zh) * 2009-09-30 2013-12-04 国际商业机器公司 以太网前向纠错层接收的数据流的帧边界检测和同步系统
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电子株式会社 用于发送和接收广播信号的设备和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997628A (zh) * 2009-08-28 2011-03-30 国际商业机器公司 以太网前向纠错层接收的数据流的帧边界检测方法和系统
CN102263609A (zh) * 2010-05-31 2011-11-30 国际商业机器公司 帧边界检测方法和设备及解码方法和系统

Also Published As

Publication number Publication date
EP3163779B1 (en) 2019-08-28
US20170134121A1 (en) 2017-05-11
CN106664154A (zh) 2017-05-10
EP3163779A1 (en) 2017-05-03
EP3163779A4 (en) 2017-07-19
CN110784283A (zh) 2020-02-11
US10116419B2 (en) 2018-10-30
EP3163779A8 (en) 2017-07-12
EP3618326A1 (en) 2020-03-04
CN106664154B (zh) 2019-10-22
ES2750999T3 (es) 2020-03-30
CN110784283B (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
US10361717B2 (en) Apparatus and methods for error detection coding
CN109716692B (zh) 用于并行极化码编码/解码的方法和设备
US8713414B2 (en) Method and apparatus for soft information transfer between constituent processor circuits in a soft-value processing apparatus
CN109286473B (zh) 一种基于极化码的低复杂度pdcch信道盲检测方法
US8453020B2 (en) Method for detecting the validity of downlink control information in telecommunication user equipment, decoder and baseband receiver for performing same
TWI552542B (zh) 藉遮罩來傳遞天線組態資訊之方法及裝置(一)
JP5054190B2 (ja) 通信受信機のためのバースト的干渉抑圧
WO2009022874A1 (en) Method of transmitting data
WO2012034097A1 (en) Accessing memory during parallel turbo decoding
WO2016011592A1 (zh) 确定前向纠错帧边界的方法、装置和解码系统
US20120051470A1 (en) System and Method for Iteration Scheduling in Joint Equalization and Turbo Decoding
CN104796160B (zh) 译码方法和装置
US9742598B2 (en) System information convolutional decoding
WO2017128731A1 (zh) 动态功耗控制的编码方法及编解码器
JP2007036683A (ja) ターボ復号器および復号方法並びにそれを用いた無線通信端末、無線基地局および無線通信システム
US8903024B2 (en) Apparatus and method for iterative detection and decoding in wireless communication system
CN102655415B (zh) 一种维特比译码装置和方法
US9325351B2 (en) Adaptive multi-core, multi-direction turbo decoder and related decoding method thereof
WO2009158341A2 (en) Device having turbo decoding capabilities and a method for turbo decoding
CN116073958B (zh) 译码方法、装置、电子设备和存储介质
JP5315449B1 (ja) 復号装置、復号方法、プログラム及び受信装置
WO2013081216A1 (ko) 이동 통신 시스템에서 ctc(convolutional turbo code) 인코더를 이용하여 데이터를 전송하기 위한 장치 및 그 방법
KR20100027631A (ko) 무선통신 시스템에서 데이터 복호 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14898128

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014898128

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014898128

Country of ref document: EP