WO2011137820A1 - 线路编、解码方法及装置、系统 - Google Patents

线路编、解码方法及装置、系统 Download PDF

Info

Publication number
WO2011137820A1
WO2011137820A1 PCT/CN2011/074587 CN2011074587W WO2011137820A1 WO 2011137820 A1 WO2011137820 A1 WO 2011137820A1 CN 2011074587 W CN2011074587 W CN 2011074587W WO 2011137820 A1 WO2011137820 A1 WO 2011137820A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
continuous data
data
bit continuous
converted
Prior art date
Application number
PCT/CN2011/074587
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 WO2011137820A1 publication Critical patent/WO2011137820A1/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
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a circuit coding and decoding method, apparatus, and system. Background technique
  • the high-speed link in the system formed by the interconnection between the radio base station and the base station controller usually performs line coding and line decoding when transmitting data, specifically: the data stream and the control word in the code stream at the transmitting end of the system. Encoding is performed and the encoded code stream is transmitted to the serial link. Accordingly, the receiving end of the system decodes the received code stream to recover the original data stream and control word.
  • the 64-bit code stream encodes 01 or 10 bits to obtain a 66-bit code stream.
  • the continuous 0 or continuous 1 length in the code stream obtained by this method is too long, which affects the inter-symbol interference (ISI) performance of the system, and the hopping in one codeword in the encoded code stream. Too much edge, the system's crosstalk performance is poor.
  • ISI inter-symbol interference
  • Embodiments of the present invention provide a circuit coding and decoding method, apparatus, and system, and improve electrical performance of line code transmission by establishing a new coding mechanism.
  • an embodiment of the present invention provides a line coding method, including: Encoding the code stream, including the payload of the data frame in the code stream, and performing n-bit continuous data of the same position in each of the at least b segments of each successive N bits to m-bit continuous Data conversion, the b is an integer greater than or equal to 2, the N, n and m are integers greater than zero, bxn ⁇ N, m >n;
  • the encoded code stream is output.
  • the embodiment of the invention further provides a line decoding method, including:
  • Decoding the code stream including a payload of a data frame in the code stream, and m-bit continuous data of the same position in each of at least b segments of each successive N-bn+bm-bit continuous data Performing conversion of n-bit continuous data, where b is an integer greater than or equal to 2, and the N, n, and m are integers greater than zero, bxn ⁇ N, m>n;
  • the decoded code stream is output.
  • an embodiment of the present invention provides a line coding apparatus, including:
  • An encoding module configured to encode a code stream, including a payload of a data frame in the code stream, and n consecutive data of the same position in each of at least b segments of each successive N bits, Performing conversion to m-bit continuous data, the b is an integer greater than or equal to 2, and the N, n, and m are integers greater than zero, bxn ⁇ N, m>n;
  • a first output module configured to output a code stream that is encoded by the encoding module.
  • An embodiment of the present invention provides a line decoding apparatus, including:
  • a receiving module configured to receive a code stream
  • a decoding module configured to decode the code stream, including a payload of a data frame in the code stream, and the same position in each of at least b segments of each consecutive N-bn+bm bits of continuous data
  • the m-bit continuous data is converted into n-bit continuous data, the b is an integer greater than or equal to 2, and the N, n, and m are integers greater than zero, bxn ⁇ N, m>n;
  • a second output module configured to output the code stream decoded by the decoding module.
  • An embodiment of the present invention further provides a line codec system, including the line coding device as described above. Set and line decoding device.
  • the implementation of the present invention is a flat, horse method, system, and the data frame in the code stream has « ⁇ ⁇ sells n ⁇ in the same position in each of the N segments i ⁇ history, the conversion to the ⁇ history data, and the N-bxiHi t period is not changed 3 ⁇ 4 ⁇ , thus reducing the sale of ' ⁇ ' to sell ' ⁇ , the improvement of 3 ⁇ 4 ⁇ ⁇ ⁇ isi performance; ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ , , isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi isi
  • FIG. 1 is a flowchart of an embodiment of a line coding method provided by the present invention.
  • FIG. 2 is a schematic diagram of coding of a 32B/34B line coding method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of coding of another 32B/34B line coding method according to the present invention
  • FIG. 4a is a conventional 5B/6B a code table of the data stream
  • Figure 4b is a coding table of the existing 5B/6B data stream
  • Figure 5 is a coding table of a conventional 5B/6B control code stream
  • FIG. 6 is a schematic diagram of coding of another 32B/34B line coding method according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of coding of a 32B/35B line coding method according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of performing CRC protection in an embodiment of a line coding method according to an embodiment of the present invention
  • FIG. 10 is a coding table of a conventional 3B/4B data code stream;
  • Figure 10b is a coding table of a conventional 3B/4B data stream
  • 11 is a schematic diagram of coding of another embodiment of a 32B/34B line coding method according to the present invention
  • 12 is a flow chart of an embodiment of a method for line decoding according to the present invention
  • FIG. 13 is a schematic structural diagram of an embodiment of a line coding apparatus according to the present invention.
  • FIG. 14 is a schematic structural diagram of another embodiment of a line coding apparatus according to the present invention.
  • FIG. 15 is a schematic structural diagram of an embodiment of a line decoding apparatus according to the present invention.
  • 16 is a schematic structural diagram of another embodiment of a line decoding apparatus according to the present invention.
  • 17 is a schematic structural diagram of a line codec system provided by the present invention.
  • FIG. 18 is a schematic diagram of performing FEC protection in an embodiment of a line coding method according to the present invention. detailed description
  • FIG. 1 is a flowchart of an embodiment of a line coding method according to the present invention. As shown in FIG. 1, the line coding method includes:
  • S101 Encode a code stream, including a payload of a data frame in the code stream, and perform n-bit continuous data in the same position in each of at least b segments of each successive N bits to m Bit continuous data conversion, the b is an integer greater than or equal to 2, the N, n and m are integers greater than zero, bxn ⁇ N, m > n;
  • the encoding end first performs framing processing on the service data before performing encoding, and then performs an encoding operation.
  • the encoded code stream may be a data stream or a control stream (ie, a control word); or, the encoded stream includes both a data stream and a control stream.
  • encoding the consecutive N bits into one coding unit specifically: encoding n consecutive data of the same position in each of at least b segments of each consecutive N bits. Convert n-bit continuous data into m-bit continuous data. N-bit continuous data and m-bit continuous data There may be a certain correspondence between the two, and the corresponding relationship may be preset. The correspondence between the n-bit continuous data and the m-bit continuous data may be established by using a mapping table or a line coding table.
  • An n-bit continuous data may correspond to one or more m-bit continuous data, but one m-bit continuous data uniquely corresponds to one n-bit continuous data, so that at the decoding end, one original code n-bit continuous data can be uniquely determined according to m-bit continuous data.
  • one m-bit continuous data may be selected for encoding in one or more m-bit continuous data corresponding to n-bit continuous data; at the time of decoding, unique corresponding n-bit continuous data is found to be decoded according to m-bit continuous data.
  • n-bit continuous data of the same position in each of at least b segments of each successive N-bit may be encoded, and b is an integer greater than or equal to 2, b
  • the number of bits in each segment may be the same or different.
  • n consecutive bit data of the same position in each of the two segments are encoded.
  • the starting position of n consecutive bits may be located in the first bit in each segment, or may be located in a certain bit in the middle of each segment.
  • the number of bits in each of the at least b segments of the consecutive N bits may be encoded and converted by bit continuous data. Therefore, when selecting the b segment, the number of bits in each segment should be greater than Or equal to n. Unless otherwise specified, the following description is in the case where the number of bits in each segment is greater than or equal to n.
  • continuous n-bit continuous data of the same position in each of the consecutive N bits is converted into n-bit continuous data to m-bit continuous data, that is, the original data is replaced by m-bit continuous data.
  • n bits of continuous data, while other N-bxn bit data is not processed.
  • the length of the consecutive 0 is: "N,” of the N-bxn bits of the consecutive N bits that have not been converted.
  • the length, which is adjacent to the length of the "0" is the sum of the lengths of "0" consecutive n-bit continuous data converted to m-bit continuous data.
  • the length of the consecutive 1 is: Continued N The length of the mid-link ' ⁇ of the data of the N-bxn bits that have not been converted in the bit, adjacent to the length of the "1", and the continuous data of the b consecutive n bits are converted to m-bit continuous data. Even " ⁇ , the length, the sum.
  • the crosstalk performance of the system mainly depends on the edge of a codeword (ie, a coding unit). If there are more transition edges in a codeword (ie, from 0 to 1 or from 1 to 0) , the crosstalk performance of the system is relatively poor.
  • the ISI performance of the system mainly depends on the length of the "0,, and even "1" in the code stream. Even the lengths of ''' and even "1" are too long, which affects the ISI performance of the system.
  • the line coding method provided by the embodiment of the present invention may be set according to the requirement of the electrical performance of the system, or the empirical value of the length of the continuous "0,, length or continuous" in the system with better electrical performance.
  • the value of b, n, and m is further determined by the threshold value, and specifically, the threshold value is "0" of each m-bit continuous data in the mapping table of the n-bit continuous data and the m-bit continuous data correspondence table.
  • the maximum length of the length, as well as the maximum length of each of the m-bit continuous data is “0" of each m-bit continuous data in the mapping table of the n-bit continuous data and the m-bit continuous data correspondence table.
  • the length of consecutive "0”, and the length of consecutive "1" in the encoded code stream does not exceed a certain threshold.
  • the probability of occurrence of a transition edge in one codeword is changed.
  • the encoded code stream After encoding the code stream, the encoded code stream is output, processed and converted to a high speed serial link.
  • the line coding method provided in this embodiment performs, for the payload of the data frame in the code stream, n consecutive data of the same position in each of the at least b segments of each successive N bits to m-bit continuous
  • the conversion of data, but not the other N-bxn bit data is not transcoded, thereby reducing the continuous "0" and the continuous " ⁇ " length, improving the ISI performance of the code transmission; in addition, reducing the intra-code hopping
  • the probability of occurrence of a variable edge improves the crosstalk performance of the system. Therefore, the line coding method provided by this embodiment can effectively improve the electrical performance during channel transmission.
  • the present invention provides another line coding embodiment.
  • n-bit continuous data to m-bit connection can be performed according to the n/m line coding table.
  • each n-bit continuous data in the n/m line coding table corresponds to a m-bit continuous data with a polarity deviation RD (Running Disparity) being negative and/or a m-bit continuous with a polarity deviation RD being positive.
  • RD a number defining 0 in the m-bit continuous data whose definition RD is negative is greater than or equal to 1
  • RD is the number of 0s of positive m-bit continuous data less than or equal to 1.
  • the n/m line coding table can also be a commonly used coding table such as 4B/5B, 8B/9B or 8B/10B.
  • the conversion of n-bit continuous data to m-bit continuous data is performed according to the 5B/6B encoding table.
  • 32 bits are used as a coding unit for encoding, that is, N is 32, and n is 5. , m is 6.
  • it is also possible to continuously operate n bits of the same position in three (b 3) or more of every 32 consecutive bits.
  • the data is encoded.
  • Figure 2 shows that in consecutive 32-bit continuous data, the starting position of the 5 consecutive bit data converted in each segment is the first bit of each segment. This is only a feasible implementation. In fact, the two sets of 5 consecutive bits that are converted can also be located at the end of each segment or The same intermediate arbitrary position (as shown in Fig. 3, the 5 consecutive bits in the first segment are preceded by K bits followed by L bits, and the same, the 5 consecutive segments in the second segment are converted There are K bits in front of the bit, followed by L bits, and K and L are integers greater than zero).
  • the 5B/6B code table for performing 5-bit continuous data to 6-bit continuous data conversion can be as shown in FIG. 4a.
  • the "original code” column indicates: 5-bit continuous data code stream;
  • the column with positive polarity deviation RD (RD+) indicates: the number of "1"s in the 6-bit continuous data obtained after the code conversion is greater than or equal to the number of "0";
  • the column with the deviation RD being negative (RD-) indicates: In the 6-bit continuous data obtained after the encoding conversion, the number of " ⁇ " is less than the number of "0,".
  • the 5B/6B encoding table for performing 5-bit continuous data to 6-bit continuous data conversion can also be as shown in FIG. 4b.
  • the "original code” column indicates: 5-bit continuous data to be converted.
  • the code stream; the column with the polarity deviation RD being positive (RD+) indicates that the number of "1"s is greater than or equal to the number of "0" in the 6-bit continuous data obtained after the coding conversion; the polarity deviation is RD
  • the negative column (RD-) indicates: In the 6-bit continuous data obtained after the encoding conversion, the number of " ⁇ " is less than or equal to the number of "0,".
  • the data corresponding to RD- and RD+ may be the same.
  • the data corresponding to RD- and RD+ may be the same, because if When the data corresponding to RD+ is flipped, it is possible that the RD+ and RD- corresponding to different original codes are the same, causing repetition and confusion in the decoding segment.
  • the data of RD+ corresponding to the original code 00110 is 011001
  • the data of RD- is the same as 011001. If the data of RD- is inverted, the data of RD- is 100110, and the original The data of RD+ corresponding to code 11001 is the same, which is confusing at the decoding end.
  • the 5B/6B code table for performing 5-bit to 6-bit conversion can be as shown in FIG. 5.
  • the "original code” column indicates: 5-bit control code stream;
  • column with positive polarity deviation RD is: In the 6-bit continuous data obtained after code conversion, " ⁇ , the number of times is greater than or equal to "0";
  • polarity deviation RD is negative
  • Column representation 6 bits after encoding conversion In the bit continuous data, the number of ' ⁇ , the number is less than or equal to "0".
  • the data stream or the control code stream according to the transmitted code stream can be found in the "original code” column in FIG. 4a, FIG. 4b or FIG. 5-bit continuous data, one of the 6-bit continuous data in the "RD-" column or the "RD+” column is selected as the converted 6-bit continuous data in the row of the 5-bit continuous data to be converted.
  • n-bit continuous data to be converted (here, to be changed)
  • the rotated n-bit continuous data refers to the n-bit continuous data to be converted at the same position in each segment, and the meaning in the following embodiments is converted to the corresponding m-bit in the n/m line coding table.
  • Continuous data if the number of 0s is greater than 1, the n-bit continuous data to be converted is converted into m-bit continuous data in which the corresponding RD in the n/m line coding table is positive.
  • the intermediate output encoded code stream (including: the bit converted according to the 5B/6B encoding table, and In the converted bit), the number of "0" and “ ⁇ , if "0,” is more than "1", then in the 5B/6B encoding table, the 6-bit continuous data of the corresponding RD+ column is selected. To perform conversion, if "0" is less than " ⁇ ,” in the 5B/6B encoding table, the 6-bit continuous data of the corresponding RD-column is selected.
  • the former selection method performs a "0" "1" statistic.
  • This statistic method can usually be encoded and converted according to the 5B/6B encoding table shown in Fig. 4b.
  • the polarity deviation of the code stream before the N-bit continuous data to be encoded is not performed.
  • the polarity deviation of the converted N-bxn bit data is consistent;
  • the number of 0 is less than 1, and the other result is 0.
  • the number of 0 is greater than 1, if the code of the N-bit continuous data to be encoded is before The polarity deviation of the stream does not coincide with the polarity deviation of the above-described N-bxn bit data that is not converted.
  • the selection method specifically includes:
  • the result of both statistics is 0, the number of 0 is less than 1, or the number of 0 is greater than 1.
  • the polarity deviation of the code stream before the N-bit continuous data to be encoded and the above The polarity deviation of the N-bxn bit data that is not converted is consistent, and the n-bit continuous data to be converted can be converted into m-bit continuous data in which the corresponding RD in the n/m line coding table is negative;
  • the result of the primary statistics is that the number of zeros is less than one, and the other statistical result is the number of zeros greater than one (in this case, the code before the N-bit continuous data to be encoded)
  • the polarity deviation of the stream is inconsistent with the polarity deviation of the N-bxn bit data not converted above, and the n-bit continuous data to be converted can be converted into a positive RD in the n/m line coding table.
  • M-bit continuous data such that the polarity deviation of the code stream before the N-bit continuous data to be encoded and the polarity deviation of the N-bxn-bit data not converted are selected to be selected in the n/m line coding table.
  • the way of continuous data, through RD is negative m Continuous data to indicate whether the receiving end is not N-bxn bit data conversion is inverted.
  • m-bit continuous data may be: if the result of the two statistics is 0, the number of 0 is less than 1, or the number of 0 is greater than 1, the n bits to be converted may be Continuous data conversion into m-bit continuous data in which the corresponding RD in the n/m line coding table is positive; if two statistics are knotted If the result of one statistic is 0, the number of 0 is less than 1, and the result of another statistic is 0, the number of 0 is more than 1, and the n-bit continuous data to be converted can be converted into the n/m.
  • the corresponding RD in the line code table is negative m-bit continuous data.
  • the n/m line coding table is selected according to whether the polarity deviation of the code stream before the N-bit continuous data to be encoded and the polarity deviation of the N-bxn bit data not converted are identical.
  • the RD is positive m-bit continuous data to indicate whether the receiving end flips the N-bxn bit data that has not been converted.
  • the intermediate output encoded code stream (including: the converted bit according to the 5B/6B encoding table) , and the number of untransformed bits), "0" and “ ⁇ , the number of the 32-bit coding units to be encoded, which do not need to be converted (N-bxn), "0 The number of "and” 1".
  • the order of these two statistics can be in no particular order.
  • both statistics are "0, the number of digits is greater than the number of ⁇ , or both are "0, the number of digits is less than the number of "1", then the 5B/6B encoding table
  • the data of the corresponding RD-column is selected as the encoded data; if two statistics are used, one is “0, the number of digits is greater than the number of ⁇ , and the other is the ratio of "0".” If the number of 1" is small, the data of the corresponding RD + column is selected as the encoded data in the 5B/6B coding table; that is, whether the receiving end does not convert the N by using the m-bit continuous data with negative RD. -bxn bit data is flipped.
  • the number of the corresponding RD+ column is selected as the encoded data; if two statistics are, one is “0, the number of digits is greater than " ⁇ ", and the other is the ratio of "0" " ⁇ , the number of the number is small, then the corresponding RD-column data is selected as the encoded data in the 5B/6B code table. That is, the RD is positive m-bit continuous data to indicate whether the receiving end is not converted. The N-bxn bit data is flipped.
  • Whether or not to flip the N-bxn bit data that has not been converted depends mainly on the polarity deviation of the code stream before the N-bit continuous data to be encoded, and the N-bit that is not converted in the N-bit continuous data to be encoded. Polarity deviation of bxn bit data.
  • the polarity deviation of the code stream before the N-bit continuous data to be encoded is consistent with the polarity deviation of the N-bxn bit data not converted, that is, the polarity deviation is positive, or the polarity deviation is negative.
  • the N-bxn bit data that is not converted can be flipped;
  • the polarity deviation of the N-bxn bit data is inconsistent, that is, when the polarity deviation of the two is one positive and one negative, the N-bxn bit data that is not converted may not be inverted.
  • the polarity deviation of the N-bxn bit data can be determined by the number of 0s and 1s in the code stream. As described in the previous embodiment, the following is: if the number of 0s in the code stream before the N-bit continuous data to be encoded is greater than the number of 1, the polarity deviation of the code stream before the N-bit continuous data to be encoded is If the number of 1s in the code stream before the N-bit continuous data to be encoded is greater than 0, the polarity deviation of the code stream before the N-bit continuous data to be encoded is negative.
  • the polarity deviation of the N-bxn bit data that is not converted is positive; if the N-bxn bit is not converted When the number of 1s in the data is greater than 0, the polarity deviation of the N-bxn-bit data that is not converted is negative.
  • the code stream before the N-bit continuous data to be encoded and the N-bxn bit data not converted are the number of 0s greater than 1, or the number of 1s is greater than 0, Then, the N-bxn bit data that has not been converted can be flipped; if the code stream before the N-bit continuous data to be encoded and the N-bxn bit data that is not converted, the number of 0 is greater than 1 When another number of 1 is greater than 0, the N-bxn bit data that has not been converted is not inverted.
  • the code stream can be scrambled before encoding to further improve the performance of the coded DC balance, see Figure 6.
  • a flag bit is added before the code stream obtained after each N bit encoding to verify the encoded code. Whether there is an error in the code stream, see Figure 7, where a is an integer greater than zero.
  • the flag bit can be a parity bit, a Forward Error Correction (FEC) bit, or a Cyclic redundancy check (CRC) bit.
  • the parity bit is used to display the bit After the parity bit, the number of consecutive ax(N-bn+bm) bits before the other parity bit is 1, and the number is odd or even, so that the receiving end receives the code stream, according to The parity bit determines: ' ⁇ , number, and parity in consecutive ax (N-bn+bm) bits before another parity bit after the parity bit in the received code stream Whether the odd or even number displayed by the bit matches, to know whether the received code stream is correct.
  • the FEC bit is used to display: FEC check/correction protection is performed on a certain coding module in a scenario where the bit error rate is high. Since there are many FEC overhead bits, multiple coding blocks are needed for protection processing. At the receiving end, the FEC bit can be checked according to the received FEC. If the bit error rate needs to be further improved, FEC error correction processing can be performed.
  • each successive 32-bit coding unit is encoded to obtain 35 bits, that is, 32 ⁇ /35 ⁇ , and the FEC protection bits are used to evaluate the codeless performance of the physical layer link, and can be further used for error correction of errors.
  • the first 32 bits are used to store 32-bit FEC protection bits.
  • the latter 32 bits are used to store the toggle bit of the 32-bit FEC protection bit to ensure the DC balance performance of the FEC protection bit.
  • the user can choose to implement the FEC error correction function to correct the link error and improve the error performance.
  • the added flag bit can also be a CRC check bit.
  • the CRC protection bit is used to evaluate the physical layer link error performance.
  • a CRC block can be formed by four 32B/35B coding units, that is, CRC-4 is an example, CRC-4.
  • the polynomial is:
  • every 32 32B/35B coding units can also be combined into one FEC block. Since each successive 32-bit coding unit is encoded to obtain 35 bits, i.e., 32B/35B, an FEC protection bit is used to evaluate the codeless performance of the physical layer link. When every 32 32B/35B coding units form a FEC block, 32 FEC protection bits are required.
  • CRC-8, 0 ⁇ -16, and 0 ⁇ -32 can be used, that is, a CRC block is composed of 8, 16, or 32 32B/35B coding units for CRC check.
  • the receiving end can detect whether the encoded m-bit continuous data is correct according to the n/m encoding table, that is, the physical layer detection and error correction processing can be performed on the encoding portion.
  • the line coding method provided in this embodiment does not perform any processing on other data by converting data of a part of the 32 bits, and the maximum length of the obtained 35 bits is 16
  • the maximum length of the connection is 16 (maximum run length), which improves the ISI performance of the code transmission.
  • the average edge density is 40%, which improves the crosstalk performance of the system and realizes the inter-code interference of the line coding.
  • crosstalk balance this embodiment also improves the DC balance characteristic of the code, and also provides physical layer detection for the coded code stream, improving the electrical performance of the code transmission.
  • the present invention also provides another specific embodiment to illustrate the specific implementation of the line coding.
  • the m-bit continuous data passing through RD is used to indicate whether the receiving end is not in progress.
  • the row-converted N-bxn bit data is inverted.
  • the RD is positive m-bit continuous data to indicate whether the receiving end flips the N-bxn bit data that has not been converted, the encoding mode is similar. Let me repeat. See Table 1 and Table 2:
  • Table 2 In Tables 1 and 2, ' ⁇ : X' is expressed as: From the Xth to the Yth bits of the code stream to be transmitted, for example: "10:0” is expressed as: From the 0th bit to the 10th bit. "34" in Table 1 indicates: the 34th bit.
  • N 32, b is 2, and n is 5.
  • the N-bxn bit continuous data that does not need to be converted includes data of [26:16] and [10:0] bits, and data of bits to be converted. The data on the [31:27] and [15:11] bits.
  • the N-bxn bit contiguous data of the 32-bit bitstream that does not need to be converted includes data of [26:16] and [10:0] bits, which is [27 in the 34-bit bitstream). 17] and [10:0] bits of data.
  • the data of the [27: 17] and [10:0] bits may not be flipped, specifically: If there is no 6-bit corresponding to the [33:28] bit in the RD-column of the code table Continuous data, in the RD-column of the code table, there is no 6-bit continuous data corresponding to the [16:11] bits, then the data of the [27:17] and [10:0] bits are not inverted, in the coding table In , select the number of corresponding " RD + " columns According to the data of the [33:28] bits after encoding; the data of the corresponding "RD + " column is selected as the data of the encoded [16:11] bits.
  • Tables 1 and 2 is a 6-bit continuous data with RD being negative to indicate that the receiving end is flipping 22-bit data that has not been converted.
  • the data can be filled in the RD-column in the table in Fig. 4a, and the corresponding data is deleted in the RD+ column.
  • the coding method is similar to the above, and will not be described here.
  • the polarity deviation of the code stream before the 32-bit continuous data to be encoded is inconsistent with the polarity deviation of the 22-bit data that is not converted, that is, when the polarity deviation between the two is positive and negative, then the The 22-bit data that is not converted is flipped.
  • the above-mentioned 22-bit data has not been inverted by the 6-bit continuous data whose RD is negative. That is, a similar conversion is performed according to the coding table in Fig. 4a, that is, whether or not there is 6-bit data corresponding to 5-bit data to be encoded in the RD-column of the coding table.
  • the coding method is similar, except that the 6-bit continuous data is negative by RD to indicate that the receiver does not flip the above 22-bit data.
  • encoding conversion can also be performed according to the 3B/4B encoding table, see the 3B/4B encoding table shown in FIG. 10a and FIG. 10b. , that is, n is 3 and m is 4. It should be noted that, in this embodiment, the positioning of the 3B/4B encoding table, RD+ and RD- in Figs. 10a and 10b is as defined in the second definition.
  • the 3B/4B code table for performing 3-bit continuous data to 4-bit continuous data conversion can be as shown in Fig. 10a or Fig. 10b.
  • the "original code” column indicates: 3-bit continuous data code stream to be converted;
  • the column with the deviation RD being positive (RD+) indicates: In the 4-bit continuous data obtained after the encoding conversion, " ⁇ , The number is less than or equal to "0"; the column with the polarity deviation RD being negative (RD-) means: In the 4-bit continuous data obtained after the encoding conversion, " ⁇ , the number is greater than or equal to "0, , the number.
  • the data corresponding to RD- and RD+ are the same.
  • the 3B/4B encoding table for performing 3-bit continuous data to 4-bit continuous data conversion may also be as shown in FIG. 10b.
  • the "original code” column indicates: 3-bit continuous data to be converted.
  • the code stream; the column with the polarity deviation RD being positive (RD+) indicates: In the 4-bit continuous data obtained after the coding conversion, "the number of ⁇ , the number is greater than or equal to "0"; the polarity deviation is RD
  • the negative column (RD-) indicates: In the 4-bit continuous data obtained after the encoding conversion, the number of " ⁇ " is less than or equal to the number of "0,".
  • the 6-bit obtained after the encoding conversion In the bit continuous data, when the number of " ⁇ " is equal to "0,", the data corresponding to RD- and RD+ can be the same.
  • the three consecutive bit data to be converted may be located at any position in each segment, for example: the first 3 bits that may be located in each segment, or may be located at the last 3 bits in each segment, or may be located Any intermediate position in each segment, the three consecutive bits converted in the first segment and the second segment, each having K bits in front, followed by L bits, where K and L are both greater than zero The integer.
  • the conversion of the bits that are not converted is similar to that in Table 1, which is shown in Table 2.
  • FIG. 12 is a flowchart of a method for decoding a line according to the present invention. As shown in FIG. 12, the line decoding method includes:
  • S201 receiving a code stream
  • S202 Decode the code stream, including the payload of the data frame in the foregoing code stream, and continuously transmit m-bit continuous data in the same position in each of the at least b segments in each consecutive N-bn+bm-bit continuous data.
  • n-bit continuous data where b is an integer greater than or equal to 2, and the above N, n, and m are integers greater than zero, bxn ⁇ N, m>n;
  • the decoding operation is performed by decoding a continuous N-bn+bm bit as a decoding unit, and the code stream received by the decoding end is usually serial data, so before decoding the code stream,
  • the encoded code stream needs to be serialized and processed.
  • the received code stream may be a data stream or a control stream (i.e., a control word); or, both a data stream and a control stream.
  • the code stream subjected to line coding is mainly decoded to recover the code stream before line coding.
  • the decoding end and the encoding end follow the same encoding and decoding mechanism, that is, the encoding end uses the encoding method, and the decoding end also uses the corresponding method for decoding.
  • encoding when encoding a code stream, encoding is performed by using consecutive N bits as one coding unit, specifically for each of at least b segments of each consecutive N bits.
  • the n-bit continuous data of the same position is encoded, and the n-bit continuous data is converted into m-bit continuous data.
  • An n can correspond to a plurality of m-bit continuous data, but one m-bit continuous data uniquely corresponds to one n-bit continuous data, so that only one original code n-bit continuous data can be determined according to the m-bit continuous data during decoding.
  • one m-bit continuous data may be selected for encoding among a plurality of m-bit continuous data corresponding to n-bit continuous data.
  • the decoding end encodes according to the correspondence between n-bit continuous data and m-bit continuous data in the mapping table, regardless of the m-bit continuous data or the n-bit continuous The data should all be found in the mapping table.
  • the unique corresponding n-bit continuous data is found to be decoded based on the m-bit continuous data.
  • the n-bit continuous data of the same position in each of the at least b segments of each of the consecutive N bits is successively transmitted to the m-bit by the payload of the data frame in the code stream. Data conversion, while other N-bxn bit data is not encoded.
  • the decoding end only some of the bits that are encoded are decoded, while other bits that are not encoded are not processed.
  • the length of the connection 1 is: the continuous connection of the data of the N-bxn bits of the N bits that have not been converted. Length, adjacent to the length of the "1”, b consecutive n-bit continuous data is converted to m-bit continuous data and then " ⁇ , the length, the sum; the length of the consecutive 0 is: consecutive N bits are not.
  • the length of the N-bxn bits of the conversion process is "0", adjacent to the length of the "0", and the b consecutive n-bit continuous data is converted to m-bit continuous data and then "0" Length, sum.
  • the encoded code stream can be set continuously according to the requirements for the electrical performance of the system, or the length of the continuous "0" or the continuous “length” of the continuous electrical system in the system with better electrical performance.
  • the value of b, n, and m is further determined by the threshold value, and specifically, the threshold value is “0” in each m-bit continuous data in the mapping table of the n-bit continuous data and the m-bit continuous data correspondence table.
  • the decoding end the m-bit continuous data of the same position in each of the consecutive N-bn+bm bits in the payload of the data frame in the code stream is performed.
  • the conversion of bit-continuous data to n-bit continuous data, and the correspondence between m-bit continuous data and n-bit continuous data in the conversion is the same as that of the encoding end.
  • the line decoding method provided in this embodiment provides m-bit continuous data of the same position in each of at least b segments in each consecutive N-bn+bm-bit continuous data of the payload of the data frame in the received code stream. , converting m-bit continuous data to n-bit continuous data, reducing the length of continuous "0" and continuous "1", improving the ISI performance of the coded transmission; in addition, reducing the probability of occurrence of a transition edge within a codeword The crosstalk performance of the system is improved. Therefore, the line coding method provided in this embodiment can effectively improve the electrical performance during channel transmission.
  • n-bit continuous data to m-bit continuous data can be converted according to the n/m line coding table, each of the n/m line coding tables.
  • An n-bit continuous data corresponds to m-bit continuous data having a polarity deviation RD being negative and/or a m-bit continuous data having a polarity deviation RD being positive, and RD is a negative m-bit continuous data in which the number of 0 is less than or equal to The number of 1s, RD is the number of 0s of positive m-bit continuous data greater than or equal to 1.
  • the n/m line coding table can also be a commonly used coding table such as 4B/5B, 8B/9B or 8B/10B.
  • the conversion of the m-bit continuous data to the n-bit continuous data is performed according to the same n/m line coding table as the encoding end, and each n-bit continuous data in the n/m line coding table corresponds to one
  • the polarity deviation RD is a negative m-bit continuous data and a polarity deviation RD is a positive m-bit continuous data, and the RD is a negative m-bit continuous data in which the number of 0 is less than or equal to 1.
  • RD is the number of zeros in the positive m-bit continuous data that is greater than or equal to one.
  • the encoding end after the encoding end performs encoding, if the polarity deviation of the code stream before the N-bit continuous data to be encoded is consistent with the polarity deviation of the N-bxn bit data that is not converted, the encoding end further performs no The converted N-bxn bit data is inverted; if the polarity deviation of the code stream before the N-bit continuous data to be encoded is inconsistent with the polarity deviation of the N-bxn bit continuous data not converted, then no conversion is performed. The N-bxn bit data is flipped.
  • the flipping operation is specifically: changing “0,” to “1” and “1” to “0”, and further adjusting the "0" "1” in the encoded code stream by the flipping operation If the encoding end has been flipped, therefore, at the decoding end, the N-bxn bit data needs to be flipped.
  • the encoding end does not need to flip the N-bxn bit data that has not been code-converted;
  • the encoding side needs to invert N-bxn-bit data which has not been subjected to transcoding; if two sets of 5-bit data for encoding conversion are performed, Group converted to RD+ 6-bit data, another group converted In the case of 6-bit data of RD-, the encoder side also needs to flip the N-bxn-bit continuous data that has not been code-converted.
  • N-bxn without encoding conversion is required.
  • the bit data is flipped. Therefore, the decoding end can determine whether it is necessary to flip the N-bxn bit continuous data that has not undergone transcoding, specifically: the decoding end determines that if there is continuous N-bn+bm bit continuous data, there is a negative RD.
  • the bit continuous data flips the N-bxn bit continuous data that has not been converted.
  • the polarity deviation of the code stream before the N-bit continuous data to be encoded and the polarity deviation of the N-bxn bit data not converted may be selected in the n/m line coding table.
  • RD is positive or RD is negative m-bit continuous data, specifically:
  • the n-bit continuous data of the same position in each segment to be converted is converted.
  • the corresponding RD in the n/m line coding table is negative m-bit continuous data
  • the n-bit continuous data of the same position in each segment to be converted is converted into n
  • the corresponding RD in the /m line coding table is positive m-bit continuous data.
  • the encoder uses the m-bit continuous data with negative RD to indicate whether the receiver needs to flip the N-bxn bit data that has not been converted.
  • Another way to select m-bit continuous data can be:
  • the polarity deviation of the N-bxn bit data is consistent, and the n-bit continuous data in the same position in each segment to be converted is converted into the m-bit continuous data in which the corresponding RD in the n/m line coding table is positive;
  • the n-bit continuous data of the same position in each segment to be converted is converted into n
  • the corresponding RD in the /m line coding table is negative m-bit continuous data.
  • the encoding end indicates that the receiving end is No need to flip the N-bxn bit data that has not been converted.
  • the decoding end it is possible to check whether the received code stream has an error according to whether or not the m-bit continuous data to be decoded exists in the n/m code table. This is because the encoding end encodes the correspondence between n-bit continuous data and m-bit continuous data in the mapping table. Therefore, both m-bit continuous data and n-bit continuous data should be able to be in the mapping table. turn up. It should be noted that this detection is only for the m-bit bits obtained after the coding conversion, and the error detection cannot be performed for other bits that have not been encoded and converted.
  • the flag bit is added before the code stream obtained by encoding a consecutive N bits, and the added flag bit is a parity bit, a forward error correction code FEC bit or a cyclic redundancy check.
  • FEC bit a forward error correction code
  • a is an integer greater than zero. Therefore, the error detection of the physical layer can be performed at the decoding end according to the added flag bits.
  • the decoding operation performed at the receiving end corresponds to the encoding operation performed by the encoding end. If the transmitting end performs 32B/34B encoding, specifically, equal two segments of each consecutive 32 bits (16 segments per segment) The five consecutive bits in the same position in each segment of the bit are encoded into 6 bits of continuous data (5B/6B), then at the receiving end, the received bit stream is first serialized and processed, and then The 34 bits are grouped, and 6 consecutive bits of the same position in each of the 34 bits (17 bits per segment) are subjected to 5B/6B decoding processing to realize 32B/34B decoding. If the sending end performs other encoding methods, the decoding mode of the receiving end should correspond exactly to the transmitting end, and it is not enumerated.
  • the code stream may also be descrambled to recover the original service data. Finally, the business data is deframed.
  • the line decoding method provided in this embodiment can perform the decoding process on a part of the received bits, and does not perform any processing on other data, so that the length of the maximum connection 0 and the length of the maximum connection 1 can be realized. Does not exceed a certain threshold, improves the ISI performance of the code transmission; reduces the edge density of a codeword, improves the crosstalk performance of the system, realizes the inter-code interference and crosstalk balance of the line coding, and improves the code transmission. Electrical performance.
  • the program may be implemented by a computer program to instruct related hardware, and the program may be stored in a computer readable storage medium, and when executed, the program may include the flow of an embodiment of the methods as described above.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
  • FIG. 13 is a schematic structural diagram of an embodiment of a line coding apparatus according to the present invention. As shown in FIG. 13, the apparatus includes: an encoding module 11 and a first output module 12;
  • the encoding module 11 is configured to encode the code stream, including a payload of the data frame in the foregoing code stream, and consecutively n bits of the same position in each of the at least b segments of each successive N bits Data, the conversion to m-bit continuous data, the above b is an integer greater than or equal to 2, the above N, n and m are integers greater than zero, bxn ⁇ N, m > n;
  • the first output module 12 is configured to output the code stream encoded by the encoding module 11.
  • the correspondence between n-bit continuous data and m-bit continuous data can be established by an n/m line coding table.
  • the line coding apparatus encodes and converts at least b consecutive n-bit continuous data of each successive N bits, and does not perform coding processing on other N-bxn-bit data, thereby reducing continuous"
  • the length of 0" and the continuous " ⁇ " improves the ISI performance of the coded transmission; in addition, the probability of occurrence of a transition edge in one codeword is reduced, and the crosstalk performance of the system is improved. Therefore, the line coding method provided by this embodiment It can effectively improve the electrical performance during channel transmission.
  • FIG. 14 is a schematic structural diagram of another embodiment of a line coding apparatus according to the present invention. As shown in FIG. 14, on the basis of the previous embodiment, the coding module 11 may further be specifically configured to: according to n-bit continuous data and m-bit continuous data.
  • the correspondence between the m-bit continuous data is performed; the correspondence between the n-bit continuous data and the m -bit continuous data is established by the n/m line coding table, and each n in the n/m line coding table
  • the bit continuous data corresponds to m-bit continuous data having a polarity deviation RD being negative and/or m-bit continuous data having a polarity deviation RD being positive, and RD being negative m-bit continuous data in which the number of 0 is greater than or equal to 1.
  • Number, RD is the number of zeros in the positive m-bit continuous data that is less than or equal to 1.
  • the decoding segment also uses the line coding table defined by Definition 2.
  • the encoding module 11 can further include:
  • the first statistic unit 111 is configured to calculate a code stream before the N-bit continuous data to be encoded, and obtain the number of 0 and 1 after being encoded;
  • the first converting unit 112 is configured to convert the n-bit continuous data to be converted into a negative RD in the n/m line coding table if the first statistical unit 111 counts the number of 0s less than 1. M-bit continuous data; if the statistical unit counts the number of 0s greater than 1, the n-bit continuous data to be converted is converted into m-bit continuous data in which the corresponding RD in the n/m line coding table is positive.
  • the apparatus may further include a first inversion module 13 for N-bxn not converting according to the polarity deviation of the code stream before the N-bit continuous data to be encoded and the N-bit continuous data to be encoded.
  • the polarity deviation of the bit data is used to determine whether to flip the N-bxn bit data that has not been converted.
  • the first inversion module 13 may be specifically configured to: if the polarity deviation of the code stream before the N-bit continuous data to be encoded is consistent with the polarity deviation of the N-bxn bit data not to be converted, then the N-not converted Bxn bit data is flipped;
  • the N-bxn-bit data that has not been converted is not inverted.
  • the encoding module 11 may further include:
  • the second statistic unit 113 is configured to count the code stream before the N-bit continuous data to be encoded, and obtain the number of 0s and 1 after encoding; and calculate the N-bxn bits that are not converted in the N-bit continuous data to be encoded. The number of 0s and 1s in the data;
  • the determining unit 114 is configured to determine, when the number of the two statistics of the second statistical unit 113 is 0, the number of which is less than 1, or the number of 0 is greater than 1, determine the N bits to be encoded.
  • the polarity deviation of the code stream before the continuous data is consistent with the polarity deviation of the N-bxn bit data not converted; when the result of the two statistics of the second statistical unit 113 is one of the number of zeros If the number of 0s is less than 1, the number of 0s is greater than 1
  • the polarity deviation of the code stream before the N-bit continuous data of the code is inconsistent with the polarity deviation of the N-bxn bit data not converted;
  • the second converting unit 115 is configured to convert the n-bit continuous data to be converted into m-bit continuous data in which the corresponding RD in the n/m line coding table is negative if the determination result of the determining unit 114 is consistent; If the judgment result of 114 is inconsistent, the n-bit continuous data to be converted is converted into m-bit continuous data in which the corresponding RD in the n/m line coding table is positive.
  • the second converting unit 115 may be further configured to: if the determination result of the determining unit 114 is consistent, convert the n-bit continuous data to be converted into m-bit continuous data corresponding to the corresponding RD in the n/m line coding table. If the judgment result of the judgment unit 114 is inconsistent, the n-bit continuous data to be converted is converted into m-bit continuous data in which the corresponding RD in the n/m line coding table is negative.
  • the device may further comprise:
  • the scrambling module 14 is used to scramble the code stream.
  • the data of a part of the N bits is converted, and the other data is not processed, and the length of the maximum connection 0 and the length of the maximum connection 1 are not exceeded.
  • a certain threshold value improves the ISI performance of the coded transmission; after the scrambling code, the hop edge density decreases, the crosstalk performance of the system is improved, and the inter-code interference and crosstalk balance of the line coding are realized.
  • This embodiment also improves the coding. DC balance characteristics, and also provide physical layer detection for the encoded code stream, improving the electrical performance of the code transmission.
  • the embodiment of the line coding apparatus provided by the present invention corresponds to the line coding method provided by the present invention.
  • the coding process of the line coding apparatus can be referred to the line coding method embodiment, and details are not described herein.
  • the apparatus includes: a receiving module 21, a decoding module 22, and a second output module 23;
  • the receiving module 21 is configured to receive a code stream.
  • the decoding module 22 is configured to decode the foregoing code stream, and include a payload of the data frame in the foregoing code stream, and the same position in each of the at least b segments in each consecutive N-bn+bm-bit continuous data
  • the m-bit continuous data, the conversion of n-bit continuous data, the above b is an integer greater than or equal to 2, the above N, n and m are integers greater than zero, bxn ⁇ N, m >n;
  • the second output module 23 is configured to output the code stream decoded by the decoding module.
  • the correspondence between m-bit continuous data and n-bit continuous data can be established by an n/m line coding table.
  • FIG. 16 is a schematic structural diagram of another embodiment of a line decoding apparatus according to the present invention. As shown in FIG. 16, on the basis of the previous embodiment, the decoding module 22 may also be specifically configured to: according to m-bit continuous data and n-bit continuous data.
  • n-bit continuous data corresponds to one m-bit continuous data with a polarity deviation RD being negative and/or one m-bit continuous data with a polarity deviation RD being positive, and the number of 0s in the negative m-bit continuous data of RD being greater than Or the number equal to 1, RD is the number of zeros in the positive m-bit continuous data that is less than or equal to 1.
  • the decoding end also uses the line coding table defined by the definition two.
  • the device may further comprise:
  • the second inversion module 24 is configured to flip the N-bxn bit data that has not been converted if there is continuous m-bit continuous data with RD being negative for each consecutive N-bn+bm bit of continuous data.
  • the descrambling module 25 is configured to unwrap the code stream received by the receiving module 21.
  • the embodiment of the line decoding apparatus provided by the present invention corresponds to the line decoding method provided by the present invention.
  • the coding process of the line decoding apparatus can be referred to the line decoding method embodiment, and details are not described herein.
  • FIG. 17 is a schematic structural diagram of a line codec system according to the present invention. As shown in FIG. 17, the system includes a line coding apparatus 1 and a line decoding apparatus 2;
  • a line coding apparatus 1 for encoding a code stream, comprising a payload for a data frame in the code stream, and n-bit continuous data of the same position in each of at least b segments of each successive N bits , performing conversion to m-bit continuous data, where b is an integer greater than or equal to 2, on Said N, n and m are integers greater than zero, bxn ⁇ N, m >n;
  • the line decoding device 2 is configured to decode the code stream received by the receiving module, and include a payload of the data frame in the code stream, and each segment of at least b segments of each consecutive N-bn+bm bits of continuous data
  • the line coding apparatus 1 first performs framing processing on the service data before performing coding. In order to improve the DC balance characteristic of the coding, the code stream may be further scrambled.
  • the line coding apparatus 1 After the coding, the line coding apparatus 1 After the parallel processing, the code stream is sent to the serial line. Correspondingly, after receiving the code stream, the line decoding device 2 first performs serial conversion and processing, and then performs a decoding operation corresponding to the line coding device 1, and then the line decoding device 2 descrambles the code stream to restore the original service. data. The last line decoding means 2 performs deframe processing on the service data.
  • the line codec system embodiment provided by the present invention corresponds to the line coding method and the line decoding method provided by the present invention.
  • the coding and decoding process of the system can be referred to the line coding method.
  • Embodiments and circuit decoding method embodiments are not described herein.
  • the line coding apparatus, the line decoding apparatus, and the line codec system provided by the embodiments of the present invention may be integrated into a digital signal processing (DSP) chip or a field-programmable gate array (Field-Programmable Gate Array; Abbreviation: FPGA)
  • DSP digital signal processing
  • FPGA field-programmable gate array
  • the software is developed on the chip, and can also be implemented by means of an application specific integrated circuit (ASIC).
  • ASIC application specific integrated circuit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)

Description

线路编、 解码方法及装置、 系统
本申请要求于 2010 年 10 月 22 日提交中国专利局、 申请号为 201010532681.8,发明名称为"线路编、 解码方法及装置、 系统"的中国专利申 请的优先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及通信技术领域, 特别涉及一种线路编、 解码方法及装置、 系 统。 背景技术
无线基站和基站控制器之间互连形成的系统中的高速链路在传输数据 时, 通常要进行线路编码和线路解码, 具体是: 系统的发送端对码流中的数 据码流和控制字进行编码, 并将编码后的码流传输到串行链路。 相应地, 系 统的接收端对接收到的码流进行解码, 来恢复原始的数据码流和控制字。
现有的一种 64B/66B线路编码方法, 以 64比特为一个编码单元, 将每
64比特的码流编码填充 01或 10两比特, 得到 66比特的码流。 这种方法得 到的码流中连续的 0或连续的 1长度过长,影响系统的码间干扰(Intel-Symbol Interference; ISI )性能, 并且编码后的码流中, 一个码字内的跳变沿过多, 系统的串扰性能较差。
因此, 采用现有的线路编码方法, 高速链路在传递码流时, 传输的电气 性能较差。 发明内容
本发明实施例提供了一种线路编、 解码方法及装置、 系统, 通过建立新 的编码机制, 提高线路编码传输的电气性能。
一方面, 本发明实施例提供一种线路编码方法, 包括: 对码流进行编码, 包括对所述码流中的数据帧的有效载荷, 将每连续 N 个比特位中的至少 b段中的各段中相同位置的 n位连续数据, 进行到 m位连 续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n和 m均为大于 零的整数, bxn<N, m>n;
将经过编码的码流输出。
本发明实施例还提供一种线路解码方法, 包括:
接收码流;
对所述码流进行解码, 包括对所述码流中的数据帧的有效载荷, 将每连 续 N-bn+bm位连续数据中的至少 b段中的各段中相同位置的 m位连续数据, 进行 n位连续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n和 m 均为大于零的整数, bxn<N, m>n;
将解码后的码流输出。
另一方面, 本发明实施例提供一种线路编码装置, 包括:
编码模块, 用于对码流进行编码, 包括对所述码流中的数据帧的有效载 荷,将每连续 N个比特位中的至少 b段中的各段中相同位置的 n位连续数据, 进行到 m位连续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n 和 m均为大于零的整数, bxn<N, m>n;
第一输出模块, 用于将经过所述编码模块编码的码流输出。
本发明实施例提供一种线路解码装置, 包括:
接收模块, 用于接收码流;
解码模块, 用于对所述码流进行解码, 包括对所述码流中的数据帧的有 效载荷,将每连续 N-bn+bm位连续数据中的至少 b段中的各段中相同位置的 m位连续数据, 进行 n位连续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n和 m均为大于零的整数, bxn<N, m>n;
第二输出模块, 用于将所述解码模块解码后的码流输出。
本发明实施例还提供一种线路编解码系统, 包括如上所述的线路编码装 置和线路解码装置。
本发明实施 #是供的 扁、 马方法 Α ^置、 系统, 通 于码流中的数据帧的有 « , ^ 卖 N个Λ 位中的至少 b段中的各段中相同位置的 n ^i^史据, 进行 到 ηΗϋ^史据的转换, 而对期也 N-bxiHi t据并不故¾^ 换,从而减少了 卖 'Ό"以 卖 'τ,的 提高了¾^{专 ^ ^isi性能; 氐了一个石醉内跳变沿出现的相摔, 改 善系统的串扰 !■生能, 因此,本实施 #是供的 马方法能够有效提 言道传输时的电气 性能。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明提供的一个线路编码方法实施例的流程图;
图 2为本发明提供的一个 32B/34B线路编码方法实施例的编码示意图; 图 3为本发明提供的又一个 32B/34B线路编码方法实施例的编码示意图; 图 4a为现有的 5B/6B数据码流的编码表;
图 4b为现有的 5B/6B数据码流的编码表;
图 5为现有的 5B/6B控制码流的编码表;
图 6为本发明提供的另一个 32B/34B线路编码方法实施例的编码示意图; 图 7为本发明提供的一个 32B/35B线路编码方法实施例的编码示意图; 图 8为本发明提供的一个线路编码方法实施例中进行 FEC保护的示意图; 图 9为本发明提供的一个线路编码方法实施例中进行 CRC保护的示意图; 图 10a为现有的 3B/4B数据码流的编码表;
图 10b为现有的 3B/4B数据码流的编码表;
图 11为本发明再一个 32B/34B线路编码方法实施例的编码示意图; 图 12为本发明一个线路解码的方法实施例的流程图;
图 13为本发明一个线路编码装置实施例的结构示意图;
图 14为本发明又一个线路编码装置实施例的结构示意图;
图 15为本发明提供一个线路解码装置实施例的结构示意图;
图 16为本发明提供另一个线路解码装置实施例的结构示意图;
图 17为本发明提供的线路编解码系统的结构示意图;
图 18为本发明提供的一个线路编码方法实施例中进行 FEC保护的示意图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
图 1为本发明提供的一个线路编码方法实施例的流程图, 如图 1所示, 该 线路编码方法包括:
S101、 对码流进行编码, 包括对所述码流中的数据帧的有效载荷, 将每 连续 N个比特位中的至少 b段中的各段中相同位置的 n位连续数据,进行到 m位 连续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n和 m均为大于零 的整数, bxn<N, m>n;
S102、 将经过编码的码流输出。
其中, 编码端在进行编码之前首先要对业务数据进行成帧处理, 然后进 行编码操作。 进行编码的码流可以为数据码流或者控制码流(即控制字) ; 或者, 进行编码的码流中既包括数据码流又包括控制码流。
对码流进行编码时, 以连续 N个比特位为一个编码单元进行编码, 具体 是: 将每个连续 N比特位中的至少 b段中的每段中相同位置的 n位连续数据进 行编码, 将 n位连续数据转换为 m位连续数据。 n位连续数据和 m位连续数据之 间可以存在一定的对应关系, 这种对应关系可以是预先设定的, 可以采用映 射表或者线路编码表等形式建立 n位连续数据和 m位连续数据的对应关系。 一 个 n位连续数据可对应一个或多个 m位连续数据, 但一个 m位连续数据唯一对 应一个 n位连续数据, 以便在解码端能够根据 m位连续数据唯一确定一个原码 n位连续数据。 在编码时, 可在 n位连续数据对应的一个或多个 m位连续数据 中选择一个 m位连续数据进行编码; 在解码时,根据 m位连续数据找到唯一对 应的 n位连续数据进行解码。
对每连续 N比特位连续数据进行编码时,可以对每个连续 N比特位中的至 少 b段中的每段中相同位置 n位连续数据进行编码, b为大于或等于 2的整数, 这 b段数据中, 每段中的比特位数可以相同也可以不同。
当然很好理解的是, 当 b为 2时, 只对这 2段中每段中相同位置的 n个连续 比特位数据进行编码。 其中, n个连续比特位的起始位置可以位于每段中的第 一个比特位, 也可以位于每段中的中间某个比特位。
需要说明的是, 连续 N个比特位中的至少 b段中的每段中的比特位数可以 位连续数据都进行编码转换, 因此, 在选取这 b段时应保证每段中的比特数大 于或等于 n。 如不做特殊说明, 以下描述中都是在各段中的比特数大于或等于 n的情况下。
在本发明的实施例中, 对每连续 N个比特位中各段中相同位置的连续 n位 连续数据, 进行 n位连续数据到 m位连续数据的转换, 即采用 m位连续数据替 换原来的 n位连续数据, 而其他 N-bxn位数据不做任何处理。
可以看出, 在编码后得到的 N-bn+bm位连续数据中, 连 0的长度为: 连续 N个比特位中未做转换处理的 N-bxn个比特位的数据中连 "0,,的长度, 与该连 "0"长度相邻的, b个连续 n位连续数据转换到 m位连续数据后连 "0"的长度, 之 和。
同样的, 在编码后得到的 N-bn+bm位连续数据中, 连 1的长度为: 续 N个 比特位中未做转换处理的 N-bxn个比特位的数据的中连 'Τ,的长度, 与该连 "1" 长度相邻的, b个连续 η位连续数据转换到 m位连续数据后连 "Γ,的长度,之和。
高速链路在传输码流时, 系统的串扰性能和 ISI性能为编码传输的电气性 能的两个重要指标。 系统的串扰性能主要取决于一个码字(即一个编码单元 ) 内的跳变沿,如果一个码字内的跳变沿较多(即从 0跳变到 1 ,或从 1跳变到 0 ) , 则系统的串扰性能相对较差。 而系统的 ISI性能主要取决于码流中连" 0,,和连 "1"的长度, 连' Ό"和连 "1"的长度过长, 则影响系统的 ISI性能。
本发明实施例提供的线路编码方法, 可以根据对系统电气性能的需求, 或者是较佳电气性能的系统中连续 "0,,的长度或连续 "Γ,的长度的经验值来设 定编码后的码流中, 连续 "0"的长度, 和连续 "1"的长度的门限值。 通过该门 限值来进一步确定 b、 n和 m的值, 具体可以是: 使该门限值为 n位连续数据与 m位连续数据对应关系映射表中各个 m位连续数据中连 "0"的长度的最大值, 以及各个 m位连续数据中连 "Γ,的长度的最大值。
通过选择合适的定 b、 n和 m的值, 使编码后的码流中, 连续 "0"的长度, 和连续 "1"的长度不超过一定的门限值。 同时, 由于每连续 N中, 有 b个连续 n 位连续数据进行了编码转换, 因此, 改变了一个码字内跳变沿出现的概率。
在对码流进行编码之后, 将经过编码的码流输出, 经过并转串处理后发 送到高速串行链路。
本实施例提供的线路编码方法, 对码流中的数据帧的有效载荷, 将每连 续 N个比特位中的至少 b段中的各段中相同位置的 n位连续数据,进行到 m位连 续数据的转换, 而对其他 N-bxn位数据并不做编码转换, 从而减少了连续" 0" 以及连续 "Γ,的长度, 提高了编码传输的 ISI性能; 另外, 降低了一个码字内跳 变沿出现的概率, 改善了系统的串扰性能, 因此, 本实施例提供的线路编码 方法能够有效提高信道传输时的电气性能。
在前一实施例的基础上, 本发明给出另一线路编码实施例, 在该实施例 中, 对码流进行编码时, 可以根据 n/m线路编码表进行 n位连续数据到 m位连 续数据的转换 ,该 n/m线路编码表中每一个 n位连续数据对应一个极性偏差 RD ( Running Disparity )为负的 m位连续数据和 /或一个极性偏差 RD为正的 m位连 续数据, 其中, 定义一定义 RD为负的 m位连续数据中 0的个数大于或等于 1的 个数, RD为正的 m位连续数据中 0的个数小于或等于 1的个数。 需要说明的是 本发明以下实施例中, 如无特别说明, 关于 RD正负的定义均如上所述(即如 定义一所述) 。
当然,在另一个实施例中,还可以定义二定义 RD为负的 m位连续数据中 0 的个数小于或等于 1的个数, RD为正的 m位连续数据中 0的个数大于或等于 1 的个数。 这并不影响本发明实施例的本质的实施, 不应该理解为对本发明实 施例的限定。 因为 RD为正或为负仅仅是为了说明对应的数据流中 0和 1的个数 的比较结果。
其中, n/m线路编码表可以是 5B/6B编码表, 或 3B/4B编码表, 相应的, n=5, m=6或者 n=3 , m=4。 n/m线路编码表还可以是 4B/5B、 8B/9B 或 8B/10B 等常用的编码表。
本实施例根据 5B/6B编码表进行 n位连续数据到 m位连续数据的转换为例 进行说明, 如图 2所示, 以 32比特为一个编码单元进行编码, 即 N为 32, n为 5, m为 6。 在待传输的码流中, 选择每连续 32个比特位中的两段, 即 b=2, 并且, 这两段为将每连续 32个比特位等分的两段, 即两段中各有 16比特数据。 对每 段中相同位置的 5个连续比特位进行转换,根据 5B/6B编码表将连续 5个比特位 组成的 5位连续数据转换为 6位连续数据, 其余的 22个比特位的数据不进行转 换, 转换后得到 34个比特位。 本实施例给出的是 b=2的情况, 当然在另一个实 施例中, 也可以对每连续 32个比特位中的三段(b=3 )或更多段中相同位置的 n位连续数据进行编码。
图 2所示为在连续 32比特位连续数据中, 每段中进行转换的 5个连续比特 数据的起始位置均为每段的第一个比特位。 而这仅是一种可行的实施方式, 实际上,进行转换的两组 5个连续比特位还可以分别位于每段末尾位置或者是 相同的中间任意位置 (图 3所示, 第一段中进行转换的 5个连续比特位的前面 有 K个比特位后面有 L个比特位, 同样的, 第二段中进行转换的 5个连续比特 位前面有 K个比特位, 后面有 L个比特位, K和 L均为大于零的整数) 。
当待传输的码流为数据码流时, 进行 5位连续数据到 6位连续数据转换的 5B/6B编码表可以如图 4a所示, 图 4a中, "原码 "列表示: 待转换的 5位连续数 据码流; 极性偏差 RD为正的列 (RD+ )表示: 编码转换后得到的 6比特位连 续数据中, "1"的个数大于或等于" 0"的个数; 极性偏差为 RD为负的列 (RD- ) 表示: 编码转换后得到的 6比特位连续数据中, "Γ,的个数小于 "0,,的个数。
在另一个实施例中,进行 5位连续数据到 6位连续数据转换的 5B/6B编码表 还可以如图 4b所示, 图 4b中, "原码 "列表示: 待转换的 5位连续数据码流; 极 性偏差 RD为正的列(RD+ )表示:编码转换后得到的 6比特位连续数据中, "1" 的个数大于或等于 "0"的个数; 极性偏差为 RD为负的列 (RD- )表示: 编码转 换后得到的 6比特位连续数据中, "Γ,的个数小于或等于 "0,,的个数。在图 4b中, 编码转换后得到的 6比特位连续数据中, "Γ,的个数等于 "0,,的个数时, RD-和 RD+对应的数据可以相同。
需要说明的是, 在图 4b中编码转换后的 6位数据中, 之所以在 "1"的个数 等于" 0"的个数时, RD- 和 RD+对应的数据可以相同, 是因为如果此时对 RD+ 对应的数据进行翻转,则有可能造成不同原码对应的 RD+和 RD-相同,造成重 复, 在解码段产生混淆。 举例来说, 在图 4b中, 原码 00110对应的 RD+的数据 为 011001 , 此时 RD-的数据同为 011001 , 如果对 RD-的数据进行翻转, 则 RD- 的数据为 100110, 将和原码 11001对应的 RD+的数据相同, 在解码端容易引起 混淆。
当待传输的码流为控制码流(控制字)时,进行 5比特到 6比特转换的 5B/6B 编码表可以如图 5所示, 图 5中, "原码 "列表示: 待转换的 5位控制码流; 极性 偏差 RD为正的列表示: 编码转换后得到的 6比特位连续数据中, "Γ,的个数大 于或等于 "0"的个数; 极性偏差 RD 为负的列表示: 编码转换后得到的 6比特 位连续数据中, 'Τ,的个数小于或等于 "0"的个数。
在进行 5位连续数据到 6位连续数据的转换时, 可根据传输的码流是数据 码流或控制码流, 在图 4a、 图 4b或图 5中的"原码"列找到需要转换的 5位连续 数据, 根据需要转换的 5位连续数据所在的行中, 在" RD-"列或" RD+"列中的 6 位连续数据中选择一个作为转换后的 6位连续数据。
选择" RD-"列或" RD+"列中的 6位连续数据作为转换后的 6位连续数据,具 有多种选择方式, 由于直流平衡特性(即编码中的 "0"和 "Γ,个数平衡)也是 编码传输电气性能中的一个重要指标, 因此, 以下提供两种优选的选择方式 以提高编码传输的直流平衡特性, 一种方式为:
统计待编码的 N位连续数据之前的码流,经过编码后得到 0和 1的个数; 若 0的个数小于 1的个数, 则将待转换的 n位连续数据(在这里, 待换 转的 n位连续数据均指各段中相同位置的待转换的 n位连续数据, 下面的实 施例中含义均如此 )转换为所述 n/m线路编码表中对应的 RD为负的 m位连 续数据; 若 0的个数大于 1的个数, 则将待转换的 n位连续数据转换为所述 n/m线路编码表中对应的 RD为正的 m位连续数据。
具体是, 统计自对码流启动编码后, 到待编码的 32比特位连续数据之前, 这中间输出的经过编码的码流(其中包括: 根据 5B/6B编码表进行转换的比特 位, 以及未经过转换的比特位) 中, "0"和 "Γ,的个数, 如果 "0,,比" 1"多, 则在 5B/6B编码表中, 选择对应的 RD+列的 6比特位连续数据进行转换, 如果" 0" 比 "Γ,少, 则在 5B/6B编码表中, 选择对应的 RD-列的 6比特位连续数据。
前一种选择方式进行了一次 "0""1"统计, 这种统计方式通常可以根据图 4b所示的 5B/6B编码表进行编码转换。
另一种方式进行了两次" 0,,'T,统计, 这种统计方式通常可以根据图 4a所 示的 5B/6B编码表进行编码转换。 在这种方式中通过统计待编码的 N位连续 数据之前的码流经过编码后得到 0和 1的个数和统计待编码的 N位连续数据 中不进行转换的 N-bxn位数据中 0和 1的个数, 来判断上述待编码的 N位连 续数据之前的码流的极性偏差和上述不进行转换的 N-bxn位数据的极性偏差 是否一致。
若两次统计的结果均为 0的个数小于 1的个数, 或 0的个数大于 1的个 数, 则上述待编码的 N位连续数据之前的码流的极性偏差和上述不进行转换 的 N-bxn位数据的极性偏差一致;
若两次统计的结果中一次统计的结果为 0的个数小于 1的个数, 另一次 统计的结果为 0的个数大于 1的个数, 若上述待编码的 N位连续数据之前的 码流的极性偏差和上述不进行转换的 N-bxn位数据的极性偏差不一致。
该选择方式具体包括:
统计待编码的 N位连续数据之前的码流,经过编码后得到 0和 1的个数; 统计待编码的 N位连续数据中, 不进行转换的 N-bxn位数据中 0和 1的 个数;
若两次统计的结果均为 0的个数小于 1的个数,或 0的个数大于 1的个数(此 时, 上述待编码的 N位连续数据之前的码流的极性偏差和上述不进行转换的 N-bxn位数据的极性偏差一致) , 则可以将待转换的 n位连续数据转换为所述 n/m线路编码表中对应的 RD为负的 m位连续数据; 若两次统计的结果中一次 统计的结果为 0的个数小于 1的个数, 另一次统计的结果为 0的个数大于 1的个 数(此时, 上述待编码的 N位连续数据之前的码流的极性偏差和上述不进行 转换的 N-bxn位数据的极性偏差不一致) , 则可以将待转换的 n位连续数据转 换为所述 n/m线路编码表中对应的 RD为正的 m位连续数据; 这种根据待编码 的 N位连续数据之前的码流的极性偏差和不进行转换的 N-bxn位数据的极性 偏差是否一致, 来选择 n/m线路编码表中 m位连续数据的方式, 通过 RD为负 的 m位连续数据来指示接收端是否对没有进行转换的 N-bxn位数据进行翻转。
另外一种 m位连续数据的方式还可以为, 如果两次统计的结果均为 0的个 数小于 1的个数, 或 0的个数大于 1的个数, 则可以将待转换的 n位连续数据转 换为所述 n/m线路编码表中对应的 RD为正的 m位连续数据; 若两次统计的结 果中一次统计的结果为 0的个数小于 1的个数,另一次统计的结果为 0的个数大 于 1的个数,则可以将待转换的 n位连续数据转换为所述 n/m线路编码表中对应 的 RD为负的 m位连续数据。 与前一种方式相反的, 这种根据待编码的 N位连 续数据之前的码流的极性偏差和不进行转换的 N-bxn位数据的极性偏差是否 一致来选择 n/m线路编码表中 m位连续数据的方式,通过 RD为正的 m位连续数 据来指示接收端是否对没有进行转换的 N-bxn位数据进行翻转。
具体是, 统计自对码流启动编码后, 到所述待编码的 32比特位连续数据 之前, 这中间输出的经过编码的码流(其中包括: 根据 5B/6B编码表进行转换 过的比特位, 以及未经过转换的比特位) 中, "0"和 "Γ,的个数。 统计待编码 的 32比特位编码单元中, 不需要转换的 22个比特位中 (N-bxn ) , "0 "和" 1"的 个数。 其中, 这两次统计的顺序可以不分先后。
如果两次统计中, 均是 "0,,的个数比 "Γ,的个数多, 或者均是 "0,,的个数比 "1"的个数少, 则在 5B/6B编码表中选择对应的 RD-列的数据作为编码后的数 据; 如果两次统计中, 一个是 "0,,的个数比 "Γ,的个数多, 另一个是 "0"的个数 比 "1"的个数少, 则在 5B/6B编码表中选择对应的 RD +列的数据作为编码后的 数据; 即通过 RD为负的 m位连续数据来指示接收端是否对没有进行转换的 N-bxn位数据进行翻转。
或者, 如果两次统计中, 均是 "0,,的个数比 "Γ,的个数多, 或者均是 "0,,的 个数比 "Γ,的个数少, 则在 5B/6B编码表中选择对应的 RD+列的数据作为编码 后的数据; 如果两次统计中, 一个是 "0,,的个数比 "Γ,的个数多, 另一个是" 0" 的个数比 "Γ,的个数少, 则在 5B/6B编码表中选择对应的 RD-列的数据作为编 码后的数据。 即通过 RD为正的 m位连续数据来指示接收端是否对没有进行转 换的 N-bxn位数据进行翻转。
以上两种方式中, 由于在统计 "0,,"1,,个数的基础上选择编码, 因此, 能 够提高编码的直流平衡特性。
而进一步的, 在进行编码转换后, 为了进一步平衡编码后的码流中的 0 和 1的个数, 还可以将没有进行转换的 N-bxn位连续数据进行翻转, 翻转操 作具体是: 将其中的 "0,,变成 "1", "1" 变成 "0", 通过该翻转操作以进一步平 衡编码后的码流中的 "0"" 1 "个数。
而是否对没有进行转换的 N-bxn位数据进行翻转, 主要取决于待编码的 N位连续数据之前的码流的极性偏差, 以及待编码的 N位连续数据中, 不进 行转换的 N-bxn位数据的极性偏差。
具体的, 如果待编码的 N位连续数据之前的码流的极性偏差和不进行转 换的 N-bxn位数据的极性偏差一致, 即极性偏差均为正, 或极性偏差均为负 时, 则可以对不进行转换的 N-bxn位数据进行翻转;
如果待编码的 N位连续数据之前的码流的极性偏差和不进行转换的
N-bxn位数据的极性偏差不一致, 即二者的极性偏差为一正一负时, 则可以不 对所述不进行转换的 N-bxn位数据进行翻转。
其中, 待编码的 N位连续数据之前的码流的极性偏差和不进行转换的
N-bxn位数据的极性偏差均可以通过码流中 0和 1的个数来确定。如前面实施例 所述, 具体是: 如果待编码的 N位连续数据之前的码流中 0的个数大于 1的个 数, 则待编码的 N位连续数据之前的码流的极性偏差为正; 如果待编码的 N位 连续数据之前的码流中 1的个数大于 0的个数, 则待编码的 N位连续数据之前 的码流的极性偏差为负。 类似的, 如果不进行转换的 N-bxn位数据中 0的个数 大于 1的个数, 则不进行转换的 N-bxn位数据的极性偏差为正; 如果不进行转 换的 N-bxn位数据中 1的个数大于 0的个数, 则不进行转换的 N-bxn位数据的极 性偏差为负。
可以看出, 如果待编码的 N位连续数据之前的码流和不进行转换的 N-bxn 位数据中均是 0的个数大于 1的个数, 或者 1的个数大于 0的个数, 则可以对没 有进行转换的 N-bxn位数据进行翻转; 如果待编码的 N位连续数据之前的码流 和不进行转换的 N-bxn位数据中, 一个为 0的个数大于 1的个数, 另一个为 1的 个数大于 0的个数, 则不对没有进行转换的 N-bxn位数据进行翻转。 另外, 还可以在编码前, 对码流进行加扰处理, 以进一步提高编码直流 平衡的性能, 参见图 6。
为了对编码后的码流进行物理层检测, 还可以在对 a个连续 N个比特位进 行编码后 , 在每 N个比特位编码后得到的码流前增加标志位 , 以校验编码后 的码流中是否存在错误, 参见图 7, 其中, a为大于零的整数。 该标志位可以 为奇偶校验位、 前向纠错编码(Forward Error Correction; FEC )位或循环冗 余校验 ( Cyclic redundancy check; CRC )位。
如果增加的标示位为奇偶校验位, 由于 a个连续 N个比特位进行编码后得 到的码流为 ax ( N-bn+bm ) 个比特位, 则该奇偶校验位用于显示所述奇偶校 验位之后,另一个奇偶校验位之前的连续 ax( N-bn+bm )个比特位中的" 1,,数 为奇数或偶数, 以便于接收端在接收到码流后, 根据所述奇偶校验位判断: 接收的码流中奇偶校验位之后, 另一个奇偶校验位之前的连续 ax ( N-bn+bm ) 个比特位中的 'Τ,数, 与奇偶校验位显示的奇数或偶数, 是否相符, 以获知 收到的码流是否正确。
如果增加的标示位为 FEC位,该 FEC位用于显示:在误码率要求较高场景 下, 对一定的编码模块进行 FEC校验 /纠错保护。 由于 FEC开销位较多, 需要 多个编码块进行保护处理。 在接收端, 可以根据接收到的 FEC位进行校验, 如果需要进一步改善误码率, 可以进行 FEC纠错处理。
仍以本实施例给出的以连续 32比特位为一个编码单元为例,对其中两组 5 个连续比特位进行转换后, 得到 34个比特位, 增加 FEC位之后, 得到 35个比 特位, 即每个连续 32比特的编码单元经编码后得到 35比特位, 即 32Β/35Β, — 个 FEC保护位用于评估物理层链路的无码性能, 并可进一步用于误码的纠错。 可以将每 64个 32 Β/35 Β编码单元组成一个 FE C块, 则其中的有效载荷为 64x34=2176比特。 以 802.3ΑΡ FEC多项式为例, 需要 32比特的 FEC保护位: g(x) = x32 + x23 + x21 + xn + x2 + l
参见图 8, 64个 FEC保护位中,前面 32比特用于存储 32比特的 FEC保护位, 而后面 32比特用于存储 32比特 FEC保护位的翻转位,以保证 FEC保护位的直流 平衡性能。
在链路误码性能不好场景下, 用户可以选择实现 FEC纠错功能, 对链路 误码进行纠正, 实现误码性能提高。
增加的标示位也可以为 CRC校验位, CRC保护位用于评估物理层链路误 码性能, 可以以 4个 32B/35B编码单元组成一个 CRC块, 即 CRC-4为例, CRC-4 的多项式为:
g(x) = x4 + x3 + x2 + \
参见图 18,在另一个实施例中,还可以将每 32个 32B/35B编码单元组成一 个 FEC块。 由于每个连续 32比特的编码单元经编码后得到 35比特位, 即 32B/35B,一个 FEC保护位用于评估物理层链路的无码性能。当每 32个 32B/35B 编码单元组成一个 FEC块时, 需要 32个 FEC保护位。
参见图 9, 其中有效载荷为 4x34=136比特。 同样的, 还可以采用 CRC-8、 0^-16和0^-32等, 即以 8个、 16个或 32个 32B/35B编码单元组成一个 CRC 块进行 CRC校验。
接收端可以根据 n/m编码表来检测编码后得到的 m位连续数据是否正确, 即可以针对编码部分进行物理层的检测和纠错处理。
本实施例提供的线路编码方法,通过将 32个比特位中的一部分比特位的 数据进行转换, 而对其他数据并不做任何处理, 得到的 35个比特位中最大连 0的长度为 16个, 最大连 1的长度为 16个( Maximum run length ), 提高了 编码传输的 ISI性能; 经过扰码后跳变沿密度平均为 40 % , 改善了系统的串 扰性能, 实现线路编码的码间干扰和串扰平衡; 本实施例还提高了编码的直 流平衡特性, 并且还为编码后的码流提供了物理层的检测, 提高了编码传输 的电气性能。
本发明还给出另一个具体的实施例, 以说明线路编码的具体实施方式, 在本实施例中是以通过 RD为负的 m位连续数据来指示接收端是否对没有进 行转换的 N-bxn位数据进行翻转, 当通过 RD为正的 m位连续数据来指示接 收端是否对没有进行转换的 N-bxn位数据进行翻转时,编码方式是类似的的, 在此不再赘述。 参见表 1和表 2:
Figure imgf000017_0001
表 1
Figure imgf000017_0002
表 2 在表 1和表 2中 , 'Ύ: X"表示为: 从待传输码流的第 X到第 Y比特, 例如: "10:0"表示为: 从第 0比特到第 10比特。 表 1中" 34"表示: 第 34位比 特。
如表 1中所示, N=32, b为 2, n为 5。 在对传输的 N比特码流进行编码 时,不需要进行转换的 N-bxn个比特位连续数据包括 [26:16]和 [10:0]比特位的 数据, 需要转换的比特位的数据为 [31 :27]和 [15:11]比特位上的数据。
在对传输的 32位比特码流进行编码后得到的 34位比特码流中, 对应与
32位比特码流的不需要进行转换的 N-bxn个比特位连续数据包括 [26:16]和 [10:0]比特位的数据, 在 34中位比特码流中为 [27:17]和 [10:0]比特位的数据。
[27:17]和 [10:0]比特位的数据是否翻转需要根据码流的极性偏差来确定。 在转换后的 34位比特码流中, [33:28]和 [16: 11]比特位上的数据分别对应 转换前的 32位特比码流中的 [31 :27]和 [ 15: 11 ]比特位上的数据。
在编码之前, 进行两次统计: 统计待编码的 N位连续数据之前的码流, 经过编码后得到 0和 1的个数; 统计待编码的 N位连续数据中, 不进行转换 的 N-bxn位连续数据中 0和 1的个数。如果两次统计中,均是 "0,,的个数比 "1" 的个数多, 或者均是 "0"的个数比 "Γ,的个数少, 那么 [27: 17]和 [10:0]比特位的 数据需要进行翻转, 保证码流的直流平衡性能, 根据图 4a中的编码表, 具体 可以分为以下几种情况:
如果在编码表的 RD-列, 有对应 [33:28]比特位的 6比特位连续数据, 在 编码表的" RD-"列, 有对应 [16: 11]比特位的的 6 比特位连续数据, 则 [27: 17] 和 [10:0]比特位的数据进行翻转, 在编码表中, 选择对应的" RD-"列的数据作 为编码后 [33 :28]和 [16: 11]比特位的数据。
如果在编码表的" RD-"列, 没有对应 [33:28]比特位的 6比特位连续数据, 在编码表的" RD-"列, 有对应 [16: 11]比特位的 6 比特位连续数据, 则 [27: 17] 和 [10:0]比特位的数据进行翻转, 在编码表中, 选择对应的" RD + "列的数据 作为编码后 [33:28]比特位的数据; 选择对应的在 "RD-"列的数据作为编码后 [16: 11]比特位的数据。
如果在编码表的 RD-列, 有对应 [33:28]比特位的 6比特位连续数据, 在 编码表的" RD-"列, 没有对应 [16: 11]比特位的 6 比特位连续数据, 则 [27: 17] 和 [10:0]比特位的数据进行翻转, 在编码表中, 选择对应的" RD-"列的数据作 为编码后 [33 :28]比特位的数据; 选择对应的在" RD + "列的数据作为编码后 [16: 11]比特位的数据。
在一些情况下,可以不对 [27: 17]和 [10:0]比特位的数据进行翻转,具体是: 如果在编码表的 RD-列, 没有对应 [33:28]比特位的 6比特位连续数据, 在编码表的 RD-列, 没有对应 [16: 11]比特位的 6比特位连续数据, 则 [27:17] 和 [10:0]比特位的数据不进行翻转, 在编码表中, 选择对应的" RD + "列的数 据作为编码后 [33:28]比特位的数据; 选择对应的" RD + "列的数据作为编码后 [16:11]比特位的数据。
如果两次统计中, 一个是 "0"的个数比 "Γ,的个数多, 另一个是 "0"的个数 比 "Γ,的个数少, 则 [27:17]和 [10:0]比特位不需要进行翻转, 保证码流的直流 平衡性能,并且,在编码表中,选择对应的" RD + "列的数据作为编码后 [33:28] 比特位的数据; 选择对应的" RD + "列的数据作为编码后 [16:11]比特位的数 据。
很好理解的是, 表 1和表 2对应的实施例是通过 RD为负的 6位连续数据来 指示接收端是对没有进行转换的 22位数据进行翻转。 当然, 也可以通过通过 RD为正的 6位连续数据来指示接收端是对上述 22位数据进行翻转。 这时可以 对图 4a中的表格中的 RD-列补满数据,对 RD+列删除相应的数据。编码方式和 上面的类似, 在此不再赘述。
当然, 如果待编码的 32位连续数据之前的码流的极性偏差和不进行转换 的 22位数据的极性偏差不一致, 即二者的极性偏差为一正一负时, 则可以不 对所述不进行转换的 22位数据进行翻转。 这时也可以通过 RD为负的 6位连续 数据来指示接收端没有对上述 22位数据进行翻转。 即, 按照图 4a中的编码表 来做类似的转换, 就是在编码表的 RD-列查找是否有待编码的 5位数据对应的 6位数据。 编码方法类似, 不同的就是通过通过 RD为负的 6位连续数据来指示 接收端没有对上述 22位数据进行翻转。
以上以根据 5B/6B编码表进行编码转换为例, 作为另一种较佳的实施方 式, 还可以根据 3B/4B编码表进行编码转换, 参见图 10a和图 10b所示的 3B/4B 编码表, 即 n为 3 , m为 4。 需要说明的是, 在本实施例中, 图 10a和图 10b中的 3B/4B编码表, RD+和 RD-的定位如定义二所述。
进行 3位连续数据到 4位连续数据转换的 3B/4B编码表可以如图 10a或图 10b所示, 图 10a中, "原码 "列表示: 待转换的 3位连续数据码流; 极性偏差 RD为正的列(RD+ )表示: 编码转换后得到的 4比特位连续数据中, "Γ,的个 数小于或等于 "0"的个数; 极性偏差为 RD为负的列 (RD- )表示: 编码转换 后得到的 4比特位连续数据中, "Γ,的个数大于或等于 "0,,的个数。 在图 10中, 编码转换后得到的 4比特位连续数据中, "Γ,的个数小或等于 "0,,的个数时, RD- 和 RD+对应的数据相同。
在另一个实施例中,进行 3位连续数据到 4位连续数据转换的 3B/4B编码表 还可以如图 10b所示, 图 10b中, "原码 "列表示: 待转换的 3位连续数据码流; 极性偏差 RD为正的列(RD+ )表示: 编码转换后得到的 4比特位连续数据中, "Γ,的个数大于或等于 "0"的个数; 极性偏差为 RD为负的列 (RD- )表示: 编 码转换后得到的 4比特位连续数据中, "Γ,的个数小于或等于 "0,,的个数。在图 4b中, 编码转换后得到的 6比特位连续数据中, "Γ,的个数等于 "0,,的个数时, RD- 和 RD+对应的数据可以相同。
很好理解的是, 根据 3B/4B编码表进行转换的方法和前面提到的根据 5B/6B编码表转换的方法类似, 在此不再赘述。
对每连续 32个比特位相等 2段(每段为 16个比特位), 并对每段中位置相 同的 3个连续比特位的数据进行转换,将 3个比特位组成的 3位连续数据转换为 4位连续数据(也可以称为: 3B/4B编码) , 其余的 26个比特位的数据不进行 转换, 参见图 11。
其中,进行转换的 3个连续比特位数据可以位于每段中的任意位置,例如: 可以位于每段中的前 3个比特位, 或者可以位于每段中的末 3个比特位, 还可 以位于每段中的任何中间位置, 第一段和第二段中进行转换的 3个连续比特 位, 均为前面具有 K个比特位, 后面具有 L个比特位, 其中, K和 L均为大于零 的整数。 而根据 3B/4B编码表进行编码转换,对没有进行转换的比特位进行翻 转控制与表 1 , 表 2中相类似。
图 12为本发明一个线路解码的方法实施例的流程图, 如图 12所示, 该线 路解码方法包括:
S201、 接收码流; S202、 对码流进行解码, 包括对上述码流中的数据帧的有效载荷, 将每 连续 N-bn+bm位连续数据中的至少 b段中的各段中相同位置的 m位连续数据, 进行 n位连续数据的转换, 上述 b为大于或者等于 2的整数, 上述 N、 n和 m均为 大于零的整数, bxn<N, m>n;
S203、 将经过解码的码流输出。
其中, 进行解码操作是以连续 N-bn+bm比特位为一个解码单元进行解码 处理, 而解码端接收到的码流通常为串行数据, 因此, 在对所述码流进行解 码之前 , 还需要对经过编码的码流进行串转并处理。
接收到的码流可以为数据码流或者控制码流(即控制字) ; 或者, 既包 括数据码流又包括控制码流。
在本实施例提供的线路解码方法中, 主要针对进行过线路编码的码流进 行解码, 以恢复线路编码前的码流。 而解码端和编码端遵守相同的编、 解码 机制, 即编码端采用什么方式编码, 在解码端也采用相应的方式进行解码。
在本发明提供的线路编码方法实施例中, 对码流进行编码时, 以连续 N 个比特位为一个编码单元进行编码, 具体对每个连续 N比特位中的至少 b段中 的各段中相同位置的 n位连续数据进行编码, 将 n位连续数据转换为 m位连续 数据。 n位连续数据和 m位连续数据之间可以存在着一定的对应关系, 这种对 应关系可以是预先设定的,可以采用映射表线路编码表等形式建立 n位连续数 据和 m位连续数据的对应关系。 一个 n可对应多个 m位连续数据, 但一个 m位 连续数据唯一对应一个 n位连续数据的, 以便在解码时可根据 m位连续数据唯 一确定一个原码 n位连续数据。 在编码时, 可在 n位连续数据对应的多个 m位 连续数据中选择一个 m位连续数据进行编码。
解码端在解码时, 因为在编码时, 是根据所述映射表中 n位连续数据与 m 位连续数据之间的对应关系进行编码的, 无论所述的 m位连续数据还是所述 n 位连续数据都应该能在所述映射表中找到。 根据 m位连续数据找到唯一对应 的 n位连续数据进行解码。 在本发明的实施例中, 通过对码流中的数据帧的有效载荷, 将每连续 N 个比特位中的至少 b段中的各段中相同位置的 n位连续数据, 进行到 m位连续 数据的转换, 而其他 N-bxn位数据不做编码处理。 相应的, 在解码端, 只对进 行编码的部分比特位进行解码, 而其他没有经过编码的比特位不做处理。
解码端接收到的经过编码的 N-bn+bm位连续数据中, 连 1的长度为: 续 N 个比特位中未做转换处理的 N-bxn个比特位的数据的中连 "Γ,的长度, 与该连 "1"长度相邻的, b个连续 n位连续数据转换到 m位连续数据后连 "Γ,的长度, 之 和; 连 0的长度为: 连续 N个比特位中未做转换处理的 N-bxn个比特位的数据 中连" 0"的长度, 与该连 "0"长度相邻的, b个连续 n位连续数据转换到 m位连续 数据后连 "0"的长度, 之和。
在编码端, 可以根据对系统电气性能的需求, 或者是较佳电气性能的系 统中连续 "0"的长度或连续 "Γ,的长度的经验值来设定编码后的码流中, 连续 "0"的长度, 和连续 "Γ,的长度的门限值。 通过该门限值来进一步确定 b、 n和 m 的值, 具体可以是: 使该门限值为 n位连续数据与 m位连续数据对应关系映射 表中各个 m位连续数据中连" 0,,的长度的最大值, 以及各个 m位连续数据中连 "Γ,的长度的最大值。
相应的,在解码端,将所述码流中的数据帧的有效载荷的每连续 N-bn+bm 个比特位中的至少 b段中的各段中相同位置的 m位连续数据, 进行 m位连续数 据到 n位连续数据的转换, 而转换中依据的 m位连续数据与 n位连续数据之间 的对应关系与编码端相同。
本实施例提供的线路解码方法, 对接收到的码流中的数据帧的有效载荷 的每连续 N-bn+bm位连续数据中的至少 b段中的各段中相同位置的 m位连续数 据, 进行 m位连续数据到 n位连续数据的转换, 减少了连续" 0"以及连续" 1 "的 长度, 提高了编码传输的 ISI性能; 另外, 降低了一个码字内跳变沿出现的概 率, 改善了系统的串扰性能, 因此, 本实施例提供的线路编码方法能够有效 提高信道传输时的电气性能。 在前一实施例的基础上, 由于在编码端对码流进行编码时, 可以根据 n/m 线路编码表进行 n位连续数据到 m位连续数据的转换, 该 n/m线路编码表中每 一个 n位连续数据对应一个极性偏差 RD为负的 m位连续数据和 /或一个极性偏 差 RD为正的 m位连续数据, RD为负的 m位连续数据中 0的个数小于或等于 1的 个数, RD为正的 m位连续数据中 0的个数大于或等于 1的个数。
其中, n/m线路编码表可以是 5B/6B编码表, 或 3B/4B编码表, 相应的, n=5 , m=6或者 n=3 , m=4。 n/m线路编码表还可以是 4B/5B、 8B/9B 或 8B/10B 等常用的编码表。
因此, 在解码端, 根据与编码端相同的 n/m线路编码表进行所述 m位连续 数据到 n位连续数据的转换,所述 n/m线路编码表中每一 n位连续数据对应一个 极性偏差 RD为负的 m位连续数据和一个极性偏差 RD为正的 m位连续数据, 所 述 RD为负的 m位连续数据中 0的个数小于或等于 1的个数, 所述 RD为正的 m位 连续数据中 0的个数大于或等于 1的个数。
另外, 由于编码端在进行编码后, 如果待编码的 N位连续数据之前的码 流的极性偏差和不进行转换的 N-bxn位数据的极性偏差一致, 则在编码端进 一步对不进行转换的 N-bxn位数据进行翻转; 而如果待编码的 N位连续数据 之前的码流的极性偏差和不进行转换的 N-bxn位连续数据的极性偏差不一 致, 则不对不进行转换的 N-bxn位数据进行翻转。 其中, 翻转操作具体是: 将其中的" 0,,变成 "1", "1" 变成 "0", 通过该翻转操作以进一步平衡编码后的 码流中的 "0""1"个数。 如果编码端进行了翻转操作、 因此相应的, 在解码端, 需要对 N-bxn位数据进行翻转。
具体的, 从表 2中可以看出, 如果进行编码转换的两组 5比特数据均转 换成 RD+的 6比特数据时, 则编码端无需对没有进行编码转换的 N-bxn位数 据进行翻转; 如果进行编码转换的两组 5比特数据均转换成 RD-的 6比特数 据时, 则编码端需要对没有进行编码转换的 N-bxn位数据进行翻转; 如果进 行编码转换的两组 5比特数据, 一组转换成 RD+的 6比特数据, 另一组转换 成 RD-的 6比特数据, 则编码端亦需要对没有进行编码转换的 N-bxn位连续 数据进行翻转。 由此, 从表 2可以看出, 只要进行编码转换的几组 n位连续 数据中, 有一组 n位连续数据转换成 RD-的 m位连续数据, 则需要对没有进 行编码转换的 N-bxn位数据进行翻转。 因此, 解码端可以据此判断是否需要 对没有进行编码转换的 N-bxn位连续数据进行翻转, 具体为: 解码端判断若 每连续 N-bn+bm位连续数据中,存在 RD为负的 m位连续数据, 则对没有进 行转换的 N-bxn位连续数据进行翻转。
其中, 由于在编码端, 可以根据待编码的 N位连续数据之前的码流的极 性偏差和不进行转换的 N-bxn位数据的极性偏差是否一致, 来选择 n/m线路 编码表中 RD为正或 RD为负的 m位连续数据, 具体是:
若待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换的 N-bxn位数据的极性偏差一致, 则将待转换的各段中相同位置的 n位连续数 据转换为 n/m线路编码表中对应的 RD为负的 m位连续数据;
若待编码的 N位连续数据之前的码流的极性偏差和不进行转换的 N-bxn 位数据的极性偏差不一致, 则将待转换的各段中相同位置的 n位连续数据转 换为 n/m线路编码表中对应的 RD为正的 m位连续数据。
实质上, 编码端通过 RD为负的 m位连续数据来指示接收端是否需要对 没有进行转换的 N-bxn位数据进行翻转。
而另一种 m位连续数据的选择方式具体可以为:
若待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换的
N-bxn位数据的极性偏差一致, 则将待转换的各段中相同位置的 n位连续数 据转换为 n/m线路编码表中对应的 RD为正的 m位连续数据;
若待编码的 N位连续数据之前的码流的极性偏差和不进行转换的 N-bxn 位数据的极性偏差不一致, 则将待转换的各段中相同位置的 n位连续数据转 换为 n/m线路编码表中对应的 RD为负的 m位连续数据。
类似的, 实质上, 编码端通过 RD为正的 m位连续数据来指示接收端是 否需要对没有进行转换的 N-bxn位数据进行翻转。
另外, 在解码端, 可以根据需要解码的 m位连续数据是否存在于 n/m编码 表中, 来检查接收的码流是否出现了误码。 这是因为, 编码端是根据映射表 中的 n位连续数据与 m位连续数据之间的对应关系进行编码的, 因此, 无论是 m位连续数据还是 n位连续数据都应该能在映射表中找到。 需要说明的是, 这 种检测只针对于经过编码转换后得到的 m位比特, 而对于其他未进行编码转 换的比特位则无法进行误码检测。 但由于在编码侧, 在对 a个连续 N个比特位 进行编码后得到的码流前增加了标志位, 增加的标志位为奇偶校验位、 前向 纠错编码 FEC位或循环冗余校验 CRC位等, a为大于零的整数。 因此, 在解码 端可以根据添加的标志位进行物理层的误码检测。
在接收端进行的解码操作与编码端进行的编码操作是相对应的, 如果发 送端进行的是 32B/34B编码,具体是将每连续 32个比特位中的相等两段(每段 为 16个比特位) 中的每段中位置相同的 5个连续比特位编码成 6个比特位连续 数据(5B/6B ) , 则在接收端, 首先对接收到的比特流进行串转并处理, 然后 以 34比特为一组, 将 34比特中的相等两段(每段为 17个比特位) 中的每段中 位置相同的 6个连续比特位进行 5B/6B解码处理, 实现 32B/34B解码。 如果发 送端进行的是其他编码方式, 则接收端的解码方式应与发送端完全对应, 在 此不——列举。
进一步的, 与编码端相对应的, 在对所述码流进行解码之后, 还可以对 码流进行解扰处理, 以恢复原始业务数据。 最后, 对业务数据进行解帧处理。
本实施例提供的线路解码方法, 通过将接收到的比特位中的一部分比特 位的数据进行解码处理, 而对其他数据并不做任何处理, 可以实现最大连 0 的长度和最大连 1的长度不超过一定门限值, 提高了编码传输的 ISI性能; 降 低了一个码字内的跳变沿密度, 改善了系统的串扰性能, 实现线路编码的码 间干扰和串扰平衡, 提高了编码传输的电气性能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于 一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施 例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体( Read-Only Memory, ROM )或随机存者 i己忆体 ( Random Access Memory, RAM )等。
图 13为本发明一个线路编码装置实施例的结构示意图, 如图 13所示, 该装置包括: 编码模块 11和第一输出模块 12;
其中, 编码模块 11 , 用于对码流进行编码, 包括对上述码流中的数据帧 的有效载荷, 将每连续 N个比特位中的至少 b段中的各段中相同位置的 n位 连续数据, 进行到 m位连续数据的转换, 上述 b为大于或者等于 2的整数, 上述 N、 n和 m均为大于零的整数, bxn<N, m>n;
第一输出模块 12, 用于将经过编码模块 11编码的码流输出。
在一个实施例中, n位连续数据与 m位连续数据之间的对应关系可以通 过 n/m线路编码表建立。
本实施例提供的线路编码装置, 对每连续 N个比特位中的至少 b个连续 的 n位连续数据进行编码转换, 而对其他 N-bxn位数据并不做编码处理, 从 而减少了连续 "0"以及连续 "Γ,的长度, 提高了编码传输的 ISI性能; 另外, 降 低了一个码字内跳变沿出现的概率, 改善了系统的串扰性能, 因此, 本实施 例提供的线路编码方法能够有效提高信道传输时的电气性能。
图 14为本发明又一个线路编码装置实施例的结构示意图,如图 14所示, 在前一实施例的基础上, 编码模块 11还可以具体用于: 根据 n位连续数 据与 m位连续数据之间的对应关系, 进行到 m位连续数据的转换; 所述 n位 连续数据与 m位连续数据之间的对应关系通过 n/m线路编码表建立, n/m线 路编码表中每一个 n位连续数据对应一个极性偏差 RD为负的 m位连续数据 和 /或一个极性偏差 RD为正的 m位连续数据, RD为负的 m位连续数据中 0 的个数大于或等于 1的个数, RD为正的 m位连续数据中 0的个数小于或等 于 1的个数。 当然很好理解的是, 如果编码端采用定义二定义的线路编码表, 则解码段相应的也使用定义二定义的线路编码表。
一方面, 编码模块 11可以进一步包括:
第一统计单元 111 , 用于统计待编码的 N位连续数据之前的码流, 经过 编码后得到 0和 1的个数;
第一转换单元 112, 用于若第一统计单元 111统计出 0的个数小于 1的 个数, 则将待转换的 n位连续数据转换为 n/m线路编码表中对应的 RD为负 的 m位连续数据; 若统计单元统计出 0的个数大于 1的个数, 则将待转换的 n位连续数据转换为 n/m线路编码表中对应的 RD为正的 m位连续数据。
另一方面, 该装置还可以包括第一翻转模块 13 , 用于根据待编码的 N位 连续数据之前的码流的极性偏差和待编码的 N位连续数据中, 不进行转换的 N-bxn位数据的极性偏差来确定是否对没有进行转换的 N-bxn位数据进行翻 转。
第一翻转模块 13可以具体用于: 若待编码的 N位连续数据之前的码流 的极性偏差和不进行转换的 N-bxn位数据的极性偏差一致, 则对不进行转换 的 N-bxn位数据进行翻转;
若待编码的 N位连续数据之前的码流的极性偏差和不进行转换的 N-bxn 位数据的极性偏差不一致, 则不对没有进行转换的 N-bxn位数据进行翻转。
进一步的, 编码模块 11还可以进一步包括:
第二统计单元 113 , 用于统计待编码的 N位连续数据之前的码流, 经过 编码后得到 0和 1 的个数; 统计待编码的 N位连续数据中, 不进行转换的 N-bxn位数据中 0和 1的个数;
判断单元 114, 用于当第二统计单元 113的两次统计的结果均为 0的个 数小于 1的个数, 或 0的个数大于 1的个数时, 确定所述待编码的 N位连续 数据之前的码流的极性偏差和所述不进行转换的 N-bxn位数据的极性偏差一 致; 当第二统计单元 113的两次统计的结果中一次统计的结果为 0的个数小 于 1的个数, 另一次统计的结果为 0的个数大于 1的个数时, 确定所述待编 码的 N位连续数据之前的码流的极性偏差和所述不进行转换的 N-bxn位数据 的极性偏差不一致;
第二转换单元 115 , 用于若判断单元 114的判断结果为一致, 则将待转 换的 n位连续数据转换为 n/m线路编码表中对应的 RD为负的 m位连续数据; 若判断单元 114的判断结果为不一致,则将待转换的 n位连续数据转换为 n/m 线路编码表中对应的 RD为正的 m位连续数据。
或者, 第二转换单元 115还可以用于: 若判断单元 114的判断结果为一 致, 则将待转换的 n位连续数据转换为 n/m线路编码表中对应的 RD为正的 m位连续数据; 若判断单元 114的判断结果为不一致, 则将待转换的 n位连 续数据转换为 n/m线路编码表中对应的 RD为负的 m位连续数据。
此外, 该装置还可以包括:
加扰模块 14, 用于对码流进行加扰。
在实施例提供的线路编码装置, 通过将 N个比特位中的一部分比特位的 数据进行转换, 而对其他数据并不做任何处理, 可以实现最大连 0的长度和 最大连 1 的长度不超过一定的门限值, 提高了编码传输的 ISI性能; 经过扰 码后跳变沿密度下降, 改善了系统的串扰性能, 实现线路编码的码间干扰和 串扰平衡; 本实施例还提高了编码的直流平衡特性, 并且还为编码后的码流 提供了物理层的检测, 提高了编码传输的电气性能。
本发明提供的线路编码装置实施例与本发明提供的线路编码方法相对 应, 为实现线路编码方法的功能设备, 该线路编码装置的编码过程可参见线 路编码方法实施例, 在此不再赘述。
图 15为本发明提供一个线路解码装置实施例的结构示意图, 参见图 15 所示, 该装置包括: 接收模块 21、 解码模块 22和第二输出模块 23;
其中, 接收模块 21 , 用于接收码流;
解码模块 22, 用于对上述码流进行解码, 包括对上述码流中的数据帧的 有效载荷,将每连续 N-bn+bm位连续数据中的至少 b段中的各段中相同位置 的 m位连续数据, 进行 n位连续数据的转换, 上述 b为大于或者等于 2的整 数, 上述 N、 n和 m均为大于零的整数, bxn<N, m>n;
第二输出模块 23 , 用于将解码模块解码后的码流输出。
在一个实施例中, m位连续数据与 n位连续数据之间的对应关系可以通 过 n/m线路编码表建立。
图 16为本发明提供另一个线路解码装置实施例的结构示意图, 如图 16 所示, 在前一实施例基础上, 解码模块 22还可具体用于: 根据 m位连续数 据与 n位连续数据之间的对应关系, 进行 m位连续数据到 n位连续数据的转 换; 所述 m位连续数据与 n位连续数据之间的对应关系通过 n/m线路编码表 建立, n/m线路编码表中每一 n位连续数据对应一个极性偏差 RD为负的 m 位连续数据和 /或一个极性偏差 RD为正的 m位连续数据, RD为负的 m位连 续数据中 0的个数大于或等于 1的个数, RD为正的 m位连续数据中 0的个 数小于或等于 1的个数。 当然很好理解的是, 如果编码端采用定义二定义的 线路编码表, 则解码端相应的也使用定义二定义的线路编码表。
该装置还可以进一步包括:
第二翻转模块 24, 用于若每连续 N-bn+bm位连续数据中, 存在 RD为负 的 m位连续数据, 则对没有进行转换的 N-bxn位数据进行翻转。
解扰模块 25, 用于对接收模块 21接收的码流进行解绕。
本发明提供的线路解码装置实施例与本发明提供的线路解码方法相对 应, 为实现线路解码方法的功能设备, 该线路解码装置的编码过程可参见线 路解码方法实施例, 在此不再赘述。
图 17为本发明提供的线路编解码系统的结构示意图, 如图 17所示, 该 系统包括线路编码装置 1和线路解码装置 2;
线路编码装置 1 , 用于对码流进行编码, 包括对上述码流中的数据帧的 有效载荷, 将每连续 N个比特位中的至少 b段中的各段中相同位置的 n位连 续数据, 进行到 m位连续数据的转换, 上述 b为大于或者等于 2的整数, 上 述N、 n和 m均为大于零的整数, bxn<N, m>n;
线路解码装置 2, 用于对接收模块接收的码流进行解码, 包括对上述码 流中的数据帧的有效载荷, 将每连续 N-bn+bm位连续数据中的至少 b段中的 各段中相同位置的 m位连续数据, 进行 n位连续数据的转换, 上述 b为大于 或者等于 2的整数, 上述 N、 n和 m均为大于零的整数, bxn<N, m>n; 需要说明的是,其中的线路编码装置 1在进行编码前首先要对业务数据进行 成帧处理, 为了提高编码的直流平衡特性, 还可以进一步对码流进行加扰处理, 在编码之后, 线路编码装置 1再进行并转串处理后, 将码流发送至串行线路。 相 应的, 线路解码装置 2接收到码流后, 首先进行串转并处理, 然后进行与线路编 码装置 1相对应的解码操作, 之后, 线路解码装置 2对码流解扰处理, 以恢复原 始业务数据。 最后线路解码装置 2对业务数据进行解帧处理。
本发明提供的线路编解码系统实施例与本发明提供的线路编码方法和线 路解码方法相对应, 为实现线路编码方法和线路解码方法的功能设备, 该系 统的编、 解码过程可参见线路编码方法实施例和线路解码方法实施例, 在此 不再赘述。
本发明实施例提供的线路编码装置、线路解码装置以及线路编解码系统, 其功能可以集成到数字信号处理(Digital Signal Processing; 简称: DSP ) 芯 片或现场可编程门阵列 ( Field-Programmable Gate Array; 简称: FPGA )芯片 上进行软件开发来实现, 也可以通过专用集成电路 ( Application Specific Integrated Circuit; 简称: ASIC ) 的方式固化实现。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其 限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术 人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或 者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims

权 利 要求
1、 一种线路编码方法, 其特征在于, 包括:
对码流进行编码, 包括对所述码流中的数据帧的有效载荷, 将每连续 N 个比特位中的至少 b段中的各段中相同位置的 n位连续数据, 进行到 m位连 续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n和 m均为大于 零的整数, bxn<N, m>n;
将经过编码的码流输出。
2、 根据权利要求 1所述的方法, 其特征在于, 所述进行到 m位连续数 据的转换包括: 根据所述 n位连续数据与 m位连续数据之间的对应关系, 进 行到 m位连续数据的转换;
所述 n位连续数据与 m位连续数据之间的对应关系通过 n/m线路编码表 建立, 所述 n/m线路编码表中每一个 n位连续数据对应一个极性偏差 RD为 负的 m位连续数据和 /或一个极性偏差 RD为正的 m位连续数据,所述 RD为 负的 m位连续数据中 0的个数大于或等于 1的个数,所述 RD为正的 m位连 续数据中 0的个数小于或等于 1的个数。
3、 根据权利要求 2所述的方法, 其特征在于, 所述根据所述 n位连续数 据与 m位连续数据之间的对应关系, 进行到 m位连续数据的转换, 包括: 统计待编码的 N位连续数据之前的码流,经过编码后得到 0和 1的个数; 若 0的个数小于 1 的个数, 则将待转换的所述各段中相同位置的 n 位连续数据转换为所述 n/m线路编码表中对应的 RD为负的 m位连续数 据; 若 0的个数大于 1的个数, 则将待转换的所述各段中相同位置的 n 位连续数据转换为所述 n/m线路编码表中对应的 RD为正的 m位连续数 据。
4、 根据权利要求 2所述的方法, 其特征在于, 还包括: 根据待编码的 N 位连续数据之前的码流的极性偏差和待编码的 N位连续数据中不进行转换的
N-bxn位数据的极性偏差, 来确定是否对没有进行转换的 N-bxn位数据进行 翻转。
5、 根据权利要求 4所述的方法, 其特征在于, 所述根据待编码的 N位 连续数据之前的码流的极性偏差和待编码的 N位连续数据中不进行转换的 N-bxn位数据的极性偏差, 来确定是否对没有进行转换的 N-bxn位数据进行 翻转, 包括:
若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差一致, 则对所述不进行转换的 N-bxn位数据进行 翻转;
若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差不一致, 则不对所述不进行转换的 N-bxn位数据 进行翻转。
6、 根据权利要求 5所述的方法, 其特征在于, 所述根据 n位连续数据与 m位连续数据之间的对应关系, 进行到 m位连续数据的转换, 包括:
若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差一致, 则将待转换的所述各段中相同位置的 n位 连续数据转换为所述 n/m线路编码表中对应的 RD为负的 m位连续数据; 若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差不一致, 则将待转换的所述各段中相同位置的 n 位连续数据转换为所述 n/m线路编码表中对应的 RD为正的 m位连续数据。
7、 根据权利要求 5所述的方法, 其特征在于, 所述根据 n位连续数据与 m位连续数据之间的对应关系, 进行到 m位连续数据的转换, 包括:
若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差一致, 则将待转换的所述各段中相同位置的 n位 连续数据转换为所述 n/m线路编码表中对应的 RD为正的 m位连续数据; 若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差不一致, 则将待转换的所述各段中相同位置的 n 位连续数据转换为所述 n/m线路编码表中对应的 RD为负的 m位连续数据。
8、 根据权利要求 5-7任一项所述的方法, 其特征在于, 所述待编码的 N 位连续数据之前的码流的极性偏差和所述不进行转换的 N-bxn位数据的极性 偏差是否一致, 通过统计待编码的 N位连续数据之前的码流经过编码后得到 0和 1的个数和统计待编码的 N位连续数据中不进行转换的 N-bxn位连续数 据中 0和 1的个数来判断; 其中,
若两次统计的结果均为 0的个数小于 1的个数, 或 0的个数大于 1的个 数, 则所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差一致;
若两次统计的结果中一次统计的结果为 0的个数小于 1的个数, 另一次 统计的结果为 0的个数大于 1的个数, 若所述待编码的 N位连续数据之前的 码流的极性偏差和所述不进行转换的 N-bxn位数据的极性偏差不一致。
9、 根据权利要求 1-7任一项所述的方法, 其特征在于, 还包括: 在对 a个连续所述 N个比特位进行编码后, 在每 N个比特位编码后得到 的码流前增加标志位 , 所述标志位为奇偶校验位、 前向纠错编码 FEC位或循 环冗余校验 CRC位, a为大于零的整数。
10、 根据权利要求 9所述的方法, 其特征在于, 所述对码流进行编码之 前, 还包括:
对所述码流进行加扰。
11、 根据权利要求 1-7任一项所述的方法, 其特征在于, 所述 N为 32, 所述 b为 2, 所述 n为 5, 所述 m为 6; 所述每连续 N个比特位中的至少 b 段为每连续 32个比特位中等分的每段包括 16个比特位的 2段。
12、 根据权利要求 9所述的方法, 其特征在于, 所述 N为 32, 所述 b为 2, 所述 n为 5, 所述 m为 6; 所述 a为 64或 32; 所述每连续 N个比特位中 的至少 b段为每连续 32个比特位中等分的每段包括 16个比特位的 2段。 。
13、 一种线路解码方法, 其特征在于, 包括: 接收码流;
对所述码流进行解码, 包括对所述码流中的数据帧的有效载荷, 将每连 续 N-bn+bm位连续数据中的至少 b段中的各段中相同位置的 m位连续数据, 进行 n位连续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n和 m 均为大于零的整数, bxn<N, m>n;
将解码后的码流输出。
14、 根据权利要求 13所述的方法, 其特征在于, 所述进行 n位连续数据 的转换包括: 根据所述 m位连续数据与 n位连续数据之间的对应关系, 进行 到 n位连续数据的转换;
所述 m位连续数据与 n位连续数据之间的对应关系通过 n/m线路编码表 建立, 所述 n/m线路编码表中每一 n位连续数据对应一个极性偏差 RD为负 的 m位连续数据和 /或一个极性偏差 RD为正的 m位连续数据,所述 RD为负 的 m位连续数据中 0的个数大于或等于 1的个数,所述 RD为正的 m位连续 数据中 0的个数小于或等于 1的个数。
15、 根据权利要求 13 所述的方法, 其特征在于, 还包括: 若每连续
N-bn+bm位连续数据中, 存在 RD为负的 m位连续数据, 则对没有进行转换 的 N-bxn位数据进行翻转。
16、 根据权利要求 13 所述的方法, 其特征在于, 还包括: 若每连续 N-bn+bm位连续数据中, 存在 RD为正的 m位连续数据, 则对没有进行转换 的 N-bxn位数据进行翻转。
17、 根据权利要求 13-16任一项所述的方法, 其特征在于, 所述对所述 码流进行解码之前, 还包括:
对所述码流进行解扰。
18、 一种线路编码装置, 其特征在于, 包括:
编码模块, 用于对码流进行编码, 包括对所述码流中的数据帧的有效载 荷,将每连续 N个比特位中的至少 b段中的各段中相同位置的 n位连续数据, 进行到 m位连续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n 和 m均为大于零的整数, bxn<N, m>n;
第一输出模块, 用于将经过所述编码模块编码的码流输出。
19、 根据权利要求 18所述的线路编码装置, 其特征在于, 所述编码模块 具体用于: 根据所述 n位连续数据与 m位连续数据之间的对应关系, 进行到 m位连续数据的转换;
所述 n位连续数据与 m位连续数据之间的对应关系通过 n/m线路编码表 建立, 所述 n/m线路编码表中每一个 n位连续数据对应一个极性偏差 RD为 负的 m位连续数据和 /或一个极性偏差 RD为正的 m位连续数据,所述 RD为 负的 m位连续数据中 0的个数大于或等于 1的个数,所述 RD为正的 m位连 续数据中 0的个数小于或等于 1的个数。
20、 根据权利要求 19所述的线路编码装置, 其特征在于, 所述编码模块 包括:
第一统计单元, 用于统计待编码的 N位连续数据之前的码流, 经过编码 后得到 0和 1的个数;
第一转换单元, 用于若所述统计单元统计出 0的个数小于 1的个数, 则 将待转换的所述各段中相同位置的 n位连续数据转换为所述 n/m线路编码表 中对应的 RD为负的 m位连续数据; 若所述统计单元统计出 0的个数大于 1 的个数, 则将待转换的所述各段中相同位置的 n位连续数据转换为所述 n/m 线路编码表中对应的 RD为正的 m位连续数据。
21、 根据权利要求 19所述的线路编码装置, 其特征在于, 还包括: 第一翻转模块, 用于根据待编码的 N位连续数据之前的码流的极性偏差 和待编码的 N位连续数据中, 不进行转换的 N-bxn位数据的极性偏差来确定 是否对没有进行转换的 N-bxn位数据进行翻转。
22、 根据权利要求 21所述的线路编码装置, 其特征在于, 所述第一翻转 模块具体用于: 若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差一致, 则对所述不进行转换的 N-bxn位数据进行 翻转;
若所述待编码的 N位连续数据之前的码流的极性偏差和所述不进行转换 的 N-bxn位数据的极性偏差不一致, 则不对所述不进行转换的 N-bxn位数据 进行翻转。
23、 根据权利要求 22所述的线路编码装置, 其特征在于, 还包括: 第二统计单元, 用于统计待编码的 N位连续数据之前的码流, 经过编码 后得到 0和 1的个数; 统计待编码的 N位连续数据中, 不进行转换的 N-bxn 位数据中 0和 1的个数;
判断单元, 用于当所述第二统计单元的两次统计的结果均为 0的个数小于 1 的个数, 或 0的个数大于 1的个数时, 确定所述待编码的 N位连续数据之前的 码流的极性偏差和所述不进行转换的 N-bxn位数据的极性偏差一致;当所述第二 统计单元的两次统计的结果中一次统计的结果为 0的个数小于 1的个数,另一次 统计的结果为 0的个数大于 1的个数时, 确定所述待编码的 N位连续数据之前 的码流的极性偏差和所述不进行转换的 N-bxn位 :据的极性偏差不一致;
第二转换单元, 用于若所述判断单元的判断结果为一致, 则将待转换的 所述各段中相同位置的 n位连续数据转换为所述 n/m线路编码表中对应的 RD 为负的 m位连续数据; 若所述判断单元的判断结果为不一致, 则将待转换的 所述各段中相同位置的 n位连续数据转换为所述 n/m线路编码表中对应的 RD 为正的 m位连续数据。
24、 根据权利要求 23所述的线路编码装置, 其特征在于, 所述第二转换 单元还用于: 若所述判断单元的判断结果为一致, 则将待转换的所述各段中 相同位置的 n位连续数据转换为所述 n/m线路编码表中对应的 RD为正的 m 位连续数据; 若所述判断单元的判断结果为不一致, 则将待转换的所述各段 中相同位置的 n位连续数据转换为所述 n/m线路编码表中对应的 RD为负的 m位连续数据。
25、 根据权利要求 18-24任一项所述的线路编码装置, 其特i^于, 还包括: 加扰模块, 用于对所述码流进行加扰。
26、 一种线路解码装置, 其特征在于, 包括:
接收模块, 用于接收码流;
解码模块, 用于对所述码流进行解码, 包括对所述码流中的数据帧的有 效载荷,将每连续 N-bn+bm位连续数据中的至少 b段中的各段中相同位置的 m位连续数据, 进行 n位连续数据的转换, 所述 b为大于或者等于 2的整数, 所述 N、 n和 m均为大于零的整数, bxn<N, m>n;
第二输出模块, 用于将所述解码模块解码后的码流输出。
27、 根据权利要求 26所述的线路解码装置, 其特征在于, 所述解码模块 具体用于: 根据所述 m位连续数据与 n位连续数据之间的对应关系, 进行到 n位连续数据的转换;
所述 m位连续数据与 n位连续数据之间的对应关系通过 n/m线路编码表 建立, 所述 n/m线路编码表中每一 n位连续数据对应一个极性偏差 RD为负 的 m位连续数据和 /或一个极性偏差 RD为正的 m位连续数据,所述 RD为负 的 m位连续数据中 0的个数大于或等于 1的个数,所述 RD为正的 m位连续 数据中 0的个数小于或等于 1的个数。
28、 根据权利要求 26所述的线路解码装置, 其特征在于, 还包括: 第二翻转模块, 用于若每连续 N-bn+bm位连续数据中, 存在 RD为负的 m位连续数据, 则对没有进行转换的 N-bxn位数据进行翻转。
29、根据权利要求 26 - 28任一项所述的线路解码装置, 球于, 还包括: 解扰模块, 用于对所述接收模块接收的码流进行解绕。
30、 一种线路编解码系统, 其特征在于, 包括如权利要求 18 - 24任一项 所述的线路编码装置, 以及如权利要求 26 - 28任一项所述的线路解码装置。
PCT/CN2011/074587 2010-10-22 2011-05-24 线路编、解码方法及装置、系统 WO2011137820A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2010105326818A CN102142927A (zh) 2010-10-22 2010-10-22 线路编、解码方法及装置、系统
CN201010532681.8 2010-10-22

Publications (1)

Publication Number Publication Date
WO2011137820A1 true WO2011137820A1 (zh) 2011-11-10

Family

ID=44410182

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/074587 WO2011137820A1 (zh) 2010-10-22 2011-05-24 线路编、解码方法及装置、系统

Country Status (2)

Country Link
CN (1) CN102142927A (zh)
WO (1) WO2011137820A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412934B (zh) * 2011-12-01 2014-04-09 中国航天时代电子公司 一种数字编码传输方法
CN104052577B (zh) * 2014-06-23 2017-11-24 硅谷数模半导体(北京)有限公司 信号传输的处理方法和装置及视频数据的传输方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610134A (zh) * 2009-07-10 2009-12-23 中兴通讯股份有限公司 64b/66b编解码装置及实现64b/66b编解码的方法
CN101729198A (zh) * 2008-10-27 2010-06-09 华为技术有限公司 一种编解码方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606328B1 (en) * 1999-12-15 2003-08-12 Intel Corporation Look ahead encoder/decoder architecture
US7852242B2 (en) * 2008-05-15 2010-12-14 Taiwan Semiconductor Manufacturing Company, Ltd. Increasing 8B/10B coding speed using a disparity look-ahead table

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729198A (zh) * 2008-10-27 2010-06-09 华为技术有限公司 一种编解码方法、装置及系统
CN101610134A (zh) * 2009-07-10 2009-12-23 中兴通讯股份有限公司 64b/66b编解码装置及实现64b/66b编解码的方法

Also Published As

Publication number Publication date
CN102142927A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
US7786902B1 (en) Circuits, architectures, systems, methods, algorithms and software for conditional modulation coding
JP5981351B2 (ja) ワイギグ用の応用階層順方向エラー訂正フレームワーク
US6747580B1 (en) Method and apparatus for encoding or decoding data in accordance with an NB/(N+1)B block code, and method for determining such a block code
CN108282246B (zh) 信息处理的方法、设备和通信系统
US8898550B2 (en) Encoding of data for transmission
JP4836962B2 (ja) マルチレベル低密度パリティ検査符号化変調
US7802167B1 (en) Apparatus and method for detecting extended error bursts
US8904258B2 (en) Modulation-forward error correction (MFEC) codes and methods of constructing and utilizing the same
US20210234634A1 (en) Forward error correction with compression coding
WO2018014529A1 (zh) 一种编码方法、相关设备及系统
CN104601275B (zh) 用于编码数据的方法、编码器、解码器及通信系统
WO2011137790A1 (zh) 通用公共无线接口业务发送/接收方法及装置
CN113541856A (zh) 数据恢复方法及装置
US20240063940A1 (en) Soft fec with parity check
US9455750B2 (en) Source block size selection
US11683124B2 (en) Soft FEC with parity check
EP2140598A1 (en) Method and apparatus for indicating a temporary block flow using a piggybacked ack/nack field
EP2080271A2 (en) Method and apparatus for encoding and decoding data
WO2011137820A1 (zh) 线路编、解码方法及装置、系统
TWI749981B (zh) 用於無線區域網路之編碼方法、相關發送裝置及接收裝置
WO2021197104A1 (zh) 用于数据通信的编码方法及装置
WO2012109851A1 (zh) 一种交织和解交织的方法、交织器和解交织器
WO2006034647A1 (en) Variable length encoding and decoding method
GB2396786A (en) Data encoding/decoding for fibre optic communication
US20230396268A1 (en) Error correction using pam4 modulation

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11777239

Country of ref document: EP

Kind code of ref document: A1