US12476656B2 - Encoding and decoding method and apparatus - Google Patents
Encoding and decoding method and apparatusInfo
- Publication number
- US12476656B2 US12476656B2 US18/463,404 US202318463404A US12476656B2 US 12476656 B2 US12476656 B2 US 12476656B2 US 202318463404 A US202318463404 A US 202318463404A US 12476656 B2 US12476656 B2 US 12476656B2
- Authority
- US
- United States
- Prior art keywords
- bits
- encoding
- encoded
- sequence
- reliability
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/136—Reed-Muller [RM] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
Definitions
- Embodiments of the present application relate to the communication field, and more specifically, to an encoding and decoding method and apparatus.
- a polar code is the first channel encoding scheme that theoretically proves that a Shannon capacity may be obtained, and has characteristics of high performance, low complexity, and flexible matching manner.
- the polar code has been determined by the 3rd generation partnership project (3GPP) as an uplink and downlink control channel encoding scheme for a 5th generation (5G) control channel in an enhanced mobile broadband (eMBB) scenario.
- 3GPP 3rd generation partnership project
- eMBB enhanced mobile broadband
- Arikan proposed a polarization-adjusted convolutional code (PAC) encoding scheme in 2019. This scheme can guarantee the performance of the code spectrum even when the code length is short.
- PAC polarization-adjusted convolutional code
- Fano decoding algorithm adopted by Arikan for the PAC is complex and unfriendly to hardware implementation.
- the present application provides an encoding and decoding method and apparatus, to optimize a code spectrum and improve decoding performance.
- an encoding method includes: obtaining a to-be-encoded sequence, where the to-be-encoded sequence includes information bits and fixed bits, and the information bits and the fixed bits are determined based on reliability and/or row weights of generator matrices corresponding to the to-be-encoded bits; and performing encoding on the to-be-encoded sequence to obtain an encoded sequence, where an encoding process of the encoding includes at least one interleaving.
- the encoding method further includes sending the encoded sequence.
- the information bits and the fixed bits in the to-be-encoded bits are determined based on reliability and/or the row weights of the generator matrices corresponding to the to-be-encoded bits.
- the information bits are used to carry target information
- the fixed bits are used to carry a pre-agreed fixed value by a receive end and a transmit end, so as to obtain the to-be-encoded sequence.
- the information bits in the to-be-encoded sequence correspond to the information bits in the to-be-encoded bits
- the fixed bits in the to-be-encoded sequence correspond to the fixed bits in the to-be-encoded bits.
- the to-be-encoded sequence is performed encoding, and at least one interleaving is inserted in an encoding process of the to-be-encoded sequence, or interleaving is inserted in at least one intermediate stage in an encoding process of the to-be-encoded sequence.
- the interleaving includes interleaving by using at least one interleaver.
- these fixed bits may be set to 0, and the setting is also used in the description of the present application.
- a fixed bit sequence may be further set to a value agreed upon in advance by the transmit end and the receive end.
- the encoding method in this embodiment may be applied to polar code encoding or Reed-Muller (RM) code encoding. It may be understood that after a to-be-encoded sequence is obtained, an encoding manner of polar code encoding or RM code encoding is used for the to-be-encoded sequence, one interleaving is added to at least one intermediate encoding stage of polar code encoding or RM code encoding, and the interleaving includes interleaving by using at least one interleaver.
- RM Reed-Muller
- the encoding method is further applied to another encoding manner of concatenated outer codes.
- the outer codes may be BCH (Bose-Chaudhuri-Hocquenghem codes) encoding, or low density parity check (LDPC) codes.
- BCH Bit-Chaudhuri-Hocquenghem codes
- LDPC low density parity check
- the encoding process of the encoding includes at least one interleaving includes: performing first encoding on the to-be-encoded sequence to obtain Q first encoded sequences, where Q is a positive integer; performing first interleaving on at least one of the Q first encoded sequences to obtain Q second encoded sequences; and performing second encoding on the Q second encoded sequences to obtain an encoded sequence.
- the encoding process includes: performing first encoding on the to-be-encoded sequence to obtain Q first encoded sequences denoted as ⁇ C 1 (0) , C 2 (0) , . . . , C k (0) , . . . , C Q (0) ⁇ , where k and Q are positive integers; performing first interleaving on Q/2 first encoded sequences ⁇ C 1 (0) , C 3 (0) , . . . , C 2k ⁇ 1 (0) , . . .
- the first encoding includes: performing equivalent grouping on the to-be-encoded sequence, equivalently treating the to-be-encoded sequence as Q groups of to-be-encoded sub-sequences, and performing an encoding process before first interleaving on the Q groups of to-be-encoded sub-sequences.
- the encoding process before the first interleaving may further include one or more times of interleaving.
- equivalent grouping is performed on the to-be-encoded sequence based on a preset quantity m of times of interleaving.
- first interleaving is the first interleaving
- an encoding method of RM encoding is used as an example. If an interleaver corresponding to the first interleaving is inserted after a first stage before a second stage in the RM code encoding process, the first encoding, that is, the encoding process before the first interleaving, refers to encoding of the first stage in the RM code encoding process.
- first interleaving is a non-first interleaving
- the first encoding that is the encoding process before the first interleaving
- the first encoding refers to encoding in the second stage and a stage before the second stage in a process of RM code encoding for the Q groups of to-be-encoded sub-sequences, and an interleaving operation is included in the encoding process in the second stage and the stage before the second stage.
- the encoding process further includes: performing third encoding on the Q second encoded sequences to obtain P third encoded sequences, where both P and Q are positive integers; performing second interleaving on at least one of the P third encoded sequences to obtain P fourth encoded sequences; and performing fourth encoding on the P fourth encoded sequences to obtain an encoded sequence.
- the second encoding includes performing next-stage encoding on the Q interleaved second encoded sequences.
- an encoding method of RM encoding is used as an example.
- the interleaver is added after the second stage and before the third stage in the RM encoding process, and the second encoding includes performing the RM encoding in the third stage on Q second encoded sequences obtained after an interleaving operation performed by the interleaver.
- an interleaver is inserted in an encoding process of a to-be-encoded sequence, so that a quantity of codewords at a minimum code distance can be significantly reduced without reducing the minimum code distance, a code spectrum is optimized, and performance of the code is improved.
- the encoding process includes: performing first encoding on the to-be-encoded sequence to obtain Q first encoded sequences denoted as ⁇ C 1 (0) , C 2 (0) , . . . , C k (0) , . . . , C Q (0) ⁇ ; performing first interleaving on Q/2 first encoded sequences ⁇ C 1 (0) , C 3 (0) , . . . , C 2k ⁇ 1 (0) , . . .
- C P (1) [I k (1) (C 2k ⁇ 1 (0) +C 2k (0) ,C 2k (0) ]; performing second interleaving on P/2 third encoded sequences ⁇ C 1 (1) , C 3 (1) , . . . , C 2k ⁇ 1 (1) , . . . , C Q ⁇ 1 (1) ⁇ in the P third encoded sequences to obtain P fourth encoded sequences; and performing fourth encoding on the P fourth encoded sequences to obtain an encoded sequence.
- sequence numbers of the first encoded sequence and the third encoded sequence are sorted starting from 0, it is equivalent to perform interleaving on encoded sequences whose sequence numbers are even numbers in the first encoded sequence and the third encoded sequence.
- a quantity of codewords at a minimum code distance can be reduced, and performance of the code spectrum can be improved.
- the minimum code distance is an important parameter of a code, and is a basis for measuring an error detection and error correction capability of a code.
- a smaller quantity of codewords at the minimum code distance indicates a stronger error detection and error correction capability of a corresponding code, and better performance of the code.
- row weights of generator matrices corresponding to the information bits are greater than or equal to row weights of generator matrices corresponding to the fixed bits.
- information bits and fixed bits are selected for the to-be-encoded bits based on the row weights of the generator matrices. Assuming that K bits need to be selected as the information bits, a row weight of a generator matrix G corresponding to each to-be-encoded bit is first calculated. Then, the to-be-encoded bits are sorted based on a descending order of row weights of the generator matrices or an ascending order of row weights of the generator matrices. Assuming that K bits need to be selected as the information bits.
- to-be-encoded bits are sorted in descending order of the row weights of the generator matrices, first K bits are selected as the information bits, and the other bits are used as the fixed bits. Similarly, if the to-be-encoded bits are sorted in ascending order of the row weights of the generator matrices, last K bits are selected as the information bits, and the other bits are used as the fixed bits.
- a quantity K of the information bits may be preset.
- reliability corresponding to the information bits is greater than or equal to a preset reliability threshold.
- information bits and fixed bits are selected based on reliability for the to-be-encoded bits. Assuming that K bits need to be selected as the information bits, reliability of a sub-channel corresponding to each to-be-encoded bit is first calculated. Then, the to-be-encoded bits are sorted in descending order of reliability or in ascending order of reliability. Assuming that K bits need to be selected as the information bits. If the to-be-encoded bits are sorted in descending order of reliability, first K bits are selected as the information bits, and the other bits are used as the fixed bits. Similarly, if the to-be-encoded bits are sorted in ascending order of reliability, last K bits are selected as the information bits, and the other bits are used as the fixed bits. A quantity K of the information bits may be preset.
- a method for measuring reliability of each sub-channel includes but is not limited to: a bhattacharyya parameter method, a density evolution (DE) method, and a gaussian approximation method.
- row weights of generator matrices corresponding to the information bits are greater than or equal to row weights of generator matrices corresponding to the fixed bits, and reliability corresponding to the information bits is greater than a preset reliability threshold.
- K bits need to be selected as information bits, and to-be-encoded bits whose row weights of generator matrices are greater than a preset row weight threshold are selected.
- Reliability corresponding to to-be-encoded bits whose row weights of the generator matrices are greater than a preset row weight threshold are determined, and the bits whose row weights of generator matrices are greater than the preset row weight threshold in descending order of reliability (or ascending order of reliability) are sorted. If sorting is performed in descending order of the reliability, first K bits are selected as the information bits, and other bits in the to-be-encoded bits are used as the fixed bits. Similarly, if sorting is performed in ascending order of the reliability, last K bits are selected as the information bits, and the other bits in the to-be-encoded bits are used as the fixed bits.
- a quantity K of the information bits may be preset.
- to-be-encoded bits whose row weights of generator matrices are greater than a preset row weight threshold may be selected by calculating a row weight of a generator matrix G corresponding to each to-be-encoded bit, sorting the to-be-encoded bits in descending order of the row weights (or in ascending order of the row weights) of the generator matrices, selecting M to-be-encoded bits based on the preset row weight threshold or a sequence number of the row weight corresponding to each to-be-encoded bit, and selecting K information bits from the M to-be-encoded bits based on a sequence number of reliability corresponding to each to-be-encoded bit.
- M is greater than or equal to K, and both M and K are positive integers.
- reliability of the information bits is greater than or equal to reliability of the fixed bits, and row weights of generator matrices corresponding to the information bits is greater than a preset row weight threshold.
- K bits need to be selected as information bits, and to-be-encoded bits whose reliability is greater than a preset reliability threshold are selected.
- a row weight of a generator matrix G corresponding to a to-be-encoded bit whose reliability is greater than a preset reliability threshold is determined, and the bits whose reliability is greater than the preset reliability threshold in descending order (or ascending order) of row weights of generator matrices are sorted. If sorting is performed in descending order of the row weights of the generator matrices, first K bits are selected as the information bits, and the other bits in the to-be-encoded bits are used as the fixed bits.
- last K bits are selected as the information bits, and the other bits in the to-be-encoded bits are used as the fixed bits.
- a quantity K of the information bits may be preset.
- to-be-encoded bits whose reliability is greater than a preset reliability threshold may be selected by calculating reliability corresponding to each to-be-encoded bit, sorting the to-be-encoded bits in descending order of the reliability (or in ascending order of the reliability), selecting M to-be-encoded bits based on a preset reliability threshold or a sequence number of the reliability corresponding to each to-be-encoded bit, and then selecting K information bits from the M to-be-encoded bits based on a sequence number of a row weight of a generator matrix corresponding to each to-be-encoded bit.
- M is greater than or equal to K, and both M and K are positive integers.
- the preset row weight threshold and the preset reliability threshold are also specific values.
- a specific value corresponding to the reliability or the preset reliability threshold may be an error probability value of the sub-channel corresponding to the bit that is calculated according to a Gaussian approximation method.
- first K bits or last K bits are selected as the information bits based on the sequence number.
- the to-be-encoded bits are sorted in advance in descending order (or ascending order) of row weights of corresponding generator matrices or in descending order (or ascending order) of reliability, and a sorting result is stored. Subsequently, information bits or fixed bits in the to-be-encoded bits may be determined by querying the stored information. For example, K bits need to be selected as the information bits, and the stored information is queried. K bits that are ranked top of the row weights (sorted in descending order of the row weights) or ranked top of the reliability (sorted in descending order of the reliability) are used as the information bits.
- a selection manner of the information bits is combined with interleaver insertion.
- a quantity of codewords at a minimum code distance is greatly reduced, a code spectrum is optimized, and performance of the code is improved.
- the quantity of codewords at the minimum code distance corresponding to the encoding method in the present application is further reduced, and an improvement effect of the performance of the code is more obvious.
- a decoding method includes: receiving a to-be-decoded sequence; and performing decoding on the to-be-decoded sequence to obtain a decoded sequence, where a decoding process of the decoding includes at least one de-interleaving.
- the decoding method in this embodiment of the present application corresponds to the encoding method in the present application.
- a decoder side knows an encoding structure of an encoder side in advance.
- a de-interleaving operation is correspondingly performed in a decoding process.
- Another decoding method that does not involve an interleaver is similar to a decoding method in a conventional technology.
- CRC information may be added to an information sequence, and an enhanced SC decoding algorithm assisted by a CRC is used, such as a CASCL decoding algorithm, a CASCS decoding algorithm, and a CASCH decoding algorithm.
- the decoding method in this embodiment has lower complexity and is easier to implement.
- a decoding process of the decoding includes at least one de-interleaving includes: performing first decoding on a to-be-decoded sequence to obtain a first sub-sequence; performing first de-interleaving on the first sub-sequence to obtain a second sub-sequence; and performing second decoding on the second sub-sequence to obtain the decoded sequence.
- an decoding process before the first de-interleaving may further include one or more times of de-interleaving.
- the first decoding When first de-interleaving is first de-interleaving, the first decoding includes a decoding process before the first de-interleaving, and no interleaver is involved in the decoding process. Reference may be made to a decoding process in a conventional technology herein, and details are not described herein again.
- the first decoding includes a decoding process before the de-interleaving, and the decoding process includes a de-interleaving operation before the de-interleaving.
- the decoding process For another decoding process in the decoding process that does not involve an interleaver, refer to a decoding process in the conventional technology. Details are not described herein again.
- the decoding method in the present application may be understood as follows: Based on the decoding method in the conventional technology, the decoding method corresponds to the encoding method in the present application. In other words, when decoding reaches a position at which an interleaver is added in the encoding method in the present application, a de-interleaving operation is correspondingly performed. For another decoding process that does not involve an interleaver, refer to a decoding process in the conventional technology. Details are not described herein again.
- the second decoding includes: performing third decoding on the second sub-sequence to obtain a third sub-sequence; performing second de-interleaving on the third sub-sequence to obtain a fourth sub-sequence; and performing fourth decoding on the fourth sub-sequence to obtain the decoded sequence.
- the second decoding includes a decoding process intermediate between the first de-interleaving and the second de-interleaving, that is, a decoding process between two times of de-interleaving.
- the decoding process in the present application may further include an interleaving operation.
- the first decoding and the second decoding may further include an interleaving operation.
- reverse encoding needs to be performed on a decoding result of a previous sub-sequence in a same stage, and an interleaver is inserted before a position corresponding to the previous sub-sequence in the encoding process.
- the performing a reverse encoding operation on the current decoding result of the previous sub-sequence that has been decoded further includes an interleaving operation.
- a decoding process that does not involve an interleaver in the foregoing decoding process is similar to that in a conventional technology.
- a de-interleaving operation is performed when a corresponding forward decoding encounters an interleaver
- an interleaving operation is performed when a corresponding reverse encoding encounters an interleaver.
- the decoding method in this embodiment correspondingly performs a de-interleaving operation.
- a quantity m of times of de-interleaving increases, a quantity of codewords with a minimum code distance corresponding to the decoding method in the present application gradually reduces, and performance of the code spectrum is improved.
- Performance of a code generated by using the encoding method provided in the present application is equivalent to or even better than performance of a code generated by using the PAC encoding method.
- a decoding method corresponding to the encoding method in the present application has lower complexity and less difficulty in implementation.
- an encoding apparatus may be configured to perform an operation of a communication device in the first aspect and any possible implementation of the first aspect.
- the communication apparatus includes corresponding means configured to perform the steps or functions described in the first aspect.
- the corresponding means may be the first communication device in the first aspect.
- the steps or functions may be implemented by using software, or implemented by using hardware, or implemented by using a combination of hardware and software.
- the encoding apparatus includes: a determining unit, configured to obtain a to-be-encoded sequence, where the to-be-encoded sequence is determined based on reliability corresponding to to-be-encoded bits and/or row weight of generator matrices, and the to-be-encoded bits include information bits and fixed bits; and an encoding unit, configured to perform encoding on the to-be-encoded sequence to obtain an encoded sequence, where an encoding process of the encoding includes at least one interleaving.
- the encoding apparatus further includes a transceiver unit, configured to send the encoded sequence.
- the encoding unit is configured to: perform first encoding on the to-be-encoded sequence to obtain Q first encoded sequences, where Q is a positive integer; perform first interleaving on at least one of the Q first encoded sequences to obtain Q second encoded sequences; and perform second encoding on the Q second encoded sequences to obtain an encoded sequence.
- the encoding unit is configured to perform second encoding on the Q second encoding sequences includes that the encoding unit is configured to: perform third encoding on the Q second encoded sequences to obtain P third encoded sequences, where both P and Q are positive integers; perform second interleaving on at least one of the P third encoded sequences to obtain P fourth encoded sequences; and perform fourth encoding on the P fourth encoded sequences to obtain an encoded sequence.
- the encoding unit is configured to:
- beneficial effects of the encoding apparatus provided in the third aspect refer to beneficial effects of the first aspect and various possible implementations of the first aspect. Details are not described herein again.
- a decoding apparatus may be configured to perform an operation of a communication device in the second aspect or any possible implementation of the second aspect.
- the apparatus may include means corresponding to the steps or functions described in the second aspect.
- the steps or functions may be implemented by using software, or implemented by using hardware, or implemented by using a combination of hardware and software.
- the decoding apparatus includes: a transceiver unit, configured to receive a to-be-decoded sequence; and a decoding unit, configured to decode the to-be-decoded sequence to obtain a decoded sequence, where a decoding process of the decoding includes at least one de-interleaving.
- the decoding unit is configured to perform first decoding on a to-be-decoded sequence to obtain a first sub-sequence; perform first de-interleaving on the first sub-sequence to obtain a second sub-sequence; and perform second decoding on the second sub-sequence to obtain the decoded sequence.
- andecoding process before the first de-interleaving may further include one or more times of de-interleaving.
- the second decoding includes: performing third decoding on the second sub-sequence to obtain a third sub-sequence; performing second de-interleaving on the third sub-sequence to obtain a fourth sub-sequence; and performing fourth decoding on the fourth sub-sequence to obtain the decoded sequence.
- beneficial effects of the encoding apparatus provided in the fourth aspect refer to beneficial effects of the second aspect and various possible implementations of the second aspect. Details are not described herein again.
- a computer-readable medium stores a computer program (which may also be referred to as code or an instruction).
- a computer program which may also be referred to as code or an instruction.
- a chip system including a memory and a processor.
- the memory is configured to store a computer program
- the processor is configured to invoke the computer program from the memory and run the computer program, so that a communication device installed with the chip system performs the method according to any one of the first aspect and the possible implementations of the first aspect; or perform the method according to any one of the second aspect and the possible implementations of the second aspect.
- a chip includes a processor and a communication interface, the communication interface is configured to communicate with an external component or an internal component, and the processor is configured to implement the method according to any one of the first aspect and the possible implementations of the first aspect; or the processor is configured to implement the method according to any one of the second aspect and the possible implementations of the second aspect.
- the chip may further include a memory.
- the memory stores an instruction
- the processor is configured to perform the instruction stored in the memory or another instruction.
- the processor is configured to implement the method according to any one of the first aspect and the possible implementations of the first aspect; or the processor is configured to implement the method according to any one of the second aspect and the possible implementations of the second aspect.
- a computer program product includes: a computer program (which may also be referred to as code or an instruction).
- a computer program which may also be referred to as code or an instruction.
- the computer program When the computer program is run, the computer is enabled to perform the method according to any one of the first aspect and the possible implementations of the first aspect; or perform the method according to any one of the second aspect and the possible implementations of the second aspect.
- a communication device including a processor and a memory.
- the memory is configured to store a computer program
- the processor is configured to invoke the computer program from the memory and run the computer program, so that the communication apparatus performs the communication method according to any one of the first aspect and the possible implementations of the first aspect, or perform the communication method according to any one of the second aspect and the possible implementations of the second aspect.
- processors There are one or more processors, and there are one or more memories.
- the memory may be integrated with the processor, or the memory may be disposed separately from the processor.
- a communication device including a communication interface, a processor, and a memory.
- the processor is configured to control the communication interface to receive and send a signal
- the memory is configured to store a computer program
- the processor is configured to invoke the computer program from the memory and run the computer program, so that the communication device performs the method according to any one of the first aspect and the possible implementations of the first aspect, or perform the method according to any one of the second aspect and the possible implementations of the second aspect.
- a communication apparatus including: an input/output interface and a logic circuit.
- the input/output interface is configured to obtain a to-be-encoded sequence
- the input/output interface is further configured to send an encoded sequence
- the logic circuit is configured to perform encoding on the to-be-encoded sequence based on the method according to any one of the first aspect and the possible implementations of the first aspect, to obtain an encoded sequence.
- a communication apparatus including: an input/output interface and a logic circuit.
- the input/output interface is configured to obtain a to-be-decoded sequence
- the logic circuit is configured to perform encoding on the to-be-decoded sequence based on the method according to any one of the second aspect and the possible implementations of the second aspect, to obtain a decoded sequence.
- a system includes the encoding apparatus in the third aspect and the decoding apparatus in the fourth aspect.
- FIG. 1 is a schematic diagram of a system scenario to which an embodiment of the present application can be applied;
- FIG. 2 is a schematic diagram of a system for performing an encoding method in an implementation of the present application in a wireless communication environment
- FIG. 3 is a schematic diagram of a system for performing a decoding method in an implementation of the present application in a wireless communication environment
- FIG. 4 is a schematic diagram of a basic flowchart of wireless communication
- FIG. 5 is a schematic diagram of polar code encoding
- FIG. 6 is a schematic flowchart of an encoding method according to an embodiment of the present application.
- FIG. 7 is an example of an encoding method according to an embodiment of the present application.
- FIG. 8 is another example of an encoding method according to an embodiment of the present application.
- FIG. 9 is still another example of an encoding method according to an embodiment of the present application.
- FIG. 10 is an example of a decoding method according to an embodiment of the present application.
- FIG. 11 is a comparison diagram of an encoding effect of an encoding method according to the present application.
- FIG. 12 is a schematic block diagram of an encoding apparatus according to an embodiment of the present application.
- FIG. 13 is a schematic block diagram of a decoding apparatus according to an embodiment of the present application.
- FIG. 14 is a schematic structural diagram of a communication apparatus according to an embodiment of the present application.
- FIG. 15 is a schematic structural diagram of another communication apparatus according to an embodiment of the present application.
- LTE long term evolution
- FDD frequency division duplex
- TDD LTE time division duplex
- 5G fifth generation
- NR new radio
- 6G sixth generation
- the terminal device may refer to user equipment (UE), an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal (terminal equipment), a terminal, a wireless communication device, a user agent, or a user apparatus.
- UE user equipment
- the terminal device may refer to user equipment (UE), an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal (terminal equipment), a terminal, a wireless communication device, a user agent, or a user apparatus.
- the terminal device may also be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device and a computing device both having a wireless communication function, or another processing device connected to a wireless modem, an in-vehicle device, a wearable device, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self driving, a wireless terminal in remote medical, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a terminal in satellite communication, a terminal device in a 5G network or in a future communication network. This is not limited in embodiments of the present application.
- an encoding method or a decoding method in this embodiment may be performed by a network device.
- the network device may be a device configured to communicate with a terminal device.
- the network device may be an evolutional NodeB (eNB, or eNodeB) in an LTE system, or may be a radio controller in a cloud radio access network (CRAN) scenario, or the network device may be a relay station, an access point, an in-vehicle device, a wearable device, a next-generation base station (gNodeB, gNB) in 5G networks, a transmitting and receiving point (TRP), a transmitting point (TP), a mobile switching center, a device-to-device (D2D), a vehicle-to-everything (V2X), a machine-to-machine (M2M) communication, a device undertaking a base station function in Internet of Things communication, or a network device in a future evolved network.
- eNB evolutional NodeB
- CRAN cloud radio
- FIG. 1 shows a wireless communication system 100 that may be applied according to various embodiments herein.
- the wireless communication system 100 includes a network device 110 , and the network device 110 may communicate with one or more terminal devices (for example, a terminal device 120 ).
- terminal devices for example, a terminal device 120 .
- the network device 110 and the terminal device 120 may be a wireless communication sending apparatus and/or a wireless communication receiving apparatus.
- the wireless communication sending apparatus may perform encoding on the data for transmission.
- the wireless communication sending apparatus may obtain (for example, generate, receive from another communication apparatus, or stored in a memory) a particular quantity of data bits to be sent to the wireless communication receiving apparatus through a channel.
- data bits may be included in one or more transport blocks of data, and the transport block may be segmented to generate a plurality of code blocks.
- the wireless communication sending apparatus may perform encoding on each code block by using an encoder (not shown in the figure), to generate a transmit signal.
- the wireless communication receiving apparatus may receive, by using the channel, a signal that is sent by the wireless communication sending apparatus and that is obtained after encoding processing is performed by the encoder in the present application, and may decode the signal by using a decoder (not shown in the figure) corresponding to the decoding method in the present application, to obtain the data bits.
- FIG. 2 and FIG. 3 show systems applicable to an encoding and decoding method of the present application in a wireless communication environment.
- the system includes a system 200 applicable to an encoding method of the present application and a system 300 applicable to a decoding method of the present application.
- FIG. 2 is a schematic block diagram of a system 200 to which an encoding method in the present application is applicable in a wireless communication environment.
- the system 200 includes a wireless communication device 202 , and the wireless communication device 202 may transmit data through a channel.
- the wireless communication device 202 may further receive data through the channel.
- the wireless communication device 202 may send and receive data at the same time, or the wireless communication device 202 may send and receive data at different moments, or a combination thereof.
- the wireless communication device 202 may be a network device (for example, the network device 110 in FIG. 1 ), or a terminal device (for example, the terminal device 120 in FIG. 1 ).
- the wireless communication device 202 may include an encoder 204 and a transmitter 206 in the present application.
- the wireless communication device 202 may further include a rate matching apparatus.
- the wireless communication device 202 may further include a receiver. The receiver may exist alone, or may be integrated with the transmitter 206 to form a transceiver.
- the encoder 204 in the present application is configured to perform encoding on data to be transmitted from the wireless communication device 202 .
- the transmitter 206 may then transmit, on a channel, output bits after processing by the encoder 204 (or the encoder 204 and the rate matching apparatus in the present application) in the present application.
- the transmitter 206 may send related data to another different wireless communication apparatus (not shown in the figure).
- FIG. 3 shows a schematic block diagram of a system 300 to which a decoding method of the present application is applicable in a wireless communication environment.
- the system 300 includes a wireless communication device 302 , and the wireless communication device 302 may receive data through a channel.
- the wireless communication device 302 may further send data through the channel.
- the wireless communication device 302 may send and receive data at the same time, or the wireless communication device 302 may send and receive data at different moments, or a combination thereof.
- the wireless communication device 302 may be a network device (for example, the network device 110 in FIG. 1 ), or a terminal device (for example, the terminal device 120 in FIG. 1 ).
- the wireless communication device 302 may include a receiver 306 and a decoder 304 in the present application.
- the wireless communication device 302 may further include a transmitter.
- the transmitter may exist alone, or may be integrated with the receiver 306 to form a transceiver.
- the receiver 306 may receive, on a channel, a signal that is transmitted by another wireless communication apparatus and that has undergone encoding processing in the present application.
- the decoder 304 in the present application is configured to decode a signal received by the receiver 306 , to obtain data sent by another wireless communication apparatus.
- a source at a transmit end is sent on a channel.
- a receive end sequentially performs demodulation, rate de-matching, channel decoding, and source decoding to obtain a sink.
- An apparatus corresponding to an encoding method or a decoding method provided in the present application is located in a channel encoding module and a channel decoding module shown by a dashed box in FIG. 4 .
- Communication systems usually adopt channel encoding to improve reliability of data transmission and ensure quality of communication.
- the polar code proposed by Arikan is the first good code that theoretically proves that Shannon capacity may be obtained and has low encoding and decoding complexity.
- a core of the polar code is to use “channel polarization”.
- sub-channels present different levels of reliability by using an encoding method. When a code length continuously increases, some channels tend to become noise-free channels having a capacity close to 1, and other channels tend to become all-noise channels having a capacity close to 0. A channel having a capacity close to 1 is selected to directly transmit information, to approach the channel capacity.
- the polar code is also a linear block code
- an encoding matrix (also referred to as a generator matrix) of the Polar code is G N
- c 1 N is a mother code of polar code
- a length (that is, a code length) is N, and is a binary row vector.
- the sequence (1,2,3,4,5,6,7,8) is (1,5,3,7,2,6,4,8) after the sequence is arranged in bit reverse order;
- some bits in u 1 N are used to carry information, which are referred to as information bits, and a set of indexes of these bits is denoted as A.
- Some other bits are placed with pre-agreed fixed values by the receive end and transmit end, which are referred to as fixed bits or frozen bits, and a set of indexes of the bits is represented by a complementary set A c of A.
- these fixed bits may be set to 0, and the setting is also used in the description of the present application.
- a fixed bit sequence may be further set to a pre-agreed value by the receive end and the transmit end.
- K, where
- FIG. 5 is a schematic encoding diagram of a polar code whose code length is 8.
- a symbol “ ⁇ ” represents binary addition, and an input thereof is at a left side, and an output thereof is at a right side.
- Each solid line in FIG. 5 represents 1 bit.
- the to-be-encoded bits are sorted based on their respective reliability, bits with higher reliability are set as information bits, bits with lower reliability are set as fixed bits, and the fixed bits are set as pre-agreed fixed values, which is known by both the transmit end and the receive end in actual transmission. As an example rather than a limitation, values of the fixed bits are set to 0. As shown in FIG.
- u 5 , u 7 , u 6 , u 5 , and u 3 are first four bits of reliability, and are set as the information bits, u 4 , u 2 , u 1 , u 0 are four last bits of reliability, and are set as the fixed bits.
- Polar encoding is performed on four information bits ⁇ u 7 , u 6 , u 5 , u 3 ⁇ in total to obtain eight encoded bits. After encoding, the eight encoded bits are modulated and sent through a noise channel.
- a most commonly used decoding method for the polar code is successive cancellation (SC) decoding.
- SC decoding has the following advantages: When a code length is large enough, it is theoretically proved that the polar code can reach a channel capacity under the SC decoding.
- the decoding has lower complexity, where the complexity has a linear relationship with a product of a code length N and a logarithm log 2 N of the code length, and the complexity is O(N log 2 N).
- SCL successive cancellation list
- SCS successive cancellation stack
- SCH successive cancellation hybrid
- CRC-aided enhanced SC decoding is used, for example, CRC-aided SCL (CRC-aided successive cancellation list, CASCL) decoding, CRC-aided SCS (CRC-aided successive cancellation stack, CASCS) decoding, and CRC-aided SCH (CRC-aided successive cancellation hybrid, CASCH) decoding.
- CRC-aided SCL CRC-aided successive cancellation list, CASCL
- CRC-aided SCS CRC-aided successive cancellation stack, CASCS
- CASCH CRC-aided successive cancellation hybrid
- RM Reed-Muller
- RM code is a kind of linear block code and the RM code was first proposed by David Muller in 1954. At that time, Muller did not provide a feasible decoding algorithm. In the same year, Irving Reed proposed a large number logic decoding algorithm to complete a fast decoding of the RM code. Between 1969 and 1977, the RM code was widely used in Mars exploration. Even today, the RM code has great research value, and a fast decoding algorithm of the RM code is very suitable for a wireless communication system.
- an r-order RM code may be expressed as: (r, m), a codeword length N of the RM code is 2 m , a quantity of bits K of the information bits of the RM code is
- the RM code may also be expressed as: (N, K, d).
- the RM code may be constructed by using a same N ⁇ N generator matrix as the polar code, that is, the polar code and the RM code may have a same encoding structure.
- Arikan proposed a polarization-adjusted convolutional code encoding scheme in 2019 based on the polar code, which is referred to as a polarization-adjusted convolutional code (PAC) code.
- PAC polarization-adjusted convolutional code
- AWGN additive white gaussian noise
- the PAC significantly reduces a quantity of codewords at a minimum code distance, and can improve the performance of the code spectrum in a case in which a code length is relatively short, and approaches a theoretical boundary of a finite length
- the PAC is performed decoding by using a Fano decoding algorithm. This decoder has relatively large maximum complexity and is not friendly to hardware implementation.
- the minimum code distance is an important parameter of a code, and is a basis for measuring an error detection and error correction capability of a code.
- a smaller quantity of codewords at the minimum code distance indicates a stronger error detection and error correction capability of a corresponding code, and better performance of a code.
- the present application provides a recursive interleaving encoding method with relatively low complexity and a corresponding decoding method, to improve the performance of the code spectrum and reduce decoding complexity when the code length is relatively short.
- information bits and frozen bits are selected based on row weights and/or reliability of generator matrices corresponding to to-be-encoded bits, to determine a to-be-encoded sequence.
- An interleaver is inserted into some stages in an encoding process (for example, an encoding process of an RM code or a polar code) of the to-be-encoded sequence, so that codewords in this phase enter encoding in a next stage after being interleaved.
- the encoding method in the present application can significantly reduce a quantity of codewords at a minimum code distance, optimize a code spectrum, and improve code performance while ensuring that the minimum code distance does not reduce.
- the decoding algorithm in the present application is less complex and easier to implement.
- the recursive interleaving encoding method and the decoding method provided in the present application can achieve lower encoding and decoding complexity under frame error rate (FER) performance equivalent to that of the PAC.
- FER frame error rate
- a quantity of minimum codewords can be greatly reduced, and better code spectrum performance can be obtained, and has a very good application prospect in a future communication system.
- an encoding method provided in the present application is denoted as an RI-RM-m (Recursive-Reed Muller-m) code in the following, where m represents a quantity of times of interleaving in the encoding method.
- RI-RM-m Recursive-Reed Muller-m
- codewords in five stages in a process of encoding the to-be-encoded sequence are interleaved, and the quantity of times of interleaving in the encoding method is 5.
- the five stages may be continuous or discontinuous, and there may be one or a plurality of interleavers that perform interleaving in each stage.
- a quantity of times of interleaving, a specific quantity of interleavers corresponding to each interleaving, and a stage in which an insertion is performed in an encoding process are not limited in the present application.
- the interleaver is inserted into at least one stage in the encoding process, and is inserted before an intermediate encoded sequence whose sorting sequence number corresponding to the stage is an odd number (a sequence number corresponding to the sorting starts from 1).
- the interleaver may be inserted before some intermediate encoded sequences whose sorting sequence numbers are odd numbers corresponding to the stage, or the interleaver may be inserted before all intermediate encoded sequences whose sorting sequence numbers are odd numbers corresponding to the stage. It should be understood that the sorting of the intermediate encoded sequences is determined based on equivalent grouping (as shown in FIG. 7 ), and this is not limited in the present application.
- sequence numbers of the first encoded sequence and the third encoded sequence are sorted starting from 0, it is equivalent to perform interleaving on encoded sequences whose sequence numbers are even numbers in the first encoded sequence and the third encoded sequence.
- a naming manner of the RI-RM-m code is merely used to distinguish between different encoding manners.
- an encoding method of recursive interleaving in the present application is mainly described by using an encoding structure of a polar code or an RM code as an example.
- the encoding method is further applicable to another encoding manner of concatenated outer codes.
- the outer codes may be BCH (Bose-Chaudhuri-Hocquenghem codes) encoding, low density parity check (LDPC) codes.
- BCH Bose-Chaudhuri-Hocquenghem codes
- LDPC low density parity check
- FIG. 6 is a schematic flowchart of an RI-RM-m encoding method 400 according to an embodiment of the present application.
- the method 400 shown in FIG. 4 may be performed by an encoder in a sending device, for example, a wireless communication device.
- the method 400 includes:
- the to-be-encoded sequence includes information bits and fixed bits, where the information bits and the fixed bits are determined based on the reliability and/or the row weights of the generator matrices of the to-be-encoded bits.
- the information bits and the fixed bits in the to-be-encoded bits are first determined based on the reliability and/or the row weights of the generator matrices of the to-be-encoded bits, and then the information bits are used to carry target information, and the fixed bits are used to carry preset information.
- the to-be-encoded sequence is obtained, and the to-be-encoded sequence is in a one-to-one correspondence with the to-be-encoded bits.
- the selected information bits are used to carry the target information, and the selected fixed bits are set to pre-agreed fixed values by the receive end and the transmit end. It should be noted that, these fixed bits may be set to 0, and the setting is also used in the description of the present application. In some possible implementations, a fixed bit sequence may be further set to a pre-agreed value by the receive end and the transmit end.
- the encoding method in this embodiment includes but is not limited to the following three manners of selecting the information bits and the fixed bits (namely, frozen bits) from the to-be-encoded bits:
- Selection is performed based on row weights of generator matrices, that is, information bits and fixed bits are selected based on the row weights of corresponding generator matrices for the to-be-encoded bits.
- the row weights of the generator matrices corresponding to the information bits are greater than or equal to the row weights of the generator matrices corresponding to the fixed bits.
- the row weights of the generator matrices corresponding to the information bits may be equal to the row weights of the generator matrices corresponding to the fixed bits.
- reliability corresponding to the information bits may be equal to reliability corresponding to the fixed bits.
- the row weights or the reliability of the generator matrices corresponding to the two fixed bits are equal to those of the two information bits.
- bits in which row weights of corresponding generator matrices are equal to the preset row weight threshold or bits in which corresponding reliability is equal to a reliability threshold may also be selected.
- a row weight of a generator matrix G corresponding to each to-be-encoded bit is first calculated. Then, the to-be-encoded bits are sorted in descending order or ascending order of row weights of corresponding generator matrices. Assuming that K bits need to be selected as the information bits. If the to-be-encoded bits are sorted in descending order of the row weights of the generator matrices, first K bits are selected as the information bits, and other bits are used as the fixed bits. Similarly, if the to-be-encoded bits are sorted in ascending order of the row weights of the generator matrices, last K bits are selected as the information bits, and other bits are used as the fixed bits.
- a quantity K of the information bits may be preset.
- Selection is performed based on reliability, that is, information bits and fixed bits are selected based on reliability for the to-be-encoded bits.
- the reliability of the information bits is greater than or equal to the reliability of the fixed bits.
- K bits need to be selected as the information bits.
- reliability of a sub-channel corresponding to each to-be-encoded bit is first calculated. Then, the to-be-encoded bits are sorted in descending order of reliability or in ascending order of reliability. Assuming that K bits need to be selected as information bits. If the to-be-encoded bits are sorted in descending order of reliability, first K bits are selected as the information bits, and the other bits are used as fixed bits. Similarly, if the to-be-encoded bits are sorted in ascending order of reliability, last K bits are selected as the information bits, and the other bits are used as the fixed bits.
- a quantity K of the information bits may be preset.
- a method for measuring reliability of each sub-channel includes but is not limited to the following method: a bhattacharyya parameter method, a density evolution (DE) method, and a gaussian approximation method.
- Selection is performed based on reliability and row weights of generator matrices, that is, the information bits and the fixed bits are selected based on the row weights and the reliability of corresponding generator matrices for to-be-encoded bits.
- the row weights of the generator matrices corresponding to the information bits are greater than or equal to row weights of the generator matrices corresponding to the fixed bits, and the reliability corresponding to the information bits is greater than a preset reliability threshold.
- the reliability corresponding to the information bits is greater than or equal to the reliability corresponding to the fixed bits, and the row weights of the generator matrices corresponding to the information bits are greater than the preset row weight threshold.
- to-be-encoded bits in which row weights of generator matrices are greater than a preset row weight threshold may be selected by calculating a row weight of a generator matrix G corresponding to each to-be-encoded bit, sorting the to-be-encoded bits in descending order of the row weights (or in ascending order of the row weights) of the generator matrices, selecting M to-be-encoded bits based on the preset row weight threshold or a sequence number of the row weight corresponding to each to-be-encoded bit, and selecting K information bits from the M to-be-encoded bits based on a sequence number of reliability corresponding to each to-be-encoded bit, and M ⁇ K. Both M and K are positive integers.
- To-be-encoded bits in which reliability is greater than a preset reliability threshold are selected.
- a row weight of a generator matrix G corresponding to a to-be-encoded bit whose reliability is greater than a preset reliability threshold is determined, and the bits whose reliability is greater than the preset reliability threshold in descending order (or ascending order) of row weights of generator matrices are sorted.
- first K bits are selected as the information bits, and other bits in the to-be-encoded bits are used as the fixed bits.
- last K bits are selected as the information bits, and other bits in the to-be-encoded bits are used as the fixed bits.
- to-be-encoded bits whose reliability is greater than a preset reliability threshold may be selected by calculating reliability corresponding to each to-be-encoded bit, sorting the to-be-encoded bits in descending order of the reliability (or in ascending order of the reliability), selecting M to-be-encoded bits based on a preset reliability threshold or a sequence number of the reliability corresponding to each to-be-encoded bit, and then selecting K information bits from the M to-be-encoded bits based on a sequence number of a row weight of a generator matrix corresponding to each to-be-encoded bit.
- M is greater than or equal to K, and both M and K are positive integers.
- a quantity K of the information bits may be preset.
- a method for measuring reliability of each sub-channel includes but is not limited to: a bhattacharyya parameter method, a density evolution (DE) method, and a gaussian approximation method.
- the preset row weight threshold and the preset reliability threshold are also specific values.
- a specific value corresponding to the reliability or the preset reliability threshold may be an error probability value of the sub-channel corresponding to the bit that is calculated according to a Gaussian approximation method.
- first K bits or last K bits are selected as the information bits based on the sequence number.
- an encoding process of the to-be-encoded sequence includes m times of interleaving and an RM encoding process, and further describes an RI-RM-m encoding process of the to-be-encoded sequence in step 420 with reference to FIG. 7 .
- m is a positive integer.
- FIG. 7 is an example of an encoding method in the present application.
- the encoding method in the present application includes m times of interleaving, that is, m stages of an encoding process in the present application are interleaved. Interleavers are inserted before an odd-numbered encoded sequence in a plurality of encoded sequences obtained in each of the m stages. It should be understood that a quantity of times of interleaving, a quantity of interleavers used for each interleaving, and a position inserted by the interleaver in FIG. 7 are merely used as examples. Actually, the present application is not limited thereto.
- C 1 (m) U ⁇ G N
- G N is an N ⁇ N generator matrix
- U is a to-be-encoded sequence
- C 1 (M) is an encoded sequence.
- S 421 Perform first encoding on the to-be-encoded sequence to obtain Q first encoded sequences denoted as ⁇ C 1 (0) , C 2 (0) , . . . , C k (0) , . . . , C Q (0) ⁇ , where Q and k are positive integers.
- the first encoding includes: performing equivalent grouping on the to-be-encoded sequences, equivalently treating the to-be-encoded sequences as Q groups of to-be-encoded sub-sequences, and performing an encoding process before the first interleaving on the Q groups of to-be-encoded sub-sequences, to obtain Q first encoded sequences.
- the encoding process before the first interleaving may further include one or more times of interleaving.
- an encoding method of RM encoding is used as an example.
- first interleaving is the first interleaving (as I k (1) shown in FIG. 7 )
- an interleaver corresponding to the first interleaving is inserted into after a first stage and before a second stage in an RM code process
- first encoding is performed. That is, the foregoing encoding process before the first interleaving (an encoding process before I k (1) in FIG. 7 ) refers to encoding of the first stage in the RM code encoding process.
- first interleaving is a non-first interleaving (as I k (2) shown in FIG.
- the first encoding that is, the encoding process before the first interleaving (encoding process before I k (2) as shown in FIG. 7 ) refers to encoding in the second stage and a previous stage in a process of performing RM code encoding on the Q groups of the to-be-encoded sub-sequences, and an interleaving operation is included in the encoding process in the second stage and the previous stage.
- the first encoding further includes an interleaving operation corresponding to I k (1) ).
- the equivalent grouping of the to-be-encoded sequence is determined based on a preset quantity m of times of interleaving.
- quantities of information bits and fixed bits in each to-be-encoded sub-sequence may be determined. For example, if a quantity of the information bits in the i th group of a to-be-encoded sub-sequence Q i is denoted as K i , the fixed bits corresponding to the group are other bits excluding the information bits K i in the to-be-encoded sub-sequence Q i , where i is a positive integer, and 1 ⁇ i ⁇ Q.
- a code length of a to-be-encoded sequence U is N, and U is a binary row vector.
- the to-be-encoded sequence is denoted as ⁇ u 1 , u 2 , . . . , u N ⁇
- Q to-be-encoded sub-sequences obtained after equivalent grouping is performed on the to-be-encoded sequence are respectively denoted as ⁇ U 1 , U 2 , . . . , U Q ⁇ .
- first interleaving is performed on Q/2 odd-numbered first encoded sequences in the Q first encoded sequences, that is, first interleaving is performed on ⁇ C 1 (0) , C 3 (0) , . . . , C 2k ⁇ 1 (0) , . . . , C Q ⁇ 1 (0) ⁇ in the first encoded sequences, to obtain Q second encoded sequences denoted as ⁇ I 1 (1) (C 1 (0) ),C 2 , . . . ,I k (1) (C 2k ⁇ 1 (0) ),C 2k , . . . ,I Q/2 (1) (C Q ⁇ 1 (0) ),C Q ⁇ , where I k (1) corresponds to the k th interleaver in the first interleaving.
- S 423 Perform third encoding on the Q second encoded sequences to obtain P third encoded sequences denoted as ⁇ C 1 (1) , C 2 (1) , . . . , C k (1) , . . . , C P (1) ⁇ where k and P are positive integers.
- the third encoding includes performing next-stage polar encoding or RM encoding on the Q interleaved second encoded sequences.
- an encoding method of RM encoding is used as an example. If an interleaver is added after a second stage and before a third stage in an RM encoding process, the second encoding refers to performing the RM encoding in the third stage on Q second encoded sequences obtained after an interleaving operation performed by the interleaver.
- a first interleaver I 1 (1) inserted in first interleaving in FIG. 7 is used as an example (a superscript of I represents a quantity of times of interleaving, and a subscript represents a sequence number of interleavers in the current interleaving (the sequence starts from 1)).
- the third encoding process includes performing an exclusive OR processing on I 1 (1) (C 1 (0) ) and C 2 to obtain
- second interleaving is performed on Q/4 (that is, P/2) third encoded sequences ⁇ C 1 (1) , C 3 (1) , . . . , C 2k ⁇ 1 (1) , . . . , C Q/2 ⁇ 1 (1) ⁇ whose sequence numbers are odd numbers in the Q/2 (that is, P) third encoded sequences.
- all encoding processes after the first interleaving may be referred to as second encoding, and may be understood as performing second encoding on Q second encoded sequences obtained after the first interleaving, to obtain a final encoded sequence.
- Both the third encoding and the encoding process before the second interleaving is performed to obtain the final encoded sequence belong to the second encoding.
- the interleaver may be any interleaver, for example, a random interleaver, any optimized interleaver, or a cyclic shift interleaver. This is not limited in the present application.
- a theoretical or numerical simulation result may be used to prove that when the encoding method in the present application is used, compared with an original encoding scheme that is corresponding to the encoding method in the present application and that is not added to the interleaver, a minimum code distance of a newly generated codeword does not become smaller.
- the scheme described in the foregoing embodiment is corresponding to conventional RM code encoding or polar code encoding.
- a code weight of a codeword meets a specific condition, for example, when two codewords C 1 and C 2 meet W(C 1 ) ⁇ d min , W(C 2 ) ⁇ d min /2, (W(g) represents the code weight of the codeword), alternatively, when four codewords C 1 , C 2 , C 3 , and C 4 meet W(C 1 ) ⁇ d min , W(C 2 ) ⁇ d min /2, W(C 3 ) ⁇ d min /2, and W(C 4 ) ⁇ d min /4, the encoding method in the present application may be used for a codeword generated in another encoding manner, for example, another encoding manner of concatenated outer codes.
- the outer code may be a BCH code, and an LDPC code.
- rate matching may further be performed on the result of encoding, that is, different processing is performed on different bit stream lengths, so that the bit stream length matches an actual transmission capability.
- rate matching may further be performed on the result of encoding, that is, different processing is performed on different bit stream lengths, so that the bit stream length matches an actual transmission capability.
- a rate matching process further needs to be considered.
- a rate matching manner is not limited in the present application.
- the following uses an example in which a quantity times of interleaving is 1 (the interleaving includes one interleaver) and an RM encoding process as an example to describe an RI-RM-1 encoding processing process in S 420 .
- RI-RM-1 encoding process may be denoted as:
- G N is an N ⁇ N generator matrix, correspondingly, G N/2 is an N/2 ⁇ N/2 matrix, U is a to-be-encoded sequence, and C 1 (1) is an encoded sequence corresponding to RI-RM-1.
- Step 1 Perform first encoding on the to-be-encoded sequence to obtain two first encoded sequences denoted as ⁇ C 1 (0) ,C 2 (0) ⁇ .
- the first encoding includes: two to-be-encoded sub-sequences obtained by performing equivalent grouping on the to-be-encoded sequence based on a preset quantity 1 of times of interleaving are respectively denoted as ⁇ U 1 ,U 2 ⁇ .
- Information bits in U 1 are K 1 bits, bits other than the information bit K 1 in U 1 are fixed bits, information bits in U 2 are K 2 bits, and bits other than the information bit K 2 in U 2 are fixed bits.
- the code lengths of the to-be-coded sub-sequences U 1 and U 2 are both N/2.
- a quantity N of code lengths of to-be-encoded bits is 128, and a quantity of information bits is 64 bits.
- Information bits in U 1 are 22 bits, fixed bits in U 1 are 42 bits, information bits in U 2 are 42 bits, and fixed bits in U 2 are 22 bits.
- the code lengths of the to-be-encoded sub-sequences U 1 and U 2 are both 64 bits.
- the first encoding further includes a process of RM encoding before interleaving is performed on the two to-be-encoded sub-sequences ⁇ U 1 ,U 2 ⁇ , so as to obtain two first encoded sequences ⁇ C 1 (0) ,C 2 (0) ⁇ .
- Step 2 Perform a first interleaving operation on ⁇ C 1 (0) ⁇ in the two first encoded sequences to obtain two second encoded sequences ⁇ I 1 (1) (C 1 (0) ),C 2 ⁇ .
- Step 3 Perform third encoding on the two second encoded sequences ⁇ I 1 (1) (C 1 (0) ),C 2 ⁇ on which a partial interleaving operation is performed, to obtain one third encoded sequence ⁇ C 1 (1) ⁇ .
- the third encoding includes performing exclusive OR processing on I 1 (1) C 1 (0) ) and C 2 to obtain I 1 (1) (C 1 (0) ) ⁇ C 2 (0) , and then performing serial-to-parallel conversion on
- the third encoded sequence ⁇ C 1 (1) ⁇ is a sequence obtained after RI-RM-1 encoding is performed on the to-be-encoded sequence.
- the following uses an example in which a quantity of times of interleaving is 2 (the first interleaving includes two interleavers, and the second interleaving includes one interleaver) and an RM code encoding process as an example to describe an RI-RM-2 encoding processing process in S 420 .
- RI-RM-2 encoding process may be denoted as:
- G N is an N ⁇ N generator matrix
- U is a to-be-encoded sequence
- C 1 (2) is an encoded sequence corresponding to the RI-RM-2.
- Step 1 Perform first encoding on the to-be-encoded sequences to obtain four first encoded sequences denoted as ⁇ C 1 (0) , C 2 (0) , . . . , C k (0) , . . . , C Q (0) ⁇ .
- the first encoding includes: four to-be-encoded sub-sequences obtained by performing equivalent grouping on a to-be-encoded sequence U based on a preset quantity of 2 times of interleaving denoted as ⁇ U 1 ,U 2 ,U 3 ,U 4 ⁇ , where
- Information bits in U 1 are K 1 bits, bits other than the information bits K 1 in the U 1 are fixed bits, information bits in U 2 are K 2 bits, bits other than the information bits K 2 in the U 2 are fixed bits, information bits in U 3 are K 3 bits, bits other than the information bit K 3 in the U 3 are fixed bits, information bits in U 4 are K4 bits, and bits other than the information bits K 4 in the U 4 are fixed bits.
- Code lengths of the to-be-encoded sub-sequences U 1 , U 2 , U 3 , and U 4 are all N/4.
- a quantity N of code lengths of to-be-encoded bits is 128, and a quantity of information bits is 64 bits.
- Information bits in U 1 are 6 bits, fixed bits in U 1 are 26 bits, information bits in U 2 are 16 bits, fixed bits in U 2 are 16 bits, information bits in U 3 are 16 bits, fixed bits in U 3 are 16 bits, information bits in U 4 are 26 bits, and fixed bits in U 4 are 6 bits.
- the code lengths of the to-be-coded sub-sequences U 1 , U 2 , U 3 , and U 4 are all 32 bits.
- the first encoding further includes a process of RM encoding before first interleaving is performed on the four to-be-encoded sub-sequences ⁇ U 1 ,U 2 ,U 3 ,U 4 ⁇ , so as to obtain four first encoded sequences ⁇ C 1 (0) , C 2 (0) , C 3 (0) , C 4 (0) ⁇ .
- Step 2 Perform a first interleaving operation on ⁇ C 1 (0) ,C 3 (0) ⁇ in the four first encoded sequences.
- the first interleaving includes two interleavers, and the obtained four second encoded sequences denoted as:
- Step 3 Perform third encoding on the four second encoded sequences on which a partial interleaving operation is performed to obtain two third encoded sequences ⁇ C 1 (1) , C 2 (1) ⁇ .
- the third encoding includes performing exclusive OR processing on I 1 (1) (C 1 (0) ) and C 2 (0) to obtain I 1 (1) (C 1 (0) ) ⁇ C 2 (0) , and then performing serial-to-parallel conversion on
- the third encoding further includes performing exclusive OR processing on I 2 (1) (C 3 (0) ) and C 4 (0) to obtain I 2 (1) (C 3 (0) ) ⁇ C 4 (0) , and then performing serial-to-parallel conversion on
- Step 4 Perform a second interleaving operation on ⁇ C 1 (1) ⁇ in the two third encoded sequences ⁇ C 1 (1) ,C 2 (1) ⁇ obtained by performing the first interleaving and the third encoding.
- the second interleaving includes an interleaver, and a fourth encoded sequence ⁇ I 1 (2) (C 1 (1) ),C 2 (1) ⁇ is obtained.
- Step 5 Perform fourth encoding on the two fourth encoded sequences ⁇ I 1 (2) (C 1 (1) ),C 2 (1) ⁇ on which the partial interleaving operation is performed to obtain one fifth encoded sequence ⁇ C 1 (2) ⁇ .
- the fourth encoding includes performing exclusive OR processing on I 1 (2) (C 1 (1) ) and C 2 (1) to obtain I 1 (2) (C 1 (1) ) ⁇ C 2 (1) , and then performing serial-to-parallel conversion on
- step 3 It can be learned from step 3 that:
- the final encoding result C 1 (2) may also be expressed as:
- the fifth encoded sequence ⁇ C 1 (2) ⁇ is a sequence obtained after RI-RM-2 encoding is performed on the to-be-encoded sequence.
- the following describes a decoding method corresponding to the recursive interleaving encoding method provided in the present application.
- the decoding method in the present application includes the following steps: receiving a to-be-decoded sequence; and performing decoding on the to-be-decoded sequence to obtain a decoded sequence, where a decoding process of the decoding includes at least one de-interleaving.
- the encoded sequence may not be the same as the to-be-decoded sequence obtained after channel transmission.
- that the decoding process of the decoding includes at least one de-interleaving includes: performing first decoding on a to-be-decoded sequence to obtain a first sub-sequence; performing first de-interleaving on the first sub-sequence to obtain a second sub-sequence; and performing second decoding on the second sub-sequence to obtain the decoded sequence.
- an decoding process before the first de-interleaving may further include one or more times of de-interleaving.
- the second decoding includes: performing third decoding on the second sub-sequence to obtain a third sub-sequence; performing second de-interleaving on the third sub-sequence to obtain a fourth sub-sequence; and performing fourth decoding on the fourth sub-sequence to obtain the decoded sequence.
- a decoding method used by the receive end (or referred to as a decoder side) to receive the to-be-decoded bit sequence from the transmit end corresponds to the encoding method in the present application.
- the decoder side knows an encoding structure of an encoder side in advance.
- a de-interleaving operation is correspondingly performed in a decoding process.
- Another decoding method that does not involve an interleaver is similar to a decoding method in a conventional technology, and reference may be made to a decoding algorithm in a conventional technology.
- CRC information may be added to an information sequence, and an enhanced SC decoding algorithm assisted by a CRC is used, for example, a CASCL decoding algorithm, a CASCS decoding algorithm, and a CASCH decoding algorithm.
- de-interleaving in the foregoing decoding process is in a one-to-one correspondence with interleaving in the encoding process. In other words, de-interleaving is performed only correspondingly on a position at which an interleaver appears in the encoding process. For another decoding process that does not involve a position of the interleaver, refer to a corresponding decoding process in a conventional technology.
- the decoding process in the present application may further include an interleaving operation.
- the first decoding and the second decoding may further include an interleaving operation.
- reverse encoding needs to be performed on a decoding result of a previous sub-sequence in a same stage, and an interleaver is inserted before a position corresponding to the previous sub-sequence in the encoding process.
- the performing a reverse encoding operation on the current decoding result of the previous sub-sequence that has been decoded further includes an interleaving operation.
- a decoding process that does not involve an interleaver in the foregoing decoding process is similar to that in a conventional technology.
- a de-interleaving operation is performed when a corresponding forward decoding encounters an interleaver
- an interleaving operation is performed when a corresponding reverse encoding encounters an interleaver.
- a decoding method corresponding to the encoding method in FIG. 8 is used as an example.
- U 1 and U 2 are decoded in sequence.
- a decoding process of U 1 includes one de-interleaving corresponding to an interleaver in FIG. 8 . Therefore, after U 1 is decoded, forward encoding needs to be performed on U 1 that is decoded in a decoding process of U 2 , and the encoding process includes one interleaving corresponding to the interleaver in FIG. 8 . Therefore, the decoding process in the present application may further include an interleaving operation.
- encoding corresponding to the bits may be performed in parallel at the same time. Different from an encoding process, when the to-be-decoded sequence is performed decoding, decoding corresponding to the bits is sequentially performed in series.
- 4 bits encoding structure and an SCL decoding algorithm in FIG. 10 are used as examples, and an example in which an interleaving mode corresponding to an interleaver I 1 in FIG. 10 is a reverse order (which is equivalent to exchanging positions of two bits).
- the decoding method in the present application is further described.
- to-be-encoded bits u 1 , u 2 , u 3 , and u 4 are performed encoding to obtain an encoded sequence, and the encoded sequence (that is, a to-be-decoded sequence) obtained after channel transmission is performed decoding.
- the encoded sequence that is, a to-be-decoded sequence
- decoding results û 1 , û 2 , û 3 , and û 4 corresponding to four bits u 1 , u 2 , u 3 , and u 4 are decoded in sequence.
- a general decoding process is as follows:
- LLR log-likelihood ratios
- the LLR 5 and the LLR 6 are performed first de-interleaving (which is equivalent to exchanging positions of the LLR 5 and the LLR 6 ) to obtain an LLR 6 and an LLR 5 , where the LLR 5 and the LLR 6 before the first de-interleaving may be referred to as first sub-sequences, and a decoding process before the first de-interleaving may be referred to as first decoding.
- a decoding result û 1 corresponding to a first bit u 1 is determined based on the LLR 7 .
- a decoding result û 2 corresponding to a second bit u 2 is determined based on the LLR 8 .
- Reverse encoding is performed on the decoding result û 1 and û 2 : First, an exclusive OR operation is performed on û 1 , and û 2 to obtain û 1 +û 2 and û 2 respectively, and then first interleaving is performed on û 1 +û 2 and û 2 (which is equivalent to exchanging positions of û 1 +û 2 and û 2 ) to obtain û 2 and û 1 ,û 2 respectively.
- a decoding result û 3 corresponding to a third bit u 3 is determined based on the LLR 11 .
- a decoding result û 4 corresponding to a fourth bit u 4 is determined based on the LLR 12 .
- the foregoing decoding process after the first de-interleaving is performed on the LLR 5 and the LLR 6 (which are equivalent to the first sub-sequences) may be referred to as second decoding.
- the foregoing determining manner of determining a value of the other LLR based on values of two LLRs is denoted as f
- the foregoing determining manner of determining value of the other LLR based on values of the two LLRs and a result of reverse encoding is denoted as g.
- a specific determining method, some specific details, and descriptions of corresponding rules are omitted in the foregoing description of the decoding process. For content omitted, refer to a specific decoding process in the SCL decoding algorithm. Details are not described herein again.
- decoding may also be performed with reference to another decoding algorithm.
- decoding may also be performed with reference to another decoding algorithm.
- reference may be made to an SC decoding algorithm, the SCL decoding algorithm, an SCS decoding algorithm, and an SCH decoding algorithm.
- CRC information may be added to an information sequence, refer to an enhanced SC decoding algorithm assisted by using a CRC, for example, a CASCL decoding algorithm, a CASCS decoding algorithm, and a CASCH decoding algorithm.
- CRC may be added to an information sequence, refer to an enhanced SC decoding algorithm assisted by using a CRC, for example, a CASCL decoding algorithm, a CASCS decoding algorithm, and a CASCH decoding algorithm.
- the present application should not be limited herein.
- FIG. 11 shows a comparison of numerical simulation results between an RI-RM-1 and RI-RM-2 encoding and decoding methods in the foregoing embodiments of the present application, an RM encoding and decoding method, a PAC encoding and decoding method in a conventional technology, and a PAC encoding and decoding method (which may be written as PAC-ML-Lower-Bound) using maximum likelihood (ML) decoding when a quantity N of code lengths of to-be-decoded bits is 128 and a quantity of information bits is 64.
- the ML decoding is the best decoding algorithm in the conventional technology, that is, the PAC-ML-Lower-Bound represents an optimal simulation result that can be achieved by the current PAC.
- the RM encoding method and the PAC encoding method use the SCL decoding algorithm.
- an improved decoding algorithm based on the SCL decoding algorithm (corresponding to the encoding method in the present application) is used.
- a horizontal coordinate E b /N o represents a signal-to-noise ratio
- a vertical coordinate FER represents a frame error rate
- a decoding method corresponding to the encoding method in the present application has lower complexity and less difficulty in implementation.
- Table 1 shows that, when a quantity N of code lengths of a to-be-encoded sequence is 128 bits and a quantity of information bits is 64 bits obtained by numerical calculation, comparisons are made between the RI-RM-1 encoding method and the RI-RM-2 encoding method in the present application and an RM encoding method, a minimum code distance of a PAC, and a quantity of codewords at the minimum code distance in a conventional technology.
- a quantity of codewords with a minimum code distance in the encoding result obtained by using the RI-RM-m encoding method is close to a quantity of codewords with a minimum code distance in an encoding result obtained by using the PAC encoding method, and as a quantity m of times of interleaving increases, in the RI-RM-m encoding method in the present application, the quantity of codewords at the minimum code distance gradually reduces.
- a decoding method corresponding to the encoding method provided in the present application has lower complexity.
- the decoding algorithm used in the present application is simpler, for example, an SCL decoding algorithm, an SC decoding algorithm, or a CRC-SCL decoding algorithm.
- the encoding method and the decoding method provided in the present application are described in detail above with reference to FIG. 1 to FIG. 11 . It should be understood that the present application provides a recursive interleaving encoding method and a decoding method.
- the to-be-encoded sequence is obtained based on the row weights and/or the reliability of the generator matrices, and interleaving is performed at least once in the encoding process of the to-be-encoded sequence.
- interleaving is performed on at least one intermediate stage in the encoding process of the to-be-encoded sequence, and correspondingly, de-interleaving is performed at least once in the decoding process of the to-be-decoded sequence.
- a numerical simulation result proves that, according to the encoding and decoding method provided in the present application, the minimum code distance is not reduced.
- a quantity of codewords with a minimum code distance can be significantly reduced, and performance of a code can be greatly improved, for example, a frame error rate can be reduced.
- the present application further provides a corresponding communication apparatus, for example, an encoding apparatus and a decoding apparatus.
- the communication apparatus provided in the present application may include a one-to-one corresponding module or unit for performing the method/operation/step/action in the foregoing method embodiments.
- the unit may be a hardware circuit, or may be software, or may be implemented by a hardware circuit in combination with software.
- the following describes an encoding apparatus and a decoding apparatus provided in the present application with reference to FIG. 12 to FIG. 15 .
- FIG. 12 is a schematic structural diagram of an encoding apparatus 500 .
- the communication apparatus includes a transceiver unit 510 , a determining unit 520 , and an encoding unit 530 .
- the encoding apparatus 500 may implement the encoding method in embodiments shown in any one of FIG. 6 to FIG. 9 .
- the determining unit 520 is configured to obtain a to-be-encoded sequence, where the to-be-encoded sequence includes information bits and fixed bits, and the information bits and the fixed bits are determined based on reliability corresponding to to-be-encoded bits and/or a row weight of a generator matrix.
- the determining unit 520 is further configured to determine information bits and fixed bits in the to-be-encoded bits based on the reliability corresponding to the to-be-encoded bits and/or the row weights of the generator matrices, and determine the to-be-encoded sequence based on the information bits and the fixed bits.
- Row weights of generator matrices corresponding to the information bits are greater than or equal to row weights of generator matrices corresponding to the fixed bits.
- the row weights of the generator matrices corresponding to the information bits are greater than or equal to the row weights of the generator matrices corresponding to the fixed bits, and reliability corresponding to the information bits is greater than the preset reliability threshold.
- reliability corresponding to the information bits is greater than or equal to reliability corresponding to the fixed bits.
- reliability corresponding to the foregoing information bits is greater than or equal to reliability corresponding to the fixed bits, and row weights of generator matrices of the foregoing information bits are greater than a preset row weight threshold.
- An encoding unit 530 is configured to encode the to-be-encoded sequence to obtain an encoded sequence, where an encoding process of the encoding includes at least one interleaving.
- the encoding unit 530 is further configured to perform first encoding on the to-be-encoded sequence to obtain Q first encoded sequences, where Q is a positive integer; perform interleaving on at least one of the Q first encoded sequences to obtain Q second encoded sequences; and perform second encoding on the Q second encoded sequences to obtain an encoded sequence.
- that the encoding unit 530 is configured to perform second encoding on the Q second encoded sequences includes: the encoding unit 530 is configured to perform third encoding on the Q second encoded sequences to obtain P third encoded sequences, where both P and Q are positive integers; perform interleaving on at least one of the P third encoded sequences to obtain P fourth encoded sequences; and perform fourth encoding on the P fourth encoded sequences to obtain an encoded sequence.
- the encoding unit 530 is further configured to perform the first encoding on the to-be-encoded sequence to obtain Q first encoded sequences denoted as ⁇ C 1 (0) , C 2 (0) , . . . , C k (0) , . . . , C Q (0) ⁇ ; perform first interleaving on Q/2 first encoded sequences ⁇ C 1 (0) , C 3 (0) , . . . , C 2k ⁇ 1 (0) , . . . , C Q ⁇ 1 (0) ⁇ in the Q first encoded sequences to obtain Q second encoded sequences ⁇ I 1 (1) (C 1 (0) ),C 2 , . . .
- I k (1) indicates to perform first interleaving on a k th first encoded sequence in the Q first encoded sequences; perform third encoding on the Q second encoded sequences to obtain P third encoded sequences ⁇ C 1 (1) , C 2 (1) , . . . , C k (1) , . . .
- C P (1) [I k (1) (C 2k ⁇ 1 (0) +C 2k (0) ,C 2k (0) ]; perform second interleaving on P/2 third encoded sequences ⁇ C 1 (1) , C 3 (1) , . . . , C 2k ⁇ 1 (1) , . . . , C Q ⁇ 1 (1) ⁇ in the P third encoded sequences to obtain P fourth encoded sequences; and perform fourth encoding on the P fourth encoded sequences to obtain an encoded sequence.
- the transceiver unit 510 is configured to send the encoded sequence.
- FIG. 13 shows a schematic structural diagram of a decoding apparatus 600 .
- the communication apparatus includes a transceiver unit 610 and a decoding unit 620 .
- the decoding apparatus 600 may implement a decoding method corresponding to the encoding method in embodiments shown in any one of FIG. 6 to FIG. 9 .
- the transceiver unit 610 is configured to receive a to-be-decoded sequence.
- the decoding unit 620 is configured to decode the to-be-decoded sequence to obtain a decoded sequence, where a decoding process of the decoding includes at least one de-interleaving.
- the decoding unit 620 is further configured to perform first decoding on the to-be-decoded sequence to obtain a first sub-sequence; perform first de-interleaving on the first sub-sequence to obtain a second sub-sequence; and perform second decoding on the second sub-sequence to obtain the decoded sequence.
- the encoding process before the first de-interleaving may further include one or more times of de-interleaving.
- that the decoding unit 620 is configured to perform second decoding on the second sub-sequence includes: The decoding unit 620 is configured to perform third decoding on the second sub-sequence to obtain a third sub-sequence; perform second de-interleaving on the third sub-sequence to obtain a fourth sub-sequence; and perform fourth decoding on the fourth sub-sequence to obtain a decoded sequence.
- FIG. 14 is a structural block diagram of a communication apparatus 700 according to an embodiment of the present application.
- the communication apparatus 700 shown in FIG. 14 includes: a processor 710 , a memory 720 , and a communication interface 730 .
- the processor 710 is coupled to the memory, and is configured to perform instructions stored in the memory, to control the communication interface 730 to send a signal and/or receive a signal.
- processor 710 and the memory 720 may be combined into one processing apparatus, and the processor 710 is configured to execute program code stored in the memory 720 to implement the foregoing function.
- the memory 720 may alternatively be integrated into the processor 710 , or may be independent of the processor 710 .
- the communication apparatus 700 may be the encoding apparatus or the decoding apparatus in the foregoing method embodiments, or may be a chip configured to implement functions of the encoding apparatus or the decoding apparatus in the foregoing method embodiment.
- the communication apparatus 700 may be corresponding to an encoding device or a decoding device corresponding to the encoding methods in FIG. 6 to FIG. 9 in embodiments of the present application.
- the communication apparatus 700 may include units configured to perform the encoding methods in FIG. 6 to FIG. 9 or decoding methods corresponding to the encoding methods.
- the units in the communication apparatus 700 and the foregoing other operations and/or functions are respectively corresponding procedures of the encoding method or the decoding method. It should be understood that a specific process in which the units perform the foregoing corresponding steps is described in detail in the foregoing method embodiments. For brevity, details are not described herein again.
- the chip When the communication apparatus 700 is a chip, the chip includes a transceiver unit and a processing unit.
- the transceiver unit may be an input/output circuit or a communication interface.
- the processing unit may be a processor integrated on the chip, a microprocessor, or an integrated circuit.
- An embodiment of the present application further provides a processing apparatus, including a processor and an interface.
- the processor may be configured to perform the encoding method or the decoding method in the foregoing method embodiments.
- the processing apparatus may be a chip.
- the processing apparatus may be a field programmable gate array (FPGA), may be an application specific integrated circuit (ASIC), or may be a system on chip (SoC), or may be a central processor unit (CPU), or may be a network processor (NP), or may be a digital signal processor (DSP), or may be a micro controller unit (MCU), or may be a programmable logic device (PLD), or another integrated chip.
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- SoC system on chip
- CPU central processor unit
- NP network processor
- DSP digital signal processor
- MCU micro controller unit
- PLD programmable logic device
- steps in the foregoing methods may be implemented by using a hardware integrated logical circuit in the processor, or by using instructions in a form of software. Steps of methods disclosed with reference to embodiments of the present application may be directly performed and completed by a hardware processor, or may be performed and completed by using a combination of hardware and software modules in the processor.
- the software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, or the like.
- the storage medium is located in the memory, and the processor reads information in the memory and completes the steps in the foregoing methods in combination with hardware of the processor. To avoid repetition, details are not described herein again.
- the processor in this embodiment may be an integrated circuit chip, and has a signal processing capability.
- the steps in the foregoing method embodiments may be completed by using an integrated logic circuit of hardware in the processor or an instruction in a form of software.
- the foregoing processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component.
- DSP digital signal processor
- ASIC application-specific integrated circuit
- FPGA field programmable gate array
- the methods, steps, and logical block diagrams disclosed in embodiments of the present application may be implemented or performed.
- the general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
- Steps of the methods disclosed with reference to embodiments of the present application may be directly performed and completed by using a hardware decoding processor, or may be performed and completed by using a combination of hardware and software modules in the decoding processor.
- the software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, or the like.
- the storage medium is located in the memory, and the processor reads information in the memory and completes the steps in the foregoing methods in combination with hardware of the processor.
- the memory in embodiments of the present application may be a volatile memory or a non-volatile memory, or may include a volatile memory and a non-volatile memory.
- the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (programmable ROM, PROM), an erasable programmable read-only memory (erasable PROM, EPROM), an electrically erasable programmable read-only memory (electrically EPROM, EEPROM), or a flash memory.
- the volatile memory may be a random access memory (RAM), and is used as an external cache.
- RAMs may be used, for example, a static random access memory (static RAM, SRAM), a dynamic random access memory (dynamic RAM, DRAM), a synchronous dynamic random access memory (synchronous DRAM, SDRAM), a double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), an enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), a synchronous link dynamic random access memory (synch-link DRAM, SLDRAM), and a direct ram-bus random access memory (direct ram-bus RAM, DR RAM).
- static random access memory static random access memory
- DRAM dynamic random access memory
- DRAM dynamic random access memory
- SDRAM synchronous dynamic random access memory
- double data rate SDRAM double data rate SDRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced synchronous dynamic random access memory
- synchronous link dynamic random access memory direct ram-bus random access memory
- direct ram-bus RAM direct ram-bus RAM, DR RAM
- an embodiment of the present application further provides an apparatus 800 , which may be configured to implement functions of the encoding apparatus or the decoding apparatus in the foregoing method.
- the apparatus 800 may be a communication apparatus or a chip in the communication apparatus.
- the communication apparatus includes:
- the input/output interface 810 may be an input/output circuit, or may be referred to as a communication interface.
- the logic circuit 820 may be a signal processor, a chip, or another integrated circuit that can implement the method in the present application.
- the at least one input/output interface 810 is configured to input or output a signal or data.
- the input/output interface 810 is configured to obtain a to-be-encoded sequence, and the input/output interface 810 is further configured to send an encoded sequence.
- the input/output interface 810 is configured to obtain a to-be-decoded sequence.
- the logic circuit 820 is configured to perform a part or all of the steps in any one of the methods provided in embodiments of the present application.
- the logic circuit may implement functions implemented by the determining unit 520 and the encoding unit 530 in the encoding apparatus 500 , the decoding unit 620 in the decoding apparatus 600 , and the processor 710 in the communication apparatus 700 .
- the apparatus is configured to perform steps performed by the encoding apparatus in various possible implementations in the foregoing method embodiments.
- the logic circuit 820 is configured to encode the to-be-encoded sequence to obtain the encoded sequence according to the encoding methods in various possible implementations in the foregoing method embodiments.
- the apparatus When the apparatus is a decoding apparatus or is used for a decoding apparatus, the apparatus is configured to perform steps performed by the decoding apparatus in various possible implementations in the foregoing method embodiments.
- the logic circuit 820 is configured to decode the to-be-decoded sequence to obtain the decoded sequence according to the decoding methods in various possible implementations in the foregoing method embodiments.
- the chip When the foregoing communication apparatus is a chip applied to the encoding apparatus, the chip implements a function of the encoding apparatus in the foregoing method embodiments.
- the chip receives information from another module (for example, a radio frequency module or an antenna) in the encoding apparatus.
- the chip sends information to another module (such as a radio frequency module or an antenna) in the encoding apparatus.
- the information is sent by the encoding apparatus to the decoding apparatus.
- the chip When the foregoing communication apparatus is a chip applied to the decoding apparatus, the chip implements a function of the decoding apparatus in the foregoing method embodiments.
- the chip receives information from another module (for example, a radio frequency module or an antenna) in the decoding apparatus.
- the information is sent by the encoding apparatus to the decoding apparatus.
- the chip sends information to another module (such as a radio frequency module or an antenna) in the decoding apparatus.
- the present application further provides a computer program product.
- the computer program product includes: computer program code.
- the computer program code When the computer program code is run on a computer, the computer is enabled to perform the encoding method in any one of embodiments shown in FIG. 6 and FIG. 9 or the decoding method corresponding to the encoding method.
- the present application further provides a computer-readable medium.
- the computer-readable medium stores program code.
- the program code When the program code is run on a computer, the computer is enabled to perform the encoding method in any one of embodiments shown in FIG. 6 and FIG. 9 or the decoding method corresponding to the encoding method.
- the present application further provides a system.
- the system includes the foregoing apparatus or device.
- All or a part of the foregoing embodiments may be implemented by software, hardware, firmware, or any combination thereof.
- all or a part of embodiments may be implemented in a form of a computer program product.
- the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, the procedures, or functions based on embodiments of the present application are all or partially generated.
- the computer may be a general-purpose computer, a dedicated computer, a computer network, or any other programmable apparatus.
- the computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium.
- the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner.
- the computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a server or a data center, integrating one or more usable media.
- the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium. (for example, a high-density digital video disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)), or the like.
- a component may be, but is not limited to, a process that runs on a processor, a processor, an object, an executable file, a thread of execution, a program, and/or a computer.
- an application and a computing device that runs on the computing device may be components.
- One or more components may reside within a process and/or a thread of execution, and a component may be located on one computer and/or distributed between two or more computers.
- these components may be executed from various computer-readable media that store various data structures.
- the components may communicate by using a local and/or remote process and according to, for example, a signal having one or more data packets (for example, data from two components interacting with another component in a local system, a distributed system, and/or across a network such as the Internet interacting with other systems by using the signal).
- a signal having one or more data packets (for example, data from two components interacting with another component in a local system, a distributed system, and/or across a network such as the Internet interacting with other systems by using the signal).
- the encoding apparatus and the decoding apparatus in the foregoing apparatus embodiments correspond to the encoding method and the decoding method in the method embodiments, and a corresponding module or unit performs a corresponding step.
- a communication unit communication interface
- Other steps other than sending and receiving may be performed by a processing unit (processor).
- processor processing unit
- the disclosed systems, apparatuses, and methods may be implemented in other manners.
- the described apparatus embodiment is merely an example.
- division into the units is merely logical function division and may be other division during actual implementation.
- a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed.
- the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces.
- the indirect couplings or communication connections between the apparatuses or units may be implemented in an electronic form, a mechanical form, or another form.
- the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, in other words, may be located at one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of solutions of embodiments.
- functional units in embodiments of the present application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
-
- perform the first encoding on the to-be-encoded sequence to obtain Q first encoded sequences denoted as {C1 (0), C2 (0), . . . , Ck (0), . . . , CQ (0)}; perform first interleaving on Q/2 first encoded sequences {C1 (0), C3 (0), . . . , C2k−1 (0), . . . , CQ−1 (0)} in the Q first encoded sequences to obtain Q second encoded sequences {I1 (1)(C1 (0)),C2, . . . ,Ik (1)(C2k−1 (0)),C2k, . . . ,IQ/2 (1)(CQ−1 (0)),CQ}, where Ik (1) indicates to perform first interleaving on a kth first encoded sequence in the Q first encoded sequences; perform third encoding on the Q second encoded sequences to obtain P third encoded sequences {C1 (1), C2 (1), . . . , Ck (1), . . . , CP (1)}, k, P, and Q are all positive integers, where Ck (1)=[Ik (1)(C2k−1 (0)+C2k (0),C2k (0)]; perform second interleaving on P/2 third encoded sequences {C1 (1), C3 (1), . . . , C2k−1 (1), . . . , CQ−1 (1)} in the P third encoded sequences to obtain P fourth encoded sequences; and perform fourth encoding on the P fourth encoded sequences to obtain an encoded sequence.
and all addition and multiplication operations involved in the foregoing are addition and multiplication operations on a binary Galois field.
and a minimum code distance d of the RM code is 2m-r. Therefore, the RM code may also be expressed as: (N, K, d).
-
- selecting to-be-encoded bits in which row weights of generator matrices are greater than a preset row weight threshold;
- determining reliability corresponding to to-be-encoded bits in which the row weights of the generator matrices are greater than the preset row weight threshold, and sorting, in descending order of reliability (or ascending order of reliability), the bits in which the row weights of the generator matrices are greater than the preset row weight threshold; and
- If sorting is performed in descending order of the reliability, first K bits are selected as the information bits, and other bits in the to-be-encoded bits are used as the fixed bits. Similarly, if sorting is performed in ascending order of the reliability, last K bits are selected as the information bits, and other bits in the to-be-encoded bits are used as the fixed bits.
and then performing serial-to-parallel conversion to obtain [I1 (1)(C1 (0))⊕C2,C2].
-
- C1 (1)=U×GN
that is,
- C1 (1)=U×GN
where
-
- U1={u1, u2, u3 . . . , uN/2}
- U2={uN/2+1, uN/2+2, uN/2+3 . . . , uN}
to obtain one third encoded sequence [I1 (1)(C1 (0))⊕C2 (0),C2 (0)], that is,
-
- C1 (1)=[I1 (1)(C1 (0)⊕C2 (0),C2 (0)]
-
- C1 (2)=U×GN
- that is, C1 (2)=[U1,U2,U3,U4]×GN, where
-
- U1={u1,u2,u3 . . . ,UN/4}
- U2={UN/4+1,uN/4+2,uN/4+3 . . . , u2N/4}
- U3={U2N/4+1,u2N/4+2,u2N/4+3 . . . , u3N/4}
- U4={u3N/4+1,u3N/4+2,u3N/4+3 . . . ,uN}
-
- {I1 (1)(C1 (0)),C2 (0),I2 (1)(C3 (0)),C4 (0)}.
to obtain a first third encoded sequence [I1 (1)(C1 (0))⊕C2 (0),C2 (0)]. Similarly, the third encoding further includes performing exclusive OR processing on I2 (1)(C3 (0)) and C4 (0) to obtain I2 (1)(C3 (0))⊕C4 (0), and then performing serial-to-parallel conversion on
to obtain two third encoded sequence [I2 (1)(C3 (0))⊕C4 (0),C4 (0)], that is,
-
- C1 (1)=[I1 (1)(C1 (0))⊕C2 (0),C2 (0)]
- C2 (1)=[I2 (1)(C3 (0))⊕C4 (0),C4 (0)]
to obtain one fifth encoded sequence [I1 (2)(C1 (1))⊕C2 (1),C2 (1)], that is,
-
- C1 (2)=[I1 (2)(C1 (1)⊕C2 (1),C2 (1)]
-
- C1 (1)=[I1 (1)(C1 (0)⊕C2 (0),C2 (0)]
- C2 (1)=[I2 (1)(C3 (0)⊕C4 (0),C4 (0)]
-
- C1 (2)=[I1 (2)(I1 (1)(C1 (0))⊕C2 (0))⊕(I2 (1)(C3 (0))⊕(C4 (0)),I1 (2)(C2 (0))⊕C4 (0),I1 (2)(C3 (0))⊕C4 (0),C4 (0)]
| TABLE 1 | |||
| Minimum code | Quantity of codewords at | ||
| distance | the minimum code distance | ||
| RM | 16 | 94488 | ||
| PAC | 16 | 2776 | ||
| RI-RM-2 | 16 | 13864 | ||
| RI-RM-2 | 16 | 4664 | ||
Claims (20)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110260804.5A CN115085739A (en) | 2021-03-10 | 2021-03-10 | Encoding and decoding method and device |
| CN202110260804.5 | 2021-03-10 | ||
| PCT/CN2022/079571 WO2022188752A1 (en) | 2021-03-10 | 2022-03-07 | Encoding method and device, and decoding method and device |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/079571 Continuation WO2022188752A1 (en) | 2021-03-10 | 2022-03-07 | Encoding method and device, and decoding method and device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240030941A1 US20240030941A1 (en) | 2024-01-25 |
| US12476656B2 true US12476656B2 (en) | 2025-11-18 |
Family
ID=83227410
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/463,404 Active 2042-05-29 US12476656B2 (en) | 2021-03-10 | 2023-09-08 | Encoding and decoding method and apparatus |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12476656B2 (en) |
| CN (1) | CN115085739A (en) |
| WO (1) | WO2022188752A1 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4443824A4 (en) * | 2021-12-29 | 2025-09-17 | Huawei Tech Co Ltd | Method for encoding a concatenated code, method for decoding a concatenated code and communication device |
| CN119137907A (en) * | 2022-09-27 | 2024-12-13 | 中兴通讯股份有限公司 | Method and apparatus for information transmission |
| WO2024087012A1 (en) * | 2022-10-25 | 2024-05-02 | 华为技术有限公司 | Encoding apparatus and method, and decoding apparatus and method |
| CN120917689A (en) * | 2023-03-23 | 2025-11-07 | 华为技术有限公司 | Methods, systems, and apparatus for rate-less polarization encoding and low complexity decoding |
| WO2025024981A1 (en) * | 2023-07-28 | 2025-02-06 | 华为技术有限公司 | Rate matching method and communication apparatus |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080055122A1 (en) * | 2006-07-31 | 2008-03-06 | Agere Systems Inc. | Systems and Methods for Code Based Error Reduction |
| WO2008059160A2 (en) * | 2006-11-13 | 2008-05-22 | France Telecom | Encoding and decoding of a data signal according to a correcting code |
| CN101371448A (en) | 2006-01-19 | 2009-02-18 | 法国电信公司 | Rapid encoding and decoding method and related equipment |
| CN108809500A (en) | 2017-05-05 | 2018-11-13 | 华为技术有限公司 | Coding method, device and equipment |
| US20190158226A1 (en) * | 2017-01-10 | 2019-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Coding and decoding of a polar code concatenated with interleaving with an outer systematic code |
| US20200067536A1 (en) * | 2017-05-05 | 2020-02-27 | Huawei Technologies Co., Ltd. | Polar Code Transmission Method and Apparatus |
| US20200119846A1 (en) * | 2017-08-11 | 2020-04-16 | Huawei Technologies Co., Ltd. | Interleaving Method And Apparatus |
| CN112448724A (en) | 2019-08-29 | 2021-03-05 | 华为技术有限公司 | Data coding method and device |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110233698B (en) * | 2018-03-06 | 2021-11-19 | 北京紫光展锐通信技术有限公司 | Method for encoding and decoding polarization code, transmitting device, receiving device, and medium |
| KR102513782B1 (en) * | 2018-05-24 | 2023-03-27 | 에스케이하이닉스 주식회사 | Controller and operating method thereof |
-
2021
- 2021-03-10 CN CN202110260804.5A patent/CN115085739A/en active Pending
-
2022
- 2022-03-07 WO PCT/CN2022/079571 patent/WO2022188752A1/en not_active Ceased
-
2023
- 2023-09-08 US US18/463,404 patent/US12476656B2/en active Active
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101371448A (en) | 2006-01-19 | 2009-02-18 | 法国电信公司 | Rapid encoding and decoding method and related equipment |
| US20080055122A1 (en) * | 2006-07-31 | 2008-03-06 | Agere Systems Inc. | Systems and Methods for Code Based Error Reduction |
| WO2008059160A2 (en) * | 2006-11-13 | 2008-05-22 | France Telecom | Encoding and decoding of a data signal according to a correcting code |
| US20190158226A1 (en) * | 2017-01-10 | 2019-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Coding and decoding of a polar code concatenated with interleaving with an outer systematic code |
| CN108809500A (en) | 2017-05-05 | 2018-11-13 | 华为技术有限公司 | Coding method, device and equipment |
| US20200067536A1 (en) * | 2017-05-05 | 2020-02-27 | Huawei Technologies Co., Ltd. | Polar Code Transmission Method and Apparatus |
| US11258463B2 (en) * | 2017-05-05 | 2022-02-22 | Huawei Technologies Co., Ltd. | Polar code transmission method and apparatus |
| US20200119846A1 (en) * | 2017-08-11 | 2020-04-16 | Huawei Technologies Co., Ltd. | Interleaving Method And Apparatus |
| CN112448724A (en) | 2019-08-29 | 2021-03-05 | 华为技术有限公司 | Data coding method and device |
Non-Patent Citations (2)
| Title |
|---|
| International Search Report and Written Opinion issued in PCT/CN2022/079571, dated May 19, 2022, 10 pages. |
| International Search Report and Written Opinion issued in PCT/CN2022/079571, dated May 19, 2022, 10 pages. |
Also Published As
| Publication number | Publication date |
|---|---|
| US20240030941A1 (en) | 2024-01-25 |
| CN115085739A (en) | 2022-09-20 |
| WO2022188752A1 (en) | 2022-09-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12476656B2 (en) | Encoding and decoding method and apparatus | |
| US11539457B2 (en) | Method for encoding information in communication network | |
| US10567994B2 (en) | Method and device for transmitting data | |
| EP3442127B1 (en) | Polar code encoding method and apparatus | |
| JP7017627B2 (en) | Redundant version design solution in communication systems | |
| CN106817195B (en) | Method and apparatus for rate matching of polar codes | |
| US11128401B2 (en) | Method and apparatus for processing information, communications device, and communications system | |
| CN108173621B (en) | Data transmission method, transmitting device, receiving device and communication system | |
| EP4109794A1 (en) | Rate matching method for ldpc code, and communication device | |
| US11463108B2 (en) | Information processing method and communications apparatus | |
| US11139836B2 (en) | Information transmission method and transmission device, and information reception method and reception device | |
| US12476736B2 (en) | Concatenated code encoding method, concatenated code decoding method, and communication apparatus | |
| US11239945B2 (en) | Encoding method, decoding method, apparatus, and device | |
| US11115052B2 (en) | Information processing method and communications apparatus | |
| US11695435B2 (en) | Data transmission method, apparatus, and system | |
| CN102904668B (en) | A kind of quick PBCH coding/decoding method for LTE | |
| WO2020048537A1 (en) | Method and device for cascade coding | |
| CN114124108A (en) | Encoding method, decoding method and related device based on low density parity check | |
| EP4156522A1 (en) | Rate matching method for ldpc code, and communication device | |
| US11088706B2 (en) | Information processing method, apparatus, and communications device | |
| WO2024067350A1 (en) | Method for encoding and decoding concatenated code, and communication apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: HUAWEI TECHNOLOGIES CO., LTD., CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LI, BIN;GU, JIAQI;ZHANG, HUAZI;AND OTHERS;SIGNING DATES FROM 20231212 TO 20240829;REEL/FRAME:068482/0489 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ALLOWED -- NOTICE OF ALLOWANCE NOT YET MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| CC | Certificate of correction |