WO2022068658A1 - 一种无源光网络系统中的数据处理方法和数据处理设备 - Google Patents

一种无源光网络系统中的数据处理方法和数据处理设备 Download PDF

Info

Publication number
WO2022068658A1
WO2022068658A1 PCT/CN2021/119755 CN2021119755W WO2022068658A1 WO 2022068658 A1 WO2022068658 A1 WO 2022068658A1 CN 2021119755 W CN2021119755 W CN 2021119755W WO 2022068658 A1 WO2022068658 A1 WO 2022068658A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
information
data stream
synchronization information
synchronization
Prior art date
Application number
PCT/CN2021/119755
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 EP21874319.3A priority Critical patent/EP4210251A4/en
Publication of WO2022068658A1 publication Critical patent/WO2022068658A1/zh
Priority to US18/192,121 priority patent/US20230246741A1/en

Links

Images

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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • 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
    • 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
    • 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/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0075Arrangements for synchronising receiver with transmitter with photonic or optical means
    • 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/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a data processing method and data processing device in a passive optical network system.
  • a passive optical network (PON) system may include: an optical line terminal (OLT) at the central office, an optical network unit (ONU) at the user side, and an optical distribution network (optical distribution network). distribution network, ODN).
  • OLT optical line terminal
  • ONU optical network unit
  • ODN optical distribution network
  • the OLT provides a network-side interface for the PON system and connects to one or more ODNs.
  • the ONU provides the user-side interface for the PON system, and the ONU is connected to the ODN.
  • the data transmission from the OLT to the ONU is called downlink transmission, and conversely, the data transmission from the ONU to the OLT is called uplink transmission.
  • the ONU's upstream operating clock and sending time slot need to be obtained from the downstream data stream.
  • the ONU After the ONU is powered on, it enters the first working state. In this working state, the ONU needs to synchronize the downlink data frame. In this process, the ONU needs to complete downlink clock synchronization, downlink data stream synchronization, and downlink data frame synchronization.
  • the current PON system has various implementation forms, such as the current XG(S)PON system, the current 10G EPON system and the 2*25G EPON system, and different PON systems use different data processing mechanisms and different downlink synchronization
  • the continuous evolution of the PON system there will be higher-speed PON systems, such as 50G PON systems.
  • high-speed PON system there will be the problem of error diffusion and the inability to perform downlink synchronization.
  • Embodiments of the present application provide a data processing method and data processing device in a passive optical network system, which are used to solve the problem of bit error diffusion in a high-speed PON system and realize downlink synchronization in a high-speed PON system.
  • an embodiment of the present application provides a data processing method in a passive optical network system, including: receiving a data stream sent by an encoding end, wherein the data stream is a bit stream using interleaving encoding, and the data stream Including synchronization information, the synchronization information is distributed in the data stream according to the first arrangement interval; the first data information is obtained from the data stream according to the first value interval and the first value length, and the first value is obtained from the data stream.
  • the value interval is equal to the first arrangement interval, and the difference between the first value length and the length of the synchronization information is less than or equal to a preset error value; when the first data information and the synchronization information When the similarity between the information exceeds a preset similarity threshold, the data stream is deinterleaved according to the starting position of the first data information.
  • the synchronization information and data blocks in the data stream sent by the encoder are interleaved together, and the synchronization information interval is distributed in the data stream.
  • the data stream can be adjusted according to the first value interval and value length Sampling is performed to obtain first data information, the first data information is obtained by taking values from the data stream according to the value length, and the first data information is obtained by taking values from the data stream according to the value interval.
  • the similarity between the data information and the synchronization information exceeds the similarity threshold, the starting position of the first data information can be used to deinterleave the data stream, and finally the synchronization information in the data stream can be obtained, which is applicable to the embodiments of the present application.
  • the scenario of data stream interleaving coding in high-speed PON system it solves the problem that the downlink synchronization cannot be determined when the data stream adopts interleaving coding.
  • acquiring the first data information from the data stream according to a first value interval and a first value length includes: acquiring a length of P ⁇ N bits from the data stream.
  • the first data substream wherein the P is the length of the synchronization information, the N is the number of code blocks for the interleaving encoding, and the code blocks include at least one code word; according to the first value interval and the first value length to obtain the first data information including P bits of data from the first data substream, wherein the value interval is (N-1) ⁇ k bits, and the k is the The granularity of the interleaving coding, and the ⁇ represents a multiplication operation.
  • the decoding end obtains k bits of data from the first data substream at a time according to the interval corresponding to the first value interval, and the first value interval is further separated.
  • the value interval can obtain k bits of data from the first data substream multiple times, and then all the obtained k bits of data can be connected to obtain p bits of data, for example, the size of the value interval is (N -1) ⁇ k bits, then every interval "(N-1) ⁇ k bits", take out k bits of data, and then combine all the obtained k bits of data together, you can get P bits of data
  • the first data information can be used to determine whether it is similar to the synchronization information.
  • the decoding end can obtain the first data information of the same length as the synchronization information in the above-mentioned manner.
  • the obtaining the first data information including P bits of data from the first data substream according to the first value interval and the first value length includes: A data substream is divided into P/k data sets, wherein each data set includes N ⁇ k bit data, and the / represents a division operation; from each data set in the P/k data sets K bits of data are obtained from the set, wherein the first data information includes: P bits of data obtained from the P/k data sets in total.
  • the decoding end may acquire the first data information of the same length as the synchronization information in the above manner.
  • the method further includes: obtaining from the data stream a length of A second data substream of P ⁇ N bits, wherein at least one different bit of data exists in the second data substream and the first data substream; according to the first value interval and the first value length Obtain second data information including P bits of data from the second data substream; when the similarity between the second data information and the synchronization information exceeds the similarity threshold, according to the first
  • the data stream is deinterleaved at the starting position of the second data information.
  • the decoding end adopts the polling process.
  • the synchronization information is obtained from the data stream.
  • the similarity between the information and the synchronization information does not exceed the similarity threshold, the synchronization information is obtained from the data stream.
  • the decoding end The third data substream may also be acquired from the data stream until data information similar to the synchronization information is acquired.
  • the method further includes: determining the starting position of the first data information as The first bit in the first data information; taking the first bit as the start boundary of downlink synchronization, and performing forward error correction (FEC) decoding on the data stream.
  • FEC forward error correction
  • the decoding end determines that the starting position of the first data information is the first bit in the first data information , that is, the decoding end finds the first bit in the first data information, and the first bit is the delimiter for the decoding end to perform downlink synchronization.
  • the FEC decoding is performed to realize the FEC decoding of the received data stream by the decoding end, so that the decoding end can obtain the original data block before the encoding end performs FEC encoding, and the decoding end obtains the content of the encoded and transmitted data block.
  • the method further includes: if performing FEC decoding on the data stream The FEC decoding succeeds, and it is determined that the first bit in the first data information is the start boundary of the downlink synchronization.
  • the FEC decoding performed by the decoding end can be implemented by an FEC decoder, and the FEC decoder can output a flag indicating whether the decoding is successful.
  • the first bit of the first data information is correct as the starting position of the synchronization information.
  • the decoding end determines that the first bit in the first data information is the starting boundary of the downlink synchronization, which further verifies that the decoding end obtains The correctness of downlink synchronization when using interleaved coding in PON systems.
  • the method further includes: determining the starting position of the first data information as The first bit in the first data information; the first bit is used as the start boundary of downlink synchronization, and a preset scrambling code is used to descramble the data stream.
  • the encoding end can determine the preset scrambling code, and then use the scrambling code to scramble the data stream. For the scrambling process And the algorithm used is not limited.
  • the decoding end since the encoding end scrambles the data stream, after the decoding end determines the position of the synchronization information in the data stream, the data stream can also be descrambled.
  • the decoding end needs to perform the correct descrambling code based on the correct downlink synchronization, so as to realize the descrambling code for the received data stream.
  • an embodiment of the present application further provides a data processing method in a passive optical network system, including: performing FEC encoding on a data block to obtain an encoded data block; The information is interleaved and encoded to obtain a data stream to be sent, and the synchronization information is distributed in the data stream according to the first arrangement interval; and the data stream is sent to the decoding end.
  • the FEC-encoded data block and synchronization information can be interleaved and encoded, so as to obtain a data stream to be sent.
  • the data stream is a bit stream using interleaving encoding, and the data stream includes synchronization information.
  • the information is distributed in the data stream according to the first arrangement interval, which realizes the uniform distribution of the data blocks in the data stream, and effectively solves the problem of bit error diffusion in the high-speed PON system.
  • performing the interleaving coding on the coded data blocks and the synchronization information includes: determining N code blocks for interleaving coding; The data block and the synchronization information are encoded into the N code blocks respectively, and the length of the synchronization information is P bits.
  • the encoder first determines the value of N, where N represents the number of code blocks used for interleaving and encoding, where one code block may include one or more codewords. Subsequent embodiments In the example, one code block is taken as one code word for illustration.
  • the length of the synchronization information is P bits, and the synchronization information and the data block will be interleaved and encoded together.
  • the granularity k refers to the number of bits used in each interleaving.
  • An example is as follows.
  • the encoder first sends k bits of data in codeword 1 (for example, k can be 1), and then sends k bits in codeword 2, followed by codeword 3, codeword 4, ..., code
  • the k bits in the word n are cycled in turn until all the data of the k bits in the n codewords are transmitted.
  • the n+1 to 2n codewords are processed in the same way until the entire data frame has been sent.
  • the synchronization information used for delimitation will be scattered to multiple positions in the data stream, so the decoding end needs to be able to determine the position of the synchronization information in the data stream.
  • the method before the sending the data stream to the decoding end, the method further includes: using a preset scrambling code to scramble the data stream.
  • the encoding end can determine the preset scrambling code, and then use the scrambling code to scramble the data stream.
  • the algorithm used is not limited.
  • the encoding end since the encoding end scrambles the data stream, after the decoding end determines the position of the synchronization information in the data stream, the data stream can also be descrambled.
  • an embodiment of the present application provides a data processing method in a PON system, including: acquiring N code blocks to be encoded, where a first code block in the N code blocks includes synchronization information, and the N is the number of code blocks to be interleaved and encoded; the data in the N code blocks except the synchronization information is interleaved and encoded, and the synchronization information is not interleaved and encoded; according to the data after interleaving and encoding and the The synchronization information generates a data stream in which the synchronization information precedes the interleaved encoded data.
  • the encoding end generates a data stream according to the interleaved and encoded data and the synchronization information
  • the synchronization information is located before the interleaved and encoded data in the data stream
  • the synchronization information is not interleaved in the data stream, so that the synchronization information is not interleaved in the data stream.
  • the decoding end can obtain the synchronization information from the header of the data stream, and the decoding end deinterleaves the data located after the synchronization information in the data stream, so as to obtain the data stream sent by the encoding end, and solves the problem by interleaving the data blocks.
  • the synchronization information in the data stream is not interleaved, so that the decoding end can quickly determine the synchronization information in the data stream, which solves the problem that downlink synchronization cannot be performed in the PON system.
  • performing interleaving and coding on the data other than the synchronization information in the N code blocks and not performing interleaving and coding on the synchronization information includes: performing the interleaving and coding on the first code block.
  • the synchronization information whose length is P bits in the block is not interleaved and encoded, and the data of the second code block to the first P bits in the Nth code block is interleaved and encoded;
  • the data other than the synchronization information in one code block and the data other than P bits of data in the second to Nth code blocks are interleaved and encoded.
  • an embodiment of the present application provides a data processing method in a PON system, including: receiving a data stream sent by an encoding end; acquiring synchronization information from the data stream, wherein the synchronization information is in the data stream is located before the interleaved and encoded data, and the synchronization information is not interleaved and encoded; and the data located after the synchronization information in the data stream is deinterleaved.
  • the encoding end generates a data stream according to the interleaved and encoded data and the synchronization information
  • the synchronization information is located before the interleaved and encoded data in the data stream
  • the synchronization information is not interleaved in the data stream, so that the synchronization information is not interleaved in the data stream.
  • the decoding end can obtain the synchronization information from the header of the data stream, and the decoding end deinterleaves the data located after the synchronization information in the data stream, so as to obtain the data stream sent by the encoding end, and solves the problem by interleaving the data blocks.
  • the synchronization information in the data stream is not interleaved, so that the decoding end can quickly determine the synchronization information in the data stream, which solves the problem that downlink synchronization cannot be performed in the PON system.
  • the de-interleaving the data located after the synchronization information in the data stream includes: acquiring (N-1) ⁇ data located after the synchronization information in the data stream P bits of data, where N is the number of code blocks to be interleaved and decoded, and P is the length of synchronization information; deinterleave the (N-1) ⁇ P bits of data into the second code block into the Nth code block; deinterleaving the data located after the (N-1) ⁇ P bits of data in the data stream into the first code block to the Nth code block.
  • an embodiment of the present application provides a data processing device, including: a receiving module configured to receive a data stream sent by an encoding end, wherein the data stream is a bit stream using interleaving encoding, and the data stream includes a synchronization information, the synchronization information is distributed in the data stream according to the first arrangement interval; the processing module is configured to obtain the first data information from the data stream according to the first value interval and the first value length, and the The first value interval is equal to the first arrangement interval, and the difference between the first value length and the length of the synchronization information is less than or equal to a preset error value; the processing module is used for when the When the similarity between the first data information and the synchronization information exceeds a preset similarity threshold, the data stream is deinterleaved according to the starting position of the first data information.
  • the processing module is configured to obtain, from the data stream, a first data substream with a length of P ⁇ N bits, where the P is the length of the synchronization information,
  • the N is the number of code blocks for performing the interleaving encoding, and the code block includes at least one code word; according to the first value interval and the first value length, it is obtained from the first data sub-stream that includes P
  • the first data information of the bit data wherein the value interval is (N-1) ⁇ k bits, the k is the granularity of the interleaving coding, and the ⁇ represents a multiplication operation.
  • the processing module is configured to divide the first data substream into P/k data sets, wherein each data set includes N ⁇ k bit data, and the / represents a division operation; k bits of data are obtained from each of the P/k data sets, wherein the first data information includes: jointly obtained from the P/k data sets to the P bits of data.
  • the processing module when the similarity between the first data information and the synchronization information does not exceed the similarity threshold, the processing module is configured to obtain the length from the data stream is a second data substream of P ⁇ N bits, wherein at least one different bit of data exists in the second data substream and the first data substream; according to the first value interval and the first value The length obtains second data information including P bits of data from the second data sub-stream; when the similarity between the second data information and the synchronization information exceeds the similarity threshold, according to the The starting position of the second data information deinterleaves the data stream.
  • the processing module is configured to, after de-interleaving the data stream according to the starting position of the first data information, determine that the starting position of the first data information is the the first bit in the first data information; and using the first bit as the start boundary of downlink synchronization, perform forward error correction (FEC) decoding on the data stream.
  • FEC forward error correction
  • the processing module is configured to use the first bit as the start boundary of downlink synchronization, and after performing FEC decoding on the data stream, if the FEC performed on the data stream is If the decoding is successful, it is determined that the first bit in the first data information is the start boundary of the downlink synchronization.
  • the processing module is configured to, after de-interleaving the data stream according to the starting position of the first data information, determine that the starting position of the first data information is the The first bit in the first data information; the first bit is used as the start boundary of downlink synchronization, and the data stream is descrambled by using a preset scrambling code.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing first aspect and various possible implementation manners.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing first aspect and various possible implementation manners.
  • an embodiment of the present application provides a data processing device, including: a processing module configured to perform FEC encoding on a data block to obtain an encoded data block; the processing module configured to perform FEC encoding on the encoded data block; The data blocks and synchronization information are interleaved and encoded to obtain a data stream to be sent, and the synchronization information is distributed in the data stream according to a first arrangement interval; a sending module is configured to send the data stream to the decoding end.
  • the processing module is configured to determine N code blocks for interleaving encoding; encode the data block and the synchronization information into the In the N code blocks, the length of the synchronization information is P bits.
  • the processing module is configured to use a preset scrambling code to scramble the data stream before the sending module sends the data stream to the decoding end.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing second aspect and various possible implementation manners.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing second aspect and various possible implementation manners.
  • steps described in the foregoing second aspect and various possible implementation manners please refer to the foregoing second aspect and various possible implementation manners for details. instruction of.
  • an embodiment of the present application provides a data processing device, including: a processing module configured to acquire N code blocks to be encoded, where the first code block in the N code blocks includes synchronization information, and the The N is the number of code blocks for interleaving and coding; the processing module is configured to perform interleaving coding on the data other than the synchronization information in the N code blocks, and not perform interleaving and coding on the synchronization information; processing a module, configured to generate a data stream according to the interleaved and encoded data and the synchronization information, where the synchronization information is located before the interleaved and encoded data in the data stream.
  • the processing module is configured to not perform interleaving coding on the synchronization information with a length of P bits in the first code block, and perform interleaving coding on the second code block in the N code blocks. Perform interleaving coding on the data of the first P bits in the block to the Nth code block; perform interleaving coding on the data in the first code block except the synchronization information, the second code block to the Nth code block The data other than the data of P bits is interleaved and encoded.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing third aspect and various possible implementation manners.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing third aspect and various possible implementation manners.
  • an embodiment of the present application provides a data processing device, including: a receiving module, configured to receive a data stream sent by an encoding end; and a processing module, configured to acquire synchronization information from the data stream, wherein the synchronization The information is located before the interleaved and encoded data in the data stream, and the synchronization information is not interleaved and encoded; the processing module is configured to deinterleave the data located after the synchronization information in the data stream.
  • the processing module is configured to acquire (N-1) ⁇ P bits of data located after the synchronization information in the data stream, where N is a code for interleaving decoding The number of blocks, the P is the length of the synchronization information; the (N-1) ⁇ P bits of data are deinterleaved into the second code block to the Nth code block; The data subsequent to the (N-1) ⁇ P bits of data is deinterleaved into the first code block to the Nth code block.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing fourth aspect and various possible implementation manners.
  • the constituent modules of the data processing device may also perform the steps described in the foregoing fourth aspect and various possible implementation manners.
  • an embodiment of the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium runs on a computer, the computer executes the first to fourth aspects above. The method of any one.
  • an embodiment of the present application provides a computer program product including instructions, which, when executed on a computer, causes the computer to execute the method described in any one of the first to fourth aspects above.
  • an embodiment of the present application provides a communication apparatus.
  • the communication apparatus may include an entity such as a terminal device or a chip, and the communication apparatus includes: a processor and a memory; the memory is used for storing instructions; Executing the instructions in the memory causes the communication device to perform the method according to any one of the aforementioned first to fourth aspects.
  • the present application provides a chip system, which includes a processor for supporting a data processing device to implement the functions involved in the above aspects, for example, sending or processing the data involved in the above method and/or or information.
  • the chip system further includes a memory for storing necessary program instructions and data of the data processing device.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • FIG. 1 is a schematic diagram of a composition structure of a passive optical network system according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of an interaction flow between an encoding end and a decoding end in a data processing method in a passive optical network system provided by an embodiment of the present application;
  • FIG. 3 is a schematic diagram of an interaction flow between an encoding end and a decoding end in a data processing method in a passive optical network system provided by an embodiment of the present application;
  • FIG. 4 is a schematic diagram of data arrangement before interleaving coding provided by an embodiment of the present application.
  • 5 is a schematic diagram of interleaving of synchronization information between 4 codewords according to an embodiment of the present application
  • FIG. 6 is a schematic diagram of a value window provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of moving a value window backward by 1 bit according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram of not interleaving synchronization information at an encoding end according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a data processing device according to an embodiment of the present application.
  • Embodiments of the present application provide a data processing method and data processing device in a passive optical network system, which are used to solve the problem of bit error diffusion in a high-speed PON system and realize downlink synchronization in a high-speed PON system.
  • the PON system may include: an encoding end 101 and a decoding end 102 .
  • the encoding end 101 and the decoding end 102 may communicate with each other, for example, the encoding end 101 sends a data stream to the decoding end 102 .
  • the encoding end 101 can be realized by a data processing device.
  • the encoding end 101 can use the interleaving encoding method to solve the problem of code errors in the current PON system.
  • the decoding end 102 can be realized by another data processing device.
  • the decoding end 102 adopts The first data information is acquired according to the preset value interval and the value length, and then the synchronization information is acquired through the first data information.
  • the encoding end 101 may specifically be an OLT device, and the decoding end 102 may specifically be an ONU device.
  • the ONU device can provide a user-side interface for the PON system, and the ONU device is connected to the ODN device. If an ONU device directly provides a user port function, such as an Ethernet user port for personal computers to access the Internet, the ONU device may be called an optical network terminal (ONT). In the subsequent embodiments, the ONU device may collectively refer to the ONU device and the ONT. equipment.
  • ONT optical network terminal
  • the PON system provided by the embodiments of the present application may be a high-speed PON system, for example, a 50G PON system.
  • digital equalization in addition to the enhanced forward error correction (FEC) such as low density parity check code (LDPC), digital equalization can also be introduced. technology to compensate for the performance penalty caused by insufficient bandwidth of optical devices and transmission dispersion.
  • FEC enhanced forward error correction
  • LDPC low density parity check code
  • DFE decision feedback equalization
  • maximum likelihood sequence estimator maximum likelihood sequence estimation, MLSE
  • Bit error that is, if a bit error occurs at the receiving end (ie, the decoding end), the bit error may cause bit errors or associated errors in the following bits.
  • the phenomenon of burst errors may cause the distribution of errors in the data stream to be not random enough, and there are many errors in some FEC codewords, so that the FEC cannot complete the correction of the erroneous bits.
  • an interleaving coding method may be introduced, for example, a bit interleaving coding method is used to diffuse the error caused by the equalizer (or burst error, associated error, etc.) at the receiving end. ) into different FEC codewords. While the encoding end uses bit interleaving, when the decoding end performs de-interleaving, it is necessary to identify the boundary of the interleaved synchronization information and the size of the data block in advance. and synchronization issues.
  • an embodiment of the present application provides a data processing method in a passive optical network system, including:
  • the encoding end performs FEC encoding on the data block to obtain an encoded data block.
  • the encoding end may perform FEC encoding on one or more data blocks, so as to obtain encoded data blocks.
  • the specific process of FEC encoding will not be described in detail.
  • a data block may include one or more FEC code words.
  • the encoding end performs interleaving encoding on the encoded data block and the synchronization information to obtain a data stream to be sent, and the synchronization information is distributed in the data stream according to a first arrangement interval.
  • the encoding end can also obtain synchronization information, which can also be referred to as a synchronization sequence (referred to as Psync for short).
  • the FEC-encoded data block and synchronization information can be interleaved and encoded to obtain a data stream to be sent, and the synchronization information is distributed in the data stream according to a first arrangement interval.
  • the first arrangement interval is related to the depth of the interleaving encoding.
  • the first arrangement interval may be a preset arrangement interval, or an arrangement interval determined after negotiation between the encoding end and the decoding end, or the first arrangement interval is an arrangement interval determined by the encoding end, and then the encoding end notifies the decoding end of the arrangement interval. .
  • the synchronization information may be located before the FEC encoded data block, that is, the synchronization information may be header data of the FEC encoded data block.
  • the interleaving coding takes the FEC codeword as a unit.
  • the synchronization information is located in the first codeword, and the data block and synchronization information after FEC encoding are data interleaved among multiple codewords.
  • the generated bit errors are randomly distributed in the data stream, the bit errors in multiple FEC codewords are relatively average, and there is no problem that the FEC cannot complete the correction of the erroneous bits.
  • step 202 the encoding end performs interleaving encoding on the encoded data block and synchronization information, including:
  • the coding end determines N code blocks for interleaving coding
  • the encoding end encodes the data block and the synchronization information into N code blocks respectively according to the granularity k of the interleaving encoding, and the length of the synchronization information is P bits.
  • the encoding end first determines the value of N, where N represents the number of code blocks used for interleaving and encoding, where one code block may include one or more code words, and in subsequent embodiments, one code block is taken as 1 codeword for example.
  • the length of the synchronization information is P bits, and the synchronization information and the data block will be interleaved and encoded together.
  • the granularity k refers to the number of bits used in each interleaving. An example is as follows.
  • the encoder first sends k bits of data in codeword 1 (for example, k can be 1), and then sends k bits in codeword 2, followed by codeword 3, codeword 4, ..., code
  • the k bits in the word n are cycled in turn until all the data of the k bits in the n codewords are transmitted.
  • the n+1 to 2n codewords are processed in the same way until the entire data frame has been sent.
  • the synchronization information used for delimitation will be scattered to multiple positions in the data stream, so the decoding end needs to be able to determine the position of the synchronization information in the data stream.
  • the encoding end sends a data stream to the decoding end.
  • the encoding end after the encoding end performs interleaving encoding, after acquiring the data to be sent, the encoding end and the receiving end can communicate with each other, and the encoding end sends the data stream to the decoding end.
  • the data processing method provided by the embodiments of the present application further includes the following steps:
  • the data stream is scrambled using a preset scrambling code.
  • the encoder can determine a preset scrambling code, and then use the scrambling code to scramble the data stream.
  • the scrambling process and the algorithm used are not limited. .
  • the encoding end since the encoding end scrambles the data stream, after the decoding end determines the position of the synchronization information in the data stream, the data stream can also be descrambled.
  • the encoding end performs interleaving coding on both the synchronization information and the data block, so that the synchronization information is distributed in the data stream according to the arrangement interval.
  • the decoding end needs to be able to output the received data.
  • the decoding end may perform the subsequent steps 204 to 206 .
  • the decoding end receives the data stream sent by the encoding end, where the data stream is a bit stream encoded by interleaving, the data stream includes synchronization information, and the synchronization information is distributed in the data stream according to a first arrangement interval.
  • the encoding end and the receiving end can communicate with each other, the encoding end sends a data stream to the decoding end, and the decoding end can receive the data stream from the encoding end, and the data stream carries synchronization information and data blocks, and the synchronization information and data
  • the blocks are interleaved and encoded, and the synchronization information is distributed in the data stream according to the first arrangement interval.
  • the synchronization information and data blocks in the data stream are interleaved and encoded by the encoding end, so the data stream is a bit stream using interleaving encoding.
  • the first arrangement interval is related to the depth of interleaving coding.
  • the first arrangement interval may be a preset arrangement interval, or an arrangement interval determined after negotiation between the encoder and the decoder, or the first arrangement interval is determined by the encoder the arrangement interval, and then the encoding end notifies the decoding end of the arrangement interval.
  • the decoding end obtains the first data information from the data stream according to the first value interval and the first value length, the size of the value interval is equal to the size of the arrangement interval, and the difference between the value length and the length of the synchronization information The value is less than or equal to the preset error value.
  • the decoding end obtains the first value interval and the first value length
  • the first value interval (hereinafter referred to as the value interval) refers to the interval size used by the decoding end when sampling data from the data stream
  • the value interval The value of the value can be equal to the arrangement interval of the synchronization information in the data stream.
  • the first value interval is related to the depth of the interleaved coding.
  • the first value interval can be a preset value interval, or it can be the encoding and decoding
  • the value interval determined after the end negotiation, or the first value interval is the value interval determined by the encoder, and then the encoder notifies the decoder of the value interval.
  • the first value length (hereinafter referred to as the value length) refers to the total data length that the decoding end needs to collect from the data stream.
  • the first value length may be a preset value length, or is the value length determined after negotiation between the encoding end and the decoding end, or the first value length is the value length determined by the encoding end, and then the encoding end notifies the decoding end of the value length.
  • the difference between the value length and the length of the synchronization information is less than or equal to a preset error value
  • the error value may be determined according to a specific application scenario, for example, the error value may be t bits, for example, t may be 0 or 1, etc.
  • the size of the error value is not limited, for example, the length of the synchronization information can be P bits, the value length can be P bits, or the value length can be P-1 or P+1 bits .
  • the decoding end obtains the preset value interval and the first value length, and after the decoding end receives the data stream, the decoding end obtains the first value interval and the first value length from the data stream according to the first value interval and the first value length.
  • the decoding end can sample the data stream according to two locally pre-saved parameters (value interval and value length) to obtain first data information, and the length of the first data information is the value length,
  • the data in the first data information is obtained by sampling the data stream according to the value interval, and the size of the value interval is equal to the size of the arrangement interval, and the difference between the value length and the length of the synchronization information is less than or equal to the predetermined value. set error value.
  • the first data information includes data collected by the decoding end from the received data stream, and the first data information may be obtained by sampling the synchronization information carried in the data stream, The first data information can be used to determine whether it is used for downlink synchronization.
  • the decoding end can determine whether the similarity between the first data information and the synchronization information exceeds a preset similarity threshold, where the similarity refers to the first
  • the degree of similarity between the data information and the synchronization information for example, the number of bits of the same data in the first data information and the synchronization information can be the degree of similarity
  • the similarity threshold is the threshold of the degree of similarity between the first data information and the synchronization information , if the similarity between the first data information and the synchronization information exceeds the preset similarity threshold, it means that the first data information is similar to the synchronization information, and the first data information can be taken as the decoding end from the data stream.
  • the determined synchronization information if the similarity between the first data information and the synchronization information does not exceed the preset similarity threshold, it means that the first data information is not similar to the synchronization information, and the first data information cannot be used as The synchronization information determined by the decoding end from the data stream.
  • the similarity threshold can be an absolutely similar number of bits, or a similar ratio value.
  • there are P bits of data in synchronization information and the similarity threshold can be P-m, where m can be 2, 3,
  • the similarity threshold can be (P-m)/P, and m can be 2, 3, 4, etc., for example, the similarity threshold can be 95% or 96%, etc., depending on the values of m and P.
  • the decoding end may also determine that the decoding end can determine whether the degree of difference between the first data information and the synchronization information is less than or equal to a preset degree of difference threshold. Whether the similarity between the first data information and the synchronization information exceeds a preset similarity threshold, where the difference degree refers to the degree of dissimilarity between the first data information and the synchronization information, and the similarity degree and the difference degree are opposite The two parameters for measuring the similarity between the first data information and the synchronization information will not be described here.
  • step 205 the decoding end obtains the first data information from the data stream according to the first value interval and the first value length, including:
  • the decoding end obtains a first data substream with a length of P ⁇ N bits from the data stream, where P is the length of the synchronization information, N is the number of code blocks for interleaving encoding, and the code blocks include at least one codeword .
  • the decoding end determines the value window according to the value interval and the value length, and the value window is P ⁇ N bits, then the decoding end can obtain the length of P ⁇ N bits from the data stream according to the value window.
  • the first data sub-stream, the first data sub-stream refers to a segment of data sequence intercepted from the data stream received by the decoding end.
  • the specific interception method depends on the value window determined by the decoding end, where P is the value of the synchronization information. length, N is the number of code blocks to be interleaved and encoded, and the code block includes at least one codeword.
  • the decoding end includes the first data information of P bits of data from the first data substream according to the first value interval and the first value length, wherein the value interval is (N-1) ⁇ k bits, k is the granularity of interleaving coding, and ⁇ represents the multiplication operation.
  • the decoding end obtains k bits of data from the first data substream at a time when the first value interval is further separated, and according to the first value interval, multiple times can be obtained. If k bits of data are obtained from the first data substream, then all the obtained k bits of data can be connected to obtain p bits of data, for example, the size of the value interval is (N-1) ⁇ k bits , then every time interval "(N-1) ⁇ k bits", take out k bits of data, and then combine all the obtained k bits of data together, the first data information of P bits can be obtained. A piece of data information may be used to determine whether it is similar to the synchronization information. In this embodiment of the present application, the decoding end may acquire the first data information of the same length as the synchronization information in the above-mentioned manner.
  • N is the number of code blocks for interleaving coding
  • N times the size of the code block is the depth of interleaving coding.
  • the size of each code block is 1 FEC codeword.
  • the decoding end in step A2 obtains the first data information including P bits of data from the first data substream according to the first value interval and the first value length, including:
  • the decoding end divides the first data substream into P/k data sets, wherein each data set includes N ⁇ k bit data, and / represents a division operation;
  • the length of the first data sub-stream is N ⁇ P
  • the decoding end intercepts the first data sub-stream according to the granularity of the interleaving coding as k, so as to obtain P/k data sets, wherein each data set includes N ⁇ k bits of data, / represents a division operation, if k is equal to 1, then p data sets can be obtained. If k is equal to 2, P/2 data sets can be obtained, and so on.
  • the decoding end obtains k bits of data from each of the P/k data sets respectively, wherein the first data information includes: P bits of data obtained from the P/k data sets in total.
  • the decoding end may acquire the first data information of the same length as the synchronization information in the above manner.
  • the decoding end deinterleaves the data stream according to the starting position of the first data information.
  • the decoding end may determine whether the similarity between the first data information and the synchronization information exceeds a preset similarity threshold, and when the first When the similarity between the data information and the synchronization information exceeds the preset similarity threshold, it means that the first data information is very similar to the synchronization information, and the first data information can be determined from the data stream as the decoding end.
  • the decoding end deinterleaves the data stream according to the starting position of the first data information to obtain the original data stream after deinterleaving, that is, the decoding end can use the starting position of the first data information as the boundary of the downlink synchronization
  • the synchronization information in the data stream is determined, and the problem that the downlink synchronization cannot be determined when the interleaved coding is adopted in the PON system is solved.
  • the data processing method performed by the decoding end further includes the following steps:
  • the decoding end obtains a second data sub-stream with a length of P ⁇ N bits from the data stream, wherein at least one different bit of data exists in the second data sub-stream and the first data sub-stream;
  • the decoding end obtains the second data information including P bit data from the second data substream according to the first value interval and the first value length;
  • the decoding end deinterleaves the data stream according to the starting position of the second data information.
  • the decoding end adopts the polling method.
  • the synchronization information is obtained from the data stream through the aforementioned step 206.
  • the similarity between the information does not exceed the similarity threshold
  • the synchronization information is obtained from the data stream through steps B1 to B3.
  • the decoding end may also acquire the third data substream from the data stream until it acquires data information similar to the synchronization information.
  • the implementation manner of step B1 to step B3 is similar to the processing of the first data information in the foregoing embodiment, and will not be repeated here.
  • the data processing method performed by the decoding end further includes the following steps:
  • the decoding end determines that the starting position of the first data information is the first bit in the first data information
  • the decoding end uses the first bit as the start boundary of downlink synchronization, and performs forward error correction FEC decoding on the data stream.
  • the decoding end determines that the starting position of the first data information is the first bit in the first data information, that is, the decoding end finds the first bit in the first data information.
  • the first bit in the data information the first bit is the delimitation of the downlink synchronization performed by the decoding end.
  • the decoding end uses the first bit as the start boundary of the downlink synchronization, and performs FEC decoding on the data stream to realize the decoding.
  • the end decodes the FEC of the received data stream, so that the decoding end can obtain the original data block before the encoding end performs FEC encoding, and the decoding end obtains the content of the encoded and transmitted data block.
  • step C2 the decoding end uses the first bit as the start boundary of downlink synchronization, and after performing FEC decoding on the data stream, the data processing method performed by the decoding end further includes the following steps:
  • the decoding end determines that the first bit in the first data information is the start boundary of the downlink synchronization.
  • the FEC decoding performed by the decoding end can be implemented by an FEC decoder, and the FEC decoder can output a flag indicating whether the decoding is successful. It is correct to use a bit as the starting position of the synchronization information. At this time, the decoding end determines that the first bit in the first data information is the starting boundary of the downlink synchronization, which further verifies that the decoding end obtains the interleaving coding in the PON system when The correctness of downlink synchronization.
  • the data processing method performed by the decoding end further includes the following steps:
  • the decoding end determines that the starting position of the first data information is the first bit in the first data information
  • the decoding end uses the first bit as the start boundary of downlink synchronization, and uses the preset scrambling code to descramble the data stream.
  • the encoder can determine a preset scrambling code, and then use the scrambling code to scramble the data stream.
  • the scrambling process and the algorithm used are not limited. .
  • the encoding end since the encoding end scrambles the data stream, after the decoding end determines the position of the synchronization information in the data stream, the data stream can also be descrambled.
  • the decoding end needs to perform correct descrambling code based on correct downlink synchronization, so that the received data stream can be descrambled.
  • the data stream sent by the encoding end is first received, and the data stream is a bit stream encoded by interleaving, and the data stream includes synchronization information.
  • the synchronization information is distributed in the data stream according to the first arrangement interval, and then The first data information is obtained from the data stream according to the first value interval and the first value length, the size of the value interval is equal to the size of the arrangement interval, and the difference between the value length and the length of the synchronization information is less than or equal to A preset error value, when the similarity between the first data information and the synchronization information exceeds a preset similarity threshold, the data stream is deinterleaved according to the starting position of the first data information.
  • the synchronization information and data blocks in the data stream sent by the encoding end are intertwined, and the synchronization information interval is distributed in the data stream. Therefore, the data stream can be sampled according to the first value interval and the value length to obtain Obtain the first data information, the first data information is obtained from the data stream according to the value length, and the first data information is obtained from the data stream according to the value interval, and the first data information and the value are obtained from the data stream.
  • the similarity of the synchronization information exceeds the similarity threshold, the starting position of the first data information can be used to deinterleave the data stream, and finally the synchronization information in the data stream can be obtained.
  • the embodiment of the present application is suitable for high-speed PON
  • the scenario of data stream interleaving coding in the system solves the problem that the downlink synchronization cannot be determined when the data stream adopts interleaving coding.
  • an embodiment of the present application further provides a data processing method in a PON system, including:
  • the encoding end acquires N code blocks to be encoded, the first code block in the N code blocks includes synchronization information, and N is the number of code blocks to be interleaved and encoded.
  • the encoder can perform FEC encoding on multiple data blocks, and then add synchronization information to the front of the FEC-encoded data blocks.
  • the synchronization information and data blocks can be divided into N code blocks.
  • the first code block includes synchronization information.
  • the encoding end performs interleaving encoding on the data except the synchronization information in the N code blocks, and does not perform interleaving encoding on the synchronization information.
  • the encoding end performs interleaving and encoding on the data in the N code blocks, but does not perform interleaving and encoding on the synchronization information, so that the decoding end can quickly determine the synchronization information, that is, the encoding end can
  • the synchronization information in each code block skips interleaving coding, so as to reduce the complexity of determining the synchronization information at the decoding end.
  • the encoding end generates a data stream according to the interleaved and encoded data and the synchronization information, and the synchronization information is located before the interleaved and encoded data in the data stream.
  • the encoding end after the encoding end performs interleaving encoding, places the synchronization information before the interleaved and encoded data, thereby generating a data stream, and then the encoding end sends the data stream to the decoding end. Since the synchronization information is in the data stream The middle is located before the interleaved and coded data, so that the decoding end can quickly determine the synchronization information.
  • performing interleaving and coding on data other than synchronization information in the N code blocks, and not performing interleaving and coding on synchronization information includes:
  • No interleaving coding is performed on the synchronization information with a length of P bits in the first code block, and interleaving coding is performed on the data from the second code block in the N code blocks to the first P bits in the Nth code block. ;
  • Interleave encoding is performed on data other than synchronization information in the first code block and data other than P bits of data in the second to Nth code blocks.
  • each code block has the data of the first P bits and the data after the P bits, the first P bits in the first code block are synchronization information, and the N codes
  • the first P bits from the second code block in the block to the Nth code block are the data content, and the interleaving mode of the first N code blocks in each data frame is different from the interleaving mode of the subsequent N code blocks. That is, the first P bits of the first code block do not participate in the interleaving, and the first P bits of the remaining N-1 code blocks are interleaved. Other data of the first N code blocks are still interleaved among the N code blocks.
  • the synchronization information in the N code blocks is not interleaved and encoded, so that the decoding end can quickly determine the synchronization information, that is, the encoding end can
  • the synchronization information skips interleaving coding to reduce the complexity of determining the synchronization information at the decoding end.
  • the decoding end receives the data stream sent by the encoding end.
  • the encoding end and the receiving end can communicate with each other.
  • the encoding end sends a data stream to the decoding end, and the decoding end can receive the data stream from the encoding end.
  • the data stream carries synchronization information and data blocks, and the synchronization information is not processed.
  • interleaving coding the data blocks are interleaved and coded, and the synchronization information is distributed at the head end of the data stream.
  • the decoding end acquires synchronization information from the data stream, where the synchronization information is located before the interleaved and encoded data in the data stream, and the synchronization information is not interleaved and encoded.
  • the synchronization information is distributed at the head end of the data stream.
  • the synchronization information adopts a special value, so that the decoding end can quickly detect the synchronization information from the head end of the data stream.
  • the decoding end deinterleaves the data located after the synchronization information in the data stream.
  • the decoding end performs deinterleaving according to the starting position of the synchronization information, that is, the decoding end can determine the synchronization information in the data stream, which solves the problem that the downlink synchronization cannot be determined when the interleaving coding is used in the PON system.
  • de-interleaving the data located after the synchronization information in the data stream includes:
  • N is the number of code blocks for interleaving and decoding
  • P is the length of the synchronization information
  • the data located after the data of (N-1) ⁇ P bits in the data stream is deinterleaved into the first code block to the Nth code block.
  • the decoding end adopts the opposite processing method to the above encoding end.
  • the decoding end first finds the synchronization information, and then deinterleaves the (N-1) ⁇ P bits located after the synchronization information in the data stream to obtain the second to For the Nth code block, the data after (N-1) ⁇ P bits in the data stream is deinterleaved to the 1st to Nth code blocks, and the deinterleaving can be completed in the above manner. It is not limited that, after deinterleaving, the decoding end may further perform FEC decoding or perform descrambling, which is not limited here.
  • the encoder generates a data stream according to the interleaved and encoded data and synchronization information
  • the synchronization information is located before the interleaved and encoded data in the data stream
  • the synchronization information is in the data stream.
  • No interleaving is performed, so that the decoding end can obtain the synchronization information from the header of the data stream, and the decoding end deinterleaves the data located after the synchronization information in the data stream, so that the data stream sent by the encoding end can be obtained.
  • Block interleaving solves the problem of error diffusion in the PON system.
  • the synchronization information in the data stream is not interleaved, so that the decoding end can quickly determine the synchronization information in the data stream, which solves the problem that cannot be performed in the PON system. Downstream synchronization problem.
  • the embodiment of the present application introduces interleaving coding in the downlink, and the interleaving takes the FEC code word as the unit. Data interleaving is performed between multiple FEC codewords.
  • the format of the data frame after FEC encoding is shown in Figure 4. Each data frame consists of n FEC codewords (codeword, CW), for example, n is 4, and the first codeword contains the frame delimiter.
  • the decoding end searches for the Psync sequence in the received data stream, and the frame delimitation and FEC codeword delimitation can be completed through Psync.
  • the interleaving coding may break up the Psync originally used for delimitation, and the synchronization sequence is distributed in different positions in the data stream, that is, there is no longer a continuous Psync pattern in the data stream.
  • the coding end may adopt the following block interleaving coding method, the process of which is shown in Figure 5, taking the interleaving of 4 codeword depths as an example, and taking the 4 codewords after FEC encoding as a whole.
  • the sequence of data sent in the line layer is no longer the data sent after FEC encoding, but the data in several codewords is sent staggered.
  • the interleaving coding is performed according to the depth of 4 code words, and what is shown in the box in FIG. 6 is the data after the interleaving is completed.
  • Each gray portion represents a portion of Psync that is dispersed due to interleaving, depending on the granularity of interleaving coding.
  • First send k bits in codeword 1 (k can be 1), then send k bits in codeword 2, then codeword 3, codeword 4, and then send the second k in codeword 1 bits, and cycle in turn until all 4 codewords are sent.
  • the synchronization sequence used for delimitation will be scattered in the data stream, and the continuous synchronization sequence used for frame delimitation will be discretely distributed in the data stream due to the introduction of interleaving coding, as shown in the figure As shown in 6, the decoding end can no longer complete the delimitation with a continuous synchronization sequence.
  • the decoding end may use the interpolating method to obtain values in a larger range, and realize the synchronization between the first data information obtained by the value and the preset value. sequence matching.
  • the specific implementation process is shown in Figure 7.
  • P is the length of the synchronization sequence
  • N is the number of codewords for interleaving encoding.
  • P is 64
  • N is 4.
  • 1 bit is taken out of every N bits, and P bits are taken out in total.
  • the value interval depends on the depth of interleaving coding.
  • the fixed interval can be equal to 4 bits, that is, 1 bit of data is taken out from the data stream every 4 bits, and P bits of data are taken out of the data stream in total.
  • the degree of phase difference between the P bits of data and the preset synchronization sequence that is, compare and match the P bits of data with the preset synchronization sequence, and compare the P bits of data with the preset synchronization sequence. Whether the two are the same, when the number of different bits between the two is less than m, the two are considered to be matched, otherwise, the two are considered to be unmatched, where m can be 2, or 3, or 4, etc.
  • the value window is moved backward by one bit, and the previous matching process is repeated until a matching synchronization is found in the downstream data stream. sequence.
  • the decoding end finds a matching synchronization sequence in the downstream data stream, the first bit in the entire value window is used as the starting boundary of the data frame and codeword, and deinterleaving is performed based on this boundary, and the continuous FEC codeword. Then the FEC codeword is decoded, and if the FEC codeword is successfully decoded, the decoding end can determine that the delimitation and synchronization of the downstream data stream are completed.
  • the above synchronization process may be due to the coincidence of the synchronization sequence code pattern in the downstream data stream, resulting in an error match.
  • the decoding end still needs to multiply the value window of N times P from The data stream is fetched, and a sliding window is used for matching verification, wherein the sliding method may be to slide in the direction of the newly received data stream until the delimitation and synchronization of the correct downlink frame are completed.
  • the embodiments of the present application provide the aforementioned downstream data processing flow of the high-speed PON system, realize the downstream synchronization and delimitation of the high-speed PON system, and solve the association error caused by the digital equalizer in the PON system by introducing an interleaving scheme.
  • the matching method of value window and interleaving value is adopted to realize downlink data matching under the condition of interleaving.
  • the same interleaving manner as in the previous embodiment is still adopted.
  • an interleaving method that is not exactly the same as other parts is adopted.
  • the synchronization information does not participate in the interleaving coding.
  • the synchronization sequence as a whole is retained in the transmitted data stream. .
  • the decoding end receives data, it still uses the complete synchronization sequence to match, and completes frame delimitation after matching, and the frame boundary part adopts a different interleaving method from other parts in the frame.
  • both the encoding end and the decoding end in the above embodiments may be implemented by the apparatus shown in FIG. 9 , and the apparatus may specifically be a data processing device.
  • the apparatus 1000 includes at least one processor 1001 , a communication bus 1002 , a memory 1003 and at least one communication interface 1004 .
  • Apparatus 1000 may be a general purpose computer or server or a special purpose computer or server.
  • the processor 1001 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more processors for controlling the execution of the programs of the present invention. integrated circuit.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • Communication bus 1002 may include a path to communicate information between the above-described components.
  • Communication interface 1004 which can be any transceiver or IP port or bus interface, etc., used to communicate with internal or external devices or devices or a communication network, such as Ethernet, radio access network (RAN), wireless local area network ( wireless local area networks, WLAN), etc.
  • RAN radio access network
  • WLAN wireless local area network
  • Memory 1003 may be read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types of information and instructions It can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, CD-ROM storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of being executed by a computer Access any other medium without limitation.
  • the memory can exist independently and be connected to the processor through a bus.
  • the memory can also be integrated with the processor.
  • the memory 1003 is used for storing the application program code for executing the solution of the present invention, and the execution is controlled by the processor 1001 .
  • the processor 1001 is configured to execute the application program code stored in the memory 1003, thereby realizing the functions of the encoding end and the decoding end in the embodiments of the application.
  • the processor 1001 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 9 .
  • the apparatus 1000 may include multiple processors, such as the processor 1001 and the processor 1008 in FIG. 9 .
  • processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the apparatus 1000 may further include an output device 1005 and an input device 1006 .
  • the output device 1005 is in communication with the processor 1001 and can display information in a variety of ways.
  • the output device 1005 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector (projector) Wait.
  • Input device 1006 communicates with processor 1001 and can accept user input in a variety of ways.
  • the input device 1006 may be a mouse, a keyboard, a touch screen device, a sensor device, or the like.
  • the function/implementation process of the communication interface 1004 can also be realized by pins or circuits, and the memory is a storage unit in the chip, such as a register, a cache, etc.
  • the memory unit may also be a memory unit located outside the chip.
  • Embodiments of the present application further provide a computer storage medium, wherein the computer storage medium stores a program, and the program executes some or all of the steps described in the above method embodiments.
  • the device embodiments described above are only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be A physical unit, which can be located in one place or distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
  • U disk mobile hard disk
  • ROM read-only memory
  • RAM magnetic disk or optical disk
  • a computer device which may be a personal computer, server, or network device, etc.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server, or data center is by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • wire eg, coaxial cable, fiber optic, digital subscriber line (DSL)
  • wireless eg, infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a server, data center, etc., which includes one or more available media integrated.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.

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)
  • Optics & Photonics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请实施例公开了一种无源光网络系统中的数据处理方法和数据处理设备,用于解决高速的PON系统中的误码扩散问题,以及实现高速的PON系统中的下行同步。该方法包括:接收编码端发送的数据流,其中,所述数据流为采用交织编码的比特流,所述数据流包括同步信息,所述同步信息按照第一排列间隔分布在所述数据流中;按照第一取值间隔和第一取值长度从所述数据流中获取第一数据信息,所述第一取值间隔与所述第一排列间隔相等,所述第一取值长度与所述同步信息的长度之间的差值小于或等于预设的误差值;当所述第一数据信息与所述同步信息之间的相似度超过预设的相似度门限时,按照所述第一数据信息的起始位置对所述数据流进行解交织。

Description

一种无源光网络系统中的数据处理方法和数据处理设备
本申请要求于2020年9月30日提交中国国家知识产权局、申请号为202011063398.5、申请名称为“一种无源光网络系统中的数据处理方法和数据处理设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种无源光网络系统中的数据处理方法和数据处理设备。
背景技术
无源光网络(passive optical network,PON)系统中可以包括:位于局端的光线路终端(optical line terminal,OLT)、用户侧的光网络单元(optical network unit,ONU)、以及光分配网络(optical distribution network,ODN)。其中OLT为PON系统提供网络侧接口,连接一个或多个ODN。ONU为PON系统提供用户侧的接口,ONU与ODN相连。
在PON系统中,从OLT到ONU的数据传输称为下行传输,反之,从ONU到OLT的数据传输称为上行传输。在PON系统中,ONU的上行工作时钟及发送时隙均需要从下行的数据流中获取。ONU在上电后,进入第一个工作状态,在这个工作状态,ONU需要进行下行数据帧同步。在这个过程中,ONU需要完成下行时钟同步、下行数据流同步以及下行数据帧同步。
目前的PON系统具有多种实现形式,例如当前的XG(S)PON系统、当前的10G EPON系统和2*25G EPON系统,且不同的PON系统采用的是不同的数据处理机制和不同的下行同步机制,随着PON系统的不断演进,还会出现更高速的PON系统,例如50G PON系统。在高速的PON系统中会存在误码扩散问题,以及无法进行下行同步的问题。
发明内容
本申请实施例提供了一种无源光网络系统中的数据处理方法和数据处理设备,用于解决高速的PON系统中的误码扩散问题,以及实现高速的PON系统中的下行同步。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种无源光网络系统中的数据处理方法,包括:接收编码端发送的数据流,其中,所述数据流为采用交织编码的比特流,所述数据流包括同步信息,所述同步信息按照第一排列间隔分布在所述数据流中;按照第一取值间隔和第一取值长度从所述数据流中获取第一数据信息,所述第一取值间隔与所述第一排列间隔相等,所述第一取值长度与所述同步信息的长度之间的差值小于或等于预设的误差值;当所述第一数据信息与所述同步信息之间的相似度超过预设的相似度门限时,按照所述第一数据信息 的起始位置对所述数据流进行解交织。在本申请的上述实施例中,编码端发送的数据流中同步信息和数据块交织在一起,且同步信息间隔分布在数据流中,因此可以按照第一取值间隔和取值长度对数据流进行采样,以得到第一数据信息,该第一数据信息是按照取值长度从数据流中取值得到,且该第一数据信息是按照取值间隔从数据流中取值得到,通过该第一数据信息与同步信息的相似度超过相似度门限时,该第一数据信息的起始位置可用于对数据流进行解交织,最终可以获取到数据流中的同步信息,本申请实施例中适用于高速的PON系统中的数据流交织编码的场景,解决了数据流采用交织编码时无法确定下行同步的问题。
在一种可能的实现方式中,按照第一取值间隔和第一取值长度从所述数据流中获取第一数据信息,包括:从所述数据流中获取长度为P×N个比特的第一数据子流,其中,所述P为所述同步信息的长度,所述N为进行所述交织编码的码块个数,所述码块包括至少一个码字;按照第一取值间隔和第一取值长度从所述第一数据子流中得到包括P个比特数据的第一数据信息,其中,所述取值间隔为(N-1)×k个比特,所述k为所述交织编码的粒度,所述×表示相乘运算。在本申请的上述实施例中,解码端按照第一取值间隔对应的间隔,再间隔该第一取值间隔时就从第一数据子流中一次获取到k个比特数据,按照该第一取值间隔可以多个次的从第一数据子流中获取到k个比特数据,则所有获取到的k个比特数据连接起来就可以得到p个比特数据,例如取值间隔的大小为(N-1)×k个比特,则每次间隔“(N-1)×k个比特”,取出k个比特数据,再将获取到的所有k个比特数据联合在一起,可以得到P个比特的第一数据信息,该第一数据信息可以用于判断是否与同步信息相似,本申请实施例中解码端可以按照上述方式获取与同步信息等长度的第一数据信息。
在一种可能的实现方式中,所述按照第一取值间隔和第一取值长度从所述第一数据子流中得到包括P个比特数据的第一数据信息,包括:将所述第一数据子流划分为P/k个数据集合,其中,每个数据集合中包括N×k个比特数据,所述/表示相除运算;从所述P/k个数据集合中的每个数据集合中获取到k个比特数据,其中,所述第一数据信息包括:从所述P/k个数据集合中共获取到的P个比特数据。在本申请的上述实施例中,解码端确定出P/k个数据集合之后,对于每个数据集合中获取到k个比特数据,则对于P/k个数据集合,总共可以获取到P个比特数据,则这P个比特数据构成前述的第一数据信息,该第一数据信息的长度为P个比特。本申请实施例中解码端可以按照上述方式获取与同步信息等长度的第一数据信息。
在一种可能的实现方式中,当所述第一数据信息与所述同步信息之间的相似度没有超过所述相似度门限时,所述方法还包括:从所述数据流中获取长度为P×N个比特的第二数据子流,其中,所述第二数据子流和所述第一数据子流中至少存在一个不同比特的数据;按照第一取值间隔和第一取值长度从所述第二数据子流中得到包括P个比特数据的第二数据信息;当所述第二数据信息与所述同步信息之间的相似度超过所述相似度门限时,按照所述第二数据信息的起始位置对所述数据流进行解交织。在本申请的上述实施例中,解码端采用轮询处理的方式,当第一数据信息与同步信息之间的相似度超过相似度门限时,从数据流中获取到同步信息,当第一数据信息与同步信息之间的相似度没有超过相似度门限时,从数据流中获取到同步信息,同样的,若确定第二数据信息与同步信息之间的相似度 没有超过相似度门限,解码端还可以从数据流中获取到第三数据子流,直至获取到与同步信息相似的数据信息即可。
在一种可能的实现方式中,所述按照所述第一数据信息的起始位置对所述数据流进行解交织之后,所述方法还包括:确定所述第一数据信息的起始位置为所述第一数据信息中的第一个比特;将所述第一个比特作为下行同步的起始边界,对所述数据流进行前向纠错FEC解码。在本申请的上述实施例中,解码端按照第一数据信息的起始位置对数据流进行解交织之后,解码端确定第一数据信息的起始位置为第一数据信息中的第一个比特,即解码端找到了第一数据信息中的第一个比特,该第一个比特是解码端进行下行同步的定界,解码端将第一个比特作为下行同步的起始边界,对数据流进行FEC解码,实现了解码端对接收到的数据流的FEC解码,从而解码端可以获取到编码端进行FEC编码之前的原始数据块,解码端获取到编码传输的数据块内容。
在一种可能的实现方式中,所述将所述第一个比特作为下行同步的起始边界,对所述数据流进行FEC解码之后,所述方法还包括:若对所述数据流进行的FEC解码成功,确定所述第一数据信息中的第一个比特为所述下行同步的起始边界。在本申请的上述实施例中,解码端进行FEC解码可以通过FEC解码器来实现,该FEC解码器可以输出解码是否成功的标志,若对数据流进行的FEC解码成功,则说明解码端确定的第一数据信息的第一个比特作为同步信息的起始位置是正确的,此时解码端确定第一数据信息中的第一个比特为下行同步的起始边界,进一步的验证了解码端获取PON系统中采用交织编码时的下行同步的正确性。
在一种可能的实现方式中,所述按照所述第一数据信息的起始位置对所述数据流进行解交织之后,所述方法还包括:确定所述第一数据信息的起始位置为所述第一数据信息中的第一个比特;将所述第一个比特作为下行同步的起始边界,使用预设的扰码对所述数据流进行解扰码。在本申请的上述实施例中,若数据流需要加扰之后才能发送给解码端,则编码端可以确定预设的扰码,然后使用该扰码对数据流进行加扰,对于加扰的过程和采用的算法不做限定。本申请实施例中由于编码端对数据流进行了加扰,因此在解码端在确定同步信息在数据流中的位置之后,也可以对数据流进行解扰码。本申请实施例中解码端进行正确的解扰码也需要基于正确的进行下行同步,才能实现对接收到的数据流的解扰码。
第二方面,本申请实施例还提供一种无源光网络系统中的数据处理方法,包括:对数据块进行FEC编码,以得到编码后的数据块;对所述编码后的数据块和同步信息进行交织编码,以得到待发送的数据流,所述同步信息按照第一排列间隔分布在所述数据流中;向解码端发送所述数据流。在本申请的上述实施例中,对于FEC编码后的数据块和同步信息可以进行交织编码,从而得到待发送的数据流,该数据流为采用交织编码的比特流,数据流包括同步信息,同步信息按照第一排列间隔分布在数据流中,实现了数据块在数据流中的均匀分布,有效解决了高速的PON系统中的误码扩散问题。
在一种可能的实现方式中,所述对所述编码后的数据块和同步信息进行交织编码,包括:确定用于交织编码的N个码块;按照所述交织编码的粒度k将所述数据块和所述同步信息分别编码到所述N个码块中,所述同步信息的长度为P个比特。在本申请的上述实施例中,编码端首先确定N的取值,N表示用于交织编码的码块个数,其中,1个码块可包括 1个或多个的码字,后续实施例中以1个码块为1个码字进行示例说明。其中,同步信息的长度为P个比特,同步信息和数据块将共同进行交织编码,编码端按照交织编码的粒度k将数据块和同步信息分别编码到N个码块中,其中,交织编码的粒度k是指在每次进行交织时所使用的比特个数。举例说明如下,编码端先发送码字1中的k个比特的数据(例如k可以取1),然后再送码字2中的k个比特,然后是码字3、码字4、…、码字n中的k个比特,依次循环,直至全部发送完n个码字中的k个比特的数据。再以同样的方式处理n+1至2n个码字,直至整个数据帧都发送完。经过交织编码之后,用于定界的同步信息将被分散到数据流中的多个位置,因此需要解码端能够确定同步信息在数据流中的位置。
在一种可能的实现方式中,所述向解码端发送所述数据流之前,所述方法还包括:使用预设的扰码对所述数据流进行加扰。在本申请的上述实施例中,若数据流需要加扰之后才能发送给解码端,则编码端可以确定预设的扰码,然后使用该扰码对数据流进行加扰,对于加扰的过程和采用的算法不做限定。本申请实施例中由于编码端对数据流进行了加扰,因此在解码端在确定同步信息在数据流中的位置之后,也可以对数据流进行解扰码。
第三方面,本申请实施例提供一种PON系统中的数据处理方法,包括:获取待编码的N个码块,所述N个码块中的第一个码块中包括同步信息,所述N为进行交织编码的码块个数;对所述N个码块中除所述同步信息以外的数据进行交织编码、且不对所述同步信息进行交织编码;根据交织编码后的数据和所述同步信息生成数据流,所述同步信息在所述数据流中位于所述交织编码后的数据之前。在本申请的上述实施例中,编码端根据交织编码后的数据和同步信息生成数据流,同步信息在数据流中位于交织编码后的数据之前,该同步信息在数据流中没有进行交织,使得解码端可以从数据流的头部中获取到同步信息,解码端对数据流中位于同步信息之后的数据进行解交织,从而可以获取到编码端发送的数据流,通过对数据块进行交织,解决了PON系统中误码扩散的问题,另外,对于数据流中的同步信息不进行交织,使得解码端可以快速的确定出数据流中的同步信息,解决了PON系统中无法进行下行同步的问题。
在本申请的一些实施例中,所述对所述N个码块中除所述同步信息以外的数据进行交织编码、且不对所述同步信息进行交织编码,包括:对所述第一个码块中长度为P个比特的同步信息不进行交织编码、且对N个码块中的第二个码块至第N个码块中的前P个比特的数据进行交织编码;对所述第一个码块中除所述同步信息以外的数据、所述第二个码块至第N个码块中除P个比特的数据以外的数据进行交织编码。在本申请的上述实施例中,
第四方面,本申请实施例提供一种PON系统中的数据处理方法,包括:接收编码端发送的数据流;从所述数据流中获取同步信息,其中,所述同步信息在所述数据流中位于交织编码后的数据之前、且所述同步信息不进行交织编码;对所述数据流中位于所述同步信息之后的数据进行解交织。在本申请的上述实施例中,编码端根据交织编码后的数据和同步信息生成数据流,同步信息在数据流中位于交织编码后的数据之前,该同步信息在数据流中没有进行交织,使得解码端可以从数据流的头部中获取到同步信息,解码端对数据流中位于同步信息之后的数据进行解交织,从而可以获取到编码端发送的数据流,通过对数据块进行交织,解决了PON系统中误码扩散的问题,另外,对于数据流中的同步信息不进行交织,使得解码端可以快速的确定出数据流中的同步信息,解决了PON系统中无法进行 下行同步的问题。
在本申请的一些实施例中,所述对所述数据流中位于所述同步信息之后的数据进行解交织,包括:获取所述数据流中位于所述同步信息之后的(N-1)×P个比特的数据,所述N为进行交织解码的码块个数,所述P为同步信息的长度;将所述(N-1)×P个比特的数据解交织到第二个码块至第N个码块中;将所述数据流中位于所述(N-1)×P个比特的数据之后的数据解交织到第一个码块至第N个码块中。在本申请的上述实施例中,
第五方面,本申请实施例提供一种数据处理设备,包括:接收模块,用于接收编码端发送的数据流,其中,所述数据流为采用交织编码的比特流,所述数据流包括同步信息,所述同步信息按照第一排列间隔分布在所述数据流中;处理模块,用于按照第一取值间隔和第一取值长度从所述数据流中获取第一数据信息,所述第一取值间隔与所述第一排列间隔相等,所述第一取值长度与所述同步信息的长度之间的差值小于或等于预设的误差值;处理模块,用于当所述第一数据信息与所述同步信息之间的相似度超过预设的相似度门限时,按照所述第一数据信息的起始位置对所述数据流进行解交织。
在一种可能的实现方式中,所述处理模块,用于从所述数据流中获取长度为P×N个比特的第一数据子流,其中,所述P为所述同步信息的长度,所述N为进行所述交织编码的码块个数,所述码块包括至少一个码字;按照第一取值间隔和第一取值长度从所述第一数据子流中得到包括P个比特数据的第一数据信息,其中,所述取值间隔为(N-1)×k个比特,所述k为所述交织编码的粒度,所述×表示相乘运算。
在一种可能的实现方式中,所述处理模块,用于将所述第一数据子流划分为P/k个数据集合,其中,每个数据集合中包括N×k个比特数据,所述/表示相除运算;从所述P/k个数据集合中的每个数据集合中获取到k个比特数据,其中,所述第一数据信息包括:从所述P/k个数据集合中共获取到的P个比特数据。
在一种可能的实现方式中,当所述第一数据信息与所述同步信息之间的相似度没有超过所述相似度门限时,所述处理模块,用于从所述数据流中获取长度为P×N个比特的第二数据子流,其中,所述第二数据子流和所述第一数据子流中至少存在一个不同比特的数据;按照第一取值间隔和第一取值长度从所述第二数据子流中得到包括P个比特数据的第二数据信息;当所述第二数据信息与所述同步信息之间的相似度超过所述相似度门限时,按照所述第二数据信息的起始位置对所述数据流进行解交织。
在一种可能的实现方式中,所述处理模块,用于按照所述第一数据信息的起始位置对所述数据流进行解交织之后,确定所述第一数据信息的起始位置为所述第一数据信息中的第一个比特;将所述第一个比特作为下行同步的起始边界,对所述数据流进行前向纠错FEC解码。
在一种可能的实现方式中,所述处理模块,用于将所述第一个比特作为下行同步的起始边界,对所述数据流进行FEC解码之后,若对所述数据流进行的FEC解码成功,确定所述第一数据信息中的第一个比特为所述下行同步的起始边界。
在一种可能的实现方式中,所述处理模块,用于按照所述第一数据信息的起始位置对所述数据流进行解交织之后,确定所述第一数据信息的起始位置为所述第一数据信息中的第一个比特;将所述第一个比特作为下行同步的起始边界,使用预设的扰码对所述数据流 进行解扰码。
在本申请的第五方面中,数据处理设备的组成模块还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。
第六方面,本申请实施例提供一种数据处理设备,包括:处理模块,用于对数据块进行FEC编码,以得到编码后的数据块;所述处理模块,用于对所述编码后的数据块和同步信息进行交织编码,以得到待发送的数据流,所述同步信息按照第一排列间隔分布在所述数据流中;发送模块,用于向解码端发送所述数据流。
在一种可能的实现方式中,所述处理模块,用于确定用于交织编码的N个码块;按照所述交织编码的粒度k将所述数据块和所述同步信息分别编码到所述N个码块中,所述同步信息的长度为P个比特。
在一种可能的实现方式中,所述处理模块,用于发送模块向解码端发送所述数据流之前,使用预设的扰码对所述数据流进行加扰。
在本申请的第六方面中,数据处理设备的组成模块还可以执行前述第二方面以及各种可能的实现方式中所描述的步骤,详见前述对第二方面以及各种可能的实现方式中的说明。
第七方面,本申请实施例提供一种数据处理设备,包括:处理模块,用于获取待编码的N个码块,所述N个码块中的第一个码块中包括同步信息,所述N为进行交织编码的码块个数;所述处理模块,用于对所述N个码块中除所述同步信息以外的数据进行交织编码、且不对所述同步信息进行交织编码;处理模块,用于根据交织编码后的数据和所述同步信息生成数据流,所述同步信息在所述数据流中位于所述交织编码后的数据之前。
在本申请的一些实施例中,所述处理模块,用于对所述第一个码块中长度为P个比特的同步信息不进行交织编码、且对N个码块中的第二个码块至第N个码块中的前P个比特的数据进行交织编码;对所述第一个码块中除所述同步信息以外的数据、所述第二个码块至第N个码块中除P个比特的数据以外的数据进行交织编码。
在本申请的第七方面中,数据处理设备的组成模块还可以执行前述第三方面以及各种可能的实现方式中所描述的步骤,详见前述对第三方面以及各种可能的实现方式中的说明。
第八方面,本申请实施例提供一种数据处理设备,包括:接收模块,用于接收编码端发送的数据流;处理模块,用于从所述数据流中获取同步信息,其中,所述同步信息在所述数据流中位于交织编码后的数据之前、且所述同步信息不进行交织编码;处理模块,用于对所述数据流中位于所述同步信息之后的数据进行解交织。
在本申请的一些实施例中,所述处理模块,用于获取所述数据流中位于所述同步信息之后的(N-1)×P个比特的数据,所述N为进行交织解码的码块个数,所述P为同步信息的长度;将所述(N-1)×P个比特的数据解交织到第二个码块至第N个码块中;将所述数据流中位于所述(N-1)×P个比特的数据之后的数据解交织到第一个码块至第N个码块中。
在本申请的第八方面中,数据处理设备的组成模块还可以执行前述第四方面以及各种可能的实现方式中所描述的步骤,详见前述对第四方面以及各种可能的实现方式中的说明。
第九方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面至第四方面中任一项所述的方法。
第十方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面至第四方面中任一项所述的方法。
第十一方面,本申请实施例提供一种通信装置,该通信装置可以包括终端设备或者芯片等实体,所述通信装置包括:处理器、存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述通信装置执行如前述第一方面至第四方面中任一项所述的方法。
第十二方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持数据处理设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存数据处理设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为本申请实施例提供的一种无源光网络系统的组成架构示意图;
图2为本申请实施例提供的一种无源光网络系统中的数据处理方法中编码端和解码端之间的一种交互流程示意图;
图3为本申请实施例提供的一种无源光网络系统中的数据处理方法中编码端和解码端之间的一种交互流程示意图;
图4为本申请实施例提供的交织编码之前的数据排列示意图;
图5为本申请实施例提供的同步信息在4个码字之间的交织示意图;
图6为本申请实施例提供的取值窗口的示意图;
图7为本申请实施例提供的取值窗口向后移动1个比特的示意图;
图8为本申请实施例提供的编码端不对同步信息进行交织的示意图;
图9为本申请实施例提供的一种数据处理设备的组成结构示意图。
具体实施方式
本申请实施例提供了一种无源光网络系统中的数据处理方法和数据处理设备,用于解决高速的PON系统中的误码扩散问题,以及实现高速的PON系统中的下行同步。
下面结合附图,对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
图1所示,为一种PON系统的系统架构图,该PON系统可以包括:编码端101和解码端102。
其中,编码端101和解码端102之间可以进行相互通信,例如编码端101向解码端102发送数据流。编码端101可以通过一种数据处理设备实现,编码端101可以采用交织编码的方式,解决目前的PON系统中的误码问题,解码端102可以通过另一种数据处理设备实现,解码端102采用根据预置的取值间隔以及取值长度获取到第一数据信息,再通过第一数据信息获取同步信息。例如编码端101具体可以是OLT设备,解码端102具体可以是ONU设备。
举例说明如下,ONU设备可以为PON系统提供用户侧接口,ONU设备与ODN设备相连。如果ONU设备直接提供用户端口功能,如个人电脑上网用的以太网用户端口,则ONU设备可以称为光网络终端(optical network terminal,ONT),后续实施例中ONU设备可以统指ONU设备和ONT设备。
本申请实施例提供的PON系统可以是高速的PON系统,例如可以是50G PON系统。在本申请实施例提供的PON系统中,可以使用低密度校验码(low density parity check code,LDPC)等增强型的前向纠错(forward error correction,FEC)之外,还可以引入数字均衡技术来补偿光器件带宽不足以及传输色散造成的性能代价。对于部分数字均衡器,例如判决反馈均衡(decision feedback equalization,DFE)或者最大似然序列估计器(maximum likelihood sequence estimation,MLSE)等,在补偿链路性能的同时,会引入误码扩散或者突发误码,即如果在接收端(即解码端)出现一个误码,该误码可能造成其后面的多个比特出现误码或者关联误码,后续以误码扩散为例进行说明。突发误码的现象可能导致误码在数据流中的分布不够随机,而部分FEC码字内的误码较多,导致FEC无法完成错误比特的纠正。在本申请实施例提供的PON系统中可以引入交织编码的方式,例如采用比特(bit)交织编码的方式,在接收端把均衡器导致的误码扩散(或者突发误码、关联误码等)分散到不同的FEC码字中。编码端采用比特交织的同时,在解码端作解交织的时候,需要提前识别交织的同步信息的边界及数据块的大小,解码端可以解决在PON系统中引入交织后的发送及接收端的数据处理及同步的问题。
如图2所示,本申请实施例提供一种无源光网络系统中的数据处理方法,包括:
201、编码端对数据块进行FEC编码,以得到编码后的数据块。
其中,编码端可以对一个或多个的数据块进行FEC编码,从而可以得到编码后的数据块。对于FEC编码的具体过程不再详述。数据块可以包括一个或多个的FEC码字(code word)。
202、编码端对编码后的数据块和同步信息进行交织编码,以得到待发送的数据流,同步信息按照第一排列间隔分布在数据流中。
其中,编码端还可以获取同步信息,该同步信息也可以称为同步序列(简称为Psync),为了解决PON系统中产生的码扩散问题,本申请实施例在下行传输之前引入了交织编码,即可以对FEC编码后的数据块和同步信息进行交织编码,以得到待发送的数据流,同步信息按照第一排列间隔分布在数据流中,例如该第一排列间隔与交织编码的深度有关,该第一排列间隔可以是预设的排列间隔,也可以是编码端和解码端协商后确定的排列间隔,或者第一排列间隔是编码端确定的排列间隔,然后编码端向解码端通知该排列间隔。
在交织编码之前,同步信息可以位于FEC编码后的数据块之前,即同步信息可以是FEC编码后的数据块的头部数据。例如交织编码以FEC码字为单位,在进行交织之前,同步信 息位于第一个码字中,在FEC编码后的数据块和同步信息在多个码字之间进行数据交织。通过交织编码,使得产生的误码在数据流中实现随机分布,多个FEC码字内的误码较为平均,不会存在FEC无法完成错误比特的纠正的问题。
在本申请的一些实施例中,步骤202编码端对编码后的数据块和同步信息进行交织编码,包括:
编码端确定用于交织编码的N个码块;
编码端按照交织编码的粒度k将数据块和同步信息分别编码到N个码块中,同步信息的长度为P个比特。
其中,编码端首先确定N的取值,N表示用于交织编码的码块个数,其中,1个码块可包括1个或多个的码字,后续实施例中以1个码块为1个码字进行示例说明。其中,同步信息的长度为P个比特,同步信息和数据块将共同进行交织编码,编码端按照交织编码的粒度k将数据块和同步信息分别编码到N个码块中,其中,交织编码的粒度k是指在每次进行交织时所使用的比特个数。举例说明如下,编码端先发送码字1中的k个比特的数据(例如k可以取1),然后再送码字2中的k个比特,然后是码字3、码字4、…、码字n中的k个比特,依次循环,直至全部发送完n个码字中的k个比特的数据。再以同样的方式处理n+1至2n个码字,直至整个数据帧都发送完。经过交织编码之后,用于定界的同步信息将被分散到数据流中的多个位置,因此需要解码端能够确定同步信息在数据流中的位置。
203、编码端向解码端发送数据流。
其中,编码端进行交织编码之后,获取到待发送的数据后,编码端和接收端之间可以进行相互通信,编码端向解码端发送该数据流。
在本申请的一些实施例中,步骤203编码端向解码端发送数据流之前,本申请实施例提供的数据处理方法还包括如下步骤:
使用预设的扰码对数据流进行加扰。
其中,若数据流需要加扰之后才能发送给解码端,则编码端可以确定预设的扰码,然后使用该扰码对数据流进行加扰,对于加扰的过程和采用的算法不做限定。本申请实施例中由于编码端对数据流进行了加扰,因此在解码端在确定同步信息在数据流中的位置之后,也可以对数据流进行解扰码。
在本申请实施例中,编码端对同步信息和数据块都进行了交织编码,则会产生同步信息按照排列间隔在数据流中分布开来的情况,此时解码端需要能够出接收到的数据流中的同步信息,具体的,解码端可以执行后续的步骤204至步骤206。
204、解码端接收编码端发送的数据流,其中,数据流为采用交织编码的比特流,数据流包括同步信息,同步信息按照第一排列间隔分布在数据流中。
其中,编码端和接收端之间可以进行相互通信,编码端向解码端发送数据流,解码端可以接收来自编码端的数据流,该数据流中携带有同步信息和数据块,且同步信息和数据块进行交织编码,该同步信息按照第一排列间隔分布在数据流中,数据流中的同步信息和数据块由编码端进行交织编码,因此该数据流为采用交织编码的比特流。例如该第一排列间隔与交织编码的深度有关,该第一排列间隔可以是预设的排列间隔,也可以是编码端和解码 端协商后确定的排列间隔,或者第一排列间隔是编码端确定的排列间隔,然后编码端向解码端通知该排列间隔。
205、解码端按照第一取值间隔和第一取值长度从数据流中获取第一数据信息,取值间隔的大小与排列间隔的大小相等,取值长度与同步信息的长度之间的差值小于或等于预设的误差值。
其中,解码端获取第一取值间隔和第一取值长度,第一取值间隔(后续简称为取值间隔)是指解码端从数据流中采样数据时采用的间隔大小,该取值间隔的值可以等于同步信息在数据流中的排列间隔,例如该第一取值间隔与交织编码的深度有关,该第一取值间隔可以是预设的取值间隔,也可以是编码端和解码端协商后确定的取值间隔,或者第一取值间隔是编码端确定的取值间隔,然后编码端向解码端通知该取值间隔。该第一取值长度(后续简称为取值长度)是指解码端需要从数据流中采集到的总的数据长度,另外,该第一取值长度可以是预设的取值长度,也可以是编码端和解码端协商后确定的取值长度,或者第一取值长度是编码端确定的取值长度,然后编码端向解码端通知该取值长度。其中,取值长度与同步信息的长度之间的差值小于或等于预设的误差值,该误差值可以根据具体的应用场景确定,例如误差值可以是t个比特,例如t可以为0或者1等,对于误差值的取值大小不做限定,例如同步信息的长度可以为P个比特,则取值长度可以为P个比特,或者取值长度可以为P-1或者P+1个比特。
本申请实施例中,解码端获取预先设置的取值间隔和第一取值长度,解码端接收到数据流之后,解码端按照第一取值间隔和第一取值长度从数据流中获取第一数据信息,解码端可以按照本地预先保存的两个参数(取值间隔和取值长度)对数据流进行采样,以得到第一数据信息,该第一数据信息的长度为该取值长度,第一数据信息中的组成数据时按照取值间隔对数据流进行采样得到,且取值间隔的大小与排列间隔的大小相等,取值长度与同步信息的长度之间的差值小于或等于预设的误差值。
需要说明的是,本申请实施例中,第一数据信息中包括解码端从接收到的数据流中采集到的数据,该第一数据信息可以是从数据流中携带的同步信息的采样得到,该第一数据信息可以用于判断是否用于下行同步,例如解码端可以判断第一数据信息与同步信息之间的相似度是否超过预设的相似度门限,其中,相似度指的是第一数据信息与同步信息之间的相似程度,例如第一数据信息与同步信息中存在相同数据的比特个数可以为相似度,相似度门限是第一数据信息与同步信息之间的相似程度的阈值,若第一数据信息与同步信息之间的相似度超过预设的相似度门限,则说明该第一数据信息与同步信息是相似的,可以将该第一数据信息作为解码端从数据流中确定出的同步信息,若第一数据信息与同步信息之间的相似度没有超过预设的相似度门限,则说明该第一数据信息与同步信息不是相似的,不能将该第一数据信息作为解码端从数据流中确定出的同步信息。举例说明如下,相似度门限可以是一个绝对相似的比特个数,也可以是一个相似的比例值,例如同步信息共有P个比特数据,则相似度门限可以是P-m,m可以取2、3、4等,又如相似度门限可以是(P-m)/P,m可以取2、3、4等,例如相似度门限可以为95%或者96%等,具体取决于m和P的取值。
不限定的是,本申请实施例中,解码端还可以判断解码端可以判断第一数据信息与同步信息之间的相差度是否小于或等于预设的相差度门限,通过该判断也可以判断出第一数据信息与同步信息之间的相似度是否超过预设的相似度门限,其中,相差度指的是第一数据信息与同步信息之间的不相似程度,相似度和相差度为相反的两个衡量第一数据信息与同步信息之间相似程度的参数,此处不再展开说明。
在本申请的一些实施例中,步骤205解码端按照第一取值间隔和第一取值长度从数据流中获取第一数据信息,包括:
A1、解码端从数据流中获取长度为P×N个比特的第一数据子流,其中,P为同步信息的长度,N为进行交织编码的码块个数,码块包括至少一个码字。
其中,解码端根据取值间隔和取值长度确定取值窗口,该取值窗口为P×N个比特,则解码端可以按照该取值窗口从数据流中获取长度为P×N个比特的第一数据子流,该第一数据子流是指解码端接收到的数据流中截取到的一段数据序列,具体的截取方式取决于解码端确定的取值窗口,其中,P为同步信息的长度,N为进行交织编码的码块个数,码块包括至少一个码字。
A2、解码端按照第一取值间隔和第一取值长度从第一数据子流中包括P个比特数据的第一数据信息,其中,取值间隔为(N-1)×k个比特,k为交织编码的粒度,×表示相乘运算。
其中,解码端按照第一取值间隔对应的间隔,再间隔该第一取值间隔时就从第一数据子流中一次获取到k个比特数据,按照该第一取值间隔可以多个次的从第一数据子流中获取到k个比特数据,则所有获取到的k个比特数据连接起来就可以得到p个比特数据,例如取值间隔的大小为(N-1)×k个比特,则每次间隔“(N-1)×k个比特”,取出k个比特数据,再将获取到的所有k个比特数据联合在一起,可以得到P个比特的第一数据信息,该第一数据信息可以用于判断是否与同步信息相似,本申请实施例中解码端可以按照上述方式获取与同步信息等长度的第一数据信息。
举例说明如下,N为交织编码的码块个数,N乘以码块大小即为交织编码的深度,例如每个码块大小为1个FEC码字,若k等于1,则解码端按照每间隔N-1个比特,从第一数据子流中1个比特数据,由于第一数据子流的长度为N×P,因此可以得到包括P个比特数据的第一数据信息。
进一步的,在本申请的一些实施例中,步骤A2解码端按照第一取值间隔和第一取值长度从第一数据子流中得到包括P个比特数据的第一数据信息,包括:
A21、解码端将第一数据子流划分为P/k个数据集合,其中,每个数据集合中包括N×k个比特数据,/表示相除运算;
其中,第一数据子流的长度为N×P,解码端按照交织编码的粒度为k对第一数据子流进行截取,从而可以得到P/k个数据集合,其中,每个数据集合中包括N×k个比特数据,/表示相除运算,若k等于1,则可以得到p个数据集合。若k等于2,则可以得到P/2个数据集合,以此类推。
A22、解码端从P/k个数据集合中的每个数据集合中分别获取到k个比特数据,其中,第一数据信息包括:从P/k个数据集合中共获取到的P个比特数据。
其中,解码端确定出P/k个数据集合之后,对于每个数据集合中获取到k个比特数据,则对于P/k个数据集合,总共可以获取到P个比特数据,则这P个比特数据构成前述的第一数据信息,该第一数据信息的长度为P个比特。本申请实施例中解码端可以按照上述方式获取与同步信息等长度的第一数据信息。
206、当第一数据信息与同步信息之间的相似度超过预设的相似度门限时,解码端按照第一数据信息的起始位置对数据流进行解交织。
在本申请实施例中,解码端按照步骤205的方式获取到第一数据信息之后,解码端可以判断第一数据信息与同步信息之间的相似度是否超过预设的相似度门限,当第一数据信息与同步信息之间的相似度超过预设的相似度门限时,则说明该第一数据信息与同步信息是很相似的,可以将该第一数据信息作为解码端从数据流中确定出的同步信息,解码端按照第一数据信息的起始位置对数据流进行解交织,以获得解交织之后的原始数据流,即解码端可以将第一数据信息的起始位置作为下行同步的边界确定出数据流中的同步信息,解决了PON系统中在采用交织编码时无法确定下行同步的问题。
在本申请的一些实施例中,当第一数据信息与同步信息之间的相似度没有超过相似度门限时,解码端执行的数据处理方法还包括如下步骤:
B1、解码端从数据流中获取长度为P×N个比特的第二数据子流,其中,第二数据子流和第一数据子流中至少存在一个不同比特的数据;
B2、解码端按照第一取值间隔和第一取值长度从第二数据子流中得到包括P个比特数据的第二数据信息;
B3、当第二数据信息与同步信息之间的相似度超过相似度门限时,解码端按照第二数据信息的起始位置对数据流进行解交织。
其中,解码端采用轮询处理的方式,当第一数据信息与同步信息之间的相似度超过相似度门限时,通过前述步骤206从数据流中获取到同步信息,当第一数据信息与同步信息之间的相似度没有超过相似度门限时,则通过步骤B1至步骤B3从数据流中获取到同步信息,同样的,若通过步骤B1至B2确定第二数据信息与同步信息之间的相似度没有超过相似度门限,解码端还可以从数据流中获取到第三数据子流,直至获取到与同步信息相似的数据信息即可。对于步骤B1至步骤B3的实现方式与前述实施例中对第一数据信息的处理类似,此次不再赘述。
在本申请的一些实施例中,步骤206解码端按照第一数据信息的起始位置对数据流进行解交织之后,解码端执行的数据处理方法还包括如下步骤:
C1、解码端确定第一数据信息的起始位置为第一数据信息中的第一个比特;
C2、解码端将第一个比特作为下行同步的起始边界,对数据流进行前向纠错FEC解码。
其中,解码端按照第一数据信息的起始位置对数据流进行解交织之后,解码端确定第一数据信息的起始位置为第一数据信息中的第一个比特,即解码端找到了第一数据信息中的第一个比特,该第一个比特是解码端进行下行同步的定界,解码端将第一个比特作为下行同步的起始边界,对数据流进行FEC解码,实现了解码端对接收到的数据流的FEC解码,从而解码端可以获取到编码端进行FEC编码之前的原始数据块,解码端获取到编码传输的数据块内容。
在本申请的一些实施例中,步骤C2解码端将第一个比特作为下行同步的起始边界,对数据流进行FEC解码之后,解码端执行的数据处理方法还包括如下步骤:
若对数据流进行的FEC解码成功,解码端确定第一数据信息中的第一个比特为下行同步的起始边界。
其中,解码端进行FEC解码可以通过FEC解码器来实现,该FEC解码器可以输出解码是否成功的标志,若对数据流进行的FEC解码成功,则说明解码端确定的第一数据信息的第一个比特作为同步信息的起始位置是正确的,此时解码端确定第一数据信息中的第一个比特为下行同步的起始边界,进一步的验证了解码端获取PON系统中采用交织编码时的下行同步的正确性。
在本申请的一些实施例中,步骤206解码端按照第一数据信息的起始位置对数据流进行解交织之后,解码端执行的数据处理方法还包括如下步骤:
解码端确定第一数据信息的起始位置为第一数据信息中的第一个比特;
解码端将第一个比特作为下行同步的起始边界,使用预设的扰码对数据流进行解扰码。
其中,若数据流需要加扰之后才能发送给解码端,则编码端可以确定预设的扰码,然后使用该扰码对数据流进行加扰,对于加扰的过程和采用的算法不做限定。本申请实施例中由于编码端对数据流进行了加扰,因此在解码端在确定同步信息在数据流中的位置之后,也可以对数据流进行解扰码。本申请实施例中解码端进行正确的解扰码也需要基于正确的进行下行同步,才能实现对接收到的数据流的解扰码。
通过前述实施例的举例说明可知,首先接收编码端发送的数据流,该数据流为采用交织编码的比特流,该数据流包括同步信息,同步信息按照第一排列间隔分布在数据流中,然后按照第一取值间隔和第一取值长度从数据流中获取第一数据信息,取值间隔的大小与排列间隔的大小相等,取值长度与同步信息的长度之间的差值小于或等于预设的误差值,当第一数据信息与同步信息之间的相似度超过预设的相似度门限时,按照第一数据信息的起始位置对数据流进行解交织。本申请实施例中编码端发送的数据流中同步信息和数据块交织在一起,且同步信息间隔分布在数据流中,因此可以按照第一取值间隔和取值长度对数据流进行采样,以得到第一数据信息,该第一数据信息是按照取值长度从数据流中取值得到,且该第一数据信息是按照取值间隔从数据流中取值得到,通过该第一数据信息与同步信息的相似度超过相似度门限时,该第一数据信息的起始位置可用于对数据流进行解交织,最终可以获取到数据流中的同步信息,本申请实施例中适用于高速的PON系统中的数据流交织编码的场景,解决了数据流采用交织编码时无法确定下行同步的问题。
如图3所示,本申请实施例还提供一种PON系统中的数据处理方法,包括:
301、编码端获取待编码的N个码块,N个码块中的第一个码块中包括同步信息,N为进行交织编码的码块个数。
其中,编码端可以对多个数据块进行FEC编码,然后将同步信息添加到FEC编码后的数据块的前面,例如同步信息和数据块可以被划分为N个码块,N个码块中的第一个码块中包括同步信息。
302、编码端对N个码块中除同步信息以外的数据进行交织编码、且不对同步信息进行交织编码。
其中,编码端对于N个码块中的数据进行交织编码,但是不对同步信息进行交织编码,从而有利于解码端快速的确定出该同步信息,即编码端可以对N个码块中的第一个码块中的同步信息跳过交织编码,以减少解码端确定同步信息的复杂度。
303、编码端根据交织编码后的数据和同步信息生成数据流,同步信息在数据流中位于交织编码后的数据之前。
在本申请实施例中,编码端进行交织编码之后,编码端将同步信息放在交织编码后的数据之前,从而生成数据流,然后编码端向解码端发送数据流,由于该同步信息在数据流中位于交织编码后的数据之前,从而有利于解码端快速的确定出该同步信息。
在本申请的一些实施例中,对N个码块中除同步信息以外的数据进行交织编码、且不对同步信息进行交织编码,包括:
对第一个码块中长度为P个比特的同步信息不进行交织编码、且对N个码块中的第二个码块至第N个码块中的前P个比特的数据进行交织编码;
对第一个码块中除同步信息以外的数据、第二个码块至第N个码块中除P个比特的数据以外的数据进行交织编码。
其中,对于N个码块而言,每个码块中都有前P个比特的数据,以及P个比特之后的数据,第一个码块中的前P个比特为同步信息,N个码块中的第二个码块至第N个码块中的前P个比特为数据内容,每个数据帧的前N个码块的交织方式与后续的N个码块的交织方式有差异,即第一个码块的前P个比特不参与交织,剩余N-1个码块的前P个比特进行交织。前N个码块的其他数据仍采用在N个码块之间进行交织。通过上述交织方式,使得N个码块中的同步信息不进行交织编码,从而有利于解码端快速的确定出该同步信息,即编码端可以对N个码块中的第一个码块中的同步信息跳过交织编码,以减少解码端确定同步信息的复杂度。
304、解码端接收编码端发送的数据流。
其中,编码端和接收端之间可以进行相互通信,编码端向解码端发送数据流,解码端可以接收来自编码端的数据流,该数据流中携带有同步信息和数据块,且同步信息不进行交织编码,数据块进行交织编码,该同步信息分布在数据流的头端。
305、解码端从数据流中获取同步信息,其中,同步信息在数据流中位于交织编码后的数据之前、且同步信息不进行交织编码。
其中,同步信息分布在数据流的头端,例如同步信息采用特殊的取值,以便解码端快速从数据流的头端检测到同步信息。
306、解码端对数据流中位于同步信息之后的数据进行解交织。
其中,解码端按照同步信息的起始位置进行解交织,即解码端可以确定出数据流中的同步信息,解决了PON系统中在采用交织编码时无法确定下行同步的问题。
在本申请的一些实施例中,对数据流中位于同步信息之后的数据进行解交织,包括:
获取数据流中位于同步信息之后的(N-1)×P个比特的数据,N为进行交织解码的码块个数,P为同步信息的长度;
将(N-1)×P个比特的数据解交织到第二个码块至第N个码块中;
将数据流中位于(N-1)×P个比特的数据之后的数据解交织到第一个码块至第N个码块中。
其中,解码端采用与上述编码端相反的处理方式,解码端先找到同步信息,然后在数据流中位于同步信息之后的(N-1)×P个比特进行解交织,以得到第2个至第N个码块,再对于数据流中(N-1)×P个比特之后的数据解交织到第1个至第N个码块,通过上述方式可以完成解交织。不限定的是,解码端在解交织之后,还可以进行FEC解码,或者进行解扰码,此处不做限定。
通过前述实施例的举例说明可知,本申请实施例中编码端根据交织编码后的数据和同步信息生成数据流,同步信息在数据流中位于交织编码后的数据之前,该同步信息在数据流中没有进行交织,使得解码端可以从数据流的头部中获取到同步信息,解码端对数据流中位于同步信息之后的数据进行解交织,从而可以获取到编码端发送的数据流,通过对数据块进行交织,解决了PON系统中误码扩散的问题,另外,对于数据流中的同步信息不进行交织,使得解码端可以快速的确定出数据流中的同步信息,解决了PON系统中无法进行下行同步的问题。
为便于更好的理解和实施本申请实施例的上述方案,下面举例相应的应用场景来进行具体说明。
接下来以PON系统为50G PON系统为例,介绍50G PON系统中的下行数据处理流程,为解决误码扩散问题,本申请实施例在下行中引入了交织编码,交织以FEC码字为单位,在多个FEC码字之间进行数据交织。数据帧在经过FEC编码之后的格式如图4所示,每个数据帧由n个FEC码字(codeword,CW)组成,例如n为4,其中第一个码字包含了用于帧定界的同步序列(Psync)。在没有做交织编码的情况下,解码端在收到的数据流中去搜寻Psync序列,通过Psync就可以完成帧的定界及FEC码字的定界。当引入了交织编码后,交织可能会把原来用来定界的Psync打散,同步序列分布在数据流中的不同位置,即数据流中不再有连续的Psync码型。
例如编码端可以采用如下的块交织编码方式,其过程如图5所示,以4个码字深度的交织为例,把经过FEC编码之后的4个码字作为一个整体。线路层中发送的数据顺序不再是FEC编码之后的数据发送,而是几个码字中的数据交错发送。如图6所示,图6中按照4个码字的深度进行交织编码,图6方框中所示的是交织完了之后的数据。每个灰色部分表示因交织而被分散的Psync的一部分,取决于交织编码的粒度。先发送码字1中的k个比特(k可以取1),然后在发送码字2中的k个比特,然后是码字3、码字4,再发送码字1中的第二个k个比特,依次循环,直至全部发送完4个码字。再以同样的方式处理5-8个码字,直至整个帧都发送完毕。
经过编码端的交织编码之后,用于定界的同步序列将被分散的数据流中,用于帧定界的连续的同步序列将会因交织编码的引入,离散的分布在数据流中,如图6所示,解码端不能再以连续的同步序列来完成定界。
为了实现数据流中的同步序列的边界,本申请实施例中解码端可以在更大范围内采用间插取值的方式进行取值,并实现取值得到的第一数据信息与预设的同步序列的匹配。具体的实施过程如图7所示,在下行的数据流中以N乘以P的大小为取值窗口,其中,P为 同步序列的长度,N为交织编码的码字数目,例如P取64,N取4。在取值窗口中,按照固定的取值间隔,每N个比特中取1个比特,共计取出P个比特,其中,取值间隔取决于交织编码的深度,如果交织编码的深度是4个码字,固定间隔可以等于4个比特,即每4个比特从数据流中取出1个比特数据,一共从数据流中取出P个比特的数据。获取该P个比特的数据与预设的同步序列之间的相差度,即将P个比特的数据与预设的同步序列进行对比匹配,可以比较P个比特的数据与预设的同步序列两者是否相同,当两者的不同比特数小于m,则认为两者是匹配的,否则认为两者不匹配,其中,m可以取2、或3、或4等。
当取出的P个比特数据与预设的同步序列不匹配时,如图7所示,把取值窗口向后移动一个比特,重复前面的匹配过程,直至在下行数据流中找到了匹配的同步序列。当解码端在下行数据流中找到匹配的同步序列后,以整个取值窗口中的第一个比特作为数据帧以及码字的起始边界,并且基于该边界进行解交织,并恢复出连续的FEC码字。随后对FEC码字进行译码,如果FEC码字译码成功,则解码端可以认定完成下行数据流的定界及同步。如果连续的几个FEC码字译码失败,则上面的同步过程可能是由于下行数据流中巧合出现了同步序列的码型导致错误匹配,解码端仍需要以N乘以P的取值窗口从数据流中进行取数,并采用滑动窗口进行匹配验证,其中,滑动方式可以是往新接收的数据流的方向进行滑动,直至完成正确的下行帧的定界及同步。
通过前述的举例说明可知,本申请实施例提供前述的高速PON系统的下行数据处理流程,实现高速PON系统的下行同步定界,通过引入交织方案,解决PON系统中因数字均衡器引入的关联误码或突发误码,采用取值窗口及间插取值的匹配方式,实现在有交织情况下的下行数据匹配。
为了保证连续的同步序列,本实施例中,仍采用和前述实施例中相同的交织方式。但是,在每帧起始阶段,采用与其他部分不完全相同的交织方式,如图8所示,同步信息不参与交织编码,在交织过程中同步序列作为一个整体,保留在发送的数据流中。解码端在接收数据时,仍采用完整的同步序列来匹配,匹配后完成帧定界,帧边界部分采用与帧内其他部分不同的交织方式。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
例如,如上实施例中的编码端和解码端均可以由如图9所示的装置来实现,该装置具体可以为数据处理设备。
装置1000包括至少一个处理器1001,通信总线1002,存储器1003以及至少一个通信接口1004。装置1000可以是一个通用计算机或服务器或者是一个专用计算机或服务器。
处理器1001可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线1002可包括一通路,在上述组件之间传送信息。
通信接口1004,可以是任何收发器或IP端口或总线接口等,用于与内部或外部设备或装置或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
存储器1003可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器1003用于存储执行本发明方案的应用程序代码,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的应用程序代码,从而实现申请实施例中编码端和解码端的功能。
在具体实现中,作为一种实施例,处理器1001可以包括一个或多个CPU,例如图9中的CPU0和CPU1。
在具体实现中,作为一种实施例,装置1000可以包括多个处理器,例如图9中的处理器1001和处理器1008。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,装置1000还可以包括输出设备1005和输入设备1006。输出设备1005和处理器1001通信,可以以多种方式来显示信息。例如,输出设备1005可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备1006和处理器1001通信,可以以多种方式接受用户的输入。例如,输入设备1006可以是鼠标、键盘、触摸屏设备或传感设备等。
当图9所示的装置为芯片时,通信接口1004的功能/实现过程还可以通过管脚或电路等来实现,所述存储器为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是位于所述芯片外部的存储单元。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (13)

  1. 一种无源光网络PON系统中的数据处理方法,其特征在于,包括:
    接收编码端发送的数据流,其中,所述数据流为采用交织编码的比特流,所述数据流包括同步信息,所述同步信息按照第一排列间隔分布在所述数据流中;
    按照第一取值间隔和第一取值长度从所述数据流中获取第一数据信息,所述第一取值间隔与所述第一排列间隔相等,所述第一取值长度与所述同步信息的长度之间的差值小于或等于预设的误差值;
    当所述第一数据信息与所述同步信息之间的相似度超过预设的相似度门限时,按照所述第一数据信息的起始位置对所述数据流进行解交织。
  2. 根据权利要求1所述的方法,其特征在于,按照第一取值间隔和第一取值长度从所述数据流中获取第一数据信息,包括:
    从所述数据流中获取长度为P×N个比特的第一数据子流,其中,所述P为所述同步信息的长度,所述N为进行所述交织编码的码块个数,所述码块包括至少一个码字;
    按照第一取值间隔和第一取值长度从所述第一数据子流中得到包括P个比特数据的第一数据信息,其中,所述取值间隔为(N-1)×k个比特,所述k为所述交织编码的粒度,所述×表示相乘运算。
  3. 根据权利要求2所述的方法,其特征在于,所述按照第一取值间隔和第一取值长度从所述第一数据子流中得到包括P个比特数据的第一数据信息,包括:
    将所述第一数据子流划分为P/k个数据集合,其中,每个数据集合中包括N×k个比特数据,所述/表示相除运算;
    从所述P/k个数据集合中的每个数据集合中获取到k个比特数据,其中,所述第一数据信息包括:从所述P/k个数据集合中共获取到的P个比特数据。
  4. 根据权利要求2或3所述的方法,其特征在于,当所述第一数据信息与所述同步信息之间的相似度没有超过所述相似度门限时,所述方法还包括:
    从所述数据流中获取长度为P×N个比特的第二数据子流,其中,所述第二数据子流和所述第一数据子流中至少存在一个不同比特的数据;
    按照第一取值间隔和第一取值长度从所述第二数据子流中得到包括P个比特数据的第二数据信息;
    当所述第二数据信息与所述同步信息之间的相似度超过所述相似度门限时,按照所述第二数据信息的起始位置对所述数据流进行解交织。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述按照所述第一数据信息的起始位置对所述数据流进行解交织之后,所述方法还包括:
    确定所述第一数据信息的起始位置为所述第一数据信息中的第一个比特;
    将所述第一个比特作为下行同步的起始边界,对所述数据流进行前向纠错FEC解码。
  6. 根据权利要求5所述的方法,其特征在于,所述将所述第一个比特作为下行同步的起始边界,对所述数据流进行FEC解码之后,所述方法还包括:
    若对所述数据流进行的FEC解码成功,确定所述第一数据信息中的第一个比特为所述下行同步的起始边界。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述按照所述第一数据信息的起始位置对所述数据流进行解交织之后,所述方法还包括:
    确定所述第一数据信息的起始位置为所述第一数据信息中的第一个比特;
    将所述第一个比特作为下行同步的起始边界,使用预设的扰码对所述数据流进行解扰码。
  8. 一种无源光网络PON系统中的数据处理方法,其特征在于,包括:
    对数据块进行FEC编码,以得到编码后的数据块;
    对所述编码后的数据块和同步信息进行交织编码,以得到待发送的数据流,所述同步信息按照第一排列间隔分布在所述数据流中;
    向解码端发送所述数据流。
  9. 根据权利要求8所述的方法,其特征在于,所述对所述编码后的数据块和同步信息进行交织编码,包括:
    确定用于交织编码的N个码块;
    按照所述交织编码的粒度k将所述数据块和所述同步信息分别编码到所述N个码块中,所述同步信息的长度为P个比特。
  10. 根据权利要求9所述的方法,其特征在于,所述向解码端发送所述数据流之前,所述方法还包括:
    使用预设的扰码对所述数据流进行加扰。
  11. 一种数据处理设备,其特征在于,所述数据处理设备包括:处理器,存储器;所述处理器、所述存储器之间进行相互的通信;
    所述存储器用于存储指令;
    所述处理器用于执行所述存储器中的所述指令,执行如权利要求1至7、或者8至10中任一项所述的方法。
  12. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7、或者8至10中任意一项所述的方法。
  13. 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至7、或者8至10中任意一项所述的方法。
PCT/CN2021/119755 2020-09-30 2021-09-23 一种无源光网络系统中的数据处理方法和数据处理设备 WO2022068658A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21874319.3A EP4210251A4 (en) 2020-09-30 2021-09-23 DATA PROCESSING METHOD AND DATA PROCESSING DEVICE IN PASSIVE OPTICAL NETWORK SYSTEM
US18/192,121 US20230246741A1 (en) 2020-09-30 2023-03-29 Data Processing Method and Device in Passive Optical Network System

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011063398.5 2020-09-30
CN202011063398.5A CN114337912A (zh) 2020-09-30 2020-09-30 一种无源光网络系统中的数据处理方法和数据处理设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/192,121 Continuation US20230246741A1 (en) 2020-09-30 2023-03-29 Data Processing Method and Device in Passive Optical Network System

Publications (1)

Publication Number Publication Date
WO2022068658A1 true WO2022068658A1 (zh) 2022-04-07

Family

ID=80949555

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/119755 WO2022068658A1 (zh) 2020-09-30 2021-09-23 一种无源光网络系统中的数据处理方法和数据处理设备

Country Status (4)

Country Link
US (1) US20230246741A1 (zh)
EP (1) EP4210251A4 (zh)
CN (1) CN114337912A (zh)
WO (1) WO2022068658A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796755A (en) * 1995-10-10 1998-08-18 Eastman Kodak Company Error minimization in interleaved error correcting codes
CN1449191A (zh) * 2003-04-28 2003-10-15 浙江大学 数字电视传输中的数据交织方法
CN102013910A (zh) * 2010-11-17 2011-04-13 中国人民解放军理工大学 一种短波多天线信号增强接收方法
CN106331908A (zh) * 2015-06-30 2017-01-11 上海贝尔股份有限公司 一种无源光网络系统及其装置
CN110192350A (zh) * 2017-03-13 2019-08-30 索尼半导体解决方案公司 发送设备和发送方法、接收设备和接收方法以及程序

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0101700D0 (en) * 2001-01-23 2005-04-06 Bae Sys Defence Sys Ltd Hardened automatic synchronisation scheme for atm cells

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796755A (en) * 1995-10-10 1998-08-18 Eastman Kodak Company Error minimization in interleaved error correcting codes
CN1449191A (zh) * 2003-04-28 2003-10-15 浙江大学 数字电视传输中的数据交织方法
CN102013910A (zh) * 2010-11-17 2011-04-13 中国人民解放军理工大学 一种短波多天线信号增强接收方法
CN106331908A (zh) * 2015-06-30 2017-01-11 上海贝尔股份有限公司 一种无源光网络系统及其装置
CN110192350A (zh) * 2017-03-13 2019-08-30 索尼半导体解决方案公司 发送设备和发送方法、接收设备和接收方法以及程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4210251A4

Also Published As

Publication number Publication date
CN114337912A (zh) 2022-04-12
US20230246741A1 (en) 2023-08-03
EP4210251A1 (en) 2023-07-12
EP4210251A4 (en) 2024-03-20

Similar Documents

Publication Publication Date Title
US6662332B1 (en) Interleaver for burst error correction
US6738935B1 (en) Coding sublayer for multi-channel media with error correction
CN101267210B (zh) 数据编译码和收发方法及装置
CN112769558B (zh) 一种码率自适应的qkd后处理方法及系统
US7870466B2 (en) Parallel cyclic code generation device and parallel cyclic code error detection device
US8271850B2 (en) Fast low-density parity-check code encoder
US20030188253A1 (en) Method for iterative hard-decision forward error correction decoding
US11831434B2 (en) Data sending and receiving method and device
JP3419520B2 (ja) データ通信方法および装置
EP4123932A1 (en) Code word synchronization method, receiver, network device and network system
US9246491B2 (en) Method and apparatus for performing pipelined operations on parallel input data with feedback
WO2022068658A1 (zh) 一种无源光网络系统中的数据处理方法和数据处理设备
CN117749323A (zh) 数据传输的方法、装置、设备、系统及可读存储介质
US6938198B1 (en) Method and system for accelerating ethernet checksums
US20090024900A1 (en) Cyclic redundancy checking in lane-based communications
US8261156B2 (en) Methods and apparatuses for correcting errors in data streams
CN107026707B (zh) 一种自适应采样率的信道编码、解码方法和装置
Tolentino et al. FPGA-based redundancy bits reduction algorithm using the enhanced error detection correction code
EP4376334A1 (en) Data transmission method and apparatus, and device, system and readable storage medium
WO2022199529A1 (zh) 一种数据编码处理方法、装置、存储介质及电子装置
US20240187130A1 (en) Data transmission method, apparatus, device, system, and readable storage medium
Radonjic et al. Integer codes correcting single errors and detecting burst errors within two bytes
CN116073944A (zh) 数据传输的方法、装置、设备、系统及可读存储介质
US9998278B2 (en) Method and apparatus for synchronization of a decoding unit
CN116938648A (zh) 一种均衡装置、方法和接收设备

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021874319

Country of ref document: EP

Effective date: 20230405

NENP Non-entry into the national phase

Ref country code: DE