WO2023236838A1 - 编码传输方法、解码方法和通信装置 - Google Patents

编码传输方法、解码方法和通信装置 Download PDF

Info

Publication number
WO2023236838A1
WO2023236838A1 PCT/CN2023/097564 CN2023097564W WO2023236838A1 WO 2023236838 A1 WO2023236838 A1 WO 2023236838A1 CN 2023097564 W CN2023097564 W CN 2023097564W WO 2023236838 A1 WO2023236838 A1 WO 2023236838A1
Authority
WO
WIPO (PCT)
Prior art keywords
symbol
codeword
bits
matrix
encoding
Prior art date
Application number
PCT/CN2023/097564
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 WO2023236838A1 publication Critical patent/WO2023236838A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present application relates to the field of coding, and in particular, to a coding transmission method, a decoding method and a communication device.
  • the current wired digital communication system based on the high-speed Ethernet protocol uses forward error correction coding technology before the sending end modulates the data bit stream into a signal for transmission, that is, adding redundancy to the data bit stream. Yu bits.
  • the corresponding forward error correction code decoding technology can be used to correct the limited transmission errors through calculation.
  • the embodiments of the present application disclose a coding transmission method, a decoding method and a communication device. By dispersing sudden continuous errors into different code words, the number of errors in each code word can be reduced, thereby improving The role of error correction success probability.
  • the first redundant bits are used to correct non-consecutive first bits in the first information bits, so that burst continuous errors can be dispersed into different codewords, thereby reducing The number of bit errors in each codeword increases the probability of successful error correction.
  • the first information bits include a first symbol block, and the first symbol block includes an m-th coded symbol in the first codeword and an m-th coded symbol in the second codeword.
  • the plurality of first bits include the All bits or part of the bits in the m-th coded symbol in a codeword, and does not include the coded symbols in the second codeword.
  • the first codeword and the second codeword are composed of the information Bits are encoded, and m is an integer greater than 0. Not including the encoding symbols in the second codeword may mean not including any bits in the encoding symbols in the second codeword. In other words, no bits in the second codeword are included.
  • the plurality of first bits include one bit or multiple non-consecutive bits in the m-th encoding symbol of the first codeword.
  • the plurality of first bits include one bit or multiple non-consecutive bits in the m-th coded symbol of the first codeword, but do not include all the bits in the first codeword; the bursts may be
  • the continuous errors sent are dispersed into different code words, which can reduce the number of errors in each code word.
  • the plurality of first bits do not include consecutive bits in any codeword encoded by the information bits.
  • sudden continuous errors can be dispersed into different codewords, thereby achieving the purpose of reducing the number of errors in each codeword.
  • the first information bits include a plurality of symbol blocks
  • the plurality of symbol blocks include a first symbol block and a second symbol block
  • the first symbol block includes a first codeword The mth coding symbol and the mth coding symbol in the second codeword
  • the second symbol block includes the nth coding symbol in the first codeword and the nth coding symbol in the second codeword encoding symbols
  • the first redundant bits are used for error correction of any bit sequence among a plurality of bit sequences obtained by arranging the plurality of symbol blocks in a matrix manner
  • the codeword is obtained by encoding the information bits
  • the m and the n are integers greater than 0, and the m is different from the n.
  • the first redundant bit is used to correct any bit sequence among multiple bit sequences obtained by arranging multiple symbol blocks in a matrix manner, which can disperse sudden continuous errors to different codes. among the characters, the number of bit errors in each codeword can be reduced.
  • encoding to obtain the first bit stream according to the information bits to be encoded includes: encoding the information bits with outer codes to obtain multiple outer code codewords; The codewords are interleaved in units of encoding symbols to obtain multiple symbol blocks.
  • the multiple symbol blocks include a first symbol block and a second symbol block.
  • the first symbol block includes the m-th codeword in the first codeword.
  • the plurality of symbol blocks are arranged into a matrix by columns; each row in the matrix is internally coded to obtain a plurality of A group of redundant bits, the plurality of groups of redundant bits including the first redundant bits; processing to obtain the first bit stream according to the plurality of symbol blocks and the plurality of groups of redundant bits.
  • multiple symbol blocks are arranged in columns into a matrix; each row in the matrix is encoded with an inner code to obtain multiple sets of redundant bits.
  • the error correction probability of the codeword can be improved.
  • arranging the plurality of symbol blocks into a matrix by columns includes: arranging the plurality of symbol blocks by columns into the matrix including P bits in each row, and the P Equal to the product of the inner code code length to be used for inner code encoding and the inner code symbol length, the m bits in each encoding symbol in the first symbol block are arranged in t columns, and the t is evenly divided by the m , the m, the P, and the t are all integers greater than 0.
  • a plurality of symbol blocks are arranged in columns into a matrix including P bits per row, so that each row of the matrix is inner-coded.
  • the continuity of the information bits in each row can be made weaker to maximize the dispersion of the information bits into different inner codes.
  • encoding the first bit stream according to the information bits to be encoded includes: performing outer code encoding on the first bit stream to obtain multiple outer code codewords;
  • the outer code codewords are interleaved in units of encoding symbols to obtain a plurality of symbol blocks.
  • the plurality of symbol blocks include a first symbol block and a second symbol block.
  • the first symbol block includes the first symbol block in the first codeword.
  • the second symbol block including the nth coded symbol in the first codeword and the nth coded symbol in the second codeword symbol, the m and the n are integers greater than 0, and the m is different from the n; arrange the plurality of symbol blocks into a matrix by rows; perform inner code encoding on each column in the matrix, Multiple groups of redundant bits are obtained, and the multiple groups of redundant bits include the first redundant bits; and the first bit stream is obtained by processing according to the multiple symbol blocks and the multiple groups of redundant bits.
  • multiple symbol blocks are arranged in rows into a matrix; each column in the matrix is internally coded to obtain multiple sets of redundant bits.
  • the error correction probability of the codeword can be improved.
  • arranging the plurality of symbol blocks into a matrix by rows includes: arranging the plurality of symbol blocks by rows into the matrix including P bits in each column, and the P Equal to the product of the inner code code length to be used for inner code encoding and the inner code symbol length, the m bits in each encoding symbol in the first symbol block are arranged into t rows, and the t is evenly divided by the m , the m, the P, and the t are all integers greater than 0.
  • multiple symbol blocks are arranged in rows into a matrix including P bits per column, so that each column of the matrix is inner-coded.
  • the coding symbols in the symbol blocks of odd rows in the matrix are arranged normally, and the coding symbols in the symbol blocks of even rows in the matrix are arranged in reverse; or, the The coding symbols in the symbol blocks of even rows in the matrix are arranged normally, and the coding symbols in the symbol blocks of odd rows in the matrix are arranged in reverse order.
  • the continuity of the information bits of each column can be made weaker.
  • this application provides a decoding and transmission method.
  • the method includes: the receiving end receives a second bit stream.
  • the second bit stream is the first bit stream sent by the sending end and is received by the receiving end through channel transmission.
  • the second bit stream includes second information bits and second redundant bits, and the second redundant bits are used to correct non-consecutive second bits in the second information bits. ;According to the second bit stream, decode to obtain information bits.
  • the second information bits include a first symbol block
  • the first symbol block includes a The m-th coding symbol in a codeword and the m-th coding symbol in a second codeword
  • the plurality of second bits include all bits or part of the m-th coding symbol in the first codeword bits, and does not include the encoding symbols in the second codeword
  • the m is an integer greater than 0.
  • Not including the encoding symbols in the second codeword may mean not including any bits in the encoding symbols in the second codeword. In other words, no bits in the second codeword are included.
  • the plurality of second bits include all bits or part of the bits in the m-th coded symbol in the first codeword, and do not include the coded symbols in the second codeword; in this way, the burst of continuous Dispersing code errors into different code words can reduce the number of code errors in each code word and increase the probability of successful error correction.
  • the second information bits further include a second symbol block
  • the second symbol block includes the nth coded symbol in the first codeword and the nth coded symbol in the second codeword.
  • the nth coding symbol of the second symbol block is the nth coding symbol in the Kth codeword to the nth coding symbol in the first codeword, and the first symbol
  • the coding symbols in the block are sequentially from the m-th coding symbol in the first codeword to the m-th coding symbol in the K-th codeword, and the n is an integer greater than 0 and not equal to the m
  • the Kth codeword to the first codeword are used for decoding to obtain the information bits, and the K is an integer greater than 1.
  • the ordering of the coded symbols in the second symbol block is different from the ordering of the coded symbols in the first codeword, which can increase the probability of spreading burst errors to different codewords.
  • decoding to obtain information bits according to the second bit stream includes: the receiving end arranging the second bit stream in columns into a matrix; the receiving end Each row of the matrix undergoes inner code decoding and retains the information bits of each row; the receiving end obtains the information bits based on the information bits of each row of the matrix.
  • the receiving end arranges the second bit stream into a matrix in columns, performs inner code decoding on each row of the matrix, and retains the information bits in each row.
  • the error correction probability of the codeword can be improved.
  • the information bits can be quickly decoded.
  • the first information bits include a plurality of symbol blocks
  • the plurality of symbol blocks include a first symbol block and a second symbol block
  • the first symbol block includes a first codeword The mth coding symbol and the mth coding symbol in the second codeword
  • the second symbol block includes the nth coding symbol in the first codeword and the nth coding symbol in the second codeword encoding symbols
  • the first redundant bits are used for error correction of any bit sequence among a plurality of bit sequences obtained by arranging the plurality of symbol blocks in a matrix manner
  • the codeword is obtained by encoding the information bits
  • the m and the n are integers greater than 0, and the m is different from the n.
  • the processing module is specifically configured to perform outer code encoding on the information bits to obtain multiple outer code codewords; and perform encoding on the multiple outer code codewords in units of encoding symbols. Interleave to obtain a plurality of symbol blocks, the plurality of symbol blocks including a first symbol block and a second symbol block, the first symbol block including the mth coded symbol in the first codeword and the mth coded symbol in the second codeword.
  • the mth coded symbol in the second symbol block includes the nth coded symbol in the first codeword and the nth coded symbol in the second codeword, the m and the n is an integer greater than 0, and the m is different from the n; arrange the plurality of symbol blocks into a matrix by rows; perform inner code encoding on each column in the matrix to obtain multiple groups of redundant bits, Multiple groups of redundant bits include the first redundant bits; and the first bit stream is obtained by processing according to the multiple symbol blocks and the multiple groups of redundant bits.
  • the coding symbols in the symbol blocks of odd rows in the matrix are arranged normally, and the coding symbols in the symbol blocks of even rows in the matrix are arranged in reverse; or, the The coding symbols in the symbol blocks of even rows in the matrix are arranged normally, and the coding symbols in the symbol blocks of odd rows in the matrix are arranged in reverse order.
  • an embodiment of the present application provides a communication device, which has the function of implementing the behavior in the method embodiment of the second aspect.
  • the communication device may be a communication device, a component of the communication device (such as a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the communication device.
  • the functions of the communication device can be implemented by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules or units corresponding to the above functions.
  • the communication device includes an interface module and a processing module, wherein: the interface module is used to receive a second bit stream, and the second bit stream is the first bit stream sent by the sending end.
  • the second information bits include a first symbol block
  • the first symbol block includes the m-th coded symbol in the first codeword and the m-th coded symbol in the second codeword.
  • symbol the plurality of second bits include all bits or part of the bits in the m-th coded symbol in the first codeword, and do not include the coded symbol in the second codeword, and m is greater than 0 integer.
  • the plurality of second bits include the mth coded symbol of the first codeword.
  • the above-mentioned processor may be a processor specifically designed to perform these methods, or may be a processor that executes computer instructions in a memory to perform these methods, such as a general-purpose processor.
  • the processor may also be configured to execute a program stored in the memory.
  • the communication device performs the method shown in the above-mentioned first aspect or any possible implementation of the first aspect.
  • the processor and the memory may be integrated into one device, that is, the processor and the memory may be integrated together.
  • the present application provides a computer-readable storage medium.
  • a computer program is stored in the computer-readable storage medium.
  • the computer program includes program instructions. When executed, the program instructions cause the computer to perform the above-mentioned first aspect or the third aspect.
  • Figure 1 shows an example of a cascaded FEC encoding process
  • Figure 2 shows an example of a cascaded FEC decoding process
  • Figure 3 is a schematic diagram of an intra-interleaving scheme provided by an embodiment of the present application.
  • Figure 4 is an example of a high-speed wired communication system provided by this application.
  • Figure 5 is an example of a high-speed connection application scenario provided by this application.
  • Figure 6 is a flow chart of a coding transmission method provided by an embodiment of the present application.
  • Figure 10 is a schematic diagram comparing a normally arranged symbol block and an inverted arranged symbol block provided by this application;
  • Figure 12 is an example of a matrix in which symbol blocks are arranged in columns according to an embodiment of the present application.
  • Figure 14 is an example of a bit stream provided by this application.
  • Figure 15 is a flow chart of another encoding transmission method provided by an embodiment of the present application.
  • Figure 16 is a flow chart of another encoding transmission method provided by an embodiment of the present application.
  • Figure 17 is a codeword structure of RS (544, 514) provided by the embodiment of the present application.
  • Figure 18 is an example of coding symbol interleaving with two RS (544, 514) codewords provided by the embodiment of the present application;
  • Figure 19 is another example of a matrix provided by this application in which multiple symbol blocks are arranged in columns;
  • Figure 20 is a codeword structure of BCH (144,136) provided by this application.
  • Figure 21 is an example of a matrix encoded by an inner code provided by an embodiment of the present application.
  • Redundant bits refer to additional coding symbols added to a codeword.
  • the number of coding symbols in redundant bits is the length of the codeword minus the information bits. Length, that is n-k. In this application, redundant bits and check bits can be replaced with each other.
  • RS(n,k,t) represents the Reed-Solomon (RS) code (or RS code) with code length n, information bit length k, and error correction capability t.
  • RS code is a forward error correction code.
  • each coded symbol is 10 bits
  • the code length is 544 symbols (ie 5440 bits)
  • the information bits are 514 symbols (ie 5140 bits)
  • the redundancy The remaining bits are 30 symbols (ie 300 bits).
  • coding, channel, and decoding are regarded as a generalized channel. This channel also has errors, so it can be further error-corrected and coded.
  • the coding at all levels is regarded as a whole coding, which is called cascade code.
  • Figure 1 shows an example of a cascaded FEC encoding process.
  • the cascaded FEC encoding process includes: outer code encoding, inner interleaving, inner code encoding, and outer interleaving.
  • the arrows in Figure 1 indicate the flow of data.
  • the cascade encoder at the sending end selects the encoding method of outer code and inner code; the outer code encodes the information bit stream (or data bit stream), performs inner interleaving on the encoded information bit stream, and then The inner-interleaved data bit stream is encoded with an inner code.
  • Figure 2 shows an example of a cascaded FEC decoding process.
  • Interleaving is actually a technology used for data processing in communication systems.
  • an interleaver is a device that changes the information structure to the maximum extent without changing the information content. Traditionally speaking, it is to maximize the dispersion of concentrated errors that occur suddenly during channel transmission.
  • the encoding and decoding scheme provided by this application can be applied to all high-speed serial interfaces in the field of information and communications technology (ICT), including network equipment interfaces and computer high-speed interfaces.
  • network device interfaces refer to various interfaces of network devices.
  • the network device interface may be an Ethernet interface and comply with the IEEE802.3 standard.
  • computer high-speed interface mainly refers to serial high-speed interface, including the interface for communication between chips, the interface between chips and optical modules, etc.
  • Figure 5 is an example of a high-speed connection application scenario provided by this application.
  • the black rectangle represents the backplane interface
  • the rectangle filled with diagonal lines and the rectangle filled with vertical lines represent the panel interface.
  • Other rectangles (except chips) represent the interfaces in the board.
  • multiple low-speed parallel signals are converted into high-speed serial signals at the transmitting end, pass through the transmission media (such as optical cables or copper wires), and finally the high-speed serial signals are converted back into low-speed parallel signals at the receiving end.
  • the sending end can modulate and encode the signal and transmit it to the receiving end through the wired channel.
  • the receiving end can perform corresponding channel equalization, demodulation and Decode the encoding to obtain data information and/or control information.
  • the encoding and decoding scheme provided by this application can be applied to data transmission between two interfaces of the same device, and can also be applied to data transmission between different devices.
  • the encoding and decoding scheme provided by this application adopts a two-dimensional matrix interleaving method.
  • the operations performed by the transmitter include: 1) After the outer code encoding, interleave multiple outer code code words in units of outer code encoding symbols, and The interleaved symbol sequence is arranged into a matrix by columns; 2), perform inner code encoding on each row in the matrix, and add the redundant bits generated by the inner code encoding to a new column of the matrix, that is, juxtaposed with the information bits; 3). Read the bits in columns for subsequent processing.
  • the operations performed by the receiving end include: 1) Arranging the bit streams that have undergone signal processing and demodulation into a matrix form in order and rows.
  • the order refers to the order of bits after demodulation of the received signal.
  • Figure 6 is a flow chart of a coding transmission method provided by an embodiment of the present application. As shown in Figure 6, the method includes:
  • the sending end performs outer code encoding on the information bits to be encoded, and obtains multiple outer code codewords.
  • the sender can be any device that requires encoding and transmission, such as network equipment, computer equipment, terminal equipment, etc., especially equipment that uses FEC technology for encoding.
  • the sending end is a computer, desktop computer, laptop, modem, router, bridge, transmission reception point (TRP), etc.
  • the operations or processing performed by the sending end can be performed by the sending end, or by a chip or circuit system installed in the sending end.
  • the above-mentioned circuit system may be, for example, an integrated circuit or a logic circuit.
  • the above-mentioned chip can be, for example, a system-on-chip (SoC) chip, a baseband modem chip, a SerDes chip, etc., which is not limited herein.
  • SoC system-on-chip
  • each encoding symbol of the outer code used by the transmitter includes m bits, the code length is n 1 symbols, and the information bit length is k 1 encoding symbols.
  • m is an integer greater than
  • n 1 is an integer greater than 1
  • k 1 is an integer greater than 0.
  • the sender calculates the corresponding (n 1 -k 1 ) redundant symbols and adds them to the k 1 coded symbols.
  • the codeword structure is shown in Figure 7.
  • Figure 7 is a schematic structural diagram of an outer code word provided by an embodiment of the present application. As shown in Figure 7, the outer code word (codeword) includes an information bit part and a redundant bit part.
  • each coded symbol in the outer code includes m bits.
  • This application does not limit the outer code used by the transmitter, that is, it does not limit the sizes of m, n 1 , k 1 , and the method of calculating the redundant symbols corresponding to k 1 encoding symbols.
  • the transmitting end can use any method to perform outer code encoding on the information bits to be encoded to obtain multiple outer code codewords.
  • the transmitting end interleaves multiple outer code codewords according to the outer code encoding symbols to obtain multiple symbol blocks.
  • the sending end interleaves codeword 1 (codeword 1 ), codeword 2 (codeword 2 ),..., codeword x (codeword x ) according to the outer code encoding symbol, and obtains symbol block 1 (part 1 ) to symbol Block n1(part n1 ).
  • x outer code codewords i.e. codeword 1 to codeword x
  • n1 symbol blocks i.e. part 1 to part n1 .
  • Each outer code codeword includes n1 coded symbols, each The symbol block (part) includes x encoding symbols and the x encoding symbols are located at the same position in the x outer code codewords; the outer code codeword 1 includes encoding symbols S 1,1 to S 1,n1 , and the outer code code Word 2 includes encoding symbols S 2,1 to S 2,n1 , outer code code word x includes encoding symbols S x,1 to S x,n1 , symbol block 1 (i.e. part 1 ) includes x outer code code words.
  • the sending end arranges multiple symbol blocks into a matrix by columns.
  • the transmitter arranges multiple symbol blocks into a matrix in columns, the number of columns occupied by each coded symbol in the symbol block can be flexibly set. That is to say, when arranging multiple symbol blocks into a matrix in columns, the transmitter can set the number of columns occupied by each coded symbol in the symbol block according to actual needs.
  • FIG. 9 is an example of a matrix of multiple symbol blocks arranged in columns according to the embodiment of the present application.
  • each part represents a symbol block.
  • Symbol block 1 (i.e. part 1 ) includes the first encoding symbol of each outer code word in multiple outer code code words, that is, S 1,1 and S 2 ,1 ,...,S x,1 , the coded symbols S 1,1 are arranged into t columns (t bits), that is, the coded symbols S 1,1 are arranged into a t column A matrix of rows.
  • the matrix shown in Figure 9 includes two types of symbol blocks, one is a normal arrangement of symbol blocks, for example, part 1 represents the normal arrangement of symbol blocks 1, and the other is an inverted arrangement of symbol blocks, such as part T n1 represents the reverse Rotate the arranged symbol block n1.
  • Figure 10 is a schematic diagram comparing a normally arranged symbol block and an inverted arranged symbol block provided by this application. Referring to Figure 10, each coded symbol in the forward-arranged symbol block j (i.e.
  • part j is sorted by column as S 1,j , S 2,j ,..., S x,j , and the reverse-arranged symbol block j (That is, part j )
  • the coding symbols in column order are S x,j , S x-1,j ,..., S 1,j .
  • the normally arranged symbol block refers to the normal arrangement of each coded symbol in the symbol block
  • the reversed arrangement of the symbol block refers to the reversed arrangement of each coded symbol in the symbol block.
  • Figure 9 only shows the arrangement of each bit included in S 1,1 in symbol block 1 (ie part 1 ). It should be understood that each coded symbol in the above multiple symbol blocks is arranged in a t column. A matrix of rows.
  • the value of t (that is, the number of columns arranged for each coding symbol) can be flexibly configured according to the signal modulation method and passive link characteristics. The smaller the value of t, the continuous burst errors will be dispersed into more inner code words. On average, the number of errors per inner code word will be smaller, making it easier to successfully decode.
  • the modulation method such as fourth-order pulse amplitude modulation (pulse amplitude modulation 4, PAM-4)
  • PAM pulse amplitude modulation
  • the characteristics of this modulation method of PAM are , there is a high probability that only one bit of the two bits in a PAM symbol is incorrect, so the value of t can be selected as 2 at this time, without affecting the decoding performance of the inner code.
  • the modulation method uses non-return-to-zero (NRZ) (also called PAM-2), and each bit is modulated into a PAM symbol, the optimal value of t is 1.
  • NRZ non-return-to-zero
  • t the optimal value of t is 1.
  • the code length of the inner code used by the transmitting end for inner code encoding is k 2 and the symbol length is m 2 .
  • the product of the inner code length k 2 i.e. the code length of the inner code
  • the inner code symbol length m 2 i.e.
  • Figure 9 shows a matrix in which multiple symbol blocks are arranged in columns when the product of the inner code length k 2 and the inner code symbol length m 2 is divisible by t.
  • the sender needs to perform inner code encoding on each row of the matrix, so each row of the matrix needs k 2 m 2 bits. Since each row requires k 2 m 2 bits and a symbol block has t bits per row, a row requires k 2 m 2 /t symbol blocks.
  • the sending end can determine that one column of the matrix has symbol block.
  • the sender can determine that each row of the matrix needs to have k 2 m 2 /t symbol blocks, and each column needs to have k 2 m 2 /t symbol blocks. symbol block.
  • the transmitting end can arrange multiple symbol blocks into a matrix according to the number of symbol blocks required in each column of the matrix. In this way, the transmitting end can arrange multiple symbol blocks into columns into a matrix with k 2 m 2 bits in each row. matrix.
  • step 603 before executing step 603, the transmitting end performs the following operations: when the product of the inner code length k 2 and the inner code symbol length m 2 can be divisible by t, determine that each column of the matrix needs to have symbol block.
  • a possible implementation of step 603 is as follows: Arrange the above multiple symbol blocks in columns so that each column has A matrix of symbol blocks, where each row of the matrix has k 2 m 2 bits.
  • the coding symbols in the symbol blocks of the odd columns in the matrix are arranged normally, and the coding symbols in the symbol blocks of the even columns in the matrix are arranged in reverse; or, The coding symbols in the even-numbered symbol blocks are arranged normally, and the coding symbols in the odd-numbered symbol blocks in the matrix are inverted.
  • the symbol blocks of each column in the matrix can be arranged normally; the symbol blocks of each column in the matrix can also be reversed; or the symbol blocks of the odd-numbered columns in the matrix can be arranged normally, and the symbols of the even-numbered columns can also be arranged normally.
  • Block inversion arrangement it can also be an inversion arrangement of symbol blocks in odd-numbered columns in the matrix, and a normal arrangement of symbol blocks in even-numbered columns, which is not limited in this application.
  • the continuity of the information bits of each row can be made weaker.
  • each row of the matrix has (k 2 m 2 ) bits.
  • the first ( ⁇ *t) columns of the matrix correspond to the ⁇ column symbol blocks, that is, each t column corresponds to one column symbol block, and the last ⁇ column is composed of the remaining L symbol blocks (i.e. a column of symbol blocks) are split and formed.
  • a part i.e. symbol block
  • each part can be arranged into a 4 rows and 5 columns matrix.
  • Figure 12 is an example of a matrix in which symbol blocks are arranged in columns according to an embodiment of the present application. Referring to Figure 11 and Figure 12, part 1 is arranged into a matrix with 4 rows and 5 columns. The matrix arranged by part T n1-1+1 has 6 rows and 3 columns. The 7th row has only 2 bits.
  • the sending end performs inner code encoding on each row of the matrix, and arranges the redundant bits of the inner code next to the matrix.
  • FIG. 13 is a schematic diagram of performing inner code encoding on each row of a matrix provided by an embodiment of the present application. As shown in Figure 13, the redundant bits added to each inner code word are arranged next to the matrix as new columns of the matrix.
  • the matrix has i rows, each row corresponds to an inner codeword, that is, inner codeword 1 (inner codeword 1 ), inner codeword 2 (inner codeword 2 ), ..., inner codeword i (inner codeword i ), inner code word 1 is r 1,1 , r 1,2 ,..., r 1,g , inner code word 2 is r 2,1 , r 2,2 ,..., r 2,g ,
  • the inner code word i is r i,1 , r i,2 ,..., r i,g .
  • each parameter in the matrix shown in Figure 13 please refer to the meaning of each parameter in the matrix shown in Figure 9.
  • the sending end reads the bits in the matrix by columns to obtain the first bit stream to be sent.
  • step 605 is as follows: the transmitting end reads the inner code information part in the matrix in order from top to bottom and from left to right, column by column, in units of symbol blocks, and restores it to a bit stream; for the inner The redundant part of the code is directly read column by column to obtain the first bit stream to be output.
  • the inner code information part refers to the symbol blocks in the matrix, that is, part 1 to part T n1
  • the inner code redundancy part refers to the redundant bits corresponding to the inner code codeword, that is, the last g column.
  • the sender can read the inner code information part from top to bottom and from left to right in sequence by column in symbol block units: part 1 , part 2 ,..., in the first column. part j , part T j+1 , part T j+2 ,..., part T 2j ,... in the second column, part T n1-j +1 , part T n1-j+2 ,..., part in the last column Tn1 .
  • Figure 14 is an example of a bit stream provided by this application.
  • the bit stream shown in Figure 14 can be regarded as the first bit stream to be output obtained by the transmitter performing step 605.
  • the meaning of each parameter in Figure 14 can be referred to Figure 13 and Figure 9.
  • the bit stream to be output consists of two parts.
  • the former part is the information bits of the inner code (after interleaving multiple inner code codewords) (i.e., the first information bit below), and the latter part is added during the encoding of the inner code. Redundant bits, including the first redundant bit below.
  • steps 604 and 605 can be replaced by: performing inner code encoding on each row in the above matrix to obtain multiple sets of redundant bits, any one of the multiple sets of redundant bits is the first A redundant bit; process the first bit stream according to the plurality of symbol blocks and the plurality of groups of redundant bits. It should be understood that when the sending end obtains the above multiple sets of redundant After the remaining bits, various methods can be used to obtain the first bit stream as shown in Figure 14 based on the above multiple symbol blocks and multiple sets of redundant bits, which is not limited by this application.
  • Steps 601 to 605 are steps in which the sending end encodes the first bit stream according to the information bits to be encoded.
  • the sending end can also encode the first bit stream according to the information bits to be encoded through other methods, which is not limited in this application.
  • the sending end sends the first bit stream.
  • the sending end may send the first bit stream by: modulating and signal processing the first bit stream, and then sending the signal obtained from the first bit stream.
  • sending the first bit stream actually means sending a signal that modulates and processes the first bit stream. Since modulation and signal processing of the bit stream to be sent are common technical means in this field, they will not be described here.
  • a possible implementation of step 606 is as follows: the sending end sends the first bit stream to the receiving end through a wired channel.
  • the receiving end receives the second bit stream, and the second bit stream is the bit stream received by the receiving end after the first bit stream sent by the sending end is transmitted through the channel.
  • the second bit stream includes second information bits (corresponding to the first information bits) and second redundant bits (corresponding to the first redundant bits).
  • the second redundant bits are used for error correction of the second information bits. Multiple non-consecutive second bits.
  • the receiving end decodes the information bits according to the above-mentioned second bit stream. The implementation method by which the receiving end decodes the information bits according to the above-mentioned second bit stream will be described in detail later. When the receiving end receives the second bit stream, it actually receives the channel-transmitted signal sent by the transmitting end.
  • the above-mentioned first bit stream includes first information bits and first redundant bits.
  • the above-mentioned first bit stream is used for decoding to obtain the above-mentioned information bits.
  • the first redundant bits are used for error correction of non-consecutive first bits among the first information bits.
  • the first information bits may be the former part shown in FIG. 14
  • the first redundant bits may be the latter part shown in FIG. 14 .
  • the former part shown in Figure 14 corresponds to the inner code information part (ie, the inner code codeword information bits) in Figure 13
  • the latter part shown in Figure 14 corresponds to the inner code in Figure 13
  • the redundant part i.e. redundant
  • the redundant bits corresponding to each row in the matrix shown in Figure 13 can be used to correct the information bits of this row.
  • Each row of the matrix shown in Figure 13 includes bits that are non-consecutive (or discontinuous) in Figure 14 .
  • the first row in Figure 13 includes t bits in the first coded symbol of part 1 , t bits in the first coded symbol of part T j+1 , ..., part T n1-j+1 t bits in the first coded symbol.
  • the redundant bits corresponding to each row in the matrix shown in Figure 13 can be used for error correction.
  • the information bits in this row can be understood as: the redundant bits corresponding to each row in the matrix shown in Figure 13 can be used to correct the first information bits.
  • the first redundant bits may include one or more groups of redundant bits, and each group of redundant bits is inner code redundant bits obtained by inner code encoding one row of the matrix. In other words, the first redundant bit is used by the receiving end to obtain one or more groups of redundant bits.
  • the first redundant bits are r 1,1 , r 2,1 ,..., r i,1 , r 1,2 , r 2,2 ,..., r i,2 , r 1,g shown in Figure 14 , r i,g for example, multiple groups of redundant bits can be obtained from the first redundant bit, such as r 1,1 , r 1,2 ,..., r 1,g , r 1,1 , r 1,2 ,..., r 1,g can be used for multiple bits in the first row of the error correction matrix, that is, the t bits in the first coded symbol of part 1 , the t bits in the first coded symbol of part T j+1 t bits,..., part T t bits in the first coded symbol of n1-j+1 .
  • each group of redundant bits obtained from the first redundant bits can be used to error correct multiple non-consecutive bits in the first information bits by dispersing the burst of continuous errors to different inner code words, It can be avoided that the number of erroneous bits in the inner code code word exceeds the error correction capability of the inner code.
  • the first information bits include a first symbol block, and the first symbol block includes an m-th coded symbol in the first codeword and an m-th coded symbol in the second codeword,
  • the plurality of first bits include all bits or part of the bits in the m-th coded symbol in the first codeword, and do not include the coded symbols in the second codeword.
  • the first codeword and the second code The word is obtained by encoding the above information bits, and the above m is an integer greater than 0. Referring to Figure 9 and Figure 14, part 1 is an example of the first symbol block.
  • the m-th coded symbol in the first codeword is S 1,1
  • the above The plurality of first bits (corresponding to the first row of the matrix) includes b 1 , b 2 , ..., b t in S 1,1 and does not include S 2,1 .
  • the plurality of first bits include the first codeword One bit or multiple non-consecutive bits in the m-th coded symbol. In this implementation, sudden continuous errors can be dispersed into different codewords, thereby achieving the purpose of reducing the number of errors in each codeword.
  • the first information bits further include a second symbol block, and the second symbol block includes the nth coded symbol in the first codeword and the nth codeword in the second codeword.
  • Encoding symbols, the encoding symbols in the above-mentioned second symbol block are in sequence from the n-th encoding symbol in the K-th codeword to the n-th encoding symbol in the above-mentioned first codeword, and the encoding symbols in the above-mentioned first symbol block are in sequence:
  • the m-th coding symbol in the above-mentioned first codeword to the m-th coding symbol in the above-mentioned K-th codeword, the above-mentioned n is an integer greater than 0 and not equal to the above-mentioned m
  • the above-mentioned K-th codeword to the above-mentioned first codeword It is obtained by encoding the above information bits, and the above K is an integer greater than 1.
  • part T j+1 is an example of the second symbol block
  • part 1 is an example of the first symbol block
  • the coded symbols in part 1 are the m-th code in the first codeword.
  • symbol to the m-th coded symbol in the K-th codeword that is, S 1,1 , S 2,1 ,..., S x,1
  • the coded symbols in part T j+1 are sequentially the coded symbols in the K-th codeword n coding symbols to the nth coding symbol in the first codeword, that is, S x,j+1 , S x-1,j+1 ,..., S 1,j+1 .
  • the ordering of the coded symbols in the second symbol block is different from the ordering of the coded symbols in the first codeword, which can increase the probability of spreading burst errors to different codewords.
  • the first information bits include a plurality of symbol blocks
  • the plurality of symbol blocks include a first symbol block and a second symbol block
  • the first symbol block includes the mth in the first codeword.
  • the above-mentioned second symbol block includes the n-th encoding symbol in the above-mentioned first codeword and the n-th encoding symbol in the above-mentioned second codeword
  • the above-mentioned A redundant bit is used to correct any bit sequence among the plurality of bit sequences obtained by arranging the plurality of symbol blocks in a matrix manner.
  • the above-mentioned first codeword and the above-mentioned second codeword are obtained by encoding the above-mentioned information bits.
  • the above m and the above n are integers greater than 0, and the above m is different from the above n.
  • the first redundant bit can be used to correct the bits in any row of the matrix, that is, the above-mentioned multiple Any bit sequence among multiple bit sequences obtained by arranging symbol blocks in a matrix.
  • the first redundant bit is used to correct any bit sequence among multiple bit sequences obtained by arranging multiple symbol blocks in a matrix manner, which can disperse sudden continuous errors to different codes. among the characters, the number of bit errors in each codeword can be reduced.
  • the transmitting end arranges multiple symbol blocks into a matrix by columns, and after encoding the matrix by rows, the bits are read row by row in units of parts and sent to the subsequent signal processing process; the bursts can be The continuous errors sent are dispersed into different inner code words to reduce the number of error codes in each code word, thereby improving the probability of successful error correction of the inner code.
  • Figure 15 is a flow chart of another encoding transmission method provided by an embodiment of the present application.
  • the method flow in Figure 15 and the method flow in Figure 6 are two parallel encoding transmission schemes. As shown in Figure 15, the method includes:
  • the sending end performs outer code encoding on the information bits to be encoded, and obtains multiple outer code codewords.
  • step 1501 For the implementation of step 1501, please refer to step 601.
  • the transmitting end interleaves multiple outer code code words according to the outer code encoding symbols to obtain multiple symbol blocks.
  • step 1502 For the implementation of step 1502, please refer to step 602.
  • the sending end arranges multiple symbol blocks into a matrix in rows.
  • step 1503 For the implementation of step 1503, please refer to step 603.
  • the transmitting end arranges the plurality of symbol blocks into a matrix by rows in a manner similar to the manner in which the plurality of symbol blocks are arranged into a matrix by columns.
  • the sending end arranging the plurality of symbol blocks into a matrix by rows and the arranging the plurality of symbol blocks into a matrix by columns, which will not be described again here.
  • the inner code used by the sender for inner code encoding has a code length of k 2 and a symbol length of m 2 , the sender needs to ensure that each column of the matrix has k 2 m when arranging multiple symbol blocks into a matrix. 2 bits.
  • the transmitting end performs inner code encoding on each column of the matrix, and arranges the redundant bits of the inner code next to the matrix.
  • step 1504 For the implementation of step 1504, please refer to step 604.
  • the sender implements inner code encoding for each column of the matrix in a manner similar to the implementation of inner code encoding for each row of the matrix.
  • arranging the redundant bits of the inner code next to the matrix may mean arranging the redundant bits of the inner code of each column below the matrix as a new row of the column.
  • the sending end reads the bits in the matrix row by row to obtain the first bit stream to be sent.
  • step 1505 is as follows: the transmitter reads the inner code information part in the matrix in order from left to right and from top to bottom, row by row in units of symbol blocks, and restores it to a bit stream; for the inner The redundant part of the code is directly read row by row to obtain the first bit stream to be output.
  • step 1505 please refer to step 605.
  • the sending end sends the first bit stream.
  • the transmitting end arranges multiple symbol blocks into a matrix by rows, encodes the inner code of the matrix by columns, and then reads the bits by rows in unit of part and sends them to the subsequent signal processing process; the burst can be Continuous bit errors are dispersed into different inner code words to reduce the number of bit errors in each code word, thereby improving the probability of successful error correction of the inner code.
  • Figure 16 is a flow chart of another encoding transmission method provided by an embodiment of the present application.
  • the method flow in Figure 15 is a possible implementation of the method described in Figure 6 .
  • the transmitter arranges the encoding symbols of the outer code RS (544,514) in columns into a matrix, and then encodes the inner code BCH (144,136) in rows; this can maximize the dispersion of burst errors to different BCH codes Among the words, it improves the probability of BCH error correction success.
  • the method includes:
  • the transmitting end performs RS encoding on the information bits to be encoded, and obtains multiple RS (544,514) codewords.
  • the transmitting end uses RS (544, 514) as the outer code, BCH (144, 136) as the inner code, uses two frames of outer code interleaving, and then performs matrix interleaving to implement cascade coding.
  • Each coding symbol of the outer code RS (544,514) consists of 10 bits
  • each coding symbol of the inner code BCH (144,136) consists of 1 bit.
  • the sending end may perform RS encoding on the information bits to be encoded by calculating and adding 30 redundant symbols (300 bits) for every 514 RS encoding symbols (5140 bits) in the bit stream to be encoded.
  • Figure 17 is a codeword structure of RS (544, 514) provided by the embodiment of the present application.
  • each coded symbol of the outer code RS (544,514) includes 10 bits, and the information bits of the outer code RS (544,514) include 514 coded symbols, namely S 1 , S 2 ,..., S 514 .
  • the redundant bits of code RS(544,514) include 30 coding symbols, namely S 515 , S 516 , ..., S 544 .
  • the information bit length of the outer code RS(544,514) is 514, and the code length is 544.
  • the transmitting end performs coding symbol interleaving on two RS (544,514) codewords among the plurality of RS (544,514) codewords to obtain multiple symbol blocks.
  • the transmitting end selects two RS (544,514) codewords among the plurality of RS (544,514) codewords to perform coded symbol interleaving according to preset rules, that is, interleaving is performed in units of coded symbols.
  • Figure 18 is an example of coding symbol interleaving with two RS (544, 514) codewords provided by the embodiment of the present application. As shown in Figure 18, codeword 1 (codeword 1 ) includes S 1,1 , S 1,2 ,..., S 1,544 , and codeword 2 (codeword 2 ) includes S 2,1 , S 2,2 ,..., S 2,544 , codeword 1 and codeword 2 are two RS (544,514) codewords.
  • Codeword 1 and codeword 2 are interleaved with coded symbols to obtain 544 symbol blocks (part), namely part 1 , part 2 ,..., part 543 , part 544 , each part includes two encoding symbols.
  • Part 1 includes S 1,1 and S 2,1
  • part 2 includes S 1,2 and S 2,2
  • part 542 includes S 1,543 and S 2,543
  • part 544 includes S 1,544 and S 2,544 .
  • each part includes encoding symbols at the same position in two RS (544, 514) codewords.
  • part 1 includes the first encoding symbol of codeword 1 and the first encoding symbol of codeword 2.
  • the sending end arranges multiple symbol blocks into a matrix by columns.
  • step 1603 please refer to step 603.
  • the sending end arranges the above multiple symbol blocks in symbol block units by column, with 8 forward-arranged symbol blocks arranged in odd-numbered columns, and 8 inverted-arranged symbol blocks arranged in even-numbered columns.
  • the matrix arranged in this way is Rows have 136 bits.
  • Figure 19 is another example of a matrix provided by this application in which multiple symbol blocks are arranged in columns.
  • S 1,1 , S 2,1 , S 1,2 , S 2,2 ,..., S 1,544 , S 2,544 are arranged in a matrix by columns, that is, the above multiple symbol blocks are arranged in a matrix by columns, even number
  • the symbol blocks of the columns are arranged in reverse, and each column corresponds to 16 encoding symbols, that is, 8 symbol blocks, and the two bits of S 1,1 are arranged in one column.
  • Figure 19 only shows the case where two bits of S 1,1 are arranged in one column. It can be understood that when the transmitting end arranges multiple symbol blocks into a matrix in columns, the two bits of each coded symbol in each symbol block are arranged in one column.
  • the value of t can be any positive integer that is divisible by the encoding symbol length m of the outer code.
  • one modulation symbol is 1 bit, so t can be selected as 1 to maximize the dispersion of burst errors into different inner code words.
  • t can also take a value equal to m.
  • the transmitting end performs inner code BCH (144,136) encoding on each row of the matrix to obtain redundant bits of multiple BCH (144,136) codewords.
  • the transmitting end performs inner code BCH (144,136) encoding on 136 bits in each row of the matrix, and needs to calculate and add redundant bits (8 bits).
  • Figure 20 is a codeword structure of BCH (144,136) provided by this application. As shown in Figure 20, the information bits of BCH (144,136) include 136 bits, namely b 1 , b 2 ,..., b 136 , and the redundant bits of BCH (144,136) include 8 bits, namely b 137 ,..., b 144 .
  • the transmitter adds the redundant bits of each BCH (144,136) codeword to the matrix to obtain the matrix encoded by the inner code.
  • Figure 21 is an example of a matrix encoded by an inner code provided by an embodiment of the present application.
  • the last 8 columns of the matrix encoded by the inner code are the redundant bits of the BCH (144,136) codeword.
  • r 1,1 , r 1,2 ,..., r 1,8 is a BCH (144,136) code.
  • the redundant bits of the word i.e. BCH(144,136) 1
  • the matrix after inner code encoding includes 80 rows, each row is a BCH(144,136) codeword, the first row is BCH(144,136) 1 and the second row is BCH(144,136) 2 .
  • the sending end reads the bits in the matrix encoded by the inner code in columns, and obtains the first bit stream to be sent.
  • step 1606 please refer to step 605.
  • the sender reads the inner code information part in the matrix encoded by the inner code in order from top to bottom, from left to right, in units of parts, and restores it to a bit stream; while the inner code The redundant parts are read directly in columns.
  • Figure 22 is an example of a first bit stream provided by this embodiment of the present application. As shown in Figure 22, the first bit stream includes two parts.
  • the first part is the information bits of the inner code (after interleaving multiple inner code code words), that is, part 1 , part 2 ,..., part 8 , part T 9 , part T 10 ,..., part T 16 ,..., part T 544 , the latter part is the redundant bit added during inner code encoding, that is, r 1,1 , r 2,1 ,..., r 80,1 , r 1,2 , r 2,2 ,..., r 80,2 , r 1,8 ,..., r 80,8 , part 1 includes S 1,1 and S 2,1 , S 1,1 includes b 1 , b 2 ,... , b 10 .
  • Figure 22 only shows the coding symbols included in part 1 (ie S 1,1 and S 2,1 ), and the 10 bits included in S 1,1 , namely b 2 ,..., b 10 . It can be understood that each part includes two encoding symbols, and each encoding symbol includes 10 bits.
  • step 1603 can be replaced by: arranging multiple symbol blocks into a matrix in rows; step 1604 can be replaced by: the transmitter performs inner code BCH (144,136) encoding on each column of the matrix to obtain multiple redundant bits of BCH (144,136) codewords; step 1606 can be replaced by: the transmitting end reads the bits in the matrix encoded by the inner code row by row to obtain the first bit stream to be sent. It should be understood that, for the sending end, this implementation is not substantially different from the method flow in Figure 16, and will not be described in detail here.
  • the sending end sends the first bit stream.
  • two RSs (544, 514) are interleaved according to coding symbols, which can disperse sudden continuous errors and non-random errors after inner code error correction into two codewords, improving the performance of each RS.
  • the probability of successful codeword error correction Press on matrix After the rows are BCH (144,136) encoded, the bits are read column by column in units of parts and sent to the subsequent signal processing process, which can disperse the burst of continuous errors into different BCH codewords to reduce the number of bits in each codeword. number of bit errors, thereby improving the error correction success probability of the inner code BCH.
  • each PAM symbol consists of two bits, and there is a high probability that the two bits in a PAM symbol have only one error.
  • the interleaving depth is also increased as much as possible to improve the probability of successful error correction of the BCH codeword.
  • Figure 23 is a flow chart of a decoding method provided by an embodiment of the present application. As shown in Figure 23, the method includes:
  • the receiving end receives the second bit stream.
  • the receiving end can be any device that needs to be decoded, such as network equipment, computer equipment, terminal equipment, etc., especially equipment that uses FEC technology for decoding.
  • the receiving end is a computer, desktop computer, laptop, modem, router, bridge, TRP, etc.
  • the operations or processing performed by the receiving end can be performed by the receiving end or by a chip or circuit system installed in the receiving end.
  • the above-mentioned circuit system may be, for example, an integrated circuit or a logic circuit.
  • the above-mentioned chip may be, for example, an SoC chip, a baseband modem chip, a SerDes chip, etc., which is not limited herein.
  • the following uses the receiving end as an example for explanation.
  • the second bit stream is a bit stream sent by the sending end and received by the receiving end through channel transmission.
  • the second bit stream includes second information bits (corresponding to the above-mentioned first information bits) and second redundant bits (corresponding to the above-mentioned first redundant bits).
  • the second redundant bits are used for error correction of non-consecutive second bits (corresponding to the above-mentioned plurality of first bits) among the second information bits.
  • the sending end sends the first bit stream, it actually sends a signal that modulates and processes the first bit stream.
  • the receiving end receives the second bit stream, it actually receives the signal sent by the transmitting end (that is, the signal obtained by modulating the first bit stream and signal processing) after being transmitted through the channel.
  • the receiving end receiving the second bit stream can be understood as: receiving the second signal.
  • the second signal is the first signal sent by the transmitting end and received by the receiving end through channel transmission.
  • the first signal is the first bit stream received by the transmitting end.
  • a possible implementation of step 2031 is as follows: the receiving end performs signal processing and demodulation on the received second signal to obtain a second bit stream. Since modulation and signal processing of the received signal are common technical means in this field, they will not be described here.
  • the second information bits include a first symbol block, and the first symbol block includes the m-th coded symbol in the first codeword and the m-th coded symbol in the second codeword.
  • the plurality of second bits include all bits or part of the bits in the m-th coded symbol in the first codeword, and do not include the coded symbol in the second codeword, and m is greater than 0 integer. Not including the encoding symbols in the second codeword may mean not including any bits in the encoding symbols in the second codeword. In other words, no bits in the second codeword are included.
  • the plurality of second bits include one bit or multiple non-consecutive bits in the m-th coded symbol of the first codeword.
  • the plurality of second bits include all bits or part of the bits in the m-th coded symbol in the first codeword, and do not include the coded symbols in the second codeword; in this way, the burst of continuous Dispersing code errors into different code words can reduce the number of code errors in each code word and increase the probability of successful error correction.
  • the second information bit can be regarded as the information bit that the above-mentioned first information bit is received by the receiving end through channel transmission.
  • the second information bits further include a second symbol block
  • the second symbol block includes the nth coded symbol in the first codeword and the nth coded symbol in the second codeword.
  • the nth coding symbol of the second symbol block is the nth coding symbol in the Kth codeword to the nth coding symbol in the first codeword, and the first symbol
  • the coding symbols in the block are sequentially from the m-th coding symbol in the first codeword to the m-th coding symbol in the K-th codeword, and the n is an integer greater than 0 and not equal to the m
  • the Kth codeword to the first codeword are used for decoding to obtain the information bits, and the K is an integer greater than 1.
  • the coded symbols in the second symbol block The ordering is different from the ordering of the coded symbols in the first codeword, which can increase the probability of spreading burst errors to different codewords.
  • the receiving end decodes the information bits according to the second bit stream.
  • the operation of the receiving end decoding the second bit stream to obtain the information bits may be the inverse operation of the transmitting end encoding the information bits to obtain the first bit stream.
  • the receiving end outputs the information bits.
  • the information bits are output through an output device (eg, display screen, display, audio device), etc.
  • step 2302 is as follows: the receiving end arranges the second bit stream into a matrix by columns; performs inner code decoding on each row of the matrix, retains the information bits in each row, and discards redundant bits; according to The information bits are obtained from the information bits in each row (or each column) of the matrix.
  • Figure 14 is multiplexed, and the bit stream shown in Figure 14 can be used as the second bit stream.
  • Multiplexing Figure 13 the matrix shown in Figure 13 can be regarded as a matrix in which the receiving end arranges the second bit stream in columns.
  • Arranging the second bit stream into a matrix by columns at the receiving end can be: arranging the symbol blocks in the second bit stream by columns in units of symbol blocks, for example, arranging j symbol blocks in each column; arranging the redundant part of the inner code A matrix arranged in columns.
  • Arranging the symbol blocks in the second bit stream by columns in symbol block units means treating the symbol blocks as one column rather than one column in the matrix.
  • part 1 , part 2 ,..., part j can be regarded as the first column obtained by arranging the symbol blocks in the second bit stream in symbol block units
  • r 1,1 , r 2,1 ,..., r i,1 can be regarded as the first column obtained by arranging the redundant parts of the inner code in columns.
  • the number and size of the symbol blocks in the second bit stream (that is, how many coded symbols a symbol block includes), the code length of the inner code, and the symbol length of the inner code are known, so it can be
  • the second bit stream is arranged column by column into a matrix.
  • a possible implementation method of obtaining information bits is as follows: deinterleave the information bit matrix to obtain multiple outer code codewords.
  • the information bit matrix refers to the matrix that contains the information bits of the inner code.
  • Submatrix refer to the submatrix corresponding to the information bits of the inner code word in Figure 13; perform outer code decoding on each outer code word, and only retain the outer code information bits after decoding, discarding the redundant bits; convert the outer code information bits , output in the order of outer code words to obtain information bits.
  • the operation of deinterleaving the information bit matrix to obtain multiple outer code codewords is the inverse operation of interleaving multiple outer code codewords according to the outer code encoding symbols to obtain multiple symbol blocks. Since deinterleaving is a common technical method in the field, it will not be described in detail here.
  • step 2302 is as follows: the receiving end arranges the second bit stream into a matrix by rows; performs inner code decoding on each column of the matrix and retains the information bits of each column; according to each column of the matrix column (or row) of information bits to obtain the information bits.
  • the receiving end arranges the second bit stream into a matrix in rows in a manner similar to the arrangement of the second bit stream in columns into a matrix. For those skilled in the art, there is no substantial difference between the receiving end arranging the second bit stream into a matrix by rows and the second bit stream arranging the second bit stream into a matrix by columns, which will not be described again here.
  • the sending end arranges multiple symbol blocks into a matrix by rows
  • the receiving end will arrange the second bit stream into a matrix by rows
  • the sending end arranges the multiple symbol blocks into a matrix by columns
  • the receiving end will arrange the second bit stream into a matrix by rows.
  • the two-bit stream is arranged column-wise into a matrix.
  • the second redundant bits are used to error correct multiple non-consecutive second bits in the second information bits, so that sudden continuous errors can be dispersed into different code words, which can reduce the The number of bit errors in each codeword increases the probability of successful error correction.
  • Figure 24 is a flow chart of another decoding method provided by an embodiment of the present application.
  • the method flow in Figure 24 is a possible implementation of the method described in Figure 23.
  • the receiving end arranges the received second bit stream in a matrix and performs inner code decoding on each row of the matrix; burst errors and non-random errors are successfully dispersed to different inner and outer codes and inner code words, the error correction success probability of a single code word is improved, thereby reducing the overall bit error rate of the system.
  • the method includes:
  • the receiving end arranges the received second bit stream in a matrix to obtain the first matrix.
  • step 2401 is as follows: the receiving end arranges the second bit stream in columns into a matrix.
  • the receiving end arranges the symbol blocks in the second bit stream in units of symbol blocks by columns, for example, j symbol blocks are arranged in each column; the redundant part of the inner code is arranged into a matrix by columns, and finally arranged as First matrix.
  • the matrix shown in Figure 13 can be regarded as the first matrix An example of.
  • the receiving end performs inner code decoding on each row of the first matrix. After decoding, only the information bits are retained to obtain the second matrix.
  • the second matrix is a submatrix of the first matrix.
  • the first matrix includes a sub-matrix corresponding to the information bits (ie, the second matrix) and a sub-matrix corresponding to the redundant bits.
  • the first matrix can be divided into two parts, one part includes information bits (or symbol blocks), and the other part includes redundant bits.
  • the second matrix has the same meaning as the above information bit matrix.
  • step 2401 is replaced with: the receiving end performs inner code decoding on each column of the first matrix, and only retains the information bits after decoding to obtain the second matrix.
  • the receiving end deinterleaves the second matrix to obtain multiple outer code codewords.
  • the receiving end performs outer code decoding on each outer code code word, and only retains the outer code information bits after decoding.
  • the receiving end outputs the outer code information bits in the order of the outer code codewords.
  • Step 2405 is optional but not required.
  • the receiving end arranges the received second bit stream in a matrix and performs inner code decoding on each row of the matrix; burst errors and non-random errors are successfully dispersed to different inner and outer codes and inner code words, the error correction success probability of a single code word is improved, thereby reducing the overall bit error rate of the system.
  • FIG. 25 is a schematic structural diagram of a communication device 2500 provided by an embodiment of the present application.
  • the communication device 2500 can correspond to the functions or steps implemented by the sending end in each of the above method embodiments, and can also correspond to the functions or steps implemented by the receiving end in each of the above method embodiments.
  • the communication device may include a processing module 2510 and a transceiver module 2520.
  • a storage unit may also be included, which may be used to store instructions (code or programs) and/or data.
  • the processing module 2510 and the transceiver module 2520 can be coupled with the storage unit.
  • the processing module 2510 can read the instructions (code or program) and/or data in the storage unit to implement the corresponding method.
  • the transceiver module 2520 may include a sending module and a receiving module.
  • the sending module can be a transmitter
  • the receiving module can be a receiver.
  • the entity corresponding to the transceiver module 2520 may be a transceiver or a communication interface.
  • the communication device 2500 can correspondingly implement the behaviors and functions of the sending end in the above method embodiments.
  • the communication device 2500 may be a transmitting end, or may be a component (such as a chip or a circuit) used in the transmitting end.
  • the transceiver module 2520 may, for example, be used to perform all receiving or sending operations performed by the sending end in the embodiments of FIG. 6, FIG. 15, and FIG. 16, such as step 606 in the embodiment shown in FIG. 6, and step 606 in the embodiment shown in FIG. 15. Step 1506 in the embodiment, step 1607 in the embodiment shown in Figure 16, and/or other processes used to support the techniques described herein.
  • the processing module 2510 is used to perform all operations performed by the station in the embodiments of FIG.
  • FIG. 15 except for the sending and receiving operations, such as steps 602 to 605 in the embodiment shown in FIG. 6, FIG. 15 Steps 1501 to 1505 in the embodiment shown, and steps 1601 to 1606 in the embodiment shown in FIG. 16 .
  • the communication device 2500 can correspondingly implement the behaviors and functions of the receiving end in the above method embodiments.
  • the communication device 2500 may be a receiving end, or may be a component (such as a chip or circuit) used in the receiving end.
  • the transceiver module 2520 may, for example, be used to perform all receiving or sending operations performed by the receiving end in the embodiments of FIG. 23 and FIG. 24 , such as step 2405 in the embodiment shown in FIG. 24 , and/or be used to support the functions described herein. Other processes for the described technology.
  • the processing module 2510 is used to perform all operations performed by the receiving end except for the sending and receiving operations, such as steps 2301 and 2302 in the embodiment shown in Figure 23, and steps 2401 to 2401 in the embodiment shown in Figure 24. 2404.
  • Figure 26 is a schematic structural diagram of another communication device 260 provided by an embodiment of the present application.
  • the communication device in Figure 26 may be the above-mentioned sending end or the above-mentioned receiving end.
  • the communication device 260 includes at least one processor 2610 and a transceiver 2620.
  • the processor 2610 and the transceiver 2620 may be used to perform functions or operations performed by the sending end, etc.
  • the transceiver 2620 performs, for example, all receiving or transmitting operations performed by the transmitting end in the embodiments of FIG. 6, FIG. 15, and FIG. 16.
  • the processor 2610 is, for example, configured to perform all operations performed by the sending end in the embodiments of FIG. 6, FIG. 15, and FIG. 16 except for the sending and receiving operations.
  • the processor 2610 and the transceiver 2620 may be used to perform functions or operations performed by the receiving end, etc.
  • the transceiver 2620 performs, for example, all receiving or transmitting operations performed by the receiving end in the embodiment of FIG. 24 .
  • the processor 2610 is configured to perform all operations performed by the receiving end except for the sending and receiving operations, such as steps 2301 and 2302 in the embodiment shown in Figure 23, and steps 2401 to 2402 in the embodiment shown in Figure 24. 2404.
  • Transceiver 2620 is used to communicate with other devices/devices over transmission media.
  • the processor 2610 uses the transceiver 2620 to send and receive data and/or signaling, and is used to implement the method in the above method embodiment.
  • the processor 2610 can implement the functions of the processing module 2510, and the transceiver 2620 can implement the functions of the transceiver module 2520.
  • the transceiver 2620 may include a radio frequency circuit and an antenna.
  • the radio frequency circuit is mainly used for conversion of baseband signals and radio frequency signals and processing of radio frequency signals.
  • Antennas are mainly used to send and receive radio frequency signals in the form of electromagnetic waves.
  • Input and output devices such as touch screens, display screens, keyboards, etc., are mainly used to receive data input by users and output data to users.
  • the communication device 260 may also include at least one memory 2630 for storing program instructions and/or data.
  • Memory 2630 and processor 2610 are coupled.
  • the coupling in the embodiment of this application is an indirect coupling or communication connection between devices, units or modules, which may be in electrical, mechanical or other forms, and is used for information interaction between devices, units or modules.
  • the processor 2610 may cooperate with the memory 2630.
  • Processor 2610 may execute program instructions stored in memory 2630. At least one of the at least one memory may be included in the processor.
  • the processor 2610 can read the software program in the memory 2630, interpret and execute the instructions of the software program, and process the data of the software program.
  • the processor 2610 performs baseband processing on the data to be sent, and then outputs the baseband signal to the radio frequency circuit.
  • the radio frequency circuit performs radio frequency processing on the baseband signal and then sends the radio frequency signal out in the form of electromagnetic waves through the antenna.
  • the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 2610.
  • the processor 2610 converts the baseband signal into data and performs processing on the data. deal with.
  • the above-mentioned radio frequency circuit and antenna can be arranged independently of the processor that performs baseband processing.
  • the radio frequency circuit and antenna can be arranged remotely and independently of the communication device.
  • connection medium between the above-mentioned transceiver 2620, processor 2610 and memory 2630 is not limited in the embodiment of the present application.
  • the memory 2630, the processor 2610 and the transceiver 2620 are connected through a bus 2640 in Figure 26.
  • the bus is represented by a thick line in Figure 26.
  • the connection methods between other components are only schematically explained. , is not limited.
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in Figure 26, but it does not mean that there is only one bus or one type of bus.
  • the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, which may implement or Execute each method, step and logical block diagram disclosed in the embodiment of this application.
  • a general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor.
  • Figure 27 is a schematic structural diagram of another communication device 270 provided by an embodiment of the present application.
  • the communication device shown in FIG. 27 includes a logic circuit 2701 and an interface 2702 .
  • the processing module 2510 in Figure 25 can be implemented by the logic circuit 2701, and the transceiver module 2520 in Figure 25 can be implemented by the interface 2702.
  • the logic circuit 2701 can be a chip, Processing circuit, integrated circuit or system on chip (SoC) chip, etc.
  • the interface 2702 can be a communication interface, input/output interface, etc.
  • the logic circuit and the interface may also be coupled to each other. The embodiments of this application do not limit the specific connection methods of the logic circuits and interfaces.
  • the logic circuit and interface may be used to perform the above functions or operations performed by the sending end, etc.
  • the logic circuit and interface may be used to perform the above functions or operations performed by the receiving end, etc.
  • This application also provides a computer-readable storage medium, which stores computer programs or instructions.
  • the computer program or instructions When the computer program or instructions are run on a computer, the computer is caused to execute the method of the above embodiments.
  • the computer program product includes instructions or computer programs. When the instructions or computer programs are run on a computer, the methods in the above embodiments are executed.
  • This application also provides a communication system, including the above-mentioned sending end and the above-mentioned receiving end.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请实施例公开了编码传输方法、解码方法和通信装置。本申请可应用于高速有线通信系统。该编码传输方法包括:根据待编码的信息比特,编码得到第一比特流,所述第一比特流包括第一信息比特和第一冗余比特,所述第一比特流用于解码得到所述信息比特,所述第一冗余比特用于纠错所述第一信息比特中的非连续的多个第一比特;发送所述第一比特流。该编码传输方法采用了级联纠错编码的交织方案。本申请实施例中,第一冗余比特用于纠错第一信息比特中的非连续的多个第一比特,这样可将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,提高纠错成功概率的作用。

Description

编码传输方法、解码方法和通信装置
本申请要求于2022年06月06日提交中国专利局、申请号为202210631665.7、申请名称为“编码传输方法、解码方法和通信装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及编码领域,尤其涉及一种编码传输方法、解码方法和通信装置。
背景技术
当前基于高速以太网协议的有线数字通信系统为保证极低的误比特率,在发送端将数据比特流调制成信号发送之前,采用了前向纠错编码技术,即在数据比特流当中添加冗余比特。对应地,在发送端对接收到的信号进行信号处理和解调之后,采用对应的前向纠错码解码技术,可以将有限的传输差错经过计算纠正回来。
在高速有线通信系统当中,各种码长的里德-所罗门码(Reed-Solomon,RS)因其出色的性能和适配性被广泛的采用。例如,以太网协议中针对100G数据速率链路的IEEE802.3ck中规定了前向纠错(forwarderror correction,FEC)方案RS(544,514)。
然而,随着有线通信系统的传输速率的增加,信道条件恶化,传输错误概率增大,此时,编码增益有限的RS(544,514)已经无法满足性能要求。为了满足系统误比特率的要求,需要使用纠错能力更强的编码方案。最简单的方式是在码率确定的前提下,增加码长带来单一编码方式的性能提升。但是,随着码长的增加,对应的复杂度也在上升,造成更多的硬件资源消耗。因此,在众多的FEC方案中,需要在性能、复杂度、延时等多方面进行思考,以便选取合适的候选方案。
纠错能力更强的级联编码,因其性能与复杂度兼顾的优势,成为了下一代高速有线通信系统的备选FEC方案。因此,需要研究纠错能力更强的级联编码方案。
发明内容
本申请实施例公开了一种编码传输方法、解码方法和通信装置,通过将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,从而提高纠错成功概率的作用。
第一方面,本申请实施例提供一种编码传输方法,该方法包括:根据待编码的信息比特,编码得到第一比特流,所述第一比特流包括第一信息比特和第一冗余比特,所述第一比特流用于解码得到所述信息比特,所述第一冗余比特用于纠错所述第一信息比特中的非连续的多个第一比特;发送所述第一比特流。
本申请实施例中,第一冗余比特用于纠错第一信息比特中的非连续的多个第一比特,这样可将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,提高纠错成功概率的作用。
在一种可能的实现方式中,所述第一信息比特包括第一符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述多个第一比特包括所述第 一码字中的第m个编码符号中的全部比特或者部分比特,且未包括所述第二码字中的编码符号,所述第一码字和所述第二码字由对所述信息比特进行编码得到,所述m为大于0的整数。未包括所述第二码字中的编码符号可以是未包括所述第二码字中的编码符号中的任何比特。或者说,未包括所述第二码字中的任何比特。
在该实现方式中,多个第一比特包括第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括第二码字中的编码符号;这样可将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,从而提高纠错成功概率的作用。
在一种可能的实现方式中,所述多个第一比特包括所述第一码字的第m个编码符号中的一个比特或非连续的多个比特。
在该实现方式中,多个第一比特包括第一码字的第m个编码符号中的一个比特或非连续的多个比特,而未包括该第一码字中的全部比特;可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数。
在一种可能的实现方式中,所述多个第一比特未包括由所述信息比特编码得到的任何码字中的连续比特。
在该实现方式中,可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数的目的。
在一种可能的实现方式中,所述第一信息比特还包括第二符号块,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二符号块中的编码符号依次为第K码字中的第n个编码符号至所述第一码字中的第n个编码符号,所述第一符号块中的编码符号依次为所述第一码字中的第m个编码符号至所述第K码字中的第m个编码符号,所述n为大于0的整数且不等于所述m,所述第K码字至所述第一码字由对所述信息比特进行编码得到,所述K为大于1的整数。
在该实现方式中,第二符号块中的编码符号的排序与第一码字中的编码符号的排序不同,可提高分散突发误码到不同码字的概率。
在一种可能的实现方式中,所述第一信息比特包括多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第一冗余比特用于纠错所述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,所述第一码字和所述第二码字由对所述信息比特进行编码得到,所述m和所述n为大于0的整数,所述m与所述n不同。
在该实现方式中,第一冗余比特用于纠错多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数。
在一种可能的实现方式中,所述根据待编码的信息比特,编码得到第一比特流包括:对所述信息比特进行外码编码,得到多个外码码字;将所述多个外码码字以编码符号为单位进行交织,得到多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述m和所述n为大于0的整数,所述m与所述n不同;将所述多个符号块按列排列成矩阵;对所述矩阵中的每一行进行内码编码,得到多组冗余比特,所述多组冗余比特包括所述第一冗余比特;根据所述多个符号块和所述多组冗余比特,处理得到所述第一比特流。
在该实现方式中,将多个符号块按列排列成矩阵;对该矩阵中的每一行进行内码编码,得到多组冗余比特。当第一比特流在传输过程中发生突发误码时,可提高码字的纠错概率。
在一种可能的实现方式中,所述将所述多个符号块按列排列成矩阵包括:将所述多个符号块按列排列成每行包括P个比特的所述矩阵,所述P等于进行内码编码待采用的内码码长和内码符号长度的乘积,所述第一符号块中的每个编码符号中的m个比特排列为t列,所述t被所述m整除,所述m、所述P、所述t均为大于0的整数。
在该实现方式中,将多个符号块按列排列成每行包括P个比特的矩阵,以便对该矩阵的每行进行内码编码。
在一种可能的实现方式中,所述矩阵中的奇数列的符号块中的各编码符号正常排列,所述矩阵中的偶数列的符号块中的各编码符号反转排列;或者,所述矩阵中的偶数列的符号块中的各编码符号正常排列,所述矩阵中的奇数列的符号块中的各编码符号反转排列。
在该实现方式中,可以使得每一行的信息比特的连续性更弱,以便最大化分散信息位到不同内码当中。
在一种可能的实现方式中,所述根据待编码的信息比特,编码得到第一比特流包括:对所述第一比特流进行外码编码,得到多个外码码字;将所述多个外码码字以编码符号为单位进行交织,得到多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述m和所述n为大于0的整数,所述m与所述n不同;将所述多个符号块按行排列成矩阵;对所述矩阵中的每一列进行内码编码,得到多组冗余比特,所述多组冗余比特包括所述第一冗余比特;根据所述多个符号块和所述多组冗余比特,处理得到所述第一比特流。
在该实现方式中,将多个符号块按行排列成矩阵;对该矩阵中的每一列进行内码编码,得到多组冗余比特。当第一比特流在传输过程中发生突发误码时,可提高码字的纠错概率。
在一种可能的实现方式中,所述将所述多个符号块按行排列成矩阵包括:将所述多个符号块按行排列成每列包括P个比特的所述矩阵,所述P等于进行内码编码待采用的内码码长和内码符号长度的乘积,所述第一符号块中的每个编码符号中的m个比特排列为t行,所述t被所述m整除,所述m、所述P、所述t均为大于0的整数。
在该实现方式中,将多个符号块按行排列成每列包括P个比特的矩阵,以便对该矩阵的每列进行内码编码。
在一种可能的实现方式中,所述矩阵中的奇数行的符号块中的各编码符号正常排列,所述矩阵中的偶数行的符号块中的各编码符号反转排列;或者,所述矩阵中的偶数行的符号块中的各编码符号正常排列,所述矩阵中的奇数行的符号块中的各编码符号反转排列。
在该实现方式中,可以使得每一列的信息比特的连续性更弱。
第二方面,本申请提供一种译码传输方法,该方法包括:接收端接收第二比特流,所述第二比特流为发送端发送的第一比特流经过信道传输被所述接收端接收到的比特流,所述第二比特流包括第二信息比特和第二冗余比特,所述第二冗余比特用于纠错所述第二信息比特中的非连续的多个第二比特;根据所述第二比特流,解码得到信息比特。
本申请实施例中,第二冗余比特用于纠错第二信息比特中的非连续的多个第二比特,这样可将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,提高纠错成功概率的作用。
在一种可能的实现方式中,所述第二信息比特包括第一符号块,所述第一符号块包括第 一码字中的第m个编码符号和第二码字中的第m个编码符号,所述多个第二比特包括所述第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括所述第二码字中的编码符号,所述m为大于0的整数。未包括所述第二码字中的编码符号可以是未包括所述第二码字中的编码符号中的任何比特。或者说,未包括所述第二码字中的任何比特。
在该实现方式中,多个第二比特包括第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括第二码字中的编码符号;这样可将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,提高纠错成功概率的作用。
在一种可能的实现方式中,所述多个第二比特包括所述第一码字的第m个编码符号中的一个比特或非连续的多个比特。
在该实现方式中,多个第二比特包括第一码字的第m个编码符号中的一个比特或非连续的多个比特,而未包括该第一码字中的全部比特;可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数。
在一种可能的实现方式中,所述多个第二比特未包括由所述信息比特编码得到的任何码字中的连续比特。
在该实现方式中,可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数。
在一种可能的实现方式中,所述第二信息比特还包括第二符号块,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二符号块中的编码符号依次为第K码字中的第n个编码符号至所述第一码字中的第n个编码符号,所述第一符号块中的编码符号依次为所述第一码字中的第m个编码符号至所述第K码字中的第m个编码符号,所述n为大于0的整数且不等于所述m,所述第K码字至所述第一码字用于解码得到所述信息比特,所述K为大于1的整数。
在该实现方式中,第二符号块中的编码符号的排序与第一码字中的编码符号的排序不同,可提高分散突发误码到不同码字的概率。
在一种可能的实现方式中,所述第二信息比特包括多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二冗余比特用于纠错所述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,所述m和所述n为大于0的整数,所述m与所述n不同。
在该实现方式中,第二冗余比特用于纠错多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数。
在一种可能的实现方式中,所述根据所述第二比特流,解码得到信息比特包括:所述接收端将所述第二比特流按列,排列成矩阵;所述接收端对所述矩阵的每一行进行内码解码,并保留每一行的信息位;所述接收端根据所述矩阵的各行的信息位,得到所述信息比特。
在该实现方式中,接收端将第二比特流按列,排列成矩阵;对该矩阵的每一行进行内码解码,并保留每一行的信息位。当第一比特流在传输过程中发生突发误码时,可提高码字的纠错概率。
在一种可能的实现方式中,所述根据所述第二比特流,解码得到信息比特包括:所述接收端将所述第二比特流按行,排列成矩阵;所述接收端对所述矩阵的每一列进行内码解码,并保留每一列的信息位;所述接收端根据所述矩阵的各列的信息位,得到所述信息比特。
在该实现方式中,接收端将第二比特流按行,排列成矩阵;对该矩阵的每一列进行内码解码,并保留每一列的信息位。当第一比特流在传输过程中发生突发误码时,可提高码字的纠错概率。
在一种可能的实现方式中,所述接收端根据所述矩阵的各列的信息位,得到所述信息比特包括:将信息位矩阵形解交织,得到多个外码码字;对每个外码码字进行外码解码,并保留每个外码码字的外码信息位;将每个外码码字的外码信息位,按码字的顺序输出,得到所述信息比特。所述信息位矩阵包括所述矩阵的各列的信息位。或者,所述信息位矩阵包括所述矩阵的各行的信息位。
在该实现方式中,可快速地解码得到信息比特。
第三方面,本申请实施例提供一种通信装置,该通信装置具有实现上述第一方面方法实施例中的行为的功能。该通信装置可以是通信设备,也可以是通信设备的部件(例如处理器、芯片、或芯片系统等),还可以是能实现全部或部分该通信设备的功能的逻辑模块或软件。该通信装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块或单元。在一种可能的实现方式中,该通信装置包括接口模块和处理模块,其中:所述处理模块,用于根据待编码的信息比特,编码得到第一比特流,所述第一比特流包括第一信息比特和第一冗余比特,所述第一比特流用于解码得到所述信息比特,所述第一冗余比特用于纠错所述第一信息比特中的非连续的多个第一比特;所述接口模块,用于发送所述第一比特流。
在一种可能的实现方式中,所述第一信息比特包括第一符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述多个第一比特包括所述第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括所述第二码字中的编码符号,所述第一码字和所述第二码字由对所述信息比特进行编码得到,所述m为大于0的整数。
在一种可能的实现方式中,所述多个第一比特包括所述第一码字的第m个编码符号中的一个比特或非连续的多个比特。
在一种可能的实现方式中,所述第一信息比特还包括第二符号块,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二符号块中的编码符号依次为第K码字中的第n个编码符号至所述第一码字中的第n个编码符号,所述第一符号块中的编码符号依次为所述第一码字中的第m个编码符号至所述第K码字中的第m个编码符号,所述n为大于0的整数且不等于所述m,所述第K码字至所述第一码字由对所述信息比特进行编码得到,所述K为大于1的整数。
在一种可能的实现方式中,所述第一信息比特包括多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第一冗余比特用于纠错所述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,所述第一码字和所述第二码字由对所述信息比特进行编码得到,所述m和所述n为大于0的整数,所述m与所述n不同。
在一种可能的实现方式中,所述处理模块,具体用于对所述信息比特进行外码编码,得到多个外码码字;将所述多个外码码字以编码符号为单位进行交织,得到多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述m和所述n为大于0的整数,所述m与所述n 不同;将所述多个符号块按列排列成矩阵;对所述矩阵中的每一行进行内码编码,得到多组冗余比特,所述多组冗余比特包括所述第一冗余比特;根据所述多个符号块和所述多组冗余比特,处理得到所述第一比特流。
在一种可能的实现方式中,所述处理模块,具体用于将所述多个符号块按列排列成每行包括P个比特的所述矩阵,所述P等于进行内码编码待采用的内码码长和内码符号长度的乘积,所述第一符号块中的每个编码符号中的m个比特排列为t列,所述t被所述m整除,所述m、所述P、所述t均为大于0的整数。
在一种可能的实现方式中,所述矩阵中的奇数列的符号块中的各编码符号正常排列,所述矩阵中的偶数列的符号块中的各编码符号反转排列;或者,所述矩阵中的偶数列的符号块中的各编码符号正常排列,所述矩阵中的奇数列的符号块中的各编码符号反转排列。
在一种可能的实现方式中,所述处理模块,具体用于对所述第一比特流进行外码编码,得到多个外码码字;将所述多个外码码字以编码符号为单位进行交织,得到多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述m和所述n为大于0的整数,所述m与所述n不同;将所述多个符号块按行排列成矩阵;对所述矩阵中的每一列进行内码编码,得到多组冗余比特,所述多组冗余比特包括所述第一冗余比特;根据所述多个符号块和所述多组冗余比特,处理得到所述第一比特流。
在一种可能的实现方式中,所述处理模块,具体用于将所述多个符号块按行排列成每列包括P个比特的所述矩阵,所述P等于进行内码编码待采用的内码码长和内码符号长度的乘积,所述第一符号块中的每个编码符号中的m个比特排列为t行,所述t被所述m整除,所述m、所述P、所述t均为大于0的整数。
在一种可能的实现方式中,所述矩阵中的奇数行的符号块中的各编码符号正常排列,所述矩阵中的偶数行的符号块中的各编码符号反转排列;或者,所述矩阵中的偶数行的符号块中的各编码符号正常排列,所述矩阵中的奇数行的符号块中的各编码符号反转排列。
关于第三方面的各种可能的实施方式所带来的技术效果,可参考对于第一方面或第一方面的各种可能的实施方式的技术效果的介绍。
第四方面,本申请实施例提供一种通信装置,该通信装置具有实现上述第二方面方法实施例中的行为的功能。该通信装置可以是通信设备,也可以是通信设备的部件(例如处理器、芯片、或芯片系统等),还可以是能实现全部或部分该通信设备的功能的逻辑模块或软件。该通信装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块或单元。在一种可能的实现方式中,该通信装置包括接口模块和处理模块,其中:所述接口模块,用于接收第二比特流,所述第二比特流为发送端发送的第一比特流经过信道传输被接收端接收到的比特流,所述第二比特流包括第二信息比特和第二冗余比特,所述第二冗余比特用于纠错所述第二信息比特中的非连续的多个第二比特;所述处理模块,用于根据所述第二比特流,解码得到信息比特。
在一种可能的实现方式中,所述第二信息比特包括第一符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述多个第二比特包括所述第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括所述第二码字中的编码符号,所述m为大于0的整数。
在一种可能的实现方式中,所述多个第二比特包括所述第一码字的第m个编码符号中的 一个比特或非连续的多个比特。
在一种可能的实现方式中,所述第二信息比特还包括第二符号块,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二符号块中的编码符号依次为第K码字中的第n个编码符号至所述第一码字中的第n个编码符号,所述第一符号块中的编码符号依次为所述第一码字中的第m个编码符号至所述第K码字中的第m个编码符号,所述n为大于0的整数且不等于所述m,所述第K码字至所述第一码字用于解码得到所述信息比特,所述K为大于1的整数。
在一种可能的实现方式中,所述第二信息比特包括多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二冗余比特用于纠错所述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,所述m和所述n为大于0的整数,所述m与所述n不同。
在一种可能的实现方式中,所述处理模块,具体用于将所述第二比特流按列,排列成矩阵;对所述矩阵的每一行进行内码解码,并保留每一行的信息位;根据所述矩阵的各行的信息位,得到所述信息比特。
在一种可能的实现方式中,将所述第二比特流按行,排列成矩阵;对所述矩阵的每一列进行内码解码,并保留每一列的信息位;根据所述矩阵的各列的信息位,得到所述信息比特。
关于第四方面的各种可能的实施方式所带来的技术效果,可参考对于第二方面或第二方面的各种可能的实施方式的技术效果的介绍。
第五方面,本申请实施例提供另一种通信装置,该通信装置包括处理器,该处理器与存储器耦合,该存储器用于存储程序或指令,当该程序或指令被该处理器执行时,使得该通信装置执行上述第一方面或第一方面的任意可能的实现方式所示的方法,或者,当该程序或指令被该处理器执行时,使得该通信装置执行上述第二方面或第二方面的任意可能的实现方式所示的方法。
本申请实施例中,在执行上述方法的过程中,上述方法中有关发送信息(或信号)的过程,可以理解为基于处理器的指令进行输出信息的过程。在输出信息时,处理器将信息输出给收发器,以便由收发器进行发射。该信息在由处理器输出之后,还可能需要进行其他的处理,然后到达收发器。类似的,处理器接收输入的信息时,收发器接收该信息,并将其输入处理器。更进一步的,在收发器收到该信息之后,该信息可能需要进行其他的处理,然后才输入处理器。
对于处理器所涉及的发送和/或接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以一般性的理解为基于处理器的指令输出。
在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器等。例如,处理器还可以用于执行存储器中存储的程序,当该程序被执行时,使得该通信装置执行如上述第一方面或第一方面的任意可能的实现方式所示的方法。
在一种可能的实现方式中,存储器位于上述通信装置之外。在一种可能的实现方式中,存储器位于上述通信装置之内。
在一种可能的实现方式中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可能被集成于一起。
在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收信号或发送信 号等。
第六方面,本申请提供另一种通信装置,该通信装置包括处理电路和接口电路,该接口电路用于获取数据或输出数据;处理电路用于执行如上述第一方面或第一方面的任意可能的实现方式所示的相应的方法,或者,处理电路用于执行如上述第二方面或第二方面的任意可能的实现方式所示的相应的方法。
第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序包括程序指令,该程序指令被执行时使得计算机执行如上述第一方面或第一方面的任意可能的实现方式所示的方法,或者,该程序指令被执行时使得计算机执行如上述第二方面或第二方面的任意可能的实现方式所示的方法。
第八方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序包括程序指令,该程序指令被执行时使得计算机执行如上述第一方面或第一方面的任意可能的实现方式所示的方法,或者,该程序指令被执行时使得计算机执行如上述第二方面或第二方面的任意可能的实现方式所示的方法。
第九方面,本申请提供一种通信系统,包括上述第三方面或第三方面的任意可能的实现方式所述的通信装置、上述第四方面或第四方面的任意可能的实现方式所述的通信装置。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1示出了一种级联FEC编码流程的示例;
图2示出了一种级联FEC解码流程的示例;
图3为本申请实施例提供的一种内交织方案的示意图;
图4为本申请提供的一种高速有线通信系统的示例;
图5为本申请提供的一种高速连接应用场景的示例;
图6为本申请实施例提供的一种编码传输方法流程图;
图7为本申请实施例提供的一种外码码字的结构示意图;
图8为本申请提供的一种外码符号交织的过程示意图;
图9为本申请实施例提供的一种由多个符号块按列排成的矩阵的示例;
图10为本申请提供的一种正常排列的符号块和反转排列的符号块的对比示意图;
图11为本申请实施例提供的另一种由多个符号块按列排成的矩阵的示例;
图12为本申请实施例提供的一种符号块按列排成的矩阵的示例;
图13为本申请实施例提供的一种对矩阵的每行进行内码编码的示意图;
图14为本申请提供的一种比特流的示例;
图15为本申请实施例提供的另一种编码传输方法流程图;
图16为本申请实施例提供的另一种编码传输方法流程图;
图17为本申请实施例提供的一种RS(544,514)的码字结构;
图18为本申请实施例提供的一种两个RS(544,514)码字进行编码符号交织的示例;
图19为本申请提供的另一种由多个符号块按列排成的矩阵的示例;
图20为本申请提供的一种BCH(144,136)的码字结构;
图21为本申请实施例提供的一种内码编码后的矩阵的示例;
图22为本申请实施例提供的一种第一比特流的示例;
图23为本申请实施例提供的一种解码方法流程图;
图24为本申请实施例提供的另一种解码方法流程图;
图25为本申请实施例提供的一种通信装置2500的结构示意图;
图26为本申请实施例提供的另一种通信装置260的结构示意图;
图27为本申请实施例提供的另一种通信装置270的结构示意图。
具体实施方式
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”、“举例来说”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“举例来说”或者“例如”等词旨在以具体方式呈现相关概念。
在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。本申请中使用的术语“多个”是指两个或两个以上。
为了便于理解本申请的方案,首先对本申请中与编解码相关的概念或术语进行介绍。
1.前向纠错(forwarderror correction,FEC)码
前向纠错码:前向纠错码是一种在单向通信系统中控制传输错误的技术。单向通信系统中,通信双方中的一方固定为发送端,另一方固定为接收端,信息只能沿一个方向传输,即发送端向接收端传输。通过在数据信息中添加额外的带有信息本身特征的冗余信息以及在接收端按照相应的算法对其进行解码,可以达到纠正一定量的信息传输错误目的,降低比特误码率。或者说,前向纠错码(FEC)的码字是具有一定纠错能力的码型,它在接收端解码后,不仅可以发现错误,而且能够判断错误码元所在的位置,并自动纠错。
在描述一种前向纠错码的时候,通常会用到以下术语:
1)、编码符号(symbol)与符号长度(m):编码符号是纠错码的最小单元,对于不同的纠错码,每个编码符号可能由一个或多个比特组成,该比特数被称作符号长度。
2)、码字(codeword)与码长(n):码字指一个完整的纠错码,一个码字由多个编码符 号组成,编码符号的个数被称为该纠错码的码长。
3)、信息位(information)与信息位长度(k):信息位是指一个码字中承载数据的编码符号,其符号个数被称作信息位长度。
4)、冗余位(redundant)(或校验位(parity)):冗余位指一个码字中额外添加的编码符号,冗余位的编码符号的个数为码字长度减去信息位长度,即n-k。本申请中,冗余位和校验位可相互替换。
5)、纠错能力(t):即可以纠正的一个码字当中出错的编码符号数的上限。
RS(n,k,t):表示码长为n,信息位长度为k,纠错能力为t的里德-所罗门(Reed-Solomon,RS)编码(或者说RS码)。RS码是一种前向纠错码。对于RS(544,514,15)这种纠错码,每一个编码符号为10个比特,其码长为544个符号(即5440个比特),信息位为514个符号(即5140个比特),冗余位为30个符号(即300个比特)。当其中有小于等于15个符号传输中出现错误时,可以根据相应的译码方法将错误纠正过来。
BCH(n,k,t):表示码长为n,信息位长度为k,纠错能力为t的BCH编码(或者说BCH码)。BCH码(BCH code)的全称为Bose–Chaudhuri–Hocquenghem codes。BCH码是一种能够纠正多位错误的循环码。对于BCH(144,136,1)这种纠错码,每一个编码符号为1个比特,其码长为144个比特,信息位为136个比特,冗余位为8个比特。当一个码字当中出现1个比特错误的时候,可以根据相应的译码方法将错误纠正过来。
突发误码:有线通信系统进行数据传输时,有概率产生连续的多个误码,即当前调制后的符号出现错误时,下一个符号也出现错误。
2.内码、外码、级联码
本申请中,将编码、信道、译码整体看成一个广义信道。这个信道也存在错误,因此对它还可进一步的纠错编译码。对于有进行多次编码的系统,对各级编码,看成一个整体编码,称为级联码。
当由两个编码串联起来构成一个级联码时,作为广义信道中的编码称为内码,以广义信道为信道的信道编码称为外码。由于内码译码结果不可避免地会产生突发错误,因此内外码之间一般都要有一层交织器。通常在构建级联码时,内外码选择具有互补性的码型。
图1示出了一种级联FEC编码流程的示例。如图1所示,级联FEC编码流程包括:外码编码,内交织,内码编码,外交织。图1中的箭头指示数据流向。举例来说,发送端的级联编码器选择外码和内码的编码方式;由外码对信息比特流(或者称数据比特流)进行编码,对编码后的信息比特流进行内交织,然后再对内交织后的数据比特流进行内码编码,内码编码完成后还可以再进行一次外交织。图2示出了一种级联FEC解码流程的示例。如图2所示,级联FEC解码流程包括:解外交织,内码解码,解内交织,外码解码。图2中的箭头指示数据流向。举例来说,接收端的级联编码器先对接收的比特流进行解外交织;对解外交织后的比特流进行内码解码;对内码解码后的比特流进行解内交织;解内交织完成后再进行外码解码。
3.交织
交织其实是通信系统中进行数据处理而采用的一种技术。交织器从其本质上来说就是一种实现最大限度的改变信息结构而不改变信息内容的器件。从传统上来讲就是使信道传输过程中所突发产生集中的错误最大限度的分散化。
在陆地移动通信这种变参信道上,比特差错经常是成串发生的。这是由于持续较长的深衰落谷点会影响到相继一串的比特。然而,信道编码仅在检测和校正单个差错和不太长的差 错串时才有效。为了解决这一问题,希望能找到把一条消息中的相继比特分散开的方法,即一条消息中的相继比特以非相继方式被发送。这样,在传输过程中即使发生了成串差错,恢复成一条相继比特串的消息时,差错也就变成单个(或长度很短),这时再用信道编码纠错功能纠正差错,恢复原消息。这种方法就是交织技术。
一种针对级联编码的内交织方案是以外码符号为基础的多帧交织方案。图3为本申请实施例提供的一种内交织方案的示意图。如图3所示,码字A和码字B为外码的两个码字,A1~A5表示码字A的前5个编码符号,B1~B5表示码字B的前5个编码符号,交织过程将码字A和码字B的所有编码符号交替排列,得到A1B1A2B2A3B3…。在完成内交织之后,可将交织后的比特流(A1B1A2B2A3B3…)作为信息比特流进行内码编码。
参阅图3所示的内码交织方案,当产生突发误码时,即连续的多个错误会发生在同一个内码码字当中,同一个内码码字内的错误个数有很大概率会超出内码的纠错能力,导致内码纠错失败。在极端情况下,甚至造成内码误纠错,产生更多的错误,进而影响外码和整体级联码的纠错效果。对于在突发误码超过内码纠错能力的情况下,已有的级联编码方案的纠错性能较差的问题,本申请提供了内码纠错能力更强的编解码方案。
本申请提供的编解码方案可应用于高速有线通信系统,以及任何需要编码和解码的传输系统(或者说场景),本申请不作限定。
本申请实施例主要以部署高速有线通信系统,例如应用IEEE802.3ck标准的通信系统,为例进行说明。本领域技术人员容易理解,本申请涉及的各个方面可以扩展到采用各种标准或协议的其它网络。图4为本申请提供的一种高速有线通信系统的示例。如图4所示,发送端执行的流程包括:FEC编码,调制、信号处理。举例来说,发送端执行的流程如下:对数据比特流进行FEC编码,得到编码后的数据比特流;对编码后的数据比特流进行调制和信号处理,得到待发送信号;通过信道发送该待发送信号。参阅图4,发送端在将数据比特流调制成信号发送之前,采用了前向纠错编码技术,在数据比特流当中添加冗余比特。如图4所示,接收端执行的流程包括:信号处理、解调,FEC解码。举例来说,接收端执行的流程如下:对接收到的信号进行信号处理和解调,得到待解码的数据比特流;对待解码的数据比特流进行FEC解码,得到数据比特流。参阅图4,发送端在对接收到的信号进行信号处理和解调之后,采用前向纠错码解码技术,将有限的传输差错经过计算纠正回来。
本申请提供的编解码方案可应用于信息通信技术(information and communications technology,ICT)领域的所有高速串行接口,包括网络设备接口和计算机高速接口。本申请中,网络设备接口是指网络设备的各种接口。网络设备接口可以是以太网接口,遵循IEEE802.3标准。本申请中,计算机高速接口主要指串行高速接口,包括芯片之间通信的接口,芯片与光模块之间的接口等。图5为本申请提供的一种高速连接应用场景的示例。图5中,黑色矩形表示背板接口,有斜线填充的矩形和有竖线填充的矩形表示面板接口,其他矩形(除芯片之外)表示板内的接口,501表示的接口1中部署有串行、反串行转换器(serializer-deserializer,SerDes)芯片,502表示的接口2中部署有SerDes芯片,接口1中的SerDes芯片和接口2中的芯片可采用本申请提供的编解码方案。可理解,任意部署有SerDes芯片的接口均可采用本申请提供的编解码方案,而不仅限定图5中的接口1和接口2。SerDes技术是一种主流的时分多路复用(time division multiplexing,TDM)、点对点(peer to peer,P2P)的串行通信技术。具体的,在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(例如光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。在高速连接应用场景中,发送端可将信号进行调制编码后通过有线信道传输到接收端,接收端可进行相应的信道均衡、解调制和 解编码,得到数据信息和/或控制信息。本申请提供的编解码方案可应用于同一个设备的两个接口之间的数据传输,也可以应用于不同设备之间的数据传输。
在突发误码超过内码纠错能力的情况下,已有的级联编码方案的纠错性能较差。研究发现,已有的级联编码方案的纠错性能较差的原因在于,级联编码在应对突发误码时,内码解码后的误码不随机。本申请提供的编解码方案解决的技术问题是:级联编码在应对突发误码时,内码解码后误码不随机的问题。本申请提供的编解码方案主要通过矩阵交织的方式,最大化的分散突发误码到不同的内码码字当中;其次,通过多个外码码字按符号交织的方式,将内码纠错后的不随机误码分散到多个外码码字当中。本申请提供的编解码方案达到的技术效果是:突发误码和非随机误码被成功分散到不同的内外码和内码码字的当中,提高了单个码字的纠错成功概率,从而降低系统整体的误码率。
本申请提供的编解码方案采用了二维矩阵交织方式。在编解码方案中采用本申请提供的二维矩阵交织方式,发送端执行的操作包括:1)、在外码编码之后,对多个外码码字进行以外码编码符号为单位的交织,并将交织后的符号序列按列排列成矩阵;2)、对该矩阵中的每一行进行内码编码,将内码编码产生的冗余位添加为该矩阵的新的列,即与信息位并列;3)、按列读取比特进行后续处理。相应的,在编解码方案中采用本申请提供的二维矩阵交织方式,接收端执行的操作包括:1)、将经过信号处理和解调的比特流按照顺序按列排成矩阵形式,这里按照顺序是指按照接收到的信号解调后的比特的先后顺序。2)、对每一行进行内码解码;内码解码完成后,去掉内码冗余位比特,只保留交织后的外码码字;3)、将交织码字以外码编码符号为单位解交织,得到对应的多个外码码字,再分别进行外码解码。或者,在编解码方案中采用本申请提供的二维矩阵交织方式,发送端执行的操作包括:1)、在外码编码之后,对多个外码码字进行以外码编码符号为单位的交织,并将交织后的符号序列按行排列成矩阵;2)、对该矩阵中的每一列进行内码编码,将内码编码产生的冗余位添加为该矩阵的新的行,即与信息位并列;3)、按行读取比特进行后续处理。相应的,在编解码方案中采用本申请提供的二维矩阵交织方式,接收端执行的操作包括:1)、将经过信号处理和解调的比特流按照顺序按行排成矩阵形式,这里按照顺序是指按照接收到的信号解调后的比特的先后顺序。2)、对每一列进行内码解码;内码解码完成后,去掉内码冗余位比特,只保留交织后的外码码字;3)、将交织码字以外码编码符号为单位解交织,得到对应的多个外码码字,再分别进行外码解码。
下面结合附图介绍本申请提供的编解码方案。
图6为本申请实施例提供的一种编码传输方法流程图。如图6所示,该方法包括:
601、发送端对待编码的信息比特进行外码编码,得到多个外码码字。
发送端可以是网络设备、计算机设备、终端设备等任意需要进行编码传输的设备,尤其是采用FEC技术进行编码的设备。例如,发送端为计算机、台式电脑、笔记本电脑、调制解调器、路由器、网桥、传输接收点(transmission reception point,TRP)等。本申请中,发送端执行的操作或处理(例如图6中的方法流程中发送端执行的操作或处理),可由发送端执行,也可以由设置于发送端内的芯片或电路系统等执行。上述电路系统例如可以为集成电路、逻辑电路。上述芯片例如可以是片上系统(systemonchip,SoC)芯片、基带调制解调(modem)芯片、SerDes芯片等,本文不作限定。下文以发送端为例进行说明。
示例性的,发送端采用的外码的每个编码符号包括m个比特,码长为n1个符号,信息位长度为k1个编码符号。m为大于0的整数,n1为大于1的整数,k1为大于0的整数。发送端对k1个编码符号(即信息符号),计算相应的(n1-k1)个冗余符号添加到该k1个编码符号后, 码字结构如图7所示。图7为本申请实施例提供的一种外码码字的结构示意图。如图7所示,外码码字(codeword)包括信息(information)比特部分和冗余(redundant)比特部分,S1、S2、…、Sk1表示k1个编码符号,S(k1+1)、S(k1+2)、…、Sn1表示根据该k1个编码符号计算得到的(n1-k1)个冗余符号,Sk1包括b1、b2、…、bm共m个比特。图7仅示出了Sk1包括的m个比特。应理解,外码中的每个编码符号均包括m个比特。本申请不对发送端采用的外码作限定,即不限定m、n1、k1的大小,以及计算k1个编码符号对应的冗余符号的方式。或者说,发送端可采用任意方式对待编码的信息比特进行外码编码,得到多个外码码字。
602、发送端将多个外码码字按外码编码符号进行交织,得到多个符号块。
本申请中,外码编码符号是指外码码字的编码符号,即外码码字包括的编码符号。发送端将多个外码码字按外码编码符号进行交织得到的多个符号块可称为交织后的外码符号。下面以x个外码码字进行交织为例,描述步骤602一种可能的实现方式。图8为本申请提供的一种外码符号交织的过程示意图。参阅图8,发送端将码字1(codeword1)、码字2(codeword2)、…、码字x(codewordx)按外码编码符号进行交织,得到符号块1(part1)至符号块n1(partn1)。如图8所示,x个外码码字(即码字1至码字x)进行交织得到n1个符号块,即part1至partn1,每个外码码字包括n1个编码符号,每个符号块(part)包括x个编码符号且该x个编码符号位于x个外码码字中的相同位置;外码码字1包括编码符号S1,1至S1,n1,外码码字2包括编码符号S2,1至S2,n1,外码码字x包括编码符号Sx,1至Sx,n1,符号块1(即part1)包括x个外码码字中的每个外码码字的第一个编码符号,S1,1为外码码字1中的第一个编码符号,S2,1为外码码字2中的第一个编码符号,Sx,1为外码码字x中的第一个编码符号,符号块n1(即partn1)包括x个外码码字中的每个外码码字的第n1个编码符号,S1,n1为外码码字1中的第n1个编码符号,S2,n1为外码码字2中的第n1个编码符号,Sx,n1为外码码字x中的第n1个编码符号。本申请中,符号块可包括多个外码码字中相同位置的编码符号。本申请中的符号块由多个外码码字交织得到。图8仅为一种外码符号交织的举例,而不是全部的举例。应理解,发送端可采用任意方式将多个外码码字按外码编码符号进行交织,本申请不作限定。这里按外码编码符号进行交织是指以编码符号为单位进行交织。或者说,发送端将多个外码码字按外码编码符号进行交织时,每个外码码字中的每个编码符号作为一个整体。
603、发送端将多个符号块按列排成矩阵。
发送端将多个符号块按列排成矩阵时,符号块中的每个编码符号所占的列数可灵活设置。也就是说,发送端在将多个符号块按列排成矩阵时,可根据实际需求设置符号块中的每个编码符号所占的列数。
图9为本申请实施例提供的一种由多个符号块按列排成的矩阵的示例。图9中,每个part代表一个符号块,符号块1(即part1)包括多个外码码字中的每个外码码字的第一个编码符号,即S1,1、S2,1、…、Sx,1,编码符号S1,1排列成t列(t个比特),即编码符号S1,1排成一个t列行的矩阵。图9所示的矩阵中包括两种符号块,一种是正常排列的符号块,例如part1代表正常排列的符号块1,另一种是反转排列的符号块,例如partT n1代表反转排列的符号块n1。图10为本申请提供的一种正常排列的符号块和反转排列的符号块的对比示意图。参阅图10,正向排列的符号块j(即partj)中的各编码符号按列排序依次为S1,j、S2,j、…、Sx,j,反转排列的符号块j(即partj)中的各编码符号按列排序依次为Sx,j、Sx-1,j、…、S1,j。本申请中,正常排列的符号块是指符号块中的各编码符号正常排列,反转排列的符号块是指符号块中的各编码符号反转排列。可理解,图9所示矩阵中的各part的含义与part1或者partTn1的含义类似, 这里不再赘述。图9仅示出了符号块1(即part1)中的S1,1包括的各比特的排列情况。应理解,上述多个符号块中的每个编码符号均排成一个t列行的矩阵。
m需要能被t整除(例如,当m=10时,t可以取1,2,5),即m能整除t。t的取值(即每个编码符号排列的列数)可根据信号调制的方法和无源链路特性灵活配置。t的值越小,连续的突发误码会被分散到更多的内码码字当中,平均下来每一个内码码字错误数则更小,更容易成功解码。但是考虑到调制方式,如四阶脉冲幅度调制(pulse amplitude modulation 4,PAM-4)为每两个比特调制成一个脉冲幅度调制(pulse amplitude modulation,PAM)符号,PAM这种调制方式的特点是,一个PAM符号中的两个比特有很大概率只有一个比特出错,所以此时t的值可以选择2,而并不会影响内码的解码性能。如果调制方式使用不归零码(non-return-to-zero,NRZ)(又叫PAM-2),每个比特调制成一个PAM符号,则t的最优取值为1。本申请中,发送端进行内码编码采用的内码的码长为k2,符号长度为m2。通常内码码长k2(即内码的码长)和内码符号长度m2(即内码的符号长度)的乘积也可以被t整除(对于k2m2不能被t整除的情况,下文会单独说明)。本申请中,k2m2表示(k2*m2)。图9示出的是内码码长k2和内码符号长度m2的乘积可以被t整除时,将多个符号块按列排成的矩阵。发送端需要对矩阵的每一行进行内码编码,因此矩阵的每一行需要有k2m2个比特。因为每一行需要有k2m2个比特,一个符号块每行有t个比特,因此一行需要有k2m2/t个符号块。一共有n1个符号块,因此矩阵当中一列有个符号块。应理解,发送端根据每一行的比特个数,可确定矩阵的一列有个符号块。也就是说,发送端根据k2、m2、n1、t,可确定矩阵的每一行需要有k2m2/t个符号块,每一列需要有个符号块。发送端根据矩阵每一列需要有的符号块的个数,可将多个符号块按列排成矩阵,这样发送端就能将多个符号块按列排成每一行有k2m2个比特的矩阵。
在一种可能的实现方式中,发送端在执行步骤603之前,执行如下操作:在内码码长k2和内码符号长度m2的乘积可以被t整除时,确定矩阵的每一列需要有个符号块。步骤603一种可能的实现方式如下:将上述多个符号块按列排成每一列有个符号块的矩阵,其中,矩阵的每行有k2m2个比特。
在一种可能的实现方式中,上述矩阵中的奇数列的符号块中的各编码符号正常排列,上述矩阵中的偶数列的符号块中的各编码符号反转排列;或者,上述矩阵中的偶数列的符号块中的各编码符号正常排列,上述矩阵中的奇数列的符号块中的各编码符号反转排列。本申请中,矩阵中的各列的符号块可均正常排列;矩阵中的各列的符号块也可均反转排列;还可以是矩阵中的奇数列的符号块正常排列,偶数列的符号块反转排列;还可以是矩阵中的奇数列的符号块反转排列,偶数列的符号块正常排列,本申请不作限定。在该实现方式中,可以使得每一行的信息比特的连续性更弱。
当k2m2不能被t整除时,发送端需要对矩阵的最后一列进行调整。这里的最后一列是指符号块对应的多列,而不是矩阵中的一列。假设k2m2=αt+β,其中α和β均为正整数,则矩阵的前(α*t)列对应于α列符号块,即每t列对应一列符号块,最后β列则可由剩下的L个符号块拆分后构成。需要注意β不一定需要能整除m。图11为本申请实施例提供的另一种由多个符号块按列排成的矩阵的示例。图11所示矩阵中的各参数的含义可参阅图9所示矩阵中的各参数的含义。参阅图11,矩阵的每一行有(k2m2)个比特,矩阵的前(α*t)列对应于α列符号块,即每t列对应一列符号块,最后β列则由剩下的L个符号块(即一列符号块)拆分后构成。假设一个part(即符号块)有20个比特,t=5,则每个part可以排列成一个4行5列 的矩阵。又假设k2*m2=28,则β=3,最后一列的part没办法排列成5列比特,只能排列成3列比特。在这种情况下最后几个part只能排列成3列比特,因为20不能被3整除,因此会有6行完整的3列,第7行只有2比特。第七行剩下的一个比特则需要由下一个part的第一个比特来填补。图12为本申请实施例提供的一种符号块按列排成的矩阵的示例。参阅图11和图12,part1排列成一个4行5列的矩阵,partT n1-1+1排列的矩阵有6行为3列,第7行只有2比特,partT n1-1+2(即partT n1-1+1的下一个part)的第一个比特填补partT n1-1+1的第7行。上述假设仅为最后β列则由剩下的L个符号块(不足一列符号块)拆分后构成的一种举例,发送端可采用类似的方式由剩下的L个符号块拆分后构成最后β列(对应于一列符号块)。本申请不限定发送端根据剩下的L个符号块构成最后β列的方式。
在一种可能的实现方式中,发送端在执行步骤603之前,执行如下操作:在内码码长k2和内码符号长度m2的乘积不可以被t整除时,确定矩阵除最后一列之外的各列需要有个符号块。步骤603一种可能的实现方式如下:将上述多个符号块按每列个符号块排列,并将剩下的L个符号块拆分后构成最后β列(对应于一列符号块)。L小于发送端将剩下的L个符号块拆分后构成最后β列的方式可参阅图11和图12。
发送端根据调制方式的不同,可灵活的配置每个外码编码符号排列成矩阵的行数和列数,在不降低内码纠错能力的情况下,最大化交织深度,从而降低系统整体的误码率。
604、发送端对矩阵的每行进行内码编码,并将内码冗余位排列在矩阵旁。
因为矩阵的每行的比特数正好是内码的信息位的比特数(k2*m2),发送端可将矩阵的每一行编码为一个内码码字,并将每个内码码字对应的冗余位作为矩阵新增列排列在矩阵旁边。图13为本申请实施例提供的一种对矩阵的每行进行内码编码的示意图。如图13所示,每个内码码字添加的冗余(redundant)位作为矩阵新增列排列在矩阵旁边,每一个内码的冗余位有g=(n2-k2)*m2个比特,矩阵有i行,每行对应一个内码码字,即内码码字1(inner codeword1)、内码码字2(inner codeword2)、…、内码码字i(inner codewordi),内码码字1为r1,1、r1,2、…、r1,g,内码码字2为r2,1、r2,2、…、r2,g,内码码字i为ri,1、ri,2、…、ri,g。图13所示矩阵中的各参数的含义可参阅图9所示矩阵中的各参数的含义。
605、发送端按列将矩阵中的比特读出,得到待发送的第一比特流。
步骤605一种可能的实现方式如下:发送端对于矩阵中的内码信息部分从上到下,从左到右的顺序,按列以符号块为单位读出,并恢复成比特流;对于内码冗余部分,直接按列读出,得到待输出的第一比特流。参阅图13,内码信息部分是指矩阵中的符号块,即part1至partT n1,内码冗余部分是指内码码字对应的冗余位,即最后g列。参阅图13,发送端对于内码信息部分从上到下,从左到右的顺序,按列以符号块为单位读出可以是先后读出:第一列的part1、part2、…、partj,第二列的partT j+1、partT j+2、…、partT 2j,……,最后一列的partT n1-j+1、partT n1-j+2、…、partT n1。图14为本申请提供的一种比特流的示例。图14示出的比特流可视为发送端执行步骤605得到的待输出的第一比特流,图14中各参数的含义可参阅图13和图9。参阅图14,待输出的比特流包括两部分,前一部分是内码(多个内码码字交织后)的信息比特(即下文的第一信息比特),后一部分是内码编码时添加的冗余比特,包含下文的第一冗余比特。
在一种可能的实现方式中,步骤604和步骤605可替换为:对上述矩阵中的每一行进行内码编码,得到多组冗余比特,该多组冗余比特中的任一组为第一冗余比特;根据上述多个符号块和上述多组冗余比特,处理得到上述第一比特流。应理解,发送端在得到上述多组冗 余比特之后,可采用多种方式根据上述多个符号块和多组冗余比特,得到如图14所示的第一比特流,本申请不作限定。
步骤601至步骤605为发送端根据待编码的信息比特,编码得到第一比特流的步骤。发送端还可通过其他方式根据待编码的信息比特,编码得到第一比特流,本申请不作限定。
606、发送端发送第一比特流。
发送端发送第一比特流可以是:对第一比特流进行调制、信号处理之后,发送由该第一比特流得到的信号。本申请中,发送第一比特流实际是发送对该第一比特流进行调制、信号处理的信号。由于对待发送的比特流进行调制、信号处理是本领域的惯用技术手段,故这里不再陈述。步骤606一种可能的实现方式如下:发送端通过有线信道向接收端发送第一比特流。相应的,接收端接收第二比特流,第二比特流为发送端发送的第一比特流经过信道传输被上述接收端接收到的比特流。第二比特流包括第二信息比特(对应于第一信息比特)和第二冗余比特(对应于第一冗余比特),上述第二冗余比特用于纠错上述第二信息比特中的非连续的多个第二比特。接收端根据上述第二比特流,解码得到信息比特。后续再详述接收端根据上述第二比特流,解码得到信息比特的实现方式。接收端接收第二比特流实际是接收发送端发送的经过信道传输后的信号。
上述第一比特流包括第一信息比特和第一冗余比特。上述第一比特流用于解码得到上述信息比特。上述第一冗余比特用于纠错上述第一信息比特中的非连续的多个第一比特。
第一信息比特可以为图14所示的前一部分,第一冗余比特可以为图14所示的后一部分。结合图13和图14可知,图14所示的前一部分对应于图13中的内码信息部分(即内码码字信息比特),图14所示的后一部分对应于图13中的内码冗余部分(即redundant),图13所示矩阵中的每一行对应的冗余比特可用于纠错这一行的信息比特。图13所示矩阵中的每行包括的比特在图14中是非连续的(或者说不连续的)。例如,图13中的第一行包括part1的第一个编码符号中的t个比特、partT j+1的第一个编码符号中的t个比特、…、partT n1-j+1的第一个编码符号中的t个比特。图13所示矩阵中的每一行对应的冗余比特可用于纠错这一行的信息比特可理解为:图13所示矩阵中的每一行对应的冗余比特可用于纠错第一信息比特中的非连续的多个第一比特。第一冗余比特可包含一组或多组冗余比特,每一组冗余比特为对矩阵的一行进行内码编码得到的内码冗余位。或者说,第一冗余比特用于接收端得到一组或多组冗余比特。以第一冗余比特为图14所示的r1,1、r2,1、…、ri,1、r1,2、r2,2、…、ri,2、r1,g、ri,g为例,由该第一冗余比特可得到多组冗余比特,例如r1,1、r1,2、…、r1,g,r1,1、r1,2、…、r1,g可用于纠错矩阵中的第一行的多个比特,即part1的第一个编码符号中的t个比特、partT j+1的第一个编码符号中的t个比特、…、partT n1-j+1的第一个编码符号中的t个比特。应理解,由第一冗余比特得到的每组冗余比特可用于纠错第一信息比特中的非连续的多个比特,通过将突发的连续误码分散到不同的内码码字,可以避免内码码字中的错误比特的个数会超出内码的纠错能力。
在一种可能的实现方式中,上述第一信息比特包括第一符号块,上述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,上述多个第一比特包括上述第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括上述第二码字中的编码符号,上述第一码字和上述第二码字由对上述信息比特进行编码得到,上述m为大于0的整数。参阅图9和图14,part1为第一符号块的一个举例,第一码字中的第m个编码符号为S1,1,第二码字中的第m个编码符号为S2,1,part1中的S1,1的b1、b2、…、bt位于矩阵的第一行,part1中的S2,1包括的各比特均不位于矩阵的第一行,上述多个第一比特(对应于矩阵的第一行)包括S1,1中的b1、b2、…、bt,且未包括S2,1。可选的,上述多个第一比特包括上述第一码字 的第m个编码符号中的一个比特或非连续的多个比特。在该实现方式中,可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数的目的。
在一种可能的实现方式中,上述第一信息比特还包括第二符号块,上述第二符号块包括上述第一码字中的第n个编码符号和上述第二码字中的第n个编码符号,上述第二符号块中的编码符号依次为第K码字中的第n个编码符号至上述第一码字中的第n个编码符号,上述第一符号块中的编码符号依次为上述第一码字中的第m个编码符号至上述第K码字中的第m个编码符号,上述n为大于0的整数且不等于上述m,上述第K码字至上述第一码字由对上述信息比特进行编码得到,上述K为大于1的整数。参阅图9和图14,partT j+1为第二符号块的一个举例,part1为第一符号块的一个举例,part1中的编码符号依次为第一码字中的第m个编码符号至第K码字中的第m个编码符号,即S1,1、S2,1、…、Sx,1,partT j+1中的编码符号依次为第K码字中的第n个编码符号至第一码字中的第n个编码符号,即Sx,j+1、Sx-1,j+1、…、S1,j+1。在该实现方式中,第二符号块中的编码符号的排序与第一码字中的编码符号的排序不同,可提高分散突发误码到不同码字的概率。
在一种可能的实现方式中,上述第一信息比特包括多个符号块,上述多个符号块包括第一符号块和第二符号块,上述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,上述第二符号块包括上述第一码字中的第n个编码符号和上述第二码字中的第n个编码符号,上述第一冗余比特用于纠错上述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,上述第一码字和上述第二码字由对上述信息比特进行编码得到,上述m和上述n为大于0的整数,上述m与上述n不同。参阅图13和图14可知,图14中的前一部分的符号块按列排列可得到图13所示的矩阵,第一冗余比特可用于纠错该矩阵中的任一行的比特,即上述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列。在该实现方式中,第一冗余比特用于纠错多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,可将突发的连续误码分散到不同的码字当中,能够达到减少每个码字当中的误码个数。
本申请实施例中,发送端将多个符号块按列排成矩阵,对该矩阵按行进行内码编码后,再以part为单位按行读取比特送入后续信号处理流程;能够将突发的连续误码分散到不同的内码码字当中,达到减少每个码字当中的误码个数,从而达到提高内码的纠错成功概率的作用。
图15为本申请实施例提供的另一种编码传输方法流程图。图15中的方法流程是图6中的方法流程的主要区别在于,将符号块排列成矩阵的方式不同。图15中的方法流程与图6中的方法流程是两种并列的编码传输方案。如图15所示,该方法包括:
1501、发送端对待编码的信息比特进行外码编码,得到多个外码码字。
步骤1501的实现方式可参阅步骤601。
1502、发送端将多个外码码字按外码编码符号进行交织,得到多个符号块。
步骤1502的实现方式可参阅步骤602。
1503、发送端将多个符号块按行排成矩阵。
步骤1503的实现方式可参阅步骤603。发送端将多个符号块按行排成矩阵的实现方式与将该多个符号块按列排成矩阵的实现方式类似。对于本领域技术人员来说,发送端将多个符号块按行排成矩阵与将该多个符号块按列排成矩阵无实质区别,这里不再赘述。由于发送端进行内码编码采用的内码的码长为k2,符号长度为m2,因此发送端在将多个符号块按行排成矩阵时,需要保证矩阵的每列有k2m2个比特。
1504、发送端对矩阵的每列进行内码编码,并将内码冗余位排列在矩阵旁。
步骤1504的实现方式可参阅步骤604。发送端对矩阵的每列进行内码编码的实现方式与对矩阵的每行进行内码编码的实现方式类似。对于本领域技术人员来说,发送端对矩阵的每列进行内码编码与对矩阵的每行进行内码编码无实质区别,这里不再赘述。这里将内码冗余位排列在矩阵旁可以是将每列的内码冗余位作为该列的新增行排列在矩阵下方。
1505、发送端按行将矩阵中的比特读出,得到待发送的第一比特流。
步骤1505一种可能的实现方式如下:发送端对于矩阵中的内码信息部分从左到右,从上到下的顺序,按行以符号块为单位读出,并恢复成比特流;对于内码冗余部分,直接按行读出,得到待输出的第一比特流。步骤1505的实现方式可参阅步骤605。
1506、发送端发送第一比特流。
本申请实施例中,发送端将多个符号块按行排成矩阵,对矩阵按列进行内码编码后,再以part为单位按行读取比特送入后续信号处理流程;能够将突发的连续误码分散到不同的内码码字当中,达到减少每个码字当中的误码个数,从而达到提高内码的纠错成功概率的作用。
图15中的方法流程与图6中的方法流程是两种并列的编码传输方案,下文主要介绍图6描述的方法的可能的实现方式。应理解,图6描述的方法的可能的实现方式经过简单变换或调整就能得到图15描述的方法的可能的实现方式,这里不再赘述。
图16为本申请实施例提供的另一种编码传输方法流程图。图15中的方法流程是图6描述的方法的一种可能的实现方式。在该实现方式中,发送端按列排列外码RS(544,514)的编码符号成矩阵后,再按行进行内码BCH(144,136)编码;可以最大化的分散突发误码到不同的BCH码字当中,提高BCH纠错成功概率。如图16所示,该方法包括:
1601、发送端对待编码的信息比特进行RS编码,得到多个RS(544,514)码字。
本申请实施例中,发送端采用RS(544,514)作为外码,以BCH(144,136)作为内码,采用两帧外码交织,再进行矩阵交织的方法实现级联编码。外码RS(544,514)的每一个编码符号由10比特组成,内码BCH(144,136)的每一个编码符号由1比特组成。发送端对待编码的信息比特进行RS编码可以是:为待编码的比特流中的每514个RS编码符号(5140个比特),计算并添加30个冗余符号(300个比特)。图17为本申请实施例提供的一种RS(544,514)的码字结构。如图17所示,外码RS(544,514)的每一个编码符号包括10个比特,外码RS(544,514)的信息位包括514个编码符号,即S1、S2、…、S514,外码RS(544,514)的冗余位包括30个编码符号,即S515、S516、…、S544。或者说,外码RS(544,514)的信息位长度为514,码长为544。
1602、发送端对上述多个RS(544,514)码字中的两个RS(544,514)码字进行编码符号交织,得到多个符号块。
可选的,发送端按照预设规则选择上述多个RS(544,514)码字中的两个RS(544,514)码字进行编码符号交织,即以编码符号为单位进行交织。图18为本申请实施例提供的一种两个RS(544,514)码字进行编码符号交织的示例。如图18所示,码字1(codeword1)包括S1,1、S1,2、…、S1,544,码字2(codeword2)包括S2,1、S2,2、…、S2,544,码字1和码字2为两个RS(544,514)码字,码字1和码字2进行编码符号交织得到544个符号块(part),即part1、part2、…、part543、part544,每个part包括两个编码符号。part1包括S1,1和S2,1,part2包括S1,2和S2,2,part542包括S1,543和S2,543,part544包括S1,544和S2,544。可理解,每个part包括两个RS(544,514)码字中的相同位置的编码符号,例如part1包括码字1的第一个编码符合和码字2的第一个编码符号。
1603、发送端将多个符号块按列排成矩阵。
步骤1603可参阅步骤603。示例性的,t=2,即每个编码符号的两个比特排成一列,一共 5行,偶数列的符号块可反转排列。可选的,发送端按列以符号块为单位排列上述多个符号块,奇数列排列8个正向排列的符号块,偶数列排列8个反转排列的符号块,这样排列成的矩阵每行有136个比特。图19为本申请提供的另一种由多个符号块按列排成的矩阵的示例。参阅图19,S1,1、S2,1、S1,2、S2,2、…、S1,544、S2,544按列排成矩阵,即上述多个符号块按列排成矩阵,偶数列的符号块反转排列,每列对应16个编码符号,即8个符号块,S1,1的两个比特排列一列。图19仅示出了S1,1的两个比特排列一列的情况。可理解,发送端将多个符号块按列排成矩阵时,每个符号块中的每个编码符号的两个比特排列一列。从图19可以看出,第一列中先排列S1,1再排列S2,1,第二列中先排列S2,9再排列S1,9,表明奇数列中的符号块正常排列,偶数列中的符号块反转排列。
发送端将多个符号块按列排成矩阵时,t的取值可以取任何可被外码的编码符号长度m整除的正整数。例如,针对NRZ调制的系统,一个调制符号为1比特,因此t可以选择为1,最大化的将突发误码分散到不同的内码码字当中。又例如,t也可以取值等于m。
1604、发送端对矩阵的每行进行内码BCH(144,136)编码,得到多个BCH(144,136)码字的冗余比特。
发送端对矩阵的每行136个比特进行内码BCH(144,136)编码,需计算并添加冗余位(8比特)。图20为本申请提供的一种BCH(144,136)的码字结构。如图20所示,BCH(144,136)的信息位包括136个比特,即b1、b2、…、b136,BCH(144,136)的冗余位包括8个比特,即b137、…、b144
1605、发送端将每个BCH(144,136)码字的冗余比特添加到矩阵当中,得到内码编码后的矩阵。
图21为本申请实施例提供的一种内码编码后的矩阵的示例。参阅图21,内码编码后的矩阵的最后8列为BCH(144,136)码字的冗余比特,例如r1,1、r1,2、…、r1,8是一个BCH(144,136)码字(即BCH(144,136)1)的冗余比特,内码编码后的矩阵包括80行,每行为一个BCH(144,136)码字,第一行为BCH(144,136)1,第二行为BCH(144,136)2
1606、发送端按列将内码编码后的矩阵中的比特读出,得到待发送的第一比特流。
步骤1606可参阅步骤605。举例来说,发送端将内码编码后的矩阵中的内码信息部分,按从上到下,从左到右的顺序,以part为单位按列读出,恢复成比特流;而内码冗余部分则按列直接读出。图22为本申请实施例提供的一种第一比特流的示例。如图22所示,第一比特流包括两部分,前一部分是内码(多个内码码字交织后)的信息比特,即part1、part2、…、part8、partT 9、partT 10、…、partT 16、…、partT 544,后一部分是内码编码时添加的冗余比特,即r1,1、r2,1、…、r80,1、r1,2、r2,2、…、r80,2、r1,8、…、r80,8,part1包括S1,1和S2,1,S1,1包括b1、b2、…、b10。图22仅示出了part1包括的编码符号(即S1,1和S2,1),以及S1,1包括的10个比特,即b2、…、b10。可理解,每个part均包括两个编码符号,每个编码符号均包括10个比特。
在一种可能的实现方式中,步骤1603可替换为:将多个符号块按行排成矩阵;步骤1604可替换为:发送端对矩阵的每列进行内码BCH(144,136)编码,得到多个BCH(144,136)码字的冗余比特;步骤1606可替换为:发送端按行将内码编码后的矩阵中的比特读出,得到待发送的第一比特流。应理解,对于发送端来说,该实现方式与图16中的方法流程无实质区别,这里不再详述。
1607、发送端发送第一比特流。
本申请实施例中,将两个RS(544,514)按编码符号进行交织,可以将突发的连续误码和内码纠错后的非随机误码分散到两个码字当中,提高每个RS码字纠错成功的概率。对矩阵按 行进行BCH(144,136)编码后,再以part为单位按列读取比特送入后续信号处理流程,可将突发的连续误码分散到不同的BCH码字当中,达到减少每个码字当中的误码个数,从而达到提高内码BCH的纠错成功概率的作用。在考虑以PAM-4调制和格雷编码时,每个PAM符号由两个比特组成,且有很大概率一个PAM符号中的两个比特只有一个错误,通过将连续的两个比特放到一个BCH码字当中,在不降低BCH码字的纠错能力的同时,也尽可能的增加交织深度,提高BCH码字的纠错成功的概率。
前面介绍了发送端执行的编码传输方法,下面结合附图介绍接收端执行的解码方法。
图23为本申请实施例提供的一种解码方法流程图。如图23所示,该方法包括:
2301、接收端接收第二比特流。
接收端可以是网络设备、计算机设备、终端设备等任意需要进行解码的设备,尤其是采用FEC技术进行解码的设备。例如,接收端为计算机、台式电脑、笔记本电脑、调制解调器、路由器、网桥、TRP等。本申请中,接收端执行的操作或处理(例如图23中的方法流程中接收端执行的操作或处理),可由接收端执行,也可以由设置于接收端内的芯片或电路系统等执行。上述电路系统例如可以为集成电路、逻辑电路。上述芯片例如可以是SoC芯片、基带调制解调(modem)芯片、SerDes芯片等,本文不作限定。下文以接收端为例进行说明。
所述第二比特流为发送端发送的第一比特流经过信道传输被所述接收端接收到的比特流。所述第二比特流包括第二信息比特(对应于上述第一信息比特)和第二冗余比特(对应于上述第一冗余比特)。所述第二冗余比特用于纠错所述第二信息比特中的非连续的多个第二比特(对应于上述多个第一比特)。本申请中,发送端发送第一比特流实际是发送对该第一比特流进行调制、信号处理的信号。接收端接收第二比特流实际是接收发送端发送的信号(即对第一比特流进行调制、信号处理得到的信号)经过信道传输后的信号。接收端接收第二比特流可理解为:接收第二信号,该第二信号为发送端发送的第一信号经过信道传输被接收端接收到的信号,该第一信号为发送端对第一比特流进行调制、信号处理得到的信号。步骤2031一种可能的实现方式如下:接收端对接收到的第二信号进行信号处理、解调,得到第二比特流。由于对接收到的信号进行调制、信号处理是本领域的惯用技术手段,故这里不再陈述。
在一种可能的实现方式中,所述第二信息比特包括第一符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述多个第二比特包括所述第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括所述第二码字中的编码符号,所述m为大于0的整数。未包括所述第二码字中的编码符号可以是未包括所述第二码字中的编码符号中的任何比特。或者说,未包括所述第二码字中的任何比特。可选的,所述多个第二比特包括所述第一码字的第m个编码符号中的一个比特或非连续的多个比特。在该实现方式中,多个第二比特包括第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括第二码字中的编码符号;这样可将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,提高纠错成功概率的作用。第二信息比特可视为上述第一信息比特经过信道传输被接收端接收到的信息比特。
在一种可能的实现方式中,所述第二信息比特还包括第二符号块,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二符号块中的编码符号依次为第K码字中的第n个编码符号至所述第一码字中的第n个编码符号,所述第一符号块中的编码符号依次为所述第一码字中的第m个编码符号至所述第K码字中的第m个编码符号,所述n为大于0的整数且不等于所述m,所述第K码字至所述第一码字用于解码得到所述信息比特,所述K为大于1的整数。在该实现方式中,第二符号块中的编码符号 的排序与第一码字中的编码符号的排序不同,可提高分散突发误码到不同码字的概率。
2302、接收端根据第二比特流,解码得到信息比特。
接收端根据第二比特流解码得到信息比特的操作可以是发送端根据信息比特编码得到第一比特流的操作的逆操作。可选的,接收端在解码得到信息比特之后,输出该信息比特。例如,通过输出设备(例如显示屏、显示器、音频设备)等输出该信息比特。
步骤2302一种可能的实现方式如下:接收端将第二比特流按列,排列成矩阵;对所述矩阵的每一行进行内码解码,并保留每一行的信息位,丢掉冗余位;根据所述矩阵的各行(或各列)的信息位,得到所述信息比特。复用图14,图14所示的比特流可当作第二比特流。复用图13,图13所示的矩阵可当作接收端将第二比特流按列排列成的矩阵。接收端将第二比特流按列,排列成矩阵可以是:将第二比特流中的符号块以符号块为单位按列进行排列,例如每列排列j个符号块;将内码冗余部分按列排列成的矩阵。将第二比特流中的符号块以符号块为单位按列进行排列是指将符号块视为一列,而不是矩阵中的一列。参阅图13,part1、part2、…、partj可视为将第二比特流中的符号块以符号块为单位按列进行排列得到的第一列,r1,1、r2,1、…、ri,1可视为将内码冗余部分按列排列得到的第一列。对于接收端来说,第二比特流中的符号块的个数、大小(即一个符号块包括多少个编码符号)、内码的码长、内码的符号长度是已知的,因此可将第二比特流按列排列成矩阵。根据矩阵的各行的信息位,得到信息比特一种可能的实现方式如下:将信息位矩阵形解交织,得到多个外码码字,该信息位矩阵是指矩阵中包含内码的信息比特的子矩阵,参阅图13中的内码码字信息比特对应的子矩阵;对每个外码码字进行外码解码,解码后只保留外码信息位,丢掉冗余位;将外码信息位,按外码码字的顺序输出,得到信息比特。将信息位矩阵形解交织得到多个外码码字的操作是将多个外码码字按外码编码符号进行交织得到多个符号块的操作的逆操作。由于解交织本领域的惯用技术手段,这里不再详述。
步骤2302一种可能的实现方式如下:接收端将第二比特流按行,排列成矩阵;对所述矩阵的每一列进行内码解码,并保留每一列的信息位;根据所述矩阵的各列(或各行)的信息位,得到所述信息比特。接收端将第二比特流按行排列成矩阵的实现方式与将第二比特流按列排列成矩阵的实现方式类似。对于本领域技术人员来说,接收端将第二比特流按行排列成矩阵与将第二比特流按列排列成矩阵无实质区别,这里不再赘述。应理解,若发送端将多个符号块按行排成矩阵,则接收端将第二比特流按行排列成矩阵;若发送端将多个符号块按列排成矩阵,则接收端将第二比特流按列排列成矩阵。
本申请实施例中,第二冗余比特用于纠错第二信息比特中的非连续的多个第二比特,这样可将突发的连续误码分散到不同的码字当中,可达到减少每个码字当中的误码个数,提高纠错成功概率的作用。
图24为本申请实施例提供的另一种解码方法流程图。图24中的方法流程是图23描述的方法的一种可能的实现方式。在该实现方式中,接收端对接收到的第二比特流按矩阵的方式排列,并对矩阵的每行进行内码解码;突发误码和非随机误码被成功分散到不同的内外码和内码码字的当中,提高了单个码字的纠错成功概率,从而降低系统整体的误码率。如图24所示,该方法包括:
2401、接收端对接收到的第二比特流按矩阵的方式排列,得到第一矩阵。
步骤2401一种可能的实现方式如下:接收端将第二比特流按列,排列成矩阵。示例性的,接收端将第二比特流中的符号块以符号块为单位按列进行排列,例如每列排列j个符号块;将内码冗余部分按列排列成的矩阵,最终排列成第一矩阵。图13所示的矩阵可视为第一矩阵 的一种示例。
2402、接收端对第一矩阵的每行进行内码解码,解码后只保留信息位,得到第二矩阵。
第二矩阵为第一矩阵的子矩阵。第一矩阵包括信息位对应的子矩阵(即第二矩阵)和冗余位对应的子矩阵。或者说,第一矩阵可分为两部分,一部分包括信息位(或者说符号块),另一部分包括冗余比特。第二矩阵的含义与上述信息位矩阵的含义相同。
在一种可能的实现方式中,步骤2401替换为:接收端对第一矩阵的每列进行内码解码,解码后只保留信息位,得到第二矩阵。
2403、接收端对第二矩阵形解交织,得到多个外码码字。
2404、接收端对每个外码码字进行外码解码,解码后只保留外码信息位。
2405、接收端将外码信息位,按外码码字的顺序输出。
步骤2405是可选的,而非必要的。
本申请实施例中,接收端对接收到的第二比特流按矩阵的方式排列,并对矩阵的每行进行内码解码;突发误码和非随机误码被成功分散到不同的内外码和内码码字的当中,提高了单个码字的纠错成功概率,从而降低系统整体的误码率。
下面结合附图介绍可实施本申请实施例提供的编码传输方法和/或解码方法的通信装置的结构。
图25为本申请实施例提供的一种通信装置2500的结构示意图。该通信装置2500可以对应实现上述各个方法实施例中发送端实现的功能或者步骤,也可以对应实现上述各个方法实施例中接收端实现的功能或者步骤。该通信装置可以包括处理模块2510和收发模块2520。可选的,还可以包括存储单元,该存储单元可以用于存储指令(代码或者程序)和/或数据。处理模块2510和收发模块2520可以与该存储单元耦合,例如,处理模块2510可以读取存储单元中的指令(代码或者程序)和/或数据,以实现相应的方法。上述各个单元可以独立设置,也可以部分或者全部集成。例如,收发模块2520可包括发送模块和接收模块。发送模块可以是发射机,接收模块可以是接收机。收发模块2520对应的实体可以是收发器,也可以是通信接口。
在一些可能的实施方式中,通信装置2500能够对应实现上述方法实施例中发送端的行为和功能。例如通信装置2500可以为发送端,也可以为应用于发送端中的部件(例如芯片或者电路)。收发模块2520例如可以用于执行图6、图15、图16的实施例中由发送端所执行的全部接收或发送操作,例如图6所示的实施例中的步骤606,图15所示的实施例中的步骤1506,图16所示的实施例中的步骤1607,和/或用于支持本文所描述的技术的其它过程。处理模块2510用于执行图6、图15、图16的实施例中由站点所执行的除了收发操作之外的全部操作,例如图6所示的实施例中的步骤602至步骤605,图15所示的实施例中的步骤1501至步骤1505,图16所示的实施例中的步骤1601至步骤1606。
在一些可能的实施方式中,通信装置2500能够对应实现上述方法实施例中接收端的行为和功能。例如通信装置2500可以为接收端,也可以为应用于接收端中的部件(例如芯片或者电路)。收发模块2520例如可以用于执行图23、图24的实施例中由接收端所执行的全部接收或发送操作,例如图24所示的实施例中的步骤2405,和/或用于支持本文所描述的技术的其它过程。处理模块2510用于执行由接收端所执行的除了收发操作之外的全部操作,例如图23所示的实施例中的步骤2301、步骤2302,图24所示的实施例中的步骤2401至步骤2404。
图26为本申请实施例提供的另一种通信装置260的结构示意图。图26中的通信装置可以是上述发送端,也可以是上述接收端。
如图26所示,该通信装置260包括至少一个处理器2610和收发器2620。
在本申请的一些实施例中,处理器2610和收发器2620可以用于执行发送端执行的功能或操作等。收发器2620例如执行图6、图15、图16的实施例中由发送端所执行的全部接收或发送操作。处理器2610例如用于执行图6、图15、图16的实施例中由发送端所执行的除了收发操作之外的全部操作。
在本申请的一些实施例中,处理器2610和收发器2620可以用于执行接收端执行的功能或操作等。收发器2620例如执行图24的实施例中由接收端所执行的全部接收或发送操作。处理器2610用于执行由接收端所执行的除了收发操作之外的全部操作,例如图23所示的实施例中的步骤2301、步骤2302,图24所示的实施例中的步骤2401至步骤2404。
收发器2620用于通过传输介质和其他设备/装置进行通信。处理器2610利用收发器2620收发数据和/或信令,并用于实现上述方法实施例中的方法。处理器2610可实现处理模块2510的功能,收发器2620可实现收发模块2520的功能。
可选的,收发器2620可以包括射频电路和天线,射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。
可选的,通信装置260还可以包括至少一个存储器2630,用于存储程序指令和/或数据。存储器2630和处理器2610耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器2610可能和存储器2630协同操作。处理器2610可能执行存储器2630中存储的程序指令。该至少一个存储器中的至少一个可以包括于处理器中。
当通信装置260开机后,处理器2610可以读取存储器2630中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器2610对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到通信装置时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器2610,处理器2610将基带信号转换为数据并对该数据进行处理。
在另一种实现中,上述的射频电路和天线可以独立于进行基带处理的处理器而设置,例如在分布式场景中,射频电路和天线可以与独立于通信装置,呈拉远式的布置。
本申请实施例中不限定上述收发器2620、处理器2610以及存储器2630之间的具体连接介质。本申请实施例在图26中以存储器2630、处理器2610以及收发器2620之间通过总线2640连接,总线在图26中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图26中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
图27为本申请实施例提供的另一种通信装置270的结构示意图。如图27所示,图27所示的通信装置包括逻辑电路2701和接口2702。图25中的处理模块2510可以用逻辑电路2701实现,图25中的收发模块2520可以用接口2702实现。其中,该逻辑电路2701可以为芯片、 处理电路、集成电路或片上系统(system on chip,SoC)芯片等,接口2702可以为通信接口、输入输出接口等。本申请实施例中,逻辑电路和接口还可以相互耦合。对于逻辑电路和接口的具体连接方式,本申请实施例不作限定。
在本申请的一些实施例中,该逻辑电路和接口可用于执行上述发送端执行的功能或操作等。
在本申请的一些实施例中,该逻辑电路和接口可用于执行上述接收端执行的功能或操作等。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行上述实施例的方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括指令或计算机程序,当该指令或计算机程序在计算机上运行时,使得上述实施例中的方法被执行。
本申请还提供一种通信系统,包括上述发送端和上述接收端。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以上述权利要求的保护范围为准。

Claims (22)

  1. 一种编码传输方法,其特征在于,包括:
    根据待编码的信息比特,编码得到第一比特流,所述第一比特流包括第一信息比特和第一冗余比特,所述第一比特流用于解码得到所述信息比特,所述第一冗余比特用于纠错所述第一信息比特中的非连续的多个第一比特;
    发送所述第一比特流。
  2. 根据权利要求1所述的方法,其特征在于,所述第一信息比特包括第一符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述多个第一比特包括所述第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括所述第二码字中的编码符号,所述第一码字和所述第二码字由对所述信息比特进行编码得到,所述m为大于0的整数。
  3. 根据权利要求2所述的方法,其特征在于,所述多个第一比特包括所述第一码字的第m个编码符号中的一个比特或非连续的多个比特。
  4. 根据权利要求2或3所述的方法,其特征在于,所述第一信息比特还包括第二符号块,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二符号块中的编码符号依次为第K码字中的第n个编码符号至所述第一码字中的第n个编码符号,所述第一符号块中的编码符号依次为所述第一码字中的第m个编码符号至所述第K码字中的第m个编码符号,所述n为大于0的整数且不等于所述m,所述第K码字至所述第一码字由对所述信息比特进行编码得到,所述K为大于1的整数。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述第一信息比特包括多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第一冗余比特用于纠错所述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,所述第一码字和所述第二码字由对所述信息比特进行编码得到,所述m和所述n为大于0的整数,所述m与所述n不同。
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述根据待编码的信息比特,编码得到第一比特流包括:
    对所述信息比特进行外码编码,得到多个外码码字;
    将所述多个外码码字以编码符号为单位进行交织,得到多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述m和所述n为大于0的整数,所述m与所述n不同;
    将所述多个符号块按列排列成矩阵;
    对所述矩阵中的每一行进行内码编码,得到多组冗余比特,所述多组冗余比特包括所述第一冗余比特;
    根据所述多个符号块和所述多组冗余比特,处理得到所述第一比特流。
  7. 根据权利要求6所述的方法,其特征在于,所述将所述多个符号块按列排列成矩阵包括:
    将所述多个符号块按列排列成每行包括P个比特的所述矩阵,所述P等于进行内码编码待采用的内码码长和内码符号长度的乘积,所述第一符号块中的每个编码符号中的m个比特排列为t列,所述t被所述m整除,所述m、所述P、所述t均为大于0的整数。
  8. 根据权利要求7所述的方法,其特征在于,所述矩阵中的奇数列的符号块中的各编码符号正常排列,所述矩阵中的偶数列的符号块中的各编码符号反转排列;或者,所述矩阵中的偶数列的符号块中的各编码符号正常排列,所述矩阵中的奇数列的符号块中的各编码符号反转排列。
  9. 根据权利要求1至5任一项所述的方法,其特征在于,所述根据待编码的信息比特,编码得到第一比特流包括:
    对所述第一比特流进行外码编码,得到多个外码码字;
    将所述多个外码码字以编码符号为单位进行交织,得到多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述m和所述n为大于0的整数,所述m与所述n不同;
    将所述多个符号块按行排列成矩阵;
    对所述矩阵中的每一列进行内码编码,得到多组冗余比特,所述多组冗余比特包括所述第一冗余比特;
    根据所述多个符号块和所述多组冗余比特,处理得到所述第一比特流。
  10. 根据权利要求9所述的方法,其特征在于,所述将所述多个符号块按行排列成矩阵包括:
    将所述多个符号块按行排列成每列包括P个比特的所述矩阵,所述P等于进行内码编码待采用的内码码长和内码符号长度的乘积,所述第一符号块中的每个编码符号中的m个比特排列为t行,所述t被所述m整除,所述m、所述P、所述t均为大于0的整数。
  11. 根据权利要求10所述的方法,其特征在于,所述矩阵中的奇数行的符号块中的各编码符号正常排列,所述矩阵中的偶数行的符号块中的各编码符号反转排列;或者,所述矩阵中的偶数行的符号块中的各编码符号正常排列,所述矩阵中的奇数行的符号块中的各编码符号反转排列。
  12. 一种解码方法,其特征在于,包括:
    接收端接收第二比特流,所述第二比特流为发送端发送的第一比特流经过信道传输被所述接收端接收到的比特流,所述第二比特流包括第二信息比特和第二冗余比特,所述第二冗余比特用于纠错所述第二信息比特中的非连续的多个第二比特;
    根据所述第二比特流,解码得到信息比特。
  13. 根据权利要求12所述的方法,其特征在于,所述第二信息比特包括第一符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述多个 第二比特包括所述第一码字中的第m个编码符号中的全部比特或者部分比特,且未包括所述第二码字中的编码符号,所述m为大于0的整数。
  14. 根据权利要求13所述的方法,其特征在于,所述多个第二比特包括所述第一码字的第m个编码符号中的一个比特或非连续的多个比特。
  15. 根据权利要求13或14所述的方法,其特征在于,所述第二信息比特还包括第二符号块,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二符号块中的编码符号依次为第K码字中的第n个编码符号至所述第一码字中的第n个编码符号,所述第一符号块中的编码符号依次为所述第一码字中的第m个编码符号至所述第K码字中的第m个编码符号,所述n为大于0的整数且不等于所述m,所述第K码字至所述第一码字用于解码得到所述信息比特,所述K为大于1的整数。
  16. 根据权利要求12至15任一项所述的方法,其特征在于,所述第二信息比特包括多个符号块,所述多个符号块包括第一符号块和第二符号块,所述第一符号块包括第一码字中的第m个编码符号和第二码字中的第m个编码符号,所述第二符号块包括所述第一码字中的第n个编码符号和所述第二码字中的第n个编码符号,所述第二冗余比特用于纠错所述多个符号块按矩阵的方式排列得到的多个比特序列中的任一比特序列,所述m和所述n为大于0的整数,所述m与所述n不同。
  17. 根据权利要求12至16任一项所述的方法,其特征在于,所述根据所述第二比特流,解码得到信息比特包括:
    所述接收端将所述第二比特流按列,排列成矩阵;
    所述接收端对所述矩阵的每一行进行内码解码,并保留每一行的信息位;
    所述接收端根据所述矩阵的各行的信息位,得到所述信息比特。
  18. 根据权利要求12至16任一项所述的方法,其特征在于,所述根据所述第二比特流,解码得到信息比特包括:
    所述接收端将所述第二比特流按行,排列成矩阵;
    所述接收端对所述矩阵的每一列进行内码解码,并保留每一列的信息位;
    所述接收端根据所述矩阵的各列的信息位,得到所述信息比特。
  19. 一种通信装置,其特征在于,包括用于实现权利要求1至11中任一项所述的方法的模块或单元。
  20. 一种通信装置,其特征在于,包括用于实现权利要求12至18中任一项所述的方法的模块或单元。
  21. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被执行时使得计算机执行如权利要求1至11中任一项所述的方法,或者,所述程序指令被执行时使得计算机执行如权利要求12至18 中任一项所述的方法。
  22. 一种通信装置,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器存储指令,所述处理器用于执行所述指令,使得所述通信装置执行如权利要求1至11任一项所述的方法,或者,使得所述通信装置执行如权利要求12至18任一项所述的方法。
PCT/CN2023/097564 2022-06-06 2023-05-31 编码传输方法、解码方法和通信装置 WO2023236838A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210631665.7 2022-06-06
CN202210631665.7A CN117240401A (zh) 2022-06-06 2022-06-06 编码传输方法、解码方法和通信装置

Publications (1)

Publication Number Publication Date
WO2023236838A1 true WO2023236838A1 (zh) 2023-12-14

Family

ID=89093554

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/097564 WO2023236838A1 (zh) 2022-06-06 2023-05-31 编码传输方法、解码方法和通信装置

Country Status (2)

Country Link
CN (1) CN117240401A (zh)
WO (1) WO2023236838A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077448A1 (en) * 2007-09-19 2009-03-19 Avalon Microelectronics, Inc. Forward error correction codec
US20130028335A1 (en) * 2011-06-11 2013-01-31 Limberg Allen Leroy Digital broadcasting systems using parallel concatenated coding of bit-complementary bitstreams
CN108352924A (zh) * 2015-10-28 2018-07-31 华为技术有限公司 一种数据处理方法及装置
CN108880740A (zh) * 2017-05-11 2018-11-23 华为技术有限公司 一种数据交织的方法和装置
JP2019102870A (ja) * 2017-11-29 2019-06-24 日本放送協会 ビットインターリーバ、ビットデインターリーバ、送信装置、受信装置、及びこれらのプログラム
CN111162868A (zh) * 2019-11-28 2020-05-15 北京宇航系统工程研究所 针对激光的大角度偏差容忍和数据纠错的通信方法及系统
CN111555760A (zh) * 2020-05-21 2020-08-18 天津大学 纠正随机错误和长突发删除的多进制符号级乘积码方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077448A1 (en) * 2007-09-19 2009-03-19 Avalon Microelectronics, Inc. Forward error correction codec
US20130028335A1 (en) * 2011-06-11 2013-01-31 Limberg Allen Leroy Digital broadcasting systems using parallel concatenated coding of bit-complementary bitstreams
CN108352924A (zh) * 2015-10-28 2018-07-31 华为技术有限公司 一种数据处理方法及装置
CN108880740A (zh) * 2017-05-11 2018-11-23 华为技术有限公司 一种数据交织的方法和装置
JP2019102870A (ja) * 2017-11-29 2019-06-24 日本放送協会 ビットインターリーバ、ビットデインターリーバ、送信装置、受信装置、及びこれらのプログラム
CN111162868A (zh) * 2019-11-28 2020-05-15 北京宇航系统工程研究所 针对激光的大角度偏差容忍和数据纠错的通信方法及系统
CN111555760A (zh) * 2020-05-21 2020-08-18 天津大学 纠正随机错误和长突发删除的多进制符号级乘积码方法

Also Published As

Publication number Publication date
CN117240401A (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
US10601449B2 (en) Apparatus and method for communicating data over a communication channel
US20220085830A1 (en) Quasi-cyclic ldpc coding and decoding method and apparatus, and ldpc coder and decoder
JP5981351B2 (ja) ワイギグ用の応用階層順方向エラー訂正フレームワーク
US8621316B2 (en) Method and device for encoding of error correcting codes, and method and device for decoding of error correcting codes
KR100970734B1 (ko) 단축된 마지막 코드워드를 이용한 무선 고 선명 비디오데이터 처리 시스템 및 방법
US8051355B2 (en) Multilevel low density parity-check coded modulation
CN108737021B (zh) Polar码传输方法及装置
US20220077875A1 (en) Data Transmission Method, Encoding Method, Decoding Method, Apparatus, Device, and Storage Medium
US20150171991A1 (en) Flexible data transmission scheme adaptive to communication channel quality
JP2006042342A (ja) 多重アンテナ通信システムにおける空間インタリーブ通信のための方法および装置
WO2009092247A1 (zh) 一种基于ldpc码的交织方法和解交织方法及其装置
CN112187403A (zh) 信息处理的方法、装置、通信设备和通信系统
EP3211845A1 (en) Interleaving processing method and apparatus in wlan system based on ofmda
KR20140017681A (ko) 무선 송수신기 디바이스, 통신 시스템, 및 그 디바이스 및 시스템에서 이용되는 채널 코딩 프로세싱 방법
US20240063940A1 (en) Soft fec with parity check
US20230327806A1 (en) Soft FEC With Parity Check
CN115118383A (zh) 内部fec编码系统和方法
JP2001197044A (ja) 伝送誤り制御方法
WO2006073322A1 (en) 3-stripes gilbert low density parity-check codes
WO2023236838A1 (zh) 编码传输方法、解码方法和通信装置
WO2019042370A1 (zh) 数据传输方法及装置
CN111224742B (zh) 发送信息的方法和装置
WO2023015863A1 (zh) 数据传输的方法、装置、设备、系统及可读存储介质
WO2023246477A1 (zh) 一种数据处理方法及数据处理装置
CN114095041A (zh) 用于短帧突发的低码率编码方法、装置及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23819003

Country of ref document: EP

Kind code of ref document: A1