WO2023143130A1 - 一种数据处理方法和数据处理装置 - Google Patents

一种数据处理方法和数据处理装置 Download PDF

Info

Publication number
WO2023143130A1
WO2023143130A1 PCT/CN2023/072099 CN2023072099W WO2023143130A1 WO 2023143130 A1 WO2023143130 A1 WO 2023143130A1 CN 2023072099 W CN2023072099 W CN 2023072099W WO 2023143130 A1 WO2023143130 A1 WO 2023143130A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
symbols
symbol
channel data
data streams
Prior art date
Application number
PCT/CN2023/072099
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 华为技术有限公司
Publication of WO2023143130A1 publication Critical patent/WO2023143130A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present application relates to the communication field, and in particular to a data processing method and a data processing device.
  • FEC forward error correction coding
  • a cascaded FEC transmission scheme in which the originating device and the originating processing module are connected through an attachment unit interface (AUI).
  • the originating device performs the first FEC encoding on the data to be transmitted, and sends the first FEC-encoded data to the originating processing module.
  • the processing module at the sending end performs second FEC encoding on the data encoded by the first FEC, and transmits the data encoded by the second FEC to the data receiving end through the channel.
  • the processing module at the sending end receives multiple data streams, and performs convolutional interleaving on the multiple data streams first, and then performs second FEC encoding on each data stream after convolutional interleaving.
  • one data stream participating in the second FEC encoding should come from multiple codewords after the first FEC encoding, but this needs to be realized by convolutional interleaving with a long delay. When low delay is required In some scenarios, the application effect is not ideal.
  • Embodiments of the present application provide a data processing method and a data processing device. Better performance of the cascaded FEC solution can be obtained in scenarios with lower latency.
  • the present application provides a data processing method, which includes the following steps. First, convolutional interleaving is performed on n channel data streams respectively to obtain n first data streams. Wherein, n is an integer greater than 1, and the data streams of n channels are all encoded by the first FEC. Each a codeword after the first FEC encoding is distributed in b channel data streams, a ⁇ b ⁇ n, n can be divisible by b, and a is an integer greater than or equal to 1. The consecutive z symbols in each first data stream come from z different codes word, z is an integer greater than 1.
  • the consecutive y symbols in each second data stream come from y different codewords, y>z.
  • K ⁇ G the K first data streams are respectively from K first data stream subsets.
  • K>G the K first data streams include K/G first data streams in each first data stream subset.
  • the n channels of data streams are all code word streams encoded by the outer code, and the convolutional interleaving process is performed on the n channels of data streams respectively, and the data streams are processed on the n channels of convolutional interleaved data streams.
  • the m-channel data streams after the multiplexing processing can be realized through a short time delay.
  • the multiple symbols output continuously come from multiple different outer code words, so that the
  • the joint FEC scheme also helps to reduce the delay of data interleaving on the basis of ensuring better performance. That is to say, the scheme of combining convolutional interleaving processing and data multiplexing in this application makes the overall delay of the cascaded FEC scheme lower, and is more suitable for application scenarios requiring low delay.
  • performing convolutional interleaving on one channel data stream to obtain one first data stream includes: delaying one channel data stream according to p delay lines to obtain one first data stream.
  • p is an integer greater than 1, and the number of storage units included in each delay line is different.
  • each channel data stream is sequentially input into p delay lines according to the serial numbers of p delay lines, and each delay line inputs d symbols at a time and outputs d symbols at a time, and the consecutive p in a first data stream *d symbols include the d symbols output by each delay line.
  • Q is an integer greater than or equal to 1
  • d is an integer greater than or equal to 1.
  • the delay line with the largest sequence number among the p delay lines includes 0 storage units.
  • d(p*Q+1) ⁇ a*N/b, d ⁇ a, N is the length of the codeword, so that it can be realized that the consecutive z symbols in each first data stream come from z different codewords .
  • the delay line with the smallest sequence number among the p delay lines includes 0 storage units.
  • d(p*Q-1) ⁇ a*N/b, d ⁇ a, N is the length of the codeword, so that it can be realized that the consecutive z symbols in each first data stream come from z different codewords .
  • each second data stream includes multiple second data stream symbol subsets, each second data stream symbol subset includes K groups of symbols, and each group of symbols includes ⁇ symbols.
  • the j-th group of symbols in each second data stream symbol subset is from the j-th first data stream among the K first data streams participating in multiplexing, 0 ⁇ j ⁇ K-1.
  • K>G two adjacent first data streams among the K first data streams participating in the multiplexing are from different first data stream subsets.
  • each of the G consecutive first data streams participating in the multiplexing is from a different first data stream subset.
  • a 1 or 2
  • b 4, 8, 16.
  • the method before performing convolutional interleaving on the n channel data streams respectively to obtain n first data streams, the method further includes: performing channel reordering on the n channel data streams, so that the n channel data streams Arranged in a preset order.
  • the method before performing convolutional interleaving on the n channel data streams respectively to obtain n first data streams, the method further includes: performing channel skew correction on the n channel data streams.
  • performing channel skew correction on the n channel data streams before performing convolutional interleaving on the n channel data streams respectively to obtain n first data streams, the method further includes: performing channel skew correction on the n channel data streams.
  • the method before performing convolutional interleaving on the n channel data streams respectively to obtain n first data streams, the method further includes: aligning the n channel data streams, so that the n channel data streams Symbol alignment.
  • aligning the n channel data streams so that the n channel data streams Symbol alignment.
  • the method further includes: performing second FEC encoding on the m second data streams respectively.
  • the information bit length of the second FEC code is less than or equal to y symbols.
  • the present application provides a data processing device.
  • the data processing means includes a convolutional interleaver and a multiplexer.
  • the convolutional interleaver is used to perform convolutional interleaving on the n channel data streams respectively to obtain n first data streams.
  • n is an integer greater than 1
  • the data streams of n channels are all encoded by the first FEC.
  • Each a codeword after the first FEC encoding is distributed in b channel data streams, a ⁇ b ⁇ n, n can be divisible by b, and a is an integer greater than or equal to 1.
  • the consecutive z symbols in each first data stream come from z different codewords, and z is an integer greater than 1; the multiplexer is used to: multiplex every K first data streams in the n first data streams One second data stream is obtained to obtain a total of m second data streams.
  • the consecutive y symbols in each second data stream come from y different codes word, y>z. If K ⁇ G, the K first data streams are respectively from K first data stream subsets. If K>G, the K first data streams include K/G first data streams in each first data stream subset.
  • the convolutional interleaver is specifically configured to: delay one channel data stream according to p delay lines to obtain one first data stream.
  • p is an integer greater than 1, and the number of storage units included in each delay line is different.
  • each channel data stream is sequentially input into p delay lines according to the serial numbers of p delay lines, and each delay line inputs d symbols at a time and outputs d symbols at a time, and the consecutive p in a first data stream *d symbols include d symbols output by each delay line, Q is an integer greater than or equal to 1, and d is an integer greater than or equal to 1.
  • the delay line with the largest sequence number among the p delay lines includes 0 storage units, where d(p*Q+1) ⁇ a*N/b, N is the length of the codeword, and d ⁇ a.
  • the delay line with the smallest sequence number among the p delay lines includes 0 storage units, where d(p*Q-1) ⁇ a*N/b, N is the length of the codeword, and d ⁇ a.
  • each second data stream includes multiple second data stream symbol subsets, each second data stream symbol subset includes K groups of symbols, and each group of symbols includes ⁇ symbols.
  • the j-th group of symbols in each second data stream symbol subset is from the j-th first data stream among the K first data streams participating in multiplexing, 0 ⁇ j ⁇ K-1.
  • two adjacent first data streams among the K first data streams participating in the multiplexing are from different first data stream subsets.
  • each of the G consecutive first data streams participating in the multiplexing is from a different first data stream subset.
  • a 1 or 2
  • b 4, 8, 16.
  • the data processing device further includes a channel reordering unit.
  • the channel reordering unit Before performing convolution and interleaving on n channel data streams respectively to obtain n first data streams, the channel reordering unit is used to: Streams are channel reordered so that n channel data streams are arranged in a preset order.
  • the data processing device further includes a channel data alignment unit. Before performing convolution and interleaving on n channel data streams respectively to obtain n first data streams, the channel data alignment unit is used to: stream for channel correction.
  • the data processing device further includes a channel data alignment unit. Before performing convolution and interleaving on n channel data streams respectively to obtain n first data streams, the channel data alignment unit is used to: The streams are aligned so that the symbols in the n-lane data streams are aligned.
  • the data processing device further includes an encoder. After obtaining a total of m second data streams, the encoder is used to: respectively perform second FEC encoding on the m second data streams, and the information of the second FEC encoding bit length less than or equal to y symbols.
  • the present application provides a data processing method, which includes the following steps. Perform interleaving processing on n channel data streams to obtain m target data streams, where n is a multiple of 4.
  • the n channel data streams are all encoded by the first forward error correction FEC, and each a codeword after the first FEC encoding is distributed in the b channel data streams, where a ⁇ b ⁇ n, and n can be divisible by b.
  • the continuous F symbols in each target data stream come from F different codewords, F>a.
  • the consecutive F symbols in each target data stream come from at least K1 different channel data streams, and the consecutive F symbols in each target data stream come from at most K2 symbols in n symbols aligned with n channel data streams, K1 And K2 is a divisor of n, and K2 is a divisor of K1.
  • K1 And K2 is a divisor of n
  • K2 is a divisor of K1.
  • at most K3 symbols come from the same channel data stream, Represents an integer that rounds up the quotient of F/K1, and any two symbols in K3 symbols are separated by at least K4 symbols on the same channel data stream, K4 ⁇ a*N*K2/n, where N is the codeword length .
  • performing interleaving processing on n channel data streams to obtain m target data streams includes: performing convolutional interleaving on n channel data streams respectively to obtain n first data streams.
  • the consecutive z symbols in each first data stream come from at least e different codewords, z is an integer greater than 1, a ⁇ e ⁇ F, e*k2 ⁇ F.
  • Among the consecutive z symbols in each first data stream at most k1/k2 symbols come from the same codeword.
  • n first data streams include K1 first data stream packets, and every two of the same first data stream packets The symbols of the first data stream come from the same codeword, and the K1 first data streams are respectively from K1 first data stream packets.
  • performing convolutional interleaving on one channel data stream to obtain one first data stream includes: delaying one channel data stream according to p delay lines to obtain one first data stream.
  • each channel data stream is sequentially input into p delay lines according to the serial numbers of p delay lines, and each delay line inputs d symbols at a time and outputs d symbols at a time, and the consecutive p in a first data stream *d symbols include d symbols output by each delay line, Q is an integer greater than or equal to 1, d is an integer greater than or equal to 1, and d ⁇ a.
  • the delay line with the largest sequence number among the p delay lines includes 0 storage units, where d(p*Q+1) ⁇ K4.
  • the delay line with the smallest sequence number among the p delay lines includes 0 storage units, where d(p*Q ⁇ 1) ⁇ K4.
  • the symbols in the first symbol matrix come from at least F different codewords, and at most R*K1/K2 symbols in the first symbol matrix come from the same codeword.
  • the F symbols in each row of the second symbol matrix come from at least column, and Each column in the column takes at most K2 symbols, Represents an integer that rounds up the quotient of F/K2.
  • the F symbols of each row in the second symbol matrix include at least symbols, Represents an integer that rounds down the quotient of F/K1, and the F symbols of each row in the second symbol matrix include at most symbols, Represents an integer that rounds up the quotient of F/K.
  • the symbols from the odd-numbered columns of the first symbol matrix in each row of the second symbol matrix are respectively located in different rows of the first symbol matrix.
  • the symbols from the even columns of the first symbol matrix in each row of the second symbol matrix are located in different rows of the first symbol matrix.
  • symbols output by delay lines with the same delay value in each row of the second symbol matrix come from different rows of the first symbol matrix.
  • At most K3 symbols in each row of the second symbol matrix come from the same row of the first symbol matrix, and any 2 symbols in the K3 symbols are respectively determined by a delay difference greater than or equal to 2*Q*d The 2 delay line outputs.
  • Perform second packet interleaving on each of the T second data streams to obtain S target data streams, so as to obtain a total of m target data streams, m T*S, S ⁇ k1/K2.
  • the n channel data streams participating in the first group interleaving include a third symbol matrix, and the third symbol matrix includes n rows and A columns of symbols, where A is a multiple of a, and after the first group interleaving
  • the symbol sub-matrixes in the third symbol matrix are arranged in the first order, and the first to nth rows of each column in the third symbol matrix include the first symbol sub-matrix arranged in the first order From the matrix to the n/T symbol sub-matrix, in the two adjacent columns of the third symbol matrix, the n/T symbol sub-matrix in the previous column to the first symbol sub-matrix in the next column is continuous in the first order 2 symbol sub-matrices, the T symbols in the first column of the fourth symbol matrix come from the first symbol sub-matrix arranged in the first order in the third symbol matrix, and so on, until the T symbols of the C-th column in the fourth symbol matrix The T symbols are from the last symbol submatrix arranged in the first order in the third symbol matrix.
  • the symbol sub-matrixes in the third symbol matrix are arranged in the second order, and the first column to the A-th row of every T row in the third symbol matrix include the first symbol sub-matrix to the A-th row arranged in the second order
  • the symbol sub-matrix, the first symbol sub-matrix of the first T row to the first symbol sub-matrix of the next T row among the two adjacent consecutive T rows of the third symbol matrix is 2 consecutive symbol sub-matrixes arranged in the second order matrix
  • the T symbols in the first column of the fourth symbol matrix come from the first symbol submatrix arranged in the second order in the third symbol matrix, and so on, until the T symbols in the C column of the fourth symbol matrix come from The last symbol submatrix in the second order in the third symbol matrix.
  • the delay line with the largest sequence number among the p delay lines includes 0 storage units, where C(p*Q+1) ⁇ K1*K4.
  • the delay line with the smallest sequence number among the p delay lines includes 0 storage units, where C(p*Q ⁇ 1) ⁇ K1*K4.
  • the F symbols in the target data stream include the first group of symbols from the first symbol subset and the second group of symbols from the second symbol subset, the first symbol subset and the second symbol subset
  • the order of the symbols of the set in the first subset of symbols is different from the order of the symbols of the second set in the second subset of symbols.
  • the F symbols in the target data stream include a third group of symbols from the third symbol subset and a fourth group of symbols from the fourth symbol subset, the third symbol subset and the fourth symbol subset belong to different symbol sets, the first The three symbol subsets and the fourth symbol subset are output by the same delay line, the symbols in the third symbol subset and the symbols in the fourth symbol subset are respectively arranged in order, and the order of the third group of symbols in the third symbol subset is the same as The symbols of the fourth group are differently ordered in the fourth subset of symbols.
  • the F symbols in each target data stream have at most symbols from the same symbol set, Integer representing the rounded up integer of the F/R quotient.
  • the method further includes: performing second FEC encoding on the m target data streams respectively, where the information bit length of the second FEC encoding is equal to F symbols.
  • the present application provides a data processing device, where the data processing device includes an interleaving module.
  • the interleaving module is used for: performing interleaving processing on n channel data streams to obtain m target data streams, where n is a multiple of 4, and the n channel data streams are all subjected to the first forward error correction FEC encoding, and each of the first FEC encoded a codewords are distributed in b channel data streams, a ⁇ b ⁇ n, and n can be divisible by b.
  • the continuous F symbols in each target data stream come from F different codewords, F>a.
  • the consecutive F symbols in each target data stream come from at least K1 different channel data streams, and the consecutive F symbols in each target data stream come from at most K2 symbols in n symbols aligned with n channel data streams, K1 And K2 is a divisor of n, and K2 is a divisor of K1.
  • K1 And K2 is a divisor of n
  • K2 is a divisor of K1.
  • at most K3 symbols come from the same channel data stream, Represents an integer that rounds up the quotient of F/K1, and any two symbols in K3 symbols are separated by at least K4 symbols on the same channel data stream, K4 ⁇ a*N*K2/n, where N is the codeword length .
  • the interleaving module includes a convolutional interleaver and a packet interleaver.
  • the convolutional interleaver is used to perform convolutional interleaving on the n channel data streams respectively to obtain n first data streams, the consecutive z symbols in each first data stream come from at least e different codewords, and z is greater than 1
  • each channel data stream is sequentially input into p delay lines according to the serial numbers of p delay lines, and each delay line inputs d symbols at a time and outputs d symbols at a time, and the consecutive p in a first data stream *d symbols include d symbols output by each delay line, Q is an integer greater than or equal to 1, d is an integer greater than or equal to 1, and d ⁇ a.
  • the delay line with the largest sequence number among the p delay lines includes 0 storage units, where d(p*Q+1) ⁇ K4.
  • the delay line with the smallest sequence number among the p delay lines includes 0 storage units, where d(p*Q ⁇ 1) ⁇ K4.
  • the symbols in the first symbol matrix come from at least F different codewords, and at most R*K1/K2 symbols in the first symbol matrix come from the same codeword.
  • the F symbols in each row of the second symbol matrix come from at least column, and Each column in the column takes at most K2 symbols, Represents an integer that rounds up the quotient of F/K2.
  • the F symbols of each row in the second symbol matrix include at least symbols, Represents an integer that rounds down the quotient of F/K1, and the F symbols of each row in the second symbol matrix include at most symbols, Represents an integer that rounds up the quotient of F/K.
  • the symbols from the odd columns of the first symbol matrix in each row of the second symbol matrix are respectively located in different rows of the first symbol matrix, and the symbols from the even columns of the first symbol matrix in each row of the second symbol matrix The symbols of are located in different rows of the first symbol matrix.
  • symbols output by delay lines with the same delay value in each row of the second symbol matrix come from different rows of the first symbol matrix.
  • At most K3 symbols in each row of the second symbol matrix come from the same row of the first symbol matrix, and any 2 symbols in the K3 symbols are respectively determined by a delay difference greater than or equal to 2*Q*d The 2 delay line outputs.
  • the convolution interleaving module includes a first group interleaver, a convolution interleaver and a second group Interleaver.
  • the convolutional interleaver is used to: perform convolutional interleaving on T first data streams to obtain T second data streams, and the consecutive H symbols in each second data stream come from at least F different codewords, F ⁇ E, each A maximum of K1/K2 symbols of the consecutive H symbols in the second data stream come from the same codeword.
  • the n channel data streams participating in the first group interleaving include a third symbol matrix, and the third symbol matrix includes n rows and A columns of symbols, where A is a multiple of a, and after the first group interleaving
  • the symbol sub-matrixes in the third symbol matrix are arranged in the first order, and the first to nth rows of each column in the third symbol matrix include the first symbol sub-matrix arranged in the first order From the matrix to the n/T symbol sub-matrix, in the two adjacent columns of the third symbol matrix, the n/T symbol sub-matrix in the previous column to the first symbol sub-matrix in the next column is continuous in the first order 2 symbol sub-matrices, the T symbols in the first column of the fourth symbol matrix come from the first symbol sub-matrix arranged in the first order in the third symbol matrix, and so on, until the T symbols of the C-th column in the fourth symbol matrix The T symbols are from the last symbol submatrix arranged in the first order in the third symbol matrix.
  • the symbol sub-matrixes in the third symbol matrix are arranged in the second order, and the first column to the A-th row of every T row in the third symbol matrix include the first symbol sub-matrix to the A-th row arranged in the second order
  • the symbol sub-matrix, the first symbol sub-matrix of the first T row to the first symbol sub-matrix of the next T row among the two adjacent consecutive T rows of the third symbol matrix is 2 consecutive symbol sub-matrixes arranged in the second order matrix
  • the T symbols in the first column of the fourth symbol matrix come from the first symbol submatrix arranged in the second order in the third symbol matrix, and so on, until the T symbols in the C column of the fourth symbol matrix come from The last symbol submatrix in the second order in the third symbol matrix.
  • each first data stream is sequentially input into p delay lines according to the sequence numbers of p delay lines, each delay line inputs C symbols at a time and outputs C symbols at a time, and the continuous symbols in one second data stream
  • the p*C symbols include C symbols output by each delay line, and Q is an integer greater than or equal to 1.
  • the delay line with the largest sequence number among the p delay lines includes 0 storage units, where C(p*Q+1) ⁇ K1*K4.
  • the delay line with the smallest sequence number among the p delay lines includes 0 storage units, where C(p*Q ⁇ 1) ⁇ K1*K4.
  • the F symbols in the target data stream include the first group of symbols from the first symbol subset and the second group of symbols from the second symbol subset, the first symbol subset and the second symbol subset
  • the order of the symbols of the set in the first subset of symbols is different from the order of the symbols of the second set in the second subset of symbols.
  • the F symbols in the target data stream include a third group of symbols from the third symbol subset and a fourth group of symbols from the fourth symbol subset, the third symbol subset and the fourth symbol subset belong to different symbol sets, the first The three symbol subsets and the fourth symbol subset are output by the same delay line, the symbols in the third symbol subset and the symbols in the fourth symbol subset are respectively arranged in order, and the order of the third group of symbols in the third symbol subset is the same as The symbols of the fourth group are differently ordered in the fourth subset of symbols.
  • the F symbols in each target data stream have at most symbols from the same symbol set, Integer representing the rounded up integer of the F/R quotient.
  • the data processing device further includes an encoder. After obtaining a total of m target data streams, the encoder is used to: respectively perform second FEC encoding on the m target data streams, and the information bit length of the second FEC encoding equal to F symbols.
  • convolutional interleaving is performed on the m first data streams respectively to obtain m second data streams.
  • every consecutive d symbols in each first data stream comes from v different codewords
  • every consecutive L2 symbols in each first data stream comes from at least v different codewords
  • the n 32, the 16 channel data streams located in odd channels among the n channel data streams come from the same codeword, and the 16 channel data streams located in even channels among the n channel data streams The data streams of the channels come from the same codeword, and the data streams located in the odd channels and the data streams located in the even channels among the n channel data streams come from different codewords.
  • Performing packet interleaving of streams to obtain s first data streams includes: performing packet interleaving on the 2*i channel data stream and the 2*i+1 channel data stream to obtain 1 first data stream, 0 ⁇ i ⁇ 16.
  • the 2 consecutive symbols in the 2*i-th channel data stream and the 2 consecutive symbols in the 2*i+1-th channel data stream are continuous in the first data stream obtained by the packet interleaving , each 4 consecutive symbols in the 1 first data stream obtained by group interleaving comes from 4 different codewords.
  • the jth bit among the 40 consecutive bits in the first data stream obtained by group interleaving is from the The first of 20 consecutive bits in the channel data stream bits, the Indicates rounding down, 0 ⁇ j ⁇ 40, and the ⁇ is 1, 2, 4, 5, 10 or 20.
  • the f-th bit among the 20 consecutive bits in the 2*i+g first data stream is from the first The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the fth bit among the 20 consecutive bits in the 2*i+g first data stream is from the The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the first data stream, 0 ⁇ i ⁇ 7, the 2 consecutive symbols included in each of the 4 channel data streams, a total of 8 symbols are continuous in the 1 first data stream obtained by the packet interleaving, so
  • every consecutive 8 symbols come from at least 4 different codewords, and every consecutive 272 symbols come from at least 4 different codewords
  • the 1 obtained by the group interleaving The 0th symbol, the 1st symbol, the 2nd symbol and the 3rd symbol in every continuous 8 symbols in the first data stream are from different codewords respectively, and the 1 first
  • the streams are continuous, the j-th group of continuous 2 symbols included in each channel data stream in the 4 channel data streams are continuous in the first data stream obtained by the group interleaving, j ⁇ 0, the group
  • Each consecutive 8 symbols in the first data stream obtained by interleaving comes from at least 4 different codewords, and each consecutive 272 symbols come from at least 4 different codewords, and the 1st data stream obtained
  • the 8*i channel data stream For the 8*i channel data stream, the 8*i+1 channel data stream, the 8*i+2 channel data stream, the 8*i+3 channel data stream, and the 8*i+4 channel data stream Channel data stream, 8*i+5 channel data stream, 8*i+6 channel data stream, 8*i+7 channel data stream, a total of 8 channel data streams are grouped and interleaved to obtain 1 first data flow, 0 ⁇ i ⁇ 3, the 8 Each channel data stream in the channel data streams includes the jth group of continuous 2 symbols, a total of 16 symbols, in the 1 first data stream obtained by the group interleaving.
  • Each of the 8 channel data streams The j-th group of consecutive 2 symbols included in the channel data stream are continuous in the first data stream obtained by the group interleaving, j ⁇ 0, and each consecutive 16 symbols in the first data stream obtained by the group interleaving symbols come from at least 4 different codewords, and every continuous 544 symbols come from at least 4 different codewords, the 0th of every 16 consecutive symbols in the first data stream obtained by the group interleaving
  • the symbol, the first symbol, the second symbol and the third symbol come from different codewords respectively
  • the fourth symbol, the fifth symbol of each consecutive 16 symbols in the first data stream obtained by group interleaving symbols, the 6th symbol and the 7th symbol are from different codewords respectively
  • the 10th symbol and the 11th symbol come from different codewords respectively, the 12th symbol, the 13th symbol, the 14th symbol and the The 15th symbols come from different codeword
  • the n 32, the 16 consecutive channel data streams sorted first among the n channel data streams come from the same codeword, and the last 16 channel data streams sorted among the n channel data streams The 16 consecutive channel data streams come from the same codeword, and among the n channel data streams, the first 16 channel data streams and the last 16 channel data streams come from different codewords.
  • the 2 consecutive symbols in the i-th channel data stream and the 2 consecutive symbols in the i+16th channel data stream are continuous in the 1 first data stream obtained by interleaving the grouping, and the grouping Every 4 consecutive symbols in a first data stream obtained by interleaving come from 4 different codewords.
  • the jth bit among the 40 consecutive bits in the first data stream obtained by group interleaving is from the The first of 20 consecutive bits in the channel data stream bits, the Indicates rounding down, 0 ⁇ j ⁇ 40, and the ⁇ is 1, 2, 4, 5, 10 or 20.
  • the j-th group of continuous ⁇ bits in the i-th channel data stream and The jth continuous ⁇ bits in the i+16th channel data stream are continuous in the first data stream obtained by the group interleaving, j ⁇ 0, and the ⁇ is 1, 2, 4, 5 , 10 or 20, the 4 consecutive symbols in the 1 first data stream obtained by group interleaving come from 4 different codewords.
  • the streams are continuous, and each continuous 20 bits in the 2*i+1 first data stream comes from 4 different codewords.
  • the f-th bit among the 20 consecutive bits in the 2*i+g first data stream is from the first The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the fth bit among the 20 consecutive bits in the 2*i+g first data stream is from the The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the first data stream, 0 ⁇ i ⁇ 7, the 2 consecutive symbols included in each of the 4 channel data streams, a total of 8 symbols are continuous in the 1 first data stream obtained by the group interleaving, so
  • Each consecutive 8 symbols in the first data stream obtained by the group interleaving comes from at least 4 different codewords, and each consecutive 272 symbols come from at least 4 different codewords, the 1 obtained by the group interleaving
  • the 0th symbol, the 1st symbol, the 2nd symbol and the 3rd symbol in each consecutive 8 symbols in the first data stream are from different codewords respectively, and the
  • the streams are continuous, the j-th group of continuous 2 symbols included in each channel data stream in the 4 channel data streams are continuous in the first data stream obtained by the group interleaving, j ⁇ 0, the group
  • Each consecutive 8 symbols in the first data stream obtained by interleaving comes from at least 4 different codewords, and each consecutive 272 symbols come from at least 4 different codewords, and the 1
  • the obtained 1 first data stream is continuous, j ⁇ 0, and every 8 consecutive symbols in the 1 first data stream obtained by group interleaving come from at least 4 different codewords, and the 1 obtained by group interleaving The 0th symbol, the 1s
  • performing convolutional interleaving on one first data stream to obtain one second data stream includes: delaying one first data stream according to p delay lines to obtain one second data stream.
  • the p is an integer greater than 1, 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, and the difference between the number of storage units of every two adjacent delay lines is Q, each storage unit is used to store d symbols, and the symbols in each channel data stream are sequentially input into the p delay lines according to the serial numbers of the p delay lines, and each delay line inputs d symbols at a time and Outputting d symbols at a time, the continuous p*d symbols in one second data stream include d symbols output by each delay line, and the Q is an integer greater than or equal to 1.
  • the method further includes: performing second interleaving on the m second data streams respectively.
  • FEC encoding obtains m coded data streams.
  • the information data with a length of K symbols in each coded data stream comes from at most K different codewords, K ⁇ p*d.
  • performing convolutional interleaving on one first data stream to obtain one second data stream includes: delaying one first data stream according to p delay lines to obtain one second data stream,
  • the p is an integer greater than 1, 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, and the difference between the number of storage units of every two adjacent delay lines is Q, each storage unit is used to store 4 symbols, the symbols in the data stream of each channel are sequentially input into the p delay lines according to the serial numbers of the p delay lines, and each delay line inputs 4 symbols at a time and Output 4 symbols at a time, the continuous p*4 symbols in one second data stream include 4 symbols output by each delay line, and the Q satisfies 4(p*Q-1) ⁇ 272 or 4 (p*Q+1) ⁇ 272 or 4(p*Q-1) ⁇ 544 or 4(p*Q+1) ⁇ 544.
  • the method further includes: performing second interleaving on the m second data streams respectively.
  • FEC coding obtains m coded data streams, and information data with a length of K symbols in each coded data stream comes from at most K different codewords, K ⁇ p*4.
  • performing convolutional interleaving on one first data stream to obtain one second data stream includes: delaying one first data stream according to p delay lines to obtain one second data stream,
  • the p is an integer greater than 1, 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, and the difference between the number of storage units of every two adjacent delay lines is Q; each storage unit is used to store 34 bits, each channel
  • the bits in the data stream are sequentially input into the p delay lines according to the sequence numbers of the p delay lines, each delay line inputs 34 bits at a time and outputs 34 bits at a time, and one of the second data streams
  • the continuous p*34 bits include 34 bits output by each delay line; or, each storage unit is used to store 68 bits, and the bits in each channel data stream are sequentially input according to the serial numbers of the p delay lines For the p delay lines, each delay line inputs 68 bits at a time and outputs 68 bits at a time, and
  • the present application provides a data processing device.
  • the data processing device includes: a packet interleaver and a convolutional interleaver.
  • the packet interleaver is configured to perform group interleaving on every t channel data streams among the n channel data streams to obtain s first data streams, so as to obtain m first data streams in total.
  • the convolutional interleaver is configured to perform convolutional interleaving on the m first data streams respectively to obtain m second data streams.
  • every consecutive d symbols in each first data stream comes from v different codewords
  • every consecutive L2 symbols in each first data stream comes from at least v different codewords
  • the n 32, the 16 channel data streams located in odd channels among the n channel data streams come from the same codeword, and the 16 channel data streams located in even channels among the n channel data streams The data streams of the channels come from the same codeword, and the data streams located in the odd channels and the data streams located in the even channels among the n channel data streams come from different codewords.
  • the packet interleaver is specifically configured to: perform the 2*i-th channel data stream and the 2*i+1-th channel data stream
  • One first data stream is obtained by packet interleaving, 0 ⁇ i ⁇ 16.
  • the 2 consecutive symbols in the 2*i-th channel data stream and the 2 consecutive symbols in the 2*i+1-th channel data stream are continuous in the first data stream obtained by the packet interleaving , each 4 consecutive symbols in the 1 first data stream obtained by group interleaving comes from 4 different codewords.
  • the jth bit among the 40 consecutive bits in the first data stream obtained by group interleaving is from the The first of 20 consecutive bits in the channel data stream bits, the Indicates rounding down, 0 ⁇ j ⁇ 40, and the ⁇ is 1, 2, 4, 5, 10 or 20.
  • the channel data stream and the 2*i+1th channel data stream are grouped and interleaved to obtain a first data stream, 0 ⁇ i ⁇ 16.
  • 1 group of j-th consecutive ⁇ bits in the 2*i-th channel data stream and j-th consecutive ⁇ -bits in the 2*i+1-th channel data stream are interleaved in the group Continuous in the first data stream, j ⁇ 0, the ⁇ is 1, 2, 4, 5, 10 or 20, and each 4 consecutive symbols in the 1 first data stream obtained by group interleaving comes from 4 different codeword.
  • the packet interleaver is specifically configured to: perform the 2*i-th channel data stream and the 2*i+1-th channel data stream The packet interleaving obtains the 2*i first data stream and the 2*i+1 first data stream, 0 ⁇ i ⁇ 16.
  • the fth bit among the 20 consecutive bits in the 2*i+g first data stream is from the The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the fth bit among the 20 consecutive bits in the 2*i+g first data stream is from the The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the continuous 2 symbols included in each channel data stream in the stream are continuous in the 1 first data stream obtained by the packet interleaving, and each continuous 8 symbols in the 1 first data stream obtained by the packet interleaving
  • the symbols come from at least 4 different codewords, and each consecutive 272 symbols come from at least 4 different codewords, the 0th of every 8 consecutive symbols in the 1 first data stream obtained by group interleaving
  • the packet interleaver is specifically used to: for the 4*ith channel data stream, the 4*i+1th channel data stream, The 4th*i+2 channel data stream and the 4*i+3 channel data stream, a total of 4 channel data streams are grouped and interleaved to obtain a first data stream, 0 ⁇ i ⁇ 7, the 4 channel data
  • the j-th group of 2 consecutive symbols included in each channel data stream in the stream, a total of 8 symbols are continuous in the 1 first data stream obtained by the group interleaving, and each channel data stream in the 4 channel data streams
  • the jth group of consecutive 2 symbols included is continuous in the first data stream obtained by the group interleaving, j ⁇ 0, and each consecutive 8 symbols in the first data stream obtained by the group interleaving comes from At least 4 different codewords, and every continuous 272 symbols come from at least 4 different codewords, the 0th symbol in every 8 consecutive symbols in the first data stream obtained by the group
  • the j-th symbol included in each channel data stream in the stream has a total of 4 symbols in the first data stream obtained by the group interleaving, j ⁇ 0, and in the first data stream obtained by the group interleaving Each consecutive 4 symbols come from 4 different codewords.
  • the packet interleaver is specifically used to: perform the 8*i channel data stream, the 8*i+1 channel data stream, The 8th*i+2 channel data stream, the 8*i+3 channel data stream, the 8*i+4 channel data stream, the 8*i+5 channel data stream, the 8*i+6 channel data stream
  • a total of 8 channel data streams and the 8th*i+7 channel data streams are grouped and interleaved to obtain 1 first data stream, 0 ⁇ i ⁇ 3, and each channel data in the 8 channel data streams
  • a total of 16 symbols of 2 consecutive symbols included in the stream are continuous in the first data stream obtained by the packet interleaving, and each continuous 16 symbols in the first data stream obtained by the packet interleaving come from at least 4 different codewords, and every continuous 544 symbols come from at least 4 different codewords, the 0th symbol, the 1st symbol, the 1st symbol, The 2nd symbol and the 3rd symbol come from different codewords respectively
  • the packet interleaver is specifically used to: perform the 8*i channel data stream, the 8*i+1 channel data stream, The 8th*i+2 channel data stream, the 8*i+3 channel data stream, the 8*i+4 channel data stream, the 8*i+5 channel data stream, the 8*i+6 channel data stream
  • a total of 8 channel data streams and the 8th*i+7 channel data streams are grouped and interleaved to obtain 1 first data stream, 0 ⁇ i ⁇ 3, and each channel data in the 8 channel data streams
  • the jth group of continuous 2 symbols included in the stream, a total of 16 symbols, are continuous in the first data stream obtained by the group interleaving, and the jth group of continuous symbols included in each of the eight channel data streams
  • the 2 symbols of are continuous in the first data stream obtained by group interleaving, j ⁇ 0, and each consecutive 16 symbols in the first data stream obtained by group interleaving come from at least 4 different codes word, and every continuous
  • the packet interleaver is specifically used to: perform the 8*i channel data stream, the 8*i+1 channel data stream, The 8th*i+2 channel data stream, the 8*i+3 channel data stream, the 8*i+4 channel data stream, the 8*i+5 channel data stream, the 8*i+6 channel data stream
  • a total of 8 channel data streams and the 8th*i+7 channel data streams are grouped and interleaved to obtain 1 first data stream, 0 ⁇ i ⁇ 3, and each channel data in the 8 channel data streams
  • a total of 8 symbols of the j-th symbol included in the stream are continuous in the first data stream obtained by the group interleaving, j ⁇ 0, every 8 consecutive symbols in the first data stream obtained by group interleaving comes from 4 different codewords, and every 8 consecutive symbols in the first data stream obtained by group interleaving
  • the 0th symbol, the 1st symbol, the 2nd symbol and the 3rd symbol in are from different codewords respectively
  • the n 32, the 16 consecutive channel data streams sorted first among the n channel data streams come from the same codeword, and the last 16 channel data streams sorted among the n channel data streams The 16 consecutive channel data streams come from the same codeword, and among the n channel data streams, the first 16 channel data streams and the last 16 channel data streams come from different codewords.
  • the packet interleaver is specifically configured to: perform packet interleaving on the i-th channel data stream and the i+16th channel data stream to obtain 1 A first data stream, 0 ⁇ i ⁇ 16.
  • the 2 consecutive symbols in the i-th channel data stream and the 2 consecutive symbols in the i+16th channel data stream are continuous in the 1 first data stream obtained by interleaving the grouping, and the grouping Every 4 consecutive symbols in a first data stream obtained by interleaving come from 4 different codewords.
  • the jth bit among the 40 consecutive bits in the first data stream obtained by group interleaving is from the The first of 20 consecutive bits in the channel data stream bits, the Indicates rounding down, 0 ⁇ j ⁇ 40, and the ⁇ is 1, 2, 4, 5, 10 or 20.
  • the packet interleaver is specifically configured to: perform packet interleaving on the i-th channel data stream and the i+16th channel data stream to obtain 1 A first data stream, 0 ⁇ i ⁇ 16.
  • a first data stream obtained by interleaving the jth consecutive ⁇ bits in the i-th channel data stream and the j-th consecutive ⁇ bits in the i+16th channel data stream in the group is continuous, j ⁇ 0, the ⁇ is 1, 2, 4, 5, 10 or 20, and each of the 4 consecutive symbols in the 1 first data stream obtained by group interleaving comes from 4 different codewords.
  • the packet interleaver is specifically configured to: perform packet interleaving on the i-th channel data stream and the i+16th channel data stream to obtain the first 2*i first data streams and 2*i+1 first data streams, 0 ⁇ i ⁇ 16.
  • the streams are continuous, and each continuous 20 bits in the 2*i+1 first data stream comes from 4 different codewords.
  • the fth bit among the 20 consecutive bits in the 2*i+g first data stream is from the The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the f-th bit among the 20 consecutive bits in the 2*i+g first data stream is from the first The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the packet interleaver is specifically used to: for the 2*i item Channel data stream, 2*i+1 channel data stream, 2*i+16 channel data stream and 2*i+17 channel data stream, a total of 4 channel data streams are grouped and interleaved to obtain 1 first Data stream, 0 ⁇ i ⁇ 7, the 2 consecutive symbols included in each of the 4 channel data streams, a total of 8 symbols are continuous in the 1 first data stream obtained by interleaving the grouping, the grouping Each consecutive 8 symbols in the first data stream obtained by interleaving come from at least 4 different codewords, and each consecutive 272 symbols come from at least 4 different codewords, and the 1st data stream obtained by group interleaving
  • the 0th symbol, the 1st symbol, the 2nd symbol and the 3rd symbol in every 8 consecutive symbols in a data stream come from different codewords respectively, and the 1 first data stream obtained by the group interleaving
  • the packet interleaver is specifically used to: perform the 2*ith channel data stream, the 2*i+1th channel data stream, The 2*i+16th channel data stream and the 2*i+17th channel data stream, a total of 4 channel data streams are grouped and interleaved to obtain 1 first data stream, 0 ⁇ i ⁇ 7, the 4 channel data
  • the j-th group of 2 consecutive symbols included in each channel data stream in the stream, a total of 8 symbols are continuous in the 1 first data stream obtained by the group interleaving, and each channel data stream in the 4 channel data streams
  • the jth group of consecutive 2 symbols included is continuous in the first data stream obtained by the group interleaving, j ⁇ 0, and each consecutive 8 symbols in the first data stream obtained by the group interleaving comes from At least 4 different codewords, and each consecutive 272 symbols come from at least 4 different codewords, the 0th symbol in every 8 consecutive symbols in the first data stream obtained by group inter
  • the j-th symbol included in each channel data stream in the stream has a total of 4 symbols in the first data stream obtained by the group interleaving, j ⁇ 0, and in the first data stream obtained by the group interleaving Each consecutive 4 symbols come from 4 different codewords.
  • the packet interleaver is specifically used to: for the 4*ith channel data stream, the 4*i+1th channel data stream, The 4th*i+2 channel data stream, the 4*i+3 channel data stream, the 4*i+16th channel data stream, the 4*i+17th channel data stream, the 4*i+18th channel data stream
  • the first channel data stream and the 4*i+19th channel data stream, a total of 8 channel data streams are grouped and interleaved to obtain a first data stream, 0 ⁇ i ⁇ 3, and each channel data in the 8 channel data streams
  • a total of 16 symbols of 2 consecutive symbols included in the stream are continuous in the first data stream obtained by the packet interleaving, and each continuous 16 symbols in the first data stream obtained by the packet interleaving come from at least 4 different codewords, and every continuous 544 symbols come from at least 4 different codewords, the 0th symbol, the 1st symbol, the 1st symbol,
  • the packet interleaver is specifically used to: for the 4*ith channel data stream, the 4*i+1th channel data stream, The 4th*i+2 channel data stream, the 4*i+3 channel data stream, the 4*i+16th channel data stream, the 4*i+17th channel data stream, the 4*i+18th channel data stream
  • the first channel data stream and the 4*i+19th channel data stream, a total of 8 channel data streams are grouped and interleaved to obtain a first data stream, 0 ⁇ i ⁇ 3, and each channel data in the 8 channel data streams
  • a total of 8 symbols of the j-th symbol included in the stream are continuous in the first data stream obtained by the group interleaving, j ⁇ 0, and every continuous 8 symbols in the first data stream obtained by the group interleaving From at least 4 different codewords, the 0th symbol, the 1st symbol, the 2nd symbol and the 3rd symbol in every 8 consecutive symbols in the 1
  • the convolutional interleaver is specifically configured to: delay a first data stream according to p delay lines to obtain a second data stream, where p is an integer greater than 1, and each 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 between the number of storage units of every two adjacent delay lines is Q, and each storage unit is used to store d symbols, the symbols in the data stream of each channel are sequentially input to the p delay lines according to the sequence numbers of the p delay lines, and each delay line inputs d symbols at a time and outputs d symbols at a time.
  • the continuous p*d symbols in the second data stream include d symbols output by each delay line, and the Q is an integer greater than or equal to 1.
  • the data processing device further includes an encoder, and after obtaining the m second data streams, the encoder is configured to: respectively perform second FEC encoding on the m second data streams to obtain m Bar coded data stream.
  • the information data with a length of K symbols in each coded data stream comes from at most K different codewords, K ⁇ p*d.
  • the convolutional interleaver is specifically configured to: pair one piece of first data according to p delay lines
  • the stream is delayed to obtain a second data stream
  • the p is an integer greater than 1
  • 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, and every two adjacent
  • the difference in the number of storage units of the delay lines is Q
  • each storage unit is used to store 4 symbols
  • the symbols in the data stream of each channel are sequentially input into the p delay lines according to the serial numbers of the p delay lines
  • Each delay line inputs 4 symbols at a time and outputs 4 symbols at a time
  • the continuous p*4 symbols in one second data stream include 4 symbols output by each delay line
  • the Q satisfies 4 (p*Q-1) ⁇ 272 or 4(p*Q+1) ⁇ 272 or 4(p*Q-1) ⁇ 544 or 4(p*Q+1) ⁇ 544.
  • the data processing device further includes an encoder, and after obtaining the m second data streams, the encoder is configured to: respectively perform second FEC encoding on the m second data streams to obtain m
  • the coded data streams the information data with a length of K symbols in each coded data stream comes from at most K different codewords, K ⁇ p*4.
  • the convolutional interleaver is specifically configured to: delay a first data stream according to p delay lines to obtain a second data stream, where p is an integer greater than 1, and each 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, and the difference between the number of storage units of every two adjacent delay lines is Q.
  • Each storage unit is used to store 34 bits, and the bits in the data stream of each channel are sequentially input into the p delay lines according to the serial numbers of the p delay lines, and each delay line inputs 34 bits at a time and a single time output 34 bits, and the continuous p*34 bits in one second data stream include 34 bits output by each delay line; or, each storage unit is used to store 68 bits, and each channel data stream
  • the bits in the p delay lines are sequentially input into the p delay lines according to the serial numbers of the p delay lines, and each delay line inputs 68 bits at a time and outputs 68 bits at a time, and the continuous bits in one of the second data streams p*68 bits includes the 68 bits output by each delay line.
  • the present application provides a data processing method, which includes the following steps.
  • the data streams of the n channels are all subjected to the first forward error correction FEC encoding
  • the p is an integer greater than 1
  • 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 between the number of storage units of each adjacent two delay lines is Q
  • each storage unit is used to store U bits
  • the bits in each channel data stream are according to the serial numbers of the p delay lines
  • each delay line inputs U bits at a time and outputs U bits at a time
  • the continuous p*U bits in one of the second data streams include the output of each delay line U bits
  • the Q is an integer greater than or equal to 1
  • the U is an integer greater than or equal to 1.
  • second FEC encoding is performed on the n first data streams respectively to obtain n second data streams.
  • the information data of each codeword in the second data stream encoded by the second FEC is p*U bits output by the p delay lines at a time.
  • p*U 120, 136 or 160.
  • the present application provides a data processing device, where the data processing device includes a convolutional interleaver and an encoder.
  • the convolutional interleaver is used for: respectively delaying n channel data streams according to p delay lines to obtain n first data streams.
  • the data streams of the n channels are all subjected to the first forward error correction FEC encoding
  • the p is an integer greater than 1
  • each delay The number of storage units included in the delay lines is different, the delay line with the smallest number of storage units includes 0 storage units, the difference between the number of storage units of every two adjacent delay lines is Q, and each storage unit is used to store U Bits
  • the bits in the data stream of each channel are sequentially input into the p delay lines according to the sequence numbers of the p delay lines, each delay line inputs U bits at a time and outputs U bits at a time, and one of the delay lines
  • the continuous p*U bits in the second data stream include U bits output by each delay line, the Q is an integer greater than or equal to 1, and the U is an integer greater than or equal to 1.
  • the encoder is configured to: respectively perform second FEC encoding on the n first data streams to obtain n second data streams.
  • the information data of each codeword in the second data stream encoded by the second FEC is p*U bits output by the p delay lines at a time.
  • p*U 120, 136 or 160.
  • the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, wherein, when the computer program is executed by hardware, the above-mentioned first aspect, third aspect, fifth aspect or first aspect can be realized. Some or all steps of any one method in the seven aspects.
  • the data streams of the n channels are all code word streams encoded by the outer code, and the convolutional interleaving processing is performed on the n data streams respectively, and the data streams are performed on the n data streams after the convolutional interleaving.
  • the m-channel data streams after the multiplexing processing can be realized through a short time delay.
  • the multiple symbols output continuously come from multiple different outer code words, so that the
  • the joint FEC scheme also helps to reduce the delay of data interleaving on the basis of ensuring better performance. That is to say, the scheme of combining convolutional interleaving processing and data multiplexing in this application makes the overall delay of the cascaded FEC scheme lower, and is more suitable for application scenarios requiring low delay.
  • FIG. 1 is a schematic diagram of a communication system applied in an embodiment of the present application
  • FIG. 2 is a schematic diagram of a data transmission process in the communication system shown in FIG. 1;
  • Figure 3(a) is a schematic diagram of the first data processing of the originating processing module in the embodiment of the present application.
  • FIG. 3(b) is a schematic diagram of the second data processing of the originating processing module in the embodiment of the present application.
  • Figure 3(c) is a schematic diagram of the third data processing of the originating processing module in the embodiment of the present application.
  • Figure 3(d) is a schematic diagram of the fourth data processing of the originating processing module in the embodiment of the present application.
  • Figure 3(e) is a schematic diagram of channel data alignment processing in the embodiment of the present application.
  • FIG. 3(f) is a schematic diagram of the fifth data processing of the originating processing module in the embodiment of the present application.
  • FIG. 3(g) is a schematic diagram of the sixth data processing of the originating processing module in the embodiment of the present application.
  • FIG. 3(h) is a schematic diagram of the seventh data processing of the originating processing module in the embodiment of the present application.
  • FIG. 3(i) is a schematic diagram of the eighth data processing of the originating processing module in the embodiment of the present application.
  • Fig. 4 (a) is a schematic diagram of the first data processing for the receiving end processing module in the embodiment of the present application.
  • Fig. 4 (b) is a schematic diagram of the second data processing for the receiving end processing module in the embodiment of the present application.
  • Fig. 4 (c) is a schematic diagram of the third data processing for the receiving end processing module in the embodiment of the present application.
  • Fig. 5 is a schematic diagram of 32 PCS channel data streams using a 1 ⁇ 800G interface at the originating device
  • FIG. 6 is a schematic diagram of 32 PCS channel data streams using 2 ⁇ 400G interfaces at the originating device
  • FIG. 7 is a schematic diagram of 32 PCS channel data streams using a 4 ⁇ 200G interface at the originating device
  • FIG. 8 is a schematic diagram of 32 FEC channel data streams using an 8 ⁇ 100G interface at the originating device
  • FIG. 9 is another schematic diagram of data streams of 32 FEC channels used by the originating device using an 8 ⁇ 100G interface
  • FIG. 10 is a schematic flowchart of a data processing method provided in an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of performing convolutional interleaving on n channel data streams in the embodiment of the present application.
  • Figure 12(a) is a schematic diagram of the first structure of the convolutional interleaver in the embodiment of the present application.
  • Figure 12(b) is a schematic diagram of the second structure of the convolutional interleaver in the embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of multiplexing n first data streams in the embodiment of the present application.
  • FIG. 14 is a schematic diagram of the first structure of the multiplexer in the embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of performing FEC encoding on m second data streams in the embodiment of the present application.
  • Fig. 16(a) is a schematic diagram of the third structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 16(b) is a schematic diagram of the fourth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 17(a) is a second structural schematic diagram of the multiplexer in the embodiment of the present application.
  • Fig. 17(b) is a schematic diagram of the third structure of the multiplexer in the embodiment of the present application.
  • Fig. 17(c) is a schematic diagram of the fourth structure of the multiplexer in the embodiment of the present application.
  • Fig. 18(a) is a schematic diagram of the fifth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 18(b) is a schematic diagram of the sixth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 19(a) is a schematic diagram of the seventh structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 19(b) is a schematic diagram of the eighth structure of the convolutional interleaver in the embodiment of the present application.
  • FIG. 20 is a schematic diagram of a ninth structure of a convolutional interleaver in an embodiment of the present application.
  • FIG. 21 is a schematic diagram of a tenth structure of a convolutional interleaver in an embodiment of the present application.
  • FIG. 22 is a schematic diagram of a fifth structure of the multiplexer in the embodiment of the present application.
  • FIG. 23 is a schematic diagram of an eleventh structure of a convolutional interleaver in an embodiment of the present application.
  • FIG. 24 is a schematic diagram of the sixth structure of the multiplexer in the embodiment of the present application.
  • FIG. 25 is a schematic diagram of a twelfth structure of a convolutional interleaver in an embodiment of the present application.
  • FIG. 26 is a schematic diagram of a thirteenth structure of a convolutional interleaver in an embodiment of the present application.
  • Fig. 27(a) is a schematic diagram of the fourteenth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 27(b) is a schematic diagram of the fifteenth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 28(a) is a schematic diagram of the sixteenth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 28(b) is a schematic diagram of the seventeenth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 29(a) is a schematic diagram of the eighteenth structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 29(b) is a schematic diagram of a nineteenth structure of a convolutional interleaver in the embodiment of the present application.
  • Fig. 30(a) is a schematic diagram of a twentieth structure of the convolutional interleaver in the embodiment of the present application.
  • FIG. 30(b) is a schematic diagram of a twenty-first structure of a convolutional interleaver in an embodiment of the present application.
  • Fig. 31(a) is a schematic diagram of the twenty-second structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 31(b) is a schematic diagram of the twenty-third structure of the convolutional interleaver in the embodiment of the present application.
  • Fig. 32(a) is a schematic structural diagram of performing packet interleaving on n first data streams in the embodiment of the present application;
  • Figure 32(b) is a schematic structural diagram of a packet interleaver in the embodiment of the present application.
  • FIG. 33 is a schematic structural diagram of a data processing device in an embodiment of the present application.
  • FIG. 34 is a schematic flow chart of the interleaving process provided by the embodiment of the present application.
  • FIG. 35 is a schematic structural diagram of performing packet interleaving on n first data streams in an embodiment of the present application.
  • FIG. 36 is a schematic diagram of an implementation of packet interleaving in the embodiment of the present application.
  • Figure 37 is a schematic diagram of the data stream format after channel alignment when the client-side interface is 2 ⁇ 400GbE;
  • Figure 38 is a schematic diagram of an implementation of packet interleaving
  • Figure 39 is a schematic diagram of another implementation of packet interleaving
  • FIG. 40 is a schematic diagram of another implementation of packet interleaving
  • Figure 41 is a schematic diagram of another implementation of packet interleaving
  • Fig. 42 is another schematic flowchart of interleaving processing provided by the embodiment of the present application.
  • Fig. 43 is a schematic diagram of an implementation manner of performing the first packet interleaving in the embodiment of the present application.
  • Fig. 44(a) is a schematic diagram of an implementation of the second packet interleaving in the embodiment of the present application.
  • Fig. 44(b) is a schematic diagram of a specific implementation of the second packet interleaving in the embodiment of the present application.
  • Figure 45(a) is a schematic diagram of an implementation of the first packet interleaving
  • Figure 45(b) is a schematic diagram of an implementation of convolutional interleaving
  • Figure 45(c) is a schematic diagram of another implementation of convolutional interleaving
  • Figure 45(d) is a schematic diagram of an implementation of the second packet interleaving
  • Figure 46(a) is a schematic diagram of another implementation of convolutional interleaving
  • Figure 46(b) is a schematic diagram of another implementation of convolutional interleaving
  • Figure 46(c) is a schematic diagram of another implementation of the second group interleaving
  • Fig. 47 is a schematic diagram of another implementation of the second group interleaving.
  • Fig. 48 is a schematic diagram of another implementation manner of the second group interleaving
  • Fig. 49 is a schematic diagram of another implementation manner of the first group interleaving
  • Fig. 50(a) is another schematic structural diagram of the data processing device in the embodiment of the present application.
  • Fig. 50(b) is another schematic structural diagram of the data processing device in the embodiment of the present application.
  • FIG. 51 is another schematic flowchart of the data processing method provided by the embodiment of the present application.
  • Fig. 52 is a schematic structural diagram of packet interleaving of n channel data streams in the embodiment of the present application.
  • Fig. 53 is a schematic diagram of an application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 54 is a schematic diagram of several specific embodiments of packet interleaving in the embodiment of the present application.
  • FIG. 55 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 56 is a schematic diagram of several specific embodiments of packet interleaving in the embodiment of the present application.
  • Fig. 57 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 58 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • FIG. 59 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • FIG. 60 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • FIG. 61 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • FIG. 62 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 63 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 64 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 65 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 66 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 67 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 68 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 69 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • FIG. 70 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • FIG. 71 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • Fig. 72 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • FIG. 73 is a schematic structural diagram of performing convolutional interleaving on m first data streams in the embodiment of the present application.
  • FIG. 74 is a schematic diagram of an embodiment of a convolutional interleaver in the embodiment of the present application.
  • Fig. 75 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • Fig. 76 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • Fig. 77 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • Fig. 78 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • Fig. 79 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • FIG. 80 is a schematic diagram of another embodiment of a convolutional interleaver in the embodiment of the present application.
  • Fig. 81 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • Fig. 82 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • Fig. 83 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • Figure 84 is a schematic diagram of an implementation of inner code encoding in the embodiment of the present application.
  • Fig. 85 is a schematic structural diagram of a data processing device in an embodiment of the present application.
  • Fig. 86 is another schematic flowchart of the data processing method provided by the embodiment of the present application.
  • Fig. 87 is another schematic structural diagram of the data processing device in the embodiment of the present application.
  • Fig. 88 is another schematic structural diagram of the data processing device in the embodiment of the present application.
  • Embodiments of the present application provide a data processing method and a data processing device. Better performance of the cascaded FEC solution can be obtained in scenarios with lower latency.
  • first and second in the specification and claims of the present application and the above drawings are used to distinguish similar objects, but not to limit a specific sequence or sequence. It is to be understood that the above terms are interchangeable under appropriate circumstances such that the embodiments described herein can be practiced in sequences other than those described herein.
  • the terms “comprising” and “having”, as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, product, or device comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units inherent in the product or equipment.
  • FIG. 1 is a schematic diagram of a communication system applied in an embodiment of the present application.
  • the communication system includes an originating device 01 , an originating processing module 02 , a channel transmission medium 03 , a receiving end processing module 04 and a receiving end device 05 .
  • the originating device 01 and the receiving device 05 may be devices such as switches or routers, and the originating device 01 is also called a client-side chip (host chip) located at the originating end, and the receiving device 05 is also called It is called the client-side chip at the receiving end, and the channel transmission medium 03 can be an optical fiber.
  • the client-side chip is sometimes also referred to as the client-side device (host device).
  • the originating device 01 and the originating processing module 02 may be connected through an attachment unit interface (AUI), and the receiving device 05 and the receiving processing module 04 may be connected through an AUI.
  • the sending-end processing module 02 and the receiving-end processing module 04 may be optical modules, electrical modules, connectors or other modules that process data during data transmission.
  • the processing module may be an 800LR module (800LR module, a coherent optical module).
  • the originating device 01, the originating processing module 02, the channel transmission medium 03, the receiving end processing module 04, and the receiving device 05 in the communication system can all support two-way transmission, and can also support one-way transmission, which is not limited here. .
  • FIG. 2 is a schematic diagram of a data transmission process in the communication system shown in FIG. 1 .
  • the originating device 01 in the process of transmitting data from the originating device 01 to the receiving device 05 , the originating device 01 is used to encode the data with an outer code, and then transmit the outer-coded data to the originating processing module 02 .
  • the sending end processing module 02 is used to perform inner code encoding on the data encoded by the outer code, obtain the data encoded by the outer code and the inner code, and transmit the data encoded by the outer code and the inner code to the channel transmission medium 03.
  • the channel transmission medium 03 is used to transmit the data encoded by the outer code and the inner code to the receiving end processing module 04 .
  • the receiving end processing module 04 is used to perform inner code decoding on the data encoded by the outer code and inner code, and transmit the decoded data to the receiving end device 05 .
  • the receiving end device 05 is used for performing outer code decoding on the data that has undergone inner code decoding.
  • the "inner” in the inner code and the “outer” in the outer code are only distinguished based on the distance between the execution subject operating on the data and the channel transmission medium 03.
  • the execution subject operating on the inner code is closer to the channel transmission medium, and the execution subject operating on the outer code is farther away from the channel transmission medium.
  • after the data is sent from the originating device 01 it is transmitted to the channel transmission medium 03 through the originating processing module 02, and then transmitted from the channel transmission medium 03 to the receiving end device 05 through the receiving end processing module 04.
  • the data encoded by the source device 01 is farther away from the channel transmission medium 03 than the data encoded by the source processing module 02, and the data decoded by the receiver device 05 is farther away from the channel transmission medium than the data decoded by the receiver processing module 04. 03 is farther away. Therefore, the data encoded by the originating device 01 is called the data encoded by the outer code, the data encoded by the originating processing module 02 is called the data encoded by the inner code, and the data decoded by the receiving device 05 is called the data decoded by the outer code The data decoded by the receiving end processing module 04 is called the data decoded by the inner code.
  • both the above-mentioned inner code encoding and outer code encoding adopt FEC encoding, so as to form a cascaded FEC transmission scheme.
  • the originating device 01 may use RS codes to perform outer code encoding, and the originating processing module 02 may use Hamming (Hamming) codes to perform inner code encoding.
  • the originating device 01 may use the RS code to perform outer code encoding, and the originating processing module 02 may use a Bose-Chaudhuri-Hocquenghem (BCH) code to perform inner code encoding.
  • BCH Bose-Chaudhuri-Hocquenghem
  • this application designs a data processing scheme including "convolutional interleaving" and “multiplexing”, so as to achieve better performance and lower delay of the overall cascaded FEC scheme.
  • This enables the cascaded FEC transmission solution to be applied to many transmission scenarios, and is especially suitable for transmission scenarios that require low transmission delay, such as low-latency data center interconnection scenarios.
  • the data processing is realized by the above-mentioned originating processing module 02 .
  • Fig. 3(a) is a schematic diagram of the first data processing of the originating processing module in the embodiment of the present application.
  • PMA Physical Medium Attachment
  • PCS Physical Coding Sublayer
  • FEC FEC channel data stream of the outer code encoding
  • channel data alignment processing to obtain aligned n channel data streams.
  • lane reordering is performed on the data of the n channels according to the alignment marker, so that the data of the n channels can be arranged in a specified order.
  • n channel data streams after channel reordering are sent to the designed processor including convolutional interleaving (convolutional interleaving) and multiplexing (muxing) to scramble the data sequence, and then sent to the inner code encoder for inner code encoding.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization division (polarization distribution) or DSP framing processing (framing), etc.
  • n here is a positive integer greater than 1.
  • Fig. 3(b) is a schematic diagram of the second data processing of the originating processing module in the embodiment of the present application.
  • the n channel data streams aligned after the channel data alignment process have been arranged in a specified order.
  • the aligned n channel data streams are directly sent to the designed processor including convolutional interleaving and multiplexing for interleaving, disrupting the data sequence, and then sending them to the inner code encoder for inner coding coding.
  • the aligned n channel data streams may not be rolled Product interleaving, multiplexing processing directly, and sent to the inner code encoder for inner code encoding.
  • Fig. 3(c) is a schematic diagram of the third data processing of the originating processing module in the embodiment of the present application. As shown in Figure 3(c), different from the data processing flow shown in Figure 3(a) above, the n channel data streams after channel reordering are not subjected to convolutional interleaving, but are directly multiplexed and sent to The inner code encoder performs inner code encoding.
  • FIG. 3( d ) is a schematic diagram of the fourth data processing of the originating processing module in the embodiment of the present application.
  • the n channel data streams after channel data alignment are not subjected to convolutional interleaving, but are directly multiplexed and sent to Enter the inner code encoder to perform inner code encoding.
  • FIG. 3( e ) is a schematic diagram of channel data alignment processing in the embodiment of the present application.
  • lane data alignment processing may be a lane de-skew processing (lane de-skew) defined by an existing standard, so that the data of the output n lane data streams are completely aligned.
  • channel data alignment processing may only be channel symbol alignment, so that the data on the n channel data streams output by it is based on outer code symbol alignment, specifically, it may be based on an outer code symbol alignment, or it may be based on Alignment of multiple foreign code symbols.
  • 3(e) takes two channel data streams as an example to illustrate the specific operation of the above-mentioned "channel data alignment processing", assuming that the outer code is RS code, and the symbol length of one RS code is 10 bits.
  • scene (a) in FIG. 3( e ) indicates that there is a deviation of 75 bits between the two channel data streams
  • AM0 and AM1 are the alignment identifiers of channel data stream 0 and channel data stream 1 respectively.
  • Scenario (b) in FIG. 3(e) adopts the lane de-skew process defined by the existing standard, so that there is no deviation between the output lane data stream 0 and the lane data stream 1.
  • the scene in Figure 3(e) (c) is based on 1 RS symbol alignment processing, so that 1 RS symbol of the output channel data stream 0 and 1 RS symbol of the channel data stream 1 are aligned. At this time, there are still 70 bits in the two channels deviation.
  • Scenario (d) in Figure 3(e) is based on 2 RS symbol alignment processing, so that the 2 RS symbols of the output channel data stream 0 and the 2 RS symbols of the channel data stream 1 are aligned , at this time there is still a 60-bit deviation between the two channels.
  • Fig. 3(f) is a schematic diagram of the fifth data processing of the originating processing module in the embodiment of the present application.
  • PMA Physical Medium Attachment
  • PCS Physical Coding Sublayer
  • FEC FEC channel data stream of the outer code encoding
  • identification lock alignment lock
  • channel data alignment processing channel data alignment processing to obtain aligned n channel data streams.
  • lane reordering is performed on the data of the n channels according to the alignment marker, so that the data of the n channels can be arranged in a specified order.
  • n channel data streams reordered by the channel are sent to the designed processor including convolutional interleaving and block interleaving for interleaving and disrupting the data sequence, and then sent to the inner code encoder for inner code encoding .
  • the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization division (polarization distribution) or DSP framing processing (framing), etc.
  • n here is a positive integer greater than 1.
  • Fig. 3(g) is a schematic diagram of the sixth data processing of the originating processing module in the embodiment of the present application.
  • PMA Physical Medium Attachment
  • PCS Physical Coding Sublayer
  • FEC FEC channel data stream of the outer code encoding
  • the alignment lock and channel data alignment processing are performed to obtain aligned n channel data streams.
  • lane reordering is performed on the data of the n channels according to the alignment marker, so that the data of the n channels can be arranged in a specified order.
  • n channel data streams after channel reordering are sent to the designed processor including the first packet interleaving, convolutional interleaving (convolutional interleaving) and the second packet interleaving processor for interleaving and disrupting the data sequence, and then sent to the inner code encoder for internal code encoding.
  • the data processing may include modulation mapping (maPPing), channel interleaving (channel interleaving), polarization division (Polarization distribution) or DSP framing processing (Framing), etc.
  • n here is a positive integer greater than 1.
  • FIG. 3(h) is a schematic diagram of the seventh data processing of the originating processing module in the embodiment of the present application.
  • PMA Physical Medium Attachment
  • PCS Physical Coding Sublayer
  • FEC FEC channel data stream of the outer code encoding
  • identification lock alignment lock
  • channel data alignment processing channel data alignment processing to obtain aligned n channel data streams.
  • lane reordering is performed on the data of the n channels according to the alignment marker, so that the data of the n channels can be arranged in a specified order.
  • the n channel data streams that have been reordered by channels are sent to the designed block interleaving (block
  • n here is a positive integer greater than 1.
  • FIG. 3(i) is a schematic diagram of the eighth data processing of the originating processing module in the embodiment of the present application.
  • PMA Physical Medium Attachment
  • the PMA sublayer only needs to perform clock data recovery (CDR) on the data from each client channel, PAM4 symbol demodulation and other signal recovery operations to obtain a channel data stream, without the need for AM locking and channel correction and other complex operations such as channel reordering.
  • CDR clock data recovery
  • the data streams of n channels are sent to the designed processor including convolutional interleaving (convolutional interleaving) for interleaving to scramble the data sequence, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization division (polarization distribution) or DSP framing processing (framing), etc.
  • n here is a positive integer greater than 1.
  • the RS outer code encoding is interleaved after encoding by two encoders, such as two-way interleaving (2-way interleaving), so that the RS symbols on the even-numbered channel data stream are According to "A B A B A B" transmission, and the RS symbol on the channel data stream with an odd number is transmitted according to "B A B A BA", where A and B are two RS symbols generated by different encoders .
  • one implementation effect is to make the RS symbols on all even-numbered channel data streams at the same time be generated by the same encoder and the RS symbols on all odd-numbered channel data streams be generated by another One is generated by the same encoder; another implementation effect is that the RS symbols on all channel data streams are generated by the same encoder at the same time.
  • the specific manner is not limited here.
  • Fig. 4(a) is a schematic diagram of the first data processing for the receiving end processing module in the embodiment of the present application.
  • the receiving end processing module receives the data stream from the channel transmission medium.
  • modulation mapping mapping
  • channel interleaving channel interleaving
  • polarization distribution polarization distribution
  • DSP framing processing the receiving end processing module first performs corresponding data reverse After processing, it is sent to the inner code decoder for decoding.
  • the data stream is sent to the convolutional deinterleaving and demultiplexing processor to obtain n channel data streams, and then sent to the PMA sublayer.
  • the PMA sublayer processes the data stream and sends it to the receiving device for external code decoding.
  • the convolutional de-interleaving and de-muxing processing in the receiving end processing module is the inverse operation of the convolutional interleaving and multiplexing processing in the sending end processing module.
  • the convolution deinterleaving is the inverse operation of the convolution interleaving in the sending end processing module
  • the demultiplexing is the inverse operation of the multiplexing in the sending end processing module.
  • the convolutional deinterleaving and demultiplexing processing of the receiving end processing module is the inverse operation of the convolutional interleaving and multiplexing processing in the sending end processing module shown in Figure 3 (a) and Figure 3 (b), as known by those of ordinary skill in the art, I won't repeat them here.
  • Fig. 4(b) is a schematic diagram of the second data processing for the receiving end processing module in the embodiment of the present application.
  • the receiving end processing module receives the data stream from the channel transmission medium.
  • the receiving end processing module first performs corresponding data reverse send after processing Inner code decoder for decoding.
  • the data stream after the decoding of the inner code is sent to the depacket interleaving and deconvolution interleaving processors to obtain n channel data streams, and then sent to the PMA sublayer.
  • the PMA sublayer processes the data stream and sends it to the receiving device for external code decoding.
  • the depacket interleaving and deconvolution interleaving processes in the receiving end processing module are inverse operations of the packet interleaving and convolution interleaving processes in the transmitting end processing module as shown in FIG. 3( f ).
  • the deconvolution and interleaving is an inverse operation of the convolutional interleaving in the sending-end processing module
  • the de-packet interleaving is the inverse operation of the packet interleaving in the sending-end processing module.
  • FIG. 4(c) is a schematic diagram of the third data processing for the receiving end processing module in the embodiment of the present application.
  • the receiving end processing module receives the data stream from the channel transmission medium.
  • modulation mapping mapping
  • channel interleaving channel interleaving
  • polarization division Polarization division
  • DSP framing processing Framing
  • the data stream is sent to de-second packet interleaving, deconvolution interleaving and de-first packet interleaving to obtain n channel data streams, and then sent to the PMA sublayer.
  • the PMA sublayer processes the data stream and sends it to the receiving device for external code decoding.
  • the first packet interleaving, deconvolution interleaving, and second packet interleaving in the receiving end processing module are respectively the first packet interleaving, convolutional interleaving, and second packet interleaving in the sending end processing module as shown in Figure 3 (g). inverse operation.
  • the processing of the first packet interleaving, convolutional interleaving and second packet interleaving in the sending end processing module will be described in detail below.
  • de-first packet interleaving, convolution de-interleaving, and de-second packet interleaving of the receiving end processing module are the inverse operations of the first packet interleaving, convolutional interleaving, and second packet interleaving in the sending end processing module, as known by those skilled in the art, I won't repeat them here.
  • FIG. 5 is a schematic diagram of data streams of 32 PCS channels using a 1 ⁇ 800G interface on the originating device.
  • the originating device performs KP4 RS (544,514) extracode encoding on one 800GbE service data stream to be transmitted to obtain 32 PCS lane (PCS lane) data streams.
  • PCS lane PCS lane
  • the two adjacent symbols in each PCS channel data stream come from different RS code words, and the two adjacent symbols in the same position of the two PCS channel data streams come from different RS code words.
  • the two adjacent symbols in each PCS channel data stream come from different RS code words, and the two adjacent symbols in the same position of the two PCS channel data streams come from different RS code words.
  • the 32 PCS channel data streams are processed by the PMA and sent to the sender processing module through the connection unit interface 800GAUI-8.
  • the originating processing module uses the known alignment marker of the PCS channel to perform alignment lock on the channel data stream.
  • the known alignment identifiers of the 32 channels are different (see “Ethernet Technology Consortium 800G Specification").
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 5 .
  • FIG. 6 is a schematic diagram of data streams of 32 PCS channels using a 2 ⁇ 400G interface on the originating device.
  • the originating device performs KP4 RS(544,514) extracode encoding on the two 400GbE service data streams to be transmitted to obtain two data streams with a total of 32 PCS channels, each of which includes 16 PCS channel data streams.
  • the two adjacent symbols in each PCS channel data stream come from different RS code words, and the two adjacent symbols in the same position of the two PCS channel data streams come from different RS code words.
  • the 32 PCS channel data streams are processed by the PMA and sent to the sender processing module through the connection unit interface 2 ⁇ 400GAUI-4.
  • the originating processing module uses the known alignment marker (Alignment marker) of PCS lanes 0-15 or PCS lanes 16-31 to identify the data streams of 16 channels lock (alignment lock).
  • PCS lanes 0-15 can be regarded as PCS lanes 0-15 in the 0th 400G line
  • PCS lanes 16-31 can be regarded as PCS lanes 0-15 in the first 400G line.
  • the known alignment identifiers of the 16 channels in the 0th 400G channel are the same as the known alignment identifiers of the 16 channels in the 1st channel.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams. Then, according to the alignment marks of PCS lanes 0-15 or PCS lanes 16-31, lane reordering (lane reorder) is performed on the data of the 16 lanes, so that the data of the 16 lanes can be arranged in a specified order. Finally, the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 6 .
  • FIG. 7 is a schematic diagram of data streams of 32 PCS channels using a 4 ⁇ 200G interface on the originating device.
  • the originating device performs KP4 RS (544,514) extracode encoding on the 4 channels of 200GbE service data streams to be transmitted to obtain 4 channels with a total of 32 PCS channel data streams, each of which includes 8 PCS channel data streams.
  • KP4 RS 544,514
  • Each data stream in PCS channel data stream 0-7, PCS channel data stream 8-15, PCS channel data stream 16-23 or PCS channel data stream 24-31 interval 136 symbols total 8*136 1088 symbols, its Contains 2 RS code words.
  • the two adjacent symbols in each PCS channel data stream come from different RS code words, and the two adjacent symbols in the same position of the two PCS channel data streams come from different RS code words.
  • the 32 PCS channel data streams are processed by the PMA and sent to the sender processing module through the connection unit interface 4 ⁇ 200GAUI-2.
  • PCS channels 0-7, PCS channels 8-15, PCS channels 16-23 or PCS channels 24-31 can be considered as PCS channels 0-1 in the 0th, 1st, 2nd or 3rd 200G channels respectively. 7.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams.
  • lane reordering (lane reorder) is performed on the data of the 8 lanes, so that the data of the 8 lanes can be arranged in a specified order.
  • the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 7 .
  • FIG. 8 is a schematic diagram of data streams of 32 FEC channels on an originating device using an 8 ⁇ 100G interface.
  • the originating device performs KP4 RS (544,514) extracode encoding on the 8 channels of 100GbE service data streams to be transmitted to obtain 8 channels with a total of 32 FEC lane (FEC lane) data streams, each of which includes 4 FEC lanes data flow.
  • KP4 RS 544,514
  • the two adjacent symbols in each FEC channel data stream come from different RS codewords, and the two symbols at the same position in two adjacent FEC channel data streams come from different RS codewords.
  • 32 FEC channel data After being processed by PMA, the flow is sent to the sending end processing module through the connection unit interface 8 ⁇ 100GAUI-1.
  • FIG. 9 is another schematic diagram of data streams of 32 FEC channels on an originating device using an 8 ⁇ 100G interface.
  • the originating device in this scenario adopts the "100G RS-FEC" mode, FEC channel data streams 0-3, FEC channel data streams 4-7, FEC channel data streams 8- 11.
  • the 32 FEC channel data streams are processed by the PMA and sent to the sender processing module through the connection unit interface 8 ⁇ 100GAUI-1.
  • the sending end processing module uses FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, FEC channels 16- 19. Alignment markers known to FEC channels 20-23, FEC channels 24-27, or FEC channels 28-31 perform alignment locks on the four channel data streams.
  • FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, FEC channels 16-19, FEC channels 20-23, FEC channels 24-27 or FEC channels 28-31 can be respectively It is considered as the FEC channel 0-3 in the 0th, 1st, 2nd, 3rd, 4th, 5th, 6th or 7th 100G channels.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams. Then according to the The alignment flag performs lane reordering on the data of the 4 lanes, so that the data of the 4 lanes can be arranged in the specified order. Finally, the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Fig. 8 and Fig. 9 .
  • FIG. 10 is a schematic flowchart of a data processing method provided in an embodiment of the present application.
  • the channel data stream may be a PCS channel data stream or an FEC channel data stream, which is not specifically limited here.
  • the data streams of the n channels are the data streams encoded by the first FEC, that is, the data streams encoded by the outer code introduced above, where n is an integer greater than 1.
  • the outer code encoding may use an RS code, and the n data streams encoded by the outer code may include multiple RS code words.
  • other encoding methods can also be used for outer code encoding.
  • the RS code word is used to represent the code word generated after the outer code encoding.
  • each a codeword encoded by the outer code is distributed in b channel data streams, where a ⁇ b ⁇ n, n can be divisible by b, and a is an integer greater than or equal to 1.
  • the values of a and b in several other application scenarios in Fig. 6-Fig. 9 can be derived from the attached drawings, and will not be repeated here.
  • the value of the code length of the outer code in this application is counted in units of symbols, where a symbol may include one or more bits.
  • a>1 it means that the a codewords encoded by the outer code at the originating device 01 are interleaved first, and then distributed in b channel data streams.
  • FIG. 11 is a schematic structural diagram of performing convolutional interleaving on n channel data streams in an embodiment of the present application.
  • n channel data streams can be convolutionally interleaved through n convolutional interleavers, and each channel data stream can be convolutionally interleaved to obtain a first data stream whose data sequence is disrupted.
  • each convolutional interleaver performs convolutional interleaving on the input channel data stream in a similar manner.
  • each convolutional interleaver includes p delay lines, and each convolutional interleaver delays the input channel data streams according to the p delay lines to obtain the first data stream.
  • p is an integer greater than 1
  • 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 between the number of storage units of every two adjacent delay lines is Q.
  • the symbols in each channel data stream are sequentially input to p delay lines according to the sequence numbers of p delay lines.
  • Each delay line inputs d symbols at a time and outputs d symbols at a time.
  • the d symbols include the d symbols output by each delay line.
  • Q is an integer greater than or equal to 1
  • d is an integer greater than or equal to 1.
  • p delay lines respectively include 0 storage units, Q storage units, 2Q storage units, ..., (p-1)Q storage units, and each storage unit is used to store d symbols
  • p The delay lines respectively correspond to p delay values, and the delay values include 0 symbols, Q ⁇ d symbols, 2Q ⁇ d symbols, . . . , (p ⁇ 1)Q ⁇ d symbols.
  • the delay value is counted in units of symbols, where a symbol may include one or more bits. The greater the number of symbols included in the delay value of the delay line, the longer the delay (also referred to as time delay) of the delay line to the data stream.
  • the delay of the delay line is 0 symbols, that is, transparent transmission without delay.
  • Fig. 12(a) is a schematic diagram of the first structure of the convolutional interleaver in the embodiment of the present application.
  • the number of storage units in the p delay lines decreases sequentially according to the serial numbers of the p delay lines. That is, the delay line 0 has (p-1) Q storage units, and each delay line sequentially reduces Q storage units, and the delay line p-1 has 0 storage units.
  • Fig. 12(b) is a schematic diagram of the second structure of the convolutional interleaver in the embodiment of the present application.
  • the number of storage units in the p delay lines increases sequentially according to the serial numbers of the p delay lines. That is, the delay line 0 has 0 storage units, each delay line has Q storage units sequentially added, and the delay line p ⁇ 1 has (p ⁇ 1)Q storage units.
  • the input and output switches of the convolutional interleaver are located on the same delay line, and the switch is switched after the current delay line inputs d symbols and outputs d symbols at a time to the next delay line above, to ensure that the symbols in the data stream of each channel are sequentially input to the p delay lines according to the sequence numbers of the p delay lines, and the consecutive p*d symbols in the first data stream include the d symbols output by each delay line .
  • the specific data reading and writing operations are as follows: d symbols are read from the storage unit closest to the output port of the current delay line. The d symbols stored in each storage unit in the current delay line are transferred to the next storage unit.
  • the parameters of the convolutional interleaver should satisfy d(p*Q+1) ⁇ a*N/b, N is the length of the codeword, so that the continuous p*d symbols in the first data stream output by the convolutional interleaver come from p*d different outer codewords, where d ⁇ a.
  • the parameters of the convolutional interleaver should satisfy d(p*Q-1) ⁇ a*N/b, N is the length of the codeword, so that the continuous p*d symbols in the first data stream output by the convolutional interleaver come from p*d different outer codewords, where d ⁇ a.
  • the convolutional interleaving process in FIG. 12( a ) and the convolutional interleaving process in FIG. 12( b ) are inverse operations of each other. That is to say, when the transmission-end processing module adopts the convolutional interleaving structure shown in FIG. 12( a ), the convolutional de-interleaving corresponding to the receiving-end processing module adopts the structure shown in FIG. 12( b ). Similarly, when the transmission processing module adopts the convolutional interleaving structure shown in Figure 12(b), the convolutional deinterleaving corresponding to the receiving processing module adopts the structure shown in Figure 12(a).
  • any convolutional interleaver among the n convolutional interleavers may adopt one of the aforementioned Fig. 12(a) or Fig. 12(b).
  • n convolutional interleavers can all adopt the structure shown in Figure 12(a); or, n convolutional interleavers can also all adopt the structure shown in Figure 12(b); or, also Part of the convolutional interleaver may adopt the structure shown in FIG. 12( a ), and the remaining convolutional interleaver may adopt the structure shown in FIG. 12( b ).
  • n 32 as an example, the value of p may be 2, 3, 4, 6 or 8, and the value of d may be 1 or 2.
  • channel reordering may also be performed on the n channel data streams, so that the n channel data streams are arranged according to the predetermined Arrange in order.
  • the 32 data streams can be arranged from top to bottom according to the order of 0 to 31. Of course, it can be simply extended to other orders.
  • the specific implementation method is known to those of ordinary skill in the art, and will not be repeated here. .
  • channel data alignment processing may also be performed on the n channel data streams.
  • the lane data alignment processing may be lane de-skew processing (lane de-skew) defined by existing standards, so that the data of the output n lane data streams are completely aligned.
  • the above-mentioned "channel data alignment processing" may only be channel symbol alignment, so that the data on the n channel data streams output by it is based on outer code symbol alignment, specifically, it may be based on an outer code symbol alignment, or it may be based on Alignment of multiple foreign code symbols.
  • FIG. 13 is a schematic structural diagram of multiplexing n first data streams in the embodiment of the present application.
  • m multiplexers may be used for multiplexing processing. Specifically, every K first data streams among the n first data streams are input to a multiplexer, and the multiplexer outputs one second data stream.
  • the embodiment of the present application takes an integer n divisible by K as an example for description.
  • the n first data streams include G first data stream subsets, G is an integer greater than 1, and symbols in different first data stream subsets come from different codewords.
  • K ⁇ G one first data stream is respectively selected from any K first data stream subsets, that is, the K first data streams input by a multiplexer are respectively from the K first data streams A subset of data streams.
  • K may be 2, 4 or 8.
  • first data stream subset is only a concept introduced for the convenience of description. In practical applications, there is no division of n first data streams as a whole, and each first data stream subset can be regarded as n One or more data streams in the first data streams.
  • the K first data streams input by the multiplexer are collectively recorded as multiplexed input data stream 0, multiplexed input data stream 1, multiplexed input data stream 2, ..., and multiplexed input Data Flow K-1.
  • FIG. 14 is a schematic diagram of the first structure of the multiplexer in the embodiment of the present application.
  • Represents the continuous ⁇ symbols in the multiplexed input data stream j, and these ⁇ symbols come from ⁇ different outer code words, where 0 ⁇ j ⁇ K-1, if K ⁇ G, ⁇ is a divisor of z; If K>G, ⁇ z.
  • the second data stream output by the multiplexer includes multiple second data stream symbol subsets, each second data stream symbol subset includes K groups of symbols, and each group of symbols includes ⁇ symbols.
  • two adjacent groups of symbols in each second data stream symbol subset come from different first data stream subsets.
  • the jth group of symbols in the symbol subset of the second data stream comes from the jth multiplexed input data stream among the K multiplexed input data streams, where 0 ⁇ j ⁇ K-1.
  • K>G two adjacent multiplexed input data streams among the K multiplexed input data streams come from different first data stream subsets.
  • each consecutive G multiplexed input data streams come from a different subset of the first data streams.
  • each second data stream symbol subset is only a concept introduced for the convenience of description. In practical applications, the symbols in the second data stream are integrated and there is no division, and each second data stream symbol subset can be as a number of symbols in the second data stream.
  • the multiplexed input data stream 0 and the multiplexed input data stream 1 are from different first data stream subsets.
  • the multiplexed input data stream 1 and the multiplexed input data stream 2 are from different first data stream subsets, and so on. In this way, every continuous 2*z symbols in the multiplexed second data stream come from 2*z different outer code words.
  • each consecutive G multiplexed input data streams come from different first data stream subsets, specifically multiplexed input data stream 0 to multiplexed input data stream G-1 come from different The first data stream subset, the multiplexed input data stream G and the multiplexed input data stream 2*G-1 are from different first data stream subsets, and so on. In this way, every consecutive G*z symbols in the multiplexed second data come from G*z different outer code words.
  • the multiplexer outputs the data in the K input data streams to a second data stream in a polling manner in units of ⁇ symbols, that is, sequentially from the multiplexed input data stream 0 to the multiplexed
  • Each input data stream K-1 outputs ⁇ symbols to generate a second data stream
  • the data sequence corresponding to the second data stream is
  • K ⁇ G the K first data streams selected from the first data stream subset can correspond to the multiplexed input data stream 0 to the multiplexed input data stream K-1 of the multiplexer in any order
  • is The divisor of z, after multiplexing and outputting, any consecutive K*z symbols in the second data stream come from different outer code words.
  • the K first data streams selected from the first data stream subset must correspond to the multiplexed input data stream 0 to the multiplexed input data stream K ⁇ 1 of the multiplexer according to certain rules.
  • the specific rule is that every G consecutive multiplexed input data streams of the multiplexer come from different first data stream subsets.
  • a specific way is to multiplex the input data stream i*G to the multiplexed input data stream i*G+G-1 respectively from the first data stream subset 0 to the first data stream subset G-1, where 0 ⁇ i ⁇ K/G. In this way, every consecutive G*z symbols in the second data stream output by the multiplexer come from different outer code words.
  • FIG. 15 is a schematic structural diagram of performing FEC encoding on m second data streams in the embodiment of the present application.
  • the m second data streams are respectively subjected to the second FEC encoding, that is, the inner code encoding mentioned above, and the information bit length of the inner code encoding is less than or equal to y RS symbols.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (framing), etc.
  • the inner code coded data stream can be transmitted after interleaving to improve the system's ability to resist burst errors.
  • the n-way channel data streams are all code word streams encoded by the outer code, and the n-way data streams are respectively Perform convolutional interleaving processing, and perform data stream multiplexing on n channels of data streams after convolutional interleaving into m channels of second data streams, and then perform inner code encoding.
  • the m-channel data streams after the multiplexing processing can be realized through a short time delay.
  • the multiple symbols output continuously come from multiple different outer code words, so that the
  • the joint FEC scheme also helps to reduce the delay of data interleaving on the basis of ensuring better performance. That is to say, the scheme of combining convolutional interleaving processing and data multiplexing in this application makes the overall delay of the cascaded FEC scheme lower, and is more suitable for application scenarios requiring low delay.
  • Embodiment 1 Applied to the scene of 1 ⁇ 800G interface, the length of inner code encoding information bit is 120 bits, using 2:1, 4:1, 8:1 multiplexers, and adopting channel deviation correction processing.
  • the originating processing module uses the known alignment marker of the PCS channel to perform alignment lock on the channel data stream.
  • the known alignment identifiers of the 32 channels are different (see “Ethernet Technology Consortium 800G Specification").
  • the sending-end processing module then performs lane de-skew processing on the 32-channel data streams to obtain 32 fully-aligned data streams.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 5 .
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (framing), etc.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r (.) as shown in FIG. 16( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (6t), C r (6t+1) represents the two RS symbols currently input to delay line 0 in channel data stream r and C r (6t-12Q), C r (6t-12Q+1) are the two RS symbols output by delay line 0;
  • C r (6t+2), C r (6t+3) represent the next two RS symbols input to delay line 1 in the channel data stream and C r (6t-6Q +2), C r (6t-6Q+3) is the two RS symbols output by delay line 1;
  • C r (6t+4), C r (6t+5) indicates that the channel data stream is then input to the delay
  • the two RS symbols of line 2 and C r (6t+4), C r (6t+5) are the two RS symbols output by delay line 2;
  • C r (6t+6), C r (6t+7) represent In the
  • Fig. 16(b) is a schematic diagram of a fourth structure of the convolutional interleaver in the embodiment of the present application.
  • the convolutional interleaver shown in FIG. 16( b ) is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams. Referring to the PCS channel data stream shown in FIG.
  • the first data streams 0-15 are the first data stream subset
  • the first data streams 16-31 are the first data stream subset 1 .
  • Fig. 17(a) is a schematic diagram of the second structure of the multiplexer in the embodiment of the present application.
  • the two input data streams of the 2:1 multiplexer i (0 ⁇ i ⁇ 15) are the first data stream i and the first data stream i+16 respectively.
  • Two first data streams are randomly selected from the first data stream subset 0 and the first data stream subset 1 as inputs to the 4:1 multiplexer.
  • Fig. 17(b) is a schematic diagram of the third structure of the multiplexer in the embodiment of the present application.
  • the 4:1 multiplexer i (0 ⁇ i ⁇ 7) multiplexes input data stream 0, multiplexes input data stream 1, multiplexes input data stream 2, multiplexes input data stream 3 respectively correspond to the first data stream i, the first data stream i+16, the first data stream i+8, and the first data stream i+24, that is, any two consecutive multiplexed input data streams of the multiplexer come from different The first data stream subset of .
  • the 4:1 multiplexer outputs the data in the 4 input data streams to the output data stream in polling mode in units of 6 RS symbols, that is, the output data sequence is The 12 consecutive RS symbols in the output data stream come from 12 different RS codewords.
  • Four first data streams are randomly selected from the first data stream subset 0 and the first data stream subset 1 as inputs to the 8:1 multiplexer.
  • Fig. 17(c) is a schematic diagram of the fourth structure of the multiplexer in the embodiment of the present application.
  • the multiplexed input data streams 0 to 7 of the 8:1 multiplexer i (0 ⁇ i ⁇ 3) correspond to the first data stream i, the first data stream i+16, and the first data stream i+16 respectively.
  • the first data stream i+28 that is, any two consecutive multiplexed input data streams of the multiplexer come from different first data stream subsets.
  • the multiplexed input data streams 0 to 7 of the 8:1 multiplexer i can also correspond to the first data stream i, the first data stream i+16, and the first data stream Stream i+4, first data stream i+20, first data stream i+8, first data stream i+24, first data stream i+12, first data stream i+28, namely the multiplexer
  • the 8:1 multiplexer outputs the data in the 8 input data streams to the output data stream in polling mode in units of 6 RS symbols, that is, the output data sequence is The 12 consecutive RS symbols in the output data stream come from 12 different RS codewords.
  • the above-mentioned 16, 8 or 4 second data streams are respectively subjected to inner code encoding, wherein the length of inner code encoding information bits is 120 bits.
  • the inner code encoder respectively adds redundancy to a total of 120 bits of 12 consecutive RS symbols in each second data stream to obtain an inner code word data stream.
  • Hamming (128, 120) is used for inner code encoding, and a total of 120 bits of 12 consecutive RS symbols in each second data stream are respectively added with 8-bit redundancy to obtain a 128-bit codeword.
  • BCH (136, 120) is used for inner code encoding, and a total of 120 bits of 12 consecutive RS symbols in each second data stream are respectively added with 16-bit redundancy to obtain a 136-bit codeword.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (framing), etc.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • Embodiment 2 Applied to the scene of 1 ⁇ 800G interface, the length of inner code encoding information bit is 120 bits, multiplexers of 2:1, 4:1, and 8:1 are used, and channel symbols are aligned.
  • embodiment 2 is based on the 32 channel data streams aligned based on the alignment of 2 RS symbols.
  • the originating processing module uses the known alignment marker of the PCS channel to perform alignment lock on the channel data stream.
  • the sending end processing module uses the 32 channel data streams aligned based on the 2 RS symbol alignment for the 32 channel data streams. Then perform lane reorder processing on the data of the 32 channels according to the alignment identifier, so that the data of the 32 channels can be arranged in a specified order.
  • One sorting order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 3(a).
  • Another sorting order is to make the first 16 channel data streams from top to bottom of the 32 channels output by the "channel reordering" include PCS channel data streams 0-15, and the last 16 channels include PCS channel data streams 16-31. It should be understood that at this time, the specific order of the first 16 channel data streams is not limited, and the specific order of the last 16 channel data streams is also not limited. That is to say, channel data stream i in Fig. 3(a) does not necessarily correspond to PCS channel data stream i.
  • the 32 channel data streams after channel reordering are sent to the designed processor including convolution interleaving and multiplexing for interleaving Scramble the data sequence and send it to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission. It should be understood that the convolutional interleaving, multiplexing, and inner code encoding schemes adopted in this embodiment all adopt the scheme in Embodiment 1.
  • Embodiment 3 Applied to the scene of 1 ⁇ 800G interface, the length of inner code encoding information bit is 160 bits, 2:1, 4:1, 8:1 multiplexers are used, and channel deviation processing is adopted.
  • this embodiment considers an inner code with a code length of 160 bits, and adopts a newly designed convolutional interleaver accordingly.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r (.) as shown in FIG. 18(a) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (8t), C r (8t+1) represents the two RS symbols currently input to delay line 0 in channel data stream r and C r (8t-24Q), C r (8t-24Q+1 is The two RS symbols output by delay line 0; C r (8t+2), C r (8t+3) represent the next two RS symbols input to delay line 1 in the channel data stream and C r (8t-16Q+ 2), C r (8t-16Q+3) is the two RS symbols output by delay line 1; C r (8t+4), C r (8t+5) indicates that the channel data stream is then input to the delay line 2 and C r (8t-8Q+4), C r (8t-8Q+5) are the two RS symbols output by delay line 2; C r (8t+6), C r (8t+ 7) Indicates the two RS symbols that are then input to the delay
  • Fig. 18(b) is a schematic diagram of a sixth structure of the convolutional interleaver in the embodiment of the present application.
  • the convolutional interleaver shown in FIG. 18( b ) is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams. Referring to the PCS channel data stream shown in FIG.
  • the first data streams 0-15 are the first data stream subset
  • the first data streams 16-31 are the first data stream subset 1 .
  • the first data stream subset 0 8 output symbols of any data stream r_0 C r_0 (8t-24Q), C r_0 (8t-24Q+1), C r_0 (8t-16Q+2), C r_0 (8t-16Q+3), C r_0 (8t-8Q+4), C r_0 (8t-8Q+5), C r_0 (8t+6), C r_0 (8t+7), and any data stream r_1 in the first data stream subset 1 8 output symbols C r_1 (8t-24Q), C r_1 (8t-24Q+1), C r_1 (8t-16Q+2), C r_1 (8t-16Q+3), C r1 (8t-8Q+4 ), C r_1 (8t-8Q+5), C r_1 (8t+6), C r_1 (8t+7), a total of 16 RS symbols come from 16 different RS codewords.
  • a specific implementation of the corresponding 2:1 multiplexer is shown in Figure 17(a).
  • the two input data streams of the 2:1 multiplexer i (0 ⁇ i ⁇ 15) are the first data stream i and First data stream i+16.
  • the 2:1 multiplexer outputs the data in the two input data streams to the output data stream in polling mode in units of 8 RS symbols, that is, the output data sequence is
  • a specific implementation of the corresponding 4:1 multiplexer is shown in 17(b).
  • the 4:1 multiplexer i (0 ⁇ i ⁇ 7) multiplexes input data stream 0 and multiplexes input data stream 1,
  • the multiplexed input data stream 2 and the multiplexed input data stream 3 respectively correspond to the first data stream i, the first data stream i+16, the first data stream i+8, and the first data stream i+24, namely the multiplexer Any two consecutive pieces of multiplexed input data are from different first data symbol subsets.
  • Indicates ⁇ 8 consecutive RS symbols in the multiplexed input data stream j (0 ⁇ j ⁇ 3) of the 4:1 multiplexer, which come from 8 different outer code RS codewords.
  • the 4:1 multiplexer outputs the data in the 4 input data streams to the output data stream in polling mode in units of 8 RS symbols, that is, the output data sequence is
  • the 16 consecutive RS symbols in the output data stream come from 16 different RS codewords.
  • Four first data streams are randomly selected from the first data stream subset 0 and the first data stream subset 1 respectively as the input of the 8:1 multiplexer.
  • the multiplexed input data streams 0 to 7 of the 8:1 multiplexer i (0 ⁇ i ⁇ 3) correspond to the first data stream i, the first data stream i+16, and the first data stream Stream i+4, first data stream i+20, first data stream i+8, first data stream i+24, first data stream i+12, first data stream i+28.
  • Indicates ⁇ 8 consecutive RS symbols in the multiplexed input data stream j (0 ⁇ j ⁇ 7) of the 8:1 multiplexer, which come from 8 different outer code RS codewords.
  • the 8:1 multiplexer outputs the data in the 8 input data streams to the output data stream in polling mode in units of 8 RS symbols, that is, the output data sequence is The 16 consecutive RS symbols in the output data stream come from 16 different RS codewords.
  • the above-mentioned 16, 8 or 4 second data streams are respectively subjected to inner code encoding, wherein the bit length of the inner code encoding information is 160 bits.
  • the inner code encoder respectively adds redundancy to a total of 160 bits of 16 consecutive RS symbols in the second data stream to obtain an inner code word data stream.
  • Hamming (170, 160) is used for inner code encoding, respectively A total of 160 bits of 16 consecutive RS symbols in each second data stream are added with 10-bit redundancy to obtain a 170-bit codeword.
  • BCH (176, 160) is used for inner code encoding, and a total of 160 bits of 16 consecutive RS symbols in each second data stream are respectively added with 16-bit redundancy to obtain a 176-bit codeword. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Embodiment 4 Applied to the scene of 1 ⁇ 800G interface, the length of inner code encoding information bit is 160 bits, multiplexers of 2:1, 4:1, and 8:1 are used, and channel symbols are aligned.
  • embodiment 4 is based on the 32-channel data streams aligned based on the alignment of 2 RS symbols.
  • the originating processing module uses the known alignment marker of the PCS channel to perform alignment lock on the channel data stream.
  • the sending end processing module uses the 32 channel data streams aligned based on the 2 RS symbol alignment for the 32 channel data streams. Then perform lane reorder processing on the data of the 32 channels according to the alignment identifier, so that the data of the 32 channels can be arranged in a specified order.
  • One sorting order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 3(a).
  • Another sorting order is to make the first 16 channel data streams from top to bottom of the 32 channels output by the "channel reordering" include PCS channel data streams 0-15, and the last 16 channels include PCS channel data streams 16-31. It should be understood that at this time, the specific order of the first 16 channel data streams is not limited, and the specific order of the last 16 channel data streams is also not limited. That is, channel data stream i in FIG. 3( a ) does not necessarily correspond to PCS channel data stream i.
  • the 32 channel data streams after channel reordering are sent to the designed processor including convolutional interleaving and multiplexing for interleaving and data sequence processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • the convolutional interleaving, multiplexing, and inner code encoding schemes adopted in this embodiment all adopt the scheme in Embodiment 3.
  • Embodiment 5 Applied to the scene of 2 ⁇ 400G interface, the length of the inner code encoding information bit is 120 or 160 bits, using 2:1, 4:1, 8:1 multiplexers, and adopting channel deviation correction processing.
  • this embodiment considers that the client-side interface is 2 ⁇ 400G with 100Gb/s per channel. For details of the interface, see "IEEE Std 802.3ckTM/D3.0".
  • the alignment lock for the stream based on the data processing schematic diagram of the originating processing module shown in FIG.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams.
  • lane reordering (lane reorder) is performed on the data of the 16 lanes, so that the data of the 16 lanes can be arranged in a specified order.
  • the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 6 .
  • the 32 channel data streams after channel reordering are sent to the designed processor including convolutional interleaving and multiplexing for interleaving and data sequence processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Embodiment 6 Applied to the scene of 2 ⁇ 400G interface, the length of inner code encoding information bit is 120 or 160 bits, using 2:1, 4:1, 8:1 multiplexer, adopting channel symbol alignment, and not performing channel Reorder.
  • embodiment 6 provides an implementation solution with lower delay.
  • the alignment lock for the stream based on the data processing schematic diagram of the originating processing module shown in FIG.
  • the sending end processing module then performs alignment on the 32 channel data streams based on 2 RS symbols to obtain aligned 32 channel data streams. Then the 32 aligned channel data streams are directly sent to the designed processor including convolutional interleaving and multiplexing for interleaving and data sequence processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • the processor including convolutional interleaving and multiplexing used in Embodiment 6, and the inner code encoding are the same as the scheme in Embodiment 2, the performance of the concatenated FEC scheme and The time delay is the same as that in Embodiment 2.
  • Embodiment 7 Applied to the scene of 4 ⁇ 200G interface, the inner code encoding information bit length is 120 or 160 bits, adopts 4:1, 8:1 multiplexer, adopts channel deviation correction processing.
  • the client-side interface is considered to be 4 ⁇ 200G with 100Gb/s per channel, and the details of the interface are shown in "IEEE Std802.3ckTM/D3.0".
  • the sending-end processing module utilizes the known alignment marks ( Alignment marker) performs identification lock (alignment lock) of 8 channel data streams.
  • Alignment marker identifies identification lock of 8 channel data streams.
  • PCS channels 0-7, PCS channels 8-15, PCS channels 16-23 or PCS channels 24-31 can be considered as PCS channels 0-1 in the 0th, 1st, 2nd or 3rd 200G channels respectively. 7.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams.
  • lane reordering (lane reorder) is performed on the data of the 8 lanes, so that the data of the 8 lanes can be arranged in a specified order.
  • the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 7 .
  • the 32 channel data streams after channel reordering are sent to the designed processor including convolutional interleaving and multiplexing for interleaving and data sequence processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 19(a) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (4t), C r (4t+1) represents the two RS symbols currently input to delay line 0 in the channel data stream and C r (4t-4Q), C r (4t-4Q+1) is The two RS symbols output by delay line 0;
  • C r (4t+2), C r (4t+3) represents the next two RS symbols input to delay line 1 in the channel data stream and C r (4t+2) , C r (4t+3) are the two RS symbols output by delay line 1;
  • Fig. 19(b) is a schematic diagram of an eighth structure of the convolutional interleaver in the embodiment of the present application.
  • the convolutional interleaver shown in FIG. 19( b ) is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • the first data streams 0-7 are the first data stream subset
  • the first data streams 8-15 are the first data stream subset 1
  • the first data stream 16-23 is the first data stream subset 2
  • the first data stream 24-31 is First Data Stream Subset 3 .
  • the first data stream is multiplexed to obtain one second data stream, and a total of eight second data streams are generated.
  • One first data stream is randomly selected from the first data stream subset 0, the first data stream subset 1, the first data stream subset 2 and the first data stream subset 3 as the input of the 4:1 multiplexer .
  • the 4:1 multiplexer i (0 ⁇ i ⁇ 7) multiplexes input data stream 0 and multiplexes input data stream 1 , the multiplexed input data stream 2, and the multiplexed input data stream 3 respectively correspond to the first data stream i, the first data stream i+16, the first data stream i+8, and the first data stream i+24.
  • the multiplexed input data stream 0, the multiplexed input data stream 1, the multiplexed input data stream 2, and the multiplexed input data stream 3 of the 4:1 multiplexer i can also be Corresponding to the first data stream i, the first data stream i+8, the first data stream i+16, and the first data stream i+24, respectively.
  • the 4:1 multiplexer outputs the data in the 4 input data streams to the output data stream in polling mode in units of 4 RS symbols, that is, the output data sequence
  • the 16 consecutive RS symbols in the output data stream come from 16 different RS codewords.
  • the first data streams are multiplexed to obtain one second data stream, and a total of four second data streams are generated.
  • Two first data streams are randomly selected from the first data stream subset 0, the first data stream subset 1, the first data stream subset 2 and the first data stream subset 3 as the input of the 8:1 multiplexer .
  • FIG. 17(c) A specific implementation of the corresponding 8:1 multiplexer is shown in Figure 17(c).
  • the multiplexed input data streams 0 to 7 of the 8:1 multiplexer i (0 ⁇ i ⁇ 3) correspond to the first Data stream i, first data stream i+16, first data stream i+8, first data stream i+24, first data stream i+4, first data stream i+20, first data stream i+ 12.
  • the first data stream i+28, which makes any consecutive Q 4 multiplexed input data streams of the multiplexer come from different first data stream subsets.
  • the multiplexed input data streams 0 to 7 of the 8:1 multiplexer i can also correspond to the first data stream i, the first data stream i+8, and the first data stream Stream i+16, first data stream i+24, first data stream i+4, first data stream i+12, first data stream i+20, first data stream i+28.
  • Indicates the continuous ⁇ 4 RS symbols in the multiplexed input data stream j (0 ⁇ j ⁇ 7) of the 8:1 multiplexer, which come from 4 different outer code RS codewords.
  • the 8:1 multiplexer outputs the data in the 8 input data streams to the output data stream in polling mode in units of 4 RS symbols, that is, the output data sequence is The 16 consecutive RS symbols in the output data stream come from 16 different RS codewords.
  • the above-mentioned 8 or 4 second data streams carry out inner code encoding respectively, and its inner code encoding scheme can adopt the encoding scheme that embodiment 1 provides, obtains the performance equivalent to embodiment 1; Also can adopt the encoding that embodiment 3 provides Scheme, obtains the performance equivalent to embodiment 3, repeats no more here.
  • Embodiment 8 Applied to the scene of 4 ⁇ 200G interface, the inner code encoding information bit length is 120 bits, adopting 2:1 Multiplexer, using channel correction processing.
  • this embodiment considers the use of a 2:1 multiplexer, and correspondingly adopts a newly designed convolutional interleaver.
  • the originating processing module utilizes the known Alignment marker (Alignment marker) performs identification lock (alignment lock) of 8 channel data streams.
  • Alignment marker Alignment marker
  • PCS channels 0-7, PCS channels 8-15, PCS channels 16-23 or PCS channels 24-31 can be considered as PCS channels 0-1 in the 0th, 1st, 2nd or 3rd 200G channels respectively. 7.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams.
  • lane reordering (lane reorder) is performed on the data of the 8 lanes, so that the data of the 8 lanes can be arranged in a specified order.
  • the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 7 .
  • the 32 channel data streams after channel reordering are sent to the designed processor including convolutional interleaving and multiplexing for interleaving and data sequence processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 16( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (6t), C r (6t+1) represents the two RS symbols currently input to the delay line 0 in the channel data stream and C r (6t-12Q), C r (6t-12Q+1) is the delay
  • the two RS symbols output by line 0; C r (6t+2), C r (6t+3) represents the next two RS symbols input to delay line 1 in the channel data stream and C r (6t-6Q+2 ), C r (6t-6Q+3) is the two RS symbols output by delay line 1;
  • C r (6t+4), C r (6t+5) indicates that the channel data stream is then input to delay line 2 and C r (6t+4), C r (6t+5) are the two RS symbols output by delay line 2;
  • C r (6t+6), C r (6t+7) represent channel data In the stream, there are two
  • the convolutional interleaver shown in FIG. 20 is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • the first data streams 0-7 are the first data stream subset 0
  • the first data streams 8-15 are The first data stream subset 1
  • the first data streams 16-23 are the first data stream subset 2
  • the first data streams 24-31 are the first data stream subset 3.
  • the first data stream is multiplexed to obtain one second data stream, and a total of 16 second data streams are generated. Randomly select one piece of first data from any two first data stream subsets among the first data stream subset 0, the first data stream subset 1, the first data stream subset 2, and the first data stream subset 3
  • the stream is used as the input of the 2:1 multiplexer, and a specific implementation of the corresponding 2:1 multiplexer is shown in Figure 17(a).
  • the multiplexing of the 2:1 multiplexer i (0 ⁇ i ⁇ 15)
  • the input data stream 0 and the input data stream 1 correspond to the first data stream i and the first data stream i+16 respectively.
  • Indicates the continuous ⁇ 6 RS symbols in the multiplexed input data stream j (0 ⁇ j ⁇ 1) of the 2:1 multiplexer, which come from 6 different outer code RS codewords.
  • the 2:1 multiplexer outputs the data in the two input data streams to the output data stream in polling mode in units of 6 RS symbols, that is, the output data sequence is
  • the above-mentioned 16 second data streams are respectively subjected to inner code encoding, and the inner code encoding scheme can adopt the encoding scheme given in Embodiment 1 to obtain performance equivalent to that of Embodiment 1, which will not be repeated here.
  • Embodiment 9 Applied to the scene of 4 ⁇ 200G interface, the length of the inner code encoding information bit is 160 bits, a 2:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment considers an inner code with a code length of 160 bits, and adopts a newly designed convolutional interleaver accordingly.
  • C r ( ⁇ ) as shown in FIG. 18( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (8t), C r (8t+1) represents the two RS symbols currently input to delay line 0 in the channel data stream and C r (8t-24Q), C r (8t-24Q+1) is The two RS symbols output by delay line 0; C r (8t+2), C r (8t+3) represent the next two RS symbols input to delay line 1 in the channel data stream and C r (8t-16Q+ 2), C r (8t-16Q+3) is the two RS symbols output by delay line 1; C r (8t+4), C r (8t+5) indicates that the channel data stream is then input to the delay line 2 and C r (8t-8Q+4), C r (8t-8Q+5) are the two RS symbols output by delay line 2; C r (8t+6), C r (8t+ 7) In the channel data stream, two RS symbols that are then
  • the convolutional interleaver shown in FIG. 21 is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-7, any RS symbol in the first data stream 8-15, and any RS symbol in the first data stream 16-23 are from different RS codewords.
  • a specific implementation of the corresponding 2:1 multiplexer is shown in Figure 17(a).
  • the multiplexed input data stream 0 and the multiplexed input data stream 1 of the 2:1 multiplexer i (0 ⁇ i ⁇ 15) Corresponding to the first data stream i and the first data stream i+16 respectively. in the picture Indicates ⁇ 8 consecutive RS symbols in the multiplexed input data stream j (0 ⁇ j ⁇ 1) of the 2:1 multiplexer, which come from 8 different outer code RS codewords.
  • the 2:1 multiplexer outputs the data in the two input data streams to the output data stream in polling mode in units of 8 RS symbols, that is, the output data sequence is
  • the above-mentioned 16 second data streams are respectively subjected to inner code encoding, and the inner code encoding scheme can adopt the encoding scheme given in Embodiment 3 to obtain performance equivalent to that of Embodiment 3, which will not be repeated here.
  • Embodiment 10 Applied to the scene of 4 ⁇ 200G interface, the length of inner code encoding information bit is 160 bits, and channel symbol alignment is adopted.
  • this embodiment provides an implementation solution with lower delay.
  • the sending-end processing module uses the known alignment marks of PCS channels 0-7, PCS channels 8-15, PCS channels 16-23 or PCS channels 24-31 ( Alignment marker) performs identification lock (alignment lock) of 8 channel data streams.
  • PCS channels 0-7, PCS channels 8-15, PCS channels 16-23 or PCS channels 24-31 can be considered as PCS channels 0-1 in the 0th, 1st, 2nd or 3rd 200G channels respectively. 7.
  • the sending end processing module then uses the 32 channel data streams aligned based on the 2 RS symbol alignment for the 32 channel data streams.
  • the 32 aligned channel data streams are directly sent to the designed processor including multiplexing for processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Embodiment 11 Applied to the scene of 8 ⁇ 100G interface, the bit length of inner code encoding information is 120 bits or 160 bits, an 8:1 multiplexer is used, and channel deviation processing is adopted.
  • This embodiment considers that the client-side interface is 8 ⁇ 100G with 100Gb/s per channel and adopts the "100G RS-FEC-Int” mode. For the interface details, see “IEEE Std 802.3ckTM/D3.0".
  • the sending end processing module uses FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 , FEC channel 20-23, FEC channel 24-27 or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 FEC channel 20-23, FEC channel 24-27 or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • Alignment lock identification locking
  • FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, FEC channels 16-19, FEC channels 20-23, FEC channels 24-27 or FEC channels 28-31 can be respectively It is considered as the FEC channel 0-3 in the 0th, 1st, 2nd, 3rd, 4th, 5th, 6th or 7th 100G channels.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain aligned 32 channel data streams. Then according to the The alignment flag performs lane reordering on the data of the 4 lanes, so that the data of the 4 lanes can be arranged in the specified order. Finally, the data of the 32 channels can be arranged in the specified order.
  • channel data streams are sorted from 0 to 31 from top to bottom as in Figure 11.
  • the 32 channel data streams that have undergone channel reordering are not subjected to convolutional interleaving, and are directly multiplexed to obtain a total of 16 second data streams, which are then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • any RS symbol in channel data stream 0-3, any RS symbol in channel data stream 4-7, and any RS symbol in channel data stream 8-11 One RS symbol, any RS symbol in channel data streams 12-15, any RS symbol in channel data streams 16-19, any RS symbol in channel data streams 20-23, any RS symbol in channel data streams 24-27 Any RS symbol of , and any RS symbol in the channel data stream 28-31, all come from different RS codewords. Since the channel data stream is not convolutionally interleaved, the channel data stream 0-31 is equivalent to the first data Streams 0-31.
  • the 8 channel data streams serve as the 8 input data streams of the 8:1 multiplexer i (0 ⁇ i ⁇ 3).
  • a specific implementation is shown in Figure 17(c).
  • the 8:1 multiplexer outputs the data in the 8 input data streams to the output data stream in polling mode in units of 2 RS symbols, that is, the output data sequence is
  • Fig. 22 is a schematic diagram of a fifth structure of the multiplexer in the embodiment of the present application.
  • the multiplexer i (0 ⁇ i ⁇ 3) converts the first data stream i, the first data stream i+4, the first data stream i+8, the first data stream i+12, the first The data stream i+16, the first data stream i+20, the first data stream i+24, and the first data stream i+28 respectively correspond to the multiplexed input data streams 0-7 of the 8:1 multiplexer in turn.
  • the 8:1 multiplexer outputs the data in the 8 input data streams to the output data stream in polling mode in units of 2 RS symbols, that is, the output data sequence is
  • the above-mentioned 4 second data streams carry out inner code encoding respectively, and its inner code encoding scheme can adopt the encoding scheme that embodiment 1 provides, obtains the equivalent performance with embodiment 1; Also can adopt the encoding scheme that embodiment 3 provides, The performance equivalent to that of Example 3 is obtained, and will not be repeated here.
  • Embodiment 12 Applied to the scene of 8 ⁇ 100G interface, the bit length of inner code encoding information is 120 bits or 160 bits, a 4:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment provides a second-lowest latency implementation solution when a 4:1 multiplexer is used for multiplexing processing.
  • the sending end processing module uses FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 , FEC channel 20-23, FEC channel 24-27, or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 FEC channel 20-23, FEC channel 24-27, or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • Alignment lock identification locking
  • FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, FEC channels 16-19, FEC channels 20-23, FEC channels 24-27 or FEC channels 28-31 can be respectively It is considered as the FEC channel 0-3 in the 0th, 1st, 2nd, 3rd, 4th, 5th, 6th or 7th 100G channels.
  • the sending end processing module then performs lane de-skew processing on the 32 channel data streams to obtain 32 aligned channels data flow. Then according to the The alignment flag performs lane reordering (lane reorder) processing on the data of the 4 lanes, so that the data of the 4 lanes can be arranged in a specified order. Finally, the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 11.
  • the 32 channel data streams after channel reordering are sent to the designed processor including convolutional interleaving and multiplexing for interleaving and data sequence processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 19(a) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (4t), C r (4t+1) represents the two RS symbols currently input to the delay line 0 in the channel data stream and C r (4t-4Q), C r (4t-4Q+1) is the delay
  • C r (4t+4), C r (4t+5) represents the two RS symbols input to delay line 0 in the channel data stream and C r (4t-4Q+4), C r (4t-4Q+5) are two RS symbols output by delay line 0, and so on.
  • the convolutional interleaver shown in FIG. 23 is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in channel data stream 0-3, any RS symbol in channel data stream 4-7, and any RS symbol in channel data stream 8-11 One RS symbol, any RS symbol in channel data streams 12-15, any RS symbol in channel data streams 16-19, any RS symbol in channel data streams 20-23, any RS symbol in channel data streams 24-27 Any one of the RS symbols in and any one of the RS symbols in the channel data streams 28-31 are from different RS codewords.
  • the first data stream is multiplexed to obtain 1 second data stream, and a total of 8 second data streams are generated According to flow.
  • One of the first data streams is randomly selected from any four first data stream subsets in the first data stream subsets 0-7 as the input of the 4:1 multiplexer.
  • a specific implementation method is shown in Figure 17(b) As shown, the multiplexed input data streams 0 to 3 of the 4:1 multiplexer i (0 ⁇ i ⁇ 7) respectively correspond to the first data stream i, the first data stream i+16, and the first data stream i+8 , the first data stream i+24.
  • the 4:1 multiplexer outputs the data in the 4 input data streams to the output data stream in polling mode in units of 4 RS symbols, that is, the output data sequence is
  • Fig. 24 is a schematic diagram of the sixth structure of the multiplexer in the embodiment of the present application.
  • the multiplexer i (0 ⁇ i ⁇ 3) divides the first data stream i, the first data stream i+8, the first data stream i+16, and the first data stream i+24, corresponding to Multiplexed input data streams 0 to 3 at 4:1 multiplexer.
  • the 4:1 multiplexer outputs the data in the 4 input data streams to the output data stream in polling mode in units of 4 RS symbols, that is, the output data sequence is
  • the above-mentioned 8 second data streams carry out inner code encoding respectively, and its inner code encoding scheme can adopt the encoding scheme that embodiment 1 provides, obtains the performance equivalent to embodiment 1; Also can adopt the encoding scheme that embodiment 3 provides, The performance equivalent to that of Example 3 is obtained, and will not be repeated here.
  • Embodiment 13 Applied to the scene of 8 ⁇ 100G interface, the inner code encoding information bit length is 120 bits, a 2:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment considers that a 2:1 multiplexer is used for multiplexing processing, and an inner code with an information length of 120 bits is used, and a newly designed convolutional interleaver and multiplexing processing are correspondingly adopted.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 16( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (6t), C r (6t+1) represents the two RS symbols currently input to delay line 0 in the channel data stream and C r (6t-12Q), C r (6t-12Q+1) is The two RS symbols output by delay line 0; C r (6t+2), C r (6t+3) represent the next two RS symbols input to delay line 1 in the channel data stream and C r (6t-6Q+ 2), C r (6t-6Q+3) is the two RS symbols output by delay line 1; C r (6t+4), C r (6t+5) indicates that the channel data stream is then input to the delay line 2 and C r (6t+4), C r (6t+5) are the two RS symbols output by delay line 2; C r (6t+6), C r (6t+7) represent the channel In the data stream, there are two RS symbols input to the delay
  • the convolutional interleaver shown in FIG. 25 is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-3, any RS symbol in the first data stream 4-7, and any RS symbol in the first data stream 8-11 Any RS symbol in the first data stream 12-15, any RS symbol in the first data stream 16-19, any RS symbol in the first data stream 20-23, the first Any RS symbol in a data stream 24-27 and any RS symbol in the first data stream 28-31 are from different RS codewords.
  • the first data stream is multiplexed to obtain one second data stream, and a total of 16 second data streams are generated.
  • One of the first data streams is randomly selected from any two first data stream subsets in the first data stream subsets 0-7 as the input of the 2:1 multiplexer, and the corresponding 2:1 multiplexer is a specific
  • the implementation is shown in Figure 17(a).
  • the multiplexed input data stream 0 and the multiplexed input data stream 1 of the 2:1 multiplexer i (0 ⁇ i ⁇ 15) correspond to the first data stream i and the first Data stream i+16.
  • the 2:1 multiplexer outputs the data in the two input data streams to the output data stream in polling mode in units of 6 RS symbols, that is, the output data sequence is
  • the scheme for encoding the 16 second data streams output by the above multiplexing processing can all adopt the scheme in Embodiment 1, and obtain performance equivalent to that of Embodiment 1, which will not be repeated here.
  • Embodiment 14 Applied to the scene of 8 ⁇ 100G interface, the bit length of inner code encoding information is 160 bits, a 2:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment considers that a 2:1 multiplexer is used for multiplexing processing, and an inner code with an information length of 160 bits is used, and a newly designed convolutional interleaver and multiplexing processing are correspondingly adopted.
  • Convolutional interleaving 0, convolutional interleaving 1, convolutional interleaving 2, . . . , convolutional interleaving 31 adopt the same interleaving structure.
  • C r () as shown in FIG. 18(a) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (8t), C r (8t+1) represents the two RS symbols currently input to delay line 0 in the channel data stream and C r (8t-24Q), C r (8t-24Q+1) is The two RS symbols output by delay line 0; C r (8t+2), C r (8t+3) represent the next two RS symbols input to delay line 1 in the channel data stream and C r (8t-16Q+ 2), C r (8t-16Q+3) is the two RS symbols output by delay line 1; C r (8t+4), C r (8t+5) indicates that the channel data stream is then input to the delay line 2 and C r (8t-8Q+4), C r (8t-8Q+5) are the two RS symbols output by delay line 2; C r (8t+6), C r (8t+ 7) In the channel data stream, two RS symbols that are then input to the
  • the convolutional interleaver shown in FIG. 26 is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-3, any RS symbol in the first data stream 4-7, and any RS symbol in the first data stream 8-11 Any RS symbol in the first data stream 12-15, any RS symbol in the first data stream 16-19, any RS symbol in the first data stream 20-23, the first Any RS symbol in a data stream 24-27 and any RS symbol in the first data stream 28-31 are from different RS codewords.
  • the first data stream is multiplexed to obtain one second data stream, and a total of 16 second data streams are generated.
  • One of the first data streams is randomly selected from any two first data stream subsets in the first data stream subsets 0-7 as the input of the 2:1 multiplexer, and the corresponding 2:1 multiplexer is a specific
  • the implementation is shown in Figure 17(a).
  • the multiplexed input data stream 0 and the multiplexed input data stream 1 of the 2:1 multiplexer i (0 ⁇ i ⁇ 15) correspond to the first data stream i and the first Data stream i+16.
  • 8 consecutive RS symbols in the multiplexed input data stream j (0 ⁇ j ⁇ 1) of the 2:1 multiplexer, which come from 8 different outer code RS codewords.
  • the 2:1 multiplexer outputs the data in the two input data streams to the output data stream in polling mode in units of 8 RS symbols, that is, the output data sequence is
  • Embodiment 3 may be used for the inner code encoding scheme for the 16 second data streams output by the multiplexing process Scheme, obtains the performance equivalent to embodiment 3, repeats no more here.
  • Embodiment 15 It is applied to the scene of 8 ⁇ 100G interface, and channel symbols are aligned.
  • this embodiment provides a lower latency implementation solution.
  • the sending end processing module uses FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 , FEC channel 20-23, FEC channel 24-27 or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • the sending end processing module uses the 32 channel data streams aligned based on the 2 RS symbol alignment for the 32 channel data streams.
  • the 32 channel data streams are convolutionally interleaved to obtain 32 first data streams, and the first data streams are multiplexed to obtain 4 or 8 or 16 second data streams, which are sent to the inner code encoder for internal code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Embodiment 16 Applied to the scene of 8 ⁇ 100G interface, the bit length of inner code encoding information is 120 bits or 160 bits, an 8:1 multiplexer is used, and channel deviation processing is adopted.
  • This embodiment considers that the client-side interface is 8 ⁇ 100G with 100Gb/s per channel and adopts the "100G RS-FEC" mode. For the interface details, see “IEEE Std 802.3ckTM/D3.0".
  • the sending end processing module uses FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 , FEC channel 20-23, FEC channel 24-27 or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 FEC channel 20-23, FEC channel 24-27 or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • Alignment lock identification locking
  • FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, FEC channels 16-19, FEC channels 20-23, FEC channels 24-27 or FEC channels 28-31 can be respectively It is considered as the FEC channel 0-3 in the 0th, 1st, 2nd, 3rd, 4th, 5th, 6th or 7th 100G channels.
  • the sending end processing module then performs lane de-skew processing (lane de-skew) on the 32 lane data streams to obtain aligned 32 lane data streams. Then according to the The alignment mark is used to perform data alignment on the 4 channels. Line channel reordering (lane reorder) processing, so that the data of the 4 channels can be arranged in the specified order. Finally, the data of the 32 channels can be arranged in the specified order.
  • One order is that the channel data streams are sorted from 0 to 31 from top to bottom as in Figure 9 .
  • the 32 channel data streams after channel reordering are sent to the designed processor including convolutional interleaving and multiplexing for interleaving and data sequence processing, and then sent to the inner code encoder for inner code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 27( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (2t) represents 1 RS symbol currently input to delay line 0 in the channel data stream and C r (2t-2Q) is 1 RS symbol output by delay line 0
  • C r (2t+1) represents The next RS symbol input to delay line 1 in the channel data stream and C r (2t+1) is the 1 RS symbol output by delay line 1
  • C r (2t+2) represents the next RS symbol in the channel data stream 1 RS symbol input to delay line 0
  • C r (2t-2Q+2) is 1 RS symbol output from delay line 0, and so on.
  • the convolutional interleaver shown in FIG. 27( b ) is used to perform convolutional interleaving processing on the 32 FEC channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-3, any RS symbol in the first data stream 4-7, and any RS symbol in the first data stream 8-11 Any RS symbol in , any RS symbol in the first data stream 12-15, any RS symbol in the first data stream 16-19, any RS symbol in the first data stream 20-23, and Any RS symbol in the first data stream 24-27 and any RS symbol in the first data stream 28-31 are from different RS codewords.
  • This embodiment adopts the 8:1 multiplexing processing structure in Embodiment 11 to obtain 4 second data streams, and the 16 consecutive RS symbols in each second data stream come from 16 different RS codewords.
  • Embodiment 17 Applied to the scene of 8 ⁇ 100G interface, the length of inner code encoding information bit is 120 bits, a 4:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment provides that the length of the inner code information is 120 bits, and when a 4:1 multiplexer is used for multiplexing processing, a newly designed convolutional interleaver and multiplexing processing are correspondingly used.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 28( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (3t) represents 1 RS symbol currently input to delay line 0 in the channel data stream and C r (3t-6Q) is 1 RS symbol output by delay line 0
  • C r (3t+1) represents The next RS symbol input to delay line 1 in the channel data stream and C r (3t-3Q+1) is the 1 RS symbol output by delay line 1
  • C r (3t+2) represents the next The next 1 RS symbol input to delay line 2 and C r (3t+2) is the 1 RS symbol output by delay line 2
  • C r (3t+3) indicates that the channel data stream is then input to delay line 0 1 RS symbol of and C r (3t-6Q+3) is 1 RS symbol output by delay line 0, and so on.
  • the convolutional interleaver shown in FIG. 28(b) is used to perform convolutional interleaving processing on the 32 FEC channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-3, any RS symbol in the first data stream 4-7, and any RS symbol in the first data stream 8-11 Any RS symbol in , any RS symbol in the first data stream 12-15, any RS symbol in the first data stream 16-19, any RS symbol in the first data stream 20-23, and Any RS symbol in the first data stream 24-27 and any RS symbol in the first data stream 28-31 are from different RS codewords.
  • the encoding scheme for the 8 second data streams output by the above multiplexing processing may all adopt the scheme in Embodiment 1 to obtain a performance equivalent to that of Embodiment 1, which will not be repeated here.
  • Embodiment 18 Applied to the scene of 8 ⁇ 100G interface, the bit length of inner code encoding information is 160 bits, a 4:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment provides a second-lowest delay implementation scheme when the length of the inner code information is 160 bits and a 4:1 multiplexer is used for multiplexing processing, and a newly designed interleaving is used correspondingly device and multiplex processing.
  • the convolutional interleaver 0, the convolutional interleaver 1, the convolutional interleaver 2, ), and the convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 29( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (4t) represents 1 RS symbol currently input to delay line 0 in the channel data stream and C r (4t-12Q) is 1 RS symbol output by delay line 0
  • C r (4t+1) represents The next RS symbol input to delay line 1 in the channel data stream and C r (4t-8Q+1) is the 1 RS symbol output by delay line 1
  • C r (4t+2) represents the next RS symbol in the channel data stream
  • the next 1 RS symbol input to delay line 2 and C r (4t-4Q+2) is the 1 RS symbol output by delay line 2
  • C r (4t+3) represents the next input to the channel data stream 1 RS symbol of delay line 3 and C r (4t+3) is 1 RS symbol output by delay line 3
  • C r (4t+4) represents 1 RS in the channel data stream which is then input to delay line 0 symbol and
  • the convolutional interleaver shown in FIG. 29( b ) is used to perform convolutional interleaving processing on the 32 FEC channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-3, any RS symbol in the first data stream 4-7, and any RS symbol in the first data stream 8-11 Any RS symbol in , any RS symbol in the first data stream 12-15, any RS symbol in the first data stream 16-19, any RS symbol in the first data stream 20-23, and Any RS symbol in the first data stream 24-27 and any RS symbol in the first data stream 28-31 are from different RS codewords.
  • the above-mentioned 8 second data streams are respectively subjected to inner code encoding, and the inner code encoding scheme of Embodiment 3 can be adopted for the inner code encoding scheme, and performance equivalent to that of Embodiment 3 can be obtained, which will not be repeated here.
  • Embodiment 19 Applied to the scene of 8 ⁇ 100G interface, the inner code encoding information bit length is 120 bits, a 2:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment provides that the length of the inner code information is 120 bits, and when a 4:1 multiplexer is used for multiplexing processing, a newly designed convolutional interleaver and multiplexing processing are correspondingly used.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • C r ( ⁇ ) as shown in FIG. 30( a ) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (6t) represents 1 RS symbol currently input to delay line 0 in the channel data stream and C r (6t-30Q) is 1 RS symbol output by delay line 0
  • C r (6t+1) represents The next RS symbol input to delay line 1 in the channel data stream and C r (6t-24Q+1) is an RS symbol output by delay line 1
  • C r (6t+2) represents the next RS symbol in the channel data stream
  • the next 1 RS symbol input to delay line 2 and C r (6t-18Q+2) is 1 RS symbol output by delay line 2
  • C r (6t+3) indicates that the channel data stream is then input to 1 RS symbol of delay line 3 and C r (6t-12Q+3) is 1 RS symbol output by delay line 3
  • C r (6t+4) represents the next input to delay line 4 in the channel data stream 1 RS symbol and C
  • the convolutional interleaver shown in FIG. 30( b ) is used to perform convolutional interleaving processing on the 32 FEC channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-3, any RS symbol in the first data stream 4-7, and any RS symbol in the first data stream 8-11 Any RS symbol in the first data stream 12-15, any RS symbol in the first data stream 16-19, any RS symbol in the first data stream 20-23, and Any RS symbol in the first data stream 24-27, and any RS symbol in the first data stream 28-31, are from different RS codewords.
  • the above-mentioned 16 second data streams are respectively subjected to inner code encoding, and the encoding scheme of the inner code encoding scheme in Embodiment 1 can be adopted, and the performance equivalent to that of Embodiment 1 can be obtained, which will not be repeated here.
  • Embodiment 20 Applied to the scene of 8 ⁇ 100G interface, the bit length of inner code encoding information is 160 bits, a 2:1 multiplexer is used, and channel deviation processing is adopted.
  • this embodiment provides that the length of the inner code information is 160 bits, and when a 2:1 multiplexer is used for the multiplexing process, a newly designed convolutional interleaver and multiplexing process are correspondingly used.
  • Convolutional interleaver 0, convolutional interleaver 1, convolutional interleaver 2, . . . , convolutional interleaver 31 adopt the same interleaving structure.
  • the delay value of delay line 0 is 7Q symbols
  • the delay value of delay line 1 is 6Q symbols
  • the delay value of delay line 2 is 5Q symbols
  • the delay value of delay line 3 is 4Q symbols
  • the delay value of delay line 4 is 3Q symbols
  • the delay value of delay line 5 is 2Q symbols
  • the delay value of delay line 6 is Q symbols
  • the delay value of delay line 7 is 0 symbols, that is, none Delay.
  • C r ( ⁇ ) as shown in Fig. 31(a) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (8t) represents 1 RS symbol currently input to delay line 0 in the channel data stream and C r (8t-56Q) represents 1 RS symbol output by delay line 0
  • C r (8t+1) represents The next RS symbol input to delay line 1 in the channel data stream and C r (8t-48Q+1) is the 1 RS symbol output by delay line 1
  • C r (8t+2) represents the next RS symbol in the channel data stream
  • the next 1 RS symbol input to delay line 2 and C r (8t-40Q+2) is 1 RS symbol output by delay line 2
  • C r (8t+3) indicates that the channel data stream is then input to 1 RS symbol of delay line 3 and C r (8t-32Q+3) is 1 RS symbol output by delay line 3
  • C r (8t+4) represents the next 1 input to delay line 4 in the channel data stream RS
  • the convolutional interleaver shown in FIG. 31( b ) is used to perform convolutional interleaving processing on the 32 FEC channel data streams respectively to obtain 32 first data streams.
  • any RS symbol in the first data stream 0-3, any RS symbol in the first data stream 4-7, and any RS symbol in the first data stream 8-11 Any RS symbol in , any RS symbol in the first data stream 12-15, any RS symbol in the first data stream 16-19, any RS symbol in the first data stream 20-23, and Any RS symbol in the first data stream 24-27 and any RS symbol in the first data stream 28-31 are from different RS codewords.
  • the above-mentioned 16 second data streams are respectively subjected to inner code encoding, and the inner code encoding scheme of Embodiment 3 can be used for the inner code encoding scheme, and performance equivalent to that of Embodiment 3 can be obtained, so details are not repeated here.
  • Embodiment 21 Applied to the scene of 8 ⁇ 100G interface, the length of inner code encoding information bit is 120 bits or 160 bits, and channel symbol alignment is adopted.
  • this embodiment provides a lower latency implementation solution.
  • the sending end processing module uses FEC channels 0-3, FEC channels 4-7, FEC channels 8-11, FEC channels 12-15, and FEC channels 16-19 , FEC channel 20-23, FEC channel 24-27 or FEC channel 28-31 known alignment marker (Alignment marker) to carry out identification locking (alignment lock) of 4 channel data streams.
  • the sending end processing module uses 32 channel data streams aligned based on 1 RS symbol alignment for the 32 channel data streams.
  • the 32 channel data streams are convolutionally interleaved to obtain 32 first data streams, and the first data streams are multiplexed to obtain 4 or 8 or 16 second data streams, which are sent to the inner code encoder for internal code encoding. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • multiplexing processing described in the foregoing embodiments may also be implemented by substituting packet interleaving, which will be described below in conjunction with a specific embodiment.
  • Fig. 32(a) is a schematic structural diagram of packet interleaving for n first data streams in the embodiment of the present application.
  • packet interleaving can be performed by m parallel packet interleaving modules. Specifically, each packet interleaver generates a second data stream after the input K first data streams are packet-interleaved, and m second data streams are obtained in total.
  • the selection method of the K first data streams input to each packet interleaver is the same as that of the K input multiplexed data streams input to the multiplexer in the above embodiments, and will not be repeated here.
  • Fig. 32(b) is a schematic structural diagram of a packet interleaver in the embodiment of the present application.
  • consecutive ⁇ RS symbols in the first data stream i k are a symbol subset, denoted by S k (.), where 0 ⁇ k ⁇ K-1. Therefore, S k (0), S k (1), . . . , S k (W) denote consecutive W symbol subsets output by the first data stream i k .
  • the consecutive ⁇ RS symbols in the second data stream are a symbol subset, denoted by S(.).
  • W symbol subsets are respectively obtained from the input K first data streams to form a first symbol matrix with K rows and W columns, and each element in the first symbol matrix is a symbol subset, then S k (w ) corresponds to the element in row k and column w in the first symbol matrix, where 0 ⁇ k ⁇ K-1, 0 ⁇ w ⁇ W-1.
  • Each element in the second symbol matrix is also a symbol subset, and S(c) represents the element in column c in the second symbol matrix, where 0 ⁇ c ⁇ C.
  • first symbol subset is only a concept introduced for the convenience of description, and in practical applications, the first data stream and the second data stream are both integrated and there is no division.
  • Each subset of symbols may be considered as one or more symbols in the first data stream or the second data stream.
  • first symbol matrix and second symbol matrix may not be presented in matrix form.
  • the first symbol matrix is presented as a first symbol set, and the first symbol set includes K*W symbol subsets, which respectively correspond to K rows and W columns of elements in the first symbol matrix.
  • the second symbol matrix is presented as a second symbol set, and the second symbol set includes C symbol subsets, which respectively correspond to 1 row and C column elements in the second symbol matrix.
  • the input first data stream i 0 and the first data stream i 1 of packet interleaver i correspond to the first data stream i and First data stream i+16.
  • the second symbol matrix is mapped into information data of an inner code with an information bit length of 120 bits, and the inner code coding scheme in Embodiment 1 can be used to achieve equivalent performance.
  • the second symbol matrix is mapped to two pieces of information data with an inner code whose information length is 120 bits, and the inner code encoding scheme in Embodiment 1 can be used to achieve equivalent performance.
  • the second symbol matrix is mapped into information data of 4 inner codes with an information bit length of 120 bits, and the inner code coding scheme in Embodiment 1 can be used to achieve equivalent performance.
  • FIG. 33 is a schematic structural diagram of a data processing device in an embodiment of the present application.
  • the data processing apparatus includes a convolutional interleaver 101 and a multiplexer 102 .
  • the convolutional interleaver 101 is configured to perform an operation of performing convolutional interleaving on n channel data streams respectively in the above data processing method to obtain n first data streams.
  • the multiplexer 201 is configured to multiplex every K first data streams in the n first data streams in the above data processing method to obtain one second data stream, so as to obtain m second data streams in total operation.
  • relevant introductions about convolutional interleaving operations and multiplexing operations in the above-mentioned data processing method which will not be repeated here.
  • the device provided in this application may also be implemented in other ways.
  • 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 may be combined or integrated into another system.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each independent physical unit, or two or more functional units may be integrated into one processing unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • n channel data streams are interleaved to obtain m target data streams.
  • the manner of performing the second FEC encoding on the m target data streams is similar to the manner described in step 1003 in the above embodiment shown in FIG. 10 , and will not be repeated here.
  • the channel data stream may be a PCS channel data stream or an FEC channel data stream, which is not specifically limited here.
  • the data streams of the n channels are the data streams encoded by the first FEC, that is, the data streams encoded by the outer code introduced above, where n is an integer greater than 1 and is a multiple of 4.
  • the outer code encoding may use an RS code, and the n data streams encoded by the outer code may include multiple RS code words.
  • other encoding methods can also be used for outer code encoding.
  • the RS code word is used to represent the code word generated after the outer code encoding.
  • each a codeword encoded by the outer code is distributed in b channel data streams, where a ⁇ b ⁇ n, n can be divisible by b, and a is an integer greater than or equal to 1.
  • the values of a and b in several other application scenarios in Fig. 6-Fig. 9 can be derived from the attached drawings, and will not be repeated here. Therefore, the maximum value of b is 16, and the minimum value is 4.
  • the value of the code length of the outer code in this application is counted in units of symbols, where a symbol may include one or more bits.
  • the F consecutive symbols in each target data stream come from F different codewords, F>a.
  • the consecutive F symbols in each target data stream come from at least K1 different channel data streams, and the consecutive F symbols in each target data stream come from at most K2 symbols in n symbols aligned with n channel data streams, K1 And K2 is a divisor of n, and K2 is a divisor of K1.
  • the n symbols aligned with the data streams of n channels refer to the n symbols located at the same position of the data streams of each channel.
  • the data streams of n channels each The n symbols in one column are aligned may be the n symbols in one instance of the n channel data streams.
  • the n symbols aligned in the n channel data streams may be the n symbols in one instance of the n channel data streams.
  • K3 symbols from the same channel data stream Represents an integer that rounds up the quotient of F/K1, and any two symbols in K3 symbols are separated by at least K4 symbols on the same channel data stream, K4 ⁇ a*N*K2/n, where N is the codeword length .
  • channel reordering may also be performed on the n channel data streams, so that the n channel data streams are arranged in a preset order .
  • the 32 data streams can be arranged from top to bottom according to the order of 0 to 31. Of course, it can be simply extended to other orders.
  • the specific implementation method is known to those of ordinary skill in the art, and will not be repeated here. .
  • channel data alignment processing may also be performed on the n channel data streams.
  • the lane data alignment processing may be lane de-skew processing (lane de-skew) defined by existing standards, so that the data of the output n lane data streams are completely aligned.
  • the above-mentioned "channel data alignment processing" may only be channel symbol alignment, so that the data on the n channel data streams output by it is based on outer code symbol alignment, specifically, it may be based on an outer code symbol alignment, or it may be based on Alignment of multiple foreign code symbols.
  • interleaving processing in this embodiment may have multiple specific implementation manners, which will be introduced respectively below.
  • FIG. 34 is a schematic flow chart of the interleaving process provided by the embodiment of the present application.
  • the consecutive z symbols in each first data stream come from at least e different codewords, where z is an integer greater than 1, a ⁇ e ⁇ F, e*k2 ⁇ F.
  • z is an integer greater than 1, a ⁇ e ⁇ F, e*k2 ⁇ F.
  • at most k1/k2 symbols come from the same codeword.
  • the implementation manner of convolutional interleaving in this embodiment is similar to the convolutional interleaving manner introduced in the embodiment shown in FIG. 10 above, and will not be repeated here.
  • the parameters of the convolutional interleaver shown in Figure 12(a) above should satisfy d(p*Q+1) ⁇ K4, so that convolutional interleaving
  • the parameters of the convolutional interleaver should satisfy d(p*Q-1) ⁇ K4, so that the convolution
  • Fig. 35 is a schematic structural diagram of performing packet interleaving on n first data streams in the embodiment of the present application.
  • n first data streams include K1 first data stream groups, and each first data stream group takes one first data stream as the K1 first data streams participating in packet interleaving, wherein the same The symbols of any two first data streams in the first data stream group come from the same codeword.
  • first data stream grouping is only a concept introduced for the convenience of description. In practical applications, there is no division of n first data streams as a whole, and each first data stream grouping can be regarded as n first data stream groups. One or more data streams in a data stream.
  • Fig. 36 is a schematic diagram of an implementation manner of packet interleaving in the embodiment of the present application.
  • an implementation manner of one packet interleaver is taken as an example for introduction.
  • Each of the K first data streams participating in packet interleaving includes B symbols, that is, the K first data streams include a first symbol matrix, and the first symbol matrix includes K rows and B columns of symbols.
  • B R*p*d
  • R is an integer greater than or equal to 1
  • the B symbols in each row of the first symbol matrix are consecutive B symbols output by polling R times of p delay lines of the convolutional interleaver .
  • Each of the S target data streams after packet interleaving includes F symbols, that is, the S target data streams include a second symbol matrix, and the second symbol matrix includes symbols in S rows and F columns.
  • K*B S*F
  • F is the length of the inner code information data.
  • the symbols in the first symbol matrix come from at least F different codewords, there are at most R*K1/K2 symbols in the first symbol matrix from the same codeword, and F symbols from different codewords are selected in the first symbol matrix
  • the symbols are mapped to a row of the second symbol matrix. That is, the consecutive F symbols in each target data stream come from F different codewords.
  • the F symbols in each row in the second symbol matrix come from at least column, and Each column in the column takes at most K2 symbols, where, Represents an integer that rounds up the quotient of F/K2.
  • the F symbols of each row in the second symbol matrix include at least symbols, Represents an integer that rounds down the quotient of F/K1, and the F symbols of each row in the second symbol matrix include at most symbols, Represents an integer that rounds up the quotient of F/K1.
  • the symbols from the odd columns of the first symbol matrix in each row of the second symbol matrix are respectively located in different rows of the first symbol matrix, and the symbols from the first symbol matrix in each row of the second symbol matrix The symbols of the even columns are located in different rows of the first symbol matrix.
  • symbols output by delay lines with the same delay value in each row of the second symbol matrix come from different rows of the first symbol matrix. At most K3 symbols in each row of the second symbol matrix come from the same row of the first symbol matrix, and any two symbols in the K3 symbols are respectively output by two delay lines whose delay difference is greater than or equal to 2*Q*d.
  • first symbol matrix and second symbol matrix may not be presented in matrix form.
  • first symbol matrix is presented as a first symbol set, and the first symbol set includes K*B symbol subsets, which respectively correspond to symbols in K rows and B columns in the first symbol matrix.
  • the second symbol matrix is presented as a second symbol set, and the second symbol set includes S*F symbol subsets, corresponding to symbols in rows S and columns F in the second symbol matrix.
  • the present invention designs a data interleaving coding method including convolutional interleaving, packet interleaving and coding, which can adopt the same interleaving scheme for all access services, and makes the performance of the overall cascading FEC scheme relatively high. Good and low latency. This enables the cascaded FEC transmission solution to be applied to many transmission scenarios, and is especially suitable for transmission scenarios that require low transmission delay, such as low-latency data center interconnection scenarios.
  • the inner code parallelism in each of the following embodiments refers to the number of target data streams, for example, the inner code parallelism of 16 means that the number of target data streams is 16. It should also be understood that the target symbol subsets in each of the following embodiments represent consecutive F symbols in the target data stream.
  • Embodiment 1 Uniform interleaving is adopted for all services, the coded information bit length of the inner code is 120 bits, and the degree of parallelism of the inner code is 16.
  • This embodiment provides a specific data interleaving and encoding scheme that is not sensitive to services in the OIF LR scenario.
  • the base transmission processing module uses the known alignment marker (Alignment marker) of each service PCS channel or FEC channel to perform alignment lock on the channel data stream.
  • the known alignment identifiers of the 32 channels are different and related to the accessed services.
  • the sending end processing module then performs deviation correction processing on multiple PCS channels or FEC channels in each service. After correction processing, multiple PCS/FEC channels in the same service are AM aligned, and the channel data flow between services It is only necessary to satisfy the alignment of RS symbols, that is, the difference between AMs is an integer number of RS symbols.
  • FIG. 37 is a schematic diagram of a data stream format after channel alignment when the client-side interface is 2 ⁇ 400GbE.
  • the access service is 2*400GbE
  • the data streams of 32 channels after skew correction processing are shown in Figure 37.
  • the 16 PCS channels in each 400GbE service are all aligned with AM, and the AM difference between the two services An integer number of RS symbols.
  • the access service is 1*800GbE
  • the data flow of 32 channels is shown in Figure 5.
  • the data flow of 32 channels is shown in Figure 6.
  • the access service is 4* 200GbE
  • 32 channel data streams are shown in Figure 7; for example, when the access service is 8*100GbE and in "100G RS-FEC-Int" mode, the 32 channel data streams are shown in Figure 8; for example, when the access service When it is 8*100GbE and "100G RS-FEC" mode, the data flow of 32 channels is shown in Figure 9.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization division (Polarization distribution), or DSP framing processing (Framing), etc.
  • Convolutional interleaving 0, convolutional interleaving 1, convolutional interleaving 2, . . . , convolutional interleaving 31 adopt the same interleaving structure.
  • C r () as shown in FIG. 16(a) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (6t), C r (6t+1) represents the two RS symbols currently input to delay line 0 in the channel data stream and C r (6t-12Q), C r (6t-12Q+1) is The two RS symbols output by delay line 0;
  • C r (6t+2), C r (6t+3) represent the next two RS symbols input to delay line 1 in the channel data stream and C r (6t-6Q+ 2), C r (6t-6Q+3) is the two RS symbols output by delay line 1;
  • C r (6t+4), C r (6t+5) indicates that the channel data stream is then input to the delay line 2 and C r (6t+4), C r (6t+5) are the two RS symbols output by delay line 2;
  • C r (6t+6), C r (6t+7) represent the channel In the data stream, there are two RS symbols input
  • the convolutional interleaver shown in FIG. 16( b ) is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • the streams come from the same RS codeword, and the corresponding groups are specifically divided into the first data stream 0-3 as the first data stream group 0, the first data stream 4-7 as the first data stream group 1, and the first data stream 8-11
  • the first data stream group 2 is the first data stream group 3
  • the first data stream 4-7 the first data stream group 1
  • the first data stream 8-11 The first data stream group 2, the first data stream 12-15 is the first data stream group 3, the
  • Fig. 38 is a schematic diagram of an implementation manner of packet interleaving.
  • the first symbol matrix comes from at least 12 different RS codewords, and at most 4 RS symbols belong to the same RS codeword, and there are further rows 0 to 3 of the first symbol matrix at least come from 6 different RS codewords, the 4th row to the 7th row come from at least 6 different RS codewords, and the two do not come from the same RS codeword. Further, the distribution of RS codewords on all odd columns or all even columns of the first symbol matrix may be consistent.
  • the distribution of RS codewords on columns 0 to 3 of the first symbol matrix may be consistent, and the distribution of RS codewords on columns 2 to 5 may be consistent; therefore, 2 can be taken from each column of the first symbol matrix RS symbols, one of which is from any row in the 0th row to the 3rd row, and the other is from any row in the 4th row to the 7th row, a total of 12 RS symbols are mapped to a row of the second symbol matrix, and 4 rows are obtained
  • the second symbol matrix with 12 columns, the 12 RS symbols in the row t (0 ⁇ t ⁇ 4) of the second symbol matrix are 12 consecutive RS symbols in the target data stream i*4+t output by group interleaving i, so A row of the second symbol matrix is defined as the target symbol subset.
  • the 6 RS symbols taken from the 0th row to the 3rd row of the first symbol matrix or the 6 RS symbols taken from the 4th row to the 7th row correspond to S(i 0 , 0), S(i 1 , 1), S(i 2 , 2), S(i 3 , 3), S(i 4 , 4) in the first symbol matrix ,S(i 5 , 5) where i 0 , i 1 , i 2 , i 3 are not equal to each other, i 2 , i 3 , i 4 , i 5 are not equal to each other, i 0 , i 2 , i 4 are not equal to each other, i 1 , i 3 , i 5 are not equal to each other, i 0 , i 1 , i 2 , i 3 , i 5 ⁇ [0
  • Table 1-Table 4 gives several specific mapping relationships.
  • the number x in the yth row and the zth column of each table represents the second symbol
  • the RS symbol of row y and column z of the matrix comes from the x-th RS symbol of the first symbol matrix, where 0 ⁇ y ⁇ 4, 0 ⁇ z ⁇ 12, 0 ⁇ x ⁇ 48, and the x-th RS symbol of the first symbol matrix RS symbol means first symbol matrix row x% 8th The symbol for the column.
  • any rows are swapped, or any columns are swapped, or any row is swapped and then any column is swapped, or any row is swapped first and then any row is swapped.
  • x%8 means the remainder after x is divided by 8, Indicates the quotient of x divided by 8, and similar representations will not be repeated in the following embodiments.
  • 16 target data streams are generated through packet interleaving, and inner code encoding is performed on each target symbol subset in the 16 target data streams, wherein the inner code encoding information bit length is 120 bits.
  • the inner code encoder respectively encodes a total of 120 bits of each target symbol subset in the target data stream and adds redundancy to obtain 16 coded data streams.
  • Hamming (128, 120) is used for inner code encoding, and a total of 120 bits of 12 consecutive RS symbols in each target data stream are respectively added with 8-bit redundancy to obtain a 128-bit codeword.
  • BCH (136, 120) is used for inner code encoding, and a total of 120 bits of 12 consecutive RS symbols in each target data stream are respectively added with 16-bit redundancy to obtain a 136-bit codeword.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (framing), etc.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • Embodiment 2 Uniform interleaving is adopted for all services, the length of the encoded information bits of the inner code is 120 bits, and the degree of parallelism of the inner code is 32.
  • the convolutional interleaver shown in FIG. 16( b ) is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • the corresponding group is specifically divided into the first data stream 0-3 is the first data stream group 0, the first data stream is 4-7 the first data stream group 1, the first data stream is 8-11 the first data stream group 2.
  • the first data stream 12-15 is the first data stream packet 3, the first data stream 16-19 is the first data stream packet 4, the first data stream 20-23 is the first data stream packet 5, the first data stream Streams 24 - 27 are first data stream packets 6 and first data streams 28 - 31 are first data stream packets 7 . Therefore, in this embodiment, the parameters corresponding to the packet interleaving process shown in FIG.
  • the 8 input data streams of i (0 ⁇ i ⁇ 4) are group-interleaved.
  • Fig. 39 is a schematic diagram of another implementation manner of packet interleaving.
  • the eight input data streams of packet interleaving i (0 ⁇ i ⁇ 4) are respectively the first data stream i, the first data stream i+4, the first data stream i+8, the first data stream i+12, the first data stream i+16, the first data stream i+20, the first data stream i+24, and the first data stream i+28.
  • the distribution of RS codewords on each column of the column may be consistent, the distribution of RS codewords on each column from the 6th column to the 9th column may be consistent, and the distribution of RS codewords on each column from the 8th column to the 11th column may be is consistent; further, the distribution of RS codewords of column j, j+1, j+6 and j+7 (j ⁇ 0,2,4 ⁇ ) of the first symbol matrix may be consistent Therefore, a total of 12 RS symbols can be taken from each column of the first symbol matrix and mapped as a row of the second symbol matrix to obtain a second symbol matrix with 8 rows and 12 columns.
  • the second symbol matrix t(0 ⁇ t ⁇ 8) The 12 RS symbols in the row are 12 consecutive RS symbols in the target data stream i*8+t output by group interleaving i, so define one row of the second symbol matrix as the target symbol subset.
  • S(i x , j y ), i x ⁇ [0,7], j y ⁇ [0,11] to represent the symbol of row i x and column j y of the first symbol matrix.
  • these 12 RS symbols correspond to S(i 0 ,0), S(i 1 ,1), S(i 2 ,2)...S(i 10 ,10),S(i 11 ,11), where i 0 ,i 1 ,i 2 ,i 3 are not equal to each other, i 2 ,i 3 ,i 4 ,i 5 are not equal to each other, i 6 , i 7 , i 8 , i 9 are not equal to each other, i 8 , i 9 , i 10 , i 11 are not equal to each other, i 0 , i 1 , i 6 , i 7 are not equal to each other, i 2 , i 3 , i 8 , i 9 are not equal to each other, i 4 , i 5 , i 11 , i 12 are not equal to each other, i 0 , i 2
  • Table 5 to Table 8 provide several specific mapping relationships, each The number x in row y, column z of the table indicates that the RS symbol in row y, column z of the second symbol matrix comes from the xth RS symbol in the first symbol matrix, where 0 ⁇ y ⁇ 8, 0 ⁇ z ⁇ 12 ,0 ⁇ x ⁇ 96, the xth RS symbol of the first symbol matrix represents the x%8th row of the first symbol matrix The symbol for the column. What needs to be explained is that it is a legal mapping to exchange any row or column in the table, or exchange any row after any column exchange, or exchange any column first and then exchange any row.
  • another mapping method from the first symbol matrix to the target symbol subset is: from the 2*j column and the 2*j+1 column of the first symbol matrix (j ⁇ [0,5]), a total of 6 columns is randomly selected, and then 2 RS symbols are taken from each column of the selected 6 columns, and a total of 12 RS symbols are mapped to a target symbol subset, corresponding to the obtained 12 RS.
  • Table 9 to Table 12 provide several specific mapping relationships.
  • the number x in the yth row and the zth column of each table represents the second symbol
  • the RS symbol in row y, column z of the matrix comes from the xth RS symbol of the first symbol matrix, where 0 ⁇ y ⁇ 8, 0 ⁇ z ⁇ 12, 0 ⁇ x ⁇ 96, and the xth RS symbol of the first symbol matrix RS symbol means first symbol matrix row x% 8th
  • the symbol for the column What needs to be explained is that it is a legal mapping to exchange any row or column in the table, or exchange any row after any column exchange, or exchange any column first and then exchange any row.
  • 32 target data streams are generated through packet interleaving, and inner code encoding is performed on each target symbol subset in the 32 target data streams, wherein the inner code encoding information bit length is 120 bits.
  • the inner code encoder encodes a total of 120 bits of each target symbol subset in the target data stream and adds redundancy to obtain 32 coded data streams.
  • Hamming (128, 120) is used for inner code encoding, and a total of 120 bits of 12 consecutive RS symbols in each target data stream are respectively added with 8-bit redundancy to obtain a 128-bit codeword.
  • the The BCH (136, 120) performs inner code encoding, respectively adding 16-bit redundancy to 120 consecutive 12 RS symbols in each target data stream to obtain a 136-bit code word.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (framing), etc.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • Embodiment 3 Uniform interleaving is adopted for all services, the length of inner code coded information bits is 160 bits, and the degree of parallelism of inner code is 16.
  • Convolutional interleaving 0, convolutional interleaving 1, convolutional interleaving 2, . . . , convolutional interleaving 31 adopt the same interleaving structure.
  • C r () as shown in FIG. 18(a) represents an RS symbol in the channel data stream r (0 ⁇ r ⁇ n-1).
  • C r (8t), C r (8t+1) represents the two RS symbols currently input to delay line 0 in the channel data stream and C r (8t-24Q), C r (8t-24Q+1) is The two RS symbols output by delay line 0;
  • C r (8t+2), C r (8t+3) represent the next two RS symbols input to delay line 1 in the channel data stream and C r (8t-16Q+ 2), C r (8t-16Q+3) is the two RS symbols output by delay line 1;
  • C r (8t+4), C r (8t+5) indicates that the channel data stream is then input to the delay line 2 and C r (8t-8Q+4), C r (8t-8Q+5) are the two RS symbols output by delay line 2;
  • C r (8t+6), C r (8t+ 7) Indicates the two RS symbols that are
  • the convolutional interleaver shown in FIG. 18( b ) is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • the first data stream grouping 2 the first data streams 12-15 are the first data stream grouping 3
  • the first data streams 16-19 are the first data stream grouping 4
  • the first data streams 20-23 are the first data stream grouping 5.
  • the first data streams 24-27 are the first data stream packets 6 and the first data streams 28-31 are the first data stream packets 7. Therefore, in this embodiment, the parameters corresponding to the packet interleaving process shown in FIG.
  • the 8 input data streams of i (0 ⁇ i ⁇ 4) are group-interleaved.
  • Fig. 40 is a schematic diagram of another implementation manner of packet interleaving.
  • the first symbol matrix comes from 16 different RS codewords and every 4 RS symbols belong to the same codeword, furthermore, the 0th to 3rd rows of the first symbol matrix come from 8 different RS codewords, the 4th row to the 7th row come from 8 different RS codewords, and the two do not come from the same RS codeword, further have all odd columns or all even columns of the first symbol matrix
  • the RS code word distribution may be consistent; further, the first symbol matrix can have the same RS code word distribution on the 0th column to the 3rd column, and the RS code word distribution on the 2nd column to the 5th column may be consistent.
  • the distribution of RS codewords from column 4 to column 7 may be consistent; therefore, 2 RS symbols can be taken from each column of the first symbol matrix, one of which is from any row in row 0 to row 3, and the other is from row 4 row to any row in the 7th row, a total of 16 RS symbols are mapped to a row of the second symbol matrix, and a second symbol matrix with 4 rows and 16 columns is obtained, and the t (0 ⁇ t ⁇ 4) row of the second symbol matrix
  • the 16 RS symbols are 16 consecutive RS symbols in the target data stream i*4+t output by group interleaving i, so one row of the second symbol matrix is defined as the target symbol subset.
  • the 8 RS symbols taken from the 0th row to the 3rd row of the first symbol matrix or the 8 RS symbols taken from the 4th row to the 7th row The 8 RS symbols correspond to S(i 0 , 0), S(i 1 , 1), S(i 2 , 2), S(i 3 , 3), S(i 4 , 4) in the first symbol matrix , S(i 5 , 5), S(i 6 , 6), S(i 7 , 7) where i 0 , i 1 , i 2 , i 3 are not equal to each other, i 2 , i 3 , i 4 , i 5 are not equal to each other, i 4 , i 5 , i 6 , i 7 are not equal to each other, i 0 , i 2 , i 4 , i 6 are not equal to each other, i 1 , i
  • the following tables 13 to 16 show several specific mapping relationships.
  • the number x in the yth row and the zth column of each table represents the second
  • the RS symbol in row y, column z of the symbol matrix comes from the x-th RS symbol of the first symbol matrix, where 0 ⁇ y ⁇ 4, 0 ⁇ z ⁇ 16, 0 ⁇ x ⁇ 64, and the x-th RS symbol of the first symbol matrix
  • a RS symbol represents the first symbol matrix row x% 8th The symbol for the column. It should be noted that the table is exchanged between any rows, or between any columns, or after any row is exchanged, then any column is exchanged, or after any column is exchanged, then any column is exchanged. It is a legal mapping to do arbitrary row swaps.
  • 16 target data streams are generated through packet interleaving, and inner code encoding is performed on each target symbol subset in the 16 target data streams, wherein the inner code encoding information bit length is 160 bits.
  • the inner code encoder encodes a total of 160 bits of each target symbol subset in the target data stream and adds redundancy to obtain 16 coded data streams.
  • Hamming (170, 160) is used for inner code encoding, and a total of 160 bits of 16 consecutive RS symbols in each target data stream are respectively added with 10-bit redundancy to obtain a 170-bit codeword.
  • BCH (176, 160) is used for inner code encoding, and a total of 160 bits of 16 consecutive RS symbols in each target data stream are respectively added with 16-bit redundancy to obtain a 176-bit codeword. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • the data stream encoded by the inner code After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • the data processing may include modulation mapping, channel interleaving, polarization distribution, or DSP framing.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • Embodiment 4 Uniform interleaving is adopted for all services, the length of inner code coded information bits is 160 bits, and the degree of parallelism of inner code is 32.
  • the convolutional interleaver shown in FIG. 18( b ) is used to perform convolutional interleaving processing on the 32 PCS channel data streams respectively to obtain 32 first data streams.
  • the first data stream grouping 2 the first data streams 12-15 are the first data stream grouping 3
  • the first data streams 16-19 are the first data stream grouping 4
  • the first data streams 20-23 are the first data stream grouping 5.
  • the first data streams 24-27 are the first data stream packets 6 and the first data streams 28-31 are the first data stream packets 7.
  • Fig. 41 is a schematic diagram of another implementation of packet interleaving.
  • the eight input data streams of packet interleaving i (0 ⁇ i ⁇ 4) are respectively the first data stream i, the first data stream i+4, the first data stream i+8, the first data stream i+12, the first data stream i+16, the first data stream i+20, the first data stream i+24, the first data stream i+28; obtain 16 consecutive RS symbols from each input data stream , constitute the first symbol matrix with 8 rows and 16 columns, where the 16 RS symbols in each row are respectively polled by delay line 0, delay line 1, delay line 2 and delay line 3 of the convolutional interleaver shown in Fig.
  • the first symbol matrix comes from 16 different RS codewords, and every 8 RS symbols belong to the same RS codeword, and further, the 0th to 3rd rows of the first symbol matrix are at least from For 8 different RS codewords, the 4th row to the 7th row come from at least 8 different RS codewords, and the two do not come from the same RS codeword, and further have all odd columns or all of the first symbol matrix
  • the distribution of RS codewords on even columns may be consistent; further, the distribution of RS codewords on the columns from column 0 to column 3 of the first symbol matrix may be consistent, and the distribution of RS codewords on columns from column 2 to column 5 may be consistent.
  • the code word distribution may be consistent, the RS code word distribution on the columns from the 4th column to the 7th column may be consistent, and the first symbol matrix may have the RS code word distribution on the columns of the 8th column and the 11th column. Consistent, the RS codeword distribution on each column from the 10th column to the 13th column may be consistent, and the RS codeword distribution on each column from the 12th column to the 15th column may be consistent; further, the first symbol matrix has It is possible that the RS codeword distribution of each column of the jth column, the j+1th column, the j+8th column and the j+9th column (j ⁇ 0,2,4,6 ⁇ ) is consistent; therefore, it can be obtained from Each column of the first symbol matrix takes a symbol and a total of 16 RS symbols are mapped to a row of the second symbol matrix to obtain a second symbol matrix with 8 rows and 16 columns, and the second symbol matrix is t (0 ⁇ t ⁇ 8) The 16 RS symbols in the row are 16 consecutive RS symbols in the target
  • these 16 RS symbols correspond to S(i 0 ,0), S(i 1 ,1), S(i 2 ,2)...S(i 14 ,14), S (i 15 ,15), where i 0 ,i 1 ,i 2 ,i 3 are not equal to each other, i 2 ,i 3 ,i 4 ,i 5 are not equal to each other, i 4 , i 5 , i 6 , i 7 are not equal to each other, i 8 , i 9 , i 10 , i 11 are not equal to each other, i 10 , i 11 , i 12 , i 13 are not equal to each other, i 12 , i 13 , i 14 , i 15 are not equal to each other, i 0 , i 1 , i 8 , i 9 are not equal to each other, i 2 , i 3
  • mappings from the first symbol matrix to the second symbol matrix there are many kinds of specific mappings from the first symbol matrix to the second symbol matrix.
  • the following tables 17 to 20 give several specific mapping relationships.
  • the number x in the yth row and the zth column of each table represents the second
  • the RS symbol in row y, column z of the symbol matrix comes from the x-th RS symbol of the first symbol matrix, where 0 ⁇ y ⁇ 8, 0 ⁇ z ⁇ 16, 0 ⁇ x ⁇ 128, and the x-th RS symbol of the first symbol matrix
  • a RS symbol represents the first symbol matrix row x% 8th The symbol for the column. It should be noted that exchanging any rows in the table, or interleaving between any columns, or exchanging any columns after interleaving any rows, or exchanging any columns first and then exchanging any rows is a legal mapping.
  • another mapping method from the first symbol matrix to the target symbol subset is: from the 2*j column and the 2*j+1 column of the first symbol matrix (j ⁇ [0,7]) randomly select a column of 8 columns in total, and then take 2 RS symbols from each column of the selected 8 columns, a total of 16 RS symbols are mapped to a target symbol subset, and the corresponding 16 RS obtained correspond to S(i 0 ,j 0 ),S(i 1 ,j 0 ),S(i 2 ,j 1 ),S(i 3 ,j 1 ),S(i 4 ,j 2 ) of the first symbol matrix ,S(i 5 ,j 2 ),S(i 6 ,j 3 ),S(i 7 ,j 3 ),S(i 8 ,j 4 ),S(i 9 ,j 4 ),S(i 10 ,j 5 ),S(i 11 ,j 5 ),S(i 12 ,j 6 ),
  • Table 21 to Table 24 give several specific mapping relationships.
  • the number x in the yth row and zth column of each table represents the second symbol
  • the RS symbol in row y, column z of the matrix comes from the xth RS symbol of the first symbol matrix, where 0 ⁇ y ⁇ 8, 0 ⁇ z ⁇ 16, 0 ⁇ x ⁇ 128, and the xth RS symbol of the first symbol matrix RS symbol means first symbol matrix row x% 8th The symbol for the column. It should be noted that exchanging any rows in the table, or interleaving between any columns, or exchanging any columns after interleaving any rows, or exchanging any columns first and then exchanging any rows is a legal mapping.
  • 32 target data streams are generated through packet interleaving, and inner code encoding is performed on each target symbol subset in the 32 target data streams, wherein the inner code encoding information bit length is 160 bits.
  • the inner code encoder encodes a total of 160 bits of each target symbol subset in the target data stream and adds redundancy to obtain 32 coded data streams.
  • Hamming (170, 160) is used for inner code encoding, and a total of 160 bits of 16 consecutive RS symbols in each target data stream are respectively added with 10-bit redundancy to obtain a 170-bit codeword.
  • the The BCH (176, 160) performs inner code encoding, respectively adding 16-bit redundancy to 160 consecutive 16 RS symbols in each target data stream to obtain a 176-bit code word. After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (framing), etc.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • FIG. 42 is another schematic flowchart of the interleaving process provided by the embodiment of the present application.
  • Fig. 43 is a schematic diagram of an implementation manner of performing the first packet interleaving in the embodiment of the present application.
  • the n channel data streams participating in the first packet interleaving include a third symbol matrix, the third symbol matrix includes n rows and A columns of symbols, and the A symbols in different rows in the third symbol matrix are from different Channel data flow, A is a multiple of a.
  • every consecutive T symbols in a column of the third symbol matrix is a symbol sub-matrix, and T symbols in each column of the fourth symbol matrix correspond to each symbol sub-matrix in the third symbol matrix respectively.
  • the symbol sub-matrixes in the third symbol matrix are arranged in a first order, and the first row to the nth row of each column in the third symbol matrix include the first symbol arranged in the first order From sub-matrix to n/T symbol sub-matrix, in the two adjacent columns of the third symbol matrix, the n/T-th symbol sub-matrix in the previous column to the first symbol sub-matrix in the next column is arranged in the first order Consecutive 2 symbol sub-matrices, T symbols in the first column of the fourth symbol matrix come from the first symbol sub-matrix arranged in the first order in the third symbol matrix, and so on, until column C in the fourth symbol matrix The T symbols of are from the last symbol submatrix arranged in the first order in the third symbol matrix. That is to say, the third symbol matrix maps the symbol sub-matrix of each column from left to right to the fourth symbol matrix according to each column from top to bottom, that is, maps from top to bottom and then from
  • the symbol sub-matrixes in the third symbol matrix are arranged in the second order, and the first column to the A-th row of every T row in the third symbol matrix include the first symbol sub-matrix to the A-th symbol sub-matrix, and the A-th symbol sub-matrix of the first T row to the first symbol sub-matrix of the last T row in the third adjacent two consecutive T rows of the third symbol matrix is according to the second Two consecutive symbol sub-matrices arranged in sequence, the T symbols in the first column of the fourth symbol matrix come from the first symbol sub-matrix arranged in the second order in the third symbol matrix, and so on until the fourth symbol matrix
  • the T symbols in column C are from the last symbol submatrix in the second order in the third symbol matrix. That is to say, the third character
  • the sign matrix maps a total of n/T rows of symbol sub-matrices from top to bottom into the fourth symbol matrix according to the same row from left to right, that is, first maps from left to right and then from
  • the above-mentioned third symbol matrix and fourth symbol matrix may not be presented in matrix form.
  • the third symbol matrix is presented as a third symbol set, and the third symbol set includes n*A symbol subsets, which respectively correspond to symbols in n rows and A columns in the third symbol matrix.
  • the fourth symbol matrix is presented as a fourth symbol set, and the fourth symbol set includes T*C symbol subsets, corresponding to symbols in T rows and C columns in the fourth symbol matrix.
  • the consecutive H symbols in each second data stream come from at least F different codewords, F ⁇ E, and at most K1/K2 symbols in each second data stream come from the same codeword Character.
  • each storage unit is used to store d symbols, and in this embodiment, each storage unit is used to store C symbols.
  • Fig. 44(b) is a schematic diagram of a specific implementation manner of performing the second packet interleaving in the embodiment of the present application.
  • one packet interleaving operation only obtains F consecutive symbols in the target data stream, and continuous packet interleaving is performed to obtain the target data stream, and the consecutive F symbols in the target data stream are represented as target symbol subsets.
  • Each consecutive F symbols in the target data stream comes from at least different symbol subsets, and Each symbol subset in different symbol subsets takes at most K2*a symbols, Represents an integer that rounds up the quotient of F/(K2*a).
  • each successive F symbols in each target data stream has at most symbols from the same symbol set, Integer representing the rounded up integer of the F/R quotient.
  • each consecutive F symbols in the target data stream includes the first group of symbols from the first symbol subset and the second group of symbols from the second symbol subset, and the first symbol subset and The second subset of symbols belongs to the same number collection.
  • the first symbol subset and the second symbol subset are respectively output by two adjacent delay lines, the symbols in the first symbol subset and the symbols in the second symbol subset are respectively arranged in order, and the first group of symbols is in the first symbol
  • the order in the subset is different from the order of the second set of symbols in the second subset of symbols. That is to say, the first group of symbols and the second group of symbols have different positions in the respective symbol subsets.
  • every consecutive F symbols of the target data stream includes a third group of symbols from the third symbol subset and a fourth group of symbols from the fourth symbol subset, the third symbol subset and The fourth symbol subset belongs to different symbol sets, the third symbol subset and the fourth symbol subset are output by the same delay line, the symbols in the third symbol subset and the symbols in the fourth symbol subset are respectively arranged in sequence, the first The order of the symbols of the three groups in the third subset of symbols is different from the order of the symbols of the fourth group in the fourth subset of symbols. That is to say, the third group of symbols and the fourth group of symbols have different positions in the respective symbol subsets.
  • the present invention designs a data interleaving encoding method including the first packet interleaving, convolutional interleaving, second packet interleaving and encoding, and can adopt the same interleaving scheme for all access services, so that the overall
  • the cascaded FEC scheme has better performance and lower delay. This enables the cascaded FEC transmission solution to be applied to many transmission scenarios, and is especially suitable for transmission scenarios that require low transmission delay, such as low-latency data center interconnection scenarios.
  • the inner code parallelism in each of the following embodiments refers to the number of target data streams, for example, the inner code parallelism of 16 means that the number of target data streams is 16. It should also be understood that the target symbol subsets in each of the following embodiments represent consecutive F symbols in the target data stream.
  • Embodiment 1 The length of the encoded information bits of the inner code is 120 bits, and the degree of parallelism of the inner code is 16.
  • the originating processing module uses the known alignment marker (Alignment marker) of each service PCS channel or FEC channel to perform alignment lock on the channel data stream.
  • the known alignment identifiers of the 32 channels are different and related to the accessed services.
  • the sending end processing module then performs deviation correction processing on multiple PCS channels or FEC channels in each service. After correction processing, multiple PCS/FEC channels in the same service are AM aligned, and the channel data flow between services It is only necessary to satisfy the alignment of RS symbols, that is, the difference between AMs is an integer number of RS symbols. For example, when the access service is 2*400GbE, the data streams of 32 channels after skew correction processing are shown in Figure 37.
  • the coded data stream is sent to the channel transmission medium for transmission after data processing.
  • the data processing can include modulation mapping, channel interleaving, polarization distribution, or DSP framing (Framing) and so on.
  • n channel data streams are divided into G channel data stream subsets, and any two channel data stream subsets come from different RS codewords, so according to the access
  • the number of channel data stream subsets contained in the channel data stream is different for different services.
  • the 4 first data streams obtained through the first packet interleaving module are sent to the convolutional interleaving module to obtain 4 second data streams.
  • the convolutional interleaving module contains 4 convolutional interleavers, respectively denoted as convolutional interleaving 0, convolutional interleaving 1, convolutional interleaving 2, and convolutional interleaving 3, which adopt the same interleaving structure, and each interleaving pair is the first
  • the data stream is interleaved to obtain a second data stream.
  • S r (3t) indicates that the first data stream r is currently input to a subset of symbols of delay line 0, and S r (3t-6Q) is a subset of symbols output by delay line 0;
  • S r (3t+1) Indicates that the first data stream r is currently input to a subset of symbols of delay line 1, and S r (3t-3Q+1) is a subset of symbols output by delay line 1;
  • S r (3t+2) represents the first data Stream r is currently input to a subset of symbols of delay line 2, and S r (3t+2) is a subset of symbols output by delay line 2;
  • S r (3t+3) indicates that the first data stream r is currently input to delay A subset of symbols from line 0, and S r (3t-6Q+4) is a subset of symbols output from delay line
  • the convolutional interleaver as shown in FIG. 45( c ), respectively perform convolutional interleaving processing on the four fourth data streams to obtain four second data streams.
  • the three symbol subsets are symbol sets, which contain 48 RS symbols in total, and the 16 symbols in each symbol subset are represented as symbol 0 to symbol 15 in sequence.
  • each symbol subset comes from at least 4 different RS codewords , and the RS codewords corresponding to symbols 0 to 3 in the same subset of symbols are different from the RS codewords corresponding to symbols 4 to 7, and the RS codewords corresponding to symbols 8 to 11 in the same subset of symbols are different from symbols 12 to symbols
  • R(x,y) as the symbol y(x ⁇ [0,2],y ⁇ [0,15]) of the symbol subset x, for any symbol from any two symbol subsets R(x 1 ,y 1 ) and R(x 2 ,y 2 ), x 1 ⁇ x 2 , if y 1 ⁇ y 2 , means that the two symbols are located in different positions of the symbol subset.
  • the 12 RS symbols correspond to R(0,i 0 ),R(0,i 1 ),R( 0,i 2 ),R(0,i 3 ),R(1,i 4 ),R(1,i 5 ),R(1,i 6 ),R(1,i 7 ),R(2, i 8 ),R(2,i 9 ),R(2,i 10 ),R(2,i 11 ); and satisfy that i 0 ,i 4 ,i 8 are different from each other, i 1 ,i 5 ,i 9 are different from each other, i 2 , i 6 , i 10 are different from each other, i 3 , i 7 , i 11 are different from each other, i 0 , i 2 %8, i 4 , i 6 %8 are different from each other, i 4 , i 6 % 8, i 8 , i 12 % 8 are different from each other,
  • Table 1-4 shows several specific mapping relationships.
  • the number x in row y and column z of each table in Table 1-4 represents the target
  • the z-th RS symbol in data stream y is from the symbol subset
  • the 16 target data streams obtained through the above packet interleaving are respectively sent to the inner code encoder, and each target symbol subset is used as an inner code encoded information data, and redundant data is generated by the inner code encoder to obtain 16 coded data flow.
  • Hamming (128, 120) is used for inner code encoding, and a total of 120 bits of the 12 RS symbols of each target symbol subset in the target data stream are added with 8-bit redundancy to obtain a 128-bit code Character.
  • BCH (136, 120) is used for inner code encoding, and a total of 120 bits of the 12 RS symbols of each target symbol subset in the target data stream are added with 16-bit redundancy to obtain 136-bit Codeword.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (Framing), etc.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • Embodiment 2 The bit length of the inner code encoding information is 160 bits, and the degree of parallelism of the inner code is 16.
  • Convolutional interleaving 0, convolutional interleaving 1, convolutional interleaving 2, and convolutional interleaving 3 adopt the same interleaving structure.
  • S r () as shown in Fig. 46(a) represents a subset of symbols in the first data stream r (0 ⁇ r ⁇ T-1).
  • S r (4t) indicates that the first data stream r is currently input to a subset of symbols of delay line 0, and S r (4t-12Q) is a subset of symbols output by delay line 0;
  • S r (4t+1) Indicates that the first data stream r is currently input to a subset of symbols of delay line 1, and S r (4t-8Q+1) is a subset of symbols output by delay line 1;
  • S r (4t+2) represents the first data Stream r is currently input to a subset of symbols of delay line 2, and S r (4t-4Q+2) is a subset of symbols output by delay line 2;
  • S r (4t+3) represents the current input of the first data stream r A subset of symbols for delay line 3, and S r (4t+3) is a subset of symbols output by delay line 3;
  • FIG. 46( b ) Four convolutional interleavers as shown in FIG. 46( b ) are used to perform convolutional interleaving processing on the four fourth data streams respectively to obtain four second data streams.
  • the four symbol subsets (4t-4Q+2), S r (4t+3) are symbol sets, which contain 64 RS symbols in total, and the 16 symbols in each symbol subset are represented as symbol 0 to symbol 15 in turn.
  • each symbol subset comes from at least 4 different RS codewords , and the RS codewords corresponding to symbols 0 to 3 in the same subset of symbols are different from the RS codewords corresponding to symbols 4 to 7, and the RS codewords corresponding to symbols 8 to 11 in the same subset of symbols are different from symbols 12 to symbols
  • the RS codeword distributions corresponding to 0 to symbol 7 may be consistent, and the RS
  • FIG. 46(c) is a schematic diagram of another implementation manner of the second group interleaving.
  • the 16 symbols in each target symbol subset come from 16 different RS codewords, and the 4 target symbol subsets are group interleaved respectively.
  • the 16 RS symbols correspond to R(0,i 0 ),R(0,i 1 ),R(0 ,i 2 ),R(0,i 3 ),R(1,i 4 ),R(1,i 5 )R(1,i 6 ),R(1,i 7 ),R(2,i 8 ),R(2,i 9 ),R(2,i 10 ),R(2,i 11 ),R(3,i 12 ),R(3,i 13 ),R(3,i 14 ), R(3,i 15 ); and satisfy that i 0 ,i 4 ,i 8 ,i 12 are different from each other, i 1 ,i 5 ,i 9 ,i 13 are different from each other, i 2 ,i 6 ,i 10 ,i 14 are different from each other, i 3 , i 7 , i 11 , i 15 are different from each other, i 0 , i 2 %8, i
  • Table 13-16 shows several specific mapping relationships.
  • the number x in the row y and column z of each table represents the target symbol subset y.
  • the z-th RS symbol in is from the symbol subset The x%16th RS symbols of , where 0 ⁇ y ⁇ 4, 0 ⁇ z ⁇ 16, 0 ⁇ x ⁇ 64. What needs to be explained is that it is a legal mapping to exchange any row or column in the table, or exchange any column after any row exchange, or exchange any column first and then exchange any row.
  • the 16 target data streams obtained through the above packet interleaving are respectively sent to the inner code encoder, and each target symbol subset is used as For information data encoded by an inner code, redundant data is generated by an inner code encoder to obtain 16 coded data streams.
  • Hamming (170, 160) is used for inner code encoding, and a total of 160 bits of 16 RS symbols of each target symbol subset are respectively added with 10-bit redundancy to obtain a 170-bit codeword.
  • BCH 176, 160
  • After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Embodiment 3 The length of the encoded information bits of the inner code is 120 bits, and the degree of parallelism of the inner code is 32.
  • the convolutional interleaver performs convolutional interleaving processing on the four first data streams respectively to obtain four second data streams.
  • S r (3t-6Q), S r ( 3t -3Q+1), S r (3t+2 ) The three symbol subsets are symbol sets.
  • the second group interleaving i (0 ⁇ i ⁇ 4) performs group interleaving on 2 consecutive symbol sets in the second data stream i to obtain 8 target symbol subsets, each target symbol subset contains 12 RS symbols, and 8 target The symbol subsets are respectively 12 consecutive RS symbols from the target data stream i*S to the target data stream i*S+7 output by the block interleaver i, and each RS symbol in the target symbol subset comes from a different RS codeword.
  • each symbol subset comes from at least 4 different RS codes and the RS codewords corresponding to symbols 0 to 3 in the same subset of symbols are different from the RS codewords corresponding to symbols 4 to 7, and the RS codewords corresponding to symbols 8 to 11 in the same subset of symbols are different from symbols 12 to
  • the RS codewords corresponding to symbol 15 are different, and the RS codewords corresponding to symbols 0 to 7 of the same symbol subset may be the same as the RS codewords corresponding to symbols 8 to 15; further, symbols 0 to symbols of any two subsets of symbols
  • the distribution of RS codewords corresponding to 7 may be consistent, and the distribution of RS codewords corresponding to symbols 8 to 15 of any two symbol subsets may be consistent; further, each symbol set comes from at least 12 different RS
  • Fig. 47 is a schematic diagram of another implementation manner of the second group interleaving. As shown in Figure 47, 2 RS symbols are taken from each symbol subset, a total of 12 RS symbols are mapped into a target symbol subset, and a total of 8 target symbol subsets are obtained. For the convenience of expression, define R(x,y) as the symbol y(x ⁇ [0,5],y ⁇ [0,15]) of the symbol subset x.
  • the 12 RS symbols correspond to R(0,i 0 ),R(0,i 1 ), R(1,i 2 ),R(1,i 3 ),R(2,i 4 ),R(2,i 5 ),R(3,i 6 ),R(3,i 7 ),R( 4,i 8 ),R(4,i 9 ),R(5,i 10 ),R(5,i 11 ); and satisfy i 0 ,i 1 ,i 2 ,i 3 ,i 4 , i 5 , i 6 , i 7 , i 8 , i 9 , i 10 , i 11 are different from each other, i 0 % 8, i 1 % 8, i 2 % 8, i 3 % 8 are mutually different Not the same, i 2 % 8, i 3 % 8, i 4 % 8, i 5 % 8 are different from each other, i 6 % 8, i 7
  • mappings for the interweaving of 2 symbol sets to 8 target symbol subsets.
  • Table 5-12 shows several specific mapping relationships.
  • the number x in row y and column z of each table represents the target The z-th RS symbol in the symbol subset y comes from the symbol subset The x%16th RS symbols of , where 0 ⁇ y ⁇ 8, 0 ⁇ z ⁇ 12, 0 ⁇ x ⁇ 96. It should be noted that exchanging any rows in the table, or interleaving any columns, or exchanging any columns after interleaving any rows, or exchanging any columns first and then exchanging any rows is a legal mapping.
  • the 32 target symbol subsets obtained through the above group interleaving are respectively sent to the inner code encoder, and each target symbol subset is used as an inner code encoded information data, and redundant data is generated by the inner code encoder to obtain 32 codes data flow.
  • Hamming (128, 120) is used for inner code encoding, and a total of 120 bits of the 12 RS symbols of the target symbol subset are respectively added with 8-bit redundancy to obtain a 128-bit codeword.
  • BCH (136, 120) is used for inner code encoding, and a total of 120 bits of the 12 RS symbols of the target symbol subset are respectively added with 16-bit redundancy to obtain a 136-bit codeword.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (Framing), etc.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • Embodiment 4 The length of the encoded information bits of the inner code is 160 bits, and the degree of parallelism of the inner code is 32.
  • the weaving process obtains 4 second data streams. Define the S r (4t-12Q), S r (4t-8Q+1), S r output from the delay line 0, delay line 1, delay line 2 and delay line 3 of the convolutional interleaver in the second data stream respectively
  • the four symbol subsets (4t-4Q+2), S r (4t+3) are symbol sets, which include 64 RS symbols in total.
  • the second group interleaving i (0 ⁇ i ⁇ 4) performs group interleaving on 2 consecutive symbol sets in the second data stream i to obtain 8 target symbol subsets, each target symbol subset contains 16 RS symbols, and 8 target The symbol subsets are respectively 16 consecutive RS symbols from the target data stream i*S to the target data stream i*S+7 output by the block interleaver i, and each RS symbol in the target symbol subset comes from a different RS codeword.
  • each symbol subset comes from at least 4 different RS codes and the RS codewords corresponding to symbols 0 to 3 in the same subset of symbols are different from the RS codewords corresponding to symbols 4 to 7, and the RS codewords corresponding to symbols 8 to 11 in the same subset of symbols are different from symbols 12 to
  • the RS codewords corresponding to symbol 15 are different, and the RS codewords corresponding to symbols 0 to 7 of the same symbol subset may be the same as the RS codewords corresponding to symbols 8 to 15; further, symbols 0 to symbols of any two subsets of symbols
  • the distribution of RS codewords corresponding to 7 may be consistent, and the distribution of RS codewords corresponding to symbols 8 to 15 of any two symbol subsets may be consistent; further, each symbol set comes from at least 12 different RS
  • Fig. 48 is a schematic diagram of another implementation manner of the second group interleaving. As shown in Figure 48, 2 RS symbols are taken from each symbol subset, a total of 16 RS symbols are mapped to a target symbol subset, and a total of 8 target symbol subsets are obtained.
  • R(x,y) is defined as the symbol y(x ⁇ [0,7],y ⁇ [0,15]) of the symbol subset x.
  • the 16 RS symbols correspond to R(0,i 0 ),R(0,i 1 ), R(1,i 2 ),R(1,i 3 ),R(2,i 4 ),R(2,i 5 ),R(3,i 6 ),R(3,i 7 ),R( 4,i 8 ),R(4,i 9 ),R(5,i 10 ),R(5,i 11 ),R(6,i 12 ),R(6,i 13 ),R(7, i 14 ),R(7,i 15 ); and i 0 ,i 1 ,i 2 ,i 3 ,i 4 ,i 5 ,i 6 ,i 7 ,i 8 ,i 9 ,i 10 ,i 11 , i 12 , i 13 , i 14 , i 15 are different from each other, i 0 % 8, i 1 % 8, i 2 % 8, i 3 % 8 are different from each other, i 0 % 8, i 1 % 8, i 2 % 8, i 3
  • mappings for the interweaving of 2 symbol sets to 8 target symbol subsets.
  • Table 17-24 gives several specific mapping relationships.
  • the number x in row y and column z of each table represents the target
  • the z-th RS symbol in the symbol subset y comes from the symbol subset
  • the mapping relationship between each symbol subset and the channel channel data flow, and the delay relationship of each symbol subset in the symbol set it is not difficult to obtain the relationship between the target symbol subset and the channel data flow:
  • the 32 target symbol subsets obtained through the above group interleaving are respectively sent to 32 inner code encoders, and each target symbol subset is used as an inner code encoded information data, and redundant data is generated by the inner code encoder to obtain 32 Bar coded data stream.
  • Hamming (170, 160) is used for inner code encoding, and a total of 160 bits of the 16 RS symbols of the target symbol subset are respectively added with 10-bit redundancy to obtain a 170-bit codeword.
  • BCH 176, 160
  • After the data stream encoded by the inner code is processed, it is sent to the channel transmission medium for transmission.
  • Embodiment 5 The length of the encoded information bits of the inner code is 120 bits, and the degree of parallelism of the inner code is 16.
  • Embodiment 5 provides a new first packet interleaving scheme and a specific realization of the corresponding second packet interleaving.
  • Fig. 49 is a schematic diagram of another implementation manner of the first group interleaving.
  • the symbol of row i and column j of the fourth symbol matrix comes from row x and column y of the third symbol matrix, where in Expressed as j/2 rounded down.
  • the symbols of each symbol subset come from 8 different channel data streams
  • the 8 channel data streams can be expressed as channel data stream j 0 , channel data stream j 1 , channel stream j 2 , channel stream j 3 , channel stream j 4 , channel stream j 5 , channel stream j 6 , channel stream j 7 , and Indicates that jx/4 is rounded down, at least from 4 different RS codeword symbols.
  • the four first data streams obtained through the first packet processing shown in FIG. 49 are then subjected to the convolutional interleaving process shown in FIG. 45(c) to obtain four second data streams.
  • the three symbol subsets are symbol sets, which contain 48 RS symbols in total.
  • the distribution of RS codewords on the PCS/FEC channel of various services and the first packet exchange Weaving and convolutional interleaving can be obtained. It is not difficult to understand that each symbol subset comes from at least 4 different RS codewords, and the RS codewords corresponding to symbols 0 to 7 of the same symbol subset correspond to symbols 8 to 15.
  • the RS codewords are different; further, the RS codeword distributions corresponding to symbols 0 to 7 of any two symbol subsets may be consistent, and the RS codeword distributions corresponding to symbols 8 to 15 of any two symbol subsets may be consistent; further
  • the symbol sets come from at least 12 different RS codewords, and at most 4 symbols in the symbol set belong to the same RS codeword.
  • R(x,y) is defined as the symbol y(x ⁇ [0,2],y ⁇ [0,15]) of the symbol subset x.
  • the 12 RS symbols correspond to R(0,i 0 ),R(0,i 1 ),R( 0,i 2 ),R(0,i 3 ),R(1,i 4 ),R(1,i 5 ),R(1,i 6 ),R(1,i 7 ),R(2, i 8 ),R(2,i 9 ),R(2,i 10 ),R(2,i 11 ); and satisfy that i 0 ,i 1 ,i 4 ,i 5 , i 8 ,i 9 are different from each other , i 2 , i 3 , i 6 , i 7 , i 10 , i 11 are different from each other, i 0 , i 1 , i 4 , i 5 , i 8 , i 9 ⁇ [0,7], i 2 , i 3 ,i 6 ,i 7 ,i 10 ,i 11 ⁇ [8,15
  • Table 25-28 shows several specific mapping relationships.
  • the number x in row y and column z of each table in Table 25-28 represents the target
  • the z-th RS symbol in the symbol subset y comes from the symbol subset
  • the 16 target data streams obtained through the above packet interleaving are respectively sent to the inner code encoder, and each target symbol subset is used as an inner code encoded information data, and redundant data is generated by the inner code encoder to obtain 16 coded data flow.
  • Hamming (128, 120) is used for inner code encoding, and a total of 120 bits of the 12 RS symbols of each target symbol subset in the target data stream are added with 8-bit redundancy to obtain a 128-bit code Character.
  • BCH (136, 120) is used for inner code encoding, and a total of 120 bits of the 12 RS symbols of each target symbol subset in the target data stream are added with 16-bit redundancy to obtain 136-bit Codeword.
  • the data processing may include modulation mapping (mapping), channel interleaving (channel interleaving), polarization distribution (polarization distribution), or DSP framing processing (Framing), etc.
  • the inner code coded data stream can be interleaved to improve the system's ability to resist burst errors.
  • Fig. 50(a) is another schematic structural diagram of the data processing device in the embodiment of the present application.
  • the data processing device includes an interleaving module 301 and an encoder 302 .
  • the interleaving module 301 is configured to perform an operation of interleaving n channel data streams to obtain m target data streams in the above data processing method.
  • the encoder 302 is configured to perform the operation of performing second FEC encoding on the m target data streams in the above data processing method to obtain encoded data streams.
  • the interleaving module 301 includes a convolutional interleaver 3011 and a packet interleaver 3012.
  • the convolutional interleaver 3011 is used to perform step 3401 in the embodiment shown in FIG. Step 3402 in an embodiment.
  • Fig. 50(b) is another schematic structural diagram of the data processing device in the embodiment of the present application.
  • the data processing device includes an interleaving module 401 and an encoder 402 .
  • the interleaving module 401 is configured to perform an operation of interleaving n channel data streams to obtain m target data streams in the above data processing method.
  • the encoder 402 is configured to perform the second FEC encoding on the m target data streams in the above data processing method to obtain encoded data streams.
  • the interleaving module 401 includes a first packet interleaver 4011, a convolutional interleaver 4012, and a second packet interleaver 4013.
  • the first packet interleaver 4011 is used to perform step 4201 in the embodiment shown in FIG.
  • the interleaver 4012 is configured to execute step 4202 in the embodiment shown in FIG. 42 above
  • the second packet interleaver 4013 is configured to execute step 4203 in the embodiment shown in FIG. 42 above.
  • the device provided in this application may also be implemented in other ways.
  • 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 may be combined or integrated into another system.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each independent physical unit, or two or more functional units may be integrated into one processing unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • Fig. 51 is another schematic flowchart of the data processing method provided by the embodiment of the present application.
  • the channel data stream may be a PCS channel data stream or an FEC channel data stream, which is not specifically limited here.
  • the data streams of the n channels are the data streams encoded by the first FEC, that is, the data streams encoded by the outer code introduced above, where n is an integer greater than 1.
  • the outer code encoding may use an RS code, and the n data streams encoded by the outer code may include multiple RS code words.
  • other encoding methods can also be used for outer code encoding.
  • the RS code word is used to represent the code word generated after the outer code encoding.
  • each a codeword encoded by the outer code is distributed in b channel data streams, where a ⁇ b ⁇ n, n can be divisible by b, and a is an integer greater than or equal to 1.
  • the values of a and b in several other application scenarios in Fig. 6-Fig. 9 can be derived from the attached drawings, and will not be repeated here.
  • the code length of the Chinese and foreign codes is counted in units of symbols, where a symbol may include one or more bits.
  • the outer code is the adopted KP4 RS (544,514) code
  • one symbol contains 10 bits.
  • n channel data streams can be divided into q groups, each group includes t channel data streams, where q is an integer greater than or equal to 1, and n can be divisible by q.
  • the t channel data streams in each group are grouped and interleaved to obtain a corresponding group of s first data streams.
  • Fig. 52 is a schematic structural diagram of performing packet interleaving on n channel data streams in the embodiment of the present application.
  • n channel data streams are grouped and interleaved by q group interleavers, and interleaver i converts channel data stream i*t to channel data stream (i+1)*t-1
  • the packet interleaving obtains the first data stream i*s to the first data stream (i+1)*s-1, 0 ⁇ i ⁇ q.
  • M/s
  • every consecutive d symbols in each first data stream come from v different codewords
  • every consecutive L2 symbols in each first data stream come from at least v different codewords Codeword.
  • the 32 PCS channel data streams are multiplexed and then sent to the sending end processing module through the channel connection unit interface AUI.
  • 1088 symbols of 2 RS codewords are distributed in 16 channel data streams, and 68 symbols in the 1088 symbols are continuous 68 symbols in a channel data stream; when a channel data stream
  • the following simply expresses that each consecutive L1 symbols in each channel data stream comes from a different codewords.
  • the sending end processing module PMA unit will recover 32 PCS channel data streams from the channel connection unit interface AUI after de-muxing, and then use the known PCS channel
  • the alignment marker (Alignment marker) carries out the identification lock (alignment lock) of the channel data flow.
  • the known alignment marks of the 32 channels here are different (see “Ethernet Technology Consortium 800G Specification").
  • the PMA unit of the sending processing module when sending the 1*800GE service sent by device 01, based on the data processing diagram of the sending processing module shown in Figure 3(h), the PMA unit of the sending processing module will be connected from the channel to After the data received by the unit interface AUI is de-muxed, 32 PCS channel data streams are restored, and then the alignment markers known to the PCS channels are used to perform alignment lock on the channel data streams.
  • the known alignment identifiers of the 32 channels here are different (see "Ethernet Technology Consortium 800G Specification").
  • a total of 16 channel data streams from 15 to 15 come from the same RS codeword, and a total of 16 channel data streams from 16 to 31 come from the same RS codeword. It should be noted that the above "channel data streams 0 to 15, a total of 16 channel data streams come from the same RS codeword" can be understood with reference to Figure 5.
  • each channel data stream 34 symbols in the stream, a total of 544 symbols from the same RS codeword; and for channel data streams 0 to 15, 68 consecutive symbols in each channel data stream, a total of 1088 symbols from 2 RS codewords.
  • 34 symbols in each channel data stream a total of 544 symbols come from the same RS codeword; and for channel data streams 16 to 31, the consecutive symbols in each channel data stream 68 symbols for a total of 1088 symbols from the other 2 RS codewords.
  • channel data stream 0-channel data stream 15 a total of 16 channel data streams come from the same codeword
  • channel data stream 16-channel data A total of 16 channel data streams of stream 31 come from the same codeword
  • channel data stream 0-channel data stream 15 and channel data stream 16-channel data stream 31 come from different codewords.
  • the codewords, data streams on odd channels and data streams on even channels come from different codewords. That is, 16 channel data streams in channel data stream 2*i come from the same codeword, and 16 channel data streams in channel data stream 2*i+1 come from the same codeword, 0 ⁇ i ⁇ 16.
  • FIG. 53 is a schematic diagram of an application scenario of packet interleaving in an embodiment of the present application.
  • One packet interleaver as shown in FIG. 53 is used to perform packet interleaving on two channel data streams to obtain one first data stream.
  • a total of 16 packet interleavers as shown in FIG. 53 are required for packet interleaving.
  • the mapping of the polling output of the above ⁇ bits can represent: the first data
  • Fig. 54 is a schematic diagram of several specific embodiments of packet interleaving in the embodiment of the present application.
  • the codewords, data streams on odd channels and data streams on even channels come from different codewords. That is, 16 channel data streams in channel data stream 2*i come from the same codeword, and 16 channel data streams in channel data stream 2*i+1 come from the same codeword, 0 ⁇ i ⁇ 16.
  • Fig. 55 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • One packet interleaver as shown in FIG. 55 is used to perform packet interleaving on two channel data streams to obtain two first data streams.
  • a total of 16 packet interleavers as shown in FIG. 55 are required for packet interleaving.
  • packet interleaver i performs packet interleaving on the 2*i channel data stream and the 2*i+1 channel data stream to obtain the 2*i first data stream and the 2*i+1 first data stream Data flow, 0 ⁇ i ⁇ 16.
  • Fig. 56 is a schematic diagram of several specific embodiments of packet interleaving in the embodiment of the present application. use Indicates the fth bit among the consecutive 20 bits of the first data stream 2*i+g generated by one packet interleaving operation of packet interleaving i. As shown in the example of (a) of Fig. 56, from No. The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2. As shown in the example of (b) of Fig. 56, from No. The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • the codewords, data streams on odd channels and data streams on even channels come from different codewords. That is, 16 channel data streams in channel data stream 2*i come from the same codeword, and 16 channel data streams in channel data stream 2*i+1 come from the same codeword, 0 ⁇ i ⁇ 16.
  • Fig. 57 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • packet interleaving is specifically in the form of multiplexing.
  • a multiplexer as shown in Figure 57 is used to multiplex two channel data streams to obtain a first data stream.
  • Multiplexing requires a total of 16 multiplexers as shown in Figure 57.
  • the multiplexer i multiplexes the 2*i-th channel data stream and the 2*i+1-th channel data stream to obtain a first data stream, where 0 ⁇ i ⁇ 16.
  • the specific mapping method for multiplexing is: Represents the jth continuous ⁇ bits in the 2*i channel data stream, Indicates the jth consecutive ⁇ bits in the 2*i+1 channel data stream, j ⁇ 0, and Continue in the first data stream obtained by multiplexing.
  • symbol-mux 2RS symbol multiplexing
  • Fig. 58 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • One packet interleaver as shown in Figure 58 is used to perform packet interleaving on two channel data streams to obtain one first data stream, and a total of 16 packet interleavers as shown in Figure 58 are required for packet interleaving.
  • the mapping of the polling output of the above ⁇ bits can represent: the j-th bit among the 40 consecutive bits in the first data stream comes from the first The first of 20 consecutive bits in the channel data stream bits, the Indicates rounding down, 0 ⁇ j ⁇ 40, and the ⁇ is 1, 2, 4, 5, 10 or 20.
  • Fig. 59 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • One packet interleaver as shown in Figure 59 is used to perform packet interleaving on two channel data streams to obtain two first data streams, and a total of 16 packet interleavers as shown in Figure 59 are required for packet interleaving.
  • packet interleaver i performs packet interleaving on the i-th channel data stream and the i+16th channel data stream to obtain the 2*i-th first data stream and the 2*i+1-th first data stream, 0 ⁇ i ⁇ 16.
  • use Indicates that the packet interleaving i packet interleaving operation generates the fth bit in the continuous 20 bits of the first data stream 2*i+g. from No. The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • use Indicates that the packet interleaving i packet interleaving operation generates the fth bit in the continuous 20 bits of the first data stream 2*i+g. from No. The first of 20 consecutive bits in the channel data stream bits, 0 ⁇ f ⁇ 20, 0 ⁇ g ⁇ 2.
  • FIG. 60 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • packet interleaving specifically adopts the form of multiplexing, as shown in Figure 60
  • a multiplexer is used to multiplex two channel data streams to obtain a first data stream, and multiplexing requires a total of 16 multiplexers as shown in Figure 60.
  • the multiplexer i multiplexes the i-th channel data stream and the i+16th channel data stream to obtain a first data stream, where 0 ⁇ i ⁇ 16.
  • the multiplexer i multiplexes the i-th channel data stream and the i+16th channel data stream to obtain a first data stream, that is, the two input data streams of the multiplexer i are the first data stream
  • the i channel data stream and the i+16th channel data stream may also be other specific implementation manners.
  • a specific implementation manner is that the multiplexer i multiplexes the i-th channel data stream and the 31-i-th channel data stream to obtain a first data stream.
  • the two input data streams of any multiplexer can satisfy the following constraints: one of the input data streams comes from one of channel data stream 0-channel data stream 15, and the other input data stream comes from channel data stream One of the 16-channel data streams 31 . Its specific implementation manner can be simply expanded according to the foregoing embodiments, and its specific implementation manner is known to those of ordinary skill in the art, and will not be repeated here.
  • each channel data stream 16 to 31 34 symbols in each channel data stream, a total of 544 symbols come from the same RS codeword; and for channel data streams 16 to 31, the consecutive symbols in each channel data stream 68 symbols for a total of 1088 symbols from the other 2 RS codewords.
  • Fig. 61 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • One packet interleaver as shown in Figure 61 is used to perform packet interleaving on 4 channel data streams to obtain a first data stream, and a total of eight packet interleavers as shown in Figure 61 are required for packet interleaving.
  • 2 channel data streams are from two of channel data stream 0-channel data stream 15, and the other 2 channel data streams are from two of channel data stream 16-channel data stream 31 strip.
  • the symbol to the third symbol come from different RS codewords respectively, and the fourth symbol to the seventh symbol come from different RS codewords respectively.
  • a specific implementation method is that the packet interleaver i performs the 2*i channel data stream, the 2*i+1 channel data stream, the 2*i+16 channel data stream, and the 2*i+17 channel data stream.
  • a specific interleaving method of packet interleaving is: from the 2*i channel data stream, the 2*i+1 channel data stream, the 2*i+16 channel data stream, and the 2*i+17 channel data stream
  • a specific implementation is that among the 8 consecutive symbols in the first data stream i above, the 0th and 1st symbols come from the 2*i channel data stream, and the 2nd and 3rd symbols come from the 2*i channel data stream. +16 channel data streams, the 4th and 5th symbols come from the 2*i+1 channel data stream, and the 6th and 7th symbols come from the 2*i+17th channel data stream.
  • Fig. 62 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. It should be noted that the packet interleaving can also be implemented by using symbol-mux as shown in Figure 62, where Represents the jth consecutive 2 symbols in the 2*i channel data stream, Represents the jth consecutive 2 symbols in the 2*i+16th channel data stream, Represents the jth consecutive 2 symbols in the 2*i+1 channel data stream, Indicates the jth consecutive 2 symbols in the 2*i+17th channel data stream, j ⁇ 0, and and Continue in the first data stream obtained by multiplexing. That is, the data sequence of the first data stream i after 4:1 symbol multiplexing is where 0 ⁇ i ⁇ 7.
  • symbol-mux can also be implemented by multi-level symbol multiplexing, for example, the 2*i channel data stream and the 2*i+16 channel data stream Multiplexing is performed to obtain the first multiplexed data stream, the 2*i+1 channel data stream and the 2*i+17 channel data stream are subjected to 2:1 symbol multiplexing to obtain the second multiplexed data stream, and then the above Perform 2:1 symbol multiplexing on the first multiplexed data stream and the first multiplexed data stream to obtain the first data stream i.
  • Embodiment 8 On the basis of Embodiment 7, this Embodiment 8 provides another specific implementation method of packet interleaving Mode.
  • channel data alignment processing is based on two RS symbol alignment processing.
  • the 0th symbol of the 2 consecutive symbols obtained by the above-mentioned 2*i channel data stream, and the 0th symbol of the 2 consecutive symbols obtained by the 2*i+1 channel data stream come from Different RS codewords, the first symbol of the 2 consecutive symbols obtained by the 2*i channel data stream, the first symbol of the 2 consecutive symbols obtained by the 2*i+1 channel data stream From different RS codewords; the 0th symbol in the 2 consecutive symbols obtained by the above-mentioned 2*i+16th channel data stream, and the 0th symbol in the 2 consecutive symbols obtained by the 2*i+17th channel data stream
  • the 0th symbol comes from a different RS codeword, the first symbol of the 2 consecutive symbols obtained by the 2*i+16 channel data stream, and the 2 consecutive symbols obtained by the 2*i+17 channel data stream
  • the first symbol in the symbols is from a different RS codeword.
  • Fig. 63 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. Combining the above features, another specific implementation of packet interleaving is shown in the example (a) of Figure 63.
  • the 0th and 4th symbols are from the 2* i channel data stream
  • the 1st and 5th symbols come from the 2*i+16 channel data stream
  • the 2nd and 6th symbols come from the 2*i+1 channel data stream
  • the 3rd and 7th The symbols come from the 2*i+17th channel data stream.
  • the above implementation is equivalent to obtaining one symbol from each of the four channel data streams and performing interleaving to obtain four consecutive symbols in the data stream i, wherein the first data stream i Among the 4 consecutive symbols in , the 0th symbol comes from the 2*i channel data stream, the 1st symbol comes from the 2*i+16th channel data stream, and the 2nd symbol comes from the 2*i+1 channel data stream Channel data stream, the third symbol comes from the 2*i+17th channel data stream.
  • packet interleaving is shown in the example (b) of Figure 63, among the 8 consecutive symbols in the first data stream i mentioned above, the 0th and 4th symbols come from the 2*i channel data stream, the 1st and 5th symbols come from the 2*i+1 channel data stream, the 2nd and 6th symbols come from the 2*i+16th channel data stream, the 3rd and 7th symbols come from the 2nd channel *i+17 channel data streams.
  • the above implementation is equivalent to obtaining one symbol from each of the four channel data streams and performing interleaving to obtain four consecutive symbols in the data stream i, wherein the first data stream i Among the 4 consecutive symbols in , the 0th symbol comes from the 2*i channel data stream, the 1st symbol comes from the 2*i+1 channel data stream, and the 2nd symbol comes from the 2*i+16th channel data stream Channel data stream, the third symbol comes from the 2*i+17th channel data stream.
  • the packet interleaving may also be implemented by using symbol-mux.
  • Symbol multiplexing obtains 1 symbol from each of the 4 channel data streams, where Indicates the j-th symbol in the 2*i-th channel data stream, Indicates the jth symbol in the 2*i+16th channel data stream, Indicates the jth symbol in the 2*i+1 channel data stream, Indicates the jth symbol in the 2*i+17th channel data stream, j ⁇ 0, and and Continue in the first data stream obtained by 4:1 symbol multiplexing. That is, the data sequence of the first data stream i after 4:1 symbol multiplexing is where 0 ⁇ i ⁇ 7. in and from 4 different RS codewords.
  • symbol multiplexing obtains 1 symbol from 4 channel data streams respectively, and Continue in the first data stream obtained by 4:1 symbol multiplexing. That is, the data sequence of the first data stream i after 4:1 symbol multiplexing is where 0 ⁇ i ⁇ 7.
  • Fig. 64 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • One packet interleaver as shown in Figure 64 is used to perform packet interleaving on 4 channel data streams to obtain a first data stream, and a total of eight packet interleavers as shown in Figure 64 are required for packet interleaving.
  • 2 channel data streams are from two odd-numbered channel data streams in channel data stream 0-channel data stream 31
  • the other 2 channel data streams are from channel data stream 0-channel data stream Two even channel data streams in 31.
  • the symbol to the third symbol come from different RS codewords respectively
  • the fourth symbol to the seventh symbol come from different RS codewords respectively.
  • a specific implementation method is that the packet interleaver i performs the 4*i channel data stream, the 4*i+1 channel data stream, the 4*i+2 channel data stream, and the 4*i+3 channel data stream
  • a specific interleaving method of packet interleaving is: from the 4*i channel data stream, the 4*i+1 channel data stream, the 4*i+2 channel data stream, and the 4*i+3 channel data stream
  • a specific implementation is that among the 8 consecutive symbols in the first data stream i above, the 0th and 1st symbols come from the 4*i channel data stream, and the 2nd and 3rd symbols come from the 4*i channel data stream. +1 channel data stream, the 4th and 5th symbols come from the 4*i+2 channel data stream, and the 6th and 7th symbols come from the 4*i+3 channel data stream.
  • Fig. 65 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. It should be noted that the packet interleaving can also be realized by using symbol-mux as shown in Figure 65, where Indicates the jth consecutive 2 symbols in the 4*i channel data stream, Indicates the jth consecutive 2 symbols in the 4*i+1 channel data stream, Represents the jth consecutive 2 symbols in the 4*i+2 channel data stream, Indicates the jth consecutive 2 symbols in the 4*i+3 channel data stream, j ⁇ 0, and and Continue in the first data stream obtained by multiplexing. That is, the data sequence of the first data stream i after 4:1 symbol multiplexing is where 0 ⁇ i ⁇ 7.
  • the above 4:1 symbol multiplexing can also be implemented by multi-level symbol multiplexing, for example, the 4*i channel data stream and the 4*i+1 channel data stream Multiplexing is performed to obtain the first multiplexed data stream, the 4*i+2 channel data stream and the 4*i+3 channel data stream are subjected to 2:1 symbol multiplexing to obtain the second multiplexed data stream, and then the above Perform 2:1 symbol multiplexing on the first multiplexed data stream and the first multiplexed data stream to obtain the first data stream i.
  • Embodiment 10 On the basis of Embodiment 9, this Embodiment 10 provides another specific implementation of packet interleaving Way.
  • channel data alignment processing is based on two RS symbol alignment processing.
  • the 0th symbol among the 2 consecutive symbols obtained by the above 4*i channel data stream and the 0th symbol among the 2 consecutive symbols obtained by the 4*i+2 channel data stream come from Different RS codewords, the first symbol of the 2 consecutive symbols obtained by the 4*i channel data stream and the first symbol of the 2 consecutive symbols obtained by the 4*i+2 channel data stream From different RS codewords; the 0th symbol in the 2 consecutive symbols obtained by the above 4*i+1 channel data stream and the 0th symbol in the 2 consecutive symbols obtained by the 4*i+3 channel data stream
  • the 0th symbol comes from a different RS codeword, the first symbol of the 2 consecutive symbols obtained by the 4*i+1 channel data stream is the same as the 2 consecutive symbols obtained by the 4*i+3 channel data stream
  • the first symbol in the symbols is from a different RS codeword.
  • Fig. 66 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. Combining the above features, another specific implementation of packet interleaving is shown in the example (a) of Figure 66.
  • the 0th and 4th symbols are from the 4th * i channel data stream
  • the 1st and 5th symbols come from the 4*i+1 channel data stream
  • the 2nd and 6th symbols come from the 4*i+2 channel data stream
  • the 3rd and 7th The symbols come from the 4*i+3 channel data stream.
  • the above implementation is equivalent to obtaining one symbol from each of the four channel data streams and performing interleaving to obtain four consecutive symbols in the data stream i, wherein the first data stream i Among the 4 consecutive symbols in , the 0th symbol comes from the 4*i channel data stream, the 1st symbol comes from the 4*i+1 channel data stream, and the 2nd symbol comes from the 4*i+2 channel data stream Channel data stream, the third symbol comes from the 4*i+3 channel data stream.
  • packet interleaving is shown in the example (b) of Figure 66.
  • the 0th and 4th symbols come from the 4*i channel data stream
  • the 1st and 5th symbols come from the 4*i+2 channel data stream
  • the 2nd and 6th symbols come from the 4*i+1 channel data stream
  • the 3rd and 7th symbols come from the 4th channel data stream *i+3 channel data streams.
  • the above implementation is equivalent to obtaining one symbol from each of the four channel data streams and performing interleaving to obtain four consecutive symbols in the data stream i, wherein the first data stream i Among the 4 consecutive symbols in , the 0th symbol comes from the 4*i channel data stream, the 1st symbol comes from the 4*i+2 channel data stream, and the 2nd symbol comes from the 4*i+1 channel data stream Channel data stream, the third symbol comes from the 4*i+3 channel data stream.
  • the packet interleaving may also be implemented by using symbol-mux.
  • Symbol multiplexing obtains 1 symbol from each of the 4 channel data streams, where Indicates the j-th symbol in the 4*i-th channel data stream, Indicates the jth symbol in the 4*i+1 channel data stream, Indicates the jth symbol in the 4*i+2 channel data stream, Indicates the jth symbol in the 4*i+3 channel data stream, j ⁇ 0, and and Continue in the first data stream obtained by 4:1 symbol multiplexing. That is, the data sequence of the first data stream i after 4:1 symbol multiplexing is where 0 ⁇ i ⁇ 7. in and from 4 different RS codewords.
  • symbol multiplexing obtains 1 symbol from 4 channel data streams respectively, and Continue in the first data stream obtained by 4:1 symbol multiplexing. That is, the data sequence of the first data stream i after 4:1 symbol multiplexing is where 0 ⁇ i ⁇ 7.
  • 2 of the 4 input data streams come from 2 of the 0-15 PCS channel data streams, and the other 2 from the 16- 2 of the 31 PCS channel data streams feature, first perform de-mux and then restore 32 PCS channel data streams, in which each physical channel data stream demultiplexes de-mux to obtain 4 PCS channel data streams, and then Use the known alignment marker (Alignment marker) of the PCS channel to carry out the identification lock (alignment lock) of the channel data stream; then do not need to perform channel reordering, directly demultiplex the 4 PCS obtained by de-muxing the above physical channel data stream
  • the channel data streams are subjected to the packet interleaving (or symbol multiplexing) described in Embodiment 7 or Embodiment 8 or Embodiment 9 or Embodiment 10, and the four channel data streams are subjected to packet interleaving (or symbol multiplexing) to obtain one A data stream
  • each channel data stream 16 to 31 34 symbols in each channel data stream, a total of 544 symbols come from the same RS codeword; and for channel data streams 16 to 31, the consecutive symbols in each channel data stream 68 symbols for a total of 1088 symbols from the other 2 RS codewords.
  • Fig. 67 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • a packet interleaver as shown in Figure 67 is used to perform packet interleaving on 8 channel data streams to obtain a first data stream, and a total of 4 packet interleavers as shown in Figure 67 are required for packet interleaving.
  • 4 channel data streams are from 4 in channel data stream 0-channel data stream 15, and the other 4 channel data streams are from 4 in channel data stream 16-channel data stream 31 strip.
  • a specific implementation is that among the 16 consecutive symbols in the first data stream i, the 0th and 1st symbols come from the 4*i channel data stream, and the 2nd and 3rd symbols come from the 4*i+ 16 channel data streams, the 4th and 5th symbols come from the 4*i+1 channel data stream, the 6th and 7th symbols come from the 4*i+17th channel data stream, the 8th and 9th The symbols come from the 4*i+2 channel data stream, the 10th and 11th symbols come from the 4*i+18th channel data stream, and the 12th and 13th symbols come from the 4*i+3 channel data stream , the 14th and 15th symbols come from the 4*i+19th channel data stream.
  • Fig. 68 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. It should be noted that the packet interleaving can also be implemented by using symbol-mux as shown in Figure 68, where Indicates the jth consecutive 2 symbols in the 4*i channel data stream, Represents the jth consecutive 2 symbols in the 4*i+16th channel data stream, Indicates the jth consecutive 2 symbols in the 4*i+1 channel data stream, Indicates the jth consecutive 2 symbols in the 4*i+17th channel data stream, Represents the jth consecutive 2 symbols in the 4*i+2 channel data stream, Represents the jth consecutive 2 symbols in the 4*i+18th channel data stream, Represents the jth consecutive 2 symbols in the 4*i+3 channel data stream, Indicates the jth consecutive 2 symbols in the 4*i+19th channel data stream, j ⁇ 0, and and Continue in the first data stream i obtained by multiplexing. That is, the data sequence of
  • symbol-mux may also be implemented by using multi-level symbol multiplexing, for example, using 3 levels of 2:1 symbol multiplexing.
  • Embodiment 12 On the basis of Embodiment 11, this Embodiment 12 provides another specific implementation manner of packet interleaving.
  • the 4*i+1 channel data stream, the 4*i+2 channel data stream, the 4*i+3 channel data stream, the 4*i+16 channel data stream From the 4*i channel data stream, the 4*i+1 channel data stream, the 4*i+2 channel data stream, the 4*i+3 channel data stream, the 4*i+16 channel data stream.
  • channel data alignment processing is based on two RS symbol alignment processing.
  • the 0th symbol of the 2 consecutive symbols obtained by the above-mentioned 4*i channel data stream, and the 0th symbol of the 2 consecutive symbols obtained by the 4*i+1 channel data stream come from Different RS codewords, the first symbol of the 2 consecutive symbols obtained by the 4*i channel data stream, the first symbol of the 2 consecutive symbols obtained by the 4*i+1 channel data stream From different RS codewords; the 0th symbol in the 2 consecutive symbols obtained by the 4*i+2 channel data stream, the 0th symbol in the 2 consecutive symbols obtained by the 4*i+3 channel data stream 0 symbols come from different RS codewords, the first symbol of the 2 consecutive symbols obtained by the 4*i+2 channel data stream, and the 2 consecutive symbols obtained by the 4*i+3 channel data stream The first symbol in the continuation symbols comes from different RS codewords; the 0th symbol in the 2 consecutive symbols obtained by the above 4*i+16th channel data stream, the 4*i+17th channel data stream The 0th symbol of the 2 consecutive symbols
  • Fig. 69 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. Combining the above features, another specific implementation of packet interleaving is shown in the example (a) of Figure 69, among the 16 consecutive symbols in the above-mentioned first data stream i, the 0th and 8th symbols come from the 4th *i channel data stream, the 1st and 9th symbols come from the 2*i+16 channel data stream, the 2nd and 10th symbols come from the 4*i+1 channel data stream, the 3rd and 11th The symbols come from the 4*i+17 channel data stream, the 4th and 12th symbols come from the 4*i+2 channel data stream, and the 5th and 13th symbols come from the 4*i+18 channel data stream, the 6th and 14th symbols come from the 4*i+3 channel data stream, and the 7th and 15th symbols come from the 4*i+19 channel data stream.
  • the above implementation is equivalent to obtaining one symbol from each of the eight channel data streams, and performing interleaving to obtain eight consecutive symbols in the data stream i, wherein the first data stream i Among the 8 consecutive symbols in , the 0th symbol comes from the 4*i channel data stream, the 1st symbol comes from the 4*i+16th channel data stream, and the 2nd symbol comes from the 4*i+1 channel data stream Channel data stream, the third symbol comes from the 4*i+17 channel data stream, the fourth symbol comes from the 4*i+2 channel data stream, and the fifth symbol comes from the 4*i+18 channel data stream, the sixth symbol comes from the 4*i+3 channel data stream, and the seventh symbol comes from the 4*i+19 channel data stream.
  • the 0th and 8th symbols come from the 4*i channel Data stream
  • the 1st and 9th symbols come from the 4*i+1 channel data stream
  • the 2nd and 10th symbols come from the 4*i+16th channel data stream
  • the 3rd and 11th symbols come from the 4th channel data stream 4*i+17 channel data streams
  • the 4th and 12th symbols come from the 4*i+2 channel data streams
  • the 5th and 13th symbols come from the 4*i+3 channel data streams
  • the 6th and the 14th symbol come from the 4*i+18th channel data stream
  • the 7th and 15th symbols come from the 4*i+19th channel data stream.
  • the above implementation is equivalent to obtaining one symbol from each of the eight channel data streams, and performing interleaving to obtain eight consecutive symbols in the data stream i, wherein the first data stream i Among the 8 consecutive symbols in , the 0th symbol comes from the 4*i channel data stream, the 1st symbol comes from the 4*i+1 channel data stream, and the 2nd symbol comes from the 4*i+16th channel data stream Channel data stream, the third symbol comes from the 4*i+17 channel data stream, the fourth symbol comes from the 4*i+2 channel data stream, and the fifth symbol comes from the 4*i+3 channel data stream, the 6th symbol comes from the 4*i+18th channel data stream, and the 7th symbol comes from the 4*i+19th channel data stream.
  • the packet interleaving may also be implemented by using symbol-mux.
  • Symbol multiplexing obtains 1 symbol from each of the 8 channel data streams, where Indicates the j-th symbol in the 4*i-th channel data stream, Indicates the jth symbol in the 4*i+16th channel data stream, Indicates the jth symbol in the 4*i+1 channel data stream, Indicates the jth symbol in the 4*i+17th channel data stream, Indicates the jth symbol in the 4*i+2 channel data stream, Indicates the jth symbol in the 4*i+18th channel data stream, Indicates the jth symbol in the 4*i+3 channel data stream, Indicates the jth symbol in the 4*i+19th channel data stream, j ⁇ 0, and Continue in the first data stream obtained by 8:1 symbol multiplexing. That is, the data sequence of the first data stream i after 8:1 symbol multiplexing is
  • symbol multiplexing obtains 1 symbol from 8 channel data streams respectively, and Consecutive in the first data stream resulting from 8:1 symbol multiplexing. That is, the data sequence of the first data stream i after 8:1 symbol multiplexing is where 0 ⁇ i ⁇ 3.
  • FIG. 70 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application.
  • a packet interleaver as shown in Figure 70 is used to perform packet interleaving on 8 channel data streams to obtain a first data stream, and a total of 4 packet interleavers as shown in Figure 70 are required for packet interleaving.
  • 4 channel data streams come from 4 odd-numbered channel data streams in channel data stream 0-channel data stream 31, and the other 4 channel data streams come from channel data stream 0-channel data stream 4 even channel data streams in 31.
  • a specific implementation method is that the packet interleaver i performs the 8*i channel data stream, the 8*i+1 channel data stream, the 8*i+2 channel data stream, and the 8*i+3 channel data stream Channel data stream, 8*i+4 channel data stream, 8*i+5 channel data stream, 8*i+6 channel data stream, 8*i+7 channel data stream for packet interleaving
  • a specific implementation is that among the 16 consecutive symbols in the first data stream i, the 0th and 1st symbols come from the 8*i channel data stream, and the 2nd and 3rd symbols come from the 8*i+ 1 channel data stream, the 4th and 5th symbols come from the 8*i+2 channel data stream, the 6th and 7th symbols
  • the symbols come from the 8*i+3 channel data stream, the 8th and 9th symbols come from the 8*i+4 channel data stream, and the 10th and 11th symbols come from the 8*i+5 channel data stream, the 12th and 13th symbols come from the 8*i+6 channel data stream, and the 14th and 15th symbols come from the 8*i+7 channel data stream.
  • Fig. 71 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. It should be noted that the packet interleaving can also be implemented by symbol-mux as shown in Figure 71, where Represents the jth consecutive 2 symbols in the 8*i channel data stream, Represents the jth consecutive 2 symbols in the 8*i+1 channel data stream, Represents the jth consecutive 2 symbols in the 8*i+2 channel data stream, Represents the jth consecutive 2 symbols in the 8th*i+3 channel data stream, Indicates the j-th group of consecutive 2 symbols in the 8*i+4 channel data stream, Indicates the jth consecutive 2 symbols in the 8th*i+5 channel data stream, Represents the jth consecutive 2 symbols in the 8*i+6 channel data stream, Indicates the jth consecutive 2 symbols in the 8th*i+7 channel data stream, j ⁇ 0, and and Continue in the first data stream i obtained by multiplexing. That is, the data sequence
  • symbol-mux may also be implemented by using multi-level symbol multiplexing, for example, using 3 levels of 2:1 symbol multiplexing.
  • Embodiment 14 On the basis of Embodiment 13, this Embodiment 14 provides another specific implementation manner of packet interleaving.
  • the 8*i channel data stream From the 8*i channel data stream, the 8*i+1 channel data stream, the 8*i+2 channel data stream, the 8*i+3 channel data stream, the 8*i+4 channel data stream
  • channel data alignment processing is based on two RS symbol alignment processing.
  • the 0th symbol among the 2 consecutive symbols obtained by the above-mentioned 8*i channel data stream and the 0th symbol among the 2 consecutive symbols obtained by the 8*i+2 channel data stream come from Different RS codewords, the first symbol of the 2 consecutive symbols obtained by the 8*i channel data stream, and the first symbol of the 2 consecutive symbols obtained by the 8*i+2 channel data stream From different RS codewords; the 0th symbol in the 2 consecutive symbols obtained by the 8*i+1 channel data stream and the 0th symbol in the 2 consecutive symbols obtained by the 8*i+3 channel data stream 0 symbols come from different RS codewords, the first symbol of the 2 consecutive symbols obtained by the 8*i+1 channel data stream, and the 2 consecutive symbols obtained by the 8*i+3 channel data stream
  • the first symbol in is from a different RS codeword;
  • the 0th symbol in the 2 consecutive symbols obtained by the 8*i+4 channel data stream is the same as the 2 consecutive symbols obtained by the 8*i+6 channel data stream
  • Fig. 72 is a schematic diagram of another application scenario of packet interleaving in the embodiment of the present application. Combining the above features, another specific implementation of packet interleaving is shown in the example (a) of Figure 72.
  • the 0th and 8th symbols come from the 8th *i channel data stream
  • the 1st and 9th symbols come from the 8*i+1 channel data stream
  • the 2nd and 10th symbols come from the 8*i+2 channel data stream
  • the 3rd and 11th The symbols come from the 8*i+3 channel data stream
  • the 4th and 12th symbols come from the 8*i+4 channel data stream
  • the 5th and 13th symbols come from the 8*i+5 channel data stream
  • the 6th and 14th symbols come from the 8*i+6 channel data stream
  • the 7th and 15th symbols come from the 8*i+7 channel data stream.
  • the above implementation is equivalent to obtaining one symbol from each of the eight channel data streams, and performing interleaving to obtain eight consecutive symbols in the data stream i, wherein the first data stream i Among the 8 consecutive symbols in , the 0th symbol comes from the 8*i channel data stream, the 1st symbol comes from the 8*i+1 channel data stream, and the 2nd symbol comes from the 8*i+2 channel data stream Channel data stream, the third symbol comes from the 8*i+3 channel data stream, the fourth symbol comes from the 8*i+4 channel data stream, and the fifth symbol comes from the 8*i+5 channel data stream, the sixth symbol comes from the 8*i+6 channel data stream, and the seventh symbol comes from the 8*i+7 channel data stream.
  • the 0th and 8th symbols come from the 8*i channel Data stream
  • the 1st and 9th symbols come from the 8*i+2 channel data stream
  • the 2nd and 10th symbols come from the 8*i+1 channel data stream
  • the 3rd and 11th symbols come from the 8th*i+1 channel data stream 8*i+3 channel data streams
  • the 4th and 12th symbols come from the 8*i+4 channel data streams
  • the 5th and 13th symbols come from the 8*i+6 channel data streams
  • the 6th and the 14th symbol come from the 8*i+5th channel data stream
  • the 7th and 15th symbols come from the 8*i+7th channel data stream.
  • the above implementation is equivalent to obtaining one symbol from each of the eight channel data streams, and performing interleaving to obtain eight consecutive symbols in the data stream i, wherein the first data stream i Among the 8 consecutive symbols in , the 0th symbol comes from the 8*i channel data stream, the 1st symbol comes from the 8*i+2 channel data stream, and the 2nd symbol comes from the 8*i+1 channel data stream Channel data stream, the third symbol comes from the 8*i+3 channel data stream, the fourth symbol comes from the 8*i+4 channel data stream, and the fifth symbol comes from the 8*i+6 channel data stream, the 6th symbol comes from the 8*i+5 channel data stream, and the 7th symbol comes from the 8*i+7 channel data stream.
  • the packet interleaving can also be realized by using symbol-mux, where Indicates the jth symbol in the 8*i channel data stream, Indicates the jth symbol in the 8*i+1 channel data stream, Indicates the j-th symbol in the 8*i+2 channel data stream, Indicates the jth symbol in the 8*i+3 channel data stream, Indicates the jth symbol in the 8th*i+4 channel data stream, Indicates the j-th symbol in the 8*i+5 channel data stream, Indicates the j-th symbol in the 8*i+6 channel data stream, Indicates the j-th symbol in the 8*i+7 channel data stream, j ⁇ 0, and and Continue in the first data stream i obtained by multiplexing.
  • the data sequence of the first data stream i after 8:1 symbol multiplexing is where 0 ⁇ i ⁇ 3.
  • Another specific symbol multiplexing is that symbol multiplexing obtains 1 symbol from 8 channel data streams respectively, and Continue in the first data stream obtained by 8:1 symbol multiplexing. That is, the data sequence of the first data stream i after 8:1 symbol multiplexing is where 0 ⁇ i ⁇ 3.
  • FIG. 73 is a schematic structural diagram of performing convolutional interleaving on m first data streams in an embodiment of the present application.
  • m pieces of first data streams may be convolutionally interleaved through m convolutional interleavers.
  • Each convolutional interleaver performs convolutional interleaving processing on the input first data stream in units of d symbols to obtain a second data stream whose data order is disrupted, wherein the d symbols are used for the packet interleaver to perform packet interleaving and interleaving.
  • each convolutional interleaver performs convolutional interleaving on the input first data stream in a similar manner.
  • each convolutional interleaver includes p delay lines (delay lines), and each convolutional interleaver delays the input first data stream according to the p delay lines to obtain the second data stream.
  • p is an integer greater than 1
  • 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 between the number of storage units of every two adjacent delay lines is Q.
  • Each storage unit is used to store d symbols.
  • the symbols in each channel data stream are sequentially input to p delay lines according to the serial numbers of p delay lines, each delay line inputs d symbols at a time and outputs d symbols at a time, and one of the second data streams
  • the consecutive p*d symbols include the d symbols output by each delay line.
  • Q is an integer greater than or equal to 1.
  • p delay lines respectively include 0 storage units, Q storage units, 2Q storage units, ..., (p-1)Q storage units, and each storage unit is used to store d symbols, then, p
  • the delay lines respectively correspond to p delay values, and the delay values include 0 symbols, Q ⁇ d symbols, 2Q ⁇ d symbols, . . . , (p ⁇ 1)Q ⁇ d symbols.
  • the delay line does not include a storage unit, the delay of the delay line is 0 symbols, that is, transparent transmission without delay.
  • the input and output switches of the convolutional interleaver are located on the same delay line. After the current delay line inputs d symbols and outputs d symbols at a time, switch the switch To the next delay line, to ensure that the symbols in each channel data stream are input to p delay lines in sequence according to the sequence numbers of p delay lines, and the consecutive p*d symbols in the first data stream include each delay line The d symbols of the output.
  • the specific data read and write operations are as follows: Read d symbols from the memory cell closest to the output port of the current delay line. The d symbols stored in each storage unit in the current delay line are transferred to the next storage unit. Then write d symbols into 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, and so on.
  • the structure of the convolutional interleaver is as shown in FIG. 12(a) above, and the number of storage units in the p delay lines decreases sequentially according to the serial numbers of the p delay lines. That is, the delay line 0 has (p-1) Q storage units, and each delay line sequentially reduces Q storage units, and the delay line p-1 has 0 storage units.
  • d(p*Q+1) ⁇ L2, L2 t/s*L1, so that the consecutive d*p symbols in the second data stream r output by the convolutional interleaver r come from at most different v *p codewords, 0 ⁇ r ⁇ m-1.
  • the structure of the convolutional interleaver is as shown in FIG. 12(b) above, and the number of storage units in the p delay lines increases sequentially according to the serial numbers of the p delay lines. That is, the delay line 0 has 0 storage units, each delay line has Q storage units sequentially added, and the delay line p ⁇ 1 has (p ⁇ 1)Q storage units.
  • d(p*Q-1) ⁇ L2, L2 t/s*L1, so that the consecutive d*p symbols in the second data stream r output by the convolutional interleaver r come from at most different v *p codewords, 0 ⁇ r ⁇ n-1.
  • the convolutional interleaving process in FIG. 12( a ) and the convolutional interleaving process in FIG. 12( b ) are inverse operations of each other. That is to say, when the transmission-end processing module adopts the convolutional interleaving structure shown in FIG. 12( a ), the convolutional de-interleaving corresponding to the receiving-end processing module adopts the structure shown in FIG. 12( b ). Similarly, when the transmission processing module adopts the convolutional interleaving structure shown in Figure 12(b), the convolutional deinterleaving corresponding to the receiving processing module adopts the structure shown in Figure 12(a).
  • any convolutional interleaver among the n convolutional interleavers may adopt one of the aforementioned Fig. 12(a) or Fig. 12(b).
  • n convolutional interleavers can all adopt the structure shown in Figure 12(a); or, n convolutional interleavers can also all adopt the structure shown in Figure 12(b); or, also Part of the convolutional interleaver may adopt the structure shown in FIG. 12( a ), and the remaining convolutional interleaver may adopt the structure shown in FIG. 12( b ).
  • Embodiment 1 The convolutional interleaving provided in Embodiment 1 is realized on the basis of the packet interleaving provided in Embodiment 1 in step 5101 above.
  • Fig. 74 is a schematic diagram of an embodiment of a convolutional interleaver in the embodiment of the present application.
  • C r () as shown in FIG. 74 represents one symbol (10 bits) in the first data stream r (0 ⁇ r ⁇ m-1).
  • C r (12t), C r (12t+1), C r (12t+2), C r (12t+3) means that the first data stream r is currently input to the 4 symbols of the delay line 0 and C r (12t-24Q), C r (12t-24Q+1), C r (12t-24Q+2), C r (12t-24Q+3) are the 4 symbols output by delay line 0;
  • C r (12t+ 4), C r (12t+5), C r (12t+6), C r (12t+7) represent the first 4 symbols of the first data stream r input to delay line 1 and C r (12t-12Q +4),C r (12t-12Q+5),C r (12t-12Q+6), C r (12t-12Q+7) is the 4 symbols output by delay line 1;
  • FIG. 75 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • the total time delay of interleaving and deinterleaving during business is 50ns.
  • Embodiment 2 This embodiment adopts a newly designed convolutional interleaver on the basis of Embodiment 1, so as to obtain a solution with lower delay but suboptimal error correction performance.
  • Fig. 76 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • C r () as shown in FIG. 76 represents one symbol (10 bits) in the first data stream r (0 ⁇ r ⁇ m-1).
  • C r (8t), C r (8t+1), C r (8t+2), C r (8t+3) represent the 4 symbols (40bits) that the first data stream r is currently input to the delay line 0
  • C r (8t-8Q), C r (8t-8Q+1), C r (8t-8Q+2), C r (8t-8Q+3) are the 4 symbols output by delay line 0;
  • FIG. 77 is a schematic diagram of another embodiment of the convolutional interleaver in the embodiment of the present application.
  • the total time delay of service interleaving and deinterleaving is about 26ns.

Landscapes

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

Abstract

本申请实施例公开了一种数据处理方法及数据处理装置。本申请实施例方法包括如下步骤。对n条通道数据流分别进行卷积交织得到n条第一数据流。其中,n>1,n条通道数据流都经过第一FEC编码。第一FEC编码后的每a个码字分布在b条通道数据流中,a≤b≤n,a≥1。每条第一数据流中连续的z个符号来自z个不同的码字,z>1。之后,对n条第一数据流中的每K条第一数据流进行复用得到1条第二数据流,以得到共m条第二数据流。其中,n条第一数据流包括G个第一数据流子集,不同第一数据流子集中的符号来自不同码字,m=n/K,K>1,G>1。每条第二数据流中连续的y个符号来自y个不同的码字,y>z。

Description

一种数据处理方法和数据处理装置
本申请要求于2022年01月28日提交中国专利局、申请号为202210109956.X、发明名称为“一种数据处理方法和数据处理装置”的中国专利申请的优先权、于2022年03月23日提交中国专利局、申请号为202210290887.7、发明名称为“一种数据处理方法和数据处理装置”的中国专利申请的优先权、于2022年09月01日提交中国专利局、申请号为202211065772.4、发明名称为“一种数据处理方法和数据处理装置”的中国专利申请的优先权、于2022年10月24日提交中国专利局、申请号为202211305113.3、发明名称为“一种数据处理方法和数据处理装置”的中国专利申请的优先权和于2022年11月18日提交中国专利局、申请号为202211448533.7、发明名称为“一种数据处理方法和数据处理装置”的中国专利申请的优先权,其全部内容通过应用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种数据处理方法和数据处理装置。
背景技术
在5G、云计算、大数据和人工智能等持续推动下,光通信系统及光传输网(optical transport network,OTN)正朝着大容量和超高速方向发展。采用前向纠错编码(forward error correction,FEC)对传输的数据进行纠错,能够解决传输误码,从接收数据中恢复出发送端发送的原始数据。
当前提出有一种级联FEC的传输方案,发端设备和发端处理模块通过连接单元接口(attachment unit interface,AUI)连接。发端设备对待传输数据进行第一FEC编码,并将第一FEC编码后的数据发送至发端处理模块。发端处理模块对第一FEC编码后的数据再进行第二FEC编码,并将第二FEC编码后的数据通过信道传输至数据接收端。具体地,发端处理模块会收到多路数据流,要分别先对多路数据流先进行卷积交织,再对卷积交织后的每一路数据流进行第二FEC编码。应理解,为了提升性能应当使得参与第二FEC编码的一路数据流来自于第一FEC编码后的多个码字,不过这需要采用时延较长的卷积交织来实现,在要求低时延的场景下应用效果不理想。
发明内容
本申请实施例提供了一种数据处理方法及数据处理装置。可以在采用较低时延的场景下获得较好的级联FEC方案性能。
第一方面,本申请提供了一种数据处理方法,该方法包括如下步骤。首先,对n条通道数据流分别进行卷积交织得到n条第一数据流。其中,n为大于1的整数,n条通道数据流都经过第一FEC编码。第一FEC编码后的每a个码字分布在b条通道数据流中,a≤b≤n,n能被b整除,a为大于或等于1的整数。每条第一数据流中连续的z个符号来自z个不同的码 字,z为大于1的整数。之后,对n条第一数据流中的每K条第一数据流进行复用得到1条第二数据流,以得到共m条第二数据流。其中,n条第一数据流包括G个第一数据流子集,不同第一数据流子集中的符号来自不同码字,m=n/K,K为大于1的整数,G为大于1的整数。每条第二数据流中连续的y个符号来自y个不同的码字,y>z。若K≤G,则K条第一数据流分别来自K个第一数据流子集。若K>G,则K条第一数据流包括每个第一数据流子集中的K/G条第一数据流。
在该实施方式中,n路通道数据流都为经过外码编码后的码字流,在对n路数据流分别进行卷积交织处理,并对卷积交织后的n路数据流进行数据流复用为m路第二数据流,随后进行内码编码。采用本申请提供的数据交织和复用处理方案,通过较短的时延就能实现复用处理后的m路数据流在连续输出的多个符号来自多个不同的外码码字,使得级联FEC方案在保证较好性能的基础上也有助于降低数据交织的时延。也就是说,本申请中卷积交织处理与数据复用相结合的方案使得级联FEC方案的整体时延较低,更适用于要求低时延的应用场景。
在一些可能的实施方式中,对1条通道数据流进行卷积交织得到1条第一数据流包括:根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流。其中,p为大于1的整数,每条延迟线包括的存储单元数量各不相同。存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,z=p*d。每条通道数据流中的符号按照p条延迟线的序号依次输入p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号。Q为大于或等于1的整数,d为大于或等于1的整数。在该实施方式中,提供了一种卷积交织的具体实现方式,提高了本方案的实用性。
在一些可能的实施方式中,p条延迟线中序号最大的延迟线包括0个存储单元。其中,d(p*Q+1)≥a*N/b,d≤a,N为码字的长度,从而可以实现每条第一数据流中连续的z个符号来自z个不同的码字。
在一些可能的实施方式中,p条延迟线中序号最小的延迟线包括0个存储单元。其中,d(p*Q-1)≥a*N/b,d≤a,N为码字的长度,从而可以实现每条第一数据流中连续的z个符号来自z个不同的码字。
在一些可能的实施方式中,若K≤G,则y=K*z;若K>G,则y=G*z。采用这种复用方式可以保证在多个不同应用场景中都能实现y>z,通过较低的时延就能实现较好的级联FEC方案的性能。
在一些可能的实施方式中,每条第二数据流包括多个第二数据流符号子集,每个第二数据流符号子集包括K组符号,每组符号包括Δ个符号。其中,每个第二数据流符号子集中相邻两组符号来自不同的第一数据流子集。若K≤G,则Δ为z的约数;若K>G,则Δ=z。
在该实施方式中,由于每个第二数据流符号子集中相邻两组符号来自不同的第一数据流子集,所以经过复用后的第二数据流中连续的y个符号来自不同的y个码字,其中,y>z(y=K*z或y=G*z)。应理解,如果只通过卷积交织想得到输出数据流中连续的y个符号来自不同的y个码字,所需要的延时较高。而本方案中,在减少了卷积交织所占用时长的基础上,结合复用处理仍能达到相当的性能。并且,进行复用处理所占用的时长较短,结合卷积交织和复用 就可以通过更短的延时实现相当的性能。
在一些可能的实施方式中,每个第二数据流符号子集中第j组符号来自参与复用的K条第一数据流中第j条第一数据流,0≤j≤K-1。通过上述方式,提供了一种对参与复用的K条第一数据流进行选取的规则,保证了每个第二数据流符号子集中相邻两组符号来自不同的第一数据流子集。
在一些可能的实施方式中,若K>G,参与复用的K条第一数据流中相邻的2条第一数据流来自不同的第一数据流子集。通过上述方式,在K>G的场景下,提供了一种对参与复用的K条第一数据流进行选取的规则,保证了y=G*z。
在一些可能的实施方式中,若K>G,参与复用的每连续G条第一数据流分别来自不同的第一数据流子集。通过上述方式,在K>G的场景下,提供了一种对参与复用的K条第一数据流进行选取的规则,进一步保证了y=G*z。
在一些可能的实施方式中,n=32,K=2、4或8。通过上述方式,提供了复用器的几种具体类型,扩展了本方案的应用场景。
在一些可能的实施方式中,n=32,p=2、3、4、6或8,d=1或2。通过上述方式,提供了卷积交织器的几种具体类型,扩展了本方案的应用场景。
在一些可能的实施方式中,a=1或2,b=4、8、16。通过上述方式,提供了通道数据流的几种分布方式,扩展了本方案的应用场景。
在一些可能的实施方式中,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,方法还包括:对n条通道数据流进行通道重排序,以使得n条通道数据流按照预设顺序排列。
在一些可能的实施方式中,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,方法还包括:对n条通道数据流进行通道纠偏。在该实施方式中,提供了一种通道数据对齐的具体实现方式,增强了本方案的可实现性。
在一些可能的实施方式中,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,方法还包括:对n条通道数据流进行对齐,以使得n条通道数据流中的符号对齐。在该实施方式中,提供了另一种通道数据对齐的具体实现方式,增强了本方案的灵活性。
在一些可能的实施方式中,得到共m条第二数据流之后,方法还包括:对m条第二数据流分别进行第二FEC编码。第二FEC编码的信息位长度小于或等于y个符号。
第二方面,本申请提供了一种数据处理装置。该数据处理装置包括卷积交织器和复用器。卷积交织器用于:对n条通道数据流分别进行卷积交织得到n条第一数据流。其中,n为大于1的整数,n条通道数据流都经过第一FEC编码。第一FEC编码后的每a个码字分布在b条通道数据流中,a≤b≤n,n能被b整除,a为大于或等于1的整数。每条第一数据流中连续的z个符号来自z个不同的码字,z为大于1的整数;复用器用于:对n条第一数据流中的每K条第一数据流进行复用得到1条第二数据流,以得到共m条第二数据流。其中,n条第一数据流包括G个第一数据流子集,不同第一数据流子集中的符号来自不同码字,m=n/K,K为大于1的整数,G为大于1的整数。每条第二数据流中连续的y个符号来自y个不同的码 字,y>z。若K≤G,则K条第一数据流分别来自K个第一数据流子集。若K>G,则K条第一数据流包括每个第一数据流子集中的K/G条第一数据流。
在一些可能的实施方式中,卷积交织器具体用于:根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流。其中,p为大于1的整数,每条延迟线包括的存储单元数量各不相同。存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,z=p*d。每条通道数据流中的符号按照p条延迟线的序号依次输入p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号,Q为大于或等于1的整数,d为大于或等于1的整数。
在一些可能的实施方式中,p条延迟线中序号最大的延迟线包括0个存储单元,其中,d(p*Q+1)≥a*N/b,N为码字的长度,d≤a。
在一些可能的实施方式中,p条延迟线中序号最小的延迟线包括0个存储单元,其中,d(p*Q-1)≥a*N/b,N为码字的长度,d≤a。
在一些可能的实施方式中,若K≤G,则y=K*z;若K>G,则y=G*z。
在一些可能的实施方式中,每条第二数据流包括多个第二数据流符号子集,每个第二数据流符号子集包括K组符号,每组符号包括Δ个符号。其中,每个第二数据流符号子集中相邻两组符号来自不同的第一数据流子集。若K≤G,则Δ为z的约数;若K>G,则Δ=z。
在一些可能的实施方式中,每个第二数据流符号子集中第j组符号来自参与复用的K条第一数据流中第j条第一数据流,0≤j≤K-1。
在一些可能的实施方式中,若K>G,参与复用的K条第一数据流中相邻的2条第一数据流来自不同的第一数据流子集。
在一些可能的实施方式中,若K>G,参与复用的每连续G条第一数据流分别来自不同的第一数据流子集。
在一些可能的实施方式中,n=32,K=2、4或8。
在一些可能的实施方式中,n=32,p=2、3、4、6或8,d=1或2。
在一些可能的实施方式中,a=1或2,b=4、8、16。
在一些可能的实施方式中,数据处理装置还包括通道重排序单元,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,通道重排序单元用于:对n条通道数据流进行通道重排序,以使得n条通道数据流按照预设顺序排列。
在一些可能的实施方式中,数据处理装置还包括通道数据对齐单元,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,通道数据对齐单元用于:对n条通道数据流进行通道纠偏。
在一些可能的实施方式中,数据处理装置还包括通道数据对齐单元,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,通道数据对齐单元用于:对n条通道数据流进行对齐,以使得n条通道数据流中的符号对齐。
在一些可能的实施方式中,数据处理装置还包括编码器,得到共m条第二数据流之后,编码器用于:对m条第二数据流分别进行第二FEC编码,第二FEC编码的信息位长度小于或 等于y个符号。
第三方面,本申请提供了一种数据处理方法,该方法包括如下步骤。对n条通道数据流进行交织处理得到m条目标数据流,n为4的倍数。n条通道数据流都经过第一前向纠错FEC编码,第一FEC编码后的每a个码字分布在b条通道数据流中,a≤b≤n,n能被b整除。每条目标数据流中连续的F个符号来自F个不同的码字,F>a。每条目标数据流中连续的F个符号至少来自K1条不同的通道数据流,每条目标数据流中连续的F个符号来自n条通道数据流对齐的n个符号中最多K2个符号,K1和K2为n的约数,K2为K1的约数。每条目标数据流中连续的F个符号中最多有K3个符号来自相同的通道数据流,表示对F/K1的商进行向上取整的整数,K3个符号中任意两个符号在同一通道数据流上相隔至少K4个符号,K4≥a*N*K2/n,其中N为码字长度。
在一些可能的实施方式中,K1=n/4,K2=n/16。
在一些可能的实施方式中,对n条通道数据流进行交织处理得到m条目标数据流包括:对n条通道数据流分别进行卷积交织得到n条第一数据流。每条第一数据流中连续的z个符号来自至少e个不同的码字,z为大于1的整数,a≤e≤F,e*k2≥F。每条第一数据流中连续的z个符号中最多k1/k2个符号来自同一个码字。对n条第一数据流中的每K1条第一数据流进行分组交织得到S条目标数据流,以得到共m条目标数据流。其中,S为大于或等于1的整数,m=S*n/K1,S≥k1/k2,n条第一数据流包括K1个第一数据流分组,同一第一数据流分组中每两条第一数据流的符号来自相同的码字,K1条第一数据流分别来自K1个第一数据流分组。
在一些可能的实施方式中,对1条通道数据流进行卷积交织得到1条第一数据流包括:根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流。p为大于1的整数,p*a≥F/k2,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,z=p*d。每条通道数据流中的符号按照p条延迟线的序号依次输入p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号,Q为大于或等于1的整数,d为大于或等于1的整数,d≤a。
在一些可能的实施方式中,p条延迟线中序号最大的延迟线包括0个存储单元,其中,d(p*Q+1)≥K4。
在一些可能的实施方式中,p条延迟线中序号最小的延迟线包括0个存储单元,其中,d(p*Q-1)≥K4。
在一些可能的实施方式中,参与分组交织的K条第一数据流包括第一符号矩阵,第一符号矩阵包括K行B列个符号,B=R*p*d,R为大于或等于1的整数,经过分组交织后的S条目标数据流包括第二符号矩阵,第二符号矩阵包括S行F列个符号,K*B=S*F。第一符号矩阵中的符号至少来自F个不同码字,且第一符号矩阵中最多有R*K1/K2个符号来自相同的码字。
在一些可能的实施方式中,第二符号矩阵中每行的F个符号来自第一符号矩阵中至少列,且列中每列最多取K2个符号,表示对F/K2的商进行向上取整的整数。 第二符号矩阵中每行的F个符号包括第一符号矩阵中每行的至少个符号,表示对F/K1的商进行向下取整的整数,且第二符号矩阵中每行的F个符号包括第一符号矩阵中每行的最多个符号,表示对F/K的商进行向上取整的整数。
在一些可能的实施方式中,第二符号矩阵的每一行中来自第一符号矩阵奇数列的符号分别位于第一符号矩阵的不同行。第二符号矩阵的每一行中来自第一符号矩阵偶数列的符号位于第一符号矩阵的不同行。
在一些可能的实施方式中,第二符号矩阵的每一行中由延迟取值相同的延迟线输出的符号来自第一符号矩阵的不同行。
在一些可能的实施方式中,第二符号矩阵的每一行的最多K3个符号来自第一符号矩阵的同一行,K3个符号中任意2个符号分别由延迟差值大于或等于2*Q*d的2条延迟线输出。
在一些可能的实施方式中,对n条通道数据流进行交织处理得到m条目标数据流包括:对n条通道数据流进行第一分组交织得到T条第一数据流,每条第一数据流中连续的C个符号至少来自E个不同的码字,T=n/K1,C为a的倍数,E≥K2*a。对T条第一数据流进行卷积交织得到T条第二数据流,每条第二数据流中连续的H个符号来自至少F个不同码字,F≥E,每条第二数据流中连续的H个符号最多K1/K2个符号来自相同码字。对T条第二数据流中每条第二数据流进行第二分组交织得到S条目标数据流,以得到共m条目标数据流,m=T*S,S≥k1/K2。
在一些可能的实施方式中,参与第一分组交织的n条通道数据流包括第三符号矩阵,第三符号矩阵包括n行A列个符号,A为a的倍数,经过第一分组交织后的T条第一数据流包括第四符号矩阵,第四符号矩阵包括T行C列个符号,T为n的约数,n*A=T*C。第三符号矩阵的一列中每连续T个符号为符号子矩阵,第四符号矩阵中每一列的T个符号分别与第三符号矩阵中每个符号子矩阵一一对应。
在一些可能的实施方式中,第三符号矩阵中的符号子矩阵按第一顺序排列,第三符号矩阵中每列的第1行到第n行包括按第一顺序排列的第1个符号子矩阵到第n/T个符号子矩阵,第三符号矩阵的相邻两列中前一列的第n/T个符号子矩阵到后一列的第1个符号子矩阵为按第一顺序排列的连续2个符号子矩阵,第四符号矩阵中第1列的T个符号来自第三符号矩阵中按第一顺序排列的第一个符号子矩阵,依次类推,直到第四符号矩阵中第C列的T个符号来自第三符号矩阵中按第一顺序排列的最后一个符号子矩阵。或者,第三符号矩阵中的符号子矩阵按第二顺序排列,第三符号矩阵中每T行的第1列到第A行包括按第二顺序排列的第1个符号子矩阵到第A个符号子矩阵,第三符号矩阵的相邻两个连续T行中前T行的第A个符号子矩阵到后T行的第1个符号子矩阵为按第二顺序排列的连续2个符号子矩阵,第四符号矩阵中第1列的T个符号来自第三符号矩阵中按第二顺序排列的第一个符号子矩阵,依次类推,直到第四符号矩阵中第C列的T个符号来自第三符号矩阵中按第二顺序排列的最后一个符号子矩阵。
在一些可能的实施方式中,对1条第一数据流进行卷积交织得到1条第二数据流包括:根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,p为大于1的整数,p*E≥F,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元, 每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储C个符号,p*C=H,每条第一数据流中的符号按照p条延迟线的序号依次输入p条延迟线,每条延迟线单次输入C个符号且单次输出C个符号,1条第二数据流中连续的p*C个符号包括每条延迟线输出的C个符号,Q为大于或等于1的整数。
在一些可能的实施方式中,p条延迟线中序号最大的延迟线包括0个存储单元,其中,C(p*Q+1)≥K1*K4。
在一些可能的实施方式中,p条延迟线中序号最小的延迟线包括0个存储单元,其中,C(p*Q-1)≥K1*K4。
在一些可能的实施方式中,每条第二数据流包括R个符号集合,每个符号集合包括p个符号子集,每个符号子集包括C个符号,p个符号子集分别由p条延迟线输出,每个符号集合中的符号来自至少F个不同码字,每条目标数据流包括F个符号,R*p*C=S*F,R为大于或等于的整数。目标数据流中F个符号来自至少个不同的符号子集,且个不同的符号子集中每个符号子集最多取K2*a个符号,表示对F/(K2*a)的商进行向上取整的整数。
在一些可能的实施方式中,目标数据流中F个符号包括来自第一符号子集中的第一组符号和来自第二符号子集的第二组符号,第一符号子集和第二符号子集属于同一个符号集合,第一符号子集和第二符号子集分别由两条相邻的延迟线输出,第一符号子集中的符号和第二符号子集中的符号分别按次序排列,第一组符号在第一符号子集中的次序与第二组符号在第二符号子集中的次序不同。目标数据流中F个符号包括来自第三符号子集中的第三组符号和来自第四符号子集的第四组符号,第三符号子集和第四符号子集属于不同的符号集合,第三符号子集和第四符号子集由同一条延迟线输出,第三符号子集中的符号和第四符号子集中的符号分别按次序排列,第三组符号在第三符号子集中的次序与第四组符号在第四符号子集中的次序不同。
在一些可能的实施方式中,每条目标数据流中F个符号最多有个符号来自相同的符号集合,表示对F/R的商进行向上取整的整数。
在一些可能的实施方式中,得到共m条目标数据流之后,方法还包括:对m条目标数据流分别进行第二FEC编码,第二FEC编码的信息位长度等于F个符号。
第四方面,本申请提供了一种数据处理装置,该数据处理装置包括交织模块。交织模块用于:对n条通道数据流进行交织处理得到m条目标数据流,n为4的倍数,n条通道数据流都经过第一前向纠错FEC编码,第一FEC编码后的每a个码字分布在b条通道数据流中,a≤b≤n,n能被b整除。每条目标数据流中连续的F个符号来自F个不同的码字,F>a。每条目标数据流中连续的F个符号至少来自K1条不同的通道数据流,每条目标数据流中连续的F个符号来自n条通道数据流对齐的n个符号中最多K2个符号,K1和K2为n的约数,K2为K1的约数。每条目标数据流中连续的F个符号中最多有K3个符号来自相同的通道数据流,表示对F/K1的商进行向上取整的整数,K3个符号中任意两个符号在同一通道数据流上相隔至少K4个符号,K4≥a*N*K2/n,其中N为码字长度。
在一些可能的实施方式中,K1=n/4,K2=n/16。
在一些可能的实施方式中,交织模块包括卷积交织器和分组交织器。卷积交织器用于:对n条通道数据流分别进行卷积交织得到n条第一数据流,每条第一数据流中连续的z个符号来自至少e个不同的码字,z为大于1的整数,a≤e≤F,e*k2≥F,每条第一数据流中连续的z个符号中最多k1/k2个符号来自同一个码字。分组交织器用于:对n条第一数据流中的每K1条第一数据流进行分组交织得到S条目标数据流,以得到共m条目标数据流,其中,S为大于或等于1的整数,m=S*n/K1,S≥k1/k2,n条第一数据流包括K1个第一数据流分组,同一第一数据流分组中每两条第一数据流的符号来自相同的码字,K1条第一数据流分别来自K1个第一数据流分组。
在一些可能的实施方式中,卷积交织器具体用于:根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流,p为大于1的整数,p*a≥F/k2,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,z=p*d。每条通道数据流中的符号按照p条延迟线的序号依次输入p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号,Q为大于或等于1的整数,d为大于或等于1的整数,d≤a。
在一些可能的实施方式中,p条延迟线中序号最大的延迟线包括0个存储单元,其中,d(p*Q+1)≥K4。
在一些可能的实施方式中,p条延迟线中序号最小的延迟线包括0个存储单元,其中,d(p*Q-1)≥K4。
在一些可能的实施方式中,参与分组交织的K条第一数据流包括第一符号矩阵,第一符号矩阵包括K行B列个符号,B=R*p*d,R为大于或等于1的整数,经过分组交织后的S条目标数据流包括第二符号矩阵,第二符号矩阵包括S行F列个符号,K*B=S*F。第一符号矩阵中的符号至少来自F个不同码字,且第一符号矩阵中最多有R*K1/K2个符号来自相同的码字。
在一些可能的实施方式中,第二符号矩阵中每行的F个符号来自第一符号矩阵中至少列,且列中每列最多取K2个符号,表示对F/K2的商进行向上取整的整数。第二符号矩阵中每行的F个符号包括第一符号矩阵中每行的至少个符号,表示对F/K1的商进行向下取整的整数,且第二符号矩阵中每行的F个符号包括第一符号矩阵中每行的最多个符号,表示对F/K的商进行向上取整的整数。
在一些可能的实施方式中,第二符号矩阵的每一行中来自第一符号矩阵奇数列的符号分别位于第一符号矩阵的不同行,第二符号矩阵的每一行中来自第一符号矩阵偶数列的符号位于第一符号矩阵的不同行。
在一些可能的实施方式中,第二符号矩阵的每一行中由延迟取值相同的延迟线输出的符号来自第一符号矩阵的不同行。
在一些可能的实施方式中,第二符号矩阵的每一行的最多K3个符号来自第一符号矩阵的同一行,K3个符号中任意2个符号分别由延迟差值大于或等于2*Q*d的2条延迟线输出。
在一些可能的实施方式中,卷积交织模块包括第一分组交织器、卷积交织器和第二分组 交织器。第一分组交织器用于:对n条通道数据流进行第一分组交织得到T条第一数据流,每条第一数据流中连续的C个符号至少来自E个不同的码字,T=n/K1,C为a的倍数,E≥K2*a。卷积交织器用于:对T条第一数据流进行卷积交织得到T条第二数据流,每条第二数据流中连续的H个符号来自至少F个不同码字,F≥E,每条第二数据流中连续的H个符号最多K1/K2个符号来自相同码字。第二分组交织器用于:对T条第二数据流中每条第二数据流进行第二分组交织得到S条目标数据流,以得到共m条目标数据流,m=T*S,S≥k1/K2。
在一些可能的实施方式中,参与第一分组交织的n条通道数据流包括第三符号矩阵,第三符号矩阵包括n行A列个符号,A为a的倍数,经过第一分组交织后的T条第一数据流包括第四符号矩阵,第四符号矩阵包括T行C列个符号,T为n的约数,n*A=T*C。第三符号矩阵的一列中每连续T个符号为符号子矩阵,第四符号矩阵中每一列的T个符号分别与第三符号矩阵中每个符号子矩阵一一对应。
在一些可能的实施方式中,第三符号矩阵中的符号子矩阵按第一顺序排列,第三符号矩阵中每列的第1行到第n行包括按第一顺序排列的第1个符号子矩阵到第n/T个符号子矩阵,第三符号矩阵的相邻两列中前一列的第n/T个符号子矩阵到后一列的第1个符号子矩阵为按第一顺序排列的连续2个符号子矩阵,第四符号矩阵中第1列的T个符号来自第三符号矩阵中按第一顺序排列的第一个符号子矩阵,依次类推,直到第四符号矩阵中第C列的T个符号来自第三符号矩阵中按第一顺序排列的最后一个符号子矩阵。或者,第三符号矩阵中的符号子矩阵按第二顺序排列,第三符号矩阵中每T行的第1列到第A行包括按第二顺序排列的第1个符号子矩阵到第A个符号子矩阵,第三符号矩阵的相邻两个连续T行中前T行的第A个符号子矩阵到后T行的第1个符号子矩阵为按第二顺序排列的连续2个符号子矩阵,第四符号矩阵中第1列的T个符号来自第三符号矩阵中按第二顺序排列的第一个符号子矩阵,依次类推,直到第四符号矩阵中第C列的T个符号来自第三符号矩阵中按第二顺序排列的最后一个符号子矩阵。
在一些可能的实施方式中,卷积交织器具体用于:根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,p为大于1的整数,p*E≥F,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储C个符号,p*C=H。每条第一数据流中的符号按照p条延迟线的序号依次输入p条延迟线,每条延迟线单次输入C个符号且单次输出C个符号,1条第二数据流中连续的p*C个符号包括每条延迟线输出的C个符号,Q为大于或等于1的整数。
在一些可能的实施方式中,p条延迟线中序号最大的延迟线包括0个存储单元,其中,C(p*Q+1)≥K1*K4。
在一些可能的实施方式中,p条延迟线中序号最小的延迟线包括0个存储单元,其中,C(p*Q-1)≥K1*K4。
在一些可能的实施方式中,每条第二数据流包括R个符号集合,每个符号集合包括p个符号子集,每个符号子集包括C个符号,p个符号子集分别由p条延迟线输出,每个符号集合中的符号来自至少F个不同码字,每条目标数据流包括F个符号,R*p*C=S*F,R为大于或等于的整数。目标数据流中F个符号来自至少个不同的符号子集,且 个不同的符号子集中每个符号子集最多取K2*a个符号,表示对F/(K2*a)的商进行向上取整的整数。
在一些可能的实施方式中,目标数据流中F个符号包括来自第一符号子集中的第一组符号和来自第二符号子集的第二组符号,第一符号子集和第二符号子集属于同一个符号集合,第一符号子集和第二符号子集分别由两条相邻的延迟线输出,第一符号子集中的符号和第二符号子集中的符号分别按次序排列,第一组符号在第一符号子集中的次序与第二组符号在第二符号子集中的次序不同。目标数据流中F个符号包括来自第三符号子集中的第三组符号和来自第四符号子集的第四组符号,第三符号子集和第四符号子集属于不同的符号集合,第三符号子集和第四符号子集由同一条延迟线输出,第三符号子集中的符号和第四符号子集中的符号分别按次序排列,第三组符号在第三符号子集中的次序与第四组符号在第四符号子集中的次序不同。
在一些可能的实施方式中,每条目标数据流中F个符号最多有个符号来自相同的符号集合,表示对F/R的商进行向上取整的整数。
在一些可能的实施方式中,数据处理装置还包括编码器,得到共m条目标数据流之后,编码器用于:对m条目标数据流分别进行第二FEC编码,第二FEC编码的信息位长度等于F个符号。
第五方面,本申请提供了一种数据处理方法,该方法包括如下步骤。首先,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流,以得到共m条第一数据流。n=q*t,m=q*s,所述n为大于1的整数,所述n能被所述q整除,所述q为大于或等于1的整数,所述t为大于或等于1的整数,所述s为大于或等于1的整数。所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,所述a≤所述b≤所述n,所述n能被所述b整除,所述a为大于或等于1的整数。每条通道数据流中每连续的a个符号来自a个不同的码字,且每条通道数据流中每连续的L1个符号来自至少a个不同的码字,L1=N*a/b,所述N表示所述码字的长度。所述t条通道数据流包括每条通道数据流中连续的a个符号共t*a个符号,所述t*a个符号包括每个符号中的Δ个比特共D个比特,D=Δ*t*a,所述D个比特在所述s条第一数据流中任一条第一数据流中连续,Δ=M/s,所述M表示一个符号包含的比特数。之后,对所述m条第一数据流分别进行卷积交织得到m条第二数据流。
在一些可能的实施方式中,每条所述第一数据流中每连续的d个符号来自v个不同的码字,且每条所述第一数据流中每连续的L2个符号来自至少v个不同的码字,所述v能被所述a整除,L2=t/s*L1,d=D/M。
在一些可能的实施方式中,所述n=32,所述n条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。
在一些可能的实施方式中,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据 流进行分组交织得到s条第一数据流包括:对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
在一些可能的实施方式中,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第2*i条通道数据流中第j组连续的β个比特与所述第2*i+1条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=2,所述s=2,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16。所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码字,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的 8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8 条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述n=32,所述n条通道数据流中排序在前的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在后的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在前的连续16条通道数据流和排序在后的连续16条通道数据流来自不同的码字。
在一些可能的实施方式中,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
在一些可能的实施方式中,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第i条通道数据流中第j组连续的β个比特与 所述第i+16条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=2,所述s=2,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第i条通道数据流和第i+16条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16。所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码字,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6 个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据 流进行分组交织得到s条第一数据流包括:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号至少来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,对1条第一数据流进行卷积交织得到1条第二数据流包括:根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流。所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第二数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数。
在一些可能的实施方式中,所述p条延迟线中序号最大的延迟线包括0个存储单元,d(p*Q+1)≥L2,L2=t/s*L1。或者,所述p条延迟线中序号最小的延迟线包括0个存储单元,d(p*Q-1)≥L2,L2=t/s*L1。
在一些可能的实施方式中,对所述m条第一数据流分别进行卷积交织得到m条第二数据流之后,所述方法还包括:对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流。每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*d。
在一些可能的实施方式中,对1条第一数据流进行卷积交织得到1条第二数据流包括:根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储4个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入4个符号且单次输出4个符号,1条所述第二数据流中连续的p*4个符号包括每条延迟线输出的4个符号,所述Q满足4(p*Q-1)≥272或者4(p*Q+1)≥272或者4(p*Q-1)≥544或者4(p*Q+1)≥544。
在一些可能的实施方式中,对所述m条第一数据流分别进行卷积交织得到m条第二数据流之后,所述方法还包括:对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流,每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*4。
在一些可能的实施方式中,对1条第一数据流进行卷积交织得到1条第二数据流包括:根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q;每个存储单元用于存储34个比特,每条通道 数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入34个比特且单次输出34个比特,1条所述第二数据流中连续的p*34个比特包括每条延迟线输出的34个比特;或者,每个存储单元用于存储68个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入68个比特且单次输出68个比特,1条所述第二数据流中连续的p*68个比特包括每条延迟线输出的68个比特。
在一些可能的实施方式中,p=2,每个存储单元用于存储68个比特,或者,p=4,每个存储单元用于存储34个比特。
第六方面,本申请提供了一种数据处理装置。该数据处理装置包括:分组交织器和卷积交织器。所述分组交织器用于:对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流,以得到共m条第一数据流。n=q*t,m=q*s,所述n为大于1的整数,所述n能被所述q整除,所述q为大于或等于1的整数,所述t为大于或等于1的整数,所述s为大于或等于1的整数。所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,所述a≤所述b≤所述n,所述n能被所述b整除,所述a为大于或等于1的整数。每条通道数据流中每连续的a个符号来自a个不同的码字,且每条通道数据流中每连续的L1个符号来自至少a个不同的码字,L1=N*a/b,所述N表示所述码字的长度。所述t条通道数据流包括每条通道数据流中连续的a个符号共t*a个符号,所述t*a个符号包括每个符号中的Δ个比特共D个比特,D=Δ*t*a,所述D个比特在所述s条第一数据流中任一条第一数据流中连续,Δ=M/s,所述M表示一个符号包含的比特数。所述卷积交织器用于:对所述m条第一数据流分别进行卷积交织得到m条第二数据流。
在一些可能的实施方式中,每条所述第一数据流中每连续的d个符号来自v个不同的码字,且每条所述第一数据流中每连续的L2个符号来自至少v个不同的码字,所述v能被所述a整除,L2=t/s*L1,d=D/M。
在一些可能的实施方式中,所述n=32,所述n条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。
在一些可能的实施方式中,所述t=2,所述s=1,所述分组交织器具体用于:对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
在一些可能的实施方式中,所述t=2,所述s=1,所述分组交织器具体用于:对第2*i条 通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第2*i条通道数据流中第j组连续的β个比特与所述第2*i+1条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=2,所述s=2,所述分组交织器具体用于:对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16。所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码字,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,所述t=4,所述s=1,所述分组交织器具体用于:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,所述分组交织器具体用于:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,所述分组交织器具体用于:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,所述分组交织器具体用于:对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,所述分组交织器具体用于:对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,所述分组交织器具体用于:对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续, j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述n=32,所述n条通道数据流中排序在前的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在后的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在前的连续16条通道数据流和排序在后的连续16条通道数据流来自不同的码字。
在一些可能的实施方式中,所述t=2,所述s=1,所述分组交织器具体用于:对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
在一些可能的实施方式中,所述t=2,所述s=1,所述分组交织器具体用于:对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16。所述第i条通道数据流中第j组连续的β个比特与所述第i+16条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=2,所述s=2,所述分组交织器具体用于:对第i条通道数据流和第i+16条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16。所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码字,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一些可能的实施方式中,所述t=4,所述s=1,所述分组交织器具体用于:对第2*i条 通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,所述分组交织器具体用于:对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=4,所述s=1,所述分组交织器具体用于:对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,所述分组交织器具体用于:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,所述分组交织器具体用于:对第4*i条 通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
在一些可能的实施方式中,所述t=8,所述s=1,所述分组交织器具体用于:对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号至少来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
在一些可能的实施方式中,所述卷积交织器具体用于:根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第二数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数。
在一些可能的实施方式中,所述p条延迟线中序号最大的延迟线包括0个存储单元,d(p*Q+1)≥L2,L2=t/s*L1。或者,所述p条延迟线中序号最小的延迟线包括0个存储单元,d(p*Q-1)≥L2,L2=t/s*L1。
在一些可能的实施方式中,所述数据处理装置还包括编码器,得到m条第二数据流之后,所述编码器用于:对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流。每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*d。
在一些可能的实施方式中,所述卷积交织器具体用于:根据p条延迟线对1条第一数据 流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储4个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入4个符号且单次输出4个符号,1条所述第二数据流中连续的p*4个符号包括每条延迟线输出的4个符号,所述Q满足4(p*Q-1)≥272或者4(p*Q+1)≥272或者4(p*Q-1)≥544或者4(p*Q+1)≥544。
在一些可能的实施方式中,所述数据处理装置还包括编码器,得到m条第二数据流之后,所述编码器用于:对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流,每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*4。
在一些可能的实施方式中,所述卷积交织器具体用于:根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q。每个存储单元用于存储34个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入34个比特且单次输出34个比特,1条所述第二数据流中连续的p*34个比特包括每条延迟线输出的34个比特;或者,每个存储单元用于存储68个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入68个比特且单次输出68个比特,1条所述第二数据流中连续的p*68个比特包括每条延迟线输出的68个比特。
在一些可能的实施方式中,p=2,每个存储单元用于存储68个比特,或者,p=4,每个存储单元用于存储34个比特。
第七方面,本申请提供了一种数据处理方法,该方法包括如下步骤。首先,根据p条延迟线对n条通道数据流分别进行延迟得到n条第一数据流。其中,所述n条通道数据流都经过第一前向纠错FEC编码,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储U个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入U个比特且单次输出U个比特,1条所述第二数据流中连续的p*U个比特包括每条延迟线输出的U个比特,所述Q为大于或等于1的整数,所述U为大于或等于1的整数。进而,对所述n条第一数据流分别进行第二FEC编码得到n条第二数据流。其中,经过所述第二FEC编码后的所述第二数据流中每个码字的信息数据为所述p条延迟线单次输出的p*U个比特。
在一些可能的实施方式中,p*U=120、136或160。
第八方面,本申请提供了一种数据处理装置,该数据处理装置包括卷积交织器和编码器。所述卷积交织器用于:根据p条延迟线对n条通道数据流分别进行延迟得到n条第一数据流。其中,所述n条通道数据流都经过第一前向纠错FEC编码,所述p为大于1的整数,每条延 迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储U个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入U个比特且单次输出U个比特,1条所述第二数据流中连续的p*U个比特包括每条延迟线输出的U个比特,所述Q为大于或等于1的整数,所述U为大于或等于1的整数。所述编码器用于:对所述n条第一数据流分别进行第二FEC编码得到n条第二数据流。其中,经过所述第二FEC编码后的所述第二数据流中每个码字的信息数据为所述p条延迟线单次输出的p*U个比特。
在一些可能的实施方式中,p*U=120、136或160。
第九方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,计算机程序被硬件执行时能够实现上述第一方面、第三方面、第五方面或第七方面中任意一种方法的部分或全部步骤。
本申请实施例中,n路通道数据流都为经过外码编码后的码字流,在对n路数据流分别进行卷积交织处理,并对卷积交织后的n路数据流进行数据流复用为m路第二数据流,随后进行内码编码。采用本申请提供的数据交织和复用处理方案,通过较短的时延就能实现复用处理后的m路数据流在连续输出的多个符号来自多个不同的外码码字,使得级联FEC方案在保证较好性能的基础上也有助于降低数据交织的时延。也就是说,本申请中卷积交织处理与数据复用相结合的方案使得级联FEC方案的整体时延较低,更适用于要求低时延的应用场景。
附图说明
图1为本申请实施例应用的一种通信系统示意图;
图2为图1所示通信系统中一种数据传输的过程示意图;
图3(a)为本申请实施例中发端处理模块的第一种数据处理示意图;
图3(b)为本申请实施例中发端处理模块的第二种数据处理示意图;
图3(c)为本申请实施例中发端处理模块的第三种数据处理示意图;
图3(d)为本申请实施例中发端处理模块的第四种数据处理示意图;
图3(e)为本申请实施例中通道数据对齐处理的示意图;
图3(f)为本申请实施例中发端处理模块的第五种数据处理示意图;
图3(g)为本申请实施例中发端处理模块的第六种数据处理示意图;
图3(h)为本申请实施例中发端处理模块的第七种数据处理示意图;
图3(i)为本申请实施例中发端处理模块的第八种数据处理示意图;
图4(a)为本申请实施例中针对收端处理模块的第一种数据处理示意图;
图4(b)为本申请实施例中针对收端处理模块的第二种数据处理示意图;
图4(c)为本申请实施例中针对收端处理模块的第三种数据处理示意图;
图5为发端设备采用1×800G接口的32条PCS通道数据流的示意图;
图6为发端设备采用2×400G接口的32条PCS通道数据流的示意图;
图7为发端设备采用4×200G接口的32条PCS通道数据流的示意图;
图8为发端设备采用8×100G接口的32条FEC通道数据流的一种示意图;
图9为发端设备采用8×100G接口的32条FEC通道数据流的另一种示意图;
图10为本申请实施例提供的数据处理方法的一种流程示意图;
图11为本申请实施例中对n条通道数据流分别进行卷积交织的一种结构示意图;
图12(a)为本申请实施例中卷积交织器的第一种结构示意图;
图12(b)为本申请实施例中卷积交织器的第二种结构示意图;
图13为本申请实施例中对n条第一数据流进行复用的一种结构示意图;
图14为本申请实施例中复用器的第一种结构示意图;
图15为本申请实施例中对m条第二数据流进行FEC编码的一种结构示意图;
图16(a)为本申请实施例中卷积交织器的第三种结构示意图;
图16(b)为本申请实施例中卷积交织器的第四种结构示意图;
图17(a)为本申请实施例中复用器的第二种结构示意图;
图17(b)为本申请实施例中复用器的第三种结构示意图;
图17(c)为本申请实施例中复用器的第四种结构示意图;
图18(a)为本申请实施例中卷积交织器的第五种结构示意图;
图18(b)为本申请实施例中卷积交织器的第六种结构示意图;
图19(a)为本申请实施例中卷积交织器的第七种结构示意图;
图19(b)为本申请实施例中卷积交织器的第八种结构示意图;
图20为本申请实施例中卷积交织器的第九种结构示意图;
图21为本申请实施例中卷积交织器的第十种结构示意图;
图22为本申请实施例中复用器的第五种结构示意图;
图23为本申请实施例中卷积交织器的第十一种结构示意图;
图24为本申请实施例中复用器的第六种结构示意图;
图25为本申请实施例中卷积交织器的第十二种结构示意图;
图26为本申请实施例中卷积交织器的第十三种结构示意图;
图27(a)为本申请实施例中卷积交织器的第十四种结构示意图;
图27(b)为本申请实施例中卷积交织器的第十五种结构示意图;
图28(a)为本申请实施例中卷积交织器的第十六种结构示意图;
图28(b)为本申请实施例中卷积交织器的第十七种结构示意图;
图29(a)为本申请实施例中卷积交织器的第十八种结构示意图;
图29(b)为本申请实施例中卷积交织器的第十九种结构示意图;
图30(a)为本申请实施例中卷积交织器的第二十种结构示意图;
图30(b)为本申请实施例中卷积交织器的第二十一种结构示意图;
图31(a)为本申请实施例中卷积交织器的第二十二种结构示意图;
图31(b)为本申请实施例中卷积交织器的第二十三种结构示意图;
图32(a)为本申请实施例中对n条第一数据流进行分组交织的一种结构示意图;
图32(b)为本申请实施例中分组交织器的一种结构示意图;
图33为本申请实施例中数据处理装置的一种结构示意图;
图34为本申请实施例提供的交织处理的一种流程示意图;
图35为本申请实施例中对n条第一数据流进行分组交织的一种结构示意图;
图36为本申请实施例中进行分组交织的一种实现方式示意图;
图37为客户侧接口为2×400GbE时通道对齐后数据流格式的示意图;
图38为分组交织的一种实现方式示意图;
图39为分组交织的另一种实现方式示意图;
图40为分组交织的另一种实现方式示意图;
图41为分组交织的另一种实现方式示意图;
图42为本申请实施例提供的交织处理的另一种流程示意图;
图43为本申请实施例中进行第一分组交织的一种实现方式示意图;
图44(a)为本申请实施例中进行第二分组交织的一种实现方式示意图;
图44(b)为本申请实施例中进行第二分组交织的一种具体实现方式示意图;
图45(a)为第一分组交织的一种实现方式示意图;
图45(b)为卷积交织的一种实现方式示意图;
图45(c)为卷积交织的另一种实现方式示意图;
图45(d)为第二分组交织的一种实现方式示意图;
图46(a)为卷积交织的另一种实现方式示意图;
图46(b)为卷积交织的另一种实现方式示意图;
图46(c)为第二分组交织的另一种实现方式示意图;
图47为第二分组交织的另一种实现方式示意图;
图48为第二分组交织的另一种实现方式示意图;
图49为第一分组交织的另一种实现方式示意图;
图50(a)为本申请实施例中数据处理装置的另一种结构示意图;
图50(b)为本申请实施例中数据处理装置的另一种结构示意图;
图51为本申请实施例提供的数据处理方法的另一种流程示意图;
图52为本申请实施例中对n条通道数据流进行分组交织的一种结构示意图;
图53为本申请实施例中分组交织的一种应用场景示意图;
图54为本申请实施例中分组交织的几种具体实施例示意图;
图55为本申请实施例中分组交织的另一种应用场景示意图;
图56为本申请实施例中分组交织的几种具体实施例示意图;
图57为本申请实施例中分组交织的另一种应用场景示意图;
图58为本申请实施例中分组交织的另一种应用场景示意图;
图59为本申请实施例中分组交织的另一种应用场景示意图;
图60为本申请实施例中分组交织的另一种应用场景示意图;
图61为本申请实施例中分组交织的再一种应用场景示意图;
图62为本申请实施例中分组交织的再一种应用场景示意图;
图63为本申请实施例中分组交织的再一种应用场景示意图;
图64为本申请实施例中分组交织的再一种应用场景示意图;
图65为本申请实施例中分组交织的再一种应用场景示意图;
图66为本申请实施例中分组交织的再一种应用场景示意图;
图67为本申请实施例中分组交织的再一种应用场景示意图;
图68为本申请实施例中分组交织的再一种应用场景示意图;
图69为本申请实施例中分组交织的再一种应用场景示意图;
图70为本申请实施例中分组交织的再一种应用场景示意图;
图71为本申请实施例中分组交织的再一种应用场景示意图;
图72为本申请实施例中分组交织的再一种应用场景示意图;
图73为本申请实施例中对m条第一数据流分别进行卷积交织的一种结构示意图;
图74为本申请实施例中卷积交织器的一种实施例示意图;
图75为本申请实施例中卷积交织器的另一种实施例示意图;
图76为本申请实施例中卷积交织器的另一种实施例示意图;
图77为本申请实施例中卷积交织器的另一种实施例示意图;
图78为本申请实施例中卷积交织器的另一种实施例示意图;
图79为本申请实施例中卷积交织器的另一种实施例示意图;
图80为本申请实施例中卷积交织器的另一种实施例示意图;
图81为本申请实施例中卷积交织器的另一种实施例示意图;
图82为本申请实施例中卷积交织器的另一种实施例示意图;
图83为本申请实施例中卷积交织器的另一种实施例示意图;
图84为本申请实施例中内码编码的一种实现方式示意图;
图85为本申请实施例中数据处理装置的一种结构示意图;
图86为本申请实施例提供的数据处理方法的另一种流程示意图;
图87为本申请实施例中数据处理装置的另一种结构示意图;
图88为本申请实施例中数据处理装置的另一种结构示意图。
具体实施方式
本申请实施例提供了一种数据处理方法及数据处理装置。可以在采用较低时延的场景下获得较好的级联FEC方案性能。需要说明的是,本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”等用于区别类似的对象,而非限定特定的顺序或先后次序。应该理解,上述术语在适当情况下可以互换,以便在本申请描述的实施例能够以除了在本申请描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产 品或设备固有的其它步骤或单元。
图1为本申请实施例应用的一种通信系统示意图。如图1所示,该通信系统包括发端设备01、发端处理模块02、信道传输媒介03、收端处理模块04和收端设备05。以该通信系统是数据中心网络为例,发端设备01和收端设备05可以为交换机或路由器等设备,且发端设备01也称为位于发端的客户侧芯片(host chip),收端设备05也称为位于收端的客户侧芯片,信道传输媒介03可以为光纤。客户侧芯片有时也称为为客户侧设备(host device)。其中,发端设备01与发端处理模块02之间可以通过连接单元接口(attachment unit interface,AUI)连接,收端设备05与收端处理模块04之间可以通过AUI连接。发端处理模块02和收端处理模块04可以为光模块(optical module)、电模块、连接器(connector)或其他在数据发送过程中对数据进行处理的模块。例如,该处理模块可以为800LR模块(800LR module,一种相干光模块)。并且,该通信系统中的发端设备01、发端处理模块02、信道传输媒介03、收端处理模块04和收端设备05均可以支持双向传输,也可以支持单向传输,具体此处不做限定。
图2为图1所示通信系统中一种数据传输的过程示意图。如图2所示,在从发端设备01向收端设备05传输数据的过程中,发端设备01用于对该数据进行外码编码,然后向发端处理模块02传输经过外码编码的数据。发端处理模块02用于对经过外码编码的数据进行内码编码,得到经过外码编码和内码编码的数据,并将经过外码编码和内码编码的数据传输至信道传输媒介03。信道传输媒介03用于将经过外码编码和内码编码的数据传输至收端处理模块04。收端处理模块04用于对经过外码编码和内码编码的数据进行内码译码,并向收端设备05传输经过内码译码的数据。收端设备05用于对经过内码译码的数据进行外码译码。
应理解,内码中的“内”和外码中的“外”只是基于对数据进行操作的执行主体相对于信道传输媒介03的距离的远近来区分的。对内码进行操作的执行主体较靠近信道传输媒介,对外码进行操作的执行主体较远离信道传输媒介。在本申请实施例中,由于数据从发端设备01发出后经过发端处理模块02传输至信道传输媒介03,然后从信道传输媒介03经过收端处理模块04传输至收端设备05。经发端设备01编码的数据相对于经发端处理模块02编码的数据离信道传输媒介03较远,经收端设备05译码的数据相对于经收端处理模块04译码的数据离信道传输媒介03较远。因此经发端设备01编码的数据称为经过外码编码的数据,经发端处理模块02编码的数据称为经过内码编码的数据,经收端设备05译码的数据称为经过外码译码的数据,经收端处理模块04译码的数据称为经过内码译码的数据。在一种可能的实施方式中,上述的内码编码和外码编码都是采用FEC编码的方式,从而形成一种级联FEC的传输方案。例如,发端设备01可以采用RS码进行外码编码,发端处理模块02可以采用汉明(Hamming)码进行内码编码。又例如,发端设备01可以采用RS码进行外码编码,发端处理模块02可以采用博斯-查德胡里-霍昆格姆(Bose–Chaudhuri–Hocquenghem,BCH)码进行内码编码。
需要说明的是,以上内容是对本申请实施例提供的数据交织方法的应用场景的示例性说明,并不构成对于数据交织方法的应用场景的限定,本领域普通技术人员可知,随着业务需求的改变,其应用场景可以根据应用需求进行调整,本申请实施例对其不做一一列举。
对于上述采用级联FEC的传输方案,本申请设计一种包含“卷积交织”和“复用”的数据处理方案,以实现整体级联FEC方案性能较好且时延较低。使得该级联FEC传输方案能够应用于较多的传输场景,尤其适用于对需要较低传输时延的传输场景,如低时延数据中心互联场景。其中,数据处理是通过上述的发端处理模块02来实现的。
图3(a)为本申请实施例中发端处理模块的第一种数据处理示意图。如图3(a)所示,发端处理模块的物理媒体附加子层(Physical Medium Attachment,PMA)子层对来自多个同步的客户通道(client lane)的数据进行处理后,可以得到n条经过外码编码的物理编码子层(Physical Coding Sublayer,PCS)或FEC通道数据流,并进行标识锁定(alignment lock)和通道数据对齐处理得到对齐的n条通道数据流。然后根据对齐标识(Alignment marker)对n条通道的数据进行通道重排序(lane reorder)处理,使得n条通道的数据能够按照指定的顺序排列。经通道重排序的n条通道数据流送入所设计的包括卷积交织(convolutional interleaving)和复用(muxing)的处理器进行打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channelinterleaving),偏振划分(polarization distribution)或DSP成帧处理(framing)等。其中,这里n为大于1的正整数。
图3(b)为本申请实施例中发端处理模块的第二种数据处理示意图。如图3(b)所示,在有些实际应用场景中,经过通道数据对齐处理得到对齐的n条通道数据流已满足指定的顺序排列。此时不需要再进行通道重排序,直接将对齐的n条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。
应理解,在一些可能的实施方式中,区别于上述图3(a)和图3(b)所介绍的数据处理流程,经过通道数据对齐处理得到对齐的n条通道数据流也可以不进行卷积交织,直接进行复用处理,并送入内码编码器进行内码编码。
图3(c)为本申请实施例中发端处理模块的第三种数据处理示意图。如图3(c)所示,区别于上述图3(a)所示的数据处理流程,经通道重排序后的n条通道数据流不进行卷积交织,直接进行复用处理,并送入内码编码器进行内码编码。
图3(d)为本申请实施例中发端处理模块的第四种数据处理示意图。如图3(d)所示,区别于上述图3(b)所示的数据处理流程,经通道数据对齐处理后的n条通道数据流不进行卷积交织,直接进行复用处理,并送入内码编码器进行内码编码。
图3(e)为本申请实施例中通道数据对齐处理的示意图。应理解,上述“通道数据对齐处理”可以是采用现有标准定义的通道纠偏处理(lane de-skew),使得其输出的n条通道数据流的数据是完全对齐的。或者,上述“通道数据对齐处理”也可以仅是通道符号对齐,使得其输出的n条通道数据流上的数据是基于外码符号对齐,具体可以是基于一个外码符号对齐,也可以是基于多个外码符号对齐。图3(e)以两条通道数据流为例说明上述“通道数据对齐处理”具体操作,其假设外码是RS码,且一个RS码符号长度为10比特。其中,图3(e)中的场景(a)表明两条通道数据流存在偏差75个比特,AM0和AM1分别是通道数据流0和通道数据流1的对齐标识。图3(e)中的场景(b)是采用现有标准定义的通道纠偏处理(lane de-skew),使得其输出后的通道数据流0和通道数据流1不存在偏差。图3(e)中的场景 (c)是采用基于1个RS符号对齐处理,使得其输出后的通道数据流0的1个RS符号和通道数据流1的1个RS符号是对齐的,此时两个通道仍存在70比特的偏差。图3(e)中的场景(d)是一种采用基于2个RS符号对齐处理,使得其输出后的通道数据流0的2个RS符号和通道数据流1的2个RS符号是对齐的,此时两个通道仍存在60比特的偏差。
图3(f)为本申请实施例中发端处理模块的第五种数据处理示意图。如图3(f)所示,发端处理模块的物理媒体附加子层(Physical Medium Attachment,PMA)子层对来自多个同步的客户通道(client lane)的数据进行处理后,可以得到n条经过外码编码的物理编码子层(Physical Coding Sublayer,PCS)或FEC通道数据流,并进行标识锁定(alignment lock)和通道数据对齐处理得到对齐的n条通道数据流。然后根据对齐标识(Alignment marker)对n条通道的数据进行通道重排序(lane reorder)处理,使得n条通道的数据能够按照指定的顺序排列。经通道重排序的n条通道数据流送入所设计的包含卷积交织(convolutional interleaving)和分组交织(block interleaving)的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution)或DSP成帧处理(framing)等。其中,这里n为大于1的正整数。
图3(g)为本申请实施例中发端处理模块的第六种数据处理示意图。如图3(g)所示,发端处理模块的物理媒体附加子层(Physical Medium Attachment,PMA)子层对来自多个同步的客户通道(client lane)的数据进行处理后,可以得到n条经过外码编码的物理编码子层(Physical Coding Sublayer,PCS)或FEC通道数据流,统称通道数据流,并进行标识锁定(alignment lock)和通道数据对齐处理得到对齐的n条通道数据流。然后根据对齐标识(Alignment marker)对n条通道的数据进行通道重排序(lane reorder)处理,使得n条通道的数据能够按照指定的顺序排列。经通道重排序的n条通道数据流送入所设计的包含第一分组交织、卷积交织(convolutional interleaving)和第二分组交织处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(maPPing),信道交织(channel interleaving),偏振划分(Polarization distribution)或DSP成帧处理(Framing)等。其中,这里n为大于1的正整数。
图3(h)为本申请实施例中发端处理模块的第七种数据处理示意图。如图3(h)所示,发端处理模块的物理媒体附加子层(Physical Medium Attachment,PMA)子层对来自多个同步的客户通道(client lane)的数据进行处理后,可以得到n条经过外码编码的物理编码子层(Physical Coding Sublayer,PCS)或FEC通道数据流,并进行标识锁定(alignment lock)和通道数据对齐处理得到对齐的n条通道数据流。然后根据对齐标识(Alignment marker)对n条通道的数据进行通道重排序(lane reorder)处理,使得n条通道的数据能够按照指定的顺序排列。经通道重排序的n条通道数据流送入所设计的包含分组交织(block
interleaving)和卷积交织(convolutional interleaving)的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传 输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution)或DSP成帧处理(framing)等。其中,这里n为大于1的正整数。
图3(i)为本申请实施例中发端处理模块的第八种数据处理示意图。如图3(i)所示,发端处理模块的物理媒体附加子层(Physical Medium Attachment,PMA)子层对来自n个同步的客户通道(client lane)比如AUI-n接口的数据进行处理后,可以得到n条经过外码编码通道数据流。此处PMA子层仅需要对来自每个客户通道的数据进行时钟数据恢复(clock data recovery,CDR),PAM4符号解调制等信号恢复操作处理得到一条通道数据流,不需要进行AM锁定、通道纠偏以及通道重排序等其他复杂操作。n条通道数据流送入所设计的包含卷积交织(convolutional interleaving)的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution)或DSP成帧处理(framing)等。其中,这里n为大于1的正整数。
应理解,在有些实际应用场景中,RS外码编码是采用两个编码器编码后进行交织处理,比如采用双向交织(2-way interleavering),使得序号为偶数的通道数据流上的RS符号是按照“A B A B A B…”传输,而序号为奇数的通道数据流上的RS符号是按照“B A B A BA…”传输,其中A和B为不同编码器生成的两个RS符号。对于采用基于2个RS符号对齐处理,一种实现效果是使得同一时刻所有序号为偶数的通道数据流上的RS符号由相同编码器生成且所有序号为奇数的通道数据流上的RS符号由另一相同的编码器生成;另一种实现效果是同一时刻所有通道数据流上的RS符号均由相同编码器生成。这里不对具体方式进行限定。
图4(a)为本申请实施例中针对收端处理模块的第一种数据处理示意图。如图4(a)所示,收端处理模块接收来自信道传输媒介的数据流。当发端处理模块数据流是经过调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution)或DSP成帧处理(framing)等数据处理时,收端处理模块先进行相应的数据逆处理后再送入内码译码器进行译码。内码译码后数据流送入卷积解交织和解复用处理器处理后得到n条通道数据流,再送入PMA子层。PMA子层将数据流进行处理后送入收端设备进行外码译码。这里收端处理模块中卷积解交织(convolutional de-interleaving)和解复用(de-muxing)处理是发端处理模块中卷积交织和复用处理的逆操作。其中卷积解交织是发端处理模块中卷积交织的逆操作,解复用是发端处理模块中复用的逆操作。下面对发端处理模块中的卷积交织和复用处理进行详细描述。收端处理模块的卷积解交织和解复用处理是如图3(a)和图3(b)所示发端处理模块中卷积交织和复用处理的逆操作,本领域普通技术人员可知,此处不再赘述。
图4(b)为本申请实施例中针对收端处理模块的第二种数据处理示意图。如图4(b)所示,收端处理模块接收来自信道传输媒介的数据流。当发端处理模块数据流是经过调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution)或DSP成帧处理(framing)等数据处理时,收端处理模块先进行相应的数据逆处理后再送入 内码译码器进行译码。内码译码后数据流送入解分组交织和解卷积交织处理器处理后得到n条通道数据流,再送入PMA子层。PMA子层将数据流进行处理后送入收端设备进行外码译码。这里收端处理模块中解分组交织和解卷积交织处理是如图3(f)所示发端处理模块中分组交织和卷积交织处理的逆操作。其中解卷积交织是发端处理模块中卷积交织的逆操作,解分组交织是发端处理模块中分组交织的逆操作。
图4(c)为本申请实施例中针对收端处理模块的第三种数据处理示意图。如图4(c)所示,收端处理模块接收来自信道传输媒介的数据流。当发端处理模块数据流是经过调制映射(mapping),信道交织(channel interleaving),偏振划分(Polarization distribution)或DSP成帧处理(Framing)等数据处理时,收端处理模块先进行相应的数据逆处理后再送入内码译码器进行译码。内码译码后数据流送入解第二分组交织、解卷积交织和解第一分组交织处理后得到n条通道数据流,再送入PMA子层。PMA子层将数据流进行处理后送入收端设备进行外码译码。这里收端处理模块中解第一分组交织、解卷积交织和解第二分组交织解处理分别是如图3(g)所示发端处理模块中第一分组交织,卷积交织和第二分组交织的逆操作。下面对发端处理模块中第一分组交织、卷积交织和第二分组交织处理进行详细描述。收端处理模块的解第一分组交织,卷积解交织和解第二分组交织分别是发端处理模块中第一分组交织,卷积交织和第二分组交织的逆操作,本领域普通技术人员可知,此处不再赘述。
下面首先提供几种本申请实施例可应用的几种具体场景。需要说明的是,为了便于介绍,下面各具体场景都以“通道数据对齐处理”采用通道纠偏处理为例进行描述。
图5为发端设备采用1×800G接口的32条PCS通道数据流的示意图。如图5所示,发端设备将待传输的1路800GbE业务数据流进行KP4 RS(544,514)码外码编码得到32条PCS通道(PCS lane)数据流。PCS通道数据流0-15中每条数据流间隔68个符号总共16*68=1088个符号,其包含了2个RS码码字。每条PCS通道数据流中相邻2个符号来自不同RS码码字,且相邻两条PCS通道数据流的同个位置的2个符号来自不同RS码码字。类似的,PCS通道数据流16-31中每条数据流间隔68个符号总共16*68=1088个符号,其包含了2个RS码码字。每条PCS通道数据流中相邻2个符号来自不同RS码码字,且相邻两条PCS通道数据流的同个位置的2个符号来自不同RS码码字。32条PCS通道数据流经PMA处理后通过连接单元接口800GAUI-8送入发端处理模块。
基于上述图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。这里32个通道的已知对齐标识各不相同(见《Ethernet Technology Consortium 800G Specification》)。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据对齐标识对n=32条通道的数据进行通道重排序(lane reorder)处理,使得n=32条通道的数据能够按照指定的顺序排列。一种顺序是跟图5一样通道数据流从上往下按从0到31排序。
图6为发端设备采用2×400G接口的32条PCS通道数据流的示意图。如图6所示,发端设备将待传输的2路400GbE业务数据流进行KP4 RS(544,514)码外码编码得到2路总共32条PCS通道数据流,其中每路包括16条PCS通道数据流。PCS通道数据流0-15或PCS通道 数据流16-31中每条数据流间隔68个符号总共16*68=1088个符号,其包含了2个RS码码字。每条PCS通道数据流中相邻2个符号来自不同RS码码字,且相邻两条PCS通道数据流的同个位置的2个符号来自不同RS码码字。32条PCS通道数据流经PMA处理后通过连接单元接口2×400GAUI-4送入发端处理模块。
基于上述图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道0-15或PCS通道16-31已知的对齐标识(Alignment marker)进行16个通道数据流的标识锁定(alignment lock)。这里PCS通道0-15可认为是第0路400G中的PCS通道0-15,PCS通道16-31可认为是第1路400G中的PCS通道0-15。第0路400G中的16个通道已知的对齐标识和第1路中的16个通道已知的对齐标识相同。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据PCS通道0-15或PCS通道16-31的对齐标识对16条通道的数据进行通道重排序(lane reorder)处理,使得16条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图6一样通道数据流从上往下按从0到31排序。
图7为发端设备采用4×200G接口的32条PCS通道数据流的示意图。如图7所示,发端设备将待传输的4路200GbE业务数据流进行KP4 RS(544,514)码外码编码得到4路总共32条PCS通道数据流,其中每路包括8条PCS通道数据流。PCS通道数据流0-7、PCS通道数据流8-15、PCS通道数据流16-23或PCS通道数据流24-31中每条数据流间隔136个符号总共8*136=1088个符号,其包含了2个RS码码字。每条PCS通道数据流中相邻2个符号来自不同RS码码字,且相邻两条PCS通道数据流的同个位置的2个符号来自不同RS码码字。32条PCS通道数据流经PMA处理后通过连接单元接口4×200GAUI-2送入发端处理模块。
基于上述图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31已知的对齐标识(Alignment marker)进行8个通道数据流的标识锁定(alignment lock)。这里PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31可分别认为是第0路、第1路、第2路或第3路200G中的PCS通道0-7。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31的对齐标识对8条通道的数据进行通道重排序(lane reorder)处理,使得8条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图7一样通道数据流从上往下按从0到31排序。
图8为发端设备采用8×100G接口的32条FEC通道数据流的一种示意图。如图8所示,发端设备将待传输8路100GbE业务数据流进行KP4 RS(544,514)码外码编码得到8路总共32条FEC通道(FEC lane)数据流,其中每路包括4条FEC通道数据流。当采用2个KP4 RS(544,514)码字交织的“100G RS-FEC-Int”模式时,FEC通道数据流0-3、FEC通道数据流4-7、FEC通道数据流8-11、FEC通道数据流12-15、FEC通道数据流16-19、FEC通道数据流20-23、FEC通道数据流24-27或FEC通道数据流28-31中每条数据流间隔272个符号总共4*272=1088个符号,其包含了2个RS码码字。每条FEC通道数据流中相邻2个符号来自不同RS码码字,且相邻两条FEC通道数据流的同个位置的2个符号来自不同RS码码字。32条FEC通道数据 流经PMA处理后通过连接单元接口8×100GAUI-1送入发端处理模块。
图9为发端设备采用8×100G接口的32条FEC通道数据流的另一种示意图。如图9所示,区别于上述图8的场景,本场景中发端设备采用“100G RS-FEC”模式,FEC通道数据流0-3、FEC通道数据流4-7、FEC通道数据流8-11、FEC通道数据流12-15、FEC通道数据流16-19、FEC通道数据流20-23、FEC通道数据流24-27或FEC通道数据流28-31中每条数据流间隔136个符号总共4*136=544个符号,其包含了1个RS码码字。32条FEC通道数据流经PMA处理后通过连接单元接口8×100GAUI-1送入发端处理模块。
基于上述图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31已知的对齐标识(Alignment marker)进行4个通道数据流的标识锁定(alignment lock)。这里FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31可分别认为是第0路、第1路、第2路、第3路、第4路、第5路、第6路或第7路100G中的FEC通道0-3。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31的对齐标识对4条通道的数据进行通道重排序(lane reorder)处理,使得4条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图8和图9一样通道数据流从上往下按从0到31排序。
图10为本申请实施例提供的数据处理方法的一种流程示意图。
1001、对n条通道数据流分别进行卷积交织得到n条第一数据流。
本实施例中,通道数据流可以是PCS通道数据流或FEC通道数据流,具体此处不做限定。n条通道数据流都是经过第一FEC编码的数据流,也就是上文中介绍的经过外码编码的数据流,其中,n为大于1的整数。例如,该外码编码可以采用RS码,经过外码编码后的n条数据流可以包括多个RS码字。在实际应用中也可以采用其他的编码方式进行外码编码,为了便于描述,下文统一用RS码字来表示外码编码后生成的码字。应理解,经过外码编码后的每a个码字分布在b条通道数据流中,其中,a≤b≤n,n能被b整除,a为大于或等于1的整数。在上述图5-图9所示的不同应用场景中,a和b的取值也可能不同。以图5所示的应用场景为例,n=32,a=2,b=16,即每2个码字分布在16条通道数据流中。在图6-图9其他几个应用场景中a和b的取值可以通过附图推导得出,此处不再一一赘述。需要说明的是,本申请中外码码长取值是以符号为单位来统计的,其中,符号可以包括一个或多个比特。例如,外码为采用的KP4 RS(544,514)码,码长N=544个符号,一个符号包含10个比特。
作为一个示例,当a=1,表示在发端设备01处经过外码编码的码字不进行交织,直接分布在b条通道数据流中。如图9所示,a=1,发端设备01处经过外码KP4编码的N=544个符号的码字不进行交织,直接分布在b=4条通道数据流中,图9中所示的1个虚框中544个符号来自同一个KP4码字,且在每个虚框内一条通道数据流中连续的N/b=544/4=136个符号来 自同一个KP4码字。
作为又一个示例,当a>1,表示在发端设备01处经过外码编码的a个码字先进行交织,再分布在b条通道数据流中。如图8所示,a=2,发端设备01处经过外码KP4编码的2个码字总共aN=2*544=1088个符号先进行双向符号交织(two-way symbol interleavering),再分布在b=4条通道数据流中,图8中所示的1个虚框中包含1088个符号来自a=2个KP4码字,在每个虚框内一条通道数据流中连续的2N/b=2*544/4=272个符号来自a=2个KP4码字且相邻两个符号来自不同的KP4码字。如图5所示,a=2,发端设备01处经过外码KP4编码的2个码字总共aN=2*544=1088个符号先进行双向符号交织,再分布在b=16条通道数据流中,图5中所示的1个虚框中包含1088个符号来自a=2个KP4码字,在每个虚框内一条通道数据流中连续的2N/b=2*544/16=68个符号来自a=2个KP4码字且相邻两个符号来自不同的KP4码字。
需要说明的是,经过卷积交织后每条第一数据流中连续的z个符号来自z个不同的码字,其中,z为大于1的整数。下面结合卷积交织的具体实现方式进行介绍。
图11为本申请实施例中对n条通道数据流分别进行卷积交织的一种结构示意图。如图11所示,可以通过n个卷积交织器分别对n条通道数据流进行卷积交织,每条通道数据流经过卷积交织后可以得到数据顺序打乱的第一数据流。需要说明的是,在本实施例中,每个卷积交织器都采用类似的方式对输入的通道数据流进行卷积交织。具体地,每个卷积交织器包括p条延迟线,每个卷积交织器根据p条延迟线对输入的通道数据流进行延迟得到第一数据流。其中,p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q。每个存储单元用于存储d个符号,z=p*d。每条通道数据流中的符号按照p条延迟线的序号依次输入到p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号。其中,Q为大于或等于1的整数,d为大于或等于1的整数。例如,p条延迟线分别包括0个存储单元、Q个存储单元、2Q个存储单元、…、(p-1)Q个存储单元,每个存储单元用于存储d个符号,那么,p条延迟线分别对应p个延迟取值,延迟取值包括0个符号、Q×d个符号、2Q×d个符号、…、(p-1)Q×d个符号。需要说明的是,本申请中延迟取值是以符号为单位来统计的,其中,符号可以包括一个或多个比特。延迟线的延迟取值所包括的符号数量越多,就说明这条延迟线对数据流的延迟(也称为时延)越长。应理解,当延迟线没有包含存储单元时,延迟线的延迟为0个符号,即为无延迟透传。
下面结合附图对卷积交织器的具体结构进行介绍。
图12(a)为本申请实施例中卷积交织器的第一种结构示意图。如图12(a)所示,p条延迟线中存储单元的数量按照p条延迟线的序号依次递减。即延迟线0具有(p-1)Q个存储单元,每一条延迟线依次减少Q个存储单元,延迟线p-1具有0个存储单元。图12(b)为本申请实施例中卷积交织器的第二种结构示意图。如图12(b)所示,p条延迟线中存储单元的数量按照p条延迟线的序号依次递增。即延迟线0具有0个存储单元,每一条延迟线依次增加Q个存储单元,延迟线p-1具有(p-1)Q个存储单元。
需要说明的是,在同一个时刻,卷积交织器输入和输出的开关(switch)位于同一条延迟线上,待当前的延迟线单次输入d个符号并输出d符号后,再将开关切换到下一条延迟线 上,以保证每条通道数据流中的符号按照p条延迟线的序号依次输入到p条延迟线,且第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号。其具体数据读出写入操作如下:从当前延迟线最靠近输出端口的存储单元读出d个符号。将当前延迟线中每个存储单元存储的d个符号转移至后一个存储单元。再将d个符号写入当前延迟线中最靠近输入端口的存储单元。之后,切换到下一条延迟线并重复上述操作,依次类推。在一种可能的实施方式中,若采用上述图12(a)所示的卷积交织器,则卷积交织器的参数应满足d(p*Q+1)≥a*N/b,N为码字的长度,以使得卷积交织器输出的第一数据流中连续的p*d个符号来自p*d个不同的外码码字,其中,d≤a。在另一种可能的实施方式中,若采用上述图12(b)所示的卷积交织器,则卷积交织器的参数应满足d(p*Q-1)≥a*N/b,N为码字的长度,以使得卷积交织器输出的第一数据流中连续的p*d个符号来自p*d个不同的外码码字,其中,d≤a。
应理解,当采用相同的参数p、Q和d时,图12(a)的卷积交织处理和图12(b)的卷积交织处理相互是对方的逆操作。也就是说,当发端处理模块采用图12(a)所示的卷积交织结构,其收端处理模块对应的卷积解交织采用如图图12(b)所示的结构。同理,当发端处理模块采用图12(b)所示的卷积交织结构,其收端处理模块对应的卷积解交织采用如图12(a)所示的结构。
还应理解,n个卷积交织器中的任一个卷积交织器可以采用上述图12(a)或图12(b)中的一种。在实际应用中,n个卷积交织器可以均采用图12(a)所示的结构;或者,n个卷积交织器也可以均采用图12(b)所示的结构;又或者,也可以部分的卷积交织器采用图12(a)所示的结构,剩余部分的卷积交织器采用图12(b)所示的结构。
需要说明的是,在一些具体的应用场景中,以n=32为例,p的取值可以为2、3、4、6或8,d的取值可以为1或2。
为了便于介绍,下文中涉及卷积交织的实施例均以n个卷积交织器采用如图12(a)所示结构为例进行说明,当然可以简单扩展到上述列举的其他结构,其具体实现方式本领域普通技术人员可知,此处不再赘述。
在一些可能的实施方式中,在对n条通道数据流分别进行卷积交织得到n条第一数据流之前,还可以对n路通道数据流进行通道重排序,以使得n路数据流按照预设顺序排列。以32条数据流为例,32条数据流可以是按照0到31排序从上到下排列,当然可以简单扩展到其他顺序排列,其具体实现方式本领域普通技术人员可知,此处不再赘述。
在一些可能的实施方式中,在对n条通道数据流分别进行卷积交织得到n条第一数据流之前,还可以对n条通道数据流进行通道数据对齐处理。该通道数据对齐处理可以是采用现有标准定义的通道纠偏处理(lane de-skew),使得其输出的n条通道数据流的数据是完全对齐的。或者,上述“通道数据对齐处理”也可以仅是通道符号对齐,使得其输出的n条通道数据流上的数据是基于外码符号对齐,具体可以是基于一个外码符号对齐,也可以是基于多个外码符号对齐。关于通道数据对齐处理的详细介绍可以参考上述图3(e)的相关描述,此处不再赘述。
1002、对n条第一数据流中的每K条第一数据流进行复用得到1条第二数据流,以得到共m条第二数据流。
图13为本申请实施例中对n条第一数据流进行复用的一种结构示意图。如图13所示,可以采用m个复用器进行复用处理。具体地,n条第一数据流中的每K条第一数据流输入一个复用器,该复用器输出1条第二数据流。m个复用器将输出共m条第二数据流,其中,m=n/K,k为大于1的整数。为了描述方便,本申请实施例以整数n能被K整除为例进行描述。需要说明的是,n条第一数据流包括G个第一数据流子集,G为大于1的整数,不同第一数据流子集中的符号来自不同码字。在一种可能的实施方式中,若K≤G,从任意K个第一数据流子集中分别选取一条第一数据流,即一个复用器输入的K条第一数据流分别来自K个第一数据流子集。在另一种可能的实施方式中,若K>G,则从每个第一数据流子集各取K/G条第一数据流,即一个复用器输入的K条第一数据流包括每个第一数据流子集中的K/G条第一数据流。例如,若n=32、G=2、K=4、m=8,由于K>G,则需要分别从2个第一数据流子集各取2条第一数据流,以得到输入复用器的4条第一数据流。又例如,若n=32、G=4、K=2、m=8,由于K<G,则需要从4个第一数据流子集任选2个第一数据流子集,并分别从这2个第一数据流子集各取1条第一数据流,以得到输入复用器的2条第一数据流。
需要说明的是,在一些具体的应用场景中,以n=32为例,K的取值可以为2、4或8。
应理解,上述第一数据流子集只是为了便于描述而引入的概念,在实际应用中,n条第一数据流为一个整体并不存在划分,每个第一数据流子集可以视作n条第一数据流中的一条或多条数据流。
需要说明的是,由于参与复用的每条第一数据流中连续的z个符号来自z个不同的码字,因此,经过复用后每条第二数据流中连续的y个符号来自y个不同的码字,其中,y>z。在一种可能的实施方式中,若K≤G,则y=K*z。在另一种可能的实施方式中,若K>G,则y=G*z。
下面结合复用的具体实现方式进行介绍。为了便于描述,下文中统一将复用器输入的K条第一数据流记为复用输入数据流0、复用输入数据流1、复用输入数据流2、...、和复用输入数据流K-1。
图14为本申请实施例中复用器的第一种结构示意图。如图14所示,表示复用输入数据流j中连续的Δ个符号,这Δ个符号来自Δ个不同的外码码字,其中,0≤j≤K-1,若K≤G,Δ为z的约数;若K>G,Δ=z。表示复用输入数据流j中连续的Δ·W个RS符号。需要说明的是,复用器输出的第二数据流包括多个第二数据流符号子集,每个第二数据流符号子集包括K组符号,每组符号包括Δ个符号。并且,每个第二数据流符号子集中相邻两组符号来自不同的第一数据流子集。具体地,第二数据流符号子集中第j组符号来自K条复用输入数据流中第j条复用输入数据流,其中,0≤j≤K-1。需要注意的是,若K>G,则K条复用输入数据流中相邻的2条复用输入数据流来自不同的第一数据流子集。更进一步需要注意的是,若K>G,每连续的G条复用输入数据流分别来自不同的第一数据流子集。
需要说明的是,由于每个第二数据流符号子集中相邻两组符号来自不同的第一数据流子集,所以经过复用后的第二数据流中连续的y个符号来自不同的y个码字,其中,y>z(y=K*z或y=G*z)。应理解,如果只通过卷积交织想得到输出数据流中连续的y个符号来自不同的y个码字,所需要的延时较高。而本方案中,在减少了卷积交织所占用时长的基础上,结合复用处理仍能达到相当的性能。并且,进行复用处理所占用的时长较短,结合卷积交织和复用 就可以通过更短的延时实现相当的性能。
应理解,上述第二数据流符号子集只是为了便于描述而引入的概念,在实际应用中,第二数据流中的符号为一个整体并不存在划分,每个第二数据流符号子集可以视作第二数据流中的多个符号。
以图14为例,记为第0个第二数据流符号子集,记为第1个第二数据流符号子集,…,记为第W个第二数据流符号子集。以第0个第二数据流符号子集为例,表示其中第0组的Δ个符号,表示其中第1组的Δ个符号,…,表示其中第K-1组的Δ个符号。可以看出,来自复用输入数据流0,来自复用输入数据流来自复用输入数据流K-1。应理解,假设Δ=z,中连续的z个符号来自z个不同的码字,中连续的z个符号来自z个不同的码字,…。如果要使得复用后第二数据流中连续的y个符号来自y个不同的码字,y>z,则要来自不同的第一数据流子集,即复用输入数据流0和复用输入数据流1来自不同的第一数据流子集。同理,要来自不同的第一数据流子集,即复用输入数据流1和复用输入数据流2来自不同的第一数据流子集,依次类推。这样一来,复用后第二数据流中每连续的2*z个符号来自2*z个不同的外码码字。需要注意的是,若K>G,每连续的G条复用输入数据流来自不同的第一数据流子集,具体为复用输入数据流0至复用输入数据流G-1来自不同的第一数据流子集,复用输入数据流G与复用输入数据流2*G-1来自不同的第一数据流子集,依次类推。这样一来,复用后的第二数据中每连续G*z个符号来自G*z个不同的外码码字。
也就是说,通过上述方式,复用器将K条输入数据流中数据按照Δ个符号为单位以轮询方式输出到一条第二数据流中,即依次从复用输入数据流0至复用输入数据流K-1每条输出Δ个符号生成第二数据流,对应第二数据流数据顺序为 当K≤G时,从第一数据流子集中选取的K条第一数据流可以以任意顺序对应于复用器的复用输入数据流0至复用输入数据流K-1,且Δ为z的约数,复用输出后第二数据流中任意连续K*z个符号来自不同的外码码字。当K>G时,从第一数据流子集选取的K条第一数据流需按照一定的规则对应于复用器的复用输入数据流0至复用输入数据流K-1。具体的规则为复用器的每连续G条复用输入数据流来自不同的第一数据流子集。一种具体的方式为复用输入数据流i*G至复用输入数据流i*G+G-1分别来自第一数据流子集0至第一数据流子集G-1,其中,0≤i<K/G。这样可使得复用器输出的第二数据流中每连续的G*z个符号来自不同的外码码字。
1003、分别对m条第二数据流进行第二FEC编码得到编码数据流。
图15为本申请实施例中对m条第二数据流进行FEC编码的一种结构示意图。如图15所示,对m条第二数据流分别进行第二FEC编码,即上文提到的内码编码,内码编码的信息位长度小于或等于y个RS符号。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(framing)等。比如内码编码数据流可通过交织后再进行传输,以提升系统抗突发错误的能力。
本申请实施例中,n路通道数据流都为经过外码编码后的码字流,在对n路数据流分别 进行卷积交织处理,并对卷积交织后的n路数据流进行数据流复用为m路第二数据流,随后进行内码编码。采用本申请提供的数据交织和复用处理方案,通过较短的时延就能实现复用处理后的m路数据流在连续输出的多个符号来自多个不同的外码码字,使得级联FEC方案在保证较好性能的基础上也有助于降低数据交织的时延。也就是说,本申请中卷积交织处理与数据复用相结合的方案使得级联FEC方案的整体时延较低,更适用于要求低时延的应用场景。
下面结合一些具体的实施例对上述图10所描述的数据处理方法的流程进行进一步介绍。
实施例1:应用于1×800G接口的场景,内码编码信息位长度为120比特,采用2:1、4:1、8:1的复用器,采用通道纠偏处理。
基于图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。这里32个通道的已知对齐标识各不相同(见《Ethernet Technology Consortium 800G Specification》)。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到完全对齐的32条通道数据流。然后根据对齐标识对n=32条通道的数据进行通道重排序(lane reorder)处理,使得n=32条通道的数据能够按照指定的顺序排列。一种顺序是跟图5一样通道数据流从上往下按从0到31排序。
经通道重排序的n=32条通道数据流送入所设计的卷积交织和复用处理器进行包括卷积交织和复用处理后,送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(framing)等。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。
图16(a)为本申请实施例中卷积交织器的第三种结构示意图。如图16(a)所示,其包含p=3条延迟线(delay line)。这p=3条延迟线分别包括2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是说,延迟线0的延迟取值为4Q个符号,延迟线1的延迟取值为2Q个符号,延迟线2的延迟取值为0个符号即无延迟。
如图16(a)所示的Cr(.)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(6t),Cr(6t+1)表示通道数据流r中当前输入给延迟线0的两个RS符号且Cr(6t-12Q),Cr(6t-12Q+1)为延迟线0输出的两个RS符号;Cr(6t+2),Cr(6t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(6t-6Q+2),Cr(6t-6Q+3)为延迟线1输出的两个RS符号;Cr(6t+4),Cr(6t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(6t+4),Cr(6t+5)为延迟线2输出的两个RS符号;Cr(6t+6),Cr(6t+7)表示通道数据流中再随后输入给延迟线0的两个RS符号且Cr(6t-12Q+6),Cr(6t-12Q+7)为延迟线0输出的两个RS符号,依次类推。结合图5,可以看出当6Q+2≥68即Q≥11时,卷积交织输出的Cr(6t-12Q),Cr(6t-12Q+1),Cr(6t-6Q+2),Cr(6t-6Q+3),Cr(6t+4),Cr(6t+5)总共6个RS符号来自6个不同的RS码字。
图16(b)为本申请实施例中卷积交织器的第四种结构示意图。如图16(b)所示,在一种可能的实施方式中,选取Q=11,卷积交织器具体结构如图16(b)所示。其对应的交织时延约为22*2*3/2=66个RS符号。采用如图16(b)所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图5所示的PCS通道数据流,不难理解,第一数据流0-15中的任一RS符号与第一数据流16-31中的任一RS符号来自不同的RS码字。因此32条第一数据流包含G=2个第一数据流子集,第一数据流0-15为第一数据流子集0,第一数据流16-31为第一数据流子集1。结合图16(a),不难理解,第一数据流子集0中的任一个数据流r_0的6个输出符号Cr_0(6t-12Q),Cr_0(6t-12Q+1),Cr_0(6t-6Q+2),Cr_0(6t-6Q+3),Cr_0(6t+4),Cr_0(6t+5)和第一数据流子集1中的任一个数据流r_1的6个输出符号Cr_1(6t-12Q),Cr_1(6t-12Q+1),Cr_1(6t-6Q+2),Cr_1(6t-6Q+3),Cr_1(6t+4),Cr_1(6t+5),总共12个RS符号来自12个不同的RS码字。
本实施例采用图13所示的复用处理的一种可能的实现为G=2,K=2,m=16,产生16条第二数据流,其包含16个2:1复用处理模块,从第一数据流子集0和第一数据流子集1各自任取1条第一数据流作为2:1复用器的输入。
图17(a)为本申请实施例中复用器的第二种结构示意图。如图17(a)所示,2:1复用器i(0≤i≤15)的2条输入数据流分别为第一数据流i和第一数据流i+16。图中表示2:1复用器的复用输入数据流j中连续的Δ=6个RS符号,其来自6个不同的外码RS码字。2:1复用器将2条输入数据流中数据按照6个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为需要说明的是由于K=G=2,Δ=1,2,3都也可以使得复用器输出数据流中的连续12个RS符号来自12个不同的RS码字。
本实施例采用图13所示的复用处理的另外一种可能的实现为G=2,K=4,m=8,产生8条第二数据流,其包含8个4:1复用器。从第一数据流子集0和第一数据流子集1各自任取2条第一数据流作为4:1复用器的输入。
图17(b)为本申请实施例中复用器的第三种结构示意图。如图17(b)所示,4:1复用器i(0≤i≤7)的复用输入数据流0,复用输入数据流1,复用输入数据流2,复用输入数据流3分别对应为第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24,即复用器的任意连续2条复用输入数据流来自不同的第一数据流子集。图中表示4:1复用器的复用输入数据流j(0≤j≤3)中连续的Δ=6个RS符号,其来自6个不同的外码RS码字。4:1复用器将4条输入数据流中数据按照6个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续12个RS符号来自12个不同的RS码字。
本实施例采用图13所示的复用处理的另外一种可能的实现为G=2,K=8,m=4,产生4条第二数据流,其包含4个8:1复用器。从第一数据流子集0和第一数据流子集1各自任取4条第一数据流作为8:1复用器的输入。
图17(c)为本申请实施例中复用器的第四种结构示意图。如图17(c)所示,8:1复用器i(0≤i≤3)的复用输入数据流0至7分别对应为第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24,第一数据流i+4,第一数据流i+20,第一数据流i+12, 第一数据流i+28,即复用器的任意连续2条复用输入数据流来自不同的第一数据流子集。需要说明的是,8:1复用器i(0≤i≤3)的复用输入数据流0至7还可以分别对应为第一数据流i,第一数据流i+16,第一数据流i+4,第一数据流i+20,第一数据流i+8,第一数据流i+24,第一数据流i+12,第一数据流i+28,即复用器的任意连续2条复用输入数据流来自不同的第一数据流子集。图中表示8:1复用器的复用输入数据流j(0≤j≤7)中连续的Δ=6个RS符号,其来自6个不同的外码RS码字。8:1复用器将8条输入数据流中数据按照6个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为 输出数据流中连续12个RS符号来自12个不同的RS码字。
上述16条、8条或4条第二数据流分别进行内码编码,其中内码编码信息位长度为120比特。具体地,内码编码器分别将每条第二数据流中连续的12个RS符号总共120比特添加冗余,得到内码码字数据流。在一种可能的实施方式中,采用Hamming(128,120)进行内码编码,分别将每条第二数据流中连续的12个RS符号总共120比特添加8比特冗余得到128比特的码字。在另一种可能的实施方式中,采用BCH(136,120)进行内码编码,分别将每条第二数据流中连续的12个RS符号总共120比特添加16比特冗余得到136比特的码字。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
采用本实施例1的数据交织编码方案,其KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.5E-3,性能逼近该级联FEC方案的最优性能。
实施例2:应用于1×800G接口的场景,内码编码信息位长度为120比特,采用2:1、4:1、8:1的复用器,采用通道符号对齐。
实施例2与实施例1的主要区别在于,实施例2是基于2个RS符号对齐得到对齐的32条通道数据流。
具体地,基于图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。发端处理模块接着对32个通道数据流采用基于2个RS符号对齐得到对齐的32条通道数据流。然后根据对齐标识对32条通道的数据进行通道重排序(lane reorder)处理,使得32条通道的数据能够按照指定的顺序排列。一种排列顺序是跟图3(a)一样通道数据流从上往下按从0到31排序。另一种排列顺序是使得“通道重排序”输出的32条通道中从上往下前16条通道数据流包含PCS通道数据流0-15,后16条通道包含PCS通道数据流16-31。应理解,此时前16条通道数据流中的具体顺序不做限定,后16条通道数据流中的具体顺序也不做限定。也就是说,图3(a)中的通道数据流i不一定对应于PCS通道数据流i。
经通道重排序的32条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织 打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。应理解,本实施例采用的卷积交织和复用,以及内码编码方案均采用实施例1的方案。
采用本实施例2的数据交织编码方案,其KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.5E-3,性能与实施例一的方案相当,且具有更低的整体时延。但是,和实施例1方案相比,本实施例2的方案在对抗系统突发错误较差。该方案适用于一些要求更低时延的场景。
实施例3:应用于1×800G接口的场景,内码编码信息位长度为160比特,采用2:1、4:1、8:1的复用器,采用通道纠偏处理。
在实施例1基础上,本实施例考虑码长160比特的内码,对应地采用新设计的卷积交织器。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。
图18(a)为本申请实施例中卷积交织器的第五种结构示意图。如图18(a)所示,其包含p=4条延迟线(delay line)。这4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为6Q个符号,延迟线1的延迟取值为4Q个符号,延迟线2的延迟取值为2Q个符号,延迟线3的延迟取值为0个符号即无延迟。
如图18(a)所示的Cr(.)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(8t),Cr(8t+1)表示通道数据流r中当前输入给延迟线0的两个RS符号且Cr(8t-24Q),Cr(8t-24Q+1为延迟线0输出的两个RS符号;Cr(8t+2),Cr(8t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(8t-16Q+2),Cr(8t-16Q+3)为延迟线1输出的两个RS符号;Cr(8t+4),Cr(8t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(8t-8Q+4),Cr(8t-8Q+5)为延迟线2输出的两个RS符号;Cr(8t+6),Cr(8t+7)表示通道数据流中再随后输入给延迟线3的两个RS符号且Cr(8t+6),Cr(8t+7)为延迟线3输出的两个RS符号,依次类推。结合图5,可以看出当8Q+2≥68即Q≥9时,卷积交织输出的Cr(8t-24Q),Cr(8t-24Q+1,Cr(8t-16Q+2,Cr(8t-16Q+3,Cr(8t-8Q+4,Cr(8t-8Q+5,Cr(8t+6,Cr(8t+7,总共8个RS符号来自8个不同的RS码字。
图18(b)为本申请实施例中卷积交织器的第六种结构示意图。如图18(b)所示,在一种可能的实施方式中,选取Q=9,卷积交织器具体结构如图18(b)所示。其对应的交织时延约为27*2*4/2=108个RS符号。采用如图18(b)所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图5所示的PCS通道数据流,不难理解,第一数据流0-15中的任一RS符号与第一数据流16-31中的任一RS符号来自不同的RS码字。因此32条第一数据流包含G=2个第一数据流子集,第一数据流0-15为第一数据流子集0,第一数据流16-31为第一数据流子集1。结合图图18(a),不难理解,第一数据流子集0的 任一个数据流r_0的8个输出符号Cr_0(8t-24Q),Cr_0(8t-24Q+1),Cr_0(8t-16Q+2),Cr_0(8t-16Q+3),Cr_0(8t-8Q+4),Cr_0(8t-8Q+5),Cr_0(8t+6),Cr_0(8t+7),和第一数据流子集1中的任一个数据流r_1的8个输出符号Cr_1(8t-24Q),Cr_1(8t-24Q+1),Cr_1(8t-16Q+2),Cr_1(8t-16Q+3),Cr1(8t-8Q+4),Cr_1(8t-8Q+5),Cr_1(8t+6),Cr_1(8t+7),总共16个RS符号来自16个不同的RS码字。
本实施例采用图13所示的复用处理的一种可能的实现为G=2,K=2,m=16,产生16条第二数据流,其包含16个2:1复用处理模块,从第一数据流子集0和第一数据流子集1各自任取1条第一数据流作为2:1复用器的输入。对应的2:1复用器一种具体实现方式如图17(a)所示,2:1复用器i(0≤i≤15)的2条输入数据流分别为第一数据流i和第一数据流i+16。图中Cj x表示2:1复用器的复用输入数据流j(0≤j≤1)中连续的Δ=8个RS符号,其来自8个不同的外码RS码字。2:1复用器将2条输入数据流中数据按照8个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中的连续16个RS符号来自16个不同的RS码字。需要说明由K=G=2,Δ=1,2,4也可以使得复用器输出数据流中的连续16个RS符号来自16个不同的RS码字。
本实施例采用图13所示的复用处理的另一种可能的实现为G=2,K=4,m=8,产生8条第二数据流,其包含8个4:1复用器,从第一数据流子集0和第一数据流子集1各自任取2条第一数据流作为4:1复用器的输入。对应的4:1复用器一种具体实现方式如17(b)所示,4:1复用器i(0≤i≤7)的复用输入数据流0,复用输入数据流1,复用输入数据流2,复用输入数据流3分别对应为第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24,即复用器的任意连续2条复用输入数据来自不同的第一数据符号子集。图中表示4:1复用器的复用输入数据流j(0≤j≤3)中连续的Δ=8个RS符号,其来自8个不同的外码RS码字。4:1复用器将4条输入数据流中数据按照8个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续16个RS符号来自16个不同的RS码字。
本实施例采用图13所示的复用处理的另外一种可能的实现为G=2,K=8,m=4,生产4条第二数据流,其包含4个8:1复用器。从第一数据流子集0和第一数据流子集1各自任取4条第一数据流作为8:1复用器的输入,对应的8:1复用器一种具体实现方式如图17(c)所示,8:1复用器i(0≤i≤3)的复用输入数据流0至7分别对应为第一数据流i,第一数据流i+16,第一数据流i+4,第一数据流i+20,第一数据流i+8,第一数据流i+24,第一数据流i+12,第一数据流i+28。图中表示8:1复用器的复用输入数据流j(0≤j≤7)中连续的Δ=8个RS符号,其来自8个不同的外码RS码字。8:1复用器将8条输入数据流中数据按照8个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续16个RS符号来自16个不同的RS码字。
上述16、8或4条第二数据流分别进行内码编码,其中内码编码信息位长度为160比特。具体地,内码编码器分别将第二数据流中连续的16个RS符号总共160比特添加冗余,得到内码码字数据流。在一种可能的实施方式中,采用Hamming(170,160)进行内码编码,分别将 每条第二数据流中连续的16个RS符号总共160比特添加10比特冗余得到170比特的码字。在另一种可能的实施方式中,采用BCH(176,160)进行内码编码,分别将每条第二数据流中连续的16个RS符号总共160比特添加16比特冗余得到176比特的码字。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
采用本实施例的数据交织编码方案,当内码采用Hamming(170,160)时,其KP4 RS(544,514)+Hamming(170,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.3E-3,性能逼近该级联FEC方案的最优性能。当内码采用BCH(176,160)时,其KP4RS(544,514)+BCH(176,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为8.3E-3,性能逼近该级联FEC方案的最优性能。
实施例4:应用于1×800G接口的场景,内码编码信息位长度为160比特,采用2:1、4:1、8:1的复用器,采用通道符号对齐。
实施例4与实施例3的主要区别在于,实施例4是基于2个RS符号对齐得到对齐的32条通道数据流。
具体地,基于图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。发端处理模块接着对32个通道数据流采用基于2个RS符号对齐得到对齐的32条通道数据流。然后根据对齐标识对32条通道的数据进行通道重排序(lane reorder)处理,使得32条通道的数据能够按照指定的顺序排列。一种排列顺序是跟图3(a)一样通道数据流从上往下按从0到31排序。另一种排列顺序是使得“通道重排序”输出的32条通道中从上往下前16条通道数据流包含PCS通道数据流0-15,后16条通道包含PCS通道数据流16-31。应理解,此时前16条通道数据流中的具体顺序不做限定,后16条通道数据流中的具体顺序也不做限定。也就是,图3(a)中的通道数据流i不一定对应于PCS通道数据流i。
经通道重排序的32条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。应理解,本实施例采用的卷积交织和复用,以及内码编码方案均采用实施例3的方案。
采用本实施例4的数据交织编码方案,其KP4 RS(544,514)+Hamming(160,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.5E-3,性能与实施例3的方案相当,且具有更低的整体时延。但是,和实施例3方案相比,本实施例4的方案在对抗系统突发错误较差。该方案适用于一些要求更低时延的场景。
采用本实施例4的数据交织编码方案,当内码采用Hamming(170,160)时,其KP4RS(544,514)+Hamming(170,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.3E-3,性能逼近该级联FEC方案的最优性能。当内码采用BCH(176,160)时,其KP4 RS(544,514)+BCH(176,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为8.3E-3,性能逼近该级联FEC方案的最优性能。应理解,在采用和实施例3方案相同的内码方案下,本实施例4的方案性能与实施例3的一样,但在对抗 系统突发错误较差。该方案适用于一些要求更低时延的场景。
实施例5:应用于2×400G接口的场景,内码编码信息位长度为120或160比特,采用2:1、4:1、8:1的复用器,采用通道纠偏处理。
区别于实施例1-4,本实施例考虑客户侧接口为每个通道100Gb/s的2×400G,其接口细节见《IEEE Std 802.3ckTM/D3.0》。
具体地,基于上述图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道0-15或PCS通道16-31已知的对齐标识(Alignment marker)进行16个通道数据流的标识锁定(alignment lock)。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据PCS通道0-15或PCS通道16-31的对齐标识对16条通道的数据进行通道重排序(lane reorder)处理,使得16条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图6一样通道数据流从上往下按从0到31排序。
经通道重排序的32条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
在一种可能的实施方式中,本实施例5中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例1中的方案一样时,该级联FEC方案的性能和时延与实施例1的一样。
在另一种可能的实施方式中,本实施例5中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例3中的方案一样时,该级联FEC方案的性能和时延与实施例3的一样。
实施例6:应用于2×400G接口的场景,内码编码信息位长度为120或160比特,采用2:1、4:1、8:1的复用器,采用通道符号对齐,不进行通道重排序。
在实施例5方案基础上,实施例6给出了一种更低时延的实现方案。
具体地,基于上述图3(b)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道0-15或PCS通道16-31已知的对齐标识(Alignment marker)进行16个通道数据流的标识锁定(alignment lock)。发端处理模块接着对32个通道数据流进行采用基于2个RS符号对齐,得到对齐的32条通道数据流。然后直接将32条对齐的通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
在一种可能的实施方式中,本实施例6中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例2中的方案一样时,该级联FEC方案的性能和时延与实施例2的一样。
在另一种可能的实施方式中,本实施例6中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例4中的方案一样时,该级联FEC方案的性能和时延与实施例4的一样。
实施例7:应用于4×200G接口的场景,内码编码信息位长度为120或160比特,采用4:1、8:1的复用器,采用通道纠偏处理。
本实施例考虑客户侧接口为每个通道100Gb/s的4×200G,其接口细节见《IEEE Std802.3ckTM/D3.0》。
基于图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31已知的对齐标识(Alignment marker)进行8个通道数据流的标识锁定(alignment lock)。这里PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31可分别认为是第0路、第1路、第2路或第3路200G中的PCS通道0-7。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31的对齐标识对8条通道的数据进行通道重排序(lane reorder)处理,使得8条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图7一样通道数据流从上往下按从0到31排序。
经通道重排序的32条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。
图19(a)为本申请实施例中卷积交织器的第七种结构示意图。如图19(a)所示,其包含p=2条延迟线(delay line)。这2条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为2Q个符号,延迟线1的延迟取值为0个符号即无延迟。
如图19(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(4t),Cr(4t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(4t-4Q),Cr(4t-4Q+1)为延迟线0输出的两个RS符号;Cr(4t+2),Cr(4t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(4t+2),Cr(4t+3)为延迟线1输出的两个RS符号;Cr(4t+4),Cr(4t+5)表示通道数据流中再接下来输入给延迟线0的两个RS符号且Cr(4t-4Q+4),Cr(4t-4Q+5)为延迟线0输出的两个RS符号,依次类推。结合图7,可以看出当4Q+2≥136即Q≥34时,卷积交织输出的连续4个RS符号Cr(4t-4Q),Cr(4t-4Q+1),Cr(4t+2),Cr(4t+3)来自4个不同的RS码字。
图19(b)为本申请实施例中卷积交织器的第八种结构示意图。如图19(b)所示,在一种可能的实施方式中,选取Q=34,卷积交织器具体结构如图19(b)所示。其对应的交织时延约为34*2*2/2=68个RS符号。采用如图19(b)所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图7所示的PCS通道数据流,不难理解,第一数据流0-7中的任一RS符号,第一数据流8-15中的任一RS符号,第一数据流16-23中的任一RS符号,与第一数据流24-31中的任一RS符号,均来自不同的RS码字。因此32条第一数据流包含G=4个第一数据流子集,第一数据流0-7为第一数据流子集0,第一数据流8-15为第一数据流子集1,第一数据流16-23为第一数据流子集2,第一数据流24-31为 第一数据流子集3。
本实施例采用如图13所示复用处理的一种可能实现方式为G=4,K=4,m=8,其包含8个4:1复用器,每个复用器将4条第一数据流进行复用得到1条第二数据流,总共生成8条第二数据流。从第一数据流子集0、第一数据流子集1、第一数据流子集2和第一数据流子集3各自任取1条第一数据流作为4:1复用器的输入。
对应的4:1复用器一种具体实现方式如图17(b)所示,4:1复用器i(0≤i≤7)的复用输入数据流0,复用输入数据流1,复用输入数据流2,复用输入数据流3分别对应为第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24。需要说明的是,4:1复用器i(0≤i≤7)的复用输入数据流0,复用输入数据流1,复用输入数据流2,复用输入数据流3还可以是分别对应为第一数据流i,第一数据流i+8,第一数据流i+16,第一数据流i+24。本实施例中,如图17(b)所示的Cj x表示4:1复用器的复用输入数据流j(0≤j≤3)中连续的Δ=4个RS符号,其来自4个不同的外码RS码字。4:1复用器将4条输入数据流中数据按照4个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序输出数据流中连续16个RS符号来自16个不同的RS码字。需要说明的是由于K=G=4,则从第一数据流子集0至3各取1条第一数据流可以以任意顺序分别对应于4:1复用器i(0≤i≤7)的复用输入数据流0至3;Δ=1,2仍可以使得第二数据流中连续的16个RS符号来自16个不同的RS码字。
本实施例采用如图13所示复用处理的另外一种可能实现方式为G=4,K=8,m=4,其包含4个8:1复用器,每个复用器将8条第一数据流进行复用得到1条第二数据流,总共生成4条第二数据流。从第一数据流子集0、第一数据流子集1、第一数据流子集2和第一数据流子集3各自任取2条第一数据流作为8:1复用器的输入。
对应的8:1复用器一种具体实现方式如图17(c)所示,8:1复用器i(0≤i≤3)的复用输入数据流0至7分别对应为第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24,第一数据流i+4,第一数据流i+20,第一数据流i+12,第一数据流i+28,其使得复用器的任意连续Q=4条复用输入数据流来自不同的第一数据流子集。需要说明的是,8:1复用器i(0≤i≤3)的复用输入数据流0至7还可以分别对应为第一数据流i,第一数据流i+8,第一数据流i+16,第一数据流i+24,第一数据流i+4,第一数据流i+12,第一数据流i+20,第一数据流i+28。图中表示8:1复用器的复用输入数据流j(0≤j≤7)中连续的Δ=4个RS符号,其来自4个不同的外码RS码字。8:1复用器将8条输入数据流中数据按照4个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为 输出数据流中连续16个RS符号来自16个不同的RS码字。
上述8或者4条第二数据流分别进行内码编码,其内码编码方案可以采用实施例1给出的编码方案,得到与实施例1相当的性能;也可以采用实施例3给出的编码方案,得到与实施例3相当的性能,此处不再赘述。
实施例8:应用于4×200G接口的场景,内码编码信息位长度为120比特,采用2:1的 复用器,采用通道纠偏处理。
在实施例7基础上,本实施例考虑采用2:1复用器,对应地采用新设计的卷积交织器。
具体地,基于图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31已知的对齐标识(Alignment marker)进行8个通道数据流的标识锁定(alignment lock)。这里PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31可分别认为是第0路、第1路、第2路或第3路200G中的PCS通道0-7。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31的对齐标识对8条通道的数据进行通道重排序(lane reorder)处理,使得8条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图7一样通道数据流从上往下按从0到31排序。
经通道重排序的32条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。图16(a)给出了一种卷积交织器结构,其包含p=3条延迟线(delay line)。这3条延迟线分别包括2Q个存储单元、Q个存储单元,0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为4Q个符号,延迟线1的延迟取值为2Q个符号,延迟线2的延迟取值为0个符号即无延迟。
如图16(a)所示所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如Cr(6t),Cr(6t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(6t-12Q),Cr(6t-12Q+1)为延迟线0输出的两个RS符号;Cr(6t+2),Cr(6t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(6t-6Q+2),Cr(6t-6Q+3)为延迟线1输出的两个RS符号;Cr(6t+4),Cr(6t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(6t+4),Cr(6t+5)为延迟线2输出的两个RS符号;Cr(6t+6),Cr(6t+7)表示通道数据流中再随后输入给延迟线0的两个RS符号且Cr(6t-12Q+6),Cr(6t-12Q+7)为延迟线0输出的两个RS符号,依次类推。结合图7,可以看出当6Q+2≥136即Q≥23时,卷积交织输出的Cr(6t-12Q),Cr(6t-12Q+1),Cr(6t-6Q+2),Cr(6t-6Q+3),Cr(6t+4),Cr(6t+5)总共6个RS符号来自6个不同的RS码字。
图20为本申请实施例中卷积交织器的第九种结构示意图。如图20所示,在一种可能的实施方式中,选取Q=23,卷积交织器具体结构如图20所示。其对应的交织时延约为46*2*3/2=138个RS符号。采用如图20所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图7所示的PCS通道数据流,不难理解,第一数据流0-7中的任一RS符号,第一数据流8-15中的任一RS符号,第一数据流16-23中的任一RS符号,与第一数据流24-31中的任一RS符号,均来自不同的RS码字。因此32条第一数据流包含G=4个第一数据流子集,第一数据流0-7为第一数据流子集0,第一数据流8-15为 第一数据流子集1,第一数据流16-23为第一数据流子集2,第一数据流24-31为第一数据流子集3。
本实施例采用如图13所示复用处理的一种可能实现方式为G=4,K=2,m=16,其包含16个2:1复用器,每个复用器将2条第一数据流进行复用得到1条第二数据流,总共生成16条第二数据流。从第一数据流子集0、第一数据流子集1、第一数据流子集2和第一数据流子集3中任意2个第一数据流子集各自任取1条第一数据流作为2:1复用器的输入,对应的2:1复用器一种具体实现方式如图17(a)所示,2:1复用器i(0≤i≤15)的复用输入数据流0和输入数据流1分别对应为第一数据流i,第一数据流i+16。图中表示2:1复用器的复用输入数据流j(0≤j≤1)中连续的Δ=6个RS符号,其来自6个不同的外码RS码字。2:1复用器将2条输入数据流中数据按照6个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续12个RS符号来自12个不同的RS码。需要说明的是由于K<G,则Δ=1,2,3仍可以使得第二数据流中连续12个RS符号来自12个不同的RS码。
上述16条第二数据流分别进行内码编码,其内码编码方案可以采用实施例1给出的编码方案,得到与实施例1相当的性能,此处不再赘述。
实施例9:应用于4×200G接口的场景,内码编码信息位长度为160比特,采用2:1的复用器,采用通道纠偏处理。
在实施例8基础上,本实施例考虑码长160比特的内码,对应地采用新设计的卷积交织器。
具体地,本实施例采用图18(a)给出的卷积交织器结构,其包含p=4条延迟线(delay line)。这4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为6Q个符号,延迟线1的延迟取值为4Q个符号,延迟线2的延迟取值为2Q个符号,延迟线3的延迟取值为0个符号即无延迟。
如图18(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(8t),Cr(8t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(8t-24Q),Cr(8t-24Q+1)为延迟线0输出的两个RS符号;Cr(8t+2),Cr(8t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(8t-16Q+2),Cr(8t-16Q+3)为延迟线1输出的两个RS符号;Cr(8t+4),Cr(8t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(8t-8Q+4),Cr(8t-8Q+5)为延迟线2输出的两个RS符号;Cr(8t+6),Cr(8t+7)表示通道数据流中再随后输入给延迟线3的两个RS符号且Cr(8t+6),Cr(8t+7)为延迟线3输出的两个RS符号,Cr(8t+8),Cr(8t+9)表示通道数据流中再随后输入给延迟线0的两个RS符号且Cr(8t-24Q+8),Cr(8t-24Q+9)为延迟线0输出的两个RS符号,依次类推。结合图7,可以看出当8Q+2≥136即Q≥17时,卷积交织输出的Cr(8t-24Q),Cr(8t-24Q+1),Cr(8t-16Q+2),Cr(8t-16Q+3),Cr(8t-8Q+4),Cr(8t-8Q+5),Cr(8t+6),Cr(8t+7)总共8个RS符号来自8个不同的RS码字。
图21为本申请实施例中卷积交织器的第十种结构示意图。如图21所示,在一种可能的 实施方式中,选取Q=17,卷积交织器具体结构如图21所示。其对应的交织时延约为51*2*4/2=204个RS符号。
采用如图21所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图7所示的PCS通道数据流,不难理解,第一数据流0-7中的任一RS符号,第一数据流8-15中的任一RS符号,第一数据流16-23中的任一RS符号,与第一数据流24-31中的任一RS符号,均来自不同的RS码字。因此32条第一数据流包含G=4个第一数据流子集,第一数据流0-7为第一数据流子集0,第一数据流8-15为第一数据流子集1,第一数据流16-23为第一数据流子集2,第一数据流24-31为第一数据流子集3。
本实施例采用如图13所示复用处理的一种可能实现方式为G=4,K=2,m=16,其包含16个2:1复用器,每个复用器将2条第一数据流进行复用得到1条第二数据流,总共生成16条第二数据流。从第一数据流子集0、第一数据流子集1、第一数据流子集2和第一数据流子集3中任意2个第一数据流子集各自任取1条第一数据流作为2:1复用器的输入。对应的2:1复用器一种具体实现方式如图17(a)所示,2:1复用器i(0≤i≤15)的复用输入数据流0和复用输入数据流1分别对应为第一数据流i,第一数据流i+16。图中表示2:1复用器的复用输入数据流j(0≤j≤1)中连续的Δ=8个RS符号,其来自8个不同的外码RS码字。2:1复用器将2条输入数据流中数据按照8个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续16个RS符号来自16个不同的RS码字。需要说明的是由于K<G,则Δ=1,2,4仍可以使得第二数据流中连续16个RS符号来自16个不同的RS码。
上述16条第二数据流分别进行内码编码,其内码编码方案可以采用实施例3给出的编码方案,得到与实施例3相当的性能,此处不再赘述。
实施例10:应用于4×200G接口的场景,内码编码信息位长度为160比特,采用通道符号对齐。
在实施例7-9中任意实施例的基础上,本实施例给出了一种更低时延的实现方案。
基于图3(d)所示的发端处理模块的数据处理示意图,发端处理模块利用PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31已知的对齐标识(Alignment marker)进行8个通道数据流的标识锁定(alignment lock)。这里PCS通道0-7、PCS通道8-15、PCS通道16-23或PCS通道24-31可分别认为是第0路、第1路、第2路或第3路200G中的PCS通道0-7。发端处理模块接着对32个通道数据流采用基于2个RS符号对齐得到对齐的32条通道数据流。然后直接将32条对齐的通道数据流送入所设计的包含复用的处理器进行处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
在一种可能的实施方式中,当本实施例复用处理以及内码编码方案均采用实施例7的方案时,其级联码在AWGN下性能与实施例7的方案相当,且具有更低的整体时延。但是,和实施例7方案相比,本实施例的方案在对抗系统突发错误较差。该方案适用于一些要求更低时延的场景。
在另一种可能的实施方式中,当本实施例的复用处理以及内码编码方案均采用实施例8的方案时,其级联码在AWGN下性能与实施例8的方案相当,且具有更低的整体时延。但是,和实施例8相比,本实施例的方案在对抗系统突发错误较差。该方案适用于一些要求更低时延的场景。
在又一种可能的实施方式中,当本实施例的复用处理以及内码编码方案均采用实施例9的方案时,其级联码在AWGN下性能与实施例9的方案相当,且具有更低的整体时延。但是,和实施例9相比,本实施例的方案在对抗系统突发错误较差。该方案适用于一些要求更低时延的场景。
实施例11:应用于8×100G接口的场景,内码编码信息位长度为120比特或160比特,采用8:1的复用器,采用通道纠偏处理。
本实施例考虑客户侧接口为每个通道100Gb/s的8×100G且采用“100G RS-FEC-Int”模式,其接口细节见《IEEE Std 802.3ckTM/D3.0》。
基于图3(c)所示的发端处理模块的数据处理示意图,发端处理模块利用FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31已知的对齐标识(Alignment marker)进行4个通道数据流的标识锁定(alignment lock)。这里FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31可分别认为是第0路、第1路、第2路、第3路、第4路、第5路、第6路或第7路100G中的FEC通道0-3。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31的对齐标识对4条通道的数据进行通道重排序(lane reorder)处理,使得4条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图11一样通道数据流从上往下按从0到31排序。经通道重排序的32条通道数据流不进行卷积交织,直接进行复用处理得到总共16条第二数据流,并送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
参考图8所示的PCS通道数据流,不难理解,通道数据流0-3中的任一个RS符号,通道数据流4-7中的任一个RS符号,通道数据流8-11中的任一个RS符号,通道数据流12-15中的任一个RS符号,通道数据流16-19中的任一个RS符号,通道数据流20-23中的任一个RS符号,通道数据流24-27中的任一个RS符号,与通道数据流28-31中的任一个RS符号,均来自不同的RS码字,由于通道数据流不进行卷积交织,因此通道数据流0-31等同于第一数据流0-31。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用如图13所示复用处理的一种可能实现方式为G=8,K=8,m=4,其将32条通道数据流进行复用处理得到4条第二数据流。其中,第一数据流子集0中的某一条,第一数据流子集1中的某一条,第一数据流子集2中的某一条,第一数据流子集3中的某一条,第一数据流子集4中的某一条,第一数据流子集5中的某一条,第一数据流子集6中的某一条,和第一数据流子集7中的某一条,总共8条通道数据流作为8:1复用器i(0≤i≤3)的8条输入数据流。一种具体实现方式如图17(c)所示,复用器i(0≤i≤3)将第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24,第一数据流i+4,第一数据流i+20,第一数据流i+12,第一数据流i+28分别对应于8:1复用器的复用输入数据流0至7。图中表示8:1复用器的复用输入数据流j(0≤j≤7)中连续的Δ=2个RS符号,其来自2个不同的外码RS码字。8:1复用器将8条输入数据流中数据按照2个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为 输出数据流中连续16个RS符号来自16个不同的RS码字。需要说明的是由于K≤G,则Δ=1仍可以使得第二数据流中连续16个RS符号来自16个不同的RS码。
图22为本申请实施例中复用器的第五种结构示意图。如图22所示,复用器i(0≤i≤3)将第一数据流i,第一数据流i+4,第一数据流i+8,第一数据流i+12,第一数据流i+16,第一数据流i+20,第一数据流i+24,第一数据流i+28依次分别对应于8:1复用器的复用输入数据流0~7。图中表示8:1复用器的复用输入数据流j(0≤j≤7)中连续的Δ=2个RS符号,其来自2个不同的外码RS码字。8:1复用器将8条输入数据流中数据按照2个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为 输出数据流中连续16个RS符号来自16个不同的RS码字。需要说明的是由于K≤G,则Δ=1仍可以使得第二数据流中连续16个RS符号来自16个不同的RS码。
上述4条第二数据流分别进行内码编码,其内码编码方案可以采用实施例1给出的编码方案,得到与实施例1相当的性能;也可以采用实施例3给出的编码方案,得到与实施例3相当的性能,此处不再赘述。
实施例12:应用于8×100G接口的场景,内码编码信息位长度为120比特或160比特,采用4:1的复用器,采用通道纠偏处理。
在实施例11方案基础上,本实施例给出了复用处理采用4:1复用器时一种次低时延的实现方案。
基于图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31已知的对齐标识(Alignment marker)进行4个通道数据流的标识锁定(alignment lock)。这里FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31可分别认为是第0路、第1路、第2路、第3路、第4路、第5路、第6路或第7路100G中的FEC通道0-3。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道 数据流。然后根据FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31的对齐标识对4条通道的数据进行通道重排序(lane reorder)处理,使得4条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图11一样通道数据流从上往下按从0到31排序。
经通道重排序的32条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。图19(a)给出了一种卷积交织器结构,其包含p=2条延迟线(delay line)。这2条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为2Q个符号,延迟线1的延迟取值为0个符号即无延迟。
如图19(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如Cr(4t),Cr(4t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(4t-4Q),Cr(4t-4Q+1)为延迟线0输出的两个RS符号;Cr(4t+2),Cr(4t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(4t+2),Cr(4t+3)为延迟线1输出的两个RS符号;Cr(4t+4),Cr(4t+5)表示通道数据流中再接下来输入给延迟线0的两个RS符号且Cr(4t-4Q+4),Cr(4t-4Q+5)为延迟线0输出的两个RS符号,依次类推。结合图8,可以看出当4Q+2≥272即Q≥68时,卷积交织输出的连续4个RS符号Cr(4t-4Q),Cr(4t-4Q+1),Cr(4t+2),Cr(4t+3)来自4个不同的RS码字。
图23为本申请实施例中卷积交织器的第十一种结构示意图。如图23所示,在一种可能的实施方式中,选取Q=68,卷积交织器具体结构如图23所示。其对应的交织时延约为68*2*2/2=136个RS符号。
采用如图23所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图8所示的PCS通道数据流,不难理解,通道数据流0-3中的任一个RS符号,通道数据流4-7中的任一个RS符号,通道数据流8-11中的任一个RS符号,通道数据流12-15中的任一个RS符号,通道数据流16-19中的任一个RS符号,通道数据流20-23中的任一个RS符号,通道数据流24-27中的任一个RS符号,与通道数据流28-31中的任一个RS符号,均来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用如图13所示复用处理的一种可能实现方式为G=8,K=4,m=8,其包含8个4:1复用器,每个复用器将4条第一数据流进行复用得到1条第二数据流,总共生成8条第二数 据流。从第一数据流子集0-7中任意4个第一数据流子集各自任取1条第一数据流作为4:1复用器的输入,一种具体实现方式如图17(b)所示,4:1复用器i(0≤i≤7)的复用输入数据流0至3分别对应为第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24。图中表示4:1复用器的复用输入数据流j(0≤j≤3)中连续的Δ=4个RS符号,其来自4个不同的外码RS码字。4:1复用器将4条输入数据流中数据按照4个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续16个RS符号来自16个不同的RS码字。需要说明的是由于K≤G,则Δ=1,2仍可以使得第二数据流中连续16个RS符号来自16个不同的RS码。
图24为本申请实施例中复用器的第六种结构示意图。如图24所示,复用器i(0≤i≤3)将第一数据流i,第一数据流i+8,第一数据流i+16,第一数据流i+24,分别对应于4:1复用器的复用输入数据流0至3。图中表示4:1复用器的复用输入数据流j(0≤j≤3)中连续的Δ=4个RS符号,其来自4个不同的外码RS码字。4:1复用器将4条输入数据流中数据按照4个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续16个RS符号来自16个不同的RS码字。需要说明的是由于K≤G,则Δ=1,2仍可以使得第二数据流中连续16个RS符号来自16个不同的RS码。
上述8条第二数据流分别进行内码编码,其内码编码方案可以采用实施例1给出的编码方案,得到与实施例1相当的性能;也可以采用实施例3给出的编码方案,得到与实施例3相当的性能,此处不再赘述。
实施例13:应用于8×100G接口的场景,内码编码信息位长度为120比特,采用2:1的复用器,采用通道纠偏处理。
在实施例12的基础上,本实施例考虑复用处理采用2:1复用器,且信息长度为120比特的内码,对应地采用新设计的卷积交织器和复用处理。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。图16(a)给出了一种卷积交织器结构,其包含p=3条延迟线(delay line)。这3条延迟线分别包括2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为4Q个符号,延迟线1的延迟取值为2Q个符号,延迟线2的延迟取值为0个符号即无延迟。
如图16(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(6t),Cr(6t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(6t-12Q),Cr(6t-12Q+1)为延迟线0输出的两个RS符号;Cr(6t+2),Cr(6t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(6t-6Q+2),Cr(6t-6Q+3)为延迟线1输出的两个RS符号;Cr(6t+4),Cr(6t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(6t+4),Cr(6t+5)为延迟线2输出的两个RS符号;Cr(6t+6),Cr(6t+7)表示通道数据流中再随后输入给延迟线0的两个RS符号且Cr(6t-12Q+6),Cr(6t-12Q+7)为延迟线0输出的两个RS符号,依次类推。 结合图8,可以看出当6Q+2≥272即Q≥45时,卷积交织输出的Cr(6t-12Q),Cr(6t-12Q+1),Cr(6t-6Q+2),Cr(6t-6Q+3),Cr(6t+4),Cr(6t+5)总共6个RS符号来自6个不同的RS码字。
图25为本申请实施例中卷积交织器的第十二种结构示意图。如图25所示,在一种可能的实施方式中,选取Q=45,卷积交织器具体结构如图25所示。其对应的交织时延约为90*2*3/2=270个RS符号。
采用如图25所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图8所示的PCS通道数据流,不难理解,第一数据流0-3中的任一个RS符号,第一数据流4-7中的任一个RS符号,第一数据流8-11中的任一个RS符号,第一数据流12-15中的任一个RS符号,第一数据流16-19中的任一个RS符号,第一数据流20-23中的任一个RS符号,第一数据流24-27中的任一个RS符号,与第一数据流28-31中的任一个RS符号,均来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用如图13所示复用处理的一种可能实现方式为G=8,K=2,m=16,即包含16个2:1复用器,每个复用器将2条第一数据流进行复用得到1条第二数据流,总共生成16条第二数据流。从第一数据流子集0-7中任意2个第一数据流子集各自任取1条第一数据流作为2:1复用器的输入,对应的2:1复用器一种具体实现方式如图17(a)所示,2:1复用器i(0≤i≤15)的复用输入数据流0和复用输入数据流1分别对应为第一数据流i,第一数据流i+16。图中表示2:1复用器的复用输入数据流j(0≤j≤1)中连续的Δ=6个RS符号,其来自6个不同的外码RS码字。2:1复用器将2条输入数据流中数据按照6个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续12个RS符号来自12个不同的RS码字。需要说明的是由于K≤G,则Δ=1,2,3仍可以使得第二数据流中连续12个RS符号来自12个不同的RS码。
对上述复用处理输出的16条第二数据流进行编码方案可以均采用实施例1中的方案,得到与实施例1相当的性能,此处不再赘述。
实施例14:应用于8×100G接口的场景,内码编码信息位长度为160比特,采用2:1的复用器,采用通道纠偏处理。
在实施例12的基础上,本实施例考虑复用处理采用2:1复用器,且信息长度为160比特的内码,对应地采用新设计的卷积交织器和复用处理。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织0、卷积交织1、卷积交织2、…、卷积交织31采用相同的交织结构。图18(a)给出了一种卷积交织器结构,其包含p=4条延迟线(delay line)。这4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为6Q个符 号,延迟线1的延迟取值为4Q个符号,延迟线2的延迟取值为2Q个符号,延迟线3的延迟取值为0个符号即无延迟。
如图18(a)所示的Cr()表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(8t),Cr(8t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(8t-24Q),Cr(8t-24Q+1)为延迟线0输出的两个RS符号;Cr(8t+2),Cr(8t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(8t-16Q+2),Cr(8t-16Q+3)为延迟线1输出的两个RS符号;Cr(8t+4),Cr(8t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(8t-8Q+4),Cr(8t-8Q+5)为延迟线2输出的两个RS符号;Cr(8t+6),Cr(8t+7)表示通道数据流中再随后输入给延迟线3的两个RS符号且Cr(8t+6),Cr(8t+7)为延迟线3输出的两个RS符号,Cr(8t+8),Cr(8t+9)表示通道数据流中再随后输入给延迟线0的两个RS符号且Cr(8t-24Q+8),Cr(8t-24Q+9)为延迟线0输出的两个RS符号,依次类推。结合图8,可以看出当8Q+2≥272即Q≥34时,卷积交织输出的Cr(8t-24Q),Cr(8t-24Q+1),Cr(8t-16Q+2),Cr(8t-16Q+3),Cr(8t-8Q+4),Cr(8t-8Q+5),Cr(8t+6),Cr(8t+7)总共8个RS符号来自8个不同的RS码字。
图26为本申请实施例中卷积交织器的第十三种结构示意图。如图26所示,在一种可能的实施方式中,选取Q=34,卷积交织器具体结构如图26所示。其对应的交织时延约为102*2*4/2=408个RS符号。
采用如图26所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图8所示的PCS通道数据流,不难理解,第一数据流0-3中的任一个RS符号,第一数据流4-7中的任一个RS符号,第一数据流8-11中的任一个RS符号,第一数据流12-15中的任一个RS符号,第一数据流16-19中的任一个RS符号,第一数据流20-23中的任一个RS符号,第一数据流24-27中的任一个RS符号,与第一数据流28-31中的任一个RS符号,均来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用如图13所示复用处理的一种可能实现方式为G=8,K=2,m=16,即包含16个2:1复用器,每个复用器将2条第一数据流进行复用得到1条第二数据流,总共生成16条第二数据流。从第一数据流子集0-7中任意2个第一数据流子集各自任取1条第一数据流作为2:1复用器的输入,对应的2:1复用器一种具体实现方式如图17(a)所示,2:1复用器i(0≤i≤15)的复用输入数据流0和复用输入数据流1分别对应为第一数据流i,第一数据流i+16。图中表示2:1复用器的复用输入数据流j(0≤j≤1)中连续的Δ=8个RS符号,其来自8个不同的外码RS码字。2:1复用器将2条输入数据流中数据按照8个RS符号为单位以轮询方式输出到输出数据流中,即输出数据顺序为输出数据流中连续16个RS符号来自16个不同的RS码字。需要说明的是由于K≤G,则Δ=1,2,4仍可以使得第二数据流中连续16个RS符号来自16个不同的RS码。
对上述复用处理输出的16条第二数据流进行内码编码方案可采用实施例3中的内码编码 方案,得到与实施例3相当的性能,此处不再赘述。
实施例15:应用于8×100G接口的场景,采用通道符号对齐。
在实施例11-14中任意实施例的基础上,本实施例给出了一种更低时延的实现方案。
基于图3(b)所示的发端处理模块的数据处理示意图,发端处理模块利用FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31已知的对齐标识(Alignment marker)进行4个通道数据流的标识锁定(alignment lock)。发端处理模块接着对32个通道数据流采用基于2个RS符号对齐得到对齐的32条通道数据流。32条通道数据流分别进行卷积交织得到32条第一数据流,第一数据流进行复用处理得到4条或者8条、或者16条第二数据流,并送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
本实施例中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例11中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
本实施例中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例12中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
本实施例中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例13中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
本实施例中当采用的包含卷积交织和复用的处理器,以及内码编码跟实施例14中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
实施例16:应用于8×100G接口的场景,内码编码信息位长度为120比特或160比特,采用8:1的复用器,采用通道纠偏处理。
本实施例考虑客户侧接口为每个通道100Gb/s的8×100G且采用“100G RS-FEC”模式,其接口细节见《IEEE Std 802.3ckTM/D3.0》。
基于图3(a)所示的发端处理模块的数据处理示意图,发端处理模块利用FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31已知的对齐标识(Alignment marker)进行4个通道数据流的标识锁定(alignment lock)。这里FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31可分别认为是第0路、第1路、第2路、第3路、第4路、第5路、第6路或第7路100G中的FEC通道0-3。发端处理模块接着对32个通道数据流进行通道纠偏处理(lane de-skew)得到对齐的32条通道数据流。然后根据FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31的对齐标识对4条通道的数据进 行通道重排序(lane reorder)处理,使得4条通道的数据能够按照指定的顺序排列。最后使得32条通道的数据能够按照指定的顺序排列。一种顺序是跟图9一样通道数据流从上往下按从0到31排序。
经通道重排序的32条通道数据流送入所设计的包含卷积交织和复用的处理器进行交织打乱数据顺序处理后送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条FEC通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。
图27(a)为本申请实施例中卷积交织器的第十四种结构示意图。如图27(a)所示,其包含p=2条延迟线(delay line)。这2条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储d=1个符号。也就是说,延迟线0的延迟取值为Q个符号,延迟线1的延迟取值为0个符号即无延迟。
如图27(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(2t)表示通道数据流中当前输入给延迟线0的1个RS符号且Cr(2t-2Q)为延迟线0输出的1个RS符号;Cr(2t+1)表示通道数据流中接下来输入给延迟线1的1个RS符号且Cr(2t+1)为延迟线1输出的1个RS符号;Cr(2t+2)表示通道数据流中再接下来输入给延迟线0的1个RS符号且Cr(2t-2Q+2)为延迟线0输出的1个RS符号,依次类推。结合图9,可以看出当2Q+1≥136即Q≥68时,卷积交织输出的连续2个RS符号Cr(2t-2Q),Cr(2t+1)来自2个不同的RS码字。
图27(b)为本申请实施例中卷积交织器的第十五种结构示意图。如图27(b)所示,在一种可能的实施方式中,选取Q=68,卷积交织器具体结构如图27(b)所示。其对应的交织时延约为68*2/2=68个RS符号。
采用如图27(b)所示的卷积交织器分别对32条FEC通道数据流进行卷积交织处理得到32条第一数据流。参考图9所示的FEC通道数据流,不难理解,第一数据流0-3中的任一RS符号,第一数据流4-7中的任一RS符号,第一数据流8-11中的任一RS符号,第一数据流12-15中的任一RS符号,第一数据流16-19中的任一RS符号,第一数据流20-23中的任一RS符号,与第一数据流24-27中的任一RS符号,与第一数据流28-31中的任一RS符号,均来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用实施例11中的8:1复用处理结构,可以得到4条第二数据流,且每个第二数据流中连续的16个RS符号均来自16个不同的RS码字。
对上述4条第二数据流分别进行内码编码,其内码编码方案可以采用实施例1给出的编码方案,得到与实施例1相当的性能;也可以采用实施例3给出的编码方案,得到与实施例3相当的性能,此处不再赘述。
实施例17:应用于8×100G接口的场景,内码编码信息位长度为120比特,采用4:1的复用器,采用通道纠偏处理。
在实施例16方案基础上,本实施例给出了内码信息长度为120比特,复用处理采用4:1复用器时,对应地采用新设计的卷积交织器和复用处理。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。
图28(a)为本申请实施例中卷积交织器的第十六种结构示意图。如图28(a)所示,其包含p=3条延迟线(delay line)。这p=3条延迟线分别包括2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=1个符号。也就是,延迟线0的延迟取值为2Q个符号,延迟线1的延迟取值为Q个符号,延迟线1的延迟取值为0个符号即无延迟。
如图28(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(3t)表示通道数据流中当前输入给延迟线0的1个RS符号且Cr(3t-6Q)为延迟线0输出的1个RS符号;Cr(3t+1)表示通道数据流中接下来输入给延迟线1的1个RS符号且Cr(3t-3Q+1)为延迟线1输出的1个RS符号;Cr(3t+2)表示通道数据流中再接下来输入给延迟线2的1个RS符号且Cr(3t+2)为延迟线2输出的1个RS符号;Cr(3t+3)表示通道数据流中再随后输入给延迟线0的1个RS符号且Cr(3t-6Q+3)为延迟线0输出的1个RS符号,依次类推。结合图9,可以看出当3Q+1≥136即Q≥45时,卷积交织输出的Cr(3t-6Q),Cr(3t-3Q+2),Cr(3t+2)总共3个RS符号来自3个不同的RS码字。
图28(b)为本申请实施例中卷积交织器的第十七种结构示意图。如图28(b)所示,在一种可能的实施方式中,选取Q=45,卷积交织器具体结构如图28(b)所示。其对应的交织时延约为90*3/2=135个RS符号。
采用如图28(b)所示的卷积交织器分别对32条FEC通道数据流进行卷积交织处理得到32条第一数据流。参考图9所示的FEC通道数据流,不难理解,第一数据流0-3中的任一RS符号,第一数据流4-7中的任一RS符号,第一数据流8-11中的任一RS符号,第一数据流12-15中的任一RS符号,第一数据流16-19中的任一RS符号,第一数据流20-23中的任一RS符号,与第一数据流24-27中的任一RS符号,与第一数据流28-31中的任一RS符号,均来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用实施例12中的复用处理结构,且Δ=1,3可以得到8条第二数据流,且每个第二数据流中连续的12个RS符号均来自12个不同的RS码字。
对上述复用处理输出的8条第二数据流进行编码方案可以均采用实施例1中的方案,得到与实施例1相当的性能,此处不再赘述。
实施例18:应用于8×100G接口的场景,内码编码信息位长度为160比特,采用4:1的复用器,采用通道纠偏处理。
在实施例16方案基础上,本实施例给出了内码信息长度为160比特,复用处理采用4:1复用器时一种次低时延的实现方案,对应地采用新设计的交织器和复用处理。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、)、卷积交织器31采用相同的交织结构。
图29(a)为本申请实施例中卷积交织器的第十八种结构示意图。如图29(a)所示,其包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元,2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=1个符号。也就是,延迟线0的延迟取值为3Q个符号,延迟线1的延迟取值为2Q个符号,延迟线2的延迟取值为Q个符号、延迟线3的延迟取值为0个符号即无延迟。
如图29(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(4t)表示通道数据流中当前输入给延迟线0的1个RS符号且Cr(4t-12Q)为延迟线0输出的1个RS符号;Cr(4t+1)表示通道数据流中接下来输入给延迟线1的1个RS符号且Cr(4t-8Q+1)为延迟线1输出的1个RS符号;Cr(4t+2)表示通道数据流中再接下来输入给延迟线2的1个RS符号且Cr(4t-4Q+2)为延迟线2输出的1个RS符号;Cr(4t+3)表示通道数据流中再接下来输入给延迟线3的1个RS符号且Cr(4t+3)为延迟线3输出的1个RS符号;Cr(4t+4)表示通道数据流中再随后输入给延迟线0的1个RS符号且Cr(4t-12Q+4)为延迟线0输出的1个RS符号,依次类推。结合图9,可以看出当4Q+1≥136即Q≥34时,卷积交织连续输出的Cr(4t-12Q),Cr(4t-8Q+1),Cr(4t-4Q+2),Cr(4t+3)总共4个RS符号来自4个不同的RS码字。
图29(b)为本申请实施例中卷积交织器的第十九种结构示意图。如图29(b)所示,在一种可能的实施方式中,选取Q=34,卷积交织器具体结构如图29(b)所示。其对应的交织时延约为102*4/2=204个RS符号。
采用如图29(b)所示的卷积交织器分别对32条FEC通道数据流进行卷积交织处理得到32条第一数据流。参考图9所示的FEC通道数据流,不难理解,第一数据流0-3中的任一RS符号,第一数据流4-7中的任一RS符号,第一数据流8-11中的任一RS符号,第一数据流12-15中的任一RS符号,第一数据流16-19中的任一RS符号,第一数据流20-23中的任一RS符号,与第一数据流24-27中的任一RS符号,与第一数据流28-31中的任一RS符号,均来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用实施例13中的复用处理结构,且Δ=1,2,4时可以得到8条第二数据流,且每个第二数据流中连续的16个RS符号均来自16个不同的RS码字。
上述8条第二数据流分别进行内码编码,其内码编码方案可以采用实施例3的内码编码方案,可以得到与实施例3相当的性能,此处不再赘述。
实施例19:应用于8×100G接口的场景,内码编码信息位长度为120比特,采用2:1的复用器,采用通道纠偏处理。
在实施例16方案基础上,本实施例给出了内码信息长度为120比特,复用处理采用4:1复用器时,对应地采用新设计的卷积交织器和复用处理。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。
图30(a)为本申请实施例中卷积交织器的第二十种结构示意图。如图30(a)所示,其包含p=6条延迟线(delay line)。这p=6条延迟线分别包括5Q个存储单元、4Q个存储单元、3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=1个符号。也就是,延迟线0的延迟取值为5Q个符号,延迟线1的延迟取值为4Q个符号,延迟线2的延迟取值为3Q个符号,延迟线3的延迟取值为2Q个符号,延迟线4的延迟取值为Q个符号,延迟线5的延迟取值为0个符号即无延迟。
如图30(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(6t)表示通道数据流中当前输入给延迟线0的1个RS符号且Cr(6t-30Q)为延迟线0输出的1个RS符号;Cr(6t+1)表示通道数据流中接下来输入给延迟线1的1个RS符号且Cr(6t-24Q+1)为延迟线1输出的1个RS符号;Cr(6t+2)表示通道数据流中再接下来输入给延迟线2的1个RS符号且Cr(6t-18Q+2)为延迟线2输出的1个RS符号;Cr(6t+3)表示通道数据流中再接下来输入给延迟线3的1个RS符号且Cr(6t-12Q+3)为延迟线3输出的1个RS符号;Cr(6t+4)表示通道数据流中再接下来输入给延迟线4的1个RS符号且Cr(6t-6Q+4)为延迟线4输出的1个RS符号;Cr(6t+5)表示通道数据流中再接下来输入给延迟线5的1个RS符号且Cr(6t+5)为延迟线5输出的1个RS符号;Cr(6t+6)表示通道数据流中再随后输入给延迟线0的1个RS符号且Cr(6t-30Q+6)为延迟线0输出的1个RS符号,依次类推。结合图9,可以看出当6Q+1≥136即Q≥23时,卷积交织连续输出的Cr(6t-30Q),Cr(6t-24Q+1),Cr(6t-18Q+2),Cr(6t-12Q+3),Cr(6t-6Q+4),Cr(6t+5)总共6个RS符号来自6个不同的RS码字。
图30(b)为本申请实施例中卷积交织器的第二十一种结构示意图。如图30(b)所示,在一种可能的实施方式中,选取Q=23,卷积交织器具体结构如图30(b)所示。其对应的交织时延约为23*5*6/2=345个RS符号。
采用如图30(b)所示的卷积交织器分别对32条FEC通道数据流进行卷积交织处理得到32条第一数据流。参考图9所示的FEC通道数据流,不难理解,第一数据流0-3中的任一RS符号,第一数据流4-7中的任一RS符号,第一数据流8-11中的任一RS符号,第一数据流12-15中的任一RS符号,第一数据流16-19中的任一RS符号,第一数据流20-23中的任一RS符号,与第一数据流24-27中的任一RS符号,与第一数据流28-31中的任一RS符号,均 来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用实施例13中的复用处理结构,且Δ=1,2,3,6时可以得到16条第二数据流,且每个第二数据流中连续的12个RS符号均来自12个不同的RS码字。
上述16条第二数据流分别进行内码编码,其编码方案可以采用实施例1中的内码编码方案,并可以取得与实施例1相当的性能,此处不再赘述。
实施例20:应用于8×100G接口的场景,内码编码信息位长度为160比特,采用2:1的复用器,采用通道纠偏处理。
在实施例16方案基础上,本实施例给出了内码信息长度为160比特,复用处理采用2:1复用器时,对应地采用新设计的卷积交织器和复用处理。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织器0、卷积交织器1、卷积交织器2、…、卷积交织器31采用相同的交织结构。
图31(a)为本申请实施例中卷积交织器的第二十二种结构示意图。如图31(a)所示,其包含p=8条延迟线(delay line)。这p=8条延迟线分别包括7Q个存储单元,6Q个存储单元,5Q个存储单元,4Q个存储单元,3Q个存储单元,2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=1个符号。也就是,延迟线0的延迟取值为7Q个符号,延迟线1的延迟取值为6Q个符号,延迟线2的延迟取值为5Q个符号、延迟线3的延迟取值为4Q个符号、延迟线4的延迟取值为3Q个符号、延迟线5的延迟取值为2Q个符号、延迟线6的延迟取值为Q个符号、延迟线7的延迟取值为0个符号即无延迟。
如图31(a)所示的Cr(·)表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(8t)表示通道数据流中当前输入给延迟线0的1个RS符号且Cr(8t-56Q)为延迟线0输出的1个RS符号;Cr(8t+1)表示通道数据流中接下来输入给延迟线1的1个RS符号且Cr(8t-48Q+1)为延迟线1输出的1个RS符号;Cr(8t+2)表示通道数据流中再接下来输入给延迟线2的1个RS符号且Cr(8t-40Q+2)为延迟线2输出的1个RS符号;Cr(8t+3)表示通道数据流中再接下来输入给延迟线3的1个RS符号且Cr(8t-32Q+3)为延迟线3输出的1个RS符号;Cr(8t+4)表示通道数据流中接下来输入给延迟线4的1个RS符号且Cr(8t-24Q+4)为延迟线4输出的1个RS符号;Cr(8t+5)表示通道数据流中接下来输入给延迟线5的1个RS符号且Cr(8t-16Q+5)为延迟线5输出的1个RS符号;Cr(8t+6)表示通道数据流中接下来输入给延迟线6的1个RS符号且Cr(8t-8Q+6)为延迟线6输出的1个RS符号;Cr(8t+7)表示通道数据流中接下来输入给延迟线7的1个RS符号且Cr(8t+7)为延迟线7输出的1个RS符号;Cr(8t+8)表示通道数据流中再随后输入给延迟线0的1个RS符号且Cr(8t-56Q+8)为延迟线0输出的1个RS符号,依次类推。结合图9,可以看出当8Q+1≥136即Q≥17时,卷积交织连续输出的Cr(8t-56Q), Cr(8t-48Q+1),Cr(8t-40Q+2),Cr(8t-32Q+3),Cr(8t-24Q+4),Cr(8t-16Q+5),Cr(8t-8Q+6),Cr(8t+7)总共8个RS符号来自8个不同的RS码字。
图31(b)为本申请实施例中卷积交织器的第二十三种结构示意图。如图31(b)所示,在一种可能的实施方式中,选取Q=17,卷积交织器具体结构如图31(b)所示。其对应的交织时延约为17*7*8/2=476个RS符号。
采用如图31(b)所示的卷积交织器分别对32条FEC通道数据流进行卷积交织处理得到32条第一数据流。参考图9所示的FEC通道数据流,不难理解,第一数据流0-3中的任一RS符号,第一数据流4-7中的任一RS符号,第一数据流8-11中的任一RS符号,第一数据流12-15中的任一RS符号,第一数据流16-19中的任一RS符号,第一数据流20-23中的任一RS符号,与第一数据流24-27中的任一RS符号,与第一数据流28-31中的任一RS符号,均来自不同的RS码字。因此32条第一数据流包含G=8个第一数据流子集,第一数据流0-3为第一数据流子集0,第一数据流4-7为第一数据流子集1,第一数据流8-11为第一数据流子集2,第一数据流12-15为第一数据流子集3,第一数据流16-19为第一数据流子集4,第一数据流20-23为第一数据流子集5,第一数据流24-27为第一数据流子集6,第一数据流28-31为第一数据流子集7。
本实施例采用实施例13中的复用处理结构,且Δ=1,2,4,8时可以得到16条第二数据流,且每个第二数据流中连续的16个RS符号均来自16个不同的RS码字。
上述16条第二数据流分别进行内码编码,其内码编码方案可以采用实施例3的内码编码方案,可以取得与实施例3相当的性能,此处不再赘述。
实施例21:应用于8×100G接口的场景,内码编码信息位长度为120比特或160比特,采用通道符号对齐。
在实施例16-20中任意实施例方案基础上,本实施例给出了一种更低时延的实现方案。
基于图3(d)所示的发端处理模块的数据处理示意图,发端处理模块利用FEC通道0-3、FEC通道4-7、FEC通道8-11、FEC通道12-15、FEC通道16-19、FEC通道20-23、FEC通道24-27或FEC通道28-31已知的对齐标识(Alignment marker)进行4个通道数据流的标识锁定(alignment lock)。发端处理模块接着对32个通道数据流采用基于1个RS符号对齐得到对齐的32条通道数据流。32条通道数据流分别进行卷积交织得到32条第一数据流,第一数据流进行复用处理得到4条或者8条、或者16条第二数据流,并送入内码编码器进行内码编码。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
应理解,本实施例采用的复用以及内码编码方案均采用实施例16-20中任意实施例给出的方案。
当本实施例中采用的包含复用的处理器以及内码编码跟实施例16中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
当本实施例中采用的包含复用的处理器以及内码编码跟实施例17中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延 的场景。
当本实施例中采用的包含复用的处理器以及内码编码跟实施例18中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
当本实施例中采用的包含复用的处理器以及内码编码跟实施例19中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
当本实施例中采用的包含复用的处理器以及内码编码跟实施例20中的方案一样时,其级联码在AWGN下性能与其相当,但在对抗系统突发错误略差。该方案适用于一些要求更低时延的场景。
需要说明的是,在一些可能的实施方式中,上述各实施例中介绍的复用处理也可以替换为分组交织来实现,下面结合一个具体实施例进行介绍。
图32(a)为本申请实施例中对n条第一数据流进行分组交织的一种结构示意图。如图32(a)所示,可以通过m个并行的分组交织模块来进行分组交织。具体地,每个分组交织器将输入的K条第一数据流通过分组交织后生成一条第二数据流,总共得到m条第二数据流。其中,输入到每个分组交织器的K条第一数据流的选取方式和上述各实施例中输入复用器的K个输入复用数据流的选取方式一致,此处不再赘述。
图32(b)为本申请实施例中分组交织器的一种结构示意图。如图32(b)所示,第一数据流ik中连续Δ个RS符号为一个符号子集,用Sk(.)表示,其中0≤k≤K-1。因此,Sk(0),Sk(1),…,Sk(W)表示第一数据流ik输出的连续W个符号子集。第二数据流中连续Δ个RS符号为一个符号子集,用S(.)表示。从输入的K条第一数据流中各获取W个符号子集,构成一个K行W列的第一符号矩阵,第一符号矩阵中的每个元素为一个符号子集,则Sk(w)对应为第一符号矩阵中第k行第w列的元素,其中0≤k≤K-1,0≤w≤W-1。K行W列的第一符号矩阵通过分组交织后得到一个1行C列的第二符号矩阵,其中,C=K*W。第二符号矩阵中的每个元素也为一个符号子集,用S(c)表示第二符号矩阵中第c列的元素,其中0≤c≤C。分组交织S(c)与Sk(w)之间的映射可以表示为:c=K*w+k。分组交织后的第二符号矩阵S(0),S(0),…,S(K*W-1)依次对应为Q个内码的信息位,内码编码后得到Q个内码,若内码长度为D个符号,则有K*W*Δ=Q*D。
需要说明的是,上述符号子集只是为了便于描述而引入的概念,在实际应用中,第一数据流和第二数据流都分别为一个整体并不存在划分。每个符号子集可以视作第一数据流或第二数据流中的一个或多个符号。另外,在实际应用中,上述的第一符号矩阵和第二符号矩阵也可能不是以矩阵形式呈现的。例如,第一符号矩阵呈现为第一符号集合,第一符号集合包括K*W个符号子集,分别对应第一符号矩阵中的K行W列个元素。第二符号矩阵呈现为第二符号集合,第二符号集合包括C个符号子集,分别对应第二符号矩阵中的1行C列个元素。
作为一个示例,基于实施列1的给出的卷积交织器,对应分组交织的一种具体实现为G=2,K=2,m=16。分组交织器i的输入第一数据流i0和第一数据流i1分别对应于第一数据流i和 第一数据流i+16。以图32(b)所示的分组交织器结构为例,分组交织器的参数可以为Δ=6,W=1,Q=1;也可以为Δ=3,W=2,Q=1。第二符号矩阵映射成一个信息位长度是120比特的内码的信息数据,可以采用实施列1中的内码编码方案,实现相当的性能。
作为另一个示例,基于实施列1的给出的卷积交织器,对应分组交织的另一种具体实现为G=2,K=4,m=16。分组交织器i的输入第一数据流i0至第一数据流i3分别对应于第一数据流i、第一数据流i+16、第一数据流i+8、第一数据流i+24。以图32(b)所示的分组交织器结构为例,分组交织器的参数可以为Δ=6,W=1,Q=2。第二符号矩阵映射成2个信息长度位是120比特的内码的信息数据,可以采用实施列1中的内码编码方案,实现相当的性能。
作为又一个示例,基于实施列1的给出的卷积交织器,对应分组交织的又一种具体实现为G=2,K=8,m=16。分组交织器i的输入第一数据流i0至第一数据流i7分别对应于第一数据流i,第一数据流i+16,第一数据流i+8,第一数据流i+24,第一数据流i+4,第一数据流i+20,第一数据流i+12,第一数据流i+28。以图32(b)所示的分组交织器结构为例,分组交织器的参数可以为Δ=6,W=1,Q=4。第二符号矩阵映射成4个信息位长度是120比特的内码的信息数据,可以采用实施列1中的内码编码方案,实现相当的性能。
应理解,基于其他实施列的卷积交织和内码编码方案也可以推导出对应的分组交织的实现方式,此处不再一一列举。
上面对本申请实施例提供的数据处理方法进行了介绍,下面介绍本申请实施例提供的数据处理装置。
图33为本申请实施例中数据处理装置的一种结构示意图。如图33所示,该数据处理装置包括卷积交织器101和复用器102。卷积交织器101用于执行上述数据处理方法中对n条通道数据流分别进行卷积交织得到n条第一数据流的操作。复用器201用于执行上述数据处理方法中对n条第一数据流中的每K条第一数据流进行复用得到1条第二数据流,以得到共m条所述第二数据流的操作。具体可以参照上述数据处理方法中关于卷积交织操作和复用操作的相关介绍,此处不再赘述。
应理解,本申请提供的装置也可以通过其他方式实现。例如,上述装置中的单元划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或可以集成到另一个系统。另外,本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个独立的物理单元,也可以是两个或两个以上个功能单元集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要说明的是,除了上述实施例介绍的数据处理方法外,本申请还提供了另一种数据处理方法,下面进行详细介绍。
本实施例中,先对n条通道数据流进行交织处理得到m条目标数据流。再对m条目标数据流分别进行第二FEC编码得到编码数据流。其中,对m条目标数据流分别进行第二FEC编码的方式与上述图10所示实施例中步骤1003介绍的方式类似,此处不再赘述。
本实施例中,通道数据流可以是PCS通道数据流或FEC通道数据流,具体此处不做限定。n条通道数据流都是经过第一FEC编码的数据流,也就是上文中介绍的经过外码编码的数据流,其中,n为大于1的整数,且为4的倍数。例如,该外码编码可以采用RS码,经过外码编码后的n条数据流可以包括多个RS码字。在实际应用中也可以采用其他的编码方式进行外码编码,为了便于描述,下文统一用RS码字来表示外码编码后生成的码字。应理解,经过外码编码后的每a个码字分布在b条通道数据流中,其中,a≤b≤n,n能被b整除,a为大于或等于1的整数。在上述图5-图9所示的不同应用场景中,a和b的取值也可能不同。以图5所示的应用场景为例,n=32,a=2,b=16,即每2个码字分布在16条通道数据流中。在图6-图9其他几个应用场景中a和b的取值可以通过附图推导得出,此处不再一一赘述。因此b最大取值为16,最小取值为4。需要说明的是,本申请中外码码长取值是以符号为单位来统计的,其中,符号可以包括一个或多个比特。例如,外码为采用的KP4 RS(544,514)码,码长N=544个符号,一个符号包含10个比特。
应理解,每条目标数据流中连续的F个符号来自F个不同的码字,F>a。每条目标数据流中连续的F个符号至少来自K1条不同的通道数据流,每条目标数据流中连续的F个符号来自n条通道数据流对齐的n个符号中最多K2个符号,K1和K2为n的约数,K2为K1的约数。其中,n条通道数据流对齐的n个符号指的是位于每条通道数据流同一位置的n个符号,以上述图5-图9所示的不同应用场景为例,n条通道数据流每一列的n个符号是对齐的,即n条通道数据流对齐的n个符号可以是n条通道数据流其中一例的n个符号。还应理解,每条目标数据流中连续的F个符号中最多有K3个符号来自相同的通道数据流,表示对F/K1的商进行向上取整的整数,K3个符号中任意两个符号在同一通道数据流上相隔至少K4个符号,K4≥a*N*K2/n,其中N为码字长度。在本实施列中b最大取值为16,最小取值为4,因此在一些可能的实施方式中,K1=n/4,K2=n/16。
在一些可能的实施方式中,在对n条通道数据流进行交织处理得到m条目标数据流之前,还可以对n路通道数据流进行通道重排序,以使得n路数据流按照预设顺序排列。以32条数据流为例,32条数据流可以是按照0到31排序从上到下排列,当然可以简单扩展到其他顺序排列,其具体实现方式本领域普通技术人员可知,此处不再赘述。
在一些可能的实施方式中,在对n条通道数据流进行交织处理得到m条目标数据流之前,还可以对n条通道数据流进行通道数据对齐处理。该通道数据对齐处理可以是采用现有标准定义的通道纠偏处理(lane de-skew),使得其输出的n条通道数据流的数据是完全对齐的。或者,上述“通道数据对齐处理”也可以仅是通道符号对齐,使得其输出的n条通道数据流上的数据是基于外码符号对齐,具体可以是基于一个外码符号对齐,也可以是基于多个外码符号对齐。关于通道数据对齐处理的详细介绍可以参考上述图3(e)的相关描述,此处不再赘述。
需要说明的是,本实施例中的交织处理可以有多种具体的实现方式,下面分别进行介绍。
图34为本申请实施例提供的交织处理的一种流程示意图。
3401、对n条通道数据流分别进行卷积交织得到n条第一数据流。
本实施例中,经过卷积交织后每条第一数据流中连续的z个符号来自至少e个不同的码字,其中,z为大于1的整数,a≤e≤F,e*k2≥F。每条第一数据流中连续的z个符号中最多k1/k2个符号来自同一个所述码字。
需要说明的是,本实施例中卷积交织的实现方式与上述图10所示实施例中介绍的卷积交织方式类似,此处不再赘述。在一种可能的实施方式中,若采用上述图12(a)所示的卷积交织器,则卷积交织器的参数应满足d(p*Q+1)≥K4,以使得卷积交织器输出的第一数据流中连续的z=p*d个符号至少来自e个不同的外码码字,其中,N为外码编码的码字长度。在另一种可能的实施方式中,若采用上述图12(b)所示的卷积交织器,则卷积交织器的参数应满足d(p*Q-1)≥K4,以使得卷积交织器输出的第一数据流中连续的z=p*d个符号至少来自e个不同的外码码字,其中,N为外码编码的码字长度。
3402、对n条第一数据流中的每K1条第一数据流进行分组交织得到S条目标数据流,以得到共m条目标数据流。
图35为本申请实施例中对n条第一数据流进行分组交织的一种结构示意图。如图35所示,可以采用T个分组交织器进行分组交织处理。具体地,n条第一数据流中的每K1条第一数据流输入一个分组交织器,该分组交织器输出S条目标数据流。T个分组交织器将输出共m条目标数据流,其中,m=S*T,T=n/K1,S≥k1/k2。需要说明的是,n条第一数据流包括K1个第一数据流分组,每个第一数据流分组中各取一条第一数据流作为参与分组交织的K1条第一数据流,其中,同一第一数据流分组中任意两条第一数据流的符号来自相同的码字。
应理解,上述第一数据流分组只是为了便于描述而引入的概念,在实际应用中,n条第一数据流为一个整体并不存在划分,每个第一数据流分组可以视作n条第一数据流中的一条或多条数据流。
下面介绍分组交织的一种具体实现方式。
图36为本申请实施例中进行分组交织的一种实现方式示意图。如图36所示,以其中一个分组交织器的实现方式为例进行介绍。参与分组交织的K条第一数据流中每条第一数据流包括B个符号,即该K条第一数据流包括第一符号矩阵,该第一符号矩阵包括K行B列个符号。其中,B=R*p*d,R为大于或等于1的整数,第一符号矩阵每行的B个符号是由卷积交织器的p条延迟线轮询R次输出的连续B个符号。经过分组交织后的S条目标数据流中每条目标数据流包括F个符号,即该S条目标数据流包括第二符号矩阵,第二符号矩阵包括S行F列个符号。其中,K*B=S*F,F为内码信息数据的长度。应理解,第一符号矩阵中的符号至少来自F个不同码字,第一符号矩阵中最多有R*K1/K2个符号来自相同的码字,第一符号矩阵中选F个来自不同码字的符号映射到第二符号矩阵的一行。即每条目标数据流中连续的F个符号来自F个不同的码字。
在一种可能的实施方式中,第二符号矩阵中每行的F个符号来自第一符号矩阵中至少列,且列中每列最多取K2个符号,其中,表示对F/K2的商进行向上取整的整数。第二符号矩阵中每行的F个符号包括第一符号矩阵中每行的至少个符号,表示对F/K1的商进行向下取整的整数,且第二符号矩阵中每行的F个符号包括第一符号矩阵中每行的最多个符号,表示对F/K1的商进行向上取整的整数。
在另一种可能的实施方式中,第二符号矩阵的每一行中来自第一符号矩阵奇数列的符号分别位于第一符号矩阵的不同行,第二符号矩阵的每一行中来自第一符号矩阵偶数列的符号位于第一符号矩阵的不同行。
在又一种可能的实施方式中,第二符号矩阵的每一行中由延迟取值相同的延迟线输出的符号来自第一符号矩阵的不同行。第二符号矩阵的每一行的最多K3个符号来自第一符号矩阵的同一行,该K3个符号中任意2个符号分别由延迟差值大于或等于2*Q*d的2条延迟线输出。
需要说明的是,在实际应用中,上述的第一符号矩阵和第二符号矩阵也可能不是以矩阵形式呈现的。例如,第一符号矩阵呈现为第一符号集合,第一符号集合包括K*B个符号子集,分别对应第一符号矩阵中的K行B列个符号。第二符号矩阵呈现为第二符号集合,第二符号集合包括S*F个符号子集,分别对应第二符号矩阵中的S行F列个符号。
本发明针对采用级联FEC的传输方案,设计一种包含卷积交织、分组交织和编码的数据交织编码方法,可以对所有接入业务采用同样的交织方案,且使得整体级联FEC方案性能较好且时延较低。使得该级联FEC传输方案能够应用于较多的传输场景,尤其适用于对需要较低传输时延的传输场景,如低时延数据中心互联场景。
下面结合一些具体的实施例对上述图34所描述的交织处理方法的流程进行进一步介绍。应理解,下述每个实施例中的内码并行度指的是目标数据流的数量,例如,内码并行度16表示目标数据流的数量是16。还应理解,下述各实施例中的目标符号子集均表示目标数据流中连续的F个符号。
实施例1:对于所有业务采用统一交织,内码编码信息位长度为120比特,内码并行度16。
本实施例给出了在OIF LR场景下对业务不敏感的具体的数据交织和编码的方案。基发端处理模块根据接入业务的类型,利用各业务PCS通道或者FEC通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。这里32个通道的已知对齐标识各不相同,且与接入的业务相关。发端处理模块接着对每个业务内的多个PCS通道或者FEC通道进行纠偏处理,纠偏处理后同一个业务内的多个PCS/FEC通道之间都是AM对齐,而业务之间的通道数据流仅需要满足RS符号对齐,即AM之间相差整数个RS符号。
图37为客户侧接口为2×400GbE时通道对齐后数据流格式的示意图。比如当接入业务为2*400GbE时,纠偏处理后32条通道数据流如图37所示,每个400GbE业务内16条PCS通道之间都为AM对齐,而2个业务之间的AM相差整数个RS符号。然后根据对齐标识对n=32条通道的数据进行通道重排序(lane reorder)处理,使得n=32条通道的数据能够按照指定的顺序排列。如当接入业务为1*800GbE,32条通道数据流如图5所示,如当接入业务为2*400GbE,32条通道数据流如图6所示,如当接入业务为4*200GbE,32条通道数据流如图7所示;如当接入业务为8*100GbE且为“100G RS-FEC-Int”模式,32条通道数据流如图8所示;如当接入业务为8*100GbE且为“100G RS-FEC”模式时,32条通道数据流如图9所示。
经通道重排序的n=32条通道数据流送入卷积交织模块和分组交织模块进行相应处理后送入内码编码器进行内码编码;经过内码编码的数据流进行数据处理后送入信道传输媒介进 行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(Polarization distribution),或DSP成帧处理(Framing)等。
在本实施例中,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织0、卷积交织1、卷积交织2、…、卷积交织31采用相同的交织结构。图16(a)给出了一种卷积交织器结构,其包含p=3条延迟线(delay line)。这p=3条延迟线分别包括2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为4Q个符号,延迟线1的延迟取值为2Q个符号,延迟线2的延迟取值为0个符号即无延迟。
如图16(a)所示的Cr()表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(6t),Cr(6t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(6t-12Q),Cr(6t-12Q+1)为延迟线0输出的两个RS符号;Cr(6t+2),Cr(6t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(6t-6Q+2),Cr(6t-6Q+3)为延迟线1输出的两个RS符号;Cr(6t+4),Cr(6t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(6t+4),Cr(6t+5)为延迟线2输出的两个RS符号;Cr(6t+6),Cr(6t+7)表示通道数据流中再随后输入给延迟线0的两个RS符号且Cr(6t-12Q+6),Cr(6t-12Q+7)为延迟线0输出的两个RS符号,依次类推。当接入业务为1*800GbE或者2*400GbE时,满足即6Q+2≥2*544/16,Q≥11时,卷积交织输出的Cr(6t-12Q),Cr(6t-12Q+1),Cr(6t-6Q+2),Cr(6t-6Q+3),Cr(6t+4),Cr(6t+5)总共6个RS符号来自6个不同的RS码字。再利用分组交织将2个第一数据流子集的数据汇聚可以使得目标数据流连续12个RS符号来自12个不同的RS码字。同理对于其他接入业务当Q≥11时,结合后续的分组交织可以使得目标数据流连续12个RS符号来自12个不同的RS码字。
在一种可能的实施方式中,选取Q=11,卷积交织器具体结构如图16(b)所示。其对应的交织时延约为22*2*3/2=66个RS符号。
采用如图16(b)所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图5到图9所示PCS/FEC通道数据流,不难理解,第一数据流最多包含Gmax=8个第一数据流子集,最少包含Gmin=2个第一数据流子集,为了对所有业务采用统一的交织方案,并降低卷积交织的延迟,第一数据流划分为K1=Gmax=8个第一数据流分组,每个第一数据流分组内任意2条数据流来自相同的RS码字,对应分组具体划分为第一数据流0-3为第一数据流分组0、第一数据流4-7为第一数据流分组1、第一数据流8-11为第一数据流分组2、第一数据流12-15为第一数据流分组3、第一数据流16-19为第一数据流分组4、第一数据流20-23为第一数据流分组5、第一数据流24-27为第一数据流分组6和第一数据流28-31为第一数据流分组7。从而本实施例采用图35所示的分组交织处理对应的参数为K=K1=8,T=32/K1=4,从每个第一数据流分组中各任取1条第一数据流作为分组交织i(0≤i<4)的8条输入数据流。
图38为分组交织的一种实现方式示意图。如图38所示,分组交织i(0≤i<4)的8个输入数据流分别为第一数据流i,第一数据流i+4,第一数据流i+8,第一数据流i+12,第一数据流i+16,第一数据流i+20,第一数据流i+24,第一数据流i+28;从每个输入数据流各获取连续的B=6个RS符号,构成8行6列第一符号矩阵,其中每行的6个RS符号分别为 图16(b)所示卷积交织器的延迟线0、延迟线1和延迟线2轮询R=1次输出的6个RS符号。结合图5到图9不难得出第一符号矩阵至少来自于12个不同RS码字,且最多4个RS符号属于同一个RS码字,进一步有第一符号矩阵第0行到第3行至少来自于6个不同RS码字,第4行到第7行至少来自于6个不同RS码字,且两者之间不来自于相同的RS码字。进一步有第一符号矩阵所有奇数列或者所有偶数列上RS码字分布可能是一致的。进一步有第一符号矩阵第0列到3列上RS码字分布可能是一致的,第2列到第5列上RS码字分布可能是一致的;因此可以从第一符号矩阵每列取2个RS符号,其中一个来自第0行到第3行中任意行,另外一个来自第4行到第7行中的任一行,共12个RS符号映射为第二符号矩阵的一行,得到4行12列的第二符号矩阵,第二符号矩阵第t(0≤t<4)行的12个RS符号为分组交织i输出的目标数据流i*4+t中的连续12个RS符号,因此将第二符号矩阵一行定义为目标符号子集。为描述方便定义S(ix,jy),ix∈[0,7],jy∈[0,5]表示第一符号矩阵第ix行第jy列的符号。为使得目标符号子集的12个RS符号来自12个不同RS码字,则从第一符号矩阵的第0行到第3行取的6个RS符号或者从第4行到第7行取的6个RS符号对应于第一符号矩阵中S(i0,0),S(i1,1),S(i2,2),S(i3,3),S(i4,4),S(i5,5)其中i0,i1,i2,i3之间互不相等,i2,i3,i4,i5之间互不相等,i0,i2,i4之间互不相等,i1,i3,i5之间互不相等,i0,i1,i2,i3,i4,i5∈[0,3]或者i0,i1,i2,i3,i4,i5∈[4,7],等效于目标符号子集中的每2个符号来自于第一符号矩阵同一列,且其中一个符号位于第一符号矩阵的第0行到第3行中的任意一行,另外一个符号位于第一符号矩阵的第4行到第7行中的任意一行,进一步目标符号子集中来自于第一符号矩阵的奇数列的6个符号位于第一符号矩阵的不同的行,来自于第一符号矩阵的偶数列的6个符号位于第一符号矩阵的不同的行;进一步目标符号子集中最少1个符号来自于第一符号矩阵的同一行,最多2个符号来自于第一符号矩阵的同一行,且来自于同一行的2个符号由卷积交织2个不同的延迟线输出,且此2个延迟线上对应延迟差值大于等于2*d*Q=44个符号。由此规则第一符号矩阵到第二符号矩阵的具体映射有很多种,表1-表4给出了几种具体的映射关系,每个表第y行第z列的数字x表示第二符号矩阵第y行第z列的RS符号来自于第一符号矩阵的第x个RS符号,其中0≤y<4,0≤z<12,0≤x<48,第一符号矩阵的第x个RS符号表示第一符号矩阵第x%8行第列的符号。需要说明的是,将表1-表4中进行任意行之间交换,或者任意列之间交换,或者任意行交换后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。应理解,x%8表示x除以8之后的余数,表示x除以8之后的商,下面各实施例中不再对类似的表示方式进行赘述。
根据第一符号矩阵与第一数据流的关系,第一数据流和通道数据流关系,不难得出每个目标符号子集的12个符号来自K1=8个通道数据流,此8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从其中4个通道数据流各获取一个符号,从剩下的4个通道数流各获取2个RS符号;进一步当从某通道数据流获取2个RS符号,此2个RS符号在对应通道数据流间隔大于等于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个符号。
表1
表2
表3
表4
经过分组交织生成16条目标数据流,对16条目标数据流中每个目标符号子集分别进行内码编码,其中内码编码信息位长度为120比特。具体地,内码编码器分别将目标数据流中每个目标符号子集总共120比特编码添加冗余,得到16条编码数据流。在一种可能的实施方式中,采用Hamming(128,120)进行内码编码,分别将每条目标数据流中连续的12个RS符号总共120比特添加8比特冗余得到128比特的码字。在另一种可能的实施方式中,采用BCH(136,120)进行内码编码,分别将每条目标数据流中连续的12个RS符号总共120比特添加16比特冗余得到136比特的码字。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
采用本实施例的数据交织编码方案,其KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.5E-3,性能逼近该级联FEC方案的最优性能。
实施例2:对于所有业务采用统一交织,内码编码信息位长度为120比特,内码并行度32。
采用如图16(b)所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图5到图9所示PCS/FEC通道数据流,不难理解,第一数据流最多包含Gmax=8个第一数据流子集,最少包含Gmin=2个第一数据流子集。为了对所有业务采用统 一的交织方案,并降低卷积交织的延迟,第一数据流划分为K1=Gmax=8个第一数据流分组,每个第一数据流分组内任意2条数据流来自相同的RS码字,对应分组具体划分为第一数据流0-3为第一数据流分组0、第一数据流为4-7第一数据流分组1、第一数据流为8-11第一数据流分组2、第一数据流12-15为第一数据流分组3、第一数据流16-19为第一数据流分组4、第一数据流20-23为第一数据流分组5、第一数据流24-27为第一数据流分组6和第一数据流28-31为第一数据流分组7。从而本实施例采用图35所示的分组交织处理对应的参数为K=K1=8,T=32/K1=4,从每个第一数据流分组中各任取1条第一数据流作为分组交织i(0≤i<4)的8条输入数据流。
图39为分组交织的另一种实现方式示意图。如图39所示,分组交织i(0≤i<4)的8个输入数据流分别为第一数据流i,第一数据流i+4,第一数据流i+8,第一数据流i+12,第一数据流i+16,第一数据流i+20,第一数据流i+24,第一数据流i+28。从每个输入数据流各获取连续的12个RS符号,构成8行12列第一符号矩阵,其中每行的12个RS符号分别为图16(b)所示卷积交织器的延迟线0、延迟线1和延迟线2轮询R=2次连续输出的12个RS符号。结合图5到图9不难得出第一符号矩阵至少来自于12个不同RS码字,且最多R*K1/K2=8个RS符号属于同一个RS码字,进一步有第一符号矩阵第0行到第3行至少来自于6个不同RS码字,第4行到第7行至少来自于6个不同RS码字,且两者之间不来自于相同的RS码字,进一步有第一符号矩阵所有奇数列或者所有偶数列上RS码字分布是可能一致的;进一步有第一符号矩阵第0列到第3列的各列RS码字分布可能是一致的,第2列到第5列的各列上RS码字分布可能是一致的,第6列到第9列的各列上RS码字分布可能是一致的,第8列到第11列的各列上RS码字分布可能是一致的;进一步有第一符号矩阵的第j列、第j+1、第j+6列和第j+7列(j∈{0,2,4})的RS码字分布可能是一致的;因此可以从第一符号矩阵的每列各取一个符号共12个RS符号映射为第二符号矩阵的一行,以得到8行12列的第二符号矩阵,第二符号矩阵第t(0≤t<8)行的12个RS符号为分组交织i输出的目标数据流i*8+t中的连续12个RS符号,因此将第二符号矩阵一行定义为目标符号子集。为描述方便定义S(ix,jy),ix∈[0,7],jy∈[0,11]表示第一符号矩阵第ix行第jy列的符号。为使得目标符号子集的12个RS符号来自12个不同RS码字,此12个RS符号对应于第一符号矩阵中S(i0,0),S(i1,1),S(i2,2)…S(i10,10),S(i11,11),其中i0,i1,i2,i3之间互不相等,i2,i3,i4,i5之间互不相等,i6,i7,i8,i9之间互不相等,i8,i9,i10,i11之间互不相等,i0,i1,i6,i7互不相等,i2,i3,i8,i9互不相等,i4,i5,i11,i12互不相等,i0,i2,i4,i6,i8,i10之间互不相等,i1,i3,i5,i7,i9,i11之间互不相等,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11∈[0,7],此等效于目标符号子集中的每1个符号来自于第一符号矩阵同一列;进一步目标符号子集中来自于第一符号矩阵的奇数列的6个符号位于第一符号矩阵的不同的行,来自于第一符号矩阵的偶数列的6个符号位于第一符号矩阵的不同的行;进一步目标符号子集来自于第一符号矩阵由延迟取值相同延迟线输出的符号位于第一符号矩阵不同的行;进一步目标符号子集中最少1个符号来自于第一符号矩阵的同一行,最多2个符号来自于第一符号矩阵的同一行,且来自于同一行的2个符号由卷积交织2个不同的延迟线输出,且此2个延迟线对应延迟差值大于等于2*d*Q=44个符号。由此规则第一符号矩阵到第二符号矩阵的具体映射有很多种,下面表5到表8给出了几种具体的映射关系,每 个表第y行第z列的数字x表示第二符号矩阵第y行第z列的RS符号来自于第一符号矩阵的第x个RS符号,其中0≤y<8,0≤z<12,0≤x<96,第一符号矩阵的第x个RS符号表示第一符号矩阵第x%8行第列的符号。需要说明的是将表中进行任意行之间交换,或者任意列之间交换,或者任意行交换后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据第一符号矩阵中RS码字分布规律,第一符号矩阵到目标符号子集的另外一种映射方式为:从第一符号矩阵第2*j列和第2*j+1列(j∈[0,5])中的任取一列总共6列,再从选取的6列中的各列取2个RS符号共12个RS符号映射为一个目标符号子集,对应取得的12个RS对应于第一符号矩阵的S(i0,j0),S(i1,j0),S(i2,j1),S(i3,j1),S(i4,j2),S(i5,j2),S(i6,j3),S(i7,j3),S(i8,j4),S(i9,j4),S(i10,j5),S(i11,j5);i0,i1,i2,i3互不相等,i2,i3,i4,i5互不相等,i6,i7,i8,i9互不相等,i8,i9,i10,i11互不相等,i0,i1,i6,i7互不相等,i2,i3,i8,i9互不相等,i4,i5,i10,i11互不相等,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15∈[0,7],j0∈[0,1],j1∈[2,3],j2∈[4,5],j3∈[6,7],j4∈[8,9],j5∈[10,11],j6∈[12,13],j7∈[14,15];等效于目标符号子集中的每2个符号来自于第一符号矩阵同一列,且其中一个符号位于第一符号矩阵的第0行到第3行中的任意一行,另外一个符号位于第一符号矩阵的第4行到第7行中的任意一行;进一步目标符号子集中来自于第一符号矩阵的奇数列的6符号位于第一符号矩阵的不同的行,来自于第一符号矩阵的偶数列的6个符号位于第一符号矩阵的不同的行;进一步目标符号子集来自于第一符号矩阵由延迟取值相同延迟线输出的符号位于第一符号矩阵不同的行;进一步目标符号子集中最多2个符号来自于第一符号矩阵的同一行,且来自于同一行的2个符号由卷积交织2个不同的延迟线输出,且此2个延迟线对应延迟差值大于等于2*d*Q=44个符号。由此规则第一符号矩阵到第二符号矩阵的具体映射有很多种,表9到表12给出了几种具体的映射关系,每个表第y行第z列的数字x表示第二符号矩阵第y行第z列的RS符号来自于第一符号矩阵的第x个RS符号,其中0≤y<8,0≤z<12,0≤x<96,第一符号矩阵的第x个RS符号表示第一符号矩阵第x%8行第列的符号。需要说明的是将表中进行任意行之间交换,或者任意列之间交换,或者任意行交换后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据第一符号矩阵与第一数据流的关系,第一数据流和通道数据流关系,不难得出每个目标符号子集的12个符号来自K1=8个通道数据流,此8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从其中4个通道数据流各获取一个符号,从剩下的4个通道数流各获取2个RS符号;进一步当从某通道数据流获取2个RS符号,此2个RS符号在对应通道数据流间隔大于等于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个RS符号。
表5
表6
表7
表8
表9
表10
表11
表12
经过分组交织生成32条目标数据流,对32条目标数据流中每个目标符号子集分别进行内码编码,其中内码编码信息位长度为120比特。具体地,内码编码器分别将目标数据流中每个目标符号子集总共120比特编码添加冗余,得到32条编码数据流。在一种可能的实施方式中,采用Hamming(128,120)进行内码编码,分别将每条目标数据流中连续的12个RS符号总共120比特添加8比特冗余得到128比特的码字。在另一种可能的实施方式中,采用 BCH(136,120)进行内码编码,分别将每条目标数据流中连续的12个RS符号总共120比特添加16比特冗余得到136比特的码字。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
采用本实施例的数据交织编码方案,其KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.5E-3,性能逼近该级联FEC方案的最优性能。
实施例3:对于所有业务采用统一交织,内码编码信息位长度为160比特,内码并行度16。
在本实施例中,卷积交织处理采用如图11所示的结构,分别对n=32条PCS通道数据流进行卷积交织得到n=32条第一数据流。其中卷积交织0、卷积交织1、卷积交织2、…、卷积交织31采用相同的交织结构。图18(a)给出了一种卷积交织器结构,其包含p=4条延迟线(delay line)。这4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为6Q个符号,延迟线1的延迟取值为4Q个符号,延迟线2的延迟取值为2Q个符号,延迟线3的延迟取值为0个符号即无延迟。
如图18(a)所示的Cr()表示该通道数据流r(0≤r≤n-1)中一个RS符号。比如,Cr(8t),Cr(8t+1)表示通道数据流中当前输入给延迟线0的两个RS符号且Cr(8t-24Q),Cr(8t-24Q+1)为延迟线0输出的两个RS符号;Cr(8t+2),Cr(8t+3)表示通道数据流中接下来输入给延迟线1的两个RS符号且Cr(8t-16Q+2),Cr(8t-16Q+3)为延迟线1输出的两个RS符号;Cr(8t+4),Cr(8t+5)表示通道数据流中再接下来输入给延迟线2的两个RS符号且Cr(8t-8Q+4),Cr(8t-8Q+5)为延迟线2输出的两个RS符号;Cr(8t+6),Cr(8t+7)表示通道数据流中再随后输入给延迟线3的两个RS符号且Cr(8t+6),Cr(8t+7)为延迟线3输出的两个RS符号,依次类推。结合图5和图6,可以看出当8Q+2≥68即Q≥9时,卷积交织输出的Cr(8t-24Q),Cr(8t-24Q+1),Cr(8t-16Q+2),Cr(8t-16Q+3),Cr(8t-8Q+4),Cr(8t-8Q+5),Cr(8t+6),Cr(8t+7)总共8个RS符号来自8个不同的RS码字。再利用分组交织将2个第一数据流子集的数据汇聚可以使得目标数据流连续16个RS符号来自16个不同的RS码字。同理对于其他接入业务当Q≥9时,结合后续的分组交织可以使得目标数据流连续16个RS符号来自16个不同的RS码字。
在一种可能的实施方式中,选取Q=9,卷积交织器具体结构如图18(b)所示。其对应的交织时延约为27*2*4/2=108个RS符号。
采用如图18(b)所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图5到图9所示PCS/FEC通道数据流,不难理解,第一数据流最多包 含Gmax=8个第一数据流子集,最少包含Gmin=2个第一数据流子集。为了对所有业务采用统一的交织方案,并降低卷积交织的延迟,第一数据流划分为K1=Gmax=8个第一数据流分组,每个第一数据流分组内任意2条数据流来自相同的RS码字,对应分组具体划分为第一数据流0-3为第一数据流分组0、第一数据流4-7为第一数据流分组1、第一数据流8-11为第一数据流分组2、第一数据流12-15为第一数据流分组3、第一数据流16-19为第一数据流分组4、第一数据流20-23为第一数据流分组5、第一数据流24-27为第一数据流分组6和第一数据流28-31为第一数据流分组7。从而本实施例采用图35所示的分组交织处理对应的参数为K=K1=8,T=32/K1=4,从每个第一数据流分组中各任取1条第一数据流作为分组交织i(0≤i<4)的8条输入数据流。
图40为分组交织的另一种实现方式示意图。如图40所示,分组交织i(0≤i<4)的8个输入数据流分别为第一数据流i,第一数据流i+4,第一数据流i+8,第一数据流i+12,第一数据流i+16,第一数据流i+20,第一数据流i+24,第一数据流i+28;从每个输入数据流各获取连续的8个RS符号,构成8行8列第一符号矩阵,其中每行的8个RS符号分别为图18(b)所示卷积交织器的延迟线0、延迟线1、延迟线2和延迟线3轮询R=1次输出的8个RS符号。结合图5到图9不难得出第一符号矩阵来自于16个不同的RS码字且每4个RS符号属于同一个码字,进一步有第一符号矩阵第0行到第3行来自于8个不同RS码字,第4行到第7行来自于8个不同RS码字,且两者之间不来自于相同的RS码字,进一步有第一符号矩阵所有奇数列或者所有偶数列上RS码字分布可能是一致的;进一步有第一符号矩阵能第0列到3列上RS码字分布可能是一致的,第2列到第5列上RS码字分布可能是一致的,第4列到第7列上RS码字分布可能是一致的;因此可以从第一符号矩阵每列取2个RS符号,其中一个来自第0行到第3行中任意行,另外一个来自第4行到第7行中的任一行,共16个RS符号映射为第二符号矩阵的一行,得到4行16列的第二符号矩阵,第二符号矩阵第t(0≤t<4)行的16个RS符号为分组交织i输出的目标数据流i*4+t中的连续16个RS符号,因此将第二符号矩阵一行定义为目标符号子集。为描述方便定义S(ix,jy),ix∈[0,7],jy∈[0,7]表示第一符号矩阵第ix行第jy列的符号。为使得目标符号子集的16个RS符号来自16个不同RS码字,则从第一符号矩阵的第0行到第3行取的8个RS符号或者从第4行到第7行取的8个RS符号对应于第一符号矩阵中S(i0,0),S(i1,1),S(i2,2),S(i3,3),S(i4,4),S(i5,5),S(i6,6),S(i7,7)其中i0,i1,i2,i3之间互不相等,i2,i3,i4,i5之间互不相等,i4,i5,i6,i7之间互不相等,i0,i2,i4,i6之间互不相等,i1,i3,i5,i7之间互不相等,i0,i1,i2,i3,i4,i5,i6,i7∈[0,3]或者i0,i1,i2,i3,i4,i5,i6,i7∈[4,7],等效于目标符号子集中的每2个符号来自于第一符号矩阵的同一列,且其中一个符号位于第一符号矩阵的第0行到第3行中的任意一行,另外一个符号位于第一符号矩阵的第4行到第7行中的任意一行;进一步目标符号子集中来自于第一符号矩阵的奇数列的8个符号位于第一符号矩阵的不同的行,来自于第一符号矩阵的偶数列的8个符号位于第一符号矩阵的不同的行;进一步目标符号子集中每2个符号来自于第一符号矩阵的同一行,且来自于同一行的2个符号由卷积交织2个不同的延迟线输出,且此2个延迟线对应延迟差值大于等于2*d*Q=44个符号。由此规则第一符号矩阵到第二符号矩阵的具体映射有很多种,下面表13到表16给出了几种具体的映射关系,每个表第y行第z列的数字x表示第二符号矩阵第y行第z列的RS符号来自于第一符号矩阵的第x个RS符号,其中0≤y<4,0≤z<16,0≤x<64,第一符号矩阵的第x个RS符号表示第一符号矩阵第x%8行第列的符号。需要说明的是将表进行任意行之间交换,或者任意列之间交换,或者任意行交换后在进行任意列交换,或者先任意列交换后在 进行任意行交换都是一个合法的映射。
根据第一符号矩阵与第一数据流的关系,第一数据流和通道数据流关系,不难得出每个目标符号子集的16个符号来自K1=8个通道数据流,此8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从每个通道数据流各获取2个符号,此2个RS符号在对应通道数据流间隔大于等于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对其的2个RS符号。
表13
表14
表15
表16
经过分组交织生成16条目标数据流,对16条目标数据流中每个目标符号子集分别进行内码编码,其中内码编码信息位长度为160比特。具体地,内码编码器分别将目标数据流中每个目标符号子集总共160比特编码添加冗余,得到16条编码数据流。在一种可能的实施方式中,采用Hamming(170,160)进行内码编码,分别将每条目标数据流中连续的16个RS符号总共160比特添加10比特冗余得到170比特的码字。在另一种可能的实施方式中,采用BCH(176,160)进行内码编码,分别将每条目标数据流中连续的16个RS符号总共160比特添加16比特冗余得到176比特的码字。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
采用本实施例的数据交织编码方案,当内码采用Hamming(170,160)时,其KP4 RS(544,514)+Hamming(170,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.3E-3,性能逼近该级联FEC方案的最优性能。当内码采用BCH(176,160)时,其KP4RS(544,514)+BCH(176,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为8.3E-3,性能逼近该级联FEC方案的最优性能。
实施例4:对于所有业务采用统一交织,内码编码信息位长度为160比特,内码并行度32。
采用如图18(b)所示的卷积交织器分别对32条PCS通道数据流进行卷积交织处理得到32条第一数据流。参考图5到图9所示PCS/FEC通道数据流,不难理解,第一数据流最多包含Gmax=8个第一数据流子集,最少包含Gmin=2个第一数据流子集。为了对所有业务采用统一的交织方案,并降低卷积交织的延迟,第一数据流划分为K1=Gmax=8个第一数据流分组,每个第一数据流分组内任意2条数据流来自相同的RS码字,对应分组具体划分为第一数据流0-3为第一数据流分组0、第一数据流4-7为第一数据流分组1、第一数据流8-11为第一数据流分组2、第一数据流12-15为第一数据流分组3、第一数据流16-19为第一数据流分组4、第一数据流20-23为第一数据流分组5、第一数据流24-27为第一数据流分组6和第一数据流28-31为第一数据流分组7。从而本实施例采用图35所示的分组交织处理对应的参数为K=K1=8,T=32/K1=4从每个第一数据流分组中各任取1条第一数据流作为分组交织i(0≤i<4)的8条输入数据流。
图41为分组交织的另一种实现方式示意图。如图41所示,分组交织i(0≤i<4)的8个输入数据流分别为第一数据流i,第一数据流i+4,第一数据流i+8,第一数据流i+12,第一数据流i+16,第一数据流i+20,第一数据流i+24,第一数据流i+28;从每个输入数据流各获取连续的16个RS符号,构成8行16列第一符号矩阵,其中每行的16个RS符号分别为图18(b)所示卷积交织器的延迟线0、延迟线1、延迟线2和延迟线3轮询2次连续输出的16个RS符号。结合图5到图9不难得出第一符号矩阵来自于16个不同RS码字,且每8个RS符号属于同一个RS码字,进一步有第一符号矩阵第0行到第3行至少来自于8个不同RS码字,第4行到第7行至少来自于8个不同RS码字,且两者之间不来自于相同的RS码字,进一步有第一符号矩阵所有奇数列或者所有偶数列上RS码字分布可能是一致的;进一步有第一符号矩阵第0列到第3列的各列上RS码字分布可能是一致的,第2列到第5列的各列上RS码字分布可能是一致的,第4列到第7列的各列上RS码字分布可能是一致的,第一符号矩阵有可能第8列第11列的各列上RS码字分布可能是一致的,第10列到第13列的各列上RS码字分布可能是一致的,第12列到第15列的各列上RS码字分布可能是一致的;进一步有第一符号矩阵有可能第j列,第j+1列,第j+8列和第j+9列(j∈{0,2,4,6})的各列的RS码字分布是一致的;因此可以从第一符号矩阵的每列各取一个符号共16个RS符号映射为第二符号矩阵的一行,以得到8行16列的第二符号矩阵,第二符号矩阵第t(0≤t<8)行的16个RS符号为分组交织i输出的目标数据流i*8+t中的连续16个RS符号,因此将第二符号矩阵一行定义为目标符号子集。为描述方便定义S(ix,jy),ix∈[0,7],jy∈[0,15]表示第一符号矩阵第ix行第jy列的符号。为使得目标符号子集的16个RS符号来自16个不同RS码字,此16个RS符号对应于第一符号矩阵中S(i0,0),S(i1,1),S(i2,2)…S(i14,14),S(i15,15),其中i0,i1,i2,i3之间互不相等,i2,i3,i4,i5之间互不相等,i4,i5,i6,i7之间互不相等,i8,i9,i10,i11之间互不相等, i10,i11,i12,i13之间互不相等,i12,i13,i14,i15之间互不相等,i0,i1,i8,i9互不相等,i2,i3,i10,i11互不相等,i4,i5,i12,i13互不相等,i6,i7,i14,i15互不相等,i0,i2,i4,i6,i8,i10,i12,i14之间互不相等,i1,i3,i5,i7,i9,i11,i13,i15之间互不相等,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15∈[0,7];等效于目标符号子集中的每1个符号来自于第一符号矩阵同一列,进一步目标符号子集中来自于第一符号矩阵的奇数列的8个符号位于第一符号矩阵的不同的行,来自于第一符号矩阵的偶数列的8个符号位于第一符号矩阵的不同的行;进一步目标符号子集来自于第一符号矩阵由延迟取值相同延迟线输出的符号位于第一符号矩阵不同的行;进一步目标符号子集中每2个符号来自于第一符号矩阵的同一行,且来自于同一行的2个符号由卷积交织2个不同的延迟线输出,且此2个延迟线对应延迟差值大于等于2*d*Q=44个符号。由此规则第一符号矩阵到第二符号矩阵的具体映射有很多种,下面表17到表20给出了几种具体的映射关系,每个表第y行第z列的数字x表示第二符号矩阵第y行第z列的RS符号来自于第一符号矩阵的第x个RS符号,其中0≤y<8,0≤z<16,0≤x<128,第一符号矩阵的第x个RS符号表示第一符号矩阵第x%8行第列的符号。需要说明的是将表中进行任意行之间交换,或者任意列之间交织,或者任意行交织后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据第一符号矩阵中RS码字分布规律,第一符号矩阵到目标符号子集的另外一种映射方式为:从第一符号矩阵第2*j列和第2*j+1列(j∈[0,7])中的任取一列总共8列,再从选取的8列中的各列取2个RS符号共16个RS符号映射为一个目标符号子集,对应取得的16个RS对应于第一符号矩阵的S(i0,j0),S(i1,j0),S(i2,j1),S(i3,j1),S(i4,j2),S(i5,j2),S(i6,j3),S(i7,j3),S(i8,j4),S(i9,j4),S(i10,j5),S(i11,j5),S(i12,j6),S(i13,j6),S(i14,j7),S(i15,j7);i0,i1,i2,i3互不相等,i2,i3,i4,i5互不相等,i4,i5,i6,i7互不相等,i8,i9,i10,i11互不相等,i10,i11,i12,i13互不相等,i12,i13,i14,i15互不相等,i0,i1,i8,i9互不相等,i2,i3,i10,i11互不相等,i4,i5,i12,i13互不相等,i6,i7,i14,i15互不相等,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15∈[0,7],j0∈[0,1],j1∈[2,3],j2∈[4,5],j3∈[6,7],j4∈[8,9],j5∈[10,11],j6∈[12,13],j7∈[14,15];等效于目标符号子集中的每2个符号来自于第一符号矩阵同一列,且其中一个符号位于第一符号矩阵的第0行到第3行中的任意一行,另外一个符号位于第一符号矩阵的第4行到第7行中的任意一行;进一步目标符号子集中来自于第一符号矩阵的奇数列的8个符号位于第一符号矩阵的不同的行,来自于第一符号矩阵的偶数列的8个符号位于第一符号矩阵的不同的行;进一步目标符号子集来自于第一符号矩阵由延迟取值相同延迟线输出的符号位于第一符号矩阵不同的行;进一步目标符号子集中每2个符号来自于第一符号矩阵的同一行,且来自于同一行的2个符号由卷积交织2个不同的延迟线输出,且此2个延迟线对应延迟差值大于等于2*d*Q=44个符号。由此规则第一符号矩阵到第二符号矩阵的具体映射有很多种,表21到表24给出了几种具体的映射关系,每个表第y行第z列的数字x表示第二符号矩阵第y行第z列的RS符号来自于第一符号矩阵的第x个RS符号,其中0≤y<8,0≤z<16,0≤x<128,第一符号矩阵的第x个RS符号表示第一符号矩阵第x%8行第列的符号。需要说明的是将表中进行任意行之间交换,或者任意列之间交织,或者任意行交织后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据第一符号矩阵与第一数据流的关系,第一数据流和通道数据流关系,不难得出每个目标符号子集的16个符号来自K1=8个通道数据流,此8个通道数据流可以表示为通道数据 流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从每个通道数据流各获取2个符号,此2个RS符号在对应通道数据流间隔大于等于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个RS符号。
表17
表18
表19
表20
表21
表22
表23
表24
经过分组交织生成32条目标数据流,对32条目标数据流中每个目标符号子集分别进行内码编码,其中内码编码信息位长度为160比特。具体地,内码编码器分别将目标数据流中每个目标符号子集总共160比特编码添加冗余,得到32条编码数据流。在一种可能的实施方式中,采用Hamming(170,160)进行内码编码,分别将每条目标数据流中连续的16个RS符号总共160比特添加10比特冗余得到170比特的码字。在另一种可能的实施方式中,采用 BCH(176,160)进行内码编码,分别将每条目标数据流中连续的16个RS符号总共160比特添加16比特冗余得到176比特的码字。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
采用本实施例的数据交织编码方案,当内码采用Hamming(170,160)时,其KP4 RS(544,514)+Hamming(170,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.3E-3,性能逼近该级联FEC方案的最优性能。当内码采用BCH(176,160)时,其KP4RS(544,514)+BCH(176,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为8.3E-3,性能逼近该级联FEC方案的最优性能。
图42为本申请实施例提供的交织处理的另一种流程示意图。
4201、对n条通道数据流进行第一分组交织得到T条第一数据流。
本实施例中,经过第一分组交织后的每条第一数据流中连续的C个符号至少来自E个不同的码字,T=n/K1,C为a的倍数,E≥K2*a。下面介绍第一分组交织的一种具体实现方式。
图43为本申请实施例中进行第一分组交织的一种实现方式示意图。如图43所示,参与第一分组交织的n条通道数据流包括第三符号矩阵,第三符号矩阵包括n行A列个符号,第三符号矩阵中不同行的A个符号分别来自不同的通道数据流,A为a的倍数。经过第一分组交织后的T条第一数据流包括第四符号矩阵,所述第四符号矩阵包括T行C列个符号,第四符号矩阵中不同行的C个符号分别来自不同的第一数据流,T为n的约数,n*A=T*C。具体地,第三符号矩阵的一列中每连续T个符号为符号子矩阵,第四符号矩阵中每一列的T个符号分别与第三符号矩阵中每个符号子矩阵一一对应。
在一种可能的实施方式中,第三符号矩阵中的符号子矩阵按第一顺序排列,第三符号矩阵中每列的第1行到第n行包括按第一顺序排列的第1个符号子矩阵到第n/T个符号子矩阵,第三符号矩阵的相邻两列中前一列的第n/T个符号子矩阵到后一列的第1个符号子矩阵为按第一顺序排列的连续2个符号子矩阵,第四符号矩阵中第1列的T个符号来自第三符号矩阵中按第一顺序排列的第一个符号子矩阵,依次类推,直到第四符号矩阵中第C列的T个符号来自第三符号矩阵中按第一顺序排列的最后一个符号子矩阵。也就是说,第三符号矩阵按照每一列从上到下依次将从左到右每一列的符号子矩阵映射到第四符号矩阵中,即先从上到下后从左到右的顺序映射。
在另一种可能的实施方式中,第三符号矩阵中的符号子矩阵按第二顺序排列,第三符号矩阵中每T行的第1列到第A行包括按第二顺序排列的第1个符号子矩阵到第A个符号子矩阵,第三符号矩阵的相邻两个连续T行中前T行的第A个符号子矩阵到后T行的第1个符号子矩阵为按第二顺序排列的连续2个符号子矩阵,第四符号矩阵中第1列的T个符号来自第三符号矩阵中按第二顺序排列的第一个符号子矩阵,依次类推,直到第四符号矩阵中第C列的T个符号来自第三符号矩阵中按第二顺序排列的最后一个符号子矩阵。也就是说,第三符 号矩阵按照同一行从左到右依次将从上到下共n/T行个符号子矩阵映射到第四符号矩阵中,即先从左到右后从上到下的顺序映射。
需要说明的是,在实际应用中,上述的第三符号矩阵和第四符号矩阵也可能不是以矩阵形式呈现的。例如,第三符号矩阵呈现为第三符号集合,第三符号集合包括n*A个符号子集,分别对应第三符号矩阵中的n行A列个符号。第四符号矩阵呈现为第四符号集合,第四符号集合包括T*C个符号子集,分别对应第四符号矩阵中的T行C列个符号。
4202、对T条第一数据流进行卷积交织得到T条第二数据流。
本实施例中,每条第二数据流中连续的H个符号来自至少F个不同码字,F≥E,每条第二数据流中连续的H个符号最多K1/K2个符号来自相同码字。
需要说明的是,本实施例中卷积交织的实现方式与上述图10所示实施例中介绍的卷积交织方式类似,此处不再赘述。一个区别在于,上述图10所示实施例中每个存储单元用于存储d个符号,本实施例中每个存储单元用于存储C个符号。在一种可能的实施方式中,若采用上述图12(a)所示的卷积交织器,则卷积交织器的参数应满足C(p*Q+1)≥a*N*K1/(n/k2),以使得卷积交织器输出的第一数据流中连续的H=p*C个符号至少来自F个不同的外码码字,其中,N为外码编码的码字长度。在另一种可能的实施方式中,若采用上述图12(b)所示的卷积交织器,则卷积交织器的参数应满足C(p*Q-1)≥a*N*K1/(n/k2),以使得卷积交织器输出的第一数据流中连续的H=p*C个符号至少来自F个不同的外码码字,其中,N为外码编码的码字长度。
4203、对T条第二数据流中每条第二数据流进行第二分组交织得到S条目标数据流,以得到共m条目标数据流。
本实施例中,m=T*S,S≥k1/K2。下面介绍第二分组交织的一种具体实现方式。图44(a)为本申请实施例中进行第二分组交织的一种实现方式示意图。如图44(a)所示,每个第二分组交织器对输入的第二数据流进行分组交织得到S条目标数据流,从而共产生m=T*S条目标数据流。
图44(b)为本申请实施例中进行第二分组交织的一种具体实现方式示意图。如图44(b)所示,每条第二数据流包括R个符号集合,每个符号集合包括p个符号子集,每个符号子集包括C个符号,p个符号子集分别由p条延迟线输出,每个符号集合中的符号来自至少F个不同码字,每条目标数据流包括F个符号,R*p*C=S*F,R为大于或等于的整数。也就是说,由卷积交织器p条延迟线轮询R次输出的R个符号集合进行第二分组交织得到S条目标数据流。应理解,一次分组交织操作只是得到目标数据流中F个连续的符号,连续不断的进行分组交织才是得到目标数据流,目标数据流中连续的F个符号表示为目标符号子集。目标数据流中每连续的F个符号来自至少个不同的符号子集,且个不同的符号子集中每个符号子集最多取K2*a个符号,表示对F/(K2*a)的商进行向上取整的整数。还应理解,每条目标数据流中每连续的F个符号最多有个符号来自相同的符号集合,表示对F/R的商进行向上取整的整数。
在一种可能的实施方式中,目标数据流中每连续的F个符号包括来自第一符号子集中的第一组符号和来自第二符号子集的第二组符号,第一符号子集和第二符号子集属于同一个符 号集合。第一符号子集和第二符号子集分别由两条相邻的延迟线输出,第一符号子集中的符号和第二符号子集中的符号分别按次序排列,第一组符号在第一符号子集中的次序与第二组符号在第二符号子集中的次序不同。也就是说,第一组符号和第二组符号分别在各自符号子集中的位置不同。
在另一种可能的实施方式中,目标数据流每连续的F个符号包括来自第三符号子集中的第三组符号和来自第四符号子集的第四组符号,第三符号子集和第四符号子集属于不同的符号集合,第三符号子集和第四符号子集由同一条延迟线输出,第三符号子集中的符号和第四符号子集中的符号分别按次序排列,第三组符号在第三符号子集中的次序与第四组符号在第四符号子集中的次序不同。也就是说,第三组符号和第四组符号分别在各自符号子集中的位置不同。
本发明针对采用级联FEC的传输方案,设计一种包含第一分组交织、卷积交织、第二分组交织和编码的数据交织编码方法,可以对所有接入业务采用同样的交织方案,使得整体级联FEC方案性能较好且时延较低。使得该级联FEC传输方案能够应用于较多的传输场景,尤其适用于对需要较低传输时延的传输场景,如低时延数据中心互联场景。
下面结合一些具体的实施例对上述图42所描述的交织处理方法的流程进行进一步介绍。应理解,下述每个实施例中的内码并行度指的是目标数据流的数量,例如,内码并行度16表示目标数据流的数量是16。还应理解,下述各实施例中的目标符号子集均表示目标数据流中连续的F个符号。
实施例1:内码编码信息位长度为120比特,内码并行度16。
发端处理模块根据接入业务的类型,利用各业务PCS通道或者FEC通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。这里32个通道的已知对齐标识各不相同,且与接入的业务相关。发端处理模块接着对每个业务内的多个PCS通道或者FEC通道进行纠偏处理,纠偏处理后同一个业务内的多个PCS/FEC通道之间都是AM对齐,而业务之间的通道数据流仅需要满足RS符号对齐,即AM之间相差整数个RS符号。比如当接入业务为2*400GbE时,纠偏处理后32条通道数据流如图37所示,每个400GbE业务内16条PCS通道之间都为AM对齐,而2个业务之间的AM相差整数个RS符号。然后根据对齐标识对n=32条通道的数据进行通道重排序(lane reorder)处理,使得n=32条通道的数据能够按照指定的顺序排列。如当接入业务为1*800GbE,32条通道数据流如图5所示,如当接入业务为2*400GbE,32条通道数据流如图6所示,如当接入业务为4*200GbE,32条通道数据流如图7所示;如当接入业务为8*100GbE且为“100G RS-FEC-Int”模式,32条通道数据流如图8所示;如当接入业务为8*100GbE且为“100G RS-FEC”模式时,32条通道数据流如图9所示。
经通道重排序的n=32条通道数据流送入所设计的第一分组交织模块、卷积交织模块和第二分组交织模块进行相应处理后送入内码编码器进行内码编码;经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(Polarization distribution),或DSP成帧处理 (Framing)等。
在本实施例中,根据通道数据流中RS分布规律,将n个通道数据流划分为G个通道数据流子集,任意两个通道数据流子集来自不同的RS码字,因此根据接入的业务的不同,其通道数据流包含的通道数据流子集数目不同,结合如5到图9所示PCS/FEC通道数据流格式,如当接入业务为1*800GbE或者2*400GbE,32条通道数据流包含G=2个通道数据流子集,即通道数据流0到15为一个通道流子集,通道数据流16到31为一个通道流子集;如当接入业务为4*200GbE,32条通道数据流包含G=4个通道数据流子集;如当接入业务为1*800GbE,32条通道数据流包含G=8个通道数据流子集,则32条通道数据流最多包含Gmax=n/4=8个通道数据流子集,最少包含Gmin=n/16=2个通道数据流子集,要使得第一分组交织对接入业务不敏感且整体交织时延最短,则第一交织模块对应参数K1=Gmax=8,T=n/K1=4。
图45(a)为第一分组交织的一种实现方式示意图。如图45(a)所示,从每条通道数据流取连续A=2个符号,构成32行2列的第三符号矩阵,进行分组交织得到T=4行C=16列的第四符号矩阵,第四符号矩阵第t行的C=16个符号为第一数据流t上连续的16个符号,其中0≤t<3。第四符号矩阵第i行第j列的符号来自第三符号矩阵的第x行第y列,其中满足其中表示为对j*4/32向下取整。定义第四符号矩阵一行为一个符号子集,并结合图5到图9所示PCS/FEC通道数据流格式,可以得到每个符号子集的符号来自于K1=8个不同的通道数据流,8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整,每个符号子集至少来自于K2*a=4个不同RS码字,最多来自于K1*a=16个不同RS码字,其中K2=Gmin
经过第一分组交织模块得到的4条第一数据流送入到卷积交织模块,得到4条第二数据流。卷积交织模块包含4个卷积交织器,分别表示为卷积交织0、卷积交织1、卷积交织2、卷积交织3,其采用相同的交织结构,每个交织交织对一条第一数据流进行交织处理得到一条第二数据流。
图45(b)为卷积交织的一种实现方式示意图。如图45(b)所示,其包含p=3条延迟线(delay line)。这p=3条延迟线分别包括2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元为d=C=16个符号,即用于存储第一数据流中一个符号子集。也就是,延迟线0的延迟取值为32Q个符号,延迟线1的延迟取值为16Q个符号,延迟线1的延迟取值为0个符号即无延迟。
如图45(b)所示的Sr()表示第一数据流r(0≤r≤T-1)中一个符号子集,包含C=16个符号。比如Sr(3t)表示第一数据流r当前输入给延迟线0的一个符号子集,且Sr(3t-6Q)为延迟线0输出的一个符号子集;Sr(3t+1)表示第一数据流r当前输入给延迟线1的一个符号子集,且Sr(3t-3Q+1)为延迟线1输出的一个符号子集;Sr(3t+2)表示第一数据流r当前输入给延迟线2的一个符号子集,且Sr(3t+2)为延迟线2输出的一个符号子集;Sr(3t+3)表示第一数据流r当前输入给延迟线0的一个符号子集,且Sr(3t-6Q+4)为延迟线0输出的一个符号子集;依次类推。结合图5和6,可以得出当接入业务为1*800GbE或者2*400GbE的时候, C(p*Q+1)≥a*N*K1/b=544,即Q≥11时,卷积交织连续输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2)三个符号子集中包含12个不同的RS码字。结合图7和图9,可以看出当接入业务为4*200GbE或者8*100GbE且为“100G RS-FEC”模式的时候,C(p*2*Q+2)≥a*N*K1/b=1088,即Q≥11时,卷积交织连续输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2)三个符号子集中包含16个不同的RS码字。结合图8,可以看出当接入业务为8*100GbE且为“100G RS-FEC-int”模式的时候,Q≥0时,卷积交织连续输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2)三个符号子集中包含16个不同的RS码字;所以当Q>11得时候可以保证对所有业务接入保证了卷积交织连续输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2)三个符号子集中至少包含12个不同的RS码字。
图45(c)为卷积交织的另一种实现方式示意图。如图45(c)所示,在一种可能的实施方式中,选取Q=11,其对应的交织时延约为22*16*3/2=528个RS符号。
采用如图45(c)所示的卷积交织器分别对4条第四数据数据流进行卷积交织处理得到4条第二数据流。定义第二数据流中从卷积交织器的延迟线0,延迟线1、延迟线2分别输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2)三个符号子集为符号集合,其总共包含48个RS符号,每个符号子集中的16个符号依次表示为符号0到符号15。结合图5到图9中给出各种业务的PCS/FEC通道上RS码字的分布以及第一分组交织和卷积交织不难理解每个符号子集至少来自于4个不同的RS码字,且同一符号子集的符号0到符号3对应的RS码字与符号4到符号7对应的RS码字不同,同一符号子集的符号8到符号11对应的RS码字和符号12到符号15对应的RS码字不同,同一符号子集的符号0到符号7对应的RS码字与符号8到符号15对应的RS码字可能相同;进一步符号集合至少来自于12个不同RS码字,且符号集合中最多K1/K2=4个符号属于同一个RS码字;进一步任意2个符号子集的符号0到符号7各自对应的RS码字分布可能一致,任意2个符号子集的符号8到符号15各自对应的RS码字分布可能一致。
采用4个第二分组交织器分别对4条第二数据流进行交织得到m=S*T=16条目标数据流。图45(d)为第二分组交织的一种实现方式的示意图,如图45(d)所示,对于第二分组交织i(0≤i<4)从第二数据流i中获取一个符号集合,从每个符号子集各取4个RS符号共12个RS符号映射为一个目标符号子集,总共得到S=4个目标符号子集,每个目标符号子集中的12个符号来自于12个不同的RS码字,4个目标符号子集分别为分组交织器i输出的目标数据流i*S到目标数据流i*S+3上的连续12个RS符号。为表述方便定义R(x,y)为符号子集x的符号y(x∈[0,2],y∈[0,15]),对于来自于任意2个符号子集中的各自任一个符号R(x1,y1)和R(x2,y2),x1≠x2,如果y1≠y2,表示此2个符号位于符号子集的不同位置。为使得目标符号子集的12个RS符号来自于12个不同RS码字,则此12个RS符号对应于符号集合中的R(0,i0),R(0,i1),R(0,i2),R(0,i3),R(1,i4),R(1,i5),R(1,i6),R(1,i7),R(2,i8),R(2,i9),R(2,i10),R(2,i11);且满足i0,i4,i8互不相同,i1,i5,i9互不相同,i2,i6,i10互不相同,i3,i7,i11互不相同,i0,i2%8,i4,i6%8互不相同,i4,i6%8,i8,i12%8互不相同,i1,i3%8,i5,i7%8互不相同,i5,i7%8,i9,i11%8互不相同,i0,i4,i8∈[0,3],i1,i5,i9∈[4,7],i2,i6,i10∈[8,11],i3,i7,i11∈[12,15];此等效为目标符号子集中的12个RS符号来自3个符号子集不同位置的符号,且每4个RS符 号来自同一个符号子集;进一步目标符号子集中来自同一个符号子集的4个符号分别为符号子集的符号0到符号3中的任一个,符号子集的符号4到符号7中的任一个,符号子集的符号8到符号11中的任一个,符号子集的符号12到符号15中的任一个;进一步目标符号子集中来自于由延迟取值差值为Q*C=176两个延迟线输出的符号子集的8个RS符号位于对应符号子集不同位置;进一步目标符号子集中最多有2个RS符号来自于同一个通道数据流,其通过第一分组交织映射到2个不同符号子集,且对应的2个符号子集由卷积交织器2个不同的延迟线输出,且对应2个延迟线的延迟差值大于等于2*Q*C=352个RS符号。
由此规则符号集合到目标符号子集的具体映射有很多种,表1-4给出了几种具体的映射关系,表1-4中每个表第y行第z列的数字x表示目标数据流y的中的第z个RS符号来自于符号子集的第x%16个RS符号,其中0≤y<4,0≤z<12,0≤x<48。需要说明的是将表中进行任意行之间交换,或者任意列之间交换,或者任意行交换后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据每个符号子集与通道通道数据流的映射关系,以及符号集合中每个符号子集的时延关系,不难得出目标符号子集与通道数据流的关系为:目标符号子集的数据来源于K1=8个不同通道数据流,8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从其中4个通道数据流取1个RS符号,从剩下4个通道数据流取2个RS符号;进一步如果从某一个通道数据流取2个RS符号,这2个RS符号在对应通道数据流间隔的距离大于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个RS符号。
经过上述分组交织得到的16个目标数据流分别送入到内码编码器,每个目标符号子集作为一个内码编码的信息数据,通过内码编码器产生冗余数据,得到16条编码数据流。在一种可能的实施方式中,采用Hamming(128,120)进行内码编码,分别将目标数据流中的每个目标符号子集的12个RS符号总共120比特添加8比特冗余得到128比特的码字。在另一种可能的实施方式中,采用BCH(136,120)进行内码编码,分别将目标数据流中的每个目标符号子集的12个RS符号总共120比特添加16比特冗余得到136比特的码字。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(Framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
采用本实施例的数据交织编码方案,其KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.5E-3,性能逼近该级联FEC方案的最优性能。
实施例2:内码编码信息位长度为160比特,内码并行度16。
在本实施例中,采用实施例1中的第一分组交织方案对n个通道数据流进行第一分组交织处理,得到T=4条第一数据流,然后4个卷积交织器分别对4条第一数据流进行卷积交织 得到4条第二数据流。其中卷积交织0、卷积交织1、卷积交织2、卷积交织3采用相同的交织结构。
图46(a)为卷积交织的另一种实现方式示意图。如图46(a)所示,其包含p=4条延迟线(delay line)。这4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元为d=C=16个符号,即用于存储第一数据流中一个符号子集。也就是,延迟线0的延迟取值为48Q个符号,延迟线1的延迟取值为32Q个符号,延迟线2的延迟取值为16Q个符号,延迟线3的延迟取值为0个符号即无延迟。
如图46(a)所示的Sr()表示第一数据流r(0≤r≤T-1)中一个符号子集。比如Sr(4t)表示第一数据流r当前输入给延迟线0的一个符号子集,且Sr(4t-12Q)为延迟线0输出的一个符号子集;Sr(4t+1)表示第一数据流r当前输入给延迟线1的一个符号子集,且Sr(4t-8Q+1)为延迟线1输出的一个符号子集;Sr(4t+2)表示第一数据流r当前输入给延迟线2的一个符号子集,且Sr(4t-4Q+2)为延迟线2输出的一个符号子集;Sr(4t+3)表示第一数据流r当前输入给延迟线3的一个符号子集,且Sr(4t+3)为延迟线3输出的一个符号子集;Sr(4t+4)表示第一数据流r当前输入给延迟线0的一个符号子集,且Sr(4t-12Q+4)为延迟线0输出的一个符号子集;依次类推。结合图5和图6,可以得出当接入业务为1*800GbE或者2*400GbE的时候,C(p*Q+1)≥544即Q≥9时,卷积交织连续输出的Sr(4t-12Q),Sr(4t-8Q+1),Sr(4t-4Q+2),Sr(4t+3)四个符号子集中包含16个不同的RS码字;结合图7和图9,可以看出当接入业务为4*200GbE或者8*100GbE且为“100G RS-FEC”模式的时候,C(p*2*Q+2)≥1088即Q≥9时,卷积交织连续输出的Sr(4t-12Q),Sr(4t-8Q+1),Sr(4t-4Q+2),Sr(4t+3)四个符号子集中包含16个不同的RS码字;结合图8,可以看出当接入业务为8*100GbE且为“100G RS-FEC-int”模式的时候,Q≥0时,卷积交织连续输出的Sr(4t-12Q),Sr(4t-8Q+1),Sr(4t-4Q+2),Sr(4t+3)四个符号子集中包含16个不同的RS码字;所以当Q≥9的时候可以保证对所有业务接入卷积交织连续输出的Sr(4t-12Q),Sr(4t-8Q+1),Sr(4t-4Q+2),Sr(4t+3)四个符号子集中包含16个不同的RS码字。
图46(b)为卷积交织的另一种实现方式示意图。如图46(b)所示,在一种可能的实施方式中,选取Q=9,其对应的交织时延约为27*16*3/2=648个RS符号。
采用4个如图46(b)所示的卷积交织器分别对4条第四数据数据流进行卷积交织处理得到4条第二数据流。定义第二数据流中从卷积交织器的延迟线0,延迟线1、延迟线2和延迟线3分别输出的Sr(4t-12Q),Sr(4t-8Q+1),Sr(4t-4Q+2),Sr(4t+3)四个符号子集为符号集合,其总共包含64个RS符号,每个符号子集中的16个符号依次表示为符号0到符号15。结合图5到图9中给出各种业务的PCS/FEC通道上RS码字的分布以及第一分组交织和卷积交织不难理解每个符号子集至少来自于4个不同的RS码字,且同一符号子集的符号0到符号3对应的RS码字与符号4到符号7对应的RS码字不同,同一符号子集的符号8到符号11对应的RS码字和符号12到符号15对应的RS码字不同,同一符号子集的符号0到符号7对应的RS码字与符号8到符号15对应的RS码字可能相同;进一步符号集合来自于16个不同RS码字,且符号集合中最多K1/K2=4个符号属于同一个RS码字;进一步任意2个符号子集的符号 0到符号7各自对应的RS码字分布可能一致,任意2个符号子集的符号8到符号15各自对应的RS码字分布可能一致。
采用4个第二分组交织器分别对4条第二数据流进行交织得到m=S*T=16条目标数据流。图46(c)为第二分组交织的另一种实现方式示意图。如图46(c)所示,对于第二分组交织i(0≤i<4)从第二数据流i中获取一个符号集合,从每个符号子集各取4个RS符号共16个RS符号映射为一个目标符号子集,总共得到S=4个目标符号子集,每个目标符号子集中的16个符号来自于16个不同的RS码字,4个目标符号子集分别为分组交织器i输出的目标数据流i*S到目标数据流i*S+3上的连续16个RS符号。为表述方便定义R(x,y)为符号子集x的符号y(x∈[0,3],y∈[0,15])。为使得目标符号子集中的16个RS符号来自于16个不同RS码字,则此16个RS符号对应于符号集中的R(0,i0),R(0,i1),R(0,i2),R(0,i3),R(1,i4),R(1,i5)R(1,i6),R(1,i7),R(2,i8),R(2,i9),R(2,i10),R(2,i11),R(3,i12),R(3,i13),R(3,i14),R(3,i15);且满足i0,i4,i8,i12互不相同,i1,i5,i9,i13互不相同,i2,i6,i10,i14互不相同,i3,i7,i11,i15互不相同,i0,i2%8,i4,i6%8互不相同,i4,i6%8,i8,i12%8互不相同,i8,i12%8,i14,i16%8互不相同,i1,i3%8,i5,i7%8互不相同,i5,i7%8,i9,i11%8互不相同,i9,i11%8,i13,i15%8互不相同,i0,i4,i8,i12∈[0,3],i1,i5,i9,i13∈[4,7],i2,i6,i10,i14∈[8,11],i3,i7,i11,i15∈[12,15];此等效为目标符号子集中的16个RS符号来自4个符号子集不同位置的符号,且每4个RS符号来自同一个符号子集;进一步目标符号子集中来自同一个符号子集的4个符号分别为符号子集的符号0到符号3中的任一个,符号子集的符号4到符号7中的任一个,符号子集的符号8到符号11中的任一个,符号子集的符号12到符号15中的任一个;进一步目标符号子集中来自于由延迟取值差值为Q*C=144的两个延迟线输出的符号子集的8个RS符号位于对应符号子集不同位置;进一步目标符号子集中最多有2个RS符号来自于同一个通道数据流,其通过第一分组交织映射到2个不同符号子集,且对应的2个符号子集由卷积交织器2个不同的延迟线输出,且对应2个延迟线的延迟差值大于等于2*Q*C=288个RS符号。
由此规则符号集合到目标符号子集的具体映射有很多种,表13-16给出了几种具体的映射关系,每个表第y行第z列的数字x表示目标符号子集y的中的第z个RS符号来自于符号子集的第x%16个RS符号,其中0≤y<4,0≤z<16,0≤x<64。需要说明的是将表中进行任意行之间交换,或者任意列之间交换,或者任意行交换后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据每个符号子集与通道通道数据流的映射关系,以及符号集合中每个符号子集的时延关系,不难得出目标符号子集的数据与通道数据流的关系为:目标符号子集的数据来源于K1=8个不同通道数据流,8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且 表示对jx/4向下取整;进一步从每个通道数据流取2个RS符号;此2个RS符号在对应通道数据流间隔的距离大于等于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个RS符号。
经过上述分组交织得到的16个目标数据流分别送入到内码编码器,每个目标符号子集作 为一个内码编码的信息数据,通过内码编码器产生冗余数据,得到16条编码数据流。在一种可能的实施方式中,采用Hamming(170,160)进行内码编码,分别将每个目标符号子集的16个RS符号总共160比特添加10比特冗余得到170比特的码字。在另一种可能的实施方式中,采用BCH(176,160)进行内码编码,分别将每个目标符号子集的16个RS符号总共160比特添加16比特冗余得到176比特的码字。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
采用本实施例的数据交织编码方案,当内码采用Hamming(170,160)时,其KP4 RS(544,514)+Hamming(170,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.3E-3,性能逼近该级联FEC方案的最优性能。当内码采用BCH(176,160)时,其KP4RS(544,514)+BCH(176,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为8.3E-3,性能逼近该级联FEC方案的最优性能。
实施例3:内码编码信息位长度为120比特,内码并行度32。
在本实施例中,采用实施例1中的第一分组交织方案对n个通道数据流进行第一分组交织处理,得到T=4条第一数据流,然后采用如图45(c)所示的卷积交织器分别对4条第一数据数据流进行卷积交织处理得到4条第二数据流。定义第二数据流中从卷积交织器的延迟线0,延迟线1、延迟线2分别输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2)三个符号子集为符号集合。从每个第二数据流中取连续Q=2个符号集合,标记为符号集合0和符号集合1,其总共包含6个符号子集,分别表示为符号子集0、符号子集1、符号子集2、符号子集3、符号子集4和符号子集5。第二分组交织i(0≤i<4)将第二数据流i中2个连续符号集合进行分组交织得到8个目标符号子集,每个目标符号子集包含12个RS符号,8个目标符号子集分别为分组交织器i输出目标数据流i*S到目标数据流i*S+7上的连续12个RS符号,且目标符号子集中的每个RS符号来自不同的RS码字。结合图5到图9中给出各种业务的PCS/FEC通道上RS码字的分布以及第一分组交织和卷积交织,不难理解每个符号子集至少来自于4个不同的RS码字,且同一符号子集的符号0到符号3对应的RS码字与符号4到符号7对应的RS码字不同,同一符号子集的符号8到符号11对应的RS码字和符号12到符号15对应的RS码字不同,同一符号子集的符号0到符号7对应的RS码字与符号8到符号15对应的RS码字可能相同;进一步任意2个符号子集的符号0到符号7对应RS码字分布可能一致,任意2个符号子集的符号8到符号15对应RS码字分布可能一致;进一步每个符号集合至少来自于12个不同RS码字,且符号集合中最多4个符号属于同一个RS码字,符号集合0和符号集合1中RS码字分布一致。
图47为第二分组交织的另一种实现方式示意图。如图47所示,从每个符号子集各取2个RS符号共12个RS符号映射为一个目标符号子集,总共得到8个目标符号子集。为表述方便定义R(x,y)为符号子集x的符号y(x∈[0,5],y∈[0,15])。为使得目标符号子集中的12个RS符号来自于12个不同RS码字,则此12个RS符号对应于2个符号集合中的R(0,i0),R(0,i1),R(1,i2),R(1,i3),R(2,i4),R(2,i5),R(3,i6),R(3,i7),R(4,i8),R(4,i9),R(5,i10),R(5,i11);且满足i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11互不相同,i0%8,i1%8,i2%8,i3%8互 不相同,i2%8,i3%8,i4%8,i5%8互不相同,i6%8,i7%8,i8%8,i9%8互不相同,i8%8,i9%8,i10%8,i11%8互不相同,i0%8,i1%8,i6%8,i7%8互不相同,i2%8,i3%8,i8%8,i9%8互不相同,i4%8,i5%8,i10%8,i11%8互不相同,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11∈[0,15];此等效为目标符号子集中的12个RS符号来自6个符号子集不同位置的符号,且每2个RS符号来自同一个符号子集;进一步目标符号子集中来自于由延迟取值差值为Q*C=176的两个延迟线输出的符号子集的4个RS符号位于对应符号子集不同位置;进一步目标符号子集中来自于卷积交织器同一延迟线输出的2个符号子集的4个RS符号位于对应符号子集不同位置;进一步目标符号子集中最多有2个RS符号来自于同一个通道数据流,其通过第一分组交织映射到2个不同符号子集,且对应的2个符号子集由卷积交织器2个不同的延迟线输出,且对应2个延迟线的延迟差值大于等于2*Q*C=352个RS符号。由此规则2个符号集合交织到8个目标符号子集的具体映射有很多种,表5-12给出了几种具体的映射关系,每个表第y行第z列的数字x表示目标符号子集y的中的第z个RS符号来自于符号子集的第x%16个RS符号,其中0≤y<8,0≤z<12,0≤x<96。需要说明的是将表中进行任意行之间交换,或者任意列之间交织,或者任意行交织后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据每个符号子集与通道通道数据流的映射关系,以及符号集合中每个符号子集的时延关系,不难得出目标符号子集与通道数据流的关系为:目标符号子集的数据来源于K1=8个不同通道数据流,8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从其中4个通道数据流取1个RS符号,从剩下4个通道数据流取2个RS符号;进一步如果从某一个通道数据流取2个RS符号,这2个RS符号在对应通道数据流间隔的距离大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个RS符号。
经过上述分组交织得到的32个目标符号子集分别送入到内码编码器,每个目标符号子集作为一个内码编码的信息数据,通过内码编码器产生冗余数据,得到32条编码数据流。在一种可能的实施方式中,采用Hamming(128,120)进行内码编码,分别将目标符号子集的12个RS符号总共120比特添加8比特冗余得到128比特的码字。在另一种可能的实施方式中,采用BCH(136,120)进行内码编码,分别将目标符号子集的12个RS符号总共120比特添加16比特冗余得到136比特的码字。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(Framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
实施例4:内码编码信息位长度为160比特,内码并行度32。
采用实施例1中的第一分组交织方案对n个通道数据流进行第一分组交织处理,得到T=4条第一数据流,采用如图46(b)所示的卷积交织器分别对4条第四数据数据流进行卷积交 织处理得到4条第二数据流。定义第二数据流中从卷积交织器的延迟线0,延迟线1、延迟线2和延迟线3分别输出的Sr(4t-12Q),Sr(4t-8Q+1),Sr(4t-4Q+2),Sr(4t+3)四个符号子集为符号集合,其总共包含64个RS符号。第二分组交织i(0≤i<4)将第二数据流i中2个连续符号集合进行分组交织得到8个目标符号子集,每个目标符号子集包含16个RS符号,8个目标符号子集分别为分组交织器i输出目标数据流i*S到目标数据流i*S+7上的连续16个RS符号,且目标符号子集中的每个RS符号来自不同的RS码字。结合图5到图9中给出各种业务的PCS/FEC通道上RS码字的分布以及第一分组交织和卷积交织,不难理解每个符号子集至少来自于4个不同的RS码字,且同一符号子集的符号0到符号3对应的RS码字与符号4到符号7对应的RS码字不同,同一符号子集的符号8到符号11对应的RS码字和符号12到符号15对应的RS码字不同,同一符号子集的符号0到符号7对应的RS码字与符号8到符号15对应的RS码字可能相同;进一步任意2个符号子集的符号0到符号7对应RS码字分布可能一致,任意2个符号子集的符号8到符号15对应RS码字分布可能一致;进一步每个符号集合至少来自于12个不同RS码字,且符号集合中最多4个符号属于同一个RS码字,符号集合0和符号集合1中RS码字分布一致。
图48为第二分组交织的另一种实现方式示意图。如图48所示,从每个符号子集各取2个RS符号共16个RS符号映射为一个目标符号子集,总共得到8个目标符号子集。为表述方便定义R(x,y)为符号子集x的符号y(x∈[0,7],y∈[0,15])。为使得目标符号子集中的16个RS符号来自于16个不同RS码字,则此16个RS符号对应于2个符号集合中的R(0,i0),R(0,i1),R(1,i2),R(1,i3),R(2,i4),R(2,i5),R(3,i6),R(3,i7),R(4,i8),R(4,i9),R(5,i10),R(5,i11),R(6,i12),R(6,i13),R(7,i14),R(7,i15);且i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15互不相同,i0%8,i1%8,i2%8,i3%8互不相同,i2%8,i3%8,i4%8,i5%8互不相同,i4%8,i5%8,i6%8,i7%8互不相同,i8%8,i9%8,i10%8,i11%8互不相同,i10%8,i11%8,i12%8,i13%8互不相同,i12%8,i13%8,i14%8,i15%8互不相同,i0%8,i1%8,i8%8,i9%8互不相同,i2%8,i3%8,i10%8,i11%8互不相同,i4%8,i5%8,i12%8,i13%8互不相同,i6%8,i7%8,i14%8,i15%8互不相同,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15∈[0,15];此等效为目标符号子集中的16个RS符号来自8个符号子集不同位置的符号,且每2个RS符号来自同一个符号子集;进一步目标符号子集中来自于由延迟取值差值为Q*C=144的两个延迟线输出的符号子集的4个RS符号位于对应符号子集不同位置;进一步目标符号子集中来自于由卷积交织器同一延迟线输出的2个符号子集的4个RS符号位于对应符号子集不同位置;进一步目标符号子集中最多有2个RS符号来自于同一个通道数据流,其通过第一分组交织映射到2个不同符号子集,且对应的2个符号子集由卷积交织器2个不同的延迟线输出,且对应2个延迟线的延迟差值大于等于2*Q*C=288个RS符号。由此规则2个符号集合交织到8个目标符号子集的具体映射有很多种,表17-24给出了几种具体的映射关系,每个表第y行第z列的数字x表示目标符号子集y的中的第z个RS符号来自于符号子集的第x%16个RS符号,其中0≤y<8,0≤z<16,0≤x<128。需要说明的是将表中进行任意行之间交换,或者任意列之间交织,或者任意行交换后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据每个符号子集与通道通道数据流的映射关系,以及符号集合中每个符号子集的时延关系,不难得出目标符号子集与通道数据流的关系为:目标符号子集的数据来源于K1=8个不同通道数据流,8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从每个通道数据流取2个RS符号;此2个RS符号在对应通道数据流间隔的距离大于等于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个RS符号。
经过上述分组交织得到的32个目标符号子集分别送入到32个内码编码器,每个目标符号子集作为一个内码编码的信息数据,通过内码编码器产生冗余数据,得到32条编码数据流。在一种可能的实施方式中,采用Hamming(170,160)进行内码编码,分别将目标符号子集的16个RS符号总共160比特添加10比特冗余得到170比特的码字。在另一种可能的实施方式中,采用BCH(176,160)进行内码编码,分别将目标符号子集的16个RS符号总共160比特添加16比特冗余得到176比特的码字。经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。
采用本实施例的数据交织编码方案,当内码采用Hamming(170,160)时,其KP4 RS(544,514)+Hamming(170,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.3E-3,性能逼近该级联FEC方案的最优性能。当内码采用BCH(176,160)时,其KP4RS(544,514)+BCH(176,160)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为8.3E-3,性能逼近该级联FEC方案的最优性能。
实施例5:内码编码信息位长度为120比特,内码并行度16。
应理解,实施例1-4中改变第一分组交织中第三符号矩阵和第四符号矩阵之间的映射关系,将会改变符号子集中RS码字符号分布规律,从而将会影响第二分组交织中符号集合和目标符号子集的关系。本实施例5给出一种新的第一分组交织方案和对应的第二分组交织具体的实现。
图49为第一分组交织的另一种实现方式示意图。如图49所示,第四符号矩阵第i行第j列的符号来自第三符号矩阵的第x行第y列,其中满足 其中表示为对j/2向下取整。定义第四符号矩阵一行为一个符号子集,交织后得到的4个符号子集分别为第一分组交织输出T=4条第一数据流上连续16个RS符号,并结合图5到图9所示PCS/FEC通道数据流格式,可以得到每个符号子集的符号来自于8个不同的通道数据流,8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且 表示对jx/4向下取整,至少来自于4个不同RS码字符号。
经过图49所示第一分组处理得到的4条第一数据流,再经过图45(c)所示的卷积交织处理得到4条第二数据流。定义第二数据流中从卷积交织器的延迟线0,延迟线1、延迟线2分别输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2)三个符号子集为符号集合,其总共包含48个RS符号。结合图5到图9中给出各种业务的PCS/FEC通道上RS码字的分布以及第一分组交 织和卷积交织可以得到,不难理解每个符号子集至少来自于4个不同的RS码字,且同一符号子集的符号0到符号7对应的RS码字与符号8到符号15对应的RS码字不同;进一步任意2个符号子集的符号0到符号7对应的RS码字分布可能一致,任意2个符号子集的符号8到符号15对应的RS码字分布可能一致;进一步符号集合至少来自于12个不同RS码字,且符号集合中最多4个符号属于同一个RS码字。
因此可以采用如图45(d)所示的分组交织结构,从第二数据流中获取一个符号集合,从每个符号子集各取4个RS符号共12个RS符号映射为一个目标符号子集,总共得到4个目标符号子集,4个目标符号子集分别为分组交织器输出的4路目标符号子集上的连续12个RS符号,即等效为每个分组交织器输出S=4条目标符号子集。为表述方便定义R(x,y)为符号子集x的符号y(x∈[0,2],y∈[0,15])。为使得目标符号子集中的12个RS符号来自于12个不同RS码字,则此12个RS符号对应于符号集合中的R(0,i0),R(0,i1),R(0,i2),R(0,i3),R(1,i4),R(1,i5),R(1,i6),R(1,i7),R(2,i8),R(2,i9),R(2,i10),R(2,i11);且满足i0,i1,i4,i5,i8,i9互不相同,i2,i3,i6,i7,i10,i11互不相同,i0,i1,i4,i5,i8,i9∈[0,7],i2,i3,i6,i7,i10,i11∈[8,15];此等效为目标符号子集中的12个RS符号来自3个符号子集不同位置的符号,且每4个符号来自于同一个符号子集,且其中2个RS符号来自同一个符号子集的符号0到符号7,另外2个RS符号来自同一个符号子集的符号8到符号15;进一步目标符号子集中来自于由延迟取值差值为Q*d=176的两个延迟线输出的符号子集的8个RS符号位于对应符号子集不同位置;进一步目标符号子集中最多有2个RS符号来自于同一个通道数据流,其通过第一分组交织映射到2个不同符号子集,且对应的2个符号子集由2个卷积交织器2个不同的延迟线输出,且对应2个延迟线的延迟差值大于等于136个RS符号。由此规则符号集合到目标符号子集的具体映射有很多种,表25-28给出了几种具体的映射关系,表25-28中每个表第y行第z列的数字x表示目标符号子集y的中的第z个RS符号来自于符号子集的第x%16个RS符号,其中0≤y<4,0≤z<12,0≤x<48。需要说明的是将表中进行任意行之间交换,或者任意列之间交换,或者任意行交换后在进行任意列交换,或者先任意列交换后在进行任意行交换都是一个合法的映射。
根据每个符号子集与通道通道数据流的映射关系,以及符号集合中每个符号子集的时延关系,不难得出目标符号子集与通道数据流的关系为:目标符号子集的数据来源于K1=8个不同通道数据流,8个通道数据流可以表示为通道数据流j0,通道数据流j1,通道数据流j2,通道数据流j3,通道数据流j4,通道数据流j5,通道数据流j6,通道数据流j7,且表示对jx/4向下取整;进一步从其中4个通道数据流取1个RS符号,从剩下4个通道数据流取2个RS符号;进一步如果从某一个通道数据流取2个RS符号,这2个RS符号在对应通道数据流间隔的距离大于a*N*K2/n,即大于等于2*544*2/32=68个RS符号;进一步最多2个RS符号来自2个不同通道数据流上对齐的2个RS符号。
表25
表26
表27
表28
经过上述分组交织得到的16个目标数据流分别送入到内码编码器,每个目标符号子集作为一个内码编码的信息数据,通过内码编码器产生冗余数据,得到16条编码数据流。在一种可能的实施方式中,采用Hamming(128,120)进行内码编码,分别将目标数据流中的每个目标符号子集的12个RS符号总共120比特添加8比特冗余得到128比特的码字。在另一种可能的实施方式中,采用BCH(136,120)进行内码编码,分别将目标数据流中的每个目标符号子集的12个RS符号总共120比特添加16比特冗余得到136比特的码字。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving),偏振划分(polarization distribution),或DSP成帧处理(Framing)等。比如内码编码数据流可通过交织,以提升系统抗突发错误的能力。
采用本实施例的数据交织编码方案,其KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.5E-3,性能逼近该级 联FEC方案的最优性能。
图50(a)为本申请实施例中数据处理装置的另一种结构示意图。如图50(a)所示,该数据处理装置包括交织模块301和编码器302。交织模块301用于执行上述数据处理方法中对n条通道数据流进行交织处理得到m条目标数据流的操作。编码器302用于执行上述数据处理方法中对m条目标数据流分别进行第二FEC编码得到编码数据流的操作。具体地,交织模块301包括卷积交织器3011和分组交织器3012,卷积交织器3011用于执行上述图34所示实施例中的步骤3401,分组交织器3012用于执行上述图34所示实施例中的步骤3402。
图50(b)为本申请实施例中数据处理装置的另一种结构示意图。如图50(b)所示,该数据处理装置包括交织模块401和编码器402。交织模块401用于执行上述数据处理方法中对n条通道数据流进行交织处理得到m条目标数据流的操作。编码器402用于执行上述数据处理方法中对m条目标数据流分别进行第二FEC编码得到编码数据流的操作。具体地,交织模块401包括第一分组交织器4011、卷积交织器4012和第二分组交织器4013,第一分组交织器4011用于执行上述图42所示实施例中的步骤4201,卷积交织器4012用于执行上述图42所示实施例中的步骤4202,第二分组交织器4013用于执行上述图42所示实施例中的步骤4203。
应理解,本申请提供的装置也可以通过其他方式实现。例如,上述装置中的单元划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或可以集成到另一个系统。另外,本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个独立的物理单元,也可以是两个或两个以上个功能单元集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要说明的是,除了上述实施例介绍的数据处理方法外,本申请还提供了另一种数据处理方法,下面进行详细介绍。
图51为本申请实施例提供的数据处理方法的另一种流程示意图。
5101、对n条通道数据流中每t条通道数据流进行分组交织得到s条第一数据流,以得到共m条第一数据流。
本实施例中,通道数据流可以是PCS通道数据流或FEC通道数据流,具体此处不做限定。n条通道数据流都是经过第一FEC编码的数据流,也就是上文中介绍的经过外码编码的数据流,其中,n为大于1的整数。例如,该外码编码可以采用RS码,经过外码编码后的n条数据流可以包括多个RS码字。在实际应用中也可以采用其他的编码方式进行外码编码,为了便于描述,下文统一用RS码字来表示外码编码后生成的码字。应理解,经过外码编码后的每a个码字分布在b条通道数据流中,其中,a≤b≤n,n能被b整除,a为大于或等于1的整数。在上述图5-图9所示的不同应用场景中,a和b的取值也可能不同。以图5所示的应用场景为例,n=32,a=2,b=16,即每2个码字分布在16条通道数据流中。在图6-图9其他几个应用场景中a和b的取值可以通过附图推导得出,此处不再一一赘述。需要说明的是,本申请 中外码码长取值是以符号为单位来统计的,其中,符号可以包括一个或多个比特。例如,外码为采用的KP4 RS(544,514)码,码长N=544个符号,一个符号包含10个比特。
具体地,n条通道数据流可以分为q组,每组包括t条通道数据流,其中,q为大于或等于1的整数,n能被q整除。相应的,分组交织后得到的m条第一数据流也可以分为q组,每组包括s条第一数据流。即n=q*t,m=q*s。每组的t条通道数据流经过分组交织后得到对应的一组s条第一数据流。
图52为本申请实施例中对n条通道数据流进行分组交织的一种结构示意图。如图52所示,作为一个示例,由q个分组交织器进行对n条通道数据流进行分组交织,交织器i将通道数据流i*t到通道数据流(i+1)*t-1分组交织得到第一数据流i*s到第一数据流(i+1)*s-1,0≤i<q。
由于每条通道数据流中每连续a个符号来自a个不同的码字,且每条通道数据流中每连续的L1个符号来自至少a个不同的码字,L1=N*a/b,N表示外码编码得到的码字长度。因此,以其中任一组的t条通道数据流为例,先从每条通道数据流中各取连续的a个符号得到共t*a个符号,再从t*a个符号的每个符号中各取任意的Δ个比特得到共D=Δ*t*a个比特,这D个比特映射到分组交织后任一条第一数据流中连续的D个比特。其中,Δ=M/s,M表示一个符号包含的比特数,为了便于说明,后面都以M=10为例进行介绍。
需要说明的是,经过分组交织后每条第一数据流中每连续的d个符号来自v个不同的码字,且每条第一数据流中每连续的L2个符号来自至少v个不同的码字。其中,v能被a整除,d=D/M,L2=t/s*L1。
在一种可能的实施方式中,当发送设备01发送的1*800GE业务的时候,根据以太网联盟定义的《Ethernet Technology Consortium800G Specification》,发端设备01的RS-FEC采用KP4 RS(544,514)码,称为外码,并将多个RS分配到32个虚拟的PCS通道上,具体如图5所示,PCS通道数据流0-15或PCS通道数据流16-31中每条数据流间隔68个符号总共16*68=1088个符号,其包含了2个RS码码字。每条PCS通道数据流中相邻a=2个符号来自不同RS码码字,且相邻两条PCS通道数据流的同个位置的2个符号来自不同RS码码字,且每连续的L1=68个符号来自至少不同的a=2个RS码字。此32个PCS通道数据流复用后通过通道连接单元接口AUI送到发端处理模块。需要说明的是,2个RS码码字1088个符号分布在16条通道数据流中,所述1088个符号中的68个符号为一条通道数据流中的连续68个符号;当一条通道数据流中连续L1=68个符号来自如图5中的2个虚框,此时该68个符号来自3或4个不同RS码字。为了简单描述,下文简单表述为每条通道数据流中每连续的L1个符号来自a个不同的码字。
基于图3(h)所示的发端处理模块的数据处理示意图,发端处理模块PMA单元将从通道连接单元接口AUI进行de-mux后恢复出32个PCS通道数据流,然后利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。这里32个通道的已知对齐标识各不相同(见《Ethernet Technology Consortium 800G Specification》)。然后根据对齐标识对n=32条PCS通道数据流进行通道重排序(lane reorder)处理,使得n=32条PCS通道的数据能够按照指定的顺序排列,一种具体排列方式为通道数据流2*i (0≤i<16)共16条通道数据流来自相同的RS码字,通道数据流2*i+1(0≤i<16)共16条通道数据流来自相同的RS码字。
在另一种可能的实施方式中,当发送设备01发送的1*800GE业务的时候,基于图3(h)所示的发端处理模块的数据处理示意图,发端处理模块的PMA单元将从通道连接单元接口AUI接收的数据进行de-mux后恢复出32个PCS通道数据流,然后利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。这里32个通道的已知对齐标识各不相同(见《Ethernet Technology Consortium 800G Specification》)。发端处理模块接着根据对齐标识对n=32条通道的数据进行通道重排序(lane reorder)处理,使得n=32条通道数据流能够按照指定的顺序排列,一种具体排列方式为通道数据流0到15共16条通道数据流来自相同的RS码字,通道数据流16到31共16条通道数据流来自相同的RS码字。需要说明的是,上述“通道数据流0到15共16条通道数据流来自相同的RS码字”可参照图5进行理解,更具体的是,对于通道数据流0到15,每条通道数据流中的34个符号,总共544个符号来自相同的RS码字;且对于通道数据流0到15,每条通道数据流中的连续68个符号,总共1088个符号来自2个RS码字。类似的,对于通道数据流16到31,每条通道数据流中的34个符号,总共544个符号来自相同的RS码字;且对于通道数据流16到31,每条通道数据流中的连续68个符号,总共1088个符号来自另外2个RS码字。为了描述简单,本申请会简单表述:32条通道数据流中通道数据流0-通道数据流15共16条通道数据流来自相同的码字,32条通道数据流中通道数据流16-通道数据流31共16条通道数据流来自相同的码字,通道数据流0-通道数据流15和通道数据流16-通道数据流31来自不同的码字。
下面介绍几种分组交织的具体实施方式。
实施方式1:以n=32为例,32条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,32条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。即通道数据流2*i共16条通道数据流来自相同的码字,通道数据流2*i+1共16条通道数据流来自相同的码字,0≤i<16。
图53为本申请实施例中分组交织的一种应用场景示意图。如图53所示的1个分组交织器用于对2条通道数据流进行分组交织得到1条第一数据流,分组交织共需要用到16个如图53所示的分组交织器。具体地,分组交织器i对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,总共得到m=16条第一数据流,0≤i<16。分组交织具体映射方式为:从通道数据流2*i和通道数据流2*i+1各取a=2个符号共4个符号,然后以任意顺序映射为第一数据流i中连续的D=40比特,即d=4个符号。其中,分组交织得到的1条第一数据流中每连续的d=4个符号来自v=4个不同的码字,且每连续的L2=136个符号来自不同的v=4的不同的码字。
一种方式为从通道数据流2*i和通道数据流2*i+1中各自的连续20个比特按照β个比特轮询输出得到第一数据流中连续d=4个符号。具体地,令一次分组交织操作得到的第一数据流中的连续D=40比特分别表示为b0~b39,则上述β个比特轮询输出的映射可表示:第一数据 流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,其中,β可以为20的约数,即β=1,2,4,5,10,20,表示向下取整,0≤j<40。
图54为本申请实施例中分组交织的几种具体实施例示意图。如图54的(a)示例表示β=10时分组交织的实施例,如图54的(b)示例表示β=20时分组交织的实施例,如图54的(c)示例表示β=1时分组交织的实施例。
实施方式2:以n=32为例,32条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,32条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。即通道数据流2*i共16条通道数据流来自相同的码字,通道数据流2*i+1共16条通道数据流来自相同的码字,0≤i<16。
图55为本申请实施例中分组交织的另一种应用场景示意图。如图55所示的1个分组交织器用于对2条通道数据流进行分组交织得到2条第一数据流,分组交织共需要用到16个如图55所示的分组交织器。具体地,分组交织器i对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16。分组交织具体映射方式为:从通道数据流2*i和通道数据流2*i+1各获取连续的a=2个符号共4个符号,从每个符号中各任取Δ=M/s=10/2=5个比特共D=20比特以任意顺序映射为第一数据流2*i或者第二数据流2*i+1中连续的D=20比特,即d=2符号。其中,分组交织后第一数据流中每连续D=20比特来自v=4个不同的码字,进一步每个第一数据流中每L2=68符号来自不同的4个码字。
图56为本申请实施例中分组交织的几种具体实施例示意图。用表示分组交织i分组一次分组交织操作生成的第一数据流2*i+g的连续的20bits中的第f比特。如图56的(a)示例所示,来自第条通道数据流中连续20个比特中的第 个比特,0≤f<20,0≤g<2。如图56的(b)示例所示,来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
实施方式3:以n=32为例,32条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,32条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。即通道数据流2*i共16条通道数据流来自相同的码字,通道数据流2*i+1共16条通道数据流来自相同的码字,0≤i<16。
图57为本申请实施例中分组交织的另一种应用场景示意图。在该应用场景中,分组交织具体采用复用的形式,如图57所示的1个复用器用于对2条通道数据流进行复用得到1条第一数据流,复用共需要用到16个如图57所示的复用器。具体地,复用器i对第2*i条通道数据流和第2*i+1条通道数据流进行复用得到1条第一数据流,0≤i<16。复用具体映射方式为:表示第2*i条通道数据流中第j组连续的β个比特,表示第2*i+1条通道数据流中第j组连续的β个比特,j≥0,在复用得到的第一数据流中连续。即经过 2:1复用后第一数据流数据顺序为其中0≤i≤15,β=1,2,4,5,10,20。例如,当β=1时表示第2*i条通道数据流和第2*i+1条通道数据流采用比特复用(bit-mux)得到第一数据流i。又例如,当β=10时表示第2*i条通道数据流和第2*i+1条通道数据流采用RS符号复用(symbol-mux)得到第一数据流i。再例如,当β=20时表示第2*i条通道数据流和第2*i+1条通道数据流采用2RS符号复用(symbol-mux)得到第一数据流i。经过2:1复用后,第一数据流中每连续的d=4个符号来自4个不同的RS码字。
实施方式4:以n=32为例,32条通道数据流中通道数据流0-通道数据流15共16条通道数据流来自相同的码字,32条通道数据流中通道数据流16-通道数据流31共16条通道数据流来自相同的码字,通道数据流0-通道数据流15和通道数据流16-通道数据流31来自不同的码字。
图58为本申请实施例中分组交织的另一种应用场景示意图。如图58所示的1个分组交织器用于对2条通道数据流进行分组交织得到1条第一数据流,分组交织共需要用到16个如图58所示的分组交织器。具体地,分组交织器i对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,总共得到m=16条第一数据流,0≤i<16。分组交织具体映射方式为:从通道数据流i和通道数据流i+16各取a=2个符号共4个符号,然后以任意顺序映射为第一数据流i中连续的D=40比特,即d=4个符号。其中,分组交织得到的1条第一数据流中每连续的d=4个符号来自v=4个不同的码字,且每连续的L2=136个符号来自不同的v=4的不同的码字。
一种方式为通道数据流i和通道数据流i+16中各自的2个连续符号按照β个比特轮询输出得到第一数据流中连续d=4个符号。具体地,令一次分组交织操作得到的第一数据流中的连续D=40比特分别表示为b0~b39。则上述β个比特轮询输出的映射可表示:第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
实施方式5:以n=32为例,32条通道数据流中通道数据流0-通道数据流15共16条通道数据流来自相同的码字,32条通道数据流中通道数据流16-通道数据流31共16条通道数据流来自相同的码字,通道数据流0-通道数据流15和通道数据流16-通道数据流31来自不同的码字。
图59为本申请实施例中分组交织的另一种应用场景示意图。如图59所示的1个分组交织器用于对2条通道数据流进行分组交织得到2条第一数据流,分组交织共需要用到16个如图59所示的分组交织器。具体地,分组交织器i对第i条通道数据流和第i+16条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16。分组交织具体映射方式为从通道数据流i和通道数据流i+16各取a=2个RS符号共4个RS符号,从每个符号中各任取Δ=M/s=10/2=5比特数据共D=20比特以任意顺序映射为第一数据流2*i或者第二数据流2*i+1中连续的D=20比特,即d=2符号。其中,分组交织后第一数据流中每连续D=20 比特来自v=4个不同的码字,进一步每个第一数据流中每L2=68符号来自不同的4个码字。
在一种可能的实施方式中,用表示分组交织i分组交织操作生成了第一数据流2*i+g的连续的20bits中的第f比特。来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
在一种可能的实施方式中,用表示分组交织i分组交织操作生成了第一数据流2*i+g的连续的20bits中的第f比特。来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
实施方式6:以n=32为例,32条通道数据流中通道数据流0-通道数据流15共16条通道数据流来自相同的码字,32条通道数据流中通道数据流16-通道数据流31共16条通道数据流来自相同的码字,通道数据流0-通道数据流15和通道数据流16-通道数据流31来自不同的码字。
图60为本申请实施例中分组交织的另一种应用场景示意图。在该应用场景中,分组交织具体采用复用的形式,如图60所示的1个复用器用于对2条通道数据流进行复用得到1条第一数据流,复用共需要用到16个如图60所示的复用器。具体地,复用器i对第i条通道数据流和第i+16条通道数据流进行复用得到1条第一数据流,0≤i<16。复用具体映射方式为:表示第i条通道数据流中第j组连续的β个比特,表示第i+16条通道数据流中第j组连续的β个比特,j≥0,在复用得到的第一数据流中连续。即经过2:1复用后第一数据流数据顺序为其中0≤i≤15,β=1,2,4,5,10,20。例如,当β=1时表示第i条通道数据流和第i+16条通道数据流采用比特复用(bit-mux)得到第一数据流i。又例如,当β=10时表示第i条通道数据流和第i+16条通道数据流采用RS符号复用(symbol-mux)得到第一数据流i。再例如,当β=20时表示第i条通道数据流和第i+16条通道数据流采用2RS符号复用(symbol-mux)得到第一数据流i。经过2:1复用后,第一数据流中每连续的d=4个符号来自4个不同的RS码字。
需要说明的是,复用器i对第i条通道数据流和第i+16条通道数据流进行复用得到1条第一数据流,也即复用器i的两条输入数据流为第i条通道数据流和第i+16条通道数据流,也可以是其他具体实现方式。一种具体实现方式是复用器i对第i条通道数据流和第31-i条通道数据流进行复用得到1条第一数据流。需要说明的是,任意一个复用器的2条输入数据流满足如下约束即可:其中一条输入数据流来自通道数据流0-通道数据流15中的一条,另一条输入数据流来自通道数据流16-通道数据流31中的一条。其具体实现方式可根据上述实施例进行简单扩展,其具体实现方式本领域普通技术人员可知,此处不再赘述。
实施方式7:以n=32为例,32条通道数据流中通道数据流0-通道数据流15共16条通道数据流来自相同的码字,32条通道数据流中通道数据流16-通道数据流31共16条通道数据流来自相同的码字,通道数据流0-通道数据流15和通道数据流16-通道数据流31来自不同的码字。更具体的是,参照图5进行理解,对于通道数据流0到15,每条通道数据流中的 34个符号,总共544个符号来自相同的RS码字;且对于通道数据流0到15,每条通道数据流中的连续68个符号,总共1088个符号来自2个RS码字。类似的,对于通道数据流16到31,每条通道数据流中的34个符号,总共544个符号来自相同的RS码字;且对于通道数据流16到31,每条通道数据流中的连续68个符号,总共1088个符号来自另外2个RS码字。
图61为本申请实施例中分组交织的再一种应用场景示意图。如图61所示的1个分组交织器用于对4条通道数据流进行分组交织得到1条第一数据流,分组交织共需要用到8个如图61所示的分组交织器。其中,所述4条通道数据流中,2条通道数据流来自通道数据流0-通道数据流15中的两条,另2条通道数据流来自通道数据流16-通道数据流31中的两条。分组交织器从所述4条通道数据流各取a=2个连续的符号共8个符号,然后映射为所述第一数据流中连续的D=80个比特,即d=8个符号。其中,分组交织得到的1条第一数据流中上述每连续的d=8个符号来自至少v=4个不同的码字;且每连续的L2=272个符号来自至少v=4的不同的码字。进一步有分组交织得到的1条第一数据流中上述每连续的d=8个符号中的每连续的4个符号来自4个不同的RS码字,即每连续8个符号中的第0个符号到第3个符号分别来自不同的RS码字,第4个符号到第7个符号分别来自不同的RS码字。一种具体实现方式是,分组交织器i对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流、第2*i+17条通道数据流进行分组交织得到1条第一数据流,总共得到m=8条第一数据流,0≤i≤7。
分组交织的一种具体交织方式为:从第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流、第2*i+17条通道数据流(0≤i<8)各取a=2个连续的符号共8个符号,然后交织为第一数据流i中连续的D=80个比特,即d=8个符号。一种具体实施方式为,上述第一数据流i中连续的8个符号中,第0和第1个符合来自第2*i条通道数据流,第2和第3个符号来自第2*i+16条通道数据流,第4和第5个符号来自第2*i+1条通道数据流,第6和第7个符号来自第2*i+17条通道数据流。
图62为本申请实施例中分组交织的再一种应用场景示意图。需要说明的是,所述分组交织也可采用如图62所示的符号复用(symbol-mux)实现,其中表示第2*i条通道数据流中第j组连续的2个符号,表示第2*i+16条通道数据流中第j组连续的2个符号,表示第2*i+1条通道数据流中第j组连续的2个符号,表示第2*i+17条通道数据流中第j组连续的2个符号,j≥0,且在复用得到的第一数据流中连续。即经过4:1符号复用后第一数据流i的数据顺序为其中0≤i≤7。
需要说明的是,上述4:1符号复用(symbol-mux)也可以采用多级符号复用进行实现,如先将第2*i条通道数据流和第2*i+16条通道数据流进行复用得到第一复用数据流,第2*i+1条通道数据流和第2*i+17条通道数据流进行2:1符号复用得到第二复用数据流,然后将上述第一复用数据流和第一复用数据流进行2:1符号复用得到第一数据流i。
实施方式8:在实施方式7基础上,本实施方式8提供了分组交织的另一种具体实现方 式。
从第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流、第2*i+17条通道数据流(0≤i<8)各获取a=2个连续的符号共8个符号,然后交织为第一数据流i中连续的D=80个比特,即d=8个符号。在一些具体应用场景下,通道数据对齐处理是基于2个RS符号对齐处理。此时,上述第2*i条通道数据流所获取的2个连续符号中的第0个符号、第2*i+1条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第2*i条通道数据流所获取的2个连续符号中的第1个符号、第2*i+1条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字;上述第2*i+16条通道数据流所获取的2个连续符号中的第0个符号、第2*i+17条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第2*i+16条通道数据流所获取的2个连续符号中的第1个符号、第2*i+17条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字。
图63为本申请实施例中分组交织的再一种应用场景示意图。结合上述特征,分组交织的另一种具体实施方式如图63的(a)示例所示,上述的第一数据流i中连续的8个符号中,第0和第4个符合来自第2*i条通道数据流,第1和第5个符号来自第2*i+16条通道数据流,第2和第6个符号来自第2*i+1条通道数据流,第3和第7个符号来自第2*i+17条通道数据流。需要说明的是,上述实现方式,等价于,从所述4条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续4个符号,其中所述的第一数据流i中连续的4个符号中,第0个符号来自第2*i条通道数据流,第1个符号来自第2*i+16条通道数据流,第2个符号来自第2*i+1条通道数据流,第3个符号来自第2*i+17条通道数据流。
分组交织的再一种具体实施方式如图63的(b)示例所示,上述的第一数据流i中连续的8个符号中,第0和第4个符号来自第2*i条通道数据流,第1和第5个符号来自第2*i+1条通道数据流,第2和第6个符号来自第2*i+16条通道数据流,第3和第7个符号来自第2*i+17条通道数据流。需要说明的是,上述实现方式,等价于,从所述4条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续4个符号,其中所述的第一数据流i中连续的4个符号中,第0个符合来自第2*i条通道数据流,第1个符号来自第2*i+1条通道数据流,第2个符号来自第2*i+16条通道数据流,第3个符号来自第2*i+17条通道数据流。
需要说明的是,所述分组交织也可采用符号复用(symbol-mux)实现。符号复用从4条通道数据流中分别获取1个符号,其中表示第2*i条通道数据流中第j个符号,表示第2*i+16条通道数据流中第j个符号,表示第2*i+1条通道数据流中第j个符号,表示第2*i+17条通道数据流中第j个符号,j≥0,且在4:1符号复用得到的第一数据流中连续。即经过4:1符号复用后第一数据流i的数据顺序为其中0≤i≤7。其中 来自4个不同的RS码字。另一种具体的符号复用是符号复用从4条通道数据流中分别获取1个符号,在4:1符号复用得到的第一数据流中连续。即经过4:1符号复用后第一数据流i的数据顺序为其中0≤i≤7。
实施方式9:以n=32为例,32条通道数据流中位于奇数通道的16条通道数据流来自相 同的码字,32条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。即通道数据流2*i共16条通道数据流来自相同的码字,通道数据流2*i+1共16条通道数据流来自相同的码字,0≤i<16。
图64为本申请实施例中分组交织的再一种应用场景示意图。如图64所示的1个分组交织器用于对4条通道数据流进行分组交织得到1条第一数据流,分组交织共需要用到8个如图64所示的分组交织器。其中,所述4条通道数据流中,2条通道数据流来自通道数据流0-通道数据流31中的两条奇数通道数据流,另2条通道数据流来自通道数据流0-通道数据流31中的两条偶数通道数据流。分组交织器从所述4条通道数据流各取a=2个连续的符号共8个符号,然后映射为所述第一数据流中连续的D=80个比特,即d=8个符号。其中,分组交织得到的1条第一数据流中上述每连续的d=8个符号来自至少v=4个不同的码字;且每连续的L2=272个符号来自至少v=4个不同的码字。进一步有分组交织得到的1条第一数据流中上述每连续的d=8个符号中的每连续的4个符号来自4个不同的RS码字,即每连续8个符号中的第0个符号到第3个符号分别来自不同的RS码字,第4个符号到第7个符号分别来自不同的RS码字。一种具体实现方式是,分组交织器i对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流进行分组交织得到1条第一数据流,总共得到m=8条第一数据流,0≤i≤7。
分组交织的一种具体交织方式为:从第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流(0≤i<8)各取a=2个连续的符号共8个符号,然后交织为第一数据流i中连续的D=80个比特,即d=8个符号。一种具体实施方式为,上述第一数据流i中连续的8个符号中,第0和第1个符合来自第4*i条通道数据流,第2和第3个符号来自第4*i+1条通道数据流,第4和第5个符号来自第4*i+2条通道数据流,第6和第7个符号来自第4*i+3条通道数据流。
图65为本申请实施例中分组交织的再一种应用场景示意图。需要说明的是,所述分组交织也可采用如图65所示的符号复用(symbol-mux)实现,其中表示第4*i条通道数据流中第j组连续的2个符号,表示第4*i+1条通道数据流中第j组连续的2个符号,表示第4*i+2条通道数据流中第j组连续的2个符号,表示第4*i+3条通道数据流中第j组连续的2个符号,j≥0,且在复用得到的第一数据流中连续。即经过4:1符号复用后第一数据流i的数据顺序为其中0≤i≤7。
需要说明的是,上述4:1符号复用(symbol-mux)也可以采用多级符号复用进行实现,如先将第4*i条通道数据流和第4*i+1条通道数据流进行复用得到第一复用数据流,第4*i+2条通道数据流和第4*i+3条通道数据流进行2:1符号复用得到第二复用数据流,然后将上述第一复用数据流和第一复用数据流进行2:1符号复用得到第一数据流i。
实施方式10:在实施方式9基础上,本实施方式10提供了分组交织的另一种具体实现 方式。
从第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流(0≤i<8)各获取a=2个连续的符号共8个符号,然后交织为第一数据流i中连续的D=80个比特,即d=8个符号。在一些具体应用场景下,通道数据对齐处理是基于2个RS符号对齐处理。此时,上述第4*i条通道数据流所获取的2个连续符号中的第0个符号与第4*i+2条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第4*i条通道数据流所获取的2个连续符号中的第1个符号与第4*i+2条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字;上述第4*i+1条通道数据流所获取的2个连续符号中的第0个符号与第4*i+3条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第4*i+1条通道数据流所获取的2个连续符号中的第1个符号与第4*i+3条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字。
图66为本申请实施例中分组交织的再一种应用场景示意图。结合上述特征,分组交织的另一种具体实施方式如图66的(a)示例所示,上述的第一数据流i中连续的8个符号中,第0和第4个符合来自第4*i条通道数据流,第1和第5个符号来自第4*i+1条通道数据流,第2和第6个符号来自第4*i+2条通道数据流,第3和第7个符号来自第4*i+3条通道数据流。需要说明的是,上述实现方式,等价于,从所述4条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续4个符号,其中所述的第一数据流i中连续的4个符号中,第0个符号来自第4*i条通道数据流,第1个符号来自第4*i+1条通道数据流,第2个符号来自第4*i+2条通道数据流,第3个符号来自第4*i+3条通道数据流。
分组交织的再一种具体实施方式如图66的(b)示例所示,上述的第一数据流i中连续的8个符号中,第0和第4个符号来自第4*i条通道数据流,第1和第5个符号来自第4*i+2条通道数据流,第2和第6个符号来自第4*i+1条通道数据流,第3和第7个符号来自第4*i+3条通道数据流。需要说明的是,上述实现方式,等价于,从所述4条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续4个符号,其中所述的第一数据流i中连续的4个符号中,第0个符合来自第4*i条通道数据流,第1个符号来自第4*i+2条通道数据流,第2个符号来自第4*i+1条通道数据流,第3个符号来自第4*i+3条通道数据流。
需要说明的是,所述分组交织也可采用符号复用(symbol-mux)实现。符号复用从4条通道数据流中分别获取1个符号,其中表示第4*i条通道数据流中第j个符号,表示第4*i+1条通道数据流中第j个符号,表示第4*i+2条通道数据流中第j个符号,表示第4*i+3条通道数据流中第j个符号,j≥0,且在4:1符号复用得到的第一数据流中连续。即经过4:1符号复用后第一数据流i的数据顺序为其中0≤i≤7。其中来自4个不同的RS码字。另一种具体的符号复用是符号复用从4条通道数据流中分别获取1个符号,在4:1符号复用得到的第一数据流中连续。即经过4:1符号复用后第一数据流i的数据顺序为其中0≤i≤7。
需要说明的是,在一些具体实施场景下,发送设备01发送的1*800GE业务的时候,32个PCS通道数据流在进行PMA4:1复用后通过通道连接单元接口AUI送到发端处理模块。在进行上述PMA4:1复用时,4条输入数据流中2条来自第0-15条PCS通道数据流中的2条,另2条来自第16-31条PCS通道数据流中的2条。在发端处理模块的数据处理时,可结合上述“PMA4:1复用时,4条输入数据流中2条来自第0-15条PCS通道数据流中的2条,另2条来自第16-31条PCS通道数据流中的2条”特征,先进行de-mux后恢复出32个PCS通道数据流,其中每条物理通道数据流解复用de-mux得到4条PCS通道数据流,然后利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock);接着不需进行通道重排序,直接将上述物理通道数据流解复用de-mux得到的4条PCS通道数据流进行实施方式7或实施方式8或实施方式9或实施方式10所述的分组交织(或符号复用),将4条通道数据流进行分组交织(或符号复用)得到1条第一数据流,使得所述第一数据流中连续的8个符号来自至少4个RS码字;其具体实现方式可参照图61或图62或图63或图64或图65或图66,其具体实现方式本领域普通技术人员可知,此处不再赘述。
实施方式11:以n=32为例,32条通道数据流中通道数据流0-通道数据流15共16条通道数据流来自相同的码字,32条通道数据流中通道数据流16-通道数据流31共16条通道数据流来自相同的码字,通道数据流0-通道数据流15和通道数据流16-通道数据流31来自不同的码字。更具体的是,参照图5进行理解,对于通道数据流0到15,每条通道数据流中的34个符号,总共544个符号来自相同的RS码字;且对于通道数据流0到15,每条通道数据流中的连续68个符号,总共1088个符号来自2个RS码字。类似的,对于通道数据流16到31,每条通道数据流中的34个符号,总共544个符号来自相同的RS码字;且对于通道数据流16到31,每条通道数据流中的连续68个符号,总共1088个符号来自另外2个RS码字。
图67为本申请实施例中分组交织的再一种应用场景示意图。如图67所示的1个分组交织器用于对8条通道数据流进行分组交织得到1条第一数据流,分组交织共需要用到4个如图67所示的分组交织器。其中,所述8条通道数据流中,4条通道数据流来自通道数据流0-通道数据流15中的4条,另4条通道数据流来自通道数据流16-通道数据流31中的4条。分组交织器从所述8条通道数据流各取a=2个连续的符号共16个符号,然后映射为所述第一数据流中连续的D=160个比特,即d=16个符号。其中,分组交织得到的1条第一数据流中每连续的d=16个符号来自至少v=4个不同的码字,且每连续的L2=544个符号来自至少v=4的不同的码字。进一步有分组交织得到的1条第一数据流中上述每连续的d=16个符号中的每连续的4个符号来自4个不同的RS码字,即每连续16个符号中的第0个符号到第3个符号分别来自不同的RS码字,第4个符号到第7个符号分别来自不同的RS码字,第8个符号到第11个符号分别来自不同的RS码字,第12个符号到第15个符号分别来自不同的RS码字。一种具体实现方式是,分组交织器i对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流、第4*i+19条通道数据流进行分组交织得到1条第一数据流,总共 得到m=4条第一数据流,0≤i≤3。
分组交织的一种具体交织方式为:从第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流、第4*i+19条通道数据流(0≤i<3)各获取a=2个连续的符号共16个符号,然后交织为第一数据流i中连续的16个符号。一种具体实施方式为,第一数据流i中连续的16个符号中,第0和第1个符号来自第4*i条通道数据流,第2和第3个符号来自第4*i+16条通道数据流,第4和第5个符号来自第4*i+1条通道数据流,第6和第7个符号来自第4*i+17条通道数据流,第8和第9个符号来自第4*i+2条通道数据流,第10和第11个符号来自第4*i+18条通道数据流,第12和第13个符号来自第4*i+3条通道数据流,第14和第15个符号来自第4*i+19条通道数据流。
图68为本申请实施例中分组交织的再一种应用场景示意图。需要说明的是,所述分组交织也可采用如图68所示的符号复用(symbol-mux)实现,其中表示第4*i条通道数据流中第j组连续的2个符号,表示第4*i+16条通道数据流中第j组连续的2个符号,表示第4*i+1条通道数据流中第j组连续的2个符号,表示第4*i+17条通道数据流中第j组连续的2个符号,表示第4*i+2条通道数据流中第j组连续的2个符号,表示第4*i+18条通道数据流中第j组连续的2个符号,表示第4*i+3条通道数据流中第j组连续的2个符号,表示第4*i+19条通道数据流中第j组连续的2个符号,j≥0,且在复用得到的第一数据流i中连续。即经过8:1符号复用后第一数据流i的数据顺序为其中0≤i≤3。
需要说明的是,上述8:1符号复用(symbol-mux)也可以采用多级符号复用进行实现,比如采用3级的2:1符号复用。
实施方式12:在实施方式11基础上,本实施方式12提供了分组交织的另一种具体实现方式。
从第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流、第4*i+19条通道数据流(0≤i<3)各获取a=2个连续的符号共16个符号,然后交织为第一数据流i中连续的16个符号。在一些具体应用场景下,通道数据对齐处理是基于2个RS符号对齐处理。此时,上述第4*i条通道数据流所获取的2个连续符号中的第0个符号、第4*i+1条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第4*i条通道数据流所获取的2个连续符号中的第1个符号、第4*i+1条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字;第4*i+2条通道数据流所获取的2个连续符号中的第0个符号、第4*i+3条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第4*i+2条通道数据流所获取的2个连续符号中的第1个符号、第4*i+3条通道数据流所获取的2个连 续符号中的第1个符号来自不同RS码字;上述第4*i+16条通道数据流所获取的2个连续符号中的第0个符号、第4*i+17条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第4*i+16条通道数据流所获取的2个连续符号中的第1个符号、第4*i+17条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字;第4*i+18条通道数据流所获取的2个连续符号中的第0个符号、第4*i+19条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第4*i+18条通道数据流所获取的2个连续符号中的第1个符号、第4*i+19条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字。
图69为本申请实施例中分组交织的再一种应用场景示意图。结合上述特征,分组交织的另一种具体实施方式如图69中的(a)示例所示,上述的第一数据流i中连续的16个符号中,第0和第8个符号来自第4*i条通道数据流,第1和第9个符号来自第2*i+16条通道数据流,第2和第10个符号来自第4*i+1条通道数据流,第3和第11个符号来自第4*i+17条通道数据流,第4和第12个符号来自第4*i+2条通道数据流,第5和第13个符号来自第4*i+18条通道数据流,第6和第14个符号来自第4*i+3条通道数据流,第7和第15个符号来自第4*i+19条通道数据流。需要说明的是,上述实现方式,等价于,从所述8条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续8个符号,其中所述的第一数据流i中连续的8个符号中,第0个符号来自第4*i条通道数据流,第1个符号来自第4*i+16条通道数据流,第2个符号来自第4*i+1条通道数据流,第3个符号来自第4*i+17条通道数据流,第4个符号来自第4*i+2条通道数据流,第5个符号来自第4*i+18条通道数据流,第6个符号来自第4*i+3条通道数据流,第7个符号来自第4*i+19条通道数据流。
分组交织的再一种具体实施方式如图69中的(b)示例所示,上述的第一数据流i中连续的16个符号中,第0和第8个符号来自第4*i条通道数据流,第1和第9个符号来自第4*i+1条通道数据流,第2和第10个符号来自第4*i+16条通道数据流,第3和第11个符号来自第4*i+17条通道数据流,第4和第12个符号来自第4*i+2条通道数据流,第5和第13个符号来自第4*i+3条通道数据流,第6和第14个符号来自第4*i+18条通道数据流,第7和第15个符号来自第4*i+19条通道数据流。需要说明的是,上述实现方式,等价于,从所述8条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续8个符号,其中所述的第一数据流i中连续的8个符号中,第0个符号来自第4*i条通道数据流,第1个符号来自第4*i+1条通道数据流,第2个符号来自第4*i+16条通道数据流,第3个符号来自第4*i+17条通道数据流,第4个符号来自第4*i+2条通道数据流,第5个符号来自第4*i+3条通道数据流,第6个符号来自第4*i+18条通道数据流,第7个符号来自第4*i+19条通道数据流。
需要说明的是,所述分组交织也可采用符号复用(symbol-mux)实现。符号复用从8条通道数据流中分别获取1个符号,其中表示第4*i条通道数据流中第j个符号,表示第4*i+16条通道数据流中第j个符号,表示第4*i+1条通道数据流中第j个符号,表示第4*i+17条通道数据流中第j个符号,表示第4*i+2条通道数据流中第j个符号,表示第4*i+18条通道数据流中第j个符号,表示第4*i+3条通道数据流中第j个符号,表示第4*i+19条通道数据流中第j个符号,j≥0,且 在8:1符号复用得到的第一数据流中连续。即经过8:1符号复用后第一数据流i的数据顺序为
其中0≤i≤3。其中来自4个不同的RS码字,来自4个不同的RS码字。另一种具体的符号复用是符号复用从8条通道数据流中分别获取1个符号,在在8:1符号复用得到的第一数据流中连续。即经过8:1符号复用后第一数据流i的数据顺序为 其中0≤i≤3。
实施方式13:以n=32为例,32条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,32条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。即通道数据流2*i共16条通道数据流来自相同的码字,通道数据流2*i+1共16条通道数据流来自相同的码字,0≤i<16。
图70为本申请实施例中分组交织的再一种应用场景示意图。如图70所示的1个分组交织器用于对8条通道数据流进行分组交织得到1条第一数据流,分组交织共需要用到4个如图70所示的分组交织器。其中,所述8条通道数据流中,4条通道数据流来自通道数据流0-通道数据流31中的4条奇数通道数据流,另4条通道数据流来自通道数据流0-通道数据流31中的4条偶数通道数据流。分组交织器从所述8条通道数据流各取a=2个连续的符号共16个符号,然后映射为所述第一数据流中连续的D=160个比特,即d=16个符号。其中,分组交织得到的1条第一数据流中每连续的d=16个符号来自至少v=4个不同的码字,且每连续的L2=544个符号来自至少v=4的不同的码字。进一步有分组交织得到的1条第一数据流中上述每连续的d=16个符号中的每连续的4个符号来自4个不同的RS码字,即每连续16个符号中的第0个符号到第3个符号分别来自不同的RS码字,第4个符号到第7个符号分别来自不同的RS码字,第8个符号到第11个符号分别来自不同的RS码字,第12个符号到第15个符号分别来自不同的RS码字。一种具体实现方式是,分组交织器i对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流进行分组交织得到1条第一数据流,总共得到m=4条第一数据流,0≤i≤3。
分组交织的一种具体交织方式为:从第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流(0≤i<3)各获取a=2个连续的符号共16个符号,然后交织为第一数据流i中连续的16个符号。一种具体实施方式为,第一数据流i中连续的16个符号中,第0和第1个符号来自第8*i条通道数据流,第2和第3个符号来自第8*i+1条通道数据流,第4和第5个符号来自第8*i+2条通道数据流,第6和第7 个符号来自第8*i+3条通道数据流,第8和第9个符号来自第8*i+4条通道数据流,第10和第11个符号来自第8*i+5条通道数据流,第12和第13个符号来自第8*i+6条通道数据流,第14和第15个符号来自第8*i+7条通道数据流。
图71为本申请实施例中分组交织的再一种应用场景示意图。需要说明的是,所述分组交织也可采用如图71所示的符号复用(symbol-mux)实现,其中表示第8*i条通道数据流中第j组连续的2个符号,表示第8*i+1条通道数据流中第j组连续的2个符号,表示第8*i+2条通道数据流中第j组连续的2个符号,表示第8*i+3条通道数据流中第j组连续的2个符号,表示第8*i+4条通道数据流中第j组连续的2个符号,表示第8*i+5条通道数据流中第j组连续的2个符号,表示第8*i+6条通道数据流中第j组连续的2个符号,表示第8*i+7条通道数据流中第j组连续的2个符号,j≥0,且 在复用得到的第一数据流i中连续。即经过8:1符号复用后第一数据流i的数据顺序为 其中0≤i≤3。
需要说明的是,上述8:1符号复用(symbol-mux)也可以采用多级符号复用进行实现,比如采用3级的2:1符号复用。
实施方式14:在实施方式13基础上,本实施方式14提供了分组交织的另一种具体实现方式。
从第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流(0≤i<3)各获取a=2个连续的符号共16个符号,然后交织为第一数据流i中连续的16个符号。在一些具体应用场景下,通道数据对齐处理是基于2个RS符号对齐处理。此时,上述第8*i条通道数据流所获取的2个连续符号中的第0个符号与第8*i+2条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第8*i条通道数据流所获取的2个连续符号中的第1个符号、第8*i+2条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字;第8*i+1条通道数据流所获取的2个连续符号中的第0个符号与第8*i+3条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第8*i+1条通道数据流所获取的2个连续符号中的第1个符号、第8*i+3条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字;第8*i+4条通道数据流所获取的2个连续符号中的第0个符号与第8*i+6条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第8*i+4条通道数据流所获取的2个连续符号中的第1个符号、第8*i+6条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字;第8*i+5条通道数据流所获取的2个连续符号中的第0个符号与第8*i+7条通道数据流所获取的2个连续符号中的第0个符号来自不同RS码字,第8*i+5条通道数据流所获取的2个连续符号中的第1个符号、第8*i+7条通道数据流所获取的2个连续符号中的第1个符号来自不同RS码字。
图72为本申请实施例中分组交织的再一种应用场景示意图。结合上述特征,分组交织的另一种具体实施方式如图72中的(a)示例所示,上述的第一数据流i中连续的16个符号中,第0和第8个符号来自第8*i条通道数据流,第1和第9个符号来自第8*i+1条通道数据流,第2和第10个符号来自第8*i+2条通道数据流,第3和第11个符号来自第8*i+3条通道数据流,第4和第12个符号来自第8*i+4条通道数据流,第5和第13个符号来自第8*i+5条通道数据流,第6和第14个符号来自第8*i+6条通道数据流,第7和第15个符号来自第8*i+7条通道数据流。需要说明的是,上述实现方式,等价于,从所述8条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续8个符号,其中所述的第一数据流i中连续的8个符号中,第0个符号来自第8*i条通道数据流,第1个符号来自第8*i+1条通道数据流,第2个符号来自第8*i+2条通道数据流,第3个符号来自第8*i+3条通道数据流,第4个符号来自第8*i+4条通道数据流,第5个符号来自第8*i+5条通道数据流,第6个符号来自第8*i+6条通道数据流,第7个符号来自第8*i+7条通道数据流。
分组交织的再一种具体实施方式如图72中的(b)示例所示,上述的第一数据流i中连续的16个符号中,第0和第8个符号来自第8*i条通道数据流,第1和第9个符号来自第8*i+2条通道数据流,第2和第10个符号来自第8*i+1条通道数据流,第3和第11个符号来自第8*i+3条通道数据流,第4和第12个符号来自第8*i+4条通道数据流,第5和第13个符号来自第8*i+6条通道数据流,第6和第14个符号来自第8*i+5条通道数据流,第7和第15个符号来自第8*i+7条通道数据流。需要说明的是,上述实现方式,等价于,从所述8条通道数据流中分别获取1个符号,进行交织得到数据流i中的连续8个符号,其中所述的第一数据流i中连续的8个符号中,第0个符号来自第8*i条通道数据流,第1个符号来自第8*i+2条通道数据流,第2个符号来自第8*i+1条通道数据流,第3个符号来自第8*i+3条通道数据流,第4个符号来自第8*i+4条通道数据流,第5个符号来自第8*i+6条通道数据流,第6个符号来自第8*i+5条通道数据流,第7个符号来自第8*i+7条通道数据流。
需要说明的是,所述分组交织也可采用符号复用(symbol-mux)实现,其中表示第8*i条通道数据流中第j个符号,表示第8*i+1条通道数据流中第j个符号,表示第8*i+2条通道数据流中第j个符号,表示第8*i+3条通道数据流中第j个符号,表示第8*i+4条通道数据流中第j个符号,表示第8*i+5条通道数据流中第j个符号,表示第8*i+6条通道数据流中第j个符号,表示第8*i+7条通道数据流中第j个符号,j≥0,且在复用得到的第一数据流i中连续。即经过8:1符号复用后第一数据流i的数据顺序为 其中0≤i≤3。另一种具体的符号复用是符号复用从8条通道数据流中分别获取1个符号, 在8:1符号复用得到的第一数据流中连续。即经过8:1符号复用后第一数据流i的数据顺序为 其中0≤i≤3。
需要说明的是,在一些具体实施场景下,发送设备01发送的1*800GE业务的时候,32个PCS通道数据流在进行PMA4:1复用后通过通道连接单元接口AUI送到发端处理模块。在进行上述PMA4:1复用时,4条输入数据流中2条来自第0-15条PCS通道数据流中的2条,另2条来自第16-31条PCS通道数据流中的2条。在发端处理模块的数据处理时,可结合上述“PMA4:1复用时,4条输入数据流中2条来自第0-15条PCS通道数据流中的2条,另2条来自第16-31条PCS通道数据流中的2条”特征,先进行de-mux后恢复出32个PCS通道数据流,其中每条物理通道数据流解复用de-mux得到4条PCS通道数据流,然后利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock);接着不需进行通道重排序,直接将上述两条物理通道数据流解复用de-mux得到的8条PCS通道数据流进行实施方式11或者实施列12或者实施列13或者实施列14所述的分组交织(或符号复用),将8条通道数据流进行分组交织(或符号复用)得到1条第一数据流,使得所述第一数据流中连续的16个符号来自至少4个RS码字;其具体实现方式可参照图67或68或69或70或者71或者72,其具体实现方式本领域普通技术人员可知,此处不再赘述。
5102、对m条第一数据流分别进行卷积交织得到m条第二数据流。
图73为本申请实施例中对m条第一数据流分别进行卷积交织的一种结构示意图。如图73所示,可以通过m个卷积交织器分别对m条第一数据流进行卷积交织。每个卷积交织器分别对输入的第一数据流以d个符号为单位进行卷积交织处理,得到数据顺序打乱的第二数据流,其中d个符号为分组交织器进行一次分组交织交织操作得到d个符号,d=D/M。
需要说明的是,在本实施例中,每个卷积交织器都采用类似的方式对输入的第一数据流进行卷积交织。具体地,每个卷积交织器包括p条延迟线(delay line),每个卷积交织器根据p条延迟线对输入的第一数据流进行延迟得到第二数据流。其中,p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q。每个存储单元用于存储d个符号。每条通道数据流中的符号按照p条延迟线的序号依次输入到p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第二数据流中连续的p*d个符号包括每条延迟线输出的d个符号。其中,Q为大于或等于1的整数。例如,p条延迟线分别包括0个存储单元、Q个存储单元、2Q个存储单元、…、(p-1)Q个存储单元,每个存储单元用于存储d个符号,那么,p条延迟线分别对应p个延迟取值,延迟取值包括0个符号、Q×d个符号、2Q×d个符号、…、(p-1)Q×d个符号。应理解,延迟线的延迟取值所包括的符号数量越多,就说明这条延迟线对数据流的延迟(也称为时延)越长。应理解,当延迟线没有包含存储单元时,延迟线的延迟为0个符号,即为无延迟透传。
需要说明的是,在同一个时刻,卷积交织器输入和输出的开关(switch)位于同一条延迟线上,待当前的延迟线单次输入d个符号并输出d符号后,再将开关切换到下一条延迟线上,以保证每条通道数据流中的符号按照p条延迟线的序号依次输入到p条延迟线,且第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号。其具体数据读出写入操作如下: 从当前延迟线最靠近输出端口的存储单元读出d个符号。将当前延迟线中每个存储单元存储的d个符号转移至后一个存储单元。再将d个符号写入当前延迟线中最靠近输入端口的存储单元。之后,切换到下一条延迟线并重复上述操作,依次类推。
在一种可能的实施方式中,卷积交织器的结构如上述图12(a)所示,p条延迟线中存储单元的数量按照p条延迟线的序号依次递减。即延迟线0具有(p-1)Q个存储单元,每一条延迟线依次减少Q个存储单元,延迟线p-1具有0个存储单元。在该示例中,d(p*Q+1)≥L2,L2=t/s*L1,使得卷积交织器r输出的第二数据流r中连续的d*p个符号最多来自不同的v*p个码字,0≤r≤m-1。
在另一种可能的实施方式中,卷积交织器的结构如上述图12(b)所示,p条延迟线中存储单元的数量按照p条延迟线的序号依次递增。即延迟线0具有0个存储单元,每一条延迟线依次增加Q个存储单元,延迟线p-1具有(p-1)Q个存储单元。在该示例中,d(p*Q-1)≥L2,L2=t/s*L1,使得卷积交织器r输出的第二数据流r中连续的d*p个符号最多来自不同的v*p个码字,0≤r≤n-1。
应理解,当采用相同的参数p、Q和d时,图12(a)的卷积交织处理和图12(b)的卷积交织处理相互是对方的逆操作。也就是说,当发端处理模块采用图12(a)所示的卷积交织结构,其收端处理模块对应的卷积解交织采用如图图12(b)所示的结构。同理,当发端处理模块采用图12(b)所示的卷积交织结构,其收端处理模块对应的卷积解交织采用如图12(a)所示的结构。
还应理解,n个卷积交织器中的任一个卷积交织器可以采用上述图12(a)或图12(b)中的一种。在实际应用中,n个卷积交织器可以均采用图12(a)所示的结构;或者,n个卷积交织器也可以均采用图12(b)所示的结构;又或者,也可以部分的卷积交织器采用图12(a)所示的结构,剩余部分的卷积交织器采用图12(b)所示的结构。
为了便于介绍,下文中涉及卷积交织的实施例均以n个卷积交织器采用如图12(a)所示结构为例进行说明,当然可以简单扩展到上述列举的其他结构,其具体实现方式本领域普通技术人员可知,此处不再赘述。下面介绍几种卷积交织的具体实施例。
实施例1:实施例1提供的卷积交织是在上述步骤5101中实施方式1提供的分组交织的基础上实现的。
图74为本申请实施例中卷积交织器的一种实施例示意图。如图74所示,卷积交织器包含p=3条延迟线(delay line)。这p=3条延迟线分别包括2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=4个符号(40bits)。也就是延迟线0的延迟取值为8Q个符号,延迟线1的延迟取值为4Q个符号,延迟线2的延迟取值为0个符号即无延迟。
如图74所示的Cr()表示第一数据流r(0≤r≤m-1)中一个符号(10bits)。比如,Cr(12t),Cr(12t+1),Cr(12t+2),Cr(12t+3)表示第一数据流r当前输入给延迟线0的4个符号且Cr(12t-24Q),Cr(12t-24Q+1),Cr(12t-24Q+2),Cr(12t-24Q+3)为延迟线0输出的4个符号;Cr(12t+4),Cr(12t+5),Cr(12t+6),Cr(12t+7)表示第一数据流r接下来输入给延迟线1的4个符号且Cr(12t-12Q+4),Cr(12t-12Q+5),Cr(12t-12Q+6), Cr(12t-12Q+7)为延迟线1输出的4个符号;Cr(12t+8),Cr(12t+9),Cr(12t+10),Cr(12t+11表示第一数据流r再接下来输入给延迟线2的4个符号且Cr(12t+8),Cr(12t+9),Cr(12t+10),Cr(12t+11)为延迟线2输出的4个符号;Cr(12t+12),Cr(12t+13),Cr(12t+14),Cr(12t+15)表示第一数据流r再随后输入给延迟线0的4个符号且Cr(12t-24Q+12),Cr(12t-24Q+13),Cr(12t-24Q+14),Cr(12t-24Q+15)为延迟线0输出的4个符号,依次类推。结合第一数据流中RS分布规则,则当d(pQ+1)≥136即Q≥11时,卷积交织输出的Cr(12t-24Q),Cr(12t-24Q+1),Cr(12t-24Q+2),Cr(12t-24Q+3),Cr(12t-12Q+4),Cr(12t-12Q+5),Cr(12t-12Q+6),Cr(12t-12Q+7),Cr(12t+8),Cr(12t+9),Cr(12t+10),Cr(12t+11)总共12个符号来自12个不同的RS码字。
在一种可能的实施方式中,图75为本申请实施例中卷积交织器的另一种实施例示意图。如图75所示,在上述图74所示实施例的基础上选取Q=11,其对应的交织时延约为22*4*3/2=132个RS符号,其等效在1*800GE业务时交织和解交织总时延为50ns。
实施例2:本实施例为在实施例1的基础采用新设计的卷积交织器,从而得到一种更低时延但纠错性能次优的方案。
图76为本申请实施例中卷积交织器的另一种实施例示意图。如图76所示,卷积交织器包含p=2条延迟线(delay line)。这p=2条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储d=4个符号(40bits)。也就是延迟线0的延迟取值为4Q个符号,延迟线1的延迟取值为0个符号即无延迟。
如图76所示的Cr()表示第一数据流r(0≤r≤m-1)中一个符号(10bits)。比如,Cr(8t),Cr(8t+1),Cr(8t+2),Cr(8t+3)表示第一数据流r当前输入给延迟线0的4个符号(40bits)且Cr(8t-8Q),Cr(8t-8Q+1),Cr(8t-8Q+2),Cr(8t-8Q+3)为延迟线0输出的4个符号;Cr(8t+4),Cr(8t+5),Cr(8t+6),Cr(8t+7)表示第一数据流r中接下来输入给延迟线1的4个符号且Cr(8t+4),Cr(8t+5),Cr(8t+6),Cr(8t+7)为延迟线1输出的个RS符号;Cr(8t+8),Cr(8t+9),Cr(8t+10),Cr(8t+11)表示第一数据流r中再接下来输入给延迟线0的4个符号且Cr(8t-8Q+8),Cr(8t-8Q+9),Cr(8t-8Q+10),Cr(8t-8Q+11)为延迟线0输出的4个RS符号;依次类推。结合第一数据流中RS分布规则,则当d(pQ+1)≥136即Q≥17时,卷积交织输出的Cr(8t-8Q),Cr(8t-8Q+1),Cr(8t-8Q+2),Cr(8t-8Q+3),Cr(8t+4),Cr(8t+5),Cr(8t+6),Cr(8t+7)总共8个符号来自8个不同的RS码字。
在一种可能的实施方式中,图77为本申请实施例中卷积交织器的另一种实施例示意图。如图77所示,在上述图76所示实施例的基础上选取Q=17,其对应的交织时延约为17*4*2/2=68个RS符号,其等效在1*800GE业务交织和解交织总时延为约26ns。
实施例3:实施例3提供的卷积交织是在上述步骤5101中实施方式2提供的分组交织的基础上实现的。
图78为本申请实施例中卷积交织器的另一种实施例示意图。如图78所示,卷积交织器 包含p=3条延迟线(delay line)。这p=3条延迟线分别包括2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号。也就是,延迟线0的延迟取值为4Q个符号,延迟线1的延迟取值为2Q个符号,延迟线2的延迟取值为0个符号即无延迟。
如图78所示的Sr()表示第一数据流r(0≤r≤m-1)中连续的2个符号共20比特,且此20比特本实施例给出的分组交织模块进行一次分组交织操作得到的20比特。卷积交织的过程为Sr(3t)表示第一数据流r当前输入给延迟线0的2个符号且Sr(3t-6Q)为延迟线0输出的2个RS符号;Sr(3t+1)表示第一数据流r当前输入给延迟线1的2个符号且Sr(3t-3Q+1为延迟线1输出的2个符号;Sr(3t+2)表示第一数据流r当前输入给延迟线2的2个符号且Sr(3t+2)为延迟线2输出的2个符号;Sr(3t+3)表示第一数据流r当前输入给延迟线0的2个符号且Sr(3t-6Q+3)为延迟线0输出的2个符号;依次类推。结合第一数据流中RS分布规则,则当d(pQ+1)≥68即Q≥11时,卷积交织连续输出的Sr(3t-6Q),Sr(3t-3Q+1),Sr(3t+2),Sr(3t-6Q+3),Sr(3t-3Q+4),Sr(3t+5)总共12个符号来自12个不同的RS码字。
在一种可能的实施方式中,图79为本申请实施例中卷积交织器的另一种实施例示意图。如图79所示,在上述图78所示实施例的基础上选取Q=11,其对应的交织时延约为22*2*3/2=66个RS符号,其等效在1*800GE业务交织和解交织总时延为50ns。
实施例4:本实施例为在实施例2的基础采用新设计的卷积交织器。
图80为本申请实施例中卷积交织器的另一种实施例示意图。如图80所示,卷积交织器包含p=6条延迟线(delay line)。这p=6条延迟线分别包括5Q个存储单元、4Q个存储单元、3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=2个符号(20bits)。也就是,延迟线0的延迟取值为10Q个符号,延迟线1的延迟取值为8Q个符号,延迟线2的延迟取值为6Q个符号,延迟线3的延迟取值为4Q个符号,延迟线4的延迟取值为2Q个符号,延迟线5的延迟取值为0个符号即无延迟。
如图80所示的Sr()表示第一数据流r(0≤r≤m-1)中连续的2个符号共20比特,且此20比特本实施例给出的分组交织模块进行一次分组交织操作得到的20比特。卷积交织的过程为Sr(6t)表示第一数据流r当前输入给延迟线0的2个符号且Sr(6t-30Q)为延迟线0输出的2个RS符号;Sr(6t+1)表示第一数据流r当前输入给延迟线1的2个符号且Sr(6t-24Q+1为延迟线1输出的2个符号;Sr(6t+2)表示第一数据流r当前输入给延迟线2的2个符号且Sr(6t-18Q+2)为延迟线2输出的2个符号;Sr(6t+3)表示第一数据流r当前输入给延迟线3的2个符号且Sr(6t-12Q+3)为延迟线3输出的2个符号;Sr(6t+4)表示第一数据流r当前输入给延迟线4的2个符号且Sr(6t-6Q+4)为延迟线4输出的2个符号;Sr(6t+5)表示第一数据流r当前输入给延迟线5的2个符号且Sr(6t+5)为延迟线5输出的2个符号;Sr(6t+6)表示第一数据流r当前输入给延迟线0的2个符号且Sr(6t-30Q+6)为延迟线0输出的2个符号;依次类推。结合第一数据流中RS分布规则,则当d(2pQ+1)≥68即Q≥3时,卷积交织连 续输出的Sr(6t-30Q),Sr(6t-24Q+1),Sr(6t-18Q+2),Sr(6t-12Q+3),Sr(6t-6Q+4),Sr(6t+5)总共12个符号来自12个不同的RS码字。
图81为本申请实施例中卷积交织器的另一种实施例示意图。如图81所示,在上述图80所示实施例的基础上选取Q=3,其对应的交织时延约为15*2*6/2=90个RS符号,其等效在1*800GE业务交织和解交织总时延为67ns。
实施例5:本实施例提供的卷积交织是在上述步骤5101中实施方式1或3或者4或者5提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储d=4个符号(40bits)。结合第一数据流中RS分布规则,当d(p*Q+1)≥136即Q≥9时;或者v(p*Q-1)≥136即Q≥9时,卷积交织器4个延迟线一次轮询输出的16个符号来自16个不同的RS码字。
需要说明的是,上述步骤5101中实施方式3、实施方式4和实施例方式6提供的分组交织可以结合步骤5102中实施例1和实施例2提供的卷积交织来实现。上述步骤5101中实施方式5提供的分组交织可以结合步骤5102中实施例3和实施例4提供的卷积交织来实现。
需要说明的是,经过分组交织后每条第一数据流中每连续的d个符号来自至少v个不同的码字,且每条第一数据流中每连续的L2个符号来自至少v个不同的码字。在一些实现场景中,v<d,如上述步骤5101中实施方式7-10。一种具体实施例下,每个卷积交织器分别对输入的第一数据流以v个符号为单位进行卷积交织处理,得到数据顺序打乱的第二数据流。需要说明的是,所述卷积交织中每个存储单元存储v个符号;下面介绍2种卷积交织的具体实施例。
实施例6:本实施例提供的卷积交织是在上述步骤5101中实施方式7或8或者9或者10提供的分组交织(或符号复用)的基础上实现的。其在实施例1基础上,参考图72,结合第一数据流中RS分布规则,当v(p*Q+1)≥272,即12*Q+4≥272即Q≥23时,卷积交织输出的Cr(12t-24Q),Cr(12t-24Q+1),Cr(12t-24Q+2),Cr(12t-24Q+3),Cr(12t-12Q+4),Cr(12t-12Q+5),Cr(12t-12Q+6),Cr(12t-12Q+7),Cr(12t+8),Cr(12t+9),Cr(12t+10),Cr(12t+11)总共12个符号来自12个不同的RS码字。
图82为本申请实施例中卷积交织器的另一种实施例示意图。在一种可能的实施方式中,在上述图74所示实施例的基础上选取Q=23,其具体卷积交织器如图82所示,其对应的交织时延约为2*23*4*3/2=276个RS符号,其等效在1*800GE业务时交织和解交织总时延约为52ns。
实施例7:本实施例提供的卷积交织是在上述步骤5101中实施方式11或12或13或者14提供的分组交织(或符号复用)的基础上实现的。其在实施例1基础上,参考图74,结合第一数据流中RS分布规则,当v(p*Q+1)≥544,即12*Q+4≥544即Q≥45时,卷积交织输出的Cr(12t-24Q),Cr(12t-24Q+1),Cr(12t-24Q+2), Cr(12t-24Q+3),Cr(12t-12Q+4),Cr(12t-12Q+5),Cr(12t-12Q+6),Cr(12t-12Q+7),Cr(12t+8),Cr(12t+9),Cr(12t+10),Cr(12t+11)总共12个符号来自12个不同的RS码字。
图83为本申请实施例中卷积交织器的另一种实施例示意图。在一种可能的实施方式中,在上述图74所示实施例的基础上选取Q=45,其具体卷积交织器如图83所示,其对应的交织时延约为2*45*4*3/2=540个RS符号,其等效在1*800GE业务时交织和解交织总时延约为51ns。
实施例8:本实施例提供的卷积交织是在上述步骤5101中实施方式7或8或者9或者10提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储v=4个符号(40bits)。结合第一数据流中RS分布规则,当v(p*Q+1)≥272即Q≥17时;或者v(p*Q-1)≥272即Q≥18时,卷积交织器4个延迟线一次轮询输出的16个符号来自16个不同的RS码字。
实施例9:本实施例提供的卷积交织是在上述步骤5101中实施方式11或12或者13或者14提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储v=4个符号(40bits)。结合第一数据流中RS分布规则,当v(p*Q+1)≥544即Q≥34时;或者v(p*Q-1)≥272即Q≥35时,卷积交织器4个延迟线一次轮询输出的16个符号来自16个不同的RS码字。
需要说明的是,前面的9个实施列每个存储单元都是存储整数个RS符号,当内码的码字的信息长度为RS的整数的符号的时候,且进一步内码的码字信息长度为v*p的整数倍的时候,那么在收端处理模块可以在内码同步后自动进行解卷积交织器的同步。考虑到内码信息长度不是整数个RS符号的时候,给出了一种便于收端处理模块进行解卷积交织同步的卷积交织方案,下面介绍8种卷积交织的具体实施例。
实施例10:本实施例提供的卷积交织是在上述步骤5101中实施方式1或3或者4或者6提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储v=34个比特。结合第一数据流中RS分布规则,当采用图12(a)所示卷积交织器,v(p*Q+1)≥1360即Q≥10时;或者采用图12(b)所示卷积交织器v(p*Q-1)≥1360,即Q≥11时,卷积交织器4个延迟线一次轮询输出的136比特来自16个不同的RS码字,当Q=10时,对应的卷积以及解卷积的时延约75ns。
实施例11:本实施例提供的卷积交织是在上述步骤5101中实施方式1或3或者4或者6提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=2条延迟线(delay line)。 这p=2条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储v=68个比特。结合第一数据流中RS分布规则,结合第一数据流中RS分布规则,当采用图12(a)所示卷积交织器,v(p*Q+1)≥1360即Q≥10时;或者采用图12(b)所示卷积交织器v(p*Q-1)≥1360,即Q≥11时,卷积交织器2个延迟线一次轮询输出的136比特至少来自8个不同的RS码字,当Q=10时,对应的卷积以及解卷积的时延约26ns。
实施例12:本实施例提供的卷积交织是在上述步骤5101中实施方式2或5提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储v=34个比特。结合第一数据流中RS分布规则,当采用图12(a)所示卷积交织器,v(p*Q+1)≥680即Q≥5时;或者采用图12(b)所示卷积交织器v(p*Q-1)≥680,即Q≥6时,卷积交织器4个延迟线一次轮询输出的136比特来自16个不同的RS码字,当Q=5时,对应的卷积以及解卷积的时延约75ns。
实施例13:本实施例提供的卷积交织是在上述步骤5101中实施方式2或4提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=2条延迟线(delay line)。这p=2条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储v=68个比特。结合第一数据流中RS分布规则,结合第一数据流中RS分布规则,当采用图12(a)所示卷积交织器,v(p*Q+1)≥680即Q≥5时;或者采用图12(b)所示卷积交织器v(p*Q-1)≥680,即Q≥6时,卷积交织器2个延迟线一次轮询输出的136比特至少来自8个不同的RS码字,当Q=5时,对应的卷积以及解卷积的时延约26ns。
实施例14:本实施例提供的卷积交织是在上述步骤5101中实施方式7或8或者9或者10提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储v=34个比特。结合第一数据流中RS分布规则,当采用图12(a)所示卷积交织器v(p*Q+1)≥2720即Q≥20时;或者采用图12(b)所示卷积交织器,v(p*Q-1)≥2720即Q≥21时,卷积交织器4个延迟线一次轮询输出的136比特来自16个不同的RS码字,当Q=20时,对应的卷积以及解卷积的时延约75ns。
实施例15:本实施例提供的卷积交织是在上述步骤5101中实施方式7或8或者9或者10提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=2条延迟线(delay line)。这p=2条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储v=68个比特。结合第一数据流中RS分布规则,当v(p*Q+1)≥2720即Q≥20时;或者v(p*Q-1)≥2720即Q≥21时,卷积交织器2个延迟线一次轮询输出的136比特至少来自8个不同的RS码字,当Q=40时,对应的卷积以及解卷积的时延约26ns。
实施例16:本实施例提供的卷积交织是在上述步骤5101中实施方式11或12或者13或者14提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=4条延迟线(delay line)。这p=4条延迟线分别包括3Q个存储单元、2Q个存储单元、Q个存储单元、0个存储单元,每个存储单元用于存储v=34个比特。结合第一数据流中RS分布规则,当采用图12(a)所示卷积交织器v(p*Q+1)≥5440即Q≥40时;或者采用图12(b)所示卷积交织器v(p*Q-1)≥5440即Q≥41时,卷积交织器4个延迟线一次轮询输出的136比特来自16个不同的RS码字,当Q=40时,对应的卷积以及解卷积的时延约75ns。
实施例17:本实施例提供的卷积交织是在上述步骤5101中实施方式11或12或者13或者14提供的分组交织(或符号复用)的基础上实现的。卷积交织器包含p=2条延迟线(delay line)。这p=4条延迟线分别包括Q个存储单元、0个存储单元,每个存储单元用于存储v=68个比特。结合第一数据流中RS分布规则,当采用图12(a)所示卷积交织器,v(p*Q+1)≥5440即Q≥40时;或者采用图12(b)所示卷积交织器,v(p*Q-1)≥5440即Q≥41时,卷积交织器2个延迟线一次轮询输出的136比特至少来自8个不同的RS码字,当Q=40时,对应的卷积以及解卷积的时延约26ns。
5103、对m条第二数据流分别进行第二FEC编码得到m条编码数据流。
第二FEC编码的实施方式具体可以如图15所示,对m条第二数据流分别进行第二FEC编码,即上文提到的内码编码。每条第二数据流中每连续的K个符号映射为一个内码码字的信息数据,经过内码编码添加冗余数据,得到编码数据流,其中每个内码长度为K个符号的信息数据最多来自K个不同的RS码字,其中K≥pd,且K个符号为图12(a)或者图12(b)所示卷积交织器的p个延迟线轮询K/pd次输出的K个符号。编码数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括信道交织(channel interleaving)和调制映射(mapping),以提升系统抗突发错误的能力。
在一些实现场景中,v<d,如上述步骤5101中实施方式7-10。一种具体实施例下,每条第二数据流中每连续的K个符号映射为一个内码码字的信息数据,经过内码编码添加冗余数据,得到编码数据流,其中每个内码长度为K个符号的信息数据最多来自K个不同的RS码字,其中K≥pv,且K个符号为卷积交织器的p个延迟线轮询K/pv次输出的K个符号。
对上述16条或者8条或者4条第二数据流分别进行内码编码,其中内码编码信息位长度为120比特。具体地,内码编码器分别将第二数据流中连续的12个符号总共120比特添加冗余,得到内码码字数据流。以上述图74和图75所示实施例为例,此12个符号为卷积交织器的3条延迟线一次轮询输出的12个连续符号,采用此种方式可以便于在如图3(h)所示的收端处理模块在完成内码同步后进行解卷积交织的同步。在一种可能的实施方式中,采用Hamming(128,120)进行内码编码,分别将每条第二数据流中连续的12个符号总共120比特添加8比特冗余得到128比特的码字。
在上述步骤5102中任意实施方式提供的卷积交织的基础上对上述m条第二数据流分别进行内码编码,其中内码编码信息位长度为136比特。具体地,内码编码器分别将第二数据流中连续的136比特添加冗余,得到内码码字数据流。在一种可能的实施方式中,采用Hamming(144,136)进行内码编码,分别将每条第二数据流中连续的136比特添加8比特冗余得到144比特的码字。
在上述步骤5102中提供的实施方式10到17的卷积交织的基础上对上述m条第二数据流分别进行内码编码,其中内码编码信息位长度为136比特。具体地,将卷积交织器p=4或者2条延迟线轮询一次输出的136比特数据,作为一个内码的信息数据,然后添加8比特的校验数据,得到一个长度为144比特内码码字,这样可以在收端处理模块完成内码同步后自动完成解卷积交织器的同步。
图84为本申请实施例中内码编码的一种实现方式示意图。如图84所示,在一种可能的实施方式中,采用Hamming(144,136)进行内码编码,其由伽罗华域GF(2^8)生成的hamming(255,247)缩短111比特得到。另外一种可以的实现如图84所示,待编码的136比特数据表示为B[135:0],将其每连续的2比特进行比特异或得到1比特数据C[i],总共得到68比特数据,表示为C[67:0]其中C[i]=B[2*i]^B[2*i+1],0≤i≤67;然后将C[67:0]作为信息数据进行hamming(76,68)编码得到8比特校验数据,表示为P[7:0],最后将B[135:0]与P[7:0]共144比特拼接为内码编码的输出,表示为O[143:0]。其中O[135:0]来自B[135:0],O[143:136]来自P[7:0],hamming(76,68)由伽罗华域GF(2^7)生成的1比特CRC扩展的hamming(128,120)缩短52比特得到。最后将O[143:0]中的每连续2bit进行PAM4格雷映射得到72个PAM4符号,表示为S[71:0]。
经过内码编码的数据流进行数据处理后送入信道传输媒介进行传输。该数据处理可包括调制映射(mapping),信道交织(channel interleaving)等。比如内码编码数据流可通过信道交织,以提升系统抗突发错误的能力。以上述图74和图75所示实施例为例,发送设备01发送的1*800GE业务时,KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.8E-3,性能逼近该级联FEC方案的最优性能,且交织器的时延仅为55ns。以上述图76和图77所示实施例为例,发送设备01发送的1*800GE业务时,KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为3.8E-3,且交织器的时延仅为26ns。以上述图78和图79所示实施例为例,发送设备01发送的1*800GE业务时,KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.8E-3,性能逼近该级联FEC方案的最优性能,且交织器的时延仅为50ns。以上述图80和图81所示实施例为例,发送设备01发送的1*800GE业务时,KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.8E-3,性能逼近该级联FEC方案的最优性能,且交织器的时延仅为67ns。以上述步骤5101中实施方式7或8中的分组交织(符号复用)和步骤5102中实施例5中的卷积交织为 例,发送设备01发送的1*800GE业务时,KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.8E-3,性能逼近该级联FEC方案的最优性能,且交织器的时延仅为52ns。以上述步骤5101中实施方式9或10中的分组交织(符号复用)和步骤5102中实施例6中的卷积交织为例,发送设备01发送的1*800GE业务时,KP4 RS(544,514)+Hamming(128,120)级联码在AWGN下,为了达到纠后误比特率BER为1E-15所对应的纠前BER约为4.8E-3,性能逼近该级联FEC方案的最优性能,且交织器的时延仅为52ns。
在一种可能的实施方式中,当发送设备01发送的2*400GE业务的时候,发送设备内的32个PCS通道上数据流格式如图6所示,其中为PCS通道数据流0-15和PCS通道数据流16-32分别属于2个不同的400GE业务。发端处理模块PMA单元将从通道连接单元接口AUI进行de-mux后恢复出32个PCS通道数据流,然后利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。然后根据对齐标识对n=32条PCS通道数据流进行通道重排序(lane reorder)处理,使得n=32条PCS通道的数据能够按照指定的顺序排列。一种具体排列方式通道数据流0到通道数据流15属于同一个400GE业务,通道数据流16到通道数据流31属于另外一个400GE业务。排序后的32个通道数据流送入采用上述步骤5101中实施方式1、实施方式2和实施例方式3提供的分组交织和上述步骤5102中卷积交织,再采用Hamming(128,120)内码编码。另外一种具体排列方式通道数据流0到通道数据流7以及通道数据流16到通道数据流23属于同一个400GE业务,通道数据流8到通道数据流15以及通道数据流24到通道数据流31属于另外一个400GE业务。排序后的32个通道数据流送入采用上述步骤5101中实施方式4、实施方式5和实施例方式6提供的分组交织和上述步骤5102中的卷积交织,再采用Hamming(128,120)内码编码。
在此情景下,以上述图74和图75所示实施例为例,每个内码的12个符号来自6个不同的RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为3.5E-3,仍保持交织器的时延仅为50ns。以上述图78和图79所示实施例为例,每个内码的12个符号来自6个不同的RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为3.5E-3,仍保持交织器的时延仅为50ns。以上述图80和图81所示实施例为例,每个内码的12个符号来自6个不同的RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为3.4E-3,仍保持交织器的时延仅为50ns;或者采用本实施例中的分组交织和卷积交织,并将卷积交织中的参数Q≥6,则可以使得每个内码的12个符号信息数据来自12个不同RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为4.8E-3,而交织器的时延增大为135ns。
在另一种可能的实施方式中,当发送设备01发送的4*200GE业务的时候,发送设备内的32个PCS通道上数据流格式如图7所示,其中为PCS通道数据流0-7、PCS通道数据流8-15、PCS通道数据流16-23PCS通道数据流24-31分别属于4个不同的200GE业务。发端处理模块PMA单元将从通道连接单元接口AUI接收的数据进行de-mux后恢复出32个PCS通道数据流,然后利用PCS通道已知的对齐标识(Alignment marker)进行通道数据流的标识锁定(alignment lock)。然后根据对齐标识对n=32条PCS通道数据流进行通道重排序(lane reorder)处理,使得n=32条PCS通道的数据能够按照指定的顺序排列。一种具体排列方式 通道数据流0-7、通道数据流8-15、通道数据流16-23、通道数据流24-32分别属于4个不同的200GE业务。排序后的32个通道数据流送入采用上述步骤5101中实施方式1、实施方式2和实施方式3提供的分组交织和上述步骤5102中卷积交织,再采用Hamming(128,120)内码编码。另外一种具体的排列方式为:通道数据流0-3以及通道数据流16-19、通道数据流4-7以及通道数据流20-23、通道数据流8-11以及通道数据流24-28、通道数据流12-15以及通道数据流28-31分别属于4个不同的200GE业务,排序后的32个通道数据流送入采用上述步骤5101中实施方式3、实施方式4和实施方式5提供的分组交织和上述步骤5102中卷积交织,再采用Hamming(128,120)内码编码。
在此情景下,以上述图74和图75所示实施例为例,每个内码的12个符号来自4个不同的RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为2.8E-3,仍保持交织器的时延仅为50ns。以上述图78和图79所示实施例为例,每个内码的12个符号来自4个不同的RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为2.8E-3,仍保持交织器的时延仅为50ns。以上述图80和图81所示实施例为例,每个内码的12个符号来自4个不同的RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为2.8E-3,仍保持交织器的时延仅为50ns;或者采用本实施例中的分组交织和卷积交织,并将卷积交织中的参数Q≥6,则可以使得每个内码的12个符号信息数据来自6个RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为3.4E-3,而交织器的时延增大为135ns;或者采用本实施例中的分组交织和卷积交织,并将卷积交织中的参数Q≥12,则可以使得每个内码的12个符号信息数据来自12个RS码字,达到纠后误比特率BER为1E-15所对应的纠前BER约为4.8E-3,而交织器的时延增大为270ns。
本发明针对采用级联FEC的传输方案,设计一种包含分组交织和卷积交织的数据交织编码方法,使得整体级联FEC方案性能较好且时延极低。使得该级联FEC传输方案能够应用于较多的传输场景,尤其适用于对需要较低传输时延的传输场景,如低时延数据中心互联场景。整体级联FEC方案在处理1x800GE业务时相比现有技术可以在同等纠能力下时延更优,而对于2*400GE或者4*200GE业务的时候可以采用同样的交织方案获得次优的纠错性能以及更优的时延,使得本方案可以很好的适用与时延敏感的场景,比如数据中心内部互联网络。
下面介绍本申请实施例提供的数据处理装置。
图85为本申请实施例中数据处理装置的一种结构示意图。如图85所示,该数据处理装置包括分组交织器501和卷积交织器502。分组交织器501用于执行上述步骤5101的操作。卷积交织器502用于执行上述步骤5102的操作。具体可以参照上述数据处理方法中关于分组交织操作和卷积交织操作的相关介绍,此处不再赘述。
应理解,本申请提供的装置也可以通过其他方式实现。例如,上述装置中的单元划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或可以集成到另一个系统。另外,本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个独立的物理单元,也可以是两个或两个以上个功能单元集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实 现。
需要说明的是,除了上述实施例介绍的数据处理方法外,本申请还提供了另一种数据处理方法,其具体处理流程可以如上述图3(i)所示,在一些具体实施场景下,发送设备01发送的1*800GE业务的时候,32个PCS通道数据流经过PMA(32:n)处理将32/n条PCS通道数据流复用为一个数据流PMA通道数据流时,被复用的32/n条PCS通道数据流中一半PCS通道数据流来自PCS通道数据流0-15,另外一半PCS通道数据流来自PCS通道数据流16:32,从而使得每个PAM通道数据流的数据由4个RS码字交织而来。发端处理模块的物理媒体附加子层(Physical Medium Attachment,PMA)子层对来自AUI-n接口的数据进行处理后得到n条通道数据流。此处PMA子层仅需要对来自AUI-n接口的每个物理通道的数据进行时钟数据恢复(clock data recovery,CDR),PAM4符号解调制等信号恢复操作处理得到一条通道数据流,不需要进行AM锁定、通道纠偏以及通道重排序等其他复杂操作。然后将分别对每个第一数据流进行卷积交织(convolutional interleaving)得到n条第一数据流,最后分别对n条第一数据流进行内码编码得到n条第二数据流。
图86为本申请实施例提供的数据处理方法的另一种流程示意图。
8601、对n条通道数据流分别进行卷积交织得到n条第一数据流。
具体地,根据p条延迟线对n条通道数据流分别进行延迟得到n条第一数据流。其中,每条通道数据流都是经过第一FEC编码的,即每条通道数据流都是经过外码编码的。应理解,本实施例采用的卷积交织方式与上述图51所示实施例采用的卷积交织方式类似,具体可以参考图51所示实施例的相关介绍。
作为一个示例,当n=8的时候,对应的卷积交织器可以采用上述步骤5102中提供的实施方式6,内码编码方案为将卷积交织器p=3延迟线轮询一次输出的120比特数据作为一个内码的信息数据,然后添加8比特的校验数据,得到一个长度为128比特内码码字;或者对应的卷积交织器可以采用上述步骤5102中提供的实施方式8,内码编码方案为将卷积交织器p=4延迟线轮询一次输出的160比特数据作为一个内码的信息数据,然后添加10比特的校验数据,得到一个长度为170比特内码码字,或者添加16比特的校验数据,得到一个长度为176比特的内码码字;或者对应的卷积交织器可以采用上述步骤5102中提供的实施方式14,15,内码编码方案为将卷积交织器p=2或者4条延迟线轮询一次输出的136比特数据作为一个内码的信息数据,然后添加8比特的校验数据得到码长为144比特的码字。
作为有一个示例,当n=4的时候,对应的卷积交织器可以采用上述步骤5102中提供的实施方式7,内码编码方案为将卷积交织器p=3延迟线轮询一次输出的120比特数据作为一个内码的信息数据,然后添加8比特的校验数据,得到一个长度为128比特内码码字;或者对应的卷积交织器可以采用上述步骤5102中提供的实施方式9,内码编码方案为将卷积交织器p=4延迟线轮询一次输出的160比特数据作为一个内码的信息数据,然后添加10比特的校验数据,得到一个长度为170比特内码码字,或者添加16比特的校验数据,得到一个长度为176比特的内码码字;或者对应的卷积交织器可以采用上述步骤5102中提供的实施方式16,17,内码编码方案为将卷积交织器p=2或者4条延迟线轮询一次输出的136比特数据作为一个内码的 信息数据,然后添加8比特的校验数据得到码长为144比特的码字。
8602、对n条第一数据流分别进行第二FEC编码得到n条第二数据流。
应理解,本实施例中的第二FEC编码即上文介绍的内码编码。采用上述卷积交织和内码编码方案都可以使得内码码字的信息数据的长度等于p*U,其中p是卷积交织器中延迟线的数目,U为卷积交织器中每个存储单元存储的比特数目。这样便于内码码字的信息数据与卷积交织器的p条延迟线轮询一次输出的p*U比特对齐,因此可以在编码数流中不额外添加同步头序列情况下,收端模块在利用内码码字完成内码自同步后可以自动完成解卷积交织器的同步,从而解决卷积交织器的同步的问题。
本申请还提供了一种与图86所示实施例对应的数据处理装置。
图87为本申请实施例中数据处理装置的另一种结构示意图。如图87所示,该数据处理装置包括卷积交织器601和编码器602。卷积交织器601用于执行上述步骤8601的操作。编码器602用于执行上述步骤8602的操作。具体可以参照上述数据处理方法中关于分组交织操作和卷积交织操作的相关介绍,此处不再赘述。
应理解,本申请提供的装置也可以通过其他方式实现。例如,上述装置中的单元划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或可以集成到另一个系统。另外,本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个独立的物理单元,也可以是两个或两个以上个功能单元集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图88为本申请实施例中数据处理装置的另一种结构示意图。如图88所示,数据处理装置包括处理器201、存储器202和收发器203。该处理器201、存储器202和收发器203通过线路相互连接。其中,存储器202用于存储程序指令和数据。具体地,收发器203用于接收n条通道数据流。处理器201用于执行上述数据处理方法的操作。在一种可能的实施方式中,处理器201可以包括上述图33所示的卷积交织器101和复用器201。在另一种可能的实施方式中,处理器201可以包括上述图50(a)所示的交织模块301和编码器302。在又一种可能的实施方式中,处理器201可以包括上述图50(b)所示的交织模块401和编码器402。在又一种可能的实施方式中,处理器201可以包括上述图85所示的分组交织器501和卷积交织器502。在又一种可能的实施方式中,处理器201可以包括上述图87所示的卷积交织器601和编码器602。
需要说明的是,上述图88中所示的处理器可以采用通用的中央处理器(Central Processing Unit,CPU),通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。上述图88中所示的存储器可以存储操作系统和其他应用程序。在通过软件或者固件来实现本申请实施例提供的技术方案时,用于实现本申请实施例提供的技术方案的程序代码保存在存储器中,并由处理器来执行。在一实施例中,处理器内部可以包括存储器。在另一 实施例中,处理器和存储器是两个独立的结构。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,随机接入存储器等。上述的这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
当使用软件实现时,上述实施例描述的方法步骤可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

Claims (148)

  1. 一种数据处理方法,其特征在于,包括:
    对n条通道数据流分别进行卷积交织得到n条第一数据流,所述n为大于1的整数,所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,所述a≤所述b≤所述n,所述n能被所述b整除,所述a为大于或等于1的整数,每条所述第一数据流中连续的z个符号来自z个不同的码字,所述z为大于1的整数;
    对所述n条第一数据流中的每K条第一数据流进行复用得到1条第二数据流,以得到共m条所述第二数据流,其中,所述n条第一数据流包括G个第一数据流子集,不同第一数据流子集中的符号来自不同码字,m=n/K,所述K为大于1的整数,所述G为大于1的整数,每条所述第二数据流中连续的y个符号来自y个不同的码字,所述y>所述z;
    若K≤G,则所述K条第一数据流分别来自K个第一数据流子集;
    若K>G,则所述K条第一数据流包括每个第一数据流子集中的K/G条第一数据流。
  2. 根据权利要求1所述的方法,其特征在于,对1条通道数据流进行卷积交织得到1条第一数据流包括:
    根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,所述z=p*d,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数,所述d为大于或等于1的整数。
  3. 根据权利要求2所述的方法,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,其中,d(p*Q+1)≥a*N/b,d≤a,所述N为所述码字的长度。
  4. 根据权利要求2所述的方法,其特征在于,所述p条延迟线中序号最小的延迟线包括0个存储单元,其中,d(p*Q-1)≥a*N/b,d≤a,所述N为所述码字的长度。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,若K≤G,则y=K*z;若K>G,则y=G*z。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,每条所述第二数据流包括多个第二数据流符号子集,每个所述第二数据流符号子集包括K组符号,每组符号包括Δ个符号,其中,每个所述第二数据流符号子集中相邻两组符号来自不同的第一数据流子集;
    若K≤G,则Δ为z的约数;若K>G,则Δ=z。
  7. 根据权利要求6所述的方法,其特征在于,每个所述第二数据流符号子集中第j组符号来自参与复用的K条第一数据流中第j条第一数据流,0≤j≤K-1。
  8. 根据权利要求6或7所述的方法,其特征在于,若K>G,参与复用的K条第一数据流中相邻的2条第一数据流来自不同的第一数据流子集。
  9. 根据权利要求6至8中任一项所述的方法,其特征在于,若K>G,参与复用的每连续G条第一数据流分别来自不同的第一数据流子集。
  10. 根据权利要求1至9中任一项所述的方法,其特征在于,所述n=32,所述K=2、4或8。
  11. 根据权利要求1至10中任一项所述的方法,其特征在于,所述n=32,所述p=2、3、4、6或8,所述d=1或2。
  12. 根据权利要求1至11中任一项所述的方法,其特征在于,所述a=1或2,所述b=4、8、16。
  13. 根据权利要求1至12中任一项所述的方法,其特征在于,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,所述方法还包括:
    对所述n条通道数据流进行通道重排序,以使得所述n条通道数据流按照预设顺序排列。
  14. 根据权利要求1至13中任一项所述的方法,其特征在于,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,所述方法还包括:
    对所述n条通道数据流进行通道纠偏。
  15. 根据权利要求1至13中任一项所述的方法,其特征在于,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,所述方法还包括:
    对所述n条通道数据流进行对齐,以使得n条通道数据流中的符号对齐。
  16. 根据权利要求1至15中任一项所述的方法,其特征在于,得到共m条所述第二数据流之后,所述方法还包括:
    对所述m条第二数据流分别进行第二FEC编码,所述第二FEC编码的信息位长度小于或等于y个符号。
  17. 一种数据处理装置,其特征在于,包括:卷积交织器和复用器;
    所述卷积交织器用于:对n条通道数据流分别进行卷积交织得到n条第一数据流,所述n为大于1的整数,所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,所述a≤所述b≤所述n,所述n能被所述b整除,所述a为大于或等于1的整数,每条所述第一数据流中连续的z个符号来自z个不同的码字,所述z为大于1的整数;
    所述复用器用于:对所述n条第一数据流中的每K条第一数据流进行复用得到1条第二数据流,以得到共m条所述第二数据流,其中,所述n条第一数据流包括G个第一数据流子集,不同第一数据流子集中的符号来自不同码字,m=n/K,所述K为大于1的整数,所述G为大于1的整数,每条所述第二数据流中连续的y个符号来自y个不同的码字,所述y>所述z;
    若K≤G,则所述K条第一数据流分别来自K个第一数据流子集;
    若K>G,则所述K条第一数据流包括每个第一数据流子集中的K/G条第一数据流。
  18. 根据权利要求17所述的数据处理装置,其特征在于,所述卷积交织器具体用于:
    根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单 元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,所述z=p*d,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数,所述d为大于或等于1的整数。
  19. 根据权利要求18所述的数据处理装置,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,其中,d(p*Q+1)≥a*N/b,d≤a,所述N为所述码字的长度。
  20. 根据权利要求18所述的数据处理装置,其特征在于,所述p条延迟线中序号最小的延迟线包括0个存储单元,其中,d(p*Q-1)≥a*N/b,d≤a,所述N为所述码字的长度。
  21. 根据权利要求17至20中任一项所述的数据处理装置,其特征在于,若K≤G,则y=K*z;若K>G,则y=G*z。
  22. 根据权利要求17至21中任一项所述的数据处理装置,其特征在于,每条所述第二数据流包括多个第二数据流符号子集,每个所述第二数据流符号子集包括K组符号,每组符号包括Δ个符号,其中,每个所述第二数据流符号子集中相邻两组符号来自不同的第一数据流子集;
    若K≤G,则Δ为z的约数;若K>G,则Δ=z。
  23. 根据权利要求22所述的数据处理装置,其特征在于,每个所述第二数据流符号子集中第j组符号来自参与复用的K条第一数据流中第j条第一数据流,0≤j≤K-1。
  24. 根据权利要求22或23所述的数据处理装置,其特征在于,若K>G,参与复用的K条第一数据流中相邻的2条第一数据流来自不同的第一数据流子集。
  25. 根据权利要求22至24中任一项所述的数据处理装置,其特征在于,若K>G,参与复用的每连续G条第一数据流分别来自不同的第一数据流子集。
  26. 根据权利要求17至25中任一项所述的数据处理装置,其特征在于,所述n=32,所述K=2、4或8。
  27. 根据权利要求17至26中任一项所述的数据处理装置,其特征在于,所述n=32,所述p=2、3、4、6或8,所述d=1或2。
  28. 根据权利要求17至27中任一项所述的数据处理装置,其特征在于,所述a=1或2,所述b=4、8、16。
  29. 根据权利要求17至28中任一项所述的数据处理装置,其特征在于,所述数据处理装置还包括通道重排序单元,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,所述通道重排序单元用于:
    对所述n条通道数据流进行通道重排序,以使得所述n条通道数据流按照预设顺序排列。
  30. 根据权利要求17至29中任一项所述的数据处理装置,其特征在于,所述数据处理装置还包括通道数据对齐单元,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,所述通道数据对齐单元用于:
    对所述n条通道数据流进行通道纠偏。
  31. 根据权利要求17至29中任一项所述的数据处理装置,其特征在于,所述数据处理装置还包括通道数据对齐单元,对n条通道数据流分别进行卷积交织得到n条第一数据流之前,所述通道数据对齐单元用于:
    对所述n条通道数据流进行对齐,以使得n条通道数据流中的符号对齐。
  32. 根据权利要求17至31中任一项所述的数据处理装置,其特征在于,所述数据处理装置还包括编码器,得到共m条所述第二数据流之后,所述编码器用于:
    对所述m条第二数据流分别进行第二FEC编码,所述第二FEC编码的信息位长度小于或等于y个符号。
  33. 一种数据处理方法,其特征在于,包括:
    对n条通道数据流进行交织处理得到m条目标数据流,所述n为4的倍数,所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,a≤b≤n,所述n能被所述b整除,每条所述目标数据流中连续的F个符号来自F个不同的码字,所述F>所述a,每条所述目标数据流中连续的F个符号至少来自K1条不同的通道数据流,每条所述目标数据流中连续的F个符号来自所述n条通道数据流对齐的n个符号中最多K2个符号,所述K1和所述K2为所述n的约数,所述K2为所述K1的约数,每条所述目标数据流中连续的F个符号中最多有K3个符号来自相同的通道数据流,所述表示对F/K1的商进行向上取整的整数,所述K3个符号中任意两个符号在同一通道数据流上相隔最少K4个符号,所述K4≥a*N*K2/n,所述N为所述码字长度。
  34. 根据权利要求33所述的方法,其特征在于,K1=n/4,K2=n/16。
  35. 根据权利要求33或34所述的方法,其特征在于,对n条通道数据流进行交织处理得到m条目标数据流包括:
    对n条通道数据流分别进行卷积交织得到n条第一数据流,每条所述第一数据流中连续的z个符号来自至少e个不同的码字,所述z为大于1的整数,a≤e≤F,e*k2≥F,每条所述第一数据流中连续的z个符号中最多k1/k2个符号来自同一个所述码字;
    对所述n条第一数据流中的每K1条第一数据流进行分组交织得到S条所述目标数据流,以得到共m条所述目标数据流,其中,所述S为大于或等于1的整数,m=S*n/K1,S≥k1/k2,所述n条第一数据流包括K1个第一数据流分组,同一第一数据流分组中每两条第一数据流的符号来自相同的码字,所述K1条第一数据流分别来自K1个第一数据流分组。
  36. 根据权利要求35所述的方法,其特征在于,对1条通道数据流进行卷积交织得到1条第一数据流包括:
    根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流,所述p为大于1的整数,p*a≥F/k2,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,所述z=p*d,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数,所述d为大于或等 于1的整数,d≤a。
  37. 根据权利要求36所述的方法,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,其中,d(p*Q+1)≥K4。
  38. 根据权利要求36所述的方法,其特征在于,所述p条延迟线中序号最小的延迟线包括0个存储单元,其中,d(p*Q-1)≥K4。
  39. 根据权利要求36至38中任一项所述的方法,其特征在于,参与分组交织的K条第一数据流包括第一符号矩阵,所述第一符号矩阵包括K行B列个符号,B=R*p*d,所述R为大于或等于1的整数,经过分组交织后的S条目标数据流包括第二符号矩阵,所述第二符号矩阵包括S行F列个符号,K*B=S*F;
    所述第一符号矩阵中的符号至少来自F个不同码字,且所述第一符号矩阵中最多有
    R*K1/K2个符号来自相同的码字。
  40. 根据权利要求39所述的方法,其特征在于,所述第二符号矩阵中每行的F个符号来自所述第一符号矩阵中至少列,且所述列中每列最多取K2个符号,所述表示对F/K2的商进行向上取整的整数;
    所述第二符号矩阵中每行的F个符号包括所述第一符号矩阵中每行的至少个符号,所述表示对F/K1的商进行向下取整的整数,且所述第二符号矩阵中每行的F个符号包括所述第一符号矩阵中每行的最多个符号,所述表示对F/K的商进行向上取整的整数。
  41. 根据权利要求39或40所述的方法,其特征在于,所述第二符号矩阵的每一行中来自所述第一符号矩阵奇数列的符号分别位于所述第一符号矩阵的不同行,所述第二符号矩阵的每一行中来自所述第一符号矩阵偶数列的符号位于所述第一符号矩阵的不同行。
  42. 根据权利要求39至41中任一项所述的方法,其特征在于,所述第二符号矩阵的每一行中由延迟取值相同的延迟线输出的符号来自所述第一符号矩阵的不同行。
  43. 根据权利要求39至42中任一项所述的方法,其特征在于,所述第二符号矩阵的每一行的最多K3个符号来自所述第一符号矩阵的同一行,所述K3个符号中任意两个符号分别由延迟差值大于或等于2*Q*d的2条延迟线输出。
  44. 根据权利要求33或34所述的方法,其特征在于,对n条通道数据流进行交织处理得到m条目标数据流包括:
    对n条通道数据流进行第一分组交织得到T条第一数据流,每条所述第一数据流中连续的C个符号至少来自E个不同的码字,T=n/K1,所述C为所述a的倍数,E≥K2*a;
    对所述T条第一数据流进行卷积交织得到T条第二数据流,每条所述第二数据流中连续的H个符号来自至少F个不同码字,F≥E,每条所述第二数据流中连续的H个符号最多K1/K2个符号来自相同码字;
    对所述T条第二数据流中每条第二数据流进行第二分组交织得到S条目标数据流,以得到共m条目标数据流,m=T*S,S≥k1/K2。
  45. 根据权利要求44所述的方法,其特征在于,参与第一分组交织的n条通道数据流包 括第三符号矩阵,所述第三符号矩阵包括n行A列个符号,所述A为所述a的倍数,经过第一分组交织后的T条第一数据流包括第四符号矩阵,所述第四符号矩阵包括T行C列个符号,所述T为所述n的约数,n*A=T*C;
    所述第三符号矩阵的一列中每连续T个符号为符号子矩阵,所述第四符号矩阵中每一列的T个符号分别与所述第三符号矩阵中每个符号子矩阵一一对应。
  46. 根据权利要求45所述的方法,其特征在于,所述第三符号矩阵中的符号子矩阵按第一顺序排列,所述第三符号矩阵中每列的第1行到第n行包括按所述第一顺序排列的第1个符号子矩阵到第n/T个符号子矩阵,所述第三符号矩阵的相邻两列中前一列的第n/T个符号子矩阵到后一列的第1个符号子矩阵为按所述第一顺序排列的连续2个符号子矩阵,所述第四符号矩阵中第1列的T个符号来自所述第三符号矩阵中按所述第一顺序排列的第一个符号子矩阵,依次类推,直到所述第四符号矩阵中第C列的T个符号来自所述第三符号矩阵中按所述第一顺序排列的最后一个符号子矩阵;
    或者,
    所述第三符号矩阵中的符号子矩阵按第二顺序排列,所述第三符号矩阵中每T行的第1列到第A行包括按所述第二顺序排列的第1个符号子矩阵到第A个符号子矩阵,所述第三符号矩阵的相邻两个连续T行中前T行的第A个符号子矩阵到后T行的第1个符号子矩阵为按所述第二顺序排列的连续2个符号子矩阵,所述第四符号矩阵中第1列的T个符号来自所述第三符号矩阵中按所述第二顺序排列的第一个符号子矩阵,依次类推,直到所述第四符号矩阵中第C列的T个符号来自所述第三符号矩阵中按所述第二顺序排列的最后一个符号子矩阵。
  47. 根据权利要求44至46中任一项所述的方法,其特征在于,对1条第一数据流进行卷积交织得到1条第二数据流包括:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,p*E≥F,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储C个符号,p*C=H,每条第一数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入C个符号且单次输出C个符号,1条所述第二数据流中连续的p*C个符号包括每条延迟线输出的C个符号,所述Q为大于或等于1的整数。
  48. 根据权利要求47所述的方法,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,其中,C(p*Q+1)≥K1*K4。
  49. 根据权利要求47所述的方法,其特征在于,所述p条延迟线中序号最小的延迟线包括0个存储单元,其中,C(p*Q-1)≥K1*K4。
  50. 根据权利要求47至49中任一项所述的方法,其特征在于,每条所述第二数据流包括R个符号集合,每个所述符号集合包括p个符号子集,每个所述符号子集包括C个符号,p个符号子集分别由所述p条延迟线输出,每个符号集合中的符号来自至少F个不同码字,每条所述目标数据流包括F个符号,R*p*C=S*F,所述R为大于或等于的整数;
    所述目标数据流中F个符号来自至少个不同的符号子集,且所述 个不同的符号子集中每个符号子集最多取K2*a个符号,所述表示对F/(K2*a)的商进行向上取整的整数。
  51. 根据权利要求50所述的方法,其特征在于,所述目标数据流中F个符号包括来自第一符号子集中的第一组符号和来自第二符号子集的第二组符号,所述第一符号子集和所述第二符号子集属于同一个符号集合,所述第一符号子集和所述第二符号子集分别由两条相邻的延迟线输出,所述第一符号子集中的符号和所述第二符号子集中的符号分别按次序排列,所述第一组符号在所述第一符号子集中的次序与所述第二组符号在所述第二符号子集中的次序不同;
    所述目标数据流中F个符号包括来自第三符号子集中的第三组符号和来自第四符号子集的第四组符号,所述第三符号子集和所述第四符号子集属于不同的符号集合,所述第三符号子集和所述第四符号子集由同一条延迟线输出,所述第三符号子集中的符号和所述第四符号子集中的符号分别按次序排列,所述第三组符号在所述第三符号子集中的次序与所述第四组符号在所述第四符号子集中的次序不同。
  52. 根据权利要求50或51所述的方法,其特征在于,每条所述目标数据流中F个符号中最多有个符号来自相同的符号集合,所述表示对F/R的商进行向上取整的整数。
  53. 根据权利要求33至52中任一项所述的方法,其特征在于,得到共m条所述目标数据流之后,所述方法还包括:
    对所述m条目标数据流分别进行第二FEC编码,所述第二FEC编码的信息位长度等于F个符号。
  54. 一种数据处理装置,其特征在于,包括:交织模块;
    所述交织模块用于:对n条通道数据流进行交织处理得到m条目标数据流,所述n为4的倍数,所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,a≤b≤n,所述n能被所述b整除,每条所述目标数据流中连续的F个符号来自F个不同的码字,所述F>所述a,每条所述目标数据流中连续的F个符号至少来自K1条不同的通道数据流,每条所述目标数据流中连续的F个符号来自所述n条通道数据流对齐的n个符号中最多K2个符号,所述K1和所述K2为所述n的约数,所述K2为所述K1的约数,每条所述目标数据流中连续的F个符号中最多有K3个符号来自相同的通道数据流,所述表示对F/K1的商进行向上取整的整数,所述K3个符号中任意两个符号在同一通道数据流上相隔最少K4个符号,所述K4≥a*N*K2/n,N为所述码字长度。
  55. 根据权利要求54所述的数据处理装置,其特征在于,K1=n/4,K2=n/16。
  56. 根据权利要求54或55所述的数据处理装置,其特征在于,所述交织模块包括卷积交织器和分组交织器;
    所述卷积交织器用于:对n条通道数据流分别进行卷积交织得到n条第一数据流,每条所述第一数据流中连续的z个符号来自至少e个不同的码字,所述z为大于1的整数,a≤e≤F,e*k2≥F,每条所述第一数据流中连续的z个符号中最多k1/k2个符号来自同一个所述 码字;
    所述分组交织器用于:对所述n条第一数据流中的每K1条第一数据流进行分组交织得到S条所述目标数据流,以得到共m条所述目标数据流,其中,所述S为大于或等于1的整数,m=S*n/K1,S≥k1/k2,所述n条第一数据流包括K1个第一数据流分组,同一第一数据流分组中每两条第一数据流的符号来自相同的码字,所述K1条第一数据流分别来自K1个第一数据流分组。
  57. 根据权利要求56所述的数据处理装置,其特征在于,所述卷积交织器具体用于:
    根据p条延迟线对1条通道数据流进行延迟得到1条第一数据流,所述p为大于1的整数,p*a≥F/k2,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,所述z=p*d,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第一数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数,所述d为大于或等于1的整数,d≤a。
  58. 根据权利要求57所述的数据处理装置,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,其中,d(p*Q+1)≥K4。
  59. 根据权利要求57所述的数据处理装置,其特征在于,所述p条延迟线中序号最小的延迟线包括0个存储单元,其中,d(p*Q-1)≥K4。
  60. 根据权利要求57至59中任一项所述的数据处理装置,其特征在于,参与分组交织的K条第一数据流包括第一符号矩阵,所述第一符号矩阵包括K行B列个符号,B=R*p*d,所述R为大于或等于1的整数,经过分组交织后的S条目标数据流包括第二符号矩阵,所述第二符号矩阵包括S行F列个符号,K*B=S*F;
    所述第一符号矩阵中的符号至少来自F个不同码字,且所述第一符号矩阵中最多有
    R*K1/K2个符号来自相同的码字。
  61. 根据权利要求60所述的数据处理装置,其特征在于,所述第二符号矩阵中每行的F个符号来自所述第一符号矩阵中至少列,且所述列中每列最多取K2个符号,所述表示对F/K2的商进行向上取整的整数;
    所述第二符号矩阵中每行的F个符号包括所述第一符号矩阵中每行的至少个符号,所述表示对F/K1的商进行向下取整的整数,且所述第二符号矩阵中每行的F个符号包括所述第一符号矩阵中每行的最多个符号,所述表示对F/K的商进行向上取整的整数。
  62. 根据权利要求60或61所述的数据处理装置,其特征在于,所述第二符号矩阵的每一行中来自所述第一符号矩阵奇数列的符号分别位于所述第一符号矩阵的不同行,所述第二符号矩阵的每一行中来自所述第一符号矩阵偶数列的符号位于所述第一符号矩阵的不同行。
  63. 根据权利要求60至62中任一项所述的数据处理装置,其特征在于,所述第二符号矩阵的每一行中由延迟取值相同的延迟线输出的符号来自所述第一符号矩阵的不同行。
  64. 根据权利要求60至63中任一项所述的数据处理装置,其特征在于,所述第二符号矩阵的每一行的最多K3个符号来自所述第一符号矩阵的同一行,所述K3个符号中任意2个符号分别由延迟差值大于或等于2*Q*d的2条延迟线输出。
  65. 根据权利要求54或55所述的数据处理装置,其特征在于,所述卷积交织模块包括第一分组交织器、卷积交织器和第二分组交织器;
    所述第一分组交织器用于:对n条通道数据流进行第一分组交织得到T条第一数据流,每条所述第一数据流中连续的C个符号至少来自E个不同的码字,T=n/K1,所述C为所述a的倍数,E≥K2*a;
    所述卷积交织器用于:对所述T条第一数据流进行卷积交织得到T条第二数据流,每条所述第二数据流中连续的H个符号来自至少F个不同码字,F≥E,每条所述第二数据流中连续的H个符号最多K1/K2个符号来自相同码字;
    所述第二分组交织器用于:对所述T条第二数据流中每条第二数据流进行第二分组交织得到S条目标数据流,以得到共m条目标数据流,m=T*S,S≥k1/K2。
  66. 根据权利要求65所述的数据处理装置,其特征在于,参与第一分组交织的n条通道数据流包括第三符号矩阵,所述第三符号矩阵包括n行A列个符号,所述A为所述a的倍数,经过第一分组交织后的T条第一数据流包括第四符号矩阵,所述第四符号矩阵包括T行C列个符号,所述T为所述n的约数,n*A=T*C;
    所述第三符号矩阵的一列中每连续T个符号为符号子矩阵,所述第四符号矩阵中每一列的T个符号分别与所述第三符号矩阵中每个符号子矩阵一一对应。
  67. 根据权利要求66所述的数据处理装置,其特征在于,所述第三符号矩阵中的符号子矩阵按第一顺序排列,所述第三符号矩阵中每列的第1行到第n行包括按所述第一顺序排列的第1个符号子矩阵到第n/T个符号子矩阵,所述第三符号矩阵的相邻两列中前一列的第n/T个符号子矩阵到后一列的第1个符号子矩阵为按所述第一顺序排列的连续2个符号子矩阵,所述第四符号矩阵中第1列的T个符号来自所述第三符号矩阵中按所述第一顺序排列的第一个符号子矩阵,依次类推,直到所述第四符号矩阵中第C列的T个符号来自所述第三符号矩阵中按所述第一顺序排列的最后一个符号子矩阵;
    或者,
    所述第三符号矩阵中的符号子矩阵按第二顺序排列,所述第三符号矩阵中每T行的第1列到第A行包括按所述第二顺序排列的第1个符号子矩阵到第A个符号子矩阵,所述第三符号矩阵的相邻两个连续T行中前T行的第A个符号子矩阵到后T行的第1个符号子矩阵为按所述第二顺序排列的连续2个符号子矩阵,所述第四符号矩阵中第1列的T个符号来自所述第三符号矩阵中按所述第二顺序排列的第一个符号子矩阵,依次类推,直到所述第四符号矩阵中第C列的T个符号来自所述第三符号矩阵中按所述第二顺序排列的最后一个符号子矩阵。
  68. 根据权利要求65至67中任一项所述的数据处理装置,其特征在于,所述卷积交织器具体用于:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整 数,p*E≥F,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储C个符号,p*C=H,每条第一数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入C个符号且单次输出C个符号,1条所述第二数据流中连续的p*C个符号包括每条延迟线输出的C个符号,所述Q为大于或等于1的整数。
  69. 根据权利要求68所述的数据处理装置,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,其中,C(p*Q+1)≥K1*K4。
  70. 根据权利要求68所述的数据处理装置,其特征在于,所述p条延迟线中序号最小的延迟线包括0个存储单元,其中,C(p*Q-1)≥K1*K4。
  71. 根据权利要求68至70中任一项所述的数据处理装置,其特征在于,每条所述第二数据流包括R个符号集合,每个所述符号集合包括p个符号子集,每个所述符号子集包括C个符号,p个符号子集分别由所述p条延迟线输出,每个符号集合中的符号来自至少F个不同码字,每条所述目标数据流包括F个符号,R*p*C=S*F,所述R为大于或等于的整数;
    所述目标数据流中F个符号来自至少个不同的符号子集,且所述个不同的符号子集中每个符号子集最多取K2*a个符号,所述表示对F/(K2*a)的商进行向上取整的整数。
  72. 根据权利要求71所述的数据处理装置,其特征在于,所述目标数据流中F个符号包括来自第一符号子集中的第一组符号和来自第二符号子集的第二组符号,所述第一符号子集和所述第二符号子集属于同一个符号集合,所述第一符号子集和所述第二符号子集分别由两条相邻的延迟线输出,所述第一符号子集中的符号和所述第二符号子集中的符号分别按次序排列,所述第一组符号在所述第一符号子集中的次序与所述第二组符号在所述第二符号子集中的次序不同;
    所述目标数据流中F个符号包括来自第三符号子集中的第三组符号和来自第四符号子集的第四组符号,所述第三符号子集和所述第四符号子集属于不同的符号集合,所述第三符号子集和所述第四符号子集由同一条延迟线输出,所述第三符号子集中的符号和所述第四符号子集中的符号分别按次序排列,所述第三组符号在所述第三符号子集中的次序与所述第四组符号在所述第四符号子集中的次序不同。
  73. 根据权利要求71或72所述的数据处理装置,其特征在于,每条所述目标数据流中F个符号最多有个符号来自相同的符号集合,所述表示对F/R的商进行向上取整的整数。
  74. 根据权利要求54至73中任一项所述的数据处理装置,其特征在于,所述数据处理装置还包括编码器,得到共m条所述目标数据流之后,所述编码器用于:
    对所述m条目标数据流分别进行第二FEC编码,所述第二FEC编码的信息位长度等于F个符号。
  75. 一种数据处理方法,其特征在于,包括:
    对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流,以得到共 m条第一数据流,n=q*t,m=q*s,所述n为大于1的整数,所述n能被所述q整除,所述q为大于或等于1的整数,所述t为大于或等于1的整数,所述s为大于或等于1的整数,所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,所述a≤所述b≤所述n,所述n能被所述b整除,所述a为大于或等于1的整数,每条通道数据流中每连续的a个符号来自a个不同的码字,且每条通道数据流中每连续的L1个符号来自至少a个不同的码字,L1=N*a/b,所述N表示所述码字的长度,所述t条通道数据流包括每条通道数据流中连续的a个符号共t*a个符号,所述t*a个符号包括每个符号中的Δ个比特共D个比特,D=Δ*t*a,所述D个比特在所述s条第一数据流中任一条第一数据流中连续,Δ=M/s,所述M表示一个符号包含的比特数;
    对所述m条第一数据流分别进行卷积交织得到m条第二数据流。
  76. 根据权利要求75所述的数据处理方法,其特征在于,每条所述第一数据流中每连续的d个符号来自v个不同的码字,且每条所述第一数据流中每连续的L2个符号来自至少v个不同的码字,所述v能被所述a整除,L2=t/s*L1,d=D/M。
  77. 根据权利要求75或76所述的方法,其特征在于,所述n=32,所述n条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。
  78. 根据权利要求77所述的方法,其特征在于,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  79. 根据权利要求78所述的方法,其特征在于,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
  80. 根据权利要求77所述的方法,其特征在于,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第2*i条通道数据流中第j组连续的β个比特与所述第2*i+1条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  81. 根据权利要求77所述的方法,其特征在于,所述t=2,所述s=2,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码字,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
  82. 根据权利要求81所述的方法,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第 个比特,0≤f<20,0≤g<2。
  83. 根据权利要求81所述的方法,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第 个比特,0≤f<20,0≤g<2。
  84. 根据权利要求77所述的方法,其特征在于,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  85. 根据权利要求77所述的方法,其特征在于,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  86. 根据权利要求77所述的方法,其特征在于,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  87. 根据权利要求77所述的方法,其特征在于,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  88. 根据权利要求77所述的方法,其特征在于,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  89. 根据权利要求77所述的方法,其特征在于,所述t=8,所述s=1,对n条通道数据流 中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  90. 根据权利要求75或76所述的方法,其特征在于,所述n=32,所述n条通道数据流中排序在前的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在后的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在前的连续16条通道数据流和排序在后的连续16条通道数据流来自不同的码字。
  91. 根据权利要求90所述的方法,其特征在于,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  92. 根据权利要求91所述的方法,其特征在于,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
  93. 根据权利要求90所述的方法,其特征在于,所述t=2,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第i条通道数据流中第j组连续的β个比特与所述第i+16条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  94. 根据权利要求90所述的方法,其特征在于,所述t=2,所述s=2,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第i条通道数据流和第i+16条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码 字,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
  95. 根据权利要求94所述的方法,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第 个比特,0≤f<20,0≤g<2。
  96. 根据权利要求94所述的方法,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第 个比特,0≤f<20,0≤g<2。
  97. 根据权利要求90所述的方法,其特征在于,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  98. 根据权利要求90所述的方法,其特征在于,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  99. 根据权利要求90所述的方法,其特征在于,所述t=4,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据 流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  100. 根据权利要求90所述的方法,其特征在于,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  101. 根据权利要求90所述的方法,其特征在于,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  102. 根据权利要求90所述的方法,其特征在于,所述t=8,所述s=1,对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流包括:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和 第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号至少来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  103. 根据权利要求75、76、77、78、79、80、81、82、83、90、91、92、93、94、95或96所述的方法,其特征在于,对1条第一数据流进行卷积交织得到1条第二数据流包括:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第二数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数。
  104. 根据权利要求103所述的方法,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,d(p*Q+1)≥L2,L2=t/s*L1;
    或者,
    所述p条延迟线中序号最小的延迟线包括0个存储单元,d(p*Q-1)≥L2,L2=t/s*L1。
  105. 根据权利要求103或104所述的方法,其特征在于,对所述m条第一数据流分别进行卷积交织得到m条第二数据流之后,所述方法还包括:
    对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流,每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*d。
  106. 根据权利要求75、76、77、84、85、86、87、88、89、97、98、99、100、101或102所述的方法,其特征在于,对1条第一数据流进行卷积交织得到1条第二数据流包括:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储4个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入4个符号且单次输出4个符号,1条所述第二数据流中连续的p*4个符号包括每条延迟线输出的4个符号,所述Q满足4(p*Q-1)≥272或者4(p*Q+1)≥272或者4(p*Q-1≥544或者4p*Q+1≥544。
  107. 根据权利要求106所述的方法,其特征在于,对所述m条第一数据流分别进行卷积交织得到m条第二数据流之后,所述方法还包括:
    对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流,每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*4。
  108. 根据权利要求75至102中任一项所述的方法,其特征在于,对1条第一数据流进行卷积交织得到1条第二数据流包括:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q;
    每个存储单元用于存储34个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入34个比特且单次输出34个比特,1条所述第二数据流中连续的p*34个比特包括每条延迟线输出的34个比特;或者,每个存储单元用于存储68个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入68个比特且单次输出68个比特,1条所述第二数据流中连续的p*68个比特包括每条延迟线输出的68个比特。
  109. 根据权利要求108所述的方法,其特征在于,p=2,每个存储单元用于存储68个比特,或者,p=4,每个存储单元用于存储34个比特。
  110. 一种数据处理装置,其特征在于,包括:分组交织器和卷积交织器;
    所述分组交织器用于:对n条通道数据流中的每t条通道数据流进行分组交织得到s条第一数据流,以得到共m条第一数据流,n=q*t,m=q*s,所述n为大于1的整数,所述n能被所述q整除,所述q为大于或等于1的整数,所述t为大于或等于1的整数,所述s为大于或等于1的整数,所述n条通道数据流都经过第一前向纠错FEC编码,所述第一FEC编码后的每a个码字分布在b条所述通道数据流中,所述a≤所述b≤所述n,所述n能被所述b整除,所述a为大于或等于1的整数,每条通道数据流中每连续的a个符号来自a个不同的码字,且每条通道数据流中每连续的L1个符号来自至少a个不同的码字,L1=N*a/b,所述N表示所述码字的长度,所述t条通道数据流包括每条通道数据流中连续的a个符号共t*a个符号,所述t*a个符号包括每个符号中的Δ个比特共D个比特,D=Δ*t*a,所述D个比特在所述s条第一数据流中任一条第一数据流中连续,Δ=M/s,所述M表示一个符号包含的比特数;
    所述卷积交织器用于:对所述m条第一数据流分别进行卷积交织得到m条第二数据流。
  111. 根据权利要求110所述的数据处理装置,其特征在于,每条所述第一数据流中每连续的d个符号来自v个不同的码字,且每条所述第一数据流中每连续的L2个符号来自至少v个不同的码字,所述v能被所述a整除,L2=t/s*L1,d=D/M。
  112. 根据权利要求110或111所述的数据处理装置,其特征在于,所述n=32,所述n条通道数据流中位于奇数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于偶数通道的16条通道数据流来自相同的码字,所述n条通道数据流中位于奇数通道的数据流和位于偶数通道的数据流来自不同的码字。
  113. 根据权利要求112所述的数据处理装置,其特征在于,所述t=2,所述s=1,所述分组交织器具体用于:
    对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的 2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  114. 根据权利要求113所述的数据处理装置,其特征在于,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
  115. 根据权利要求112所述的数据处理装置,其特征在于,所述t=2,所述s=1,所述分组交织器具体用于:
    对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第2*i条通道数据流中第j组连续的β个比特与所述第2*i+1条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  116. 根据权利要求112所述的数据处理装置,其特征在于,所述t=2,所述s=2,所述分组交织器具体用于:
    对第2*i条通道数据流和第2*i+1条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码字,所述第2*i条通道数据流中连续的2个符号和所述第2*i+1条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
  117. 根据权利要求116所述的数据处理装置,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
  118. 根据权利要求116所述的数据处理装置,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
  119. 根据权利要求112所述的数据处理装置,其特征在于,所述t=4,所述s=1,所述分组交织器具体用于:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每 连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  120. 根据权利要求112所述的数据处理装置,其特征在于,所述t=4,所述s=1,所述分组交织器具体用于:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  121. 根据权利要求112所述的数据处理装置,其特征在于,所述t=4,所述s=1,所述分组交织器具体用于:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流和第4*i+3条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  122. 根据权利要求112所述的数据处理装置,其特征在于,所述t=8,所述s=1,所述分组交织器具体用于:
    对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  123. 根据权利要求112所述的数据处理装置,其特征在于,所述t=8,所述s=1,所述分 组交织器具体用于:
    对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  124. 根据权利要求112所述的数据处理装置,其特征在于,所述t=8,所述s=1,所述分组交织器具体用于:
    对第8*i条通道数据流、第8*i+1条通道数据流、第8*i+2条通道数据流、第8*i+3条通道数据流、第8*i+4条通道数据流、第8*i+5条通道数据流、第8*i+6条通道数据流、第8*i+7条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  125. 根据权利要求110或111所述的数据处理装置,其特征在于,所述n=32,所述n条通道数据流中排序在前的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在后的连续16条通道数据流来自相同的码字,所述n条通道数据流中排序在前的连续16条通道数据流和排序在后的连续16条通道数据流来自不同的码字。
  126. 根据权利要求125所述的数据处理装置,其特征在于,所述t=2,所述s=1,所述分组交织器具体用于:
    对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  127. 根据权利要求126所述的数据处理装置,其特征在于,所述分组交织得到的1条第一数据流中连续的40个比特中第j个比特来自第条通道数据流中连续20个比特中的第个比特,所述表示向下取整,0≤j<40,所述β为1,2,4,5,10或20。
  128. 根据权利要求125所述的数据处理装置,其特征在于,所述t=2,所述s=1,所述分组交织器具体用于:
    对第i条通道数据流和第i+16条通道数据流进行分组交织得到1条第一数据流,0≤i<16,所述第i条通道数据流中第j组连续的β个比特与所述第i+16条通道数据流中第j组连续的β个比特在所述分组交织得到的1条第一数据流中连续,j≥0,所述β为1,2,4,5,10或20,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  129. 根据权利要求125所述的数据处理装置,其特征在于,所述t=2,所述s=2,所述分组交织器具体用于:
    对第i条通道数据流和第i+16条通道数据流进行分组交织得到第2*i条第一数据流和第2*i+1条第一数据流,0≤i<16,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的其中5个比特共20个比特在所述第2*i条第一数据流中连续,所述第2*i条第一数据流中每连续的20个比特来自4个不同的码字,所述第i条通道数据流中连续的2个符号和所述第i+16条通道数据流中连续的2个符号共4个符号中每个符号的另外5个比特共20个比特在所述第2*i+1条第一数据流中连续,所述第2*i+1条第一数据流中每连续的20个比特来自4个不同的码字。
  130. 根据权利要求129所述的数据处理装置,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
  131. 根据权利要求129所述的数据处理装置,其特征在于,第2*i+g条第一数据流中连续的20个比特中第f个比特来自第条通道数据流中连续20个比特中的第个比特,0≤f<20,0≤g<2。
  132. 根据权利要求125所述的数据处理装置,其特征在于,所述t=4,所述s=1,所述分组交织器具体用于:
    对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的连续2符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  133. 根据权利要求125所述的数据处理装置,其特征在于,所述t=4,所述s=1,所述分组交织器具体用于:
    对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号共8个符号在所述分组交织得到的1条第一数据流中连续,所述4条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号来自至少4个不同的码字、且每连续的272个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  134. 根据权利要求125所述的数据处理装置,其特征在于,所述t=4,所述s=1,所述分组交织器具体用于:
    对第2*i条通道数据流、第2*i+1条通道数据流、第2*i+16条通道数据流和第2*i+17条通道数据流共4条通道数据流进行分组交织得到1条第一数据流,0≤i≤7,所述4条通道数据流中每条通道数据流包括的第j个符号共4个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的4个符号来自4个不同的码字。
  135. 根据权利要求125所述的数据处理装置,其特征在于,所述t=8,所述s=1,所述分组交织器具体用于:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的连续2符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  136. 根据权利要求125所述的数据处理装置,其特征在于,所述t=8,所述s=1,所述分组交织器具体用于:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条 通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号共16个符号在所述分组交织得到的1条第一数据流中连续,所述8条通道数据流中每条通道数据流包括的第j组连续的2个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的16个符号来自至少4个不同的码字、且每连续的544个符号来自至少4个不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第8个符号、第9个符号、第10个符号和第11个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的16个符号的第12个符号、第13个符号、第14个符号和第15个符号分别来自不同的码字。
  137. 根据权利要求125所述的数据处理装置,其特征在于,所述t=8,所述s=1,所述分组交织器具体用于:
    对第4*i条通道数据流、第4*i+1条通道数据流、第4*i+2条通道数据流、第4*i+3条通道数据流、第4*i+16条通道数据流、第4*i+17条通道数据流、第4*i+18条通道数据流和第4*i+19条通道数据流共8条通道数据流进行分组交织得到1条第一数据流,0≤i≤3,所述8条通道数据流中每条通道数据流包括的第j个符号共8个符号在所述分组交织得到的1条第一数据流中连续,j≥0,所述分组交织得到的1条第一数据流中每连续的8个符号至少来自4个不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第0个符号、第1个符号、第2个符号和第3个符号分别来自不同的码字,所述分组交织得到的1条第一数据流中每连续的8个符号中的第4个符号、第5个符号、第6个符号和第7个符号分别来自不同的码字。
  138. 根据权利要求110、111、112、113、114、115、116、117、118、125、126、127、128、129、130或131所述的数据处理装置,其特征在于,所述卷积交织器具体用于:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储d个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入d个符号且单次输出d个符号,1条所述第二数据流中连续的p*d个符号包括每条延迟线输出的d个符号,所述Q为大于或等于1的整数。
  139. 根据权利要求138所述的数据处理装置,其特征在于,所述p条延迟线中序号最大的延迟线包括0个存储单元,d(p*Q+1)≥L2,L2=t/s*L1;
    或者,
    所述p条延迟线中序号最小的延迟线包括0个存储单元,d(p*Q-1)≥L2,L2=t/s*L1。
  140. 根据权利要求138或139所述的数据处理装置,其特征在于,所述数据处理装置还包括编码器,得到m条第二数据流之后,所述编码器用于:
    对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流,每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*d。
  141. 根据权利要求110、111、112、119、120、121、122、123、124、132、133、134、135、136或137所述的数据处理装置,其特征在于,所述卷积交织器具体用于:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储4个符号,每条通道数据流中的符号按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入4个符号且单次输出4个符号,1条所述第二数据流中连续的p*4个符号包括每条延迟线输出的4个符号,所述Q满足4(p*Q-1)≥272或者4(p*Q+1)≥272或者4(p*Q-1≥544或者4p*Q+1≥544。
  142. 根据权利要求141所述的数据处理装置,其特征在于,所述数据处理装置还包括编码器,得到m条第二数据流之后,所述编码器用于:
    对所述m条第二数据流分别进行第二FEC编码得到m条编码数据流,每条所述编码数据流中长度为K个符号的信息数据最多来自K个不同的码字,K≥p*4。
  143. 根据权利要求110至137中任一项所述的数据处理装置,其特征在于,所述卷积交织器具体用于:
    根据p条延迟线对1条第一数据流进行延迟得到1条第二数据流,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q;
    每个存储单元用于存储34个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入34个比特且单次输出34个比特,1条所述第二数据流中连续的p*34个比特包括每条延迟线输出的34个比特;或者,每个存储单元用于存储68个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入68个比特且单次输出68个比特,1条所述第二数据流中连续的p*68个比特包括每条延迟线输出的68个比特。
  144. 根据权利要求143所述的数据处理装置,其特征在于,p=2,每个存储单元用于存储68个比特,或者,p=4,每个存储单元用于存储34个比特。
  145. 一种数据处理方法,其特征在于,包括:
    根据p条延迟线对n条通道数据流分别进行延迟得到n条第一数据流,其中,所述n条通道数据流都经过第一前向纠错FEC编码,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储U个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入U个比特且单次输出U 个比特,1条所述第二数据流中连续的p*U个比特包括每条延迟线输出的U个比特,所述Q为大于或等于1的整数,所述U为大于或等于1的整数;
    对所述n条第一数据流分别进行第二FEC编码得到n条第二数据流,经过所述第二FEC编码后的所述第二数据流中每个码字的信息数据为所述p条延迟线单次输出的p*U个比特。
  146. 根据权利要求145所述的方法,其特征在于,p*U=120、136或160。
  147. 一种数据处理装置,其特征在于,包括:卷积交织器和编码器;
    所述卷积交织器用于:根据p条延迟线对n条通道数据流分别进行延迟得到n条第一数据流,其中,所述n条通道数据流都经过第一前向纠错FEC编码,所述p为大于1的整数,每条延迟线包括的存储单元数量各不相同,存储单元数量最小的延迟线包括0个存储单元,每相邻两条延迟线的存储单元数量的差值为Q,每个存储单元用于存储U个比特,每条通道数据流中的比特按照所述p条延迟线的序号依次输入所述p条延迟线,每条延迟线单次输入U个比特且单次输出U个比特,1条所述第二数据流中连续的p*U个比特包括每条延迟线输出的U个比特,所述Q为大于或等于1的整数,所述U为大于或等于1的整数;
    所述编码器用于:对所述n条第一数据流分别进行第二FEC编码得到n条第二数据流,经过所述第二FEC编码后的所述第二数据流中每个码字的信息数据为所述p条延迟线单次输出的p*U个比特。
  148. 根据权利要求147所述的数据处理装置,其特征在于,p*U=120、136或160。
PCT/CN2023/072099 2022-01-28 2023-01-13 一种数据处理方法和数据处理装置 WO2023143130A1 (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
CN202210109956 2022-01-28
CN202210109956.X 2022-01-28
CN202210290887.7 2022-03-23
CN202210290887 2022-03-23
CN202211065772 2022-09-01
CN202211065772.4 2022-09-01
CN202211305113.3 2022-10-24
CN202211305113 2022-10-24
CN202211448533 2022-11-18
CN202211448533.7 2022-11-18

Publications (1)

Publication Number Publication Date
WO2023143130A1 true WO2023143130A1 (zh) 2023-08-03

Family

ID=87470487

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/072099 WO2023143130A1 (zh) 2022-01-28 2023-01-13 一种数据处理方法和数据处理装置

Country Status (1)

Country Link
WO (1) WO2023143130A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779453A (zh) * 2007-08-07 2010-07-14 三星电子株式会社 具有用于均等差错保护(eep)和非均等差错保护(uep)的循环行列式比特交织器的数字通信系统和方法
US20100235706A1 (en) * 2006-06-09 2010-09-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver apparatus and receiver for a signal generated by the interleaver apparatus
CN107005353A (zh) * 2014-12-15 2017-08-01 索尼公司 涉及卷积交织的传输器和接收器及对应方法
CN113132058A (zh) * 2021-02-23 2021-07-16 龙文华丰(北京)科技有限公司 一种基于高斯约当消元的改进卷积交织盲识别算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235706A1 (en) * 2006-06-09 2010-09-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver apparatus and receiver for a signal generated by the interleaver apparatus
CN101779453A (zh) * 2007-08-07 2010-07-14 三星电子株式会社 具有用于均等差错保护(eep)和非均等差错保护(uep)的循环行列式比特交织器的数字通信系统和方法
CN107005353A (zh) * 2014-12-15 2017-08-01 索尼公司 涉及卷积交织的传输器和接收器及对应方法
CN113132058A (zh) * 2021-02-23 2021-07-16 龙文华丰(北京)科技有限公司 一种基于高斯约当消元的改进卷积交织盲识别算法

Similar Documents

Publication Publication Date Title
CN107370489B (zh) 结构化ldpc码的数据处理方法及装置
CN112165335B (zh) 发送设备和接收设备
KR20230110228A (ko) 송신 장치 및 그의 부가 패리티 생성 방법
KR101776273B1 (ko) 송신 장치 및 그의 부가 패리티 생성 방법
KR20090085627A (ko) 64b/66b 스크램블링과 양립가능한 다중 링크 송신을 위한 순방향 에러 정정 인코딩
WO1991017503A1 (en) Forward error correction code system
US20230268932A1 (en) Ethernet coding method and apparatus
KR20160100665A (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
CN104283637A (zh) 发送设备及其编码方法与接收设备及其解码方法
KR101970812B1 (ko) 송신 장치 및 그의 부가 패리티 생성 방법
KR20160100667A (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 1024-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR20160092350A (ko) 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR20160103906A (ko) 송신 장치 및 그의 부가 패리티 생성 방법
KR20160103907A (ko) 송신 장치 및 그의 부가 패리티 생성 방법
KR20160089765A (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR20160100669A (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR20180103793A (ko) 송신 장치 및 그의 세그먼테이션 방법
WO2023143130A1 (zh) 一种数据处理方法和数据处理装置
KR20160092352A (ko) 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
CN108199720B (zh) 一种减小存储开销和提高修复效率的节点修复方法及系统
WO2020183525A1 (ja) 符号化装置、復号装置、及び誤り訂正装置
KR20220139279A (ko) 가변 길이 시그널링 정보 부호화를 위한 패리티 펑처링 장치 및 이를 이용한 패리티 펑처링 방법
JP2023519407A (ja) データ通信のためのコーディング方法および装置
WO2023246477A1 (zh) 一种数据处理方法及数据处理装置
WO2023029880A1 (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: 23746012

Country of ref document: EP

Kind code of ref document: A1