WO2009067899A1 - Procédé et dispositif de codage de données et de décodage de données - Google Patents

Procédé et dispositif de codage de données et de décodage de données Download PDF

Info

Publication number
WO2009067899A1
WO2009067899A1 PCT/CN2008/072975 CN2008072975W WO2009067899A1 WO 2009067899 A1 WO2009067899 A1 WO 2009067899A1 CN 2008072975 W CN2008072975 W CN 2008072975W WO 2009067899 A1 WO2009067899 A1 WO 2009067899A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
data
block
header
check
Prior art date
Application number
PCT/CN2008/072975
Other languages
English (en)
French (fr)
Inventor
Dongyu Geng
Weiguang Liang
Dongning Feng
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to EP08855285A priority Critical patent/EP2209216A4/en
Publication of WO2009067899A1 publication Critical patent/WO2009067899A1/zh
Priority to US12/778,594 priority patent/US8375276B2/en

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a communication technique using forward error correction (FEC) encoding and decoding.
  • FEC forward error correction
  • LAN Local Area Network
  • DSL Digital Subscriber Line
  • HFC-Cable Modem hybrid fiber-optic coaxial cable network and cable modem
  • power line Internet etc.
  • PON Passive Optical Network
  • PON Passive Optical Network
  • PON technology is a point-to-multipoint fiber access technology.
  • the PON is composed of an optical line terminal, an optical network unit (ONU), and an optical distribution network (ODN: Optical Distribution Network).
  • ODN optical Distribution Network
  • Ethernet Passive Optical Network (EPON) technology is a better access technology. Its main features are simple maintenance, low cost, high transmission bandwidth and high performance price ratio.
  • EPON technology can provide bandwidths from 1 GHz to 10 GHz, making it possible to simultaneously transmit voice, data and video services.
  • EPON is a technology that uses passive optical transmission, components with amplification and relay functions are not used. Therefore, the transmission distance and number of branches of an EPON network depend on the power budget and various transmission losses. As the transmission distance or the number of branch ratios increases, the signal-to-noise ratio (SNR) of the transmitted data gradually decreases, resulting in more bit errors.
  • SNR signal-to-noise ratio
  • FEC technology is introduced in the EPON system to improve the anti-interference ability of the system to increase the power budget of the system. FEC means that the signal is processed in a certain way before being transmitted, and at the receiving end, it is decoded according to the corresponding algorithm to achieve the purpose of finding the wrong code and correcting the error.
  • the basic working principle of FEC in the EPON system is: Add the FEC check code word after the Ethernet frame transmitted by the sender, and the receiver verifies the relationship between the Ethernet frame data and the check code word according to the established rules. An error occurs in the transmission, which destroys the relationship and automatically discovers and corrects the wrong code. FEC technology seeks to correct as many errors as possible with as few check bytes as possible, finding an optimal balance between overhead (increased check bytes) and the resulting code gain.
  • Figure 1 shows the correspondence between the open system interconnection reference model and the IEEE802.3 LAN model.
  • This model is suitable for use in Ethernet as defined by the 802.3-2005 standard.
  • This model is currently used in 1G and 10G EPON systems. In the physical layer of the EPON system, not only the FEC technology but also the line coding technology is introduced.
  • the 64B/66B encoding mechanism adds a 2-bit sync character (synchronization header) based on 64-bit information.
  • This 2-bit sync character has only two possibilities: "01” or “10".
  • the synchronization character is "01”, indicating that 64 bits are all data information; the synchronization character is "10”, indicating that the 64-bit information contains data information and control information.
  • a sync character of "00" or "11” indicates that an error occurred during the transfer.
  • the use of such synchronization characters ensures that the transmission data is transformed at least once every 66 bits.
  • Block Synchronization 64-bit information is scrambled by a self-synchronizing scrambling mechanism, maximizing It ensures that there is enough switching of the transmitted information, which is convenient for the receiving end. Clock recovery.
  • the difference is that the 64B/65B encoding uses 1 bit of data/control characters compared to the 64B/66B encoding mechanism. If the data/control character is "0”, all 64 bits are data information; if the data/control character is "1", the 64-bit information contains data information and control information.
  • Figure 2 is a flow chart for transmitting the physical layer of the system
  • Figure 3 is a flow chart for receiving the physical layer of the system.
  • the Ethernet data frame is processed by the harmonization sublayer and the 10 Gigabit Media Independent Interface (XGMII), and then encoded by the 64 ⁇ /66 ⁇ line.
  • This encoding process adds a 2-bit sync character in front of the 64-bit Ethernet data information, changing the data from the original 64 bits to 66 bits.
  • the encoded 66-bit codeword is called a block.
  • the data and control information in the block are scrambled, and then the data in the frame is FEC-encoded.
  • the encoded data passes through the physical medium attachment sublayer (PMA: Physical Medium Attachment) and the physical medium correlation sublayer (PMD). : Physical Medium Dependent ) is sent out.
  • the receiving process of the physical layer is the reverse process of the sending process, as shown in Figure 3, and is not mentioned here.
  • the benefits of FEC coding come at the cost of adding redundant information.
  • the line coded and FEC-encoded data is directly framingly transmitted. If the line coding selects a more redundant algorithm, since more redundant information is encoded as the FEC-encoded data portion, the reduction is reduced.
  • the performance of FEC coding if the line coding selects a less redundant algorithm, although the performance of the FEC is improved, the synchronization performance of the transmission system is correspondingly reduced, and it is difficult to take both into consideration.
  • Embodiments of the present invention provide a data encoding and decoding method and corresponding apparatus capable of ensuring synchronization performance of a transmission system without affecting coding gain.
  • a data encoding method comprising: performing line coding on input data to generate an information block, the information block including information data and a first synchronization header; performing forward error correction coding on the information block to generate a parity block; The information block adds a second synchronization header; generates a transmission data frame, where the transmission data frame includes an information block to which the second synchronization header is added and a corresponding parity block.
  • a data decoding method includes: receiving a data frame, where the data frame includes an initial information block and a phase An initial parity block having a data synchronization header consisting of first and second synchronization headers, synchronizing the received data frames according to the data synchronization header, extracting the initial information block and verifying And removing a second synchronization header of the initial information block to obtain an information block including a first synchronization header and information data; performing forward error correction on the first synchronization header and the information data of the information block by using the parity block; Decoding; performing line decoding on the information block after forward error correction decoding.
  • a data encoding apparatus comprising: a line coding unit, configured to perform line coding on input data, output a generated information block, the information block includes information data and a first synchronization header; and an error correction coding unit, configured to The information block performs forward error correction coding, and outputs a generated check block; a header adding unit, configured to add a second synchronization header to the information block; a framing unit, configured to generate a transmission data frame, where the transmission data frame includes The information block of the second sync header and the corresponding check block are added.
  • a data decoding apparatus comprising: a receiving unit, configured to receive a data frame, where the data frame includes an initial information block and a corresponding check block, the initial information block having data composed of the first and second synchronization headers Synchronizing a header; synchronizing the data frame according to the data synchronization header, outputting the initial information block and the check block; a header removing unit, configured to remove the second synchronization header of the initial information block, where the output includes the first synchronization header And an information block of information data; an error correction decoding unit, configured to perform forward error correction decoding on the first synchronization header and the information data of the information block by using the parity block, and output forward error correction decoding
  • the information decoding unit is configured to perform line decoding on the information block after forward error correction decoding, and output the restored data.
  • the above method or apparatus adopts a method of adding an additional synchronization header to data after line coding and FEC coding, and then transmitting the data in a frame. Since redundant information for synchronization is added, redundancy in line coding selection is small. In the case of the algorithm, the synchronization performance of the transmission system can also be effectively guaranteed, and the additional synchronization header does not participate in the FEC coding calculation, ensuring that the coding gain of the FEC is not affected.
  • FIG. 1 is a relationship diagram of a conventional open system interconnection reference model and an IEEE802.3 LAN model
  • FIG. 2 is a flow chart of data transmission of a physical layer in an existing 10G EPON system
  • 3 is a flow chart of data reception of a physical layer in an existing 10G EPON system
  • FIG. 4 is a schematic diagram of main steps of a data encoding method according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram showing the basic logical structure of a data encoding apparatus according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of main steps of a data decoding method according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram showing the basic logical structure of a data decoding apparatus according to an embodiment of the present invention.
  • FIG. 8 is a schematic flow chart of a data encoding method according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram showing the logical structure of a data encoding apparatus according to Embodiment 2 of the present invention.
  • FIG. 10 is a schematic flowchart of a third data decoding method according to Embodiment 3 of the present invention.
  • FIG. 11 is a schematic diagram showing the logical structure of a fourth data decoding apparatus according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram showing the logical structure of a data encoding apparatus according to Embodiment 6 of the present invention.
  • FIG. 13 is a schematic diagram showing the logical structure of a data decoding apparatus according to an eighth embodiment of the present invention.
  • FIG. 14 is a schematic diagram showing the logical structure of a ten data encoding apparatus according to an embodiment of the present invention.
  • FIG. 15 is a schematic diagram showing the logical structure of a data decoding apparatus according to an embodiment of the present invention.
  • 16 is a schematic diagram showing changes in data in an application example of the present invention.
  • 17 is a schematic flowchart of uplink and downlink data in different sub-layers according to an application example of the present invention.
  • FIG. 20 is a schematic structural diagram of a FEC frame according to an application example of the present invention.
  • FIG. 21 is a schematic diagram of FEC coding mapping of the application example 2 of the present invention at RS (255, 239);
  • FIG. 22 is a schematic diagram of FEC coding mapping of the application example 2 of the present invention at RS (255, 231);
  • FIG. 23 is an application of the present invention.
  • Example 2 is a schematic diagram of FEC coding mapping at RS (255, 223);
  • FIG. 24 is a schematic flowchart of a transmitting end of application example 2 of the present invention;
  • 25 is a schematic flowchart of a receiving end of an application example 2 of the present invention.
  • Embodiments of the present invention provide a data encoding method, which adds an additional sync header to data after line coding and FEC encoding, and then transmits the data in a frame.
  • Embodiments of the present invention also provide a corresponding data decoding method, and a data encoding apparatus and a data decoding apparatus. The details are described below separately.
  • the data encoding method of the embodiment of the present invention mainly includes the following steps:
  • Al performing line coding on the input data to generate an information block, where the information block includes information data and a first synchronization header.
  • the input data referred to in the embodiment of the present invention refers to the data content that needs to be transmitted.
  • it can refer to the XGMII transmission frame sent by the sublayer to the physical coding sublayer; for a typical 802.3 Ethernet application, it can be a general Ethernet transmission frame.
  • the line coding can select an algorithm with less redundancy, such as 64B/65B coding, or 32B/33B coding, etc. These types of lines are encoded in information data. Only one B data/control header (Data/Ctl_header) is added to indicate the type of data transmitted. Based on the purpose of ensuring sufficient data switching during transmission, the information data in the information block can be scrambled after the line coding. The specific scrambling method and the line coding process can be performed by referring to the existing method. In the embodiment of the present invention, the block header generated by the line coding process is referred to as a first synchronization header.
  • A2. Perform FEC encoding on the information block generated by the line coding to generate a check block.
  • the embodiment of the present invention does not limit the FEC encoding algorithm that is specifically used. Moreover, in order to achieve better protection of important content in the information block, the information block may be further processed before performing FEC encoding according to the characteristics of the FEC encoding method used, for example, performing content arrangement on several information blocks. Important data (such as the first sync header) is placed in a centralized manner.
  • the process of FEC coding generally calculates and processes the input data according to a certain rule to obtain a check codeword whose length is smaller than the input data, and the receiving end determines the data by calculating the relationship between the received check codeword and the data part. Whether the part is correctly transmitted and corrects errors within a certain degree.
  • a common way to encode FEC is to use the Reed-Solomon (RS) code, which has the ability to correct both sudden and random errors.
  • RS Reed-Solomon
  • FEC(n, k) is used to represent the input/output sequence length of the FEC encoder, where n represents the length of the encoded code sequence, and (n - k) is the length of the check block sequence.
  • the information block in this step may be directly derived from the information block before entering the FEC encoding, or may be derived from the information block in the encoded sequence output by the FEC encoder. If it comes from the latter, the information block is entering The processing of alignment, padding, etc. that was previously performed by the FEC encoder needs to be restored in a corresponding manner after encoding.
  • the added second sync head can be obtained by simple calculation of the first sync head.
  • a check sync header can be added to the check block to enhance the synchronization capability of the system.
  • A4 Generate a transmit data frame, where the called transmit data frame includes an information block to which a second sync header is added and a corresponding check block.
  • Embodiments of the invention are not limited to specific framing and transmission and transmission formats.
  • the information block and the check block having the corresponding relationship can be reassembled into a FEC frame and then transmitted in the form of an FEC frame.
  • the physical coding sublayer of the transmission data frame has a different rate from the physical media additional sublayer of the lower layer, the data frame to be transmitted needs to be processed by using a corresponding rate matching policy, so that it becomes the lower layer receivable data. the way.
  • the basic logical structure of the data encoding apparatus of the embodiment of the present invention includes:
  • the line coding unit 101 is configured to perform line coding on the input data, output the generated information block, and include the information data and the first synchronization header in the output information block.
  • the error correction coding unit 102 is configured to perform FEC encoding on the line-coded information block, and output the generated check block.
  • the error correction coding unit can also output the information block corresponding to the check block at the same time.
  • the header adding unit 103 is configured to add a second synchronization header to the information block.
  • the object of the header addition unit operation may be an information block outputted by the error correction coding unit (indicated by a solid line in Fig. 5), or may be an information block outputted by the line coding unit (indicated by a broken line in Fig. 5).
  • the framing unit 104 is configured to send the information block to which the second synchronization header is added and the corresponding parity block.
  • the framing unit can perform functions such as framing and rate matching.
  • the data decoding method in the embodiment of the present invention mainly includes the following steps:
  • the so-called data frame includes an initial information block and a corresponding check block, the initial letter
  • the information block has a data synchronization header consisting of the first and second synchronization headers, and the data frame is synchronized according to the data synchronization header, and the initial information block and the check block are extracted.
  • the data frame received by the receiving end has at least a first synchronization header generated during line coding and a second synchronization header added after FEC encoding, and the two synchronization headers are combined into a data synchronization header, and the data frame is further It is possible to further have a check sync header, which can use the information to perform frame synchronization on the received data, thereby determining the start and end of the frame, and obtaining a complete FEC frame for subsequent decoding.
  • the second synchronization header that removes the initial information block obtains a information block including the first synchronization header and the information data.
  • the sync header can be removed after the frame sync is completed.
  • a check sync header is added to the check block during the process of encoding and sending, it is also removed.
  • This FEC decoding process can be performed with reference to the inverse of the FEC encoding process. If FEC encoding performs the content arrangement, padding, etc. of the information sequence, similar operations are performed on the FEC decoded information sequence before performing FEC decoding to ensure correct FEC decoding and FEC translation. The result after the code is subjected to operations such as rearrangement and deletion to recover.
  • This line decoding process can be performed with reference to the inverse process of the line coding process. If the information data is scrambled after the line coding, it is also necessary to perform descrambling before the line decoding.
  • the basic logical structure of the data decoding apparatus of the embodiment of the present invention includes:
  • the receiving unit 201 is configured to receive a data frame, where the data frame includes an initial information block and a corresponding parity block, where the initial information block has a data synchronization header composed of the first and second synchronization headers; Synchronization is performed to output initial information blocks and check blocks.
  • the header removing unit 202 is configured to remove the second synchronization header of the initial information block, and output an information block including the first synchronization header and the information data. If the check block output by the receiving unit has a check sync header, the header removing unit 202 also removes the check sync header of the check block, and outputs a check block after the check sync header is removed. The line indicates; if the check block output by the receiving unit does not have to remove the sync header, it can be directly output to the error correction decoding unit, which is indicated by a broken line in FIG.
  • the error correction decoding unit 203 is configured to perform forward error correction decoding on the first synchronization header and the information data of the information block by using the parity block, and output the information block after the forward error correction decoding.
  • the line decoding unit 204 is configured to perform line decoding on the information block after the forward error correction decoding, and output the restored data.
  • the basic logical structure of the above-mentioned decoding end can add logical units correspondingly, or refine the logical structure of the existing logical units.
  • Embodiment 1 A data encoding method, the process reference figure 8, includes the steps:
  • Al Perform line coding on the input data of length (L1 - 1) to generate an L1 information block, and the information block includes information data and a first synchronization header of 1B. That is, the line code used is (L1 - 1) B / (L1) B code.
  • A2. Collect N pieces of information to generate a sequence of information.
  • NxL1 ⁇ k, k - NxL1 padding bits are inserted at the set position of the information sequence, and can usually be inserted at the beginning or the end of the information sequence.
  • the padding bits used can be all 0s or all 1s.
  • A4 FEC encoding the filled information sequence to generate M check blocks, and also outputting the filled information sequence for encoding.
  • the k - NxL1 padding bits at the set position are deleted from the information sequence of the coding sequence.
  • A6. Add a second synchronization header of IB to the information block in the coding sequence.
  • the second synchronization header added for the information block can be obtained by performing a setting operation on the first synchronization header of the information block to obtain a second synchronization header of the information block.
  • a bitwise negation operation is usually used, that is, if the first sync header is "1", the second sync header added is "0", and vice versa.
  • A7 Send the information block with the second synchronization header added and the corresponding parity block.
  • the information block in the FEC coding result is used as the object of adding the synchronization header, and the information sequence obtained in step a2 is not required to be cached, thereby reducing the requirement for the buffer.
  • the information sequence obtained in step a2 can also be used, and the deletion operation of step a5 is not necessary, which simplifies the processing. In practice, you can choose as needed.
  • Embodiment 2 a data encoding apparatus, configured to execute the data encoding method of Embodiment 1, logic node Referring to Figure 9, including:
  • the line coding unit 301 is configured to perform line coding on the input data of length (L1 - 1), output the generated information block of length L1, and the information block includes information data and a first synchronization header of 1B.
  • the error correction coding unit 302 includes a collection subunit 3021, a filler subunit 3022, an encoding subunit 3023, and a deletion subunit 3024.
  • the collecting subunit 3021 is configured to collect N information blocks and output the generated information sequence; the output information sequence length is NxL1 ⁇ k, where k is the length of the sequence required for FEC encoding;
  • the encoding subunit 3023 is configured to perform FEC(n, k) encoding on the input information sequence, and output the generated
  • the delete subunit 3024 is configured to delete the padding bits in the information sequence output by the coding subunit 3023.
  • the header adding unit 303 is configured to add a second sync header of 1B to the information block in the information sequence output from the error correction encoding unit 302.
  • the framing unit 304 is configured to send the information block to which the second synchronization header is added and the corresponding parity block.
  • Embodiment 3 A data decoding method, corresponding to the data encoding method of Embodiment 1, the process refers to FIG. 10, and includes the steps:
  • the initial information block length (LI + 1) has a 2B data synchronization header, and is composed of a 1B first synchronization header and a 1B second synchronization header, according to 2B
  • the data synchronization header synchronizes the data frames to extract the initial information block and the check block.
  • the second sync header of the initial information block IB is removed to obtain an information block including the first sync header of the IB and the information data.
  • Embodiment 4 is a data decoding apparatus, configured to execute the data decoding method of Embodiment 2, and the logic structure refers to FIG. 11, and includes:
  • the receiving unit 401 is configured to receive a data frame, where the called data frame includes an initial information block and a corresponding check block, and the initial information block length is (L1 + 1) having a 2B data synchronization header, and the 1B first synchronization header and the 1B first
  • the second sync header is composed; the data frame is synchronized according to the 2B data sync header, and the initial information block and the check block are output.
  • the header removing unit 402 is configured to remove the second sync header of the initial information block 1B, and output the information block including the first sync header of 1B and the information data.
  • the error correction decoding unit 403 includes a padding subunit 4031, a decoding subunit 4032, a deleting subunit 4033, and a ionizing unit 4034.
  • the padding sub-unit 4031 is configured to obtain a coding sequence including N information blocks and corresponding M check blocks, the length of the code sequence is NxL1 + MxL2 ⁇ n, L2 is the length of the check block, and n is required for FEC decoding.
  • the length of the sequence is inserted into n - (NxLl + MxL2) padding bits at the set position of the coding sequence;
  • the decoding sub-unit 4032 is configured to perform FEC (n, k) decoding on the padded code sequence, and the output includes a sequence of information of N information blocks;
  • Deleting subunit 4033 configured to delete padding bits in the information sequence output by decoding subunit 4032;
  • the ionizing unit 4034 is configured to decompose the information sequence after the padding bit is deleted into N information block outputs.
  • the line decoding unit 404 is configured to perform line decoding on the information block output by the error correction decoding unit 403, and output the restored data.
  • Embodiment 5 A data encoding method, the difference between this embodiment and the first embodiment is that, before performing FEC encoding, the content arrangement is performed on the information block sequence, and the first synchronization header of each information block is concentrated in the embodiment. FEC coding is performed together. Including steps: Cl ⁇ c3, which are the same as steps a1 to a3, respectively, will not be described again.
  • the first synchronization headers of the respective information blocks IB in the information sequence are collectively arranged at the set position.
  • the arranging operation can be performed in synchronization with the filling operation of step c3, or before or after the filling operation.
  • the N first sync headers that are normally concentrated can be arranged at the beginning or the end of the information sequence (excluding padding bits). For convenience of processing, the N first placed first sync headers can be sorted in the order of the corresponding information blocks in the information sequence.
  • C6 Rearrange the first synchronization headers arranged in the information sequence of the coding sequence into corresponding information blocks.
  • the rearranged operation can be performed in synchronization with the delete operation of step c7, or before or after the delete operation.
  • C7 ⁇ c9 are the same as steps a5 ⁇ a7, respectively, and are not mentioned.
  • step c2 the information sequence obtained in step c2 is not required to be cached, thereby reducing the requirement on the buffer.
  • the information sequence obtained in step c2 can also be used, and the re-arrangement and deletion operations of steps c6 and c7 are not necessary, which simplifies the processing. In practical applications, you can choose according to your needs.
  • Embodiment 6 is a data encoding apparatus, configured to execute the data encoding method of Embodiment 5, and the logic structure refers to FIG. 12, including:
  • the error correction coding unit 502 includes a collection subunit 5021, a filler subunit 5022, an encoding subunit 5023, a deletion subunit 5024, a sorting subunit 5025, and a rearrangement subunit 5026.
  • the collecting subunit 5021 is configured to collect N information blocks and output the generated information sequence; the output information sequence length is NxL1 ⁇ k, where k is the length of the sequence required for FEC encoding;
  • the first synchronization head is arranged in a set position, and the arranged information sequence is output to the filling subunit 5022;
  • the coding subunit 5023 is configured to perform FEC (n, k) encoding on the input information sequence, and output the generated
  • the rearrangement subunit 5026 is configured to rearrange the first synchronization headers arranged in the information sequence output by the coding subunit 5023 into the corresponding information blocks, and output the rearranged information sequence;
  • a delete subunit 5024 is used to delete the padding bits in the information sequence output by the rearrangement subunit 5026.
  • the logical positions of the sorting subunits and the stuffing subunits in the apparatus of this embodiment are interchangeable, and the logical positions of the deleting subunits and the rearranging subunits are interchangeable.
  • Embodiment 7 A data decoding method corresponding to the data encoding method of the fifth embodiment includes the steps of: dl ⁇ d3, which are the same as steps bl ⁇ b3, and are not further described.
  • the first synchronization header of each information block IB in the coding sequence is concentrated in the set position; the arrangement manner is the same as that in the FEC coding.
  • the arrangement can be performed in synchronization with the filling operation of step d3, or before or after the filling operation.
  • D6 Rearrange the first synchronization headers arranged in the information sequence obtained by the FEC decoding into the corresponding information blocks.
  • the rearranged operation can be performed in synchronization with the delete operation of step d7, or before or after the delete operation.
  • Embodiment 8 is a data decoding apparatus, configured to execute the data decoding method of Embodiment 7, and the logic structure refers to FIG. 13 and includes:
  • the error correction decoding unit 603 includes a padding subunit 6031, a decoding subunit 6032, and a deleting subunit. 6033, ion separation unit 6034, sorting subunit 6035, rearrangement subunit 6036;
  • a sorting sub-unit 6035 configured to acquire a coding sequence including N information blocks and corresponding M parity blocks, and arrange the first synchronization headers of the respective information blocks in a set position, and output the aligned coding sequences to Filling subunit 4031;
  • a padding subunit 6031 for inserting n - (NxLl +) at a set position of the input code sequence
  • NxLl + MxL2 ⁇ n L2 is the length of the check block
  • n is the length of the sequence required for FEC decoding
  • the padded code sequence is output to the decoding sub-unit 6032;
  • a decoding sub-unit 6032 configured to perform FEC (n, k) decoding on the input code sequence, and output an information sequence including N information blocks;
  • Deleting subunit 6033 configured to delete padding bits in the information sequence output by decoding subunit 6032;
  • the rearrangement subunit 6036 is configured to rearrange the first synchronization headers arranged in the information sequence after deleting the padding bits by the deletion subunit 6033 into the corresponding information blocks, and output the rearranged information sequence to the separation subunit 6034;
  • the ion separation unit 4034 is configured to decompose the information sequence input by the rearrangement subunit 6036 into N information block outputs.
  • the logical positions of the sorting subunits and the stuffing subunits in the apparatus of this embodiment are interchangeable, and the logical positions of the deleting subunits and the rearranging subunits are interchangeable.
  • Embodiment 9 A data encoding method, the difference between this embodiment and Embodiments 1 and 5 is that the synchronization header is added to the parity block in this embodiment. Including steps:
  • E2 Add a second synchronization header of IB to the information block in the coding sequence, and add a 2B parity synchronization header to the parity block in the coding sequence.
  • both the information block and the check block have a 2B synchronization header, which is more advantageous for data synchronization at the receiving end.
  • the operation mode of the first synchronization header is inverted based on the second synchronization header.
  • the verification synchronization header may be set to 2B all 0s or all 1s.
  • all 0s or all 1s may be added for each check block selection according to the order of the check blocks.
  • Check the sync header For example, it can be added in the order of "00", “11", “00", “11”, or in the order of "00", "11", "11", "00".
  • step E3 same as step a7 or step c9, no longer mentioned.
  • Embodiment 10 is a data encoding apparatus, configured to execute the data encoding method of Embodiment 9.
  • the logic structure refers to FIG. 14, and includes:
  • the header adding unit 703 is configured to add a second sync header of 1B to the information block in the information sequence output from the error correction encoding unit 702, and add a check sync header of 2B to the parity block outputted by the error correction encoding unit 702.
  • Embodiment 11 A data decoding method corresponding to the data encoding method of Embodiment 9 includes the following steps:
  • the so-called data frame includes an initial information block and a corresponding check block;
  • the initial information block length is (LI + 1) has a 2B data synchronization header, and the 1B first synchronization header and the 1B second synchronization header
  • the check block has a 2B check sync header; the data frame is synchronized according to the data sync header and the check sync header, and the initial information block and the check block are extracted.
  • the second synchronization header of the initial information block IB is removed to obtain an information block including the first synchronization header of the IB and the information data
  • the parity synchronization header of the parity check block 2B is removed to obtain the parity block of the length L2 without the synchronization header.
  • Embodiment 12 A data decoding apparatus, configured to execute the data decoding method of Embodiment 11, wherein the logic structure reference figure 15 includes:
  • the receiving unit 801 is configured to receive a data frame that carries an initial information block and a corresponding check block, where
  • the initial information block length (LI + 1) has a 2B data synchronization header, which is composed of a 1B first synchronization header and a 1B second synchronization header; the parity block has a 2B parity synchronization header; according to the data synchronization header and the verification synchronization header
  • the data frame is synchronized, and the initial information block and the check block are output.
  • the header removing unit 802 is configured to remove the second synchronization header of the initial information block 1B, output the first synchronization header including 1B and the information block of the information data; and remove the verification synchronization header output of the verification block 2B without the length of the synchronization header Is the check block of L2.
  • Embodiment 13 A data encoding method, the difference between this embodiment and Embodiments 1, 5, and 9, is that the embodiment also scrambles information data. Including steps:
  • Gl line coding the input data of length (L1 - 1) to generate an L1 information block, and the information block includes information data and a first synchronization header of 1 B.
  • scrambling after line coding only scrambles the information data in the information block without scrambling the first synchronization header.
  • Embodiment 14 is a data encoding apparatus, configured to execute the thirteenth data encoding method, and the logical structure includes:
  • a scrambling unit configured to scramble the information data in the information block output by the line coding unit, and output the scrambled information data to the error correction coding unit.
  • Embodiment 15 is a data decoding method corresponding to the data encoding method of the thirteenth embodiment, including the steps:
  • Hl receive the data frame and perform FEC decoding, and output an information block including the first synchronization header and the information data.
  • the specific process is the same as the steps bl ⁇ b6 or the steps dl ⁇ d8, and the synchronization of the data frame and the operation of removing the synchronization header can be performed by referring to the steps fl ⁇ f2, and will not be described again.
  • Embodiment 16 A data decoding apparatus, configured to execute the data decoding method of the fifteenth embodiment, wherein the logic structure comprises:
  • a descrambling unit configured to descramble the information data in the information block output by the error correction decoding unit, and output the descrambled information data to the line decoding unit.
  • the second behavior is a frame structure obtained by FEC encoding, wherein the length of the 64B/65B encoding block as the data portion is 65 xN, and "0" is added to the front portion to satisfy the data length k of the FEC, and the length of the check portion For 64 baht.
  • the third behavior adds the FEC encoded frame after the synchronization bit, and adds a 2-bit sync header to the 66 ⁇ check block before each 64 ⁇ check block, and adds 1 bit of control information in front of each 65 ⁇ data block. (Of course, the 1-bit control information can also be added between the data/control head and 64-bit data of each 65-inch code block).
  • FIG. 17 is a flowchart of uplink and downlink data in different sublayers in an application example of the present invention.
  • the sender process includes:
  • Each XGMII transmission frame contains 32-bit data TXD ⁇ 31:0> and 4-bit control information TXC ⁇ 3:0>.
  • the 64B/65B encoder maps two consecutive XGMII transmission frames into a 65-bit 64B/65B coded block containing 64-bit data information and a 1-bit data/control header based on its control information.
  • the 1-bit data/control header can be used to distinguish the type of 64-bit data information loaded by the encoding block. When it is "0", it means that the transmitted 64-bit information is data information; when it is "1", it means that the transmitted 64-bit information contains control information.
  • the 64-bit data information D0 ⁇ D7 (each 8B) in each 64B/65B code block enters a self-synchronizing scrambler for scrambling, and outputs SO ⁇ S7 (each 8B).
  • the scrambled data is sent to the buffer together with the data/control head as the input data bits of the FEC encoder, and the data bits in the buffer form a FEC encoded data frame and then sent to the buffer.
  • the FEC encoder is encoded.
  • the buffer needs to collect N 65B coded blocks, where the specific value of N is determined by the selected FEC codeword (n, k) and some special requirements of the system (such as the system pairs the encoded 65B data block and 64B).
  • the total number of blocks of the check block is required, for example, the requirement is a multiple of 5).
  • the maximum number of blocks of the 65B code block contained in the data portion of the FEC codeword is:
  • 65 L means rounding down. If the value of the selected N is T, then when k cannot be divisible by 65, that is, k - Nx65 ⁇ 0, it is necessary to add (k - Tx65) before the N 65B encoding blocks. "0", if the value of the selected N is less than T, then you need to add (k - Nx65) "0" before the 65 code blocks. Then add the N 65B code blocks after adding "0". Enter the FEC encoder for encoding.
  • the following is an example of RS (255, 239), RS (255, 231) and RS (255, 223) to illustrate the specific framing process of FEC coding.
  • the RS (255, 239) and the RS (255, 231) may be collectively referred to as RS (255, 223): a first encoder RS, a second encoder RS, and a third encoder RS.
  • the selected FEC codeword is RS (255, 239)
  • RS 255, 239
  • a synchronization bit is added to the FEC encoded codeword.
  • 1 bit is added in front of it, which is the negation of the 65B coded block data/control head.
  • the added bits together with the data control header form a data synchronization header.
  • a 2-bit check sync header is added in front of it, and the check sync header can be "00" or "11".
  • the check block sync header can be added as "00", "11". That is, the sync header of the first check block is "00", and the sync header of the second check block is "11". It can also be added as "11", "00".
  • the check sync headers of the four check blocks are sequentially added as "00", “11”, “11”, “00” or “11”, "00", “00”, “11” can achieve a good synchronization effect.
  • the frame after the deletion of "0" and the addition of the sync bit constitutes a transmission frame. Since the physical coding sublayer data width is 66 bits and the PMA layer data width is 16 bits, in order to match the rate, the transmission frame needs to be sent to the GearBox unit, which becomes the data mode that the PMA can receive.
  • the receiving end process includes:
  • the data received from the optical fiber is transmitted to the PMD, PMA ⁇ to the physical coding sublayer.
  • the received data is first frame synchronized at the physical coding sublayer.
  • the information transmitted from the PMA can be frame-synchronized. After the frame synchronization is completed, the start and end of the received frame can be known, that is, the complete FEC frame can be obtained for decoding.
  • the 2-bit sync header of the 66B check block is removed in the received frame to become the parity bit of 64B.
  • the first sync header in the 66B data block is removed to become the 65B data block.
  • the received frame added with the "0"/removed sync bit operation is sent to the FEC decoder to encode the code, and the previously added "0" is deleted in the decoded sequence, thereby obtaining N 65B coded blocks.
  • the N 65B code blocks are separated, and then each 65B code block is processed.
  • the 64-bit data in the 65B coded block is descrambled first.
  • the descrambling process is exactly the same as the scrambling process.
  • the descrambled 65B coded block is mapped according to the 64B/65B coding rule and restored to two XGMII frames. Then transferred to the upper layer for related processing.
  • Application Example 2 The main difference between this application example and application example 1 is that before performing FEC coding, The data/control heads obtained by line coding are grouped together.
  • the data/control header at the 1st bit is very important, which determines the mapping between the 64-bit data of the physical layer coding sublayer and the XGMII interface. If an error occurs in this bit, it may cause a mapping error, resulting in an error in the data passed to the upper layer.
  • This application example uses a method in which the data/control heads of the collected N 65B code blocks are placed together for protection in one FEC frame. It can improve the anti-interference ability of the data/control head and is also easy to implement in industry.
  • Figure 20 shows the FEC frame structure of this application example, the data portion of which includes the added "0" bit information, the data/control head of the N 65-coded blocks arranged in a concentrated manner, and the 64-bit information loaded by the N 65B code blocks; Its check portion contains M 64-bit check blocks.
  • RS 255, 231
  • RS 255, 223
  • each 8 bits is mapped to 1 symbol and then encoded.
  • decoding it is also in units of symbols, that is, if a symbol can be correctly decoded during decoding, all 8 bits corresponding to the symbol can be correctly translated. So putting all the data/control heads together can be effectively protected.
  • FIG. 24 and FIG. 25 respectively.
  • the specific implementation process is basically the same as that of the application example 1, but the arrangement and rearrangement operations before and after the encoding and decoding are added, and details are not described herein again.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

数据编译码方法及装置
本申请要求于 2007 年 11 月 12 日提交中国专利局、 申请号为 200710186703.8, 发明名称为"数据编译码方法及装置"的中国专利申请的优先 权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域, 具体涉及使用前向纠错(FEC: Forward Error Correction )编码和译码的通信技术。
背景技术
随着通信技术的不断发展, 用户对通信的容量、速度等各种服务质量的要 求越来越高。 由于接入网是整个电信网中最具有技术挑战性的区域之一, 因此 为了满足用户对带宽日益增长的要求,实现接入网的高速化、宽带化和智能化, 各种接入技术层出不穷, 如局域网 (LAN: Local Area Network ), 数字用户线 ( DSL: Digital Subscriber Line ), 混合光纤同轴电缆网及电缆调制解调器 ( HFC-Cable Modem )、 电力线上网等等, 然而被认为最有前途的是光接入技 术。 无源光网络( PON: Passive Optical Network ) 由于其易维护、 高带宽、 低 成本等优点成为光接入中的佼佼者, 是通过单一平台综合接入语音、数据、视 频等多种业务的理想物理平台。
PON技术是点到多点的光纤接入技术。 PON由光线路终端、 光纤网络单 元(ONU: Optical Network Unit )和光分配网络(ODN: Optical Distribution Network )等部分组成。其中以太网无源光网络( EPON: Ethernet Passive Optical Network )技术是一种较好的接入技术。 其主要特点在于维护简单, 成本较低, 较高的传输带宽和高性能价格比。 特别是 EPON技术能够提供 1GHz甚至到 10GHz的带宽, 这使得同时传送语音、 数据和视频业务成为可能。
由于 EPON是一种采用无源光传输的技术 ,不使用具有放大和中继功能的 元器件。因此 EPON网络的传输距离和分支数目依赖于功率预算和各种传输损 耗。随着传输距离或分支比数目的增加,传输数据的信噪比(SNR: Signal Noise ratio )逐渐减小, 从而导致更多的比特错误。 为了解决这一问题, 在 EPON系 统中引入了 FEC技术来提高系统的抗干扰能力, 以增大系统的功率预算。 FEC是指信号在被传输之前预先对其按一定的方式进行处理,在接收端则 按相应的算法进行解码以达到找出错码并纠错的目的。 EPON 系统中的 FEC 的基本工作原理是: 在发送端被传输的以太网帧后附加上 FEC校验码字, 这 收端按既定的规则检验以太网帧数据与校验码字的关系, 一旦传输中发生错 误, 就会破坏这种关系, 从而自动发现并纠正错误的码。 FEC技术力求用尽可 能少的校验字节纠正尽可能多的错误, 在开销(增加了校验字节)和获得的编 码增益之间找到一个最佳的平衡点。
图 1给出了开放系统互联参考模型和 IEEE802.3局域网模型的对应关系。 这种模型适用于 802.3-2005标准所定义的以太网中。 目前 1G和 10G的 EPON 系统即采用此模型。 在 EPON系统中的物理层中不仅引入了 FEC技术, 也引 入了线路编码技术。
线路编码机制主要有两种: 数值查找机制和扰码器机制。 在现有的 EPON 系统中, 采用 8比特(B: Bit ) /10B的线路编码机制。这是一种数值查找机制。 8B/10B编码方案的一个很大的缺点是其编码冗余度达到了 25 % , 编码开销艮 大。 为了节省编码开销, 在 10GBASE-W、 10GBASE-R等系列标准中已经在 物理编码子层(PCS: Physical Coding Sublayer )使用了 64B/66B线路编码; 在 10GBASE-T 标准中在 PCS 层使用了 64B/65B 线路编码; 而且在由 IEEE802.3av工作组正在制定的 10GEPON 系统中, 也尝试引入 64B/66B或 64B/65B等编码效率更高的线路编码机制。这两种线路编码使用了带有非扰码 同步字符和控制字符的扰码方式。
64B/66B编码机制是在 64比特信息的基础上, 增加了 2比特的同步字符 (同步头)。这 2比特同步字符只有 "01"或" 10"两种可能。其中,同步字符为 "01" 表示 64比特全部为数据信息; 同步字符为" 10"表示 64比特信息中包含数据信 息和控制信息。 同步字符为" 00"或 "11"表示传输过程中发生了错误。 同时, 这 种同步字符的使用保证了传输数据每隔 66比特至少变换一次, 这种方式便于 实现块同步(BS: Block Synchronization 64 比特的信息通过一种自同步加 扰机制进行加扰, 最大程度上保证了所传送信息有足够的切换,便于接收端的 时钟恢复。 与 64B/66B编码机制相比, 不同的是, 64B/65B编码使用 1比特的 数据 /控制字符。 如果数据 /控制字符为" 0"表示 64比特全部为数据信息; 如果 数据 /控制字符为" 1 "表示 64比特信息中包含数据信息和控制信息。
目前, 针对 10G的 EPON系统中的 PCS层的一种设计方案如图 2和图 3 所示。图 2为此系统物理层的发送流程图;图 3为此系统物理层的接收流程图。
在图 2中, 以太网数据帧先经过调和子层和 10千兆以太网媒质无关接口 ( XGMII, 10 Gigabit Media Independent Interface )处理 , 然后再经过 64Β/66Β 线路编码。 这一编码过程是在 64比特的以太网数据信息的前面添加 2比特的 同步字符, 使得数据由原来的 64比特变为 66比特。 一般地, 称编码后的 66 比特码字为一个块(Block )。 接着对块中的数据和控制信息进行加扰, 然后对 此帧中的数据进行 FEC 编码, 编码后的数据先后经过物理媒介连接子层 ( PMA: Physical Medium Attachment )和物理媒介相关子层(PMD: Physical Medium Dependent )后发送出去。 物理层的接收流程为发送流程的逆过程, 如 图 3所示, 在此不再赞述。
在对现有技术的研究和实践过程中, 本发明的发明人发现, 线路编码和
FEC编码所带来的好处都是以增加冗余信息为代价的。现有技术将经过线路编 码和 FEC编码后的数据直接成帧发送, 若线路编码选择冗余度较大的算法, 由于较多的冗余信息被当作 FEC编码的数据部分进行编码 , 会降低 FEC编码 的性能; 若线路编码选择冗余度较小的算法, 虽然提高了 FEC的性能, 但会 相应降低传输系统的同步性能, 很难两者兼顾。
发明内容
本发明实施例提供能够既保证传输系统的同步性能又不影响编码增益提 高的数据编译码方法以及相应的装置。
一种数据编码方法, 包括: 对输入数据进行线路编码生成信息块, 所述信 息块包括信息数据和第一同步头; 对所述信息块进行前向纠错编码生成校验 块; 为所述信息块添加第二同步头; 生成发送数据帧, 所述发送数据帧包括添 加了第二同步头的信息块和相应的校验块。
一种数据译码方法, 包括: 接收数据帧, 所述数据帧包括初始信息块和相 应的校验块, 所述初始信息块具有由第一和第二同步头组成的数据同步头,根 据所述数据同步头对接收的数据帧进行同步, 提取出所述初始信息块和校验 块;去除所述初始信息块的第二同步头获得包括第一同步头和信息数据的信息 块; 使用所述校验块对所述信息块的第一同步头和信息数据进行前向纠错译 码; 对前向纠错译码后的信息块进行线路译码。
一种数据编码装置, 包括:线路编码单元,用于对输入数据进行线路编码, 输出生成的信息块, 所述信息块包括信息数据和第一同步头; 纠错编码单元, 用于对所述信息块进行前向纠错编码, 输出生成的校验块; 头添加单元, 用于 为所述信息块添加第二同步头; 成帧单元, 用于生成发送数据帧, 所述发送数 据帧包括添加了第二同步头的信息块和相应的校验块。
一种数据译码装置, 包括: 接收单元, 用于接收数据帧, 所述数据帧包括 初始信息块和相应的校验块 ,所述初始信息块具有由第一和第二同步头组成的 数据同步头;根据所述数据同步头对数据帧进行同步,输出所述初始信息块和 校验块; 头去除单元, 用于去除所述初始信息块的第二同步头, 输出包括第一 同步头和信息数据的信息块; 纠错译码单元, 用于使用所述校验块对所述信息 块的第一同步头和信息数据进行前向纠错译码, 输出前向纠错译码后的信息 块; 线路译码单元, 用于对前向纠错译码后的信息块进行线路译码, 输出恢复 后的数据。
上述方法或装置采用在经过线路编码和 FEC编码后的数据上添加额外的 同步头后再成帧发送的方式, 由于增加了用于同步的冗余信息, 因此在线路编 码选择冗余度较小的算法的情况下,也能够有效保证传输系统的同步性能, 并 且额外添加的同步头不参与 FEC编码计算, 确保 FEC的编码增益不受影响。 附图说明
图 1是现有开放系统互联参考模型和 IEEE802.3局域网模型的关系图; 图 2是现有 10G EPON系统中的物理层的数据发送流程图;
图 3是现有 10G EPON系统中的物理层的数据接收流程图;
图 4是本发明实施例的数据编码方法主要步骤示意图;
图 5是本发明实施例的数据编码装置的基本逻辑结构示意图; 图 6是本发明实施例的数据译码方法主要步骤示意图;
图 7是本发明实施例的数据译码装置的基本逻辑结构示意图;
图 8是本发明实施例一数据编码方法流程示意图;
图 9是本发明实施例二数据编码装置逻辑结构示意图;
图 10是本发明实施例三数据译码方法流程示意图;
图 11是本发明实施例四数据译码装置逻辑结构示意图;
图 12是本发明实施例六数据编码装置逻辑结构示意图;
图 13是本发明实施例八数据译码装置逻辑结构示意图;
图 14是本发明实施例十数据编码装置逻辑结构示意图;
图 15是本发明实施例十二数据译码装置逻辑结构示意图;
图 16是本发明应用例中数据变化情况示意图;
图 17是本发明应用例上下行数据在不同子层的流程示意图;
图 18是本发明应用例一发送端流程示意图;
图 19是本发明应用例一接收端流程示意图;
图 20是本发明应用例二 FEC帧结构示意图;
图 21是本发明应用例二在 RS(255,239)时的 FEC编码映射示意图; 图 22是本发明应用例二在 RS(255,231)时的 FEC编码映射示意图; 图 23是本发明应用例二在 RS(255,223)时的 FEC编码映射示意图; 图 24是本发明应用例二发送端流程示意图;
图 25是本发明应用例二接收端流程示意图。
具体实施方式
本发明实施例提供数据编码方法,在经过线路编码和 FEC编码后的数据上 添加额外的同步头后再成帧发送。本发明实施例还提供相应的数据译码方法以 及数据编码装置、 数据译码装置。 以下分别进行详细说明。
参考图 4, 本发明实施例的数据编码方法主要包括步骤:
Al、 对输入数据进行线路编码生成信息块, 信息块中包括信息数据和第 一同步头。
本发明实施例中所称输入数据指需要进行传输的数据内容。 例如, 对于 10G EPON应用而言, 可以指调和子层发送给物理编码子层的 XGMII传输帧; 对于通常的 802.3以太网应用而言, 可以指一般的以太网传输帧。
基于本发明实施例能够有效保证传输系统的同步性能的特点 ,线路编码可 以选择冗余度较小的算法, 例如 64B/65B编码, 或者 32B/33B编码等, 这些类 型的线路编码在信息数据之外仅增加一个 B的数据 /控制头 ( Data/Ctl— header ), 用来表示所传输的数据的类型。基于保证传输时数据有足够的切换的目的,在 线路编码之后可以对信息块中的信息数据进行加扰,具体加扰方式以及线路编 码过程可参照现有方式进行。本发明实施例中将线路编码过程生成的块头称为 第一同步头。
A2、 对线路编码生成的信息块进行 FEC编码生成校验块。
本发明实施例不限定具体所使用的 FEC编码算法。 并且, 为达到更好的保 护信息块中重要内容的目的, 可根据所使用 FEC编码方法的特点在进行 FEC编 码前对信息块进行进一步的处理, 例如,进行对若干个信息块进行内容排列将 重要数据(例如第一同步头) 集中放置等。
FEC编码的过程一般是将输入数据按照某种规则进行计算处理后得到长 度小于该输入数据的校验码字,接收端通过计算收到的校验码字与数据部分之 间的关系来确定数据部分是否正确传输并对一定程度以内的错误进行纠正。一 种常用的 FEC编码方式是使用里德-所罗门 (RS: Reed-Solomon )码, 它具有 同时纠正突发性错误和随机性错误的能力。
若 FEC编码器采用对具有固定长度的序列 k进行处理的方式, 可将若干个 信息块连接为适当长度的信息序列后输入 FEC编码器。 当然, 信息序列长度有 可能小于 FEC编码器需要的序列长度 k, 这种情况下, 可对信息序列进行填充 使之长度增加到 k后再输入 FEC编码器进行编码。本发明实施例中使用 FEC(n, k) 表示 FEC编码器的输入输出序列长度, 其中 n表示编码后的编码序列长度, (n - k)即为校验块序列的长度。
A3、 为信息块添加第二同步头。
本步骤中的信息块可以直接来源于进入 FEC编码之前的信息块,也可以来 源于 FEC编码器输出的编码序列中的信息块。 若来源于后者, 则信息块在进入 FEC编码器之前所作的排列、 填充等处理需要在编码后以相应的方式进行恢 复。
所添加的第二同步头可以通过对第一同步头进行简单的计算得到。 当然, 除了为信息块增加额外的同步头以外, 还可以相应的为校验块添加校验同步 头, 增强系统的同步能力。
A4、 生成发送数据帧, 所称发送数据帧包括添加了第二同步头的信息块 和相应的校验块。
本发明实施例不限定于具体的成帧以及发送和传输形式。通常,可将具有 对应关系的信息块和校验块重组成 FEC帧后,以 FEC帧的形式进行发送。 当然, 若发送数据帧的物理编码子层与下层的物理媒质附加子层具有不同的速率,则 需要使用相应的速率匹配策略对需要传输的数据帧进行处理,使之变成下层可 接收的数据方式。
参考图 5, 相应于上述数据编码方法, 本发明实施例的数据编码装置的基 本逻辑结构包括:
线路编码单元 101, 用于对输入数据进行线路编码, 输出生成的信息块, 输出的信息块中包括信息数据和第一同步头。
纠错编码单元 102, 用于对线路编码后的信息块进行 FEC编码, 输出生成 的校验块。 当然, 纠错编码单元还可以同时输出与校验块对应的信息块。
头添加单元 103, 用于为信息块添加第二同步头。 头添加单元操作的对象 可以是纠错编码单元输出的信息块(在图 5中以实线表示),也可以是线路编码 单元输出的信息块(在图 5中以虚线表示)。
成帧单元 104, 用于发送添加了第二同步头的信息块和相应的校验块。 成 帧单元可具体执行成帧以及速率匹配等功能。
基于上述基本逻辑结构,还可根据功能需要添加相应的逻辑单元,或对已 有的逻辑单元进行逻辑结构的精细化改进。
参考图 6, 相应于上述数据编码方法, 本发明实施例的数据译码方法主要 包括步骤:
Bl、 接收数据帧, 所称数据帧包括初始信息块和相应的校验块, 初始信 息块具有由第一和第二同步头组成的数据同步头,根据数据同步头对数据帧进 行同步, 提取出初始信息块和校验块。
根据前述编码过程可知,接收端收到的数据帧中至少有线路编码时生成的 第一同步头和 FEC编码后添加的第二同步头, 该两个同步头组合成数据同步 头,数据帧还可能进一步具有校验同步头, 利用这些信息可以对收到的数据进 行帧同步, 从而确定帧的开始和结束, 得到完整的 FEC帧便于后续进行译码。
B2、 去除初始信息块的第二同步头获得包括第一同步头和信息数据的信 息块。
由于第二同步头用于帧同步, 因此在完成帧同步后即可将该同步头去除。 当然若在编码发送的过程中还为校验块添加了校验同步头, 则一并去除。
B3、 使用校验块对信息块的第一同步头和信息数据进行 FEC译码。
此 FEC译码过程可参照 FEC编码过程的逆过程进行。 若 FEC编码时执行了 信息序列的内容排列、 填充等操作 , 在执行 FEC译码前同样要对进行 FEC译码 的信息序列执行类似的操作, 以保证 FEC译码的正确进行, 并对 FEC译码后的 结果执行相应的重排列和删除等操作进行恢复。
B4、 对 FEC译码后的信息块进行线路译码。
此线路译码过程可参照线路编码过程的逆过程进行。若在线路编码后对信 息数据进行了加扰, 则同样需要相应的在线路译码前进行解扰。
参考图 7, 相应于上述数据译码方法, 本发明实施例的数据译码装置的基 本逻辑结构包括:
接收单元 201 , 用于接收数据帧, 所称数据帧包括初始信息块和相应的校 验块,初始信息块具有由第一和第二同步头组成的数据同步头;根据数据同步 头对数据帧进行同步, 输出初始信息块和校验块。
头去除单元 202, 用于去除初始信息块的第二同步头, 输出包括第一同步 头和信息数据的信息块。若接收单元输出的校验块具有校验同步头, 则头去除 单元 202还一并去除校验块的校验同步头,输出去除校验同步头以后的校验块, 在图 7中用实线表示; 若接收单元输出的校验块不必去除同步头, 可直接输出 给纠错译码单元, 在图 7中用虚线表示。 纠错译码单元 203 , 用于使用校验块对信息块的第一同步头和信息数据进 行前向纠错译码, 输出前向纠错译码后的信息块。
线路译码单元 204, 用于对前向纠错译码后的信息块进行线路译码, 输出 恢复后的数据。
基于编码端所使用的具体逻辑结构,上述译码端的基本逻辑结构,可相应 的添加逻辑单元, 或对已有的逻辑单元进行逻辑结构的精细化改进。
下面基于具体的实施例对上述基本方案和结构进行伴细说明。
实施例一、 一种数据编码方法, 流程参考图 8, 包括步骤:
al、 对长度为 (L1 - 1)的输入数据进行线路编码生成长度为 L1信息块, 信 息块包括信息数据和 1B的第一同步头。 即, 所使用的线路编码为 (L1 - 1)B/ (L1)B编码。
a2、 收集 N个信息块生成信息序列。
a3、 若采用 FEC(n,k)编码器, 而 NxLl < k, 则在信息序列的设定位置插入 k - NxLl个填充比特, 通常可插入在信息序列的首或尾。 为便于计算, 所使用 的填充比特可选择全 0或全 1。
a4、 对填充后的信息序列进行 FEC编码生成 M个校验块, 并且也输出用于 编码的填充后的信息序列。
a5、 从编码序列的信息序列中删除在设定位置上的 k - NxLl个填充比特。 a6、 为编码序列中的信息块添加 IB的第二同步头。
为信息块添加的第二同步头具体可采用如下方式获得:对该信息块的第一 同步头进行设定运算得到该信息块的第二同步头。通常可采用按位取反的运算 方法, 即若第一同步头为" 1 "则添加的第二同步头为" 0", 反之亦然。
a7、 发送添加了第二同步头的信息块和相应的校验块。
本实施例中以 FEC编码结果中的信息块作为添加同步头的对象,可以不必 緩存步骤 a2中得到的信息序列, 减少对緩存器的需求。 当然也可以使用步骤 a2 中得到的信息序列, 则不必进行步骤 a5的删除操作, 可以简化处理过程。 实际 应用中可根据需要进行选择。
实施例二、 一种数据编码装置, 用于执行实施例一数据编码方法, 逻辑结 构参考图 9, 包括:
线路编码单元 301, 用于对长度为 (L1 - 1)的输入数据进行线路编码, 输出 生成的长度为 L1的信息块, 信息块包括信息数据和 1B的第一同步头。
纠错编码单元 302, 包括收集子单元 3021、 填充子单元 3022、 编码子单元 3023、 删除子单元 3024;
收集子单元 3021 , 用于收集 N个信息块, 输出生成的信息序列; 输出的信 息序列长度为 NxLl < k, k为 FEC编码所需要的序列的长度;
填充子单元 3022, 在收集子单元 3021输出的信息序列的设定位置插入 k - NxLl个填充比特, 将填充后的信息序列输出给编码子单元 3023;
编码子单元 3023 , 用于对输入的信息序列进行 FEC(n,k)编码,输出生成的
M个校验块以及用于编码的填充后的信息序列;
删除子单元 3024,用于将编码子单元 3023输出的信息序列中的填充比特删 除。
头添加单元 303,用于为纠错编码单元 302输出的信息序列中的信息块添加 1B的第二同步头。
成帧单元 304, 用于发送添加了第二同步头的信息块和相应的校验块。 实施例三、 一种数据译码方法, 与实施例一数据编码方法相应, 流程参考 图 10, 包括步骤:
bl、接收携带有初始信息块和相应的校验块的数据帧,初始信息块长度为 (LI + 1)具有 2B数据同步头, 由 1B第一同步头和 1B第二同步头组成,根据 2B数 据同步头对数据帧进行同步, 提取出初始信息块和校验块。
b2、 去除初始信息块 IB的第二同步头获得包括 IB的第一同步头和信息数 据的信息块。
b3、 获取包括 N个信息块和相应的 M个校验块的编码序列, 编码序列的长 度 NxLl + MxL2 < n, L2为校验块的长度, n为 FEC译码所需要的序列的长度, 在编码序列的设定位置插入 n - (NxLl + MxL2)个填充比特; 插入方式与 FEC 编码时相同。
b4、 对填充后的编码序列进行 FEC(n, k)译码获得包括 N个信息块的信息序 列。
b5、 从 FEC译码得到的信息序列中删除译码前插入的填充比特。
b6、 将删除填充比特后的信息序列分解成 N个信息块。
b7、 对分解后的信息块进行线路译码恢复数据。
实施例四、 一种数据译码装置, 用于执行实施例二数据译码方法, 逻辑结 构参考图 11 , 包括:
接收单元 401 , 用于接收数据帧, 所称数据帧包括初始信息块和相应的校 验块, 初始信息块长度为 (L1 + 1)具有 2B数据同步头, 由 1B第一同步头和 1B第 二同步头组成; 根据 2B数据同步头对数据帧进行同步, 输出初始信息块和校 验块。
头去除单元 402, 用于去除初始信息块 1B的第二同步头, 输出包括 1B的第 一同步头和信息数据的信息块。
纠错译码单元 403 , 包括填充子单元 4031、 译码子单元 4032、 删除子单元 4033、 分离子单元 4034;
填充子单元 4031 , 用于获取包括 N个信息块和相应的 M个校验块的编码序 列 , 编码序列的长度 NxLl + MxL2 < n, L2为校验块的长度, n为 FEC译码所需 要的序列的长度, 在编码序列的设定位置插入 n - (NxLl + MxL2)个填充比特; 译码子单元 4032, 用于对填充后的编码序列进行 FEC(n,k)译码,输出包括 N个信息块的信息序列;
删除子单元 4033,用于将译码子单元 4032输出的信息序列中的填充比特删 除;
分离子单元 4034, 用于将删除填充比特后的信息序列分解成 N个信息块输 出。
线路译码单元 404, 用于对纠错译码单元 403输出的信息块进行线路译码, 输出恢复后的数据。
实施例五、 一种数据编码方法, 本实施例与实施例一的区别在于, 本实施 例在进行 FEC编码之前, 还对信息块序列进行内容排列, 将各个信息块的第一 同步头集中在一起后再进行 FEC编码。 包括步骤: cl ~ c3、 分别与步骤 al ~ a3相同, 不再赘述。
c4、将信息序列中各个信息块 IB的第一同步头集中排列在设定位置。排列 的操作可与步骤 c3的填充操作同步进行, 也可在填充操作之前或之后进行。 通 常集中的 N个第一同步头可排列在信息序列 (不计填充比特)的首或尾。 为便 于处理, 这 N个集中放置的第一同步头, 可按相应的信息块在信息序列中的顺 序进行排序。
c5、 对填充和排列后的信息序列进行 FEC编码生成 M个校验块, 并且也输 出用于编码的填充和排列后的信息序列。
c6、将编码序列的信息序列中集中排列的第一同步头重新排列到相应的信 息块中。 重新排列的操作可与步骤 c7的删除操作同步进行, 也可在删除操作之 前或之后进行。
c7 ~ c9、 分别与步骤 a5 ~ a7相同, 不再赞述。
本实施例中进一步在进行 FEC编码之前, 对信息块序列进行内容排列, 将 各个信息块的第一同步头集中在一起后再进行 FEC编码, 能够增强对第一同步 头的纠错保护, 并且,应用证明, 更便于系统实现。此外, 与实施例一中类似, 本实施例以 FEC编码结果中的信息块作为添加同步头的对象,可以不必緩存步 骤 c2中得到的信息序列, 减少对緩存器的需求。 当然也可以使用步骤 c2中得到 的信息序列,则不必进行步骤 c6与 c7的重排列和删除操作,可以简化处理过程。 实际应用中可根据需要进行选择。
实施例六、 一种数据编码装置, 用于执行实施例五数据编码方法, 逻辑结 构参考图 12, 包括:
线路编码单元 501、 糾错编码单元 502、 头添加单元 503和成帧单元 504, 其 中, 除纠错编码单元 502外,其余单元与实施例二中的同名单元逻辑功能相同。
纠错编码单元 502, 包括收集子单元 5021、 填充子单元 5022、 编码子单元 5023、 删除子单元 5024、 排序子单元 5025、 重排子单元 5026;
收集子单元 5021 , 用于收集 N个信息块, 输出生成的信息序列; 输出的信 息序列长度为 NxLl < k, k为 FEC编码所需要的序列的长度;
排序子单元 5025,用于将收集子单元 5021输出的信息序列中各个信息块的 第一同步头集中排列在设定位置, 将排列后的信息序列输出给填充子单元 5022;
填充子单元 5022, 在排序子单元 5025输出的信息序列的设定位置插入 k - NxLl个填充比特, 将填充后的信息序列输出给编码子单元 5023;
编码子单元 5023 , 用于对输入的信息序列进行 FEC(n,k)编码,输出生成的
M个校验块以及用于编码的填充后的信息序列;
重排子单元 5026,用于将编码子单元 5023输出的信息序列中集中排列的第 一同步头重新排列到相应的信息块中, 输出重新排列后的信息序列;
删除子单元 5024,用于将重排子单元 5026输出的信息序列中的填充比特删 除。
本实施例装置中排序子单元与填充子单元的逻辑位置可互换,删除子单元 与重排子单元的逻辑位置可互换。
实施例七、一种数据译码方法,与实施例五数据编码方法相应, 包括步骤: dl ~ d3、 分别与步骤 bl ~ b3相同, 不再赞述。
d4、 将编码序列中各个信息块 IB的第一同步头集中排列在设定位置; 排 列方式与 FEC编码时相同。 排列的操作可与步骤 d3的填充操作同步进行, 也可 在填充操作之前或之后进行。
d5、 对填充和排列后的编码序列进行 FEC(n, k)译码获得包括 N个信息块的 信息序列。
d6、将 FEC译码得到的信息序列中集中排列的第一同步头重新排列到相应 的信息块中。 重新排列的操作可与步骤 d7的删除操作同步进行,也可在删除操 作之前或之后进行。
d7 ~ d9、 分别与步骤 b5 ~ b7相同, 不再赞述。
实施例八、 一种数据译码装置, 用于执行实施例七数据译码方法, 逻辑结 构参考图 13 , 包括:
接收单元 601、 头去除单元 602、 糾错译码单元 603、 线路译码单元 604, 其 中, 除纠错译码单元 603外,其余单元与实施例四中的同名单元逻辑功能相同。
纠错译码单元 603, 包括填充子单元 6031、 译码子单元 6032、 删除子单元 6033、 分离子单元 6034、 排序子单元 6035、 重排子单元 6036;
排序子单元 6035, 用于获取包括 N个信息块和相应的 M个校验块的编码序 列,将其中各个信息块的第一同步头集中排列在设定位置,将排列后的编码序 列输出给填充子单元 4031;
填充子单元 6031 , 用于在输入的编码序列的设定位置插入 n - (NxLl +
MxL2)个填充比特, NxLl + MxL2 < n, L2为校验块的长度, n为 FEC译码所需 要的序列的长度, 将填充后的编码序列输出给译码子单元 6032;
译码子单元 6032, 用于对输入的编码序列进行 FEC(n,k)译码, 输出包括 N 个信息块的信息序列;
删除子单元 6033,用于将译码子单元 6032输出的信息序列中的填充比特删 除;
重排子单元 6036,用于将删除子单元 6033删除填充比特后的信息序列中集 中排列的第一同步头重新排列到相应的信息块中,输出重新排列后的信息序列 给分离子单元 6034;
分离子单元 4034, 用于将重排子单元 6036输入的信息序列分解成 N个信息 块输出。
本实施例装置中排序子单元与填充子单元的逻辑位置可互换,删除子单元 与重排子单元的逻辑位置可互换。
实施例九、 一种数据编码方法, 本实施例与实施例一和五的区别在于, 本 实施例还为校验块添加同步头。 包括步骤:
el、 对需要传输的输入数据进行线路编码与 FEC编码, 得到包括信息块和 校验块的编码序列; 具体过程与步骤 al ~ a5或步骤 cl ~ c7相同 , 不再赘述。
e2、为编码序列中的信息块添加 IB的第二同步头,为编码序列中的校验块 添加 2B的校验同步头。
这样不管是信息块还是校验块都具有 2B的同步头, 更加有利于接收端的 数据同步。基于第二同步头为第一同步头取反的运算方式, 为便于区别编码块 和校验块, 可将校验同步头设置为 2B全为 0或者全为 1。 此外, 基于提高同步 性能的目的,可按照校验块的排列顺序为各个校验块选择添加全为 0或者全为 1 的校验同步头。 例如, 可按照 "00"、 "11"、 "00"、 "11" 的顺序添加, 也可按照 "00"、 "11"、 "11"、 "00" 的顺序添加。
e3、 与步骤 a7或步骤 c9相同, 不再赞述。
实施例十、 一种数据编码装置, 用于执行实施例九数据编码方法, 逻辑结 构参考图 14, 包括:
线路编码单元 701、 糾错编码单元 702、 头添加单元 703和成帧单元 704, 其 中, 除头添加单元 703外, 其余单元与实施例二或六中的同名单元逻辑功能相 同。
头添加单元 703 ,用于为纠错编码单元 702输出的信息序列中的信息块添加 1B的第二同步头, 为纠错编码单元 702输出的校验块添加 2B的校验同步头。
实施例十一、 一种数据译码方法, 与实施例九数据编码方法相应, 包括步 骤:
fl、 接收数据帧, 所称数据帧包括初始信息块和相应的校验块的; 初始信 息块长度为 (LI + 1)具有 2B数据同步头, 由 1B第一同步头和 1B第二同步头组 成; 校验块具有 2B的校验同步头; 根据数据同步头和校验同步头对数据帧进 行同步, 提取出初始信息块和校验块。
f2、 去除初始信息块 IB的第二同步头获得包括 IB的第一同步头和信息数 据的信息块, 去除校验块 2B的校验同步头获得不带同步头的长度为 L2的校验 块。
β、 使用不带同步头的校验块对信息块进行 FEC译码, 并在 FEC译码后进 行线路译码, 最终恢复数据。 具体过程与步骤 b3 ~ b7或步骤 d3 ~ d9相同, 不再 赘述。
实施例十二、 一种数据译码装置, 用于执行实施例十一数据译码方法, 逻 辑结构参考图 15, 包括:
接收单元 801、 头去除单元 802、 糾错译码单元 803、 线路译码单元 804, 其 中, 除接收单元 801和头去除单元 802外,其余单元与实施例四或八中的同名单 元逻辑功能相同。
接收单元 801 , 用于接收携带有初始信息块和相应的校验块的数据帧, 初 始信息块长度为 (LI + 1)具有 2B数据同步头, 由 1B第一同步头和 1B第二同步头 组成; 校验块具有 2B的校验同步头; 根据数据同步头和校验同步头对数据帧 进行同步, 输出初始信息块和校验块。
头去除单元 802, 用于去除初始信息块 1B的第二同步头, 输出包括 1B的第 一同步头和信息数据的信息块; 去除校验块 2B的校验同步头输出不带同步头 的长度为 L2的校验块。
实施例十三、 一种数据编码方法, 本实施例与实施例一、 五、 九的区别在 于, 本实施例还为信息数据加扰。 包括步骤:
gl、 对长度为 (L1 - 1)的输入数据进行线路编码生成长度为 L1信息块, 信 息块包括信息数据和 1 B的第一同步头。
g2、 对信息块中的信息数据进行加扰。
g3、 对加扰后的信息数据进行 FEC编码并发送; 具体过程与步骤 a2 ~ a7或 步骤 c2 ~ c9相同, 且为编码序列添加同步头的操作可参照步骤 e2 ~ e3执行, 不 再赘述。
需要注意的是在线路编码后进行加扰只对信息块中的信息数据进行加扰 计算, 而不对第一同步头进行加扰计算。
实施例十四、 一种数据编码装置, 用于执行实施例十三数据编码方法, 其 逻辑结构包括:
线路编码单元、加扰单元、糾错编码单元、头添加单元和成帧单元,其中, 除加扰单元外, 其余单元与实施例二或六或十中的同名单元逻辑功能相同。
加扰单元, 用于对线路编码单元输出的信息块中的信息数据进行加扰, 将 加扰后的信息数据输出给纠错编码单元。
实施例十五、 一种数据译码方法, 与实施例十三数据编码方法相应, 包括 步骤:
hl、接收数据帧并进行 FEC译码, 输出包含第一同步头和信息数据的信息 块。具体过程与步骤 bl ~ b6或步骤 dl ~ d8相同,且对数据帧进行同步和去除同 步头的操作可参照步骤 fl ~ f2执行, 不再赘述。
h2、对信息块中的信息数据进行解扰。所采用的解扰方式与发送端的加扰 方式对应。
h3、 对解扰后的信息块进行线路译码恢复数据。
实施例十六、 一种数据译码装置, 用于执行实施例十五数据译码方法, 逻 辑结构包括:
接收单元、 头去除单元、 糾错译码单元、解扰单元、线路译码单元,其中, 除解扰单元外, 其余单元与实施例四或八或十二中的同名单元逻辑功能相同。
解扰单元, 用于对纠错译码单元输出的信息块中的信息数据进行解扰,将 解扰后的信息数据输出给线路译码单元。
为更好的理解上述实施例, 下面给出两个具体用于 10G EPON系统的 PCS 数据编译及收发过程的应用例。 在 EPON系统中, 从光线路终端 (OLT )发送 数据,由光网络单元(ONU )接收数据,称为下行;反之,从光网络单元(ONU ) 发送数据, 由光线路终端(OLT )接收数据, 称为上行。 图 16给出了本发明应 用例中数据的变化情况。 第一行为 N块经过加扰的 64B/65B编码块。 第二行为 经过 FEC编码后得到的帧结构, 其中作为数据部分的 64B/65B编码块的长度为 65 xN, 其前部添加有 "0"以满足此 FEC的数据长度 k, 校验部分的长度为 64χΜ。 第三行为添加了同步比特后的 FEC编码帧,在每个 64Β校验块前添加了 2比特的 同步头成为 66Β的校验块, 在每个 65Β数据块前面添加了 1个比特的控制信息 (当然也可以在每个 65Β编码块的数据 /控制头和 64比特数据之间添加该 1比特 的控制信息)。图 17为本发明应用例中的上行和下行数据在不同子层的流程图。
应用例一、 本应用例中, 使用 64Β/65Β线路编码, FEC编码后为信息块添 加 1B同步头, 为校验块添加 2Β同步头。
参考图 18, 发送端流程包括:
( 1 ) 64Β/65Β编码过程
EPON系统中, 从媒体接入控制层中的调和子层传送的数据信息、 控制信 息和时钟信息经过 10G媒体无关接口 (XGMII )后进入物理编码子层。 每个 XGMII传输帧包含 32比特数据 TXD<31: 0>和 4比特控制信息 TXC<3: 0>。 64B/65B编码器根据其控制信息, 将连续的两个 XGMII传输帧映射到一个 65比 特的 64B/65B编码块中, 其中包含 64比特的数据信息和 1比特的数据 /控制头。 利用该 1比特的数据 /控制头可以区分此编码块装载的 64比特数据信息的类型, 为" 0"时表示所传送的 64比特信息为数据信息; 为 "1"时表示所传送的 64比特信 息包含有控制信息。
( 2 )加扰过程
每个 64B/65B编码块中的 64比特的数据信息 D0 ~ D7 (每个 8B )进入到一 个自同步的扰码器进行加扰, 输出 SO ~ S7 (每个 8B )。 主( MASTER )扰码器 的表达式为: G(x) = 1 + X39 + x58。 从( SLAVE )扰码器的表达式为: G(x) = 1 + x19 + x58。 经过加扰后可以保证所传送的数据的电平有足够的切换, 便于在 接收端进行时钟恢复。
( 3 ) FEC编码过程
将加扰后的数据与数据 /控制头一起作为 FEC编码器的输入数据比特送入 到緩存器中,等緩存器中的数据比特构成一个 FEC编码数据帧时再一并送入到
FEC编码器进行编码。
通常緩存器需要收集 N个 65B的编码块,其中 N的具体数值是由选定的 FEC 码字 (n,k)以及系统的一些特殊的要求(比如系统对经过编码后的 65B数据块 和 64B校验块两者总的块数有要求, 例如要求为 5的倍数) 来决定的。 对于选 定的 FEC码字而言, FEC码字中的数据部分最多所包含的 65B编码块的块数 T 为:
k_
T = 其中
65 L」表示向下取整 如果选定的 N的取值为 T, 则当 k不能被 65整除, 即 k - Nx65≠0时, 需要在这 N 个 65B编码块前添加 (k - Tx65)个" 0", 如果选定的 N的取值小于 T, 则需要在 Ν 个 65Β编码块前添加 (k - Nx65)个" 0"; 然后将添加" 0"后的 N个 65B编码块送入 到 FEC编码器进行编码。
为了便于进行同步, 通常经过 FEC编码后 FEC码字的校验比特为 64的整倍 数。 即 n - k能够被 64整除, 校验块的块数M = (n - k)/64。 下面分别以 RS(255, 239)、 RS(255, 231)以及 RS(255, 223)为例来说明 FEC编码具体的成帧过程。 其 中, 所述 RS(255, 239)、 RS(255, 231)以 RS(255, 223)可以分别统称为: 第一 编码器 RS、 第二编码器 RS和第三编码器 RS。
如果选择的 FEC码字为 RS(255, 239), 其码长为 n = 255x8 = 2040, 数据长 度 k = 239x8 = 1912, 此码字校—险信息的长度为 n - k = 128。 T = = 29。 如果 Ν的 取值选为 Τ = 29, 即需要 29个 65Β编码块进行编码。 由于 1912 - 29x65 = 27, 因 此需要在编码块前面添加 27比特的 "0", 然后送入到 RS(255, 239)中进行编码。 编码后产生的校验块的块数 M = 128/64 = 2。 如果 N的取值选为 28 , 即需要 28 个 65B编码块进行编码, 则需要在编码块前面添加 27 + 65 = 92个" 0"。 经过 RS(255, 239)编码后, 得到 28个 65B数据块和 2个 64B校验块共计 30个块。
如果选定的 FEC码字为 RS(255,231), 其码长 n为 2040, 数据长度 k为 1848, T = 28。 如果 Ν也选择 28, 则需要在编码块的前面添加 28个" 0", 其校验块的块 数 Μ为 3。 如果 Ν的取值为 27, 则需要添加" 0"的个数为 93。 经过编码后, 得到 27个 65Β数据块和 3个 64Β校验块, 共计 30个块。
如果选定的 FEC码字为 RS(255,223), 其码长 n为 2040, 数据长度 k为 1784, T = 27。 如果 Ν也选择 27, 则需要在编码块的前面添加 29个" 0", 其校验块的块 数 Μ为 4。 如果 Ν的取值为 26, 则需要添加" 0"的个数为 94。 经过编码后, 得到 26个 65Β数据块和 4个 64Β校 -险块, 共计 30个块。
( 4 )删除" 0"/添加同步比特
由于在进行 FEC编码前为了达到 FEC数据长度 k而添加的" 0"比特是不携带 任何信息的, 不需要在信道中进行传输。 因此经过 FEC编码后需要将所添加的 "0"比特进行删除。
为了在接收端能够更好的对编码块和 FEC码字进行同步, 对 FEC编码后的 码字添加同步比特。 对于 65B编码块, 在其前面添加 1比特, 此比特为 65B编码 块数据 /控制头的取反。 添加的比特和数据控制头一起组成数据同步头。 对于 64B校验块, 在其前面添加 2比特的校验同步头, 校验同步头可以为" 00"或者 "11"。
如果 FEC码字选择为 RS(255,239), 则其校验块的块数 M为 2, 那么校验块 同步头可以添加为" 00"、 "11"。 即第 1个校验块的同步头为 "00" , 第二个校验 块的同步头为 "11"。 也可以添加为 "11"、 "00"。
如果 FEC码字选择为 RS(255,223), 则其校验块的块数 M为 4, 那么校验块 同步头有多达 24 = 16种添加方法。 不同的添加方法对系统同步的性能是有影响 的。其中 4个校验块的校验同步头依次添加为 "00"、 "11"、 "11"、 "00"或者" 11"、 "00"、 "00"、 "11"可以实现很好的同步效果。
( 5 )成帧和发送
删除" 0"和添加同步比特后的帧构成传送帧。 由于物理编码子层数据宽度 为 66比特, 而 PMA层数据宽度为 16比特, 为了使得速率匹配, 需要将传送帧 送入到 GearBox单元, 变成 PMA可以接收的数据方式。
参考图 19, 接收端流程包括:
( 1 ) FEC帧同步
在接收端, 从光纤接收的数据传送到 PMD、 PMA^进入到物理编码子层。 在物理编码子层先对接收的数据进行帧同步。
由于一个接收帧中包含 N个 66B数据块和 M个 66B校验块,而且每个数据块 和校验块中有 2比特的同步头, 利用这些信息可以对从 PMA传送的数据进行帧 同步。完成帧同步后,便可以知道接收帧的开始和结束,即可以得到完整的 FEC 帧便于进行译码。
( 2 ) 添加" 0"/去除同步比特
完成帧同步后, 在接收帧中将 66B校验块的 2比特的同步头去除, 成为 64B 的校验比特。 同时将 66B数据块中的第 1个同步头去除, 成为 65B的数据块。
同时为了进行 FEC译码的需要, 在数据块前面添加" 0"比特, 添加的数目 和发送端一致。 比如对于 RS(255, 239)需要添加 27个" 0", 对于 RS(255, 223)需 要添加 29个" 0"。
( 3 ) FEC译码
将经过添加" 0"/去除同步比特操作的接收帧送入到 FEC译码器进 ^ 码 , 在译码得到的序列中删除之前添加的" 0", 从而得到 N个 65B编码块。
( 4 )解扰
对 N个 65B编码块进行分离, 然后对每个 65B编码块进行处理。 首先对 65B 编码块中的 64比特数据进行解扰。 解扰过程和加扰过程完全一致。
( 5 ) 64B/65B译码
将解扰后的 65B编码块根据 64B/65B编码规则进行映射, 恢复为 2个 XGMII 帧。 然后传送到上层进行相关处理。
应用例二、 本应用例与应用例一的主要区别在于, 在进行 FEC编码之前将 线路编码得到的数据 /控制头集中在一起。
在经过 64B/65B编码的编码块中 , 位于第 1个比特的数据 /控制头是十分重 要的, 它决定着物理层编码子层的 64比特数据和 XGMII接口的映射关系。如果 此比特发生错误的话, 就可能导致映射错误,从而导致传递到上层的数据发生 错误。 本应用例采用在一个 FEC帧中将收集的 N个 65B编码块的数据 /控制头放 置在一起进行保护的方法。 能够提高数据 /控制头的抗干扰能力, 也便于工业 上的实现。 图 20给出了本应用例的 FEC帧结构, 其数据部分包含添加的" 0"比 特信息、集中排列的 N个 65B编码块的数据 /控制头以及 N个 65B编码块装载的 64 比特信息; 其校验部分包含 M个 64比特的校验块。
在采用 RS码进行 FEC编码时,由于 RS是基于符号的多元编码,对于 RS(255,
239)、 RS(255,231)和 RS(255,223)而言, 是将每 8比特映射为 1个符号, 然后再 进行编码。 而在译码时也是以符号为单位,也就是说如果某个符号能够在译码 时正确译出, 那么这个符号对应的所有 8个比特都可以正确译出。 因此将所有 的数据 /控制头放在一起能够得到有效的保护。
参考图 21。 对于 RS(255,239)对应的 FEC帧而言, 如果选择 N的取值为 29, 将其 29个数据 /控制头放置在一起, 然后前面添加 27个" 0"。 由于 RS(255, 239) 是将 8比特映射为一个符号, 因此在进行 FEC成帧时可以进行如图 21上半部分 所示的映射。 将添加的 27个" 0"中的前 24个映射为 3个符号, 然后将后 3个" 0"和 29个数据 /控制头中的前 5个映射为 1个符号,然后将后 24个数据 /控制头映射为 3 个符号。 如果选择 N的取值为 28, 28数据 /控制头放置在一起, 然后在前面添加 92个" 0"。 其 FEC成帧的映射方式如图 21下半部分所示, 将添加的 92个" 0"中的 前 88个映射为 11个符号, 然后将后 4个" 0"和 28个数据 /控制头中的前 4个映射为 1个符号, 然后将后 24个数据 /控制头映射为 3个符号。
参考图 22。 对于 RS(255,231)对应的 FEC帧而言, 如果选择 N的取值为 28, 将其 28个数据 /控制头放置在一起, 然后在前面添加 28个" 0"。 FEC成帧可以进 行如图 22上半部分所示的映射, 将添加的 28个" 0"中的前 24个映射为 3个符号, 然后将后 4个" 0"和 28个数据 /控制头中的前 4个映射为 1个符号, 然后将后 24个 数据 /控制头映射为 3个符号。如果选择 N的取值为 27,数据 /控制头放置在一起, 然后在前面添加 93个" 0"。 其 FEC成帧的映射方式如图 22下半部分所示, 将添 加的 93个" 0"中的前 88个映射为 11个符号, 然后将后 5个" 0"和 27个数据 /控制头 中的前 3个映射为 1个符号, 然后将后 24个数据 /控制头映射为 3个符号。
参考图 23。 对于 RS(255,223)对应的 FEC帧而言, 如果选择 N的取值为 27, 将其 27个数据 /控制头放置在一起, 然后在前面添加 29个" 0"。 FEC成帧可以进 行如图 23上半部分所示的映射, 将添加的 29个" 0"中的前 24个映射为 3个符号, 然后将后 5个" 0"和 27个数据 /控制头中的前 3个映射为 1个符号, 然后将后 24个 数据 /控制头映射为 3个符号。如果选择 N的取值为 26,数据 /控制头放置在一起, 然后前面添加 94个" 0"。 其 FEC成帧的映射方式如图 23下半部分所示, 将添加 的 94个" 0"中的前 88个映射为 11个符号, 然后将后 6个" 0"和 26个数据 /控制头中 的前 2个映射为 1个符号, 然后将后 24个数据 /控制头映射为 3个符号。
本应用例的发送和接收端流程分别参见图 24和图 25,具体执行过程与应用 例一基本一致, 只是增加了编译码前后的排列和重排操作, 在此不再赘述。
本领域普通技术人员可以理解上述实施例和应用例的各种方法中的全部 或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一计算 机可读存储介质中, 存储介质可以包括: ROM、 RAM, 磁盘或光盘等。 据编码装置、数据译码装置进行了详细介绍,本发明实施例中应用了具体个例 对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解 本发明的方法及其核心思想; 同时, 对于本领域的一般技术人员, 依据本发明 的思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书 内容不应理解为对本发明的限制。

Claims

权 利 要 求
1、 一种数据编码方法, 其特征在于, 包括:
对输入数据进行线路编码生成信息块,所述信息块包括信息数据和第一同 步头;
对所述信息块进行前向纠错编码生成校验块;
为所述信息块添加第二同步头;
生成发送数据帧 ,所述发送数据帧包括添加了第二同步头的信息块和相应 的校验块。
2、根据权利要求 1所述的数据编码方法, 其特征在于, 所述对信息块进行 前向纠错编码生成校验块的步骤包括:
收集 N个信息块生成信息序列;
将所述信息序列中各个信息块的第一同步头集中排列在设定位置; 对所述信息序列进行前向纠错编码生成 M个校验块。
3、根据权利要求 2所述的数据编码方法, 其特征在于, 所述前向纠错编码 的输出结果为包括所述信息序列和 M个校验块的编码序列 ,在进行所述前向纠 错编码后, 还包括以下步骤:
将所述编码序列的信息序列中集中排列的第一同步头重新排列到相应的 信息块中;
所述为信息块添加第二同步头包括:为所述重新排列后的编码序列中的各 个信息块分别添加第二同步头。
4、 根据权利要求 1 ~ 3任意一项所述的数据编码方法, 其特征在于, 在所 述生成发送数据帧的步骤之前还包括以下步骤:
为所述校验块添加校验同步头;
所述发送数据帧中包括的校验块包括: 为所述添加了校验同步头的校验 块。
5、根据权利要求 4所述的数据编码方法, 其特征在于, 所述前向纠错编码 为 RS编码, 所述 RS编码的码字长度为 255, 信息长度为 239; 或者为 RS编码, 所述 RS编码的码字长度为 255, 信息长度为 231 ; 或者为 RS编码, 所述 RS编码的码字长度为 255, 信息长度为 223, 且, 所 述为校验块添加校验同步头的步骤具体为: 按照" 00"、 "11"、 "11"、 "00"或者 "11"、 "00"、 "00"、 "11"的顺序为 RS编码生成的 4个校验块各添加 2比特的校验 同步头。
6、 根据权利要求 1 ~ 5任意一项所述的数据编码方法, 其特征在于, 所述 为信息块添加的第二同步头具体采用如下方式获得:
对所述信息块的第一同步头进行设定运算得到该信息块的第二同步头。
7、根据权利要求 6所述的数据编码方法, 其特征在于: 所述设定运算为按 位取反。
8、 根据权利要求 1 ~ 5任意一项所述的数据编码方法, 其特征在于: 所述 线路编码为 64B/65B编码, 或者为 32B/33B编码。
9、 一种数据译码方法, 其特征在于, 包括:
接收数据帧, 所述数据帧包括初始信息块和相应的校验块, 所述初始信息 块包括由第一和第二同步头组成的数据同步头,根据所述数据同步头对接收的 数据帧进行同步, 提取出所述初始信息块和校验块;
去除所述初始信息块的第二同步头获得包括第一同步头和信息数据的信 息块;
使用所述校验块对所述信息块的第一同步头和信息数据进行前向纠错译 码;
对前向纠错译码后的信息块进行线路译码。
10、 根据权利要求 9所述的数据译码方法, 其特征在于, 所述使用校验块 对信息块进行前向纠错译码的步骤包括:
获取包括 N个信息块和相应的 M个校验块的编码序列, 将所述编码序列中 各个信息块的第一同步头集中排列在设定位置;
对所述编码序列进行前向纠错译码获得包括 N个信息块的信息序列; 将信息序列中集中排列的第一同步头重新排列到相应的信息块中; 将所述重新排列后的信息序列分解成 N个信息块。
11、 根据权利要求 9或 10所述的数据译码方法, 其特征在于: 所述数据帧 携带的校验块还具有校验同步头; 在对数据帧进行同步时,是根据所述数据同 步头和校验同步头对数据帧进行同步;在使用校验块对信息块进行前向纠错译 码前, 去除校验块的校验同步头。
12、 一种数据编码装置, 其特征在于, 包括:
线路编码单元, 用于对输入数据进行线路编码, 输出生成的信息块, 所述 信息块包括信息数据和第一同步头;
纠错编码单元,用于对所述信息块进行前向纠错编码,输出生成的校验块; 头添加单元, 用于为所述信息块添加第二同步头;
成帧单元, 用于生成发送数据帧, 所述发送数据帧包括添加了第二同步头 的信息块和相应的校验块。
13、根据权利要求 12所述的数据编码装置, 其特征在于, 所述纠错编码单 元包括:
收集子单元, 用于收集 N个信息块, 输出生成的信息序列;
排序子单元,用于将所述收集子单元输出的信息序列中各个信息块的第一 同步头集中排列在设定位置, 并输出排列后的信息序列;
编码子单元, 用于接收排序子单元输出的所述信息序列, 并对接收到的所 述信息序列进行前向纠错编码 , 输出生成的 M个校验块。
14、 根据权利要求 13所述的数据编码装置, 其特征在于,
所述编码子单元还用于,将接收到的所述信息序列和 M个校验块一起作为 编码序列输出;
所述糾错编码单元还包括: 重排子单元, 用于将所述编码子单元输出的信 息序列中集中排列的第一同步头重新排列到相应的信息块中,输出重新排列后 的信息序列;
所述头添加单元用于,为所述纠错编码单元输出的信息序列中的各个信息 块分别添加第二同步头。
15、根据权利要求 12 ~ 14任意一项所述的数据编码装置, 其特征在于: 所 述头添加单元还用于, 为所述校验块添加校验同步头; 所述成帧单元生成的发 送数据帧中包括的校验块为所述添加了校验同步头的校验块。
16、 一种数据译码装置, 其特征在于, 包括:
接收单元,用于接收数据帧 ,所述数据帧包括初始信息块和相应的校验块, 所述初始信息块包括由第一和第二同步头组成的数据同步头;根据所述数据同 步头对数据帧进行同步, 输出所述初始信息块和校验块;
头去除单元, 用于去除所述初始信息块的第二同步头,输出包括第一同步 头和信息数据的信息块;
纠错译码单元,用于使用所述校验块对所述信息块的第一同步头和信息数 据进行前向纠错译码, 输出前向纠错译码后的信息块;
线路译码单元, 用于对前向纠错译码后的信息块进行线路译码,输出恢复 后的数据。
17、根据权利要求 16所述的数据译码装置, 其特征在于, 所述纠错译码单 元包括:
排序子单元, 用于获取包括 N个信息块和相应的 M个校验块的编码序列 , 将所述编码序列中各个信息块的第一同步头集中排列在设定位置,输出排列后 的编码序列;
译码子单元, 用于输入编码序列, 进行前向纠错译码, 输出包括 N个信息 块的信息序列;
重排子单元,用于将所述译码子单元输出的信息序列中集中排列的第一同 步头重新排列到相应的信息块中, 输出重新排列后的信息序列;
分离子单元, 用于将所述重排子单元输出的信息序列分解成 N个信息块输 出。
18、根据权利要求 16或 17所述的数据译码装置, 其特征在于, 所述接收单 元接收的数据帧携带的校验块还具有校验同步头;所述接收单元在对数据帧进 行同步时, 是根据所述数据同步头和校验同步头对数据帧进行同步;
所述头去除单元还用于, 去除所述接收单元输出的校验块的校验同步头。
PCT/CN2008/072975 2007-11-12 2008-11-07 Procédé et dispositif de codage de données et de décodage de données WO2009067899A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP08855285A EP2209216A4 (en) 2007-11-12 2008-11-07 METHOD AND DEVICE FOR DATA CODING AND DECODING
US12/778,594 US8375276B2 (en) 2007-11-12 2010-05-12 Method and apparatus for encoding and decoding data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2007101867038A CN101436917B (zh) 2007-11-12 2007-11-12 用于以太网无源光网络的数据编译码方法及装置
CN200710186703.8 2007-11-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/778,594 Continuation US8375276B2 (en) 2007-11-12 2010-05-12 Method and apparatus for encoding and decoding data

Publications (1)

Publication Number Publication Date
WO2009067899A1 true WO2009067899A1 (fr) 2009-06-04

Family

ID=40678023

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/072975 WO2009067899A1 (fr) 2007-11-12 2008-11-07 Procédé et dispositif de codage de données et de décodage de données

Country Status (4)

Country Link
US (1) US8375276B2 (zh)
EP (1) EP2209216A4 (zh)
CN (1) CN101436917B (zh)
WO (1) WO2009067899A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2955868A1 (en) * 2009-12-16 2015-12-16 Huawei Technologies Co., Ltd. Header error control protected ten gigabit passive optical network downstream frame synchronization pattern
CN109787641A (zh) * 2017-11-15 2019-05-21 中兴通讯股份有限公司 staircase码的解码方法、装置及存储介质
WO2019201316A1 (zh) * 2018-04-19 2019-10-24 华为技术有限公司 数据编译码方法和装置、olt、onu和pon系统

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011050529A1 (zh) * 2009-10-30 2011-05-05 华为技术有限公司 在光网络中发送下行帧的方法及相关装置
WO2012005544A2 (ko) * 2010-07-08 2012-01-12 한국전자통신연구원 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치
KR20120005371A (ko) 2010-07-08 2012-01-16 한국전자통신연구원 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치
US9143306B2 (en) * 2011-10-12 2015-09-22 Nxp B.V. Device and method for encoding bits to symbols for a communication system
WO2012163033A1 (zh) * 2011-10-31 2012-12-06 华为技术有限公司 数据发送器、数据接收器和帧同步方法
WO2013185355A1 (zh) * 2012-06-15 2013-12-19 华为技术有限公司 数据处理方法、装置及系统
US8767762B2 (en) * 2012-06-22 2014-07-01 Texas Instruments Incorporated Physical transceiver gearbox
WO2014040247A1 (zh) * 2012-09-12 2014-03-20 华为技术有限公司 Fec码字到物理资源块的适配方法、fec码字同步方法及系统
BR112015014405B1 (pt) 2012-12-18 2022-05-17 Huawei Technologies Co., Ltd. Método de comunicações para um sistema de rede óptica, dispositivo de rede óptica e sistema de comunicações
CN103199876B (zh) * 2013-04-11 2016-08-10 华为技术有限公司 实现软判决fec译码的方法及装置
CN104185094A (zh) * 2013-05-24 2014-12-03 华为技术有限公司 传输数据的方法、装置和系统
WO2015006947A1 (zh) * 2013-07-18 2015-01-22 华为技术有限公司 一种低码率的编码方法和设备
US9270415B2 (en) * 2014-02-03 2016-02-23 Valens Semiconductor Ltd. Encoding payloads according to data types while maintaining running disparity
US10164733B2 (en) * 2014-06-30 2018-12-25 International Business Machines Corporation Integrated physical coding sublayer and forward error correction in networking applications
CN105871512B (zh) * 2016-05-13 2019-04-12 华为技术有限公司 一种数据传输方法及装置
US10685710B2 (en) * 2016-11-17 2020-06-16 Toshiba Memory Corporation Memory controller
CN108347292A (zh) * 2017-01-22 2018-07-31 深圳市中兴微电子技术有限公司 一种物理编码子层的数据编解码方法和装置
CN108631908B (zh) * 2017-03-21 2022-03-01 中兴通讯股份有限公司 使用FlexE承载信号帧的方法、FlexE信号帧还原的方法及装置
CN109756293B (zh) * 2017-11-01 2021-12-07 中兴通讯股份有限公司 一种以太网中处理数据的方法及物理层芯片
CN109995434B (zh) * 2017-12-29 2020-09-08 华为技术有限公司 一种数据传输方法、通信设备及存储介质
CN111416630A (zh) * 2020-03-05 2020-07-14 烽火通信科技股份有限公司 一种编译码方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010010456A (ko) * 1999-07-20 2001-02-15 윤종용 멀티 캐리어 코드분할다중접속 비동기전송모드의 송수신시스템
CN1744484A (zh) * 2005-07-25 2006-03-08 深圳市好易通科技有限公司 无线数字信令的编码及解码方法
CN1754221A (zh) * 2003-01-21 2006-03-29 Lg电子株式会社 编码和解码纠错块的方法
CN1823526A (zh) * 2003-07-15 2006-08-23 三星电子株式会社 能够改进接收性能的数字广播发送/接收及其信号处理方法
CN1964354A (zh) * 2005-11-07 2007-05-16 美国博通公司 分块编码器、解码器和编码数据块的方法
CN101035295A (zh) * 2007-04-16 2007-09-12 北京航空航天大学 一种地面数字电视系统中的帧同步产生方法及其装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0684712B1 (en) * 1994-05-17 2005-05-04 Nippon Telegraph And Telephone Corporation Line terminating equipment in SDH networks, using forward error correcting codes
US6493838B1 (en) * 1995-09-29 2002-12-10 Kabushiki Kaisha Toshiba Coding apparatus and decoding apparatus for transmission/storage of information
US6718491B1 (en) 2000-03-06 2004-04-06 Agilent Technologies, Inc. Coding method and coder for coding packetized serial data with low overhead
US6892336B1 (en) * 2000-03-17 2005-05-10 Applied Micro Circuits Corporation Gigabit ethernet performance monitoring
US6628725B1 (en) * 2001-03-28 2003-09-30 Ciena Corporation Method and system for encoding data for transmission over a serial link
JP3891841B2 (ja) * 2002-01-07 2007-03-14 富士通株式会社 伝送システム
US7284182B2 (en) * 2003-07-30 2007-10-16 Alcatel Error correction on M-bit encoded links
KR100692596B1 (ko) * 2004-05-06 2007-03-13 삼성전자주식회사 수신 성능이 향상된 디지털 방송 송수신 시스템 및 그의신호처리방법
JP2006135871A (ja) * 2004-11-09 2006-05-25 Fujitsu Ltd フレーム伝送装置およびフレーム受信装置
US7676733B2 (en) * 2006-01-04 2010-03-09 Intel Corporation Techniques to perform forward error correction for an electrical backplane
CN101267210B (zh) 2007-03-12 2011-01-05 华为技术有限公司 数据编译码和收发方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010010456A (ko) * 1999-07-20 2001-02-15 윤종용 멀티 캐리어 코드분할다중접속 비동기전송모드의 송수신시스템
CN1754221A (zh) * 2003-01-21 2006-03-29 Lg电子株式会社 编码和解码纠错块的方法
CN1823526A (zh) * 2003-07-15 2006-08-23 三星电子株式会社 能够改进接收性能的数字广播发送/接收及其信号处理方法
CN1744484A (zh) * 2005-07-25 2006-03-08 深圳市好易通科技有限公司 无线数字信令的编码及解码方法
CN1964354A (zh) * 2005-11-07 2007-05-16 美国博通公司 分块编码器、解码器和编码数据块的方法
CN101035295A (zh) * 2007-04-16 2007-09-12 北京航空航天大学 一种地面数字电视系统中的帧同步产生方法及其装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2955868A1 (en) * 2009-12-16 2015-12-16 Huawei Technologies Co., Ltd. Header error control protected ten gigabit passive optical network downstream frame synchronization pattern
EP3447947A1 (en) * 2009-12-16 2019-02-27 Huawei Technologies Co., Ltd. Header error control protected ten gigabit passive optical network downstream frame synchronization pattern
CN109787641A (zh) * 2017-11-15 2019-05-21 中兴通讯股份有限公司 staircase码的解码方法、装置及存储介质
CN109787641B (zh) * 2017-11-15 2024-02-06 中兴通讯股份有限公司 staircase码的解码方法、装置及存储介质
WO2019201316A1 (zh) * 2018-04-19 2019-10-24 华为技术有限公司 数据编译码方法和装置、olt、onu和pon系统

Also Published As

Publication number Publication date
EP2209216A4 (en) 2010-12-29
US20100223535A1 (en) 2010-09-02
US8375276B2 (en) 2013-02-12
CN101436917B (zh) 2012-06-27
CN101436917A (zh) 2009-05-20
EP2209216A1 (en) 2010-07-21

Similar Documents

Publication Publication Date Title
WO2009067899A1 (fr) Procédé et dispositif de codage de données et de décodage de données
KR101363541B1 (ko) 데이터를 부호화 및 복호화하기 위한 방법 및 장치
CN103797742B (zh) 以太网中处理数据的方法、物理层芯片和以太网设备
US8472478B2 (en) Communication system and encoding method having low overhead
JP4739332B2 (ja) Fecコード化されたイーサネット(登録商標)フレームにおけるデータをデリニエートするための方法および装置
US9054894B2 (en) Signal block sequence processing method and signal block sequence processing apparatus
CN101312349B (zh) 信息块编码及同步检测的方法和装置
US6628725B1 (en) Method and system for encoding data for transmission over a serial link
JP5522547B2 (ja) データエラー報告を実現するための方法およびデバイス
CN101312385B (zh) 信息编码译码方法及装置
WO2009006818A1 (fr) Procede et equipement de formation de trames de donnees
CN101488820A (zh) 数据发送方法、数据接收方法及相关设备
JPH09219698A (ja) 高速通信における誤り訂正方法

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: 08855285

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008855285

Country of ref document: EP