Data processing method and related device
By using single-bit extended BCH encoding with error correction capability of 2 bits and extended BCH encoding with finite domain GF(28) error correction of 2 bits in optical communication systems, the problem of insufficient performance in the existing CFEC scheme in 1.6T ZR scenarios is solved, and higher coding gain and better cascaded coding performance are achieved.
Patent Information
- Application Number
- CN202311295265.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-03-28
AI Technical Summary
In the 400G ZR scenario, the existing CFEC error correction coding scheme cannot meet the link budget after the increase in transmission rate in the future 1.6T ZR scenarios, and a solution with higher encoding gain is needed.
Single-bit extended BCH (136, 119) encoding with error correction capability is adopted as the internal coding encoding scheme, combined with finite domain GF (28) to correct 2 bits of extended BCH encoding, and symbol mapping and polarization division are performed in the data processing method to improve the performance of cascade encoding.
While compatible with 400G ZR scenarios, the performance of cascade encoding is improved, meeting the link budget requirements of 1.6T ZR scenarios.
Smart Images

Figure CN119728010A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of optical communications, and in particular, to a data processing method and related devices. Background Art
[0002] Driven by 5G, cloud computing, big data, and artificial intelligence, optical communication systems and optical transport networks (OTN) are developing towards large capacity and ultra-high speed. Using forward error correction (FEC) to correct errors in transmitted data can solve transmission errors and recover the original data sent by the sender from the received data.
[0003] In the 400G ZR scenario, CFEC (Concatenated-FEC) is used as the error correction coding scheme in the optical module, where the outer code uses staircase code and the inner code uses double-bit extended Hamming code. In the future 1.6T ZR scenario, due to the significant increase in transmission rate, the performance of the existing CFEC solution cannot meet the link budget of this scenario, and a solution with higher coding gain is urgently needed. Summary of the invention
[0004] The embodiments of the present application provide a data processing method and related devices, which improve the performance of cascade coding while being compatible with 400G ZR scenarios.
[0005] In the first aspect, an embodiment of the present application provides a data processing method. First, a first data stream that has been encoded by a first forward error correction (FEC) code is obtained, and the first FEC code can be regarded as an outer code code. Then, a second FEC code is performed on each consecutive 119 bits in the first data stream to obtain a code word, so as to obtain a second data stream including at least one code word. Each code word includes 119 information bits and 17 check bits, a total of 136 bits, and the second FEC code adopts a finite field GF(2 8 ) 2-bit extended BCH code for error correction, and 17 check bits including 1-bit cyclic redundancy check (CRC) extended check bit.
[0006] In this implementation, the embodiment of the present application adopts a single-bit extended BCH (136, 119) code with an error correction capability of 2 bits. In the existing 400G ZR scenario, the data padding and convolution interleaving between the outer code and the inner code are implemented with a granularity of 119 bits. Therefore, the inner code coding scheme provided in the embodiment of the present application can replace the Hamming code with an error correction capability of 1 bit with a single-bit extended BCH code or its extended code with an error correction capability of 2 bits while being compatible with the 400GZR scenario, thereby improving the performance of the cascade coding.
[0007] In some possible implementations, after performing the second FEC encoding on each consecutive 119 bits in the second data stream to obtain a codeword, the method further includes: performing symbol mapping and polarization division on each consecutive 8 bits in each codeword in the second data stream to obtain a dual-polarization (DP)-16QAM symbol, so as to obtain a total of 17 DP-16QAM symbols. Any component of the DP-16QAM symbol is obtained by mapping two consecutive bits in the same codeword, so that two bits with different error probabilities in any component are evenly distributed in each inner codeword, which is conducive to improving the performance of inner code encoding.
[0008] In some possible implementations, after performing symbol mapping and polarization division on every 8 consecutive bits in a codeword to obtain one DP-16QAM symbol, the method further includes: obtaining a DP-16QAM symbol set, the DP-16QAM symbol set comprising L rows and 17 columns of DP-16QAM symbols, wherein L is an integer greater than or equal to 1, and the 17 DP-16QAM symbols in each row of the DP-16QAM symbol set are obtained by performing symbol mapping and polarization division on 136 bits in a codeword. The DP-16QAM symbol set is channel interleaved to obtain a third data stream, the third data stream includes 17 DP-16QAM symbol subsets, each DP-16QAM symbol subset includes L DP-16QAM symbols, each DP-16QAM symbol subset comes from L DP-16QAM symbols corresponding to a column in the DP-16QAM symbol set, wherein the f-th DP-16QAM symbol subset in the third data stream corresponds to the DP-16QAM symbol in the f-th column in the DP-16QAM symbol set, 0≤f≤16. It should be understood that before the DP-16QAM symbol stream is sent to the channel for transmission, channel interleaving can enhance the resistance to channel burst errors.
[0009] In some possible implementations, the first data stream is bit-filled after the first FEC encoding, wherein the number of filled bits is 119×6=714, and the number of 119-bit data blocks contained in the total amount of data after filling is an integer multiple of 16, which can more conveniently perform synchronization and alignment of convolution interleaving. This solution can make the new cascade architecture more compatible with the data frame structure of 400G ZR.
[0010] In some possible implementations, the first data stream is further subjected to convolution interleaving after being subjected to the first FEC coding, which can reduce the transmission of error correlation between the inner code coding and the outer code coding and more effectively resist burst errors.
[0011] In some possible implementations, convolution interleaving includes: delaying bits from a bit-filled data stream according to 16 delay lines. Each delay line includes a different number of storage units, the delay line with the smallest number of storage units includes 0 storage units, the difference in the number of storage units between each two adjacent delay lines is 2, each storage unit is used to store 119 bits, the input bits are sequentially input into the 16 delay lines according to the sequence numbers of the 16 delay lines, each delay line inputs 119 bits at a time and outputs 119 bits at a time, and the continuous 16×119 bits output after convolution interleaving include 119 bits output by each delay line. This implementation provides a specific implementation method of convolution interleaving, which has a good practical effect.
[0012] In some possible implementations, each consecutive 119 bits in the first data stream include 59 bit subsets and target bits, and each bit subset includes 2 bits. Performing the second FEC encoding on each consecutive 119 bits in the first data stream to obtain a codeword includes: performing XOR on the 2 bits in each bit subset to obtain 1 bit, so as to obtain a total of 59 bits; encoding the bit sequence including 59 bits and the target bit to obtain 17 check bits, and the consecutive 119 bits are the information bits in the codeword. The embodiment of the present application adopts the method of first XORing and then encoding. For example, the codeword processing of (136, 119) can be realized by using a (77, 60) encoder, which reduces the complexity of encoding while not changing the inner codeword length and redundancy cost.
[0013] In some possible implementations, before obtaining the first data stream after the first FEC encoding, the method further includes: distributing the input data stream to obtain 4 distribution data streams; and performing the first FEC encoding on each distribution data stream. This data method is conducive to compatibility with 1.6T, 800G, 400G and other throughput scenarios.
[0014] In some possible implementations, the first FEC encoding uses staircase (512, 510) encoding, which has a better practical effect.
[0015] In a second aspect, an embodiment of the present application provides a data processing device, the data processing device comprising: an acquisition unit and an encoding unit. The acquisition unit is used to: acquire a first data stream that has been encoded by a first FEC; The encoding unit is used to: perform a second FEC encoding on each consecutive 119 bits in the first data stream to obtain a codeword, so as to obtain a second data stream including at least one codeword. Each codeword includes 119 information bits and 17 check bits, a total of 136 bits, and the second FEC encoding adopts a finite field GF(2 8 ) 2-bit extended BCH code for error correction, 17 check bits including 1-bit CRC extended check bit.
[0016] In some possible implementations, the data processing device further includes a mapping unit configured to perform symbol mapping and polarization division on every 8 consecutive bits in each codeword in the second data stream to obtain one DP-16QAM symbol, so as to obtain a total of 17 DP-16QAM symbols.
[0017] In some possible implementations, the data processing device further includes a channel interleaving unit. The channel interleaving unit is used to: obtain a DP-16QAM symbol set, the DP-16QAM symbol set includes L rows and 17 columns of DP-16QAM symbols, wherein L is an integer greater than or equal to 1, and the 17 DP-16QAM symbols in each row of the DP-16QAM symbol set are obtained by symbol mapping and polarization division of 136 bits in a codeword; channel interleave the DP-16QAM symbol set to obtain a third data stream, the third data stream includes 17 DP-16QAM symbol subsets, each DP-16QAM symbol subset includes L DP-16QAM symbols, and each DP-16QAM symbol subset comes from L DP-16QAM symbols corresponding to a column in the DP-16QAM symbol set, wherein the fth DP-16QAM symbol subset in the third data stream corresponds to the DP-16QAM symbol in the fth column in the DP-16QAM symbol set, and 0≤f≤16.
[0018] In some possible implementations, the data processing device further includes a filling unit, and the first data stream is bit-filled by the filling unit after being encoded by the first FEC, wherein the number of filled bits is 119×6=714.
[0019] In some possible implementations, the data processing device further includes a convolution interleaving unit, and the first data stream is subjected to convolution interleaving by the convolution interleaving unit after bit filling.
[0020] In some possible implementations, the convolution interleaving unit is specifically used to: delay bits from the bit-stuffed data stream according to 16 delay lines. Each delay line includes a different number of storage units, the delay line with the smallest number of storage units includes 0 storage units, the difference in the number of storage units of each two adjacent delay lines is 2, each storage unit is used to store 119 bits, the input bits are sequentially input into the 16 delay lines according to the sequence numbers of the 16 delay lines, each delay line inputs 119 bits at a time and outputs 119 bits at a time, and the continuous 16×119 bits output after convolution interleaving include 119 bits output by each delay line.
[0021] In some possible implementations, each of the 119 consecutive bits in the first data stream includes 59 bit subsets and a target bit, and each bit subset includes 2 bits. The encoding unit is specifically used to: perform XOR on the 2 bits in each bit subset to obtain 1 bit, so as to obtain a total of 59 bits; encode the bit sequence including the 59 bits and the target bit to obtain 17 check bits, and the consecutive 119 bits are information bits in the codeword.
[0022] In some possible implementations, the data processing device further includes a processing unit, and before obtaining the first data stream after the first FEC encoding, the processing unit is used to: distribute the input data stream to obtain 4 distribution data streams; and perform the first FEC encoding on each distribution data stream.
[0023] In some possible implementations, the first FEC encoding uses staircase (512, 510) encoding.
[0024] In a third aspect, an embodiment of the present application provides a chip, which includes a processor and a memory, the memory and the processor are interconnected through lines, instructions are stored in the memory, and the processor is used to execute the method described in any implementation method of the first aspect.
[0025] In a fourth aspect, an embodiment of the present application provides a data transmission system, which includes a data sending device and a data receiving device, wherein the data sending device is used to execute the method described in any embodiment of the first aspect and send data to the data receiving device, and the data receiving device is used to perform operations such as decoding the received data.
[0026] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a computer, the method described in any implementation manner of the first aspect is implemented.
[0027] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:
[0028] In this embodiment, for the first data stream that has been encoded with an outer code, the first data stream is also encoded with an inner code to obtain a second data stream that includes at least one inner code word. The inner code encoding adopts GF(2 8 ) The inner code word includes 119 information bits and 17 check bits, a total of 136 bits, and the 17 check bits include a 1-bit cyclic redundancy check (CRC) extended check bit. In other words, the embodiment of the present application adopts a single-bit extended BCH (136, 119) encoding with an error correction capability of 2 bits. In the existing 400G ZR scenario, the data padding and convolution interleaving between the outer code encoding and the inner code encoding are implemented with a granularity of 119 bits. Therefore, the inner code encoding scheme provided in the embodiment of the present application is compatible with the 400G ZR scenario while also improving the performance of cascade coding. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 A schematic diagram of a communication system used in an embodiment of the present application;
[0030] Figure 2 A schematic diagram of another communication system used in an embodiment of the present application;
[0031] Figure 3 This is a schematic diagram of an implementation of a data processor at the originating end in an embodiment of the present application;
[0032] Figure 4 A flowchart of a data processing method provided in an embodiment of the present application;
[0033] Figure 5 is a schematic diagram of the structure of a coded data frame;
[0034] FIG6( a ) is a schematic diagram of a first implementation method of convolution interleaving in an embodiment of the present application;
[0035] FIG6( b ) is a schematic diagram of a second implementation method of convolution interleaving in an embodiment of the present application;
[0036] Figure 7 A schematic diagram of an application scenario of internal code encoding in an embodiment of the present application;
[0037] Figure 8 A schematic diagram of an application scenario of channel interleaving in an embodiment of the present application;
[0038] Fig. 9 A schematic diagram of an implementation of a multi-channel parallel transmitting end data processor in an embodiment of the present application;
[0039] Fig.10 A schematic diagram of an implementation method of data distribution in an embodiment of the present application;
[0040] Fig.11 A schematic diagram of the structure of a data processing device in an embodiment of the present application;
[0041] Fig.12 Another structural diagram of the data processing device in the embodiment of the present application. DETAILED DESCRIPTION
[0042] The embodiments of the present application provide a data processing method and related devices, which improve the performance of cascade coding while being compatible with 400G ZR scenarios. It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, rather than to limit a specific order or sequence. It should be understood that the above terms are interchangeable where appropriate, so that the embodiments described in this application can be implemented in an order other than that described in this application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0043] Figure 1 Schematic diagram of a communication system used in the embodiment of the present application. Figure 1As shown, the communication system includes a transmitting device 01, a transmitting processing module 02, a channel transmission medium 03, a receiving processing module 04 and a receiving device 05. Taking the communication system as a data center network as an example, the transmitting device 01 and the receiving device 05 can be devices such as switches or routers, and the transmitting device 01 is also called a client-side chip (host chip) located at the transmitting end, and the receiving device 05 is also called a client-side chip located at the receiving end, and the channel transmission medium 03 can be an optical fiber. The client-side chip is sometimes also called a client-side device (host device). Among them, the transmitting device 01 and the transmitting processing module 02 can be connected through an attachment unit interface (AUI), and the receiving device 05 and the receiving processing module 04 can be connected through the AUI. The transmitting processing module 02 and the receiving processing module 04 can be optical modules (optical modules), electrical modules, connectors (connectors) or other modules that process data during data transmission. For example, the processing module can be an 800ZR module (800ZR module, a coherent optical module). Furthermore, the transmitting device 01, the transmitting processing module 02, the channel transmission medium 03, the receiving processing module 04 and the receiving device 05 in the communication system can support bidirectional transmission or unidirectional transmission, which is not specifically limited here.
[0044] Figure 2 FIG. 1 is a schematic diagram of another communication system used in the embodiment of the present application. Figure 2 As shown, at the transmitting end, the information source provides the data stream to be sent; the transmitting end data processor receives the data stream, and performs data processing including coding, interleaving, and modulation on it to obtain a symbol data stream, which is sent to the transmitting end signal processor for framing, transmitted through the channel, and reaches the receiving device. After the receiving device receives the distorted signal caused by noise or other damage in the channel, it is sent to the receiving end signal processor for dispersion compensation, synchronization, phase recovery and other operations, and then sent to the receiving end data processor for demodulation, deinterleaving, decoding, and recovery of the original data, which is sent to the destination. Among them, Figure 2 The transmitting data processing and transmitting signal processing shown in can be applied to Figure 1 In the sending end processing module 02 shown, Figure 2 The receiving end data processing and receiving end signal processing shown in can be applied to Figure 1 In the receiving end processing module 04 shown.
[0045] Figure 3 FIG. 1 is a schematic diagram of an implementation of a data processor at the originating end in the embodiment of the present application. Figure 3As shown, the transmitting data processor sequentially performs outer code encoding, padding bit insertion, convolution interleaving, inner code encoding, symbol mapping and polarization division, channel interleaving and other operations on the input data stream. It should be understood that the operations performed by the transmitting data processor in actual applications include but are not limited to Figure 3 The operations embodied in the above-mentioned example can also scramble the encoded data frame obtained by outer code encoding before performing convolution interleaving.
[0046] It should be understood that the "inner" in the inner code and the "outer" in the outer code are distinguished only based on the distance of the execution subject operating the data relative to the channel transmission medium. The execution subject operating the inner code is closer to the channel transmission medium, and the execution subject operating the outer code is farther away from the channel transmission medium. Figure 1 For example, since the transmitting end processing module 02 encodes the data twice before sending it to the channel transmission medium. The data encoded by the transmitting end processing module 02 first is far away from the channel transmission medium, and the data encoded by the transmitting end processing module 02 later is closer to the channel transmission medium. Therefore, the data encoded by the transmitting end processing module 02 first is called data encoded by the outer code, and the data encoded by the transmitting end processing module 02 later is called data encoded by the inner code. Correspondingly, the data decoded by the receiving end processing module 04 first is called data decoded by the inner code, and the data decoded by the receiving end processing module 04 later is called data decoded by the outer code. In a possible implementation, the above-mentioned inner code encoding and outer code encoding are both FEC encoding methods, thereby forming a cascade FEC transmission scheme. For example, the transmitting end processing module 02 can use staircase code for outer code encoding, use Hamming code for inner code encoding, or use Bose-Chaudhuri-Hocquenghem (BCH) code for inner code encoding.
[0047] It should be noted that the above content is an exemplary description of the application scenario of the data processing method provided in the embodiment of the present application, and does not constitute a limitation on the application scenario of the data processing method. It is known to those skilled in the art that as business needs change, its application scenario can be adjusted according to application needs, and the embodiment of the present application does not list them one by one. The following mainly introduces the data processing method applied to the data sending end. The data processing method applied to the receiving end can be understood as the inverse operation of the data processing method of the sending end. On the basis of the determination of the data processing method of the sending end, the data processing method of the receiving end is also clear, and this application will no longer introduce the data processing method of the receiving end in detail.
[0048] Figure 4A flow chart of a data processing method provided in an embodiment of the present application. The data processing method includes the following steps, which are described in detail below. It should be understood that, for ease of explanation, the first FEC encoding in the following text can be regarded as the outer code encoding introduced above, and the second FEC encoding in the following text can be regarded as the inner code encoding introduced above, and the following text can be understood based on this.
[0049] 101. Obtain a data stream that has undergone first FEC encoding.
[0050] It should be understood that the present application does not limit the specific implementation of the outer code encoding. As an example, the outer code encoding can specifically adopt staircase (512, 510) encoding. In some possible scenarios, the data stream encoded by the outer code can also be called a coded data frame, and the bits in the coded data frame are distributed in rows and columns.
[0051] Figure 5 is a schematic diagram of the structure of a coded data frame. Figure 5 As shown, the coded data frame includes 119 rows and 10970 columns of bits, wherein the 119 rows and 10280 columns of bits are information bits of the coded data frame, and the 119 rows and 690 columns of bits are check bits of the coded data frame.
[0052] 102. Perform bit filling on the data stream that has undergone the first FEC encoding.
[0053] In the embodiment of the present application, the data stream (coded data frame) encoded by the outer code is bit-filled, specifically 119×6=714 bits are filled. The present application does not limit the value of the filling bit, for example, the filled bits can all be 0. In a possible implementation, the filled bits are added at the end of the coded data frame.
[0054] 103. Perform convolution interleaving on the bit-filled data stream.
[0055] Specifically, performing convolution interleaving on a bit-filled data stream can obtain a data stream with disrupted data order. The following introduces possible implementation methods of convolution interleaving.
[0056] FIG6(a) is a schematic diagram of the first implementation method of convolution interleaving in an embodiment of the present application. FIG6(b) is a schematic diagram of the second implementation method of convolution interleaving in an embodiment of the present application. As shown in FIG6(a) and FIG6(b), the convolution interleaver includes 16 delay lines, and the convolution interleaver delays the input data according to the 16 delay lines. Among them, the number of storage units included in each delay line is different, the delay line with the smallest number of storage units includes 0 storage units, the difference in the number of storage units of each two adjacent delay lines is 2, and each storage unit is used to store 119 bits. The bits in the first bit set are input to the 16 delay lines in sequence according to the sequence numbers of the 16 delay lines, each delay line inputs 119 bits at a time and outputs 119 bits at a time, and the continuous 16×119 bits output after convolution interleaving include 119 bits output by each delay line. For example, 16 delay lines include 0 storage units, 2 storage units, 4 storage units, ..., 30 storage units, each storage unit is used to store 119 symbols, then, p delay lines correspond to 16 delay values, the delay values include 0 bits, 2×119 bits, 4×119 bits, ..., 30×119 bits, which can also be understood as the interleaving depth of the convolution interleaver is 16. It should be noted that the delay values in this application are counted in bits. The more bits included in the delay value of the delay line, the longer the delay (also called time delay) of the delay line to the data. It should be understood that when the delay line does not include a storage unit, the delay of the delay line is 0 symbol, that is, there is no delay in pass-through.
[0057] As shown in FIG6(a), the number of storage units in the 16 delay lines decreases in sequence according to the sequence numbers of the 16 delay lines. That is, delay line 0 has 30 storage units, and each delay line decreases by 2 storage units in sequence, and delay line 15 has 0 storage units. As shown in FIG6(b), the number of storage units in the 16 delay lines increases in sequence according to the sequence numbers of the 16 delay lines. That is, delay line 0 has 0 storage units, and each delay line increases by 2 storage units in sequence, and delay line 15 has 30 storage units.
[0058] It should be noted that at the same time, the switch for the input and output of the convolution interleaver is located on the same delay line. After the current delay line inputs 119 bits at a time and outputs 119 bits, the switch is switched to the next delay line to ensure that the bits in the first bit set are input to the 16 delay lines in sequence according to the sequence numbers of the 16 delay lines. The continuous 16×119 bits output after convolution interleaving include 119 bits output by each delay line. The specific data read and write operations are as follows: 119 bits are read from the storage unit closest to the output port of the current delay line. The 119 bits stored in each storage unit in the current delay line are transferred to the next storage unit. Then the 119 bits are written to the storage unit closest to the input port in the current delay line. After that, switch to the next delay line and repeat the above operations, and so on.
[0059] It should be understood that the convolution interleaving process of FIG6(a) and the convolution interleaving process of FIG6(b) are the inverse operations of each other. That is, when the transmitting end processing module adopts the convolution interleaving structure shown in FIG6(a), the convolution deinterleaving corresponding to the receiving end processing module adopts the structure shown in FIG6(b). Similarly, when the transmitting end processing module adopts the convolution interleaving structure shown in FIG6(b), the convolution deinterleaving corresponding to the receiving end processing module adopts the structure shown in FIG6(a).
[0060] 104. Perform a second FEC encoding on the convolutionally interleaved data stream.
[0061] Specifically, each 119 consecutive bits in the convolution interleaved data stream are encoded with an inner code to obtain an inner code word. The inner code word includes 119 information bits and 17 check bits, a total of 136 bits. In the embodiment of the present application, the inner code can be specifically encoded using GF(2 8 ) single-bit extended BCH coding with 2 bits of error correction increases the error correction capability of the inner code word to 2 bits, improving the performance of cascade coding. The 17 check bits in the inner code word include 1 bit of cyclic redundancy check (CRC) extended check bit, so it is called single-bit extended BCH coding. Among them, GF refers to a finite field, also known as a Galois field, 2 8 Represents the order of a finite field.
[0062] It should be noted that BCH code is constructed on the finite field GF(2 m), the number of check bits of the BCH code is equal to m×t, and t represents that the error correction capability of the BCH code is t bits. Therefore, for every increase of 1 bit of error correction capability, an additional m bits of overhead will be added. As t gets larger and larger, the performance benefits brought by continuing to increase t will gradually decrease. Since the BCH coding will use soft decision decoding, the decoding complexity of the BCH coding with t>2 is doubled compared to the BCH coding with t=2, while in comparison, the BCH coding with t=2 only increases the encoding and decoding complexity very little compared to the Hamming coding. In summary, the embodiment of the present application selects the BCH coding with an error correction capability of 2 bits as the inner code coding.
[0063] It should also be noted that the bit padding and convolution interleaving between the inner code coding and the outer code coding in the 400G ZR scenario adopt a granularity of 119 bits. In order to maintain backward compatibility, the embodiment of the present application maintains the information length of the inner code codeword at 119 bits, denoted by k. BCH coding may make misjudgments during the decoding process, that is, the received sequence is judged as an erroneous legal codeword. This situation will lead to error transmission, thereby affecting the decoding performance. The probability of error detection depends on the minimum distance between the inner code codewords. The probability of error transmission can be reduced by adding CRC extended check bits to the inner code codewords. Let r represent the number of bits of the CRC extended check bit, then the length of the inner code codeword n=k+m×t+r=119+2m+r. Further, according to the characteristics of BCH coding, the length of the inner code codeword needs to meet the following conditions: 119+2×m+1≤2 m -1. According to the above two formulas, it can be concluded that m is an integer greater than or equal to 8. Since the inner code word will eventually be mapped to a dual-polarization (DP)-16QAM symbol in groups of 8 bits. Therefore, in order to simplify the subsequent symbol mapping, the embodiment of the present application selects the length n of the inner code word to be a multiple of 8. Combining the above two formulas, it can be concluded that (2m+r)%8=1, m≥8, a%b means a modulo b. As m and r increase, the complexity and overhead of the codeword also increase. Therefore, the smallest m and r that satisfy the above relationship should be selected, that is, m=8, r=1. At the same time, for the inner code word, when r>1, as r continues to increase, the help in reducing the probability of false detection will become very limited. Therefore, the embodiment of the present application selects m=8 and r=1, that is, adopts GF(2 8 ) The single-bit extended BCH code (136,119) with 2 bits of error correction is used as the inner code.
[0064] The inner codeword is based on GF(2 8 ) is generated by shortening 120 bits and adding a single bit of parity check. Its generating polynomial can be expressed as:
[0065] g(x)=M1(x)M3(x)
[0066] =(x 8 +x 4 +x 3 +x 2 +1)(x 8 +x 6 +x 5 +x 4 +x 2 +x+1)(x+1)
[0067] =x 16 +x 14 +x 13 +x 11 +x 10 +x 9 +x 8 +x 6 +x 5 +x+1
[0068] Among them, M1(x) and M3(x) correspond to GF(2 8 ) 1 With α 3 The minimum polynomial of , α is a finite field GF(2 8 ) primitive element. The 119 bits of the information sequence are used as coefficients of a polynomial with a highest degree of 118 to obtain the information polynomial m(x). 17 m(x) is divided by g(x) by modulo 2 division to obtain the remainder polynomial r(x), and the coefficients of each term in r(x) are the check sequence P[0:16]. Finally, the information sequence and the check sequence form the inner code word (136,119), denoted as C[0:135]=[c 0 ,c 1 ,…,c 135 ], which can be expressed as
[0069]
[0070] Figure 7 Schematic diagram of an application scenario of internal code encoding in the embodiment of the present application. Figure 7 As shown, 118 bits are selected from the 119-bit information sequence A[0:118] to form a sequence A', denoted as A' = [a' 0 ,a′ 1 ,…a′ 117 A' can be any 118 bits in the information sequence A. To facilitate subsequent channel interleaving and modulation, the first 118 bits in the information sequence A can be selected as A', that is: A' = [a 0 ,a 1,…a 117 Then the two adjacent bits in A' are grouped together and XORed to obtain 59 bits [b 0 ,b 1 ,…,b 58 ]. At the same time, the bits in the information sequence A that are not selected into A', denoted as A\A', will skip the group XOR operation and 0 ~b 57 Combined together to form the sequence to be encoded B[0:59]=[b 0 ,b 1 ,…,b 59 ], which means as follows: Generate the sequence B[0:59] to be encoded, then encode the sequence B using BCH(77,60) to generate a 17-bit check bit [p 0 ,p 1 ,…,p 16 ]. Among them, BCH (77,60) is based on GF (2 8 ) is generated by shortening 179 bits and adding a single bit of parity check. Its generating polynomial g(x) is the same as the above polynomial g(x). The 60 bits to be encoded are used as the coefficients of the polynomial with the highest degree of 59 to obtain the information polynomial m(x). 17 m(x) is divided by g(x) by modulo 2 division to obtain the remainder polynomial r(x), and the coefficients of each term in r(x) are the check sequence P[0:16]. Finally, the information sequence A and the check sequence P form the inner code word (136,119), denoted as C[0:135]=[c 0 ,c 1 ,…,c 135 ], can be expressed as: It can be seen that the embodiment of the present application adopts the method of first XOR and then encoding. For example, the codeword processing of (136,119) can be realized by the (77,60) encoder, which reduces the complexity of encoding while not changing the inner codeword length and redundancy cost.
[0071] 105. Perform symbol mapping and polarization division on the codewords encoded by the second FEC.
[0072] Specifically, symbol mapping and polarization division are performed on every 8 consecutive bits in the inner code word to obtain 1 DP-16QAM symbol. Since the inner code length becomes 136 bits, each code word will be mapped into 17 DP-16QAM symbols during symbol mapping and polarization distribution. Among them, every 2 bits of the 8 bits involved in symbol mapping and polarization division are a group of X polarization direction I-phase component, X polarization direction Q-phase component, Y polarization direction I-phase component and Y polarization direction Q-phase component of the DP-16QAM symbol. Among them, the X polarization direction and the Y polarization direction are orthogonal to each other. Considering that any component of the DP-16QAM symbol is obtained by mapping the 2 bits of the inner code word, and since the binary bit DP-16QAM symbol adopts Gray mapping, the probability of error of the 2 bits mapped to any component of the DP-16QAM symbol is inconsistent. In order to improve the performance of cascade coding, any component of the DP-16QAM symbol is mapped by 2 consecutive bits in the same code word, so that the 2 bits with different error probabilities in any component are evenly distributed in each inner code word.
[0073] 106. Channel interleave the DP-16QAM symbol set.
[0074] Figure 8 Schematic diagram of an application scenario of channel interleaving in the embodiment of the present application. Figure 8 As shown, taking the DP-16QAM symbol set including 8×17 DP-16QAM symbols obtained by mapping 8 inner code words as an example, the DP-16QAM symbol set is distributed into 8 rows and 17 columns of DP-16QAM symbols. The DP-16QAM symbols in the DP-16QAM symbol set are denoted as {s i,j}, represents the jth DP-16QAM symbol obtained by mapping the i-th inner codeword, 0≤i≤7, 0≤j≤16. The channel interleaving method provided in the embodiment of the present application is to complete the row-column interleaving with the DP-16QAM symbol as the granularity, that is, the DP-16QAM symbols after channel interleaving are output in the order of columns, and each column is output in the order from row 0 to row 7. Figure 8 For example, the output order of DP-16QAM symbols after channel interleaving is: 0,0}-{s 7,0} are output in sequence, and the first column {s 0,1}-{s 7,1} Output successively, ..., {s in the 15th column 0,15}-{s 7,15} are output in sequence, and the 16th column {s0,16}-{s 7,16} are output in sequence.
[0075] The above introduces the data processing method provided in the embodiments of the present application. It should be understood that in some possible scenarios, considering the potential need for the FEC solution to be compatible with throughput rates such as 1.6T, 800G, 400G, and the problem of hardware implementation at ultra-high throughput rates, a multi-channel parallel data processing solution can also be proposed based on the aforementioned embodiments. Fig. 9 FIG. 1 is a schematic diagram of an implementation of a multi-channel parallel data processor of the present application. Fig. 9 As shown, first distribute the input data stream to obtain 4 data streams, and then Figure 3 The data processing method shown performs data processing on each data stream after distribution.
[0076] Fig.10 Schematic diagram of an implementation method of data distribution in the embodiment of this application. Fig.10 As shown in FIG. 1 , firstly, continuous 4×119×10280 bits of data are obtained, and then four data frames are obtained by polling and distributing them according to the granularity of h bits. The bits in each data frame are arranged as 119 rows and 10280 columns. Four coded data frames can be obtained by performing outer code encoding on the four data frames respectively. Then, according to Figure 3 The following data processing is performed on each coded data frame in the manner shown. It should be understood that 10280% (4×h) = 0, for example, h = 1, 257, 514 or 1285. This solution can be well compatible with 1.6T, 800G, 400G and other throughput rates. As an example, when the input data frame is a 1.6T service, the data frame can be processed according to Fig. 9 As another example, when the input data frame is an 800G service, the data frame can be distributed to 2 channels for processing, and the other 2 channels can be turned off to save power. As another example, when the input data frame is a 400G service, the data frame distribution can be omitted, and the data frame can be directly processed as follows: Figure 3 The data processing shown is turned off for the other 3 channels to save power.
[0077] Fig.11 FIG. 1 is a schematic diagram of a structure of a data processing device in an embodiment of the present application. Fig.11As shown, the data processing device includes an acquisition unit 201, a filling unit 202, a convolution interleaving unit 203, a coding unit 204, a mapping unit 205 and a channel interleaving unit 206. The acquisition unit 201 is used to perform the operation of the above step 101, the filling unit 202 is used to perform the operation of the above step 102, the convolution interleaving unit 203 is used to perform the operation of the above step 103, the coding unit 204 is used to perform the operation of the above step 104, the mapping unit 205 is used to perform the operation of the above step 105, and the channel interleaving unit 206 is used to perform the operation of the above step 106. It should be understood that the data processing device provided by the present application can also be implemented in other ways. For example, the unit division in the above device is only a logical function division, and there may be other division methods in actual implementation, for example, multiple units or components can be combined or integrated into another system. In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or can be each independent physical unit, or two or more functional units can be integrated into a processing unit. The above integrated unit can be implemented in the form of hardware or in the form of software functional unit.
[0078] Fig.12 FIG. 2 is another structural diagram of a data processing device in an embodiment of the present application. Fig.12 As shown, the data processing device includes a processor 301 and a transceiver 302. The processor 301 and the transceiver 302 are connected to each other via a line. Specifically, the transceiver 302 is used to perform data transmission and reception operations, and the processor 301 is used to perform other operations except data transmission and reception. In a possible implementation, the processor 301 may include the above Fig.11 The filling unit 202, the convolution interleaving unit 203, the encoding unit 204, the mapping unit 205 and the channel interleaving unit 206 shown in the figure, the transceiver 302 includes the above Fig.11 The acquisition unit 201 is shown. Optionally, the data processing device may further include a memory 303, wherein the memory 303 is used to store program instructions and data.
[0079] The embodiment of the present application also provides a chip. The chip integrates a circuit and one or more interfaces for implementing the functions of the above-mentioned processor 301. When the chip integrates a memory, the chip can complete the method steps of any one or more embodiments in the above-mentioned embodiments. When the chip does not integrate a memory, it can be connected to an external memory through an interface. The chip implements the actions performed by the sending end device or the receiving end device in the above-mentioned embodiment according to the program code stored in the external memory.
[0080] Finally, it should be noted that the above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A data processing method, characterized in that: include: Acquire a first data stream that has been encoded by a first forward error correction (FEC); Performing a second FEC encoding on each of the consecutive 119 bits in the first data stream to obtain a codeword, so as to obtain a second data stream including at least one codeword, wherein each of the codewords includes 119 information bits and 17 check bits, a total of 136 bits, and the second FEC encoding adopts a finite field GF(2 8 ) 2-bit extended BCH code for error correction, 17 check bits including 1-bit cyclic redundancy check CRC extended check bit.
2. The method according to claim 1, characterized in that After performing a second FEC encoding on every consecutive 119 bits in the second data stream to obtain a codeword, the method further includes: Symbol mapping and polarization division are performed on every 8 consecutive bits in each of the codewords in the second data stream to obtain one dual-polarization DP-16QAM symbol, so as to obtain a total of 17 DP-16QAM symbols.
3. The method according to claim 2, characterized in that After performing symbol mapping and polarization division on every 8 consecutive bits in the codeword to obtain a DP-16QAM symbol, the method further includes: Obtain a DP-16QAM symbol set, the DP-16QAM symbol set comprising L rows and 17 columns of DP-16QAM symbols, where L is an integer greater than or equal to 1, and the 17 DP-16QAM symbols in each row of the DP-16QAM symbol set are obtained by performing symbol mapping and polarization division on 136 bits in one of the codewords; Channel interleaving is performed on the DP-16QAM symbol set to obtain a third data stream, the third data stream comprising 17 DP-16QAM symbol subsets, each of the DP-16QAM symbol subsets comprising L DP-16QAM symbols, each of the DP-16QAM symbol subsets coming from the L DP-16QAM symbols corresponding to a column in the DP-16QAM symbol set, wherein the f-th DP-16QAM symbol subset in the third data stream corresponds to the DP-16QAM symbol in the f-th column in the DP-16QAM symbol set, 0≤f≤16.
4. The method according to any one of claims 1 to 3, characterized in that The first data stream is bit-filled after being encoded by the first FEC, wherein the number of filled bits is 119×6=714.
5. The method according to claim 4, characterized in that The first data stream is also subjected to convolution interleaving after the bit filling.
6. The method according to claim 5, characterized in that The convolution interleaving comprises: The bits from the bit-filled data stream are delayed according to 16 delay lines, each delay line includes a different number of storage units, the delay line with the smallest number of storage units includes 0 storage units, the difference in the number of storage units between every two adjacent delay lines is 2, each storage unit is used to store 119 bits, the input bits are input into the 16 delay lines in sequence according to the sequence numbers of the 16 delay lines, each delay line inputs 119 bits at a time and outputs 119 bits at a time, and the continuous 16×119 bits output after convolution interleaving include 119 bits output by each delay line.
7. The method according to any one of claims 1 to 6, characterized in that Each of the continuous 119 bits in the first data stream includes 59 bit subsets and a target bit, each of the bit subsets includes 2 bits, and performing the second FEC encoding on each of the continuous 119 bits in the first data stream to obtain a codeword includes: XORing two bits in each of the bit subsets to obtain one bit, so as to obtain a total of 59 bits; The bit sequence including the 59 bits and the target bit is encoded to obtain 17 check bits, and the continuous 119 bits are information bits in the codeword.
8. The method according to any one of claims 1 to 7, characterized in that Before acquiring the first data stream encoded by the first FEC, the method further includes: Perform data distribution on the input data stream to obtain 4 distribution data streams; The first FEC encoding is performed on each of the distribution data streams.
9. The method according to any one of claims 1 to 8, characterized in that The first FEC coding adopts staircase (512, 510) coding.
10. A data processing device, characterized in that: include: Acquisition unit and encoding unit; The acquisition unit is used to: acquire a first data stream that has been encoded by a first forward error correction (FEC); The encoding unit is used to perform a second FEC encoding on each of the consecutive 119 bits in the first data stream to obtain a codeword, so as to obtain a second data stream including at least one codeword, wherein each of the codewords includes 119 information bits and 17 check bits, a total of 136 bits, and the second FEC encoding adopts a finite field GF(2 8 ) 2-bit extended BCH code for error correction, 17 check bits including 1-bit cyclic redundancy check CRC extended check bit.
11. The data processing device according to claim 10, characterized in that: The data processing device further comprises a mapping unit; The mapping unit is used to perform symbol mapping and polarization division on every 8 consecutive bits in each codeword in the second data stream to obtain one dual-polarization DP-16QAM symbol, so as to obtain a total of 17 DP-16QAM symbols.
12. The data processing device according to claim 11, characterized in that: The data processing device further comprises a channel interleaving unit; The channel interleaving unit is used to: obtain a DP-16QAM symbol set, the DP-16QAM symbol set includes L rows and 17 columns of DP-16QAM symbols, where L is an integer greater than or equal to 1, and the 17 DP-16QAM symbols in each row of the DP-16QAM symbol set are obtained by symbol mapping and polarization division of 136 bits in one codeword; Channel interleaving is performed on the DP-16QAM symbol set to obtain a third data stream, the third data stream comprising 17 DP-16QAM symbol subsets, each of the DP-16QAM symbol subsets comprising L DP-16QAM symbols, each of the DP-16QAM symbol subsets coming from the L DP-16QAM symbols corresponding to a column in the DP-16QAM symbol set, wherein the f-th DP-16QAM symbol subset in the third data stream corresponds to the DP-16QAM symbol in the f-th column in the DP-16QAM symbol set, 0≤f≤16.
13. The data processing device according to any one of claims 10 to 12, characterized in that: The data processing device further includes a filling unit, and the first data stream is bit-filled by the filling unit after being encoded by the first FEC, wherein the number of filled bits is 119×6=714.
14. The data processing device according to claim 13, characterized in that: The data processing device also includes a convolution interleaving unit, and the first data stream is subjected to convolution interleaving by the convolution interleaving unit after the bit filling.
15. The data processing device according to claim 14, characterized in that: The convolution interleaving unit is specifically used for: The bits from the bit-filled data stream are delayed according to 16 delay lines, each delay line includes a different number of storage units, the delay line with the smallest number of storage units includes 0 storage units, the difference in the number of storage units between every two adjacent delay lines is 2, each storage unit is used to store 119 bits, the input bits are input into the 16 delay lines in sequence according to the sequence numbers of the 16 delay lines, each delay line inputs 119 bits at a time and outputs 119 bits at a time, and the continuous 16×119 bits output after convolution interleaving include 119 bits output by each delay line.
16. The data processing device according to any one of claims 10 to 15, characterized in that: Each continuous 119 bits in the first data stream includes 59 bit subsets and a target bit, each of the bit subsets includes 2 bits, and the encoding unit is specifically used for: XORing two bits in each of the bit subsets to obtain one bit, so as to obtain a total of 59 bits; The bit sequence including the 59 bits and the target bit is encoded to obtain 17 check bits, and the continuous 119 bits are information bits in the codeword.
17. The data processing device according to any one of claims 10 to 16, characterized in that: The data processing device further includes a processing unit, which is used to: Perform data distribution on the input data stream to obtain 4 distribution data streams; The first FEC encoding is performed on each of the distribution data streams.
18. The data processing device according to any one of claims 10 to 17, characterized in that: The first FEC coding adopts staircase (512, 510) coding.
19. A chip, characterized in that: The chip includes a processor and a memory, wherein the memory and the processor are connected to each other via a line, instructions are stored in the memory, and the processor is used to execute the method according to any one of claims 1 to 9.
Citation Information
Cited By
Data processing method and related apparatus
EP4776541A1
Data processing method and related apparatus
WO2025066722A1