This application is a continuation of International Application No. PCT/CN2019/083008, filed on Apr. 17, 2019, which claims priority to Chinese Patent Application No. 201810356380.0, filed on Apr. 19, 2018. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
Embodiments of this application relate to the field of communications technologies, and in particular, to a Polar code encoding and decoding method and an apparatus.
In a long term evolution (LTE) communications system, before receiving or sending data, a terminal device needs to learn of downlink control information (DCI) configured by a base station for the terminal device, and the DCI is carried on a physical downlink control channel (PDCCH). Blind detection is an operation proposed in the 3rd generation partnership project (3GPP) LTE/LTE-Advanced standard, to enable the terminal device to obtain the DCI. The terminal device needs to search in a common search space (CSS) and a user-specific search space (USS) based on a PDCCH location, a PDCCH format, and a DCI format. For each candidate PDCCH in such search space, the terminal device needs to attempt to perform channel decoding on the candidate PDCCH, and obtain the DCI through decoding.
Currently, an operation of the base station is as follows. The base station generates a cyclic redundancy check (CRC) sequence based on the DCI of the terminal device, scrambles the CRC sequence by using a radio network temporary identifier (RNTI) of the terminal device, to obtain a scrambled CRC sequence, and uses the DCI of the terminal device and the scrambled CRC sequence as information bits to perform Polar code encoding. An operation of the terminal device is as follows. The terminal device obtains the candidate PDCCH through blind detection, performs Polar code decoding on the candidate PDCCH, descrambles the scrambled CRC sequence by using the RNTI, and performs CRC check by using a descrambled CRC sequence. If the CRC check succeeds, the terminal device may determine that the candidate PDCCH includes the DCI required by the terminal device.
However, the CRC check can be performed only when the last bit of the candidate PDCCH is decoded. Consequently, a delay of Polar code is relatively high.
Embodiments of this application provide a Polar code encoding and decoding method and an apparatus, to reduce decoding calculation complexity and reduce a decoding time.
According to a first aspect, an embodiment of this application provides a Polar code decoding method. The method includes obtaining, by a receiving apparatus, to-be-decoded information and scrambled frozen bits, performing, by the receiving apparatus, polarization decoding on some pieces of information in the to-be-decoded information based on the scrambled frozen bits, to obtain intermediate decoding information, where the intermediate decoding information includes I information bit segments and CRC bit segments respectively corresponding to the I information bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment, where I is a positive integer, and the to-be-decoded information includes J information bit segments and CRC bit segments respectively corresponding to the J information bit segments, where J is a positive integer, and I is less than J, performing, by the receiving apparatus, CRC check on the intermediate decoding information, and if the CRC check performed by the receiving apparatus on the intermediate decoding information fails, stopping performing polarization decoding on the to-be-decoded information.
According to the Polar code decoding method provided in the first aspect, an information bit segment and a CRC bit segment corresponding to the information bit segment may be gradually obtained in a decoding process. CRC check is performed on the I information bit segments and the CRC bit segments respectively corresponding to the I information bit segments. If the CRC check fails, it indicates that an error has occurred, and decoding may be stopped in advance and it is determined that the decoding fails. A decoding error does not need to be determined after polarization decoding is completed on all to-be-decoded information, and the decoding error may be determined in an intermediate decoding stage, thereby reducing the calculation complexity and reducing the decoding time.
Optionally, in a possible implementation of the first aspect, the scrambled frozen bits are scrambled by using a radio network temporary identifier (RNTI) of a terminal device.
According to the Polar code decoding method provided in the possible implementation, scrambling is performed by using the RNTI of the terminal device, to improve error correction performance of a codeword.
Optionally, in a possible implementation of the first aspect, the to-be-decoded information is candidate information determined through blind detection, and the method further includes performing, by the receiving apparatus, the foregoing polarization decoding and CRC check steps on N pieces of candidate information on which polarization decoding is not performed and that are determined through blind detection, until a quantity of first candidate information is equal to N, or until a quantity of first candidate information is equal to a preset maximum quantity of decoding attempts, or until second candidate information is obtained, and outputting all information bit segments obtained after polarization decoding is completed on the second candidate information, where N is a positive integer, the first candidate information is candidate information on which the CRC check fails, and the second candidate information is candidate information on which polarization decoding is completed on all information of the candidate information and on which the CRC check succeeds.
According to the Polar code decoding method provided in the possible implementation, the decoding error does not need to be determined after polarization decoding is completed on each piece of candidate information, and whether the candidate information is decoded incorrectly may be determined in the intermediate decoding stage, thereby reducing calculation complexity of blind detection and reducing a blind detection time.
Optionally, in a possible implementation of the first aspect, the candidate information determined through blind detection is used to determine a PDCCH or a Physical Broadcast Channel (PBCH).
Optionally, in a possible implementation of the first aspect, the method further includes if the CRC check performed by the receiving apparatus on the intermediate decoding information succeeds, returning to a step of continuing to perform polarization decoding, to obtain updated intermediate decoding information, performing CRC check on the updated intermediate decoding information, until the CRC check fails, then stopping performing polarization decoding, or until the CRC check succeeds, then completing polarization decoding on all information in the to-be-decoded information, and outputting all information bit segments obtained after polarization decoding is completed on the to-be-decoded information, where the updated intermediate decoding information includes I+1 information bit segments and CRC bit segments respectively corresponding to the I+1 information bit segments, and each of the CRC bit segments is concatenated at the tail of the information bit segment corresponding to the CRC bit segment.
Optionally, in a possible implementation of the first aspect, that the CRC check performed on the intermediate decoding information succeeds includes that CRC check performed on each of the I information bit segments succeeds.
Optionally, in a possible implementation of the first aspect, that the CRC check performed on the information bit segment succeeds includes obtaining L decoding paths by using a successive cancellation list (SC List, SCL) algorithm, where L is a positive integer, and if CRC check performed on any one of the L decoding paths succeeds, determining that the CRC check performed on the information bit segment succeeds.
Optionally, in a possible implementation of the first aspect, the performing, by the receiving apparatus, CRC check on the intermediate decoding information includes separately performing, by the receiving apparatus, CRC check on the I information bit segments in sequence based on an arrangement order of the I information bit segments.
Optionally, in a possible implementation of the first aspect, that the CRC check performed on the intermediate decoding information fails includes that CRC check performed on any one of the I information bit segments fails.
Optionally, in a possible implementation of the first aspect, that the CRC check performed on the information bit segment fails includes obtaining L decoding paths by using the SCL algorithm, where L is a positive integer, and if CRC check performed on each of the L decoding paths fails, determining that the CRC check performed on the information bit segment fails.
According to a second aspect, an embodiment of this application provides a Polar code encoding method. The method includes obtaining, by a sending apparatus, a to-be-encoded information bit sequence, segmenting, by the sending apparatus, the to-be-encoded information bit sequence, to obtain J information bit segments, where J is an integer greater than 1, separately performing, by the sending apparatus, CRC check on the J information bit segments, to obtain J CRC bit segments, performing, by the sending apparatus, polarization encoding on J CRC-checked information bit segments and preset frozen bits, to obtain a polarization-encoded information bit sequence, where the J CRC-checked information bit segments include the J information bit segments and the J CRC bit segments, and each of the CRC bit segment is concatenated at a tail of the information bit segment corresponding to the CRC bit segment, and outputting, by the sending apparatus, the polarization-encoded information bit sequence.
Optionally, in a possible implementation of the second aspect, the preset frozen bits are scrambled by using an RNTI of a terminal device.
Optionally, in a possible implementation of the second aspect, that the preset frozen bits are scrambled by using an RNTI of a terminal device includes cyclically scrambling, by the sending apparatus, the RNTI of the terminal device on the frozen bits.
Optionally, in a possible implementation of the second aspect, that the preset frozen bits are scrambled by using an RNTI of a terminal device includes scrambling, by the sending apparatus, the RNTI of the terminal device on frozen bits corresponding to at least one of the J information bit segments.
Optionally, in a possible implementation of the second aspect, that the preset frozen bits are scrambled by using an RNTI of a terminal device includes that frozen bits corresponding to each of the J information bit segments includes at least one frozen bit scrambled by using the RNTI of the terminal device.
Optionally, in a possible implementation of the second aspect, the to-be-encoded information bit sequence is information carried in DCI or a PBCH.
Optionally, in a possible implementation of the second aspect, the J information bit segments each include an equal quantity of information bits.
According to a third aspect, an embodiment of this application provides a receiving apparatus, including an obtaining module, configured to obtain to-be-decoded information and scrambled frozen bits, a decoding module, configured to perform polarization decoding on some pieces of information in the to-be-decoded information based on the scrambled frozen bits, to obtain intermediate decoding information, where the intermediate decoding information includes I information bit segments and CRC bit segments respectively corresponding to the I information bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment, where I is a positive integer, and the to-be-decoded information includes J information bit segments and CRC bit segments respectively corresponding to the J information bit segments, where J is a positive integer, and I is less than J, a check module, configured to perform CRC check on the intermediate decoding information, and the decoding module, further configured to if the CRC check performed on the intermediate decoding information fails, stop performing polarization decoding on the to-be-decoded information.
Optionally, in a possible implementation of the third aspect, the scrambled frozen bits are scrambled by using an RNTI of a terminal device.
Optionally, in a possible implementation of the third aspect, the to-be-decoded information is candidate information determined through blind detection, the decoding module is further configured to perform the foregoing polarization decoding step on N pieces of candidate information on which polarization decoding is not performed and that are determined through blind detection, and the check module is further configured to perform the foregoing CRC check step, until a quantity of first candidate information is equal to N, or until a quantity of first candidate information is equal to a preset maximum quantity of decoding attempts, or until second candidate information is obtained, and output all information bit segments obtained after polarization decoding is completed on the second candidate information, where N is a positive integer, the first candidate information is candidate information on which the CRC check fails, and the second candidate information is candidate information on which polarization decoding is completed on all information of the candidate information and on which the CRC check succeeds.
Optionally, in a possible implementation of the third aspect, the candidate information determined through blind detection is used to determine a PDCCH or a PBCH.
Optionally, in a possible implementation of the third aspect, the decoding module is further configured to if the CRC check performed on the intermediate decoding information succeeds, return to a step of continuing to perform polarization decoding, to obtain updated intermediate decoding information, and the check module is further configured to perform CRC check on the updated intermediate decoding information, until the CRC check fails, then stop performing polarization decoding, or until the CRC check succeeds, then complete polarization decoding on all information in the to-be-decoded information, and output all information bit segments obtained after polarization decoding is completed on the to-be-decoded information, where the updated intermediate decoding information includes I+1 information bit segments and CRC bit segments respectively corresponding to the I+1 information bit segments, and each of the CRC bit segments is concatenated at the tail of the information bit segment corresponding to the CRC bit segment.
Optionally, in a possible implementation of the third aspect, the check module is specifically configured to determine that CRC check performed on each of the I information bit segments succeeds.
Optionally, in a possible implementation of the third aspect, the check module is specifically configured to obtain L decoding paths by using an SCL algorithm, where L is a positive integer, and if CRC check performed on any one of the L decoding paths succeeds, determine that the CRC check performed on the information bit segment succeeds.
Optionally, in a possible implementation of the third aspect, the check module is specifically configured to separately perform, by the receiving apparatus, CRC check on the I information bit segments in sequence based on an arrangement order of the I information bit segments.
Optionally, in a possible implementation of the third aspect, the check module is specifically configured to determine that CRC check performed on any one of the I information bit segments fails.
Optionally, in a possible implementation of the third aspect, the check module is specifically configured to obtain L decoding paths by using the SCL algorithm, where L is a positive integer, and if CRC check performed on each of the L decoding paths fails, determine that the CRC check performed on the information bit segment fails.
According to a fourth aspect, an embodiment of this application provides a sending apparatus, including an obtaining module, configured to obtain a to-be-encoded information bit sequence, a data segmentation module, configured to segment the to-be-encoded information bit sequence, to obtain J information bit segments, where J is an integer greater than 1, a check module, configured to separately perform CRC check on the J information bit segments, to obtain J CRC bit segments, and an encoding module, configured to perform polarization encoding on J CRC-checked information bit segments and preset frozen bits, to obtain a polarization-encoded information bit sequence, and output the polarization-encoded information bit sequence, where the J CRC-checked information bit segments include the J information bit segments and the J CRC bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment.
Optionally, in a possible implementation of the fourth aspect, the preset frozen bits are scrambled by using an RNTI of a terminal device.
Optionally, in a possible implementation of the fourth aspect, the encoding module is specifically configured to cyclically scramble the RNTI of the terminal device on the frozen bits.
Optionally, in a possible implementation of the fourth aspect, the encoding module is specifically configured to scramble the RNTI of the terminal device on frozen bits corresponding to at least one of the J information bit segments.
Optionally, in a possible implementation of the fourth aspect, the encoding module is specifically configured to indicate that frozen bits corresponding to each of the J information bit segments includes at least one frozen bit scrambled by using the RNTI of the terminal device.
Optionally, in a possible implementation of the fourth aspect, the to-be-encoded information bit sequence is information carried in DCI or a PBCH.
Optionally, in a possible implementation of the fourth aspect, the J information bit segments each include an equal quantity of information bits.
According to a fifth aspect, an embodiment of this application provides a receiving device, including a memory, a processor, and a computer program, where the computer program is stored in the memory, and the processor runs the computer program to perform the method according to the first aspect and various possible designs of the first aspect.
According to a sixth aspect, an embodiment of this application provides a sending device, including a memory, a processor, and a computer program, where the computer program is stored in the memory, and the processor runs the computer program to perform the method according to the second aspect and various possible designs of the second aspect.
According to a seventh aspect, an embodiment of this application provides a storage medium, where the storage medium stores a computer program, and the computer program is used to implement the method according to the first aspect and various possible designs of the first aspect, or implement the method according to the second aspect and various possible designs of the second aspect.
According to an eighth aspect, an embodiment of this application provides a computer program product, where the computer program product includes computer program code, and when the computer program code is run on a computer, the computer is enabled to perform the method according to the first aspect and various possible designs of the first aspect, or perform the method according to the second aspect and various possible designs of the second aspect.
According to a ninth aspect, an embodiment of this application provides a chip, including a memory and a processor, where the memory is configured to store a computer program, and the processor is configured to invoke the computer program from the memory and run the computer program, so that the chip performs the method according to the first aspect and various possible designs of the first aspect, or perform the method according to the second aspect and various possible designs of the second aspect.
Embodiments of this application provides a Polar code encoding and decoding method and an apparatus. On an encoding side, a to-be-encoded information bit sequence is segmented, and a CRC bit segment is generated based on each information bit segment. Segmental polarization encoding may be performed on each information bit segment and the CRC bit segment corresponding to the information bit segment, so that the receiving apparatus can perform polarization decoding on each information bit segment and the CRC bit segment corresponding to the information bit segment. On a decoding side, an information bit segment and a CRC bit segment corresponding to the information bit segment may be gradually obtained in a decoding process. CRC check is performed on I information bit segments and CRC bit segments respectively corresponding to the I information bit segments. If the CRC check fails, it indicates that an error has occurred, and decoding may be stopped in advance and it is determined that the decoding fails. Because a decoding error does not need to be determined after polarization decoding is completed on all to-be-decoded information, and the decoding error may be determined in an intermediate decoding stage, calculation complexity is reduced, and a decoding time is reduced.
A Polar code encoding and decoding method provided in the embodiments of this application may be applied to a wireless communications system. A type of the wireless communications system is not limited in the embodiments of this application. For example, the wireless communications system may be a global system for mobile communications (GSM), a wideband code division multiple access (WCDMA) system, a code division multiple access 2000 (CDMA2000) system, a time division-synchronous code division multiple access (TD-SCDMA) system, an LTE communications system, a 5G mobile communications system, and a narrow band-internet of things (NB-IoT) system.
For example,
In a 5G communications system, Polar code is determined as an encoding and decoding scheme of a control channel. For example, in an application scenario, the network device performs Polar code encoding on DCI. Correspondingly, the terminal device performs blind detection on a PDCCH, to obtain required DCI. In another application scenario, the network device performs Polar code encoding on information carried in a physical broadcast channel (PBCH), for example, performs Polar code encoding on a master information block (MIB) in the PBCH. Correspondingly, the terminal device performs blind detection on the PBCH, to obtain the information carried in the PBCH.
The Polar code is a linear block code. An encoding process is uNGN=xN, where uN=(u1, u2, . . . , uN) is a binary row vector, and a length is N (namely, a mother code length). GN is a generator matrix of N×N, and GN=F2⊗(log
and F2⊗(log
In the Polar code encoding process, some bits in uN are used to carry information (for example, the DCI), and are referred to as information bits. A set of indexes of the bits is denoted as A. Other bits in uN are set to fixed values pre-agreed on between a transmit end and a receive end and are referred to as frozen bits (or constant bits), and a set of indexes of the bits is denoted by a complementary set Ac of A. Without loss of generality, the frozen bits are usually set to 0. It should be noted that the frozen bits may be randomly set provided that the transmit end and the receive end agree in advance.
The Polar code decoding is based on a successive cancellation (SC) decoding algorithm, a successive cancellation list (SC List, SCL) decoding algorithm, or the like. In the SC decoding algorithm, sequential decoding starts from the first bit. The successive cancellation list decoding algorithm is an improvement of the SC decoding algorithm. After a plurality of candidate decoding paths are reserved for each bit, and all bits are decoded, all candidate decoding paths in the list are selected according to a criterion, to obtain a final decoding result.
For a prior-art problem of a long PDCCH blind detection time and high calculation complexity, in the Polar code encoding and decoding method provided in this embodiment of this application, CRC check, encoding, and decoding are separately performed on to-be-encoded information bit sequence segments, and decoding on a segment may be stopped in time when a problem occurs in decoding of the segment, thereby improving Polar code encoding and decoding efficiency.
The following describes in detail, by using specific embodiments, technical solutions of this application and how to resolve the foregoing technical problem by using the technical solutions of this application. The following several specific embodiments may be combined with each other, and a same or similar concept or process may not be described repeatedly in some embodiments.
S101: Obtain a to-be-encoded information bit sequence.
In different application scenarios, the to-be-encoded information bit sequences may be different.
Optionally, the to-be-encoded information bit sequence may be information carried in DCI or a PBCH.
S102: Segment the to-be-encoded information bit sequence, to obtain J information bit segments, where J is an integer greater than 1.
Specifically, the to-be-encoded information bit sequence may be evenly segmented based on values of lengths L and J of the to-be-encoded information bit sequence, or may not be evenly segmented. A segmentation rule is not limited in this embodiment. Optionally, the J information bit segments each include an equal quantity of information bits. In this case, L may be a multiple of J. A quantity of information bits included in each information bit segment is L/J. Optionally, the J information bit segments may include different quantities of information bits. For example, the to-be-encoded information bit sequence is 512 bits, and J is 8. In this case, a quantity of information bits included in each of four information bit segments may be 32 bits, and a quantity of information bits included in each of the other four information bit segments may be 96 bits.
It should be noted that a specific value of J is not limited in this embodiment, and is set based on a requirement.
S103: Separately perform CRC check on the J information bit segments, to obtain J CRC bit segments.
Specifically, the CRC check is separately performed on the J information bit segments, to generate the J CRC bit segments respectively corresponding to the J information bit segments. It may be understood that each CRC bit segment is related to only one information bit segment, and is unrelated to the other J−1 information bit segments.
It should be noted that a length of the CRC bit segment is not limited in this embodiment, provided that the sending apparatus and a receiving apparatus agree in advance. Optionally, lengths of the CRC bit segments respectively corresponding to the J information bit segments may be the same. For example, the to-be-encoded information bit sequence is divided into four information bit segments, and a length of a CRC bit segment corresponding to each information bit segment is 4 bits. Optionally, lengths of the CRC bit segments respectively corresponding to the J information bit segments may be different. For example, in four information bit segments, lengths of CRC bit segments respectively corresponding to two information bit segments each may be 8 bits, and lengths of CRC bit segments respectively corresponding to the other two information bit segments each may be 16 bits. It should be noted that 16 CRC bits are still used as an example herein. In actual application, a specific quantity of CRC bits may further be 20, 24, 28, 32, or the like. A processing principle is the same as that of the 16 CRC bits. Therefore, details are not described again.
S104: Perform polarization encoding on J CRC-checked information bit segments and preset frozen bits, to obtain a polarization-encoded information bit sequence.
The J CRC-checked information bit segments include the J information bit segments and the J CRC bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment.
The following describes, by using an example, the J CRC-checked information bit segments.
In this embodiment, when polarization encoding is performed on the J CRC-checked information bit segments and the preset frozen bits, the J CRC-checked information bit segments are carried on a plurality of information bits. In the process, the frozen bits are filled between the information bits. A set of a plurality of filled frozen bits is referred to as a frozen set. In a polarization-encoded information bit sequence, there are frozen bits corresponding to each CRC-checked information bit segment. It may be understood that there are frozen bits corresponding to each information bit segment and a CRC bit segment corresponding to the information bit segment, or there are frozen bits corresponding to each information bit segment. Correspondingly, when performing polarization decoding, a receiving apparatus may perform segmental polarization decoding on each information bit segment and the CRC bit corresponding to the information bit segment. When a problem occurs in decoding of a segment, the decoding may be stopped in time, thereby improving Polar code encoding and decoding efficiency.
It should be noted that, a plurality of construction manners, for example, a Polar weight (PW) construction manner or a fractally enhanced kernel (FRActally eNhanced Kernel, FRANK) construction manner, may be used to determine a quantity and locations of the J CRC-checked information bit segments carried on the plurality of information bits and a quantity and locations of frozen bits in the frozen set. For a possible implementation of the PW construction manner, refer to the proposal R1-1611254 in 3GPP TSG RAN WG1 Meeting #87, and a specific construction manner is not particularly limited in this embodiment.
It should be noted that a scrambling manner of the preset frozen bits is not limited in this embodiment, provided that a sending apparatus and the receiving apparatus agree in advance.
Optionally, the preset frozen bits are scrambled by using an all-zero sequence.
Optionally, the preset frozen bits are scrambled by using an RNTI of a terminal device.
Specifically, in some application scenarios, the RNTI of the terminal device is used for scrambling, so that error correction performance of a codeword can be improved, and the receiving apparatus can accurately perform decoding. For example, for a PDCCH blind detection scenario, the sending apparatus may be a network device. For DCI of different terminal devices, the network device may scramble preset frozen bits by using RNTIs of the terminal devices. Therefore, when performing PDCCH blind detection, the terminal device may perform polarization decoding based on the RNTI of the terminal device, thereby improving accuracy of the PDCCH blind detection.
Optionally, in an implementation, that the preset frozen bits are scrambled by using an RNTI of a terminal device may include cyclically scrambling the RNTI of the terminal device on the frozen bits.
For example, if a frozen bit is 64 bits, and the RNTI of the terminal device is 16 bits, the RNTI of the terminal device may be cyclically scrambled on the 64-bit frozen bit, and a quantity of cycles is 64/16=4.
The RNTI of the terminal device is scrambled on each frozen bit, thereby further improving error correction performance of the codeword.
Optionally, in another implementation, that the preset frozen bits are scrambled by using an RNTI of a terminal device may include scrambling the RNTI of the terminal device on the frozen bits corresponding to at least one of the J information bit segments.
In the implementation, a frozen bit corresponding to at least one of the J information bit segments is scrambled by using the RNTI of the terminal device, and at most, frozen bits respectively corresponding to all the J information bit segments are scrambled by using the RNTI of the terminal device. The RNTI of the terminal device is scrambled on the frozen bits corresponding to the at least one information bit segment, thereby further improving the error correction performance of the codeword.
It should be noted that, that the RNTI of the terminal device is scrambled on frozen bits respectively corresponding to which information bit segment or information bit segments in the J information bit segments is not particularly limited in this embodiment, and is set based on a requirement. Optionally, based on an arrangement order of the J information bit segments, intervals between two adjacent scrambled information bit segments are equal. For example, a quantity of information bit segments is 16, and sequence numbers of the information bit segments are separately 1 to 16. The RNTI of the terminal device may be scrambled on frozen bits corresponding to information bit segments whose sequence numbers are 1, 3, 5, 7, 9, 11, 13, and 15. Alternatively, the RNTI of the terminal device may be scrambled on frozen bits corresponding to information bit segments whose sequence numbers are 2, 6, 10, and 14. Optionally, the RNTI of the terminal device may be scrambled on the frozen bits corresponding to the first or last information bit segment.
Optionally, in still another implementation, that the preset frozen bits are scrambled by using an RNTI of a terminal device may include that the frozen bits corresponding to each of the J information bit segments includes at least one frozen bit scrambled by using the RNTI of the terminal device.
In the implementation, the frozen bits corresponding to each of the J information bit segments is scrambled by using the RNTI of the terminal device. Specifically, at least one frozen bit is scrambled by using the RNTI of the terminal device, and at most all frozen bits are scrambled by using the RNTI of the terminal device. The RNTI of the terminal device is scrambled on at least one frozen bit in frozen bits corresponding to information bit segments, thereby further improving the error correction performance of the codeword.
It should be noted that, which frozen bit or frozen bits that is/are in frozen bits corresponding to information bit segments and on which the RNTI of the terminal device is scrambled is/are not particularly limited in this embodiment, and is/are set based on a requirement. Optionally, a quantity of bits between two adjacent scrambled frozen bits is equal. For example, a frozen bit is 16 bits, and sequence numbers are separately 1 to 16. The frozen bits whose sequence numbers are 1, 5, 9, and 13 may be scrambled by using the RNTI of the terminal device. Alternatively, frozen bits whose sequence numbers are 2, 4, 6, 8, 10, 12, 14, and 16 may be scrambled by using the RNTI of the terminal device. Optionally, scrambling may be performed at a front end or a back end of a frozen bit corresponding to an information bit segment. For example, a frozen bit is 16 bits, and sequence numbers are separately 1 to 16. Frozen bits whose sequence numbers are 1 to 8 or 9 to 16 may be scrambled by using the RNTI of the terminal device.
S105: Output the polarization-encoded information bit sequence.
The Polar code encoding method provided in this embodiment includes obtaining a to-be-encoded information bit sequence, segmenting the to-be-encoded information bit sequence, to obtain J information bit segments, separately performing CRC check on the J information bit segments, to obtain J CRC bit segments, performing polarization encoding on J CRC-checked information bit segments and preset frozen bits, to obtain a polarization-encoded information bit sequence, and outputting the polarization-encoded information bit sequence. According to the Polar code encoding method provided in this embodiment, the to-be-encoded information bit sequence is segmented, and a CRC bit segment is generated based on each information bit segment. Segmental polarization encoding may be performed on each information bit segment and the CRC bit segment corresponding to the information bit segment, so that the receiving apparatus can perform polarization decoding on each information bit segment and the CRC bit segment corresponding to the information bit segment. When a problem occurs in decoding of a segment, the decoding may be stopped in time, thereby improving Polar code encoding and decoding efficiency.
S201: Obtain to-be-decoded information and scrambled frozen bits.
The to-be-decoded information is information received by the receiving apparatus after polarization-encoded information sent by a sending apparatus is transmitted through a channel. In different application scenarios, the to-be-decoded information may be different.
Optionally, in a PDCCH blind detection scenario, the to-be-decoded information may be a candidate PDCCH. The candidate PDCCH may be determined through searching by a terminal device in a CSS and a USS based on a PDCCH location, a PDCCH format, and a DCI format. A quantity of candidate PDCCHs is not limited in this embodiment.
Optionally, in a PBCH blind detection scenario, the to-be-decoded information may be a candidate PBCH. A method for determining a candidate PBCH is not limited in this embodiment, and an existing method may be used.
A quantity of scrambled frozen bits and locations of the scrambled frozen bits may be constructed in a plurality of manners, and are agreed by the sending apparatus and the receiving apparatus in advance.
Optionally, the scrambled frozen bits may be scrambled by using an RNTI of the terminal device.
For details, refer to the description in S104 in the embodiment shown in
S202: Perform polarization decoding on some pieces of information in the to-be-decoded information based on the scrambled frozen bits, to obtain intermediate decoding information.
The intermediate decoding information includes I information bit segments and CRC bit segments respectively corresponding to the I information bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment, where I is a positive integer.
The to-be-decoded information includes J information bit segments and CRC bit segments respectively corresponding to the J information bit segments, where J is a positive integer, and I is less than J.
Specifically, the receiving apparatus may perform polarization decoding by using an SC decoding algorithm or an SCL decoding algorithm. Sequential decoding starts from the first bit of to-be-decoded information. After polarization decoding is performed on some pieces of information in the to-be-decoded information based on the scrambled frozen bits, the intermediate decoding information may be obtained. In this case, polarization decoding is not completed on all to-be-decoded information. The to-be-decoded information includes J information bit segments and CRC bit segments respectively corresponding to the J information bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment, where J is a positive integer. However, the intermediate decoding information includes I information bit segments and CRC bit segments respectively corresponding to the I information bit segments, and each of the CRC bit segments is concatenated at the tail of the information bit segment corresponding to the CRC bit segment, where I is a positive integer, and I is less than J.
It can be learned that when performing polarization decoding, the receiving apparatus may gradually obtain an information bit segment and a CRC bit segment corresponding to the information bit segment.
S203: Perform CRC check on the intermediate decoding information.
Optionally, that perform CRC check on the intermediate decoding information may include separately perform CRC check on the I information bit segments in sequence based on an arrangement order of the I information bit segments.
Specifically, each CRC bit segment is related to only one information bit segment, and is unrelated to another information bit segment. That the CRC check is performed on the intermediate decoding information means that CRC check is performed, based on each CRC bit segment, on an information bit segment corresponding to the CRC bit segment.
The following uses an example for description.
It is assumed that I=3. The intermediate decoding information includes three information bit segments and CRC bit segments respectively corresponding to the three information bit segments, and may be sequentially denoted as an information bit segment 1, a CRC bit segment 1, an information bit segment 2, a CRC bit segment 2, an information bit segment 3, and a CRC bit segment 3. That perform CRC check on the intermediate decoding information may include performing CRC check on the information bit segment 1 based on the CRC bit segment 1, performing CRC check on the information bit segment 2 based on the CRC bit segment 2, and performing CRC check on the information bit segment 3 based on the CRC bit segment 3.
S204: If the CRC check performed on the intermediate decoding information fails, stop performing polarization decoding on the to-be-decoded information.
It can be learned that, according to the Polar code decoding method provided in this embodiment, an information bit segment and a CRC bit segment corresponding to the information bit segment may be gradually obtained in a decoding process. CRC check is performed on I information bit segments and CRC bit segments respectively corresponding to the I information bit segments. If the CRC check fails, it indicates that an error has occurred, and decoding may be stopped in advance and it is determined that the decoding fails. Compared with the prior art, a decoding error does not need to be determined after polarization decoding is completed on all to-be-decoded information, and the decoding error may be determined in an intermediate decoding stage, thereby reducing calculation complexity and reducing a decoding time.
Optionally, the Polar code decoding method provided in this embodiment may further include if the CRC check performed on the intermediate decoding information succeeds, returning to a step of continuing to perform polarization decoding, to obtain updated intermediate decoding information, performing CRC check on the updated intermediate decoding information, until the CRC check fails, then stopping performing polarization decoding, or until the CRC check succeeds, then completing polarization decoding on all information in the to-be-decoded information, and outputting all information bit segments obtained after polarization decoding is completed on the to-be-decoded information.
The updated intermediate decoding information includes I+1 information bit segments and CRC bit segments respectively corresponding to the I+1 information bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment.
Specifically, the Polar code decoding method provided in this embodiment is a cyclic execution process. When decoding is performed at a tail of a CRC bit segment, CRC check is performed on an information bit segment that exists before the CRC bit segment, to determine whether the CRC check fails. If the CRC check fails, decoding may be ended in advance and it is determined that the decoding fails. If the CRC check succeeds, polarization decoding continues to be performed.
The following uses a specific example for description.
It is assumed that J=5, that is, the to-be-decoded information includes 5 information bit segments and CRC bit segments respectively corresponding to the 5 information bit segments.
First, polarization decoding is performed on some pieces of information in the to-be-decoded information based on the scrambled frozen bits, to obtain intermediate decoding information. The intermediate decoding information includes a first information bit segment (denoted as an information bit segment 1) and a first CRC bit segment (denoted as a CRC bit segment 1). The CRC bit segment 1 is concatenated at a tail of the information bit segment 1 and corresponds to the information bit segment 1.
CRC check is performed on the first information bit segment based on the CRC bit segment 1.
If the CRC check succeeds, polarization decoding continues to be performed on the to-be-decoded information.
Then, polarization decoding continues to be performed on some pieces of information in the to-be-decoded information based on the scrambled frozen bits, to obtain the intermediate decoding information. The intermediate decoding information includes the information bit segment 1 and the CRC bit segment 1, a second information bit segment (denoted as an information bit segment 2), and a second CRC bit segment (denoted as a CRC bit segment 2). The CRC bit segment 2 is concatenated at a tail of the information bit segment 2 and corresponds to the information bit segment 2.
CRC check is performed on the first information bit segment based on the CRC bit segment 1, and CRC check is performed on the second information bit segment based on the CRC bit segment 2.
If the CRC check fails, polarization decoding on the to-be-decoded information is stopped.
Optionally, that the CRC check performed on the intermediate decoding information fails in S204 may include that CRC check performed on any one of the I information bit segments fails.
The following uses an example for description.
It is assumed that I=3. The intermediate decoding information includes three information bit segments and CRC bit segments respectively corresponding to the three information bit segments. The three information bit segments are sequentially denoted as an information bit segment 1, an information bit segment 2, and an information bit segment 3. If CRC check performed on the information bit segment 1 fails, or CRC check performed on the information bit segment 2 fails, or CRC check performed on the information bit segment 3 fails, it may be determined that the CRC check performed on the intermediate decoding information fails.
Optionally, for each information bit segment, that CRC check performed on the information bit segment fails may include obtaining L decoding paths by using an SCL algorithm, where L indicates a search width, and L is a positive integer, and if CRC check performed on each of the L decoding paths fails, determining that the CRC check performed on the information bit segment fails.
It should be noted that a specific value of L is not limited in this embodiment. L indicates a search width of the SCL algorithm, that is, each time CRC check is performed, a quantity of decoding paths that survive in the list (list) is L.
The following uses an example for description.
For example, polarization decoding is performed on some pieces of information in to-be-decoded information based on scrambled frozen bits, to obtain intermediate decoding information. The intermediate decoding information includes an information bit segment 1 and a CRC bit segment 1 (2 bits in total, corresponding to the first layer and the second layer in
For another example, polarization decoding is performed on some pieces of information in to-be-decoded information based on scrambled frozen bits, to obtain intermediate decoding information. The intermediate decoding information includes an information bit segment 1 and a CRC bit segment 1 (2 bits in total, corresponding to the first layer and the second layer in
Optionally, that CRC check performed on the intermediate decoding information succeeds may include that CRC check performed on each of I information bit segments succeeds.
The following uses an example for description.
It is assumed that I=3. The intermediate decoding information includes three information bit segments and CRC bit segments respectively corresponding to the three information bit segments. The three information bit segments are sequentially denoted as an information bit segment 1, an information bit segment 2, and an information bit segment 3. If CRC check performed on the information bit segment 1 succeeds, CRC check performed on the information bit segment 2 succeeds, and CRC check performed on the information bit segment 3 succeeds, it may be determined that the CRC check performed the intermediate decoding information succeeds.
Optionally, for each information bit segment, that CRC check performed on the information bit segment succeeds may include obtaining L decoding paths by using an SCL algorithm, where L indicates a search width, and L is a positive integer, and if CRC check performed on any one of the L decoding paths succeeds, determining that the CRC check performed on the information bit segment succeeds.
The following further uses
For example, the intermediate decoding information includes the information bit segment 1 and the CRC bit segment 1 (2 bits in total, corresponding to the first layer and the second layer in
For another example, the intermediate decoding information includes the information bit segment 1 and the CRC bit segment 1 (2 bits in total, corresponding to the first layer and the second layer in
Optionally, if the to-be-decoded information is candidate information determined through blind detection, the Polar code decoding method provided in this embodiment may further include performing the foregoing polarization decoding and CRC check steps on N pieces of candidate information on which polarization decoding is not performed and that are determined through blind detection, until a quantity of first candidate information is equal to N, or until a quantity of the first candidate information is equal to a preset maximum quantity of decoding attempts, or until second candidate information is obtained, and outputting all information bit segments obtained after polarization decoding is completed on the second candidate information, where N is a positive integer.
The first candidate information is candidate information on which the CRC check fails. The second candidate information is candidate information on which polarization decoding is completed on all information of the candidate information and on which the CRC check succeeds.
Specifically, in the foregoing application scenario, the to-be-decoded information is candidate information determined through blind detection. Optionally, the candidate information determined through blind detection may be used to determine a PDCCH or a PBCH. In this case, there are a plurality of pieces of candidate information. Steps S201 to S204 may be performed for each candidate information, to determine whether to stop performing polarization decoding in advance. If it is determined to stop performing polarization decoding in advance for the current candidate information, steps S201 to S204 continue to be performed for next candidate information on which polarization decoding is not performed. Finally, a blind detection result is obtained.
The foregoing polarization decoding is performed on the candidate information obtained through blind detection. In a process of performing polarization decoding on each candidate information, if CRC check performed on an intermediate decoding result fails, it indicates that an error has occurred, decoding on the candidate information may be stopped in advance, and a next candidate information may be attempted to be decoded. Compared with the prior art, a decoding error does not need to be determined after polarization decoding is completed on each candidate information, and whether the candidate information is decoded incorrectly may be determined in an intermediate decoding stage, thereby reducing calculation complexity of blind detection and reducing a blind detection time.
It should be noted that specific values of N and the preset maximum quantity of decoding attempts are not limited in this embodiment.
It should be noted that, how to select a path in the SCL algorithm is not limited in this embodiment, and an existing SCL decoding algorithm may be used.
The following example describes how to select a path. The scrambled frozen bits may be scrambled by using an RNTI of a terminal device.
In the SCL algorithm, a path formed from a root node to any node corresponds to a path metric (PM). When each layer is extended to a next layer, L paths at a current layer are selected according to a preset rule, where L may be referred to as a search width, and L is a positive integer. A PM of each decoding path is calculated according to a formula
where PMl(i) represents a PM value of a decoding path l ∈ {1,2, . . . , L} when decoding is performed to the i ∈ {1,2, . . . , N}th step (layer).
An updated rule of PMl(i) is as follows:
PMl(i) is updated when a decoding path is split. If a direction of decoding path splitting is inconsistent with a symbol of a log likelihood rate (LLR) value, a penalty item |Ln(j) [l]| is added.
In this embodiment, in a PDCCH blind detection scenario, a network device may place an RNTI of each terminal device at a frozen bit location of a codeword sent to the terminal device. During decoding, the terminal device uses an RNTI sequence of the terminal device as a determining sequence of frozen bits. When the terminal device performs decoding, by using the RNTI of the terminal device, on the received sequence that includes an RNTI of another terminal device, a û i []=δ(Ln(j) []) relationship is not met at locations at which RNTI sequences are inconsistent. Consequently, a penalty item |Ln(j) []| is added to PMl(i). A penalty item is added to a path on which correctly decoding is performed. As a result, the PM value fails to be updated. Consequently, the CRC check fails. When all decoding paths fail to be checked, decoding is stopped in advance.
The following describes decoding performance in this application by using a specific example and a simulation experiment.
In an example, Table 1 shows decoding-related parameters during PDCCH blind detection.
In Table 1, CA-SCL with single longer CRC represents an existing Polar code encoding and decoding method, and SCA-SCL with Segmented CRC is the Polar code encoding and decoding method provided in the embodiments of this application. If J=4, a length of each CRC bit segment is 4 bits. In combinations of to-be-encoded information bit sequences of different lengths and encoded information bit sequences of different lengths, for the existing encoding and decoding method and the encoding and decoding method provided in the embodiments of this application, performance comparison is performed based on a miss detection ratio (MDR), a decoding early termination ratio (ETR), and a calculation complexity gain.
As shown in
As shown in
The definition of early termination is that a decoder stops decoding before the last bit is decoded. In an application scenario of PDCCH blind detection, according to the Polar code decoding method provided in the embodiments when J=4, most decoding may be stopped in advance.
As shown in
The complexity of sorting PM values of the SCL is related to a sorting algorithm. In the example, bitonic sorting (bitonic sorter) is used. Therefore, equivalent complexity of the sorting may be represented as:
Therefore, the complexity of the SCL decoding algorithm may be represented as:
Complexity calculation of an SCA-SCL (segmented-crc-aided SCL) decoding algorithm provided in this embodiment of this application is related to a stop location. If a subscript of the stop location is t, the complexity is represented as:
The Polar code decoding method provided in the embodiments includes obtaining to-be-decoded information and scrambled frozen bits, performing polarization decoding on some pieces of information in the to-be-decoded information based on the scrambled frozen bits, to obtain intermediate decoding information, performing CRC check on the intermediate decoding information, and if the CRC check performed on the intermediate decoding information fails, stopping performing polarization decoding on the to-be-decoded information. According to the Polar code decoding method provided in the embodiments, an information bit segment and a CRC bit segment corresponding to the information bit segment may be gradually obtained in a decoding process. CRC check is performed on I information bit segments and CRC bit segments respectively corresponding to the I information bit segments. If the CRC check fails, it indicates that an error has occurred, and decoding may be stopped in advance and it is determined that the decoding fails, thereby reducing computational complexity and reducing a decoding time.
Optionally, the preset frozen bits are scrambled by using an RNTI of a terminal device.
Optionally, the encoding module 24 is specifically configured to cyclically scramble the RNTI of the terminal device on the frozen bits.
Optionally, the encoding module 24 is specifically configured to scramble the RNTI of the terminal device on frozen bits corresponding to at least one of the J information bit segments.
Optionally, the encoding module 24 is specifically configured to indicate that frozen bits corresponding to each of the J information bit segments include at least one frozen bit scrambled by using the RNTI of the terminal device.
Optionally, the to-be-encoded information bit sequence is information carried in DCI or a PBCH.
Optionally, the J information bit segments each include an equal quantity of information bits.
The sending apparatus provided in this embodiment of this application is configured to perform the Polar code encoding method provided in the method embodiments shown in
Optionally, the scrambled frozen bits are scrambled by using an RNTI of the terminal device.
Optionally, the to-be-decoded information is candidate information determined through blind detection.
The decoding module 32 is further configured to perform the foregoing polarization decoding step on N pieces of candidate information on which polarization decoding is not performed and that are determined through blind detection, and the check module 33 is further configured to perform the foregoing CRC check step, until a quantity of first candidate information is equal to N, or until a quantity of the first candidate information is equal to a preset maximum quantity of decoding attempts, or until second candidate information is obtained, and output all information bit segments obtained after polarization decoding is completed on the second candidate information, where N is a positive integer.
The first candidate information is candidate information on which the CRC check fails. The second candidate information is candidate information on which polarization decoding is completed on all information of the candidate information and on which the CRC check succeeds.
Optionally, the candidate information determined through blind detection is used to determine a PDCCH or a PBCH.
Optionally, the decoding module 32 is further configured to if the CRC check performed on the intermediate decoding information succeeds, return to a step of continuing to perform polarization decoding, to obtain updated intermediate decoding information.
The check module 33 is further configured to perform CRC check on the updated intermediate decoding information, until the CRC check fails, then stop performing polarization decoding, or until the CRC check succeeds, then complete polarization decoding on all information in the to-be-decoded information, and output all information bit segments obtained after polarization decoding is completed on the to-be-decoded information.
The updated intermediate decoding information includes I+1 information bit segments and CRC bit segments respectively corresponding to the I+1 information bit segments, and each of the CRC bit segments is concatenated at a tail of the information bit segment corresponding to the CRC bit segment.
Optionally, the check module 33 is specifically configured to determine that CRC check performed on each of I information bit segments succeeds.
Optionally, the check module 33 is specifically configured to obtain L decoding paths by using a successive cancellation list SCL algorithm, where L indicates a search width, and L is a positive integer, and if CRC check performed on any one of the L decoding paths succeeds, determine that the CRC check performed on the information bit segment succeeds.
Optionally, the check module 33 is specifically configured to separately perform, by the receiving apparatus, CRC check on the I information bit segments in sequence based on an arrangement order of the I information bit segments.
Optionally, the check module 33 is specifically configured to determine that CRC check performed on any one of the I information bit segments fails.
Optionally, the check module 33 is specifically configured to obtain L decoding paths by using the SCL algorithm, where L indicates a search width, and L is a positive integer, and if CRC check performed on each of the L decoding paths fails, determine that the CRC check performed on the information bit segment fails.
The receiving apparatus provided in this embodiment of this application is configured to perform the Polar code decoding method provided in the method embodiments shown in
An embodiment of this application further provides a storage medium. The storage medium stores a computer program, and the computer program is used to implement the Polar code encoding method provided in the method embodiments shown in
An embodiment of this application further provides a computer program product. The computer program product includes computer program code, and when the computer program code is run on a computer, the computer is enabled to perform the Polar code encoding method provided in the method embodiments shown in
An embodiment of this application further provides a chip, including a memory and a processor. The memory is configured to store a computer program, and the processor is configured to invoke the computer program from the memory and run the computer program, so that the chip performs the Polar code encoding method provided in the method embodiments shown in
In the several embodiments provided in this application, it should be understood that the disclosed device and method may be implemented in other manners. For example, the described device embodiments are merely exemplary. For example, the module division is merely logical function division and may be other division in actual implementation. For example, a plurality of modules may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or modules may be implemented in electronic, mechanical, or other forms.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical units, that is, may be located in one position, or may be distributed on a plurality of network units. Some or all the modules may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
In addition, function modules in the embodiments of this application may be integrated into one processing unit, or each of the modules may exist alone physically, or two or more modules are integrated into one unit. The unit integrated from the modules may be implemented in a form of hardware, or may be implemented in a form of hardware in addition to a software function unit.
When the foregoing integrated module is implemented in a form of a software function module, the integrated unit may be stored in a computer-readable storage medium. The software function module is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) or a processor to perform some of the steps of the methods described in the embodiments of this application.
It should be understood that the processor may be a central processing unit (CPU), or may be another general purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), or the like. The general purpose processor may be a microprocessor, or the processor may be any conventional processor or the like. The steps of the methods disclosed with reference to this application may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and a software module in a processor.
The memory may include a high-speed RAM memory, or may further include a non-volatile memory NVM, for example, at least one magnetic disk memory. Alternatively, the memory may be a USB flash drive, a removable hard disk, a read-only memory, a magnetic disk, an optical disc, or the like.
The bus may be an industry standard architecture (Industry Standard Architecture, ISA) bus, a peripheral component (PCI) interconnect bus, an extended industry standard architecture (EISA) bus, or the like. The bus may be classified into an address bus, a data bus, a control bus, and the like. For ease of representation, the bus in the accompanying drawings of this application is not limited to only one bus or only one type of bus.
The storage medium may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic disk, or an optical disc. The storage medium may be any available medium accessible to a general purpose or dedicated computer.
For example, a storage medium is coupled to a processor, so that the processor can read information from the storage medium or write information into the storage medium. Certainly, the storage medium may further be a component of the processor. The processor and the storage medium may be located in an application-specific integrated circuit (ASIC). Certainly, the processor and the storage medium may alternatively exist in an electronic device or a controlling device as discrete components.
Number | Date | Country | Kind |
---|---|---|---|
201810356380.0 | Apr 2018 | CN | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2019/083008 | Apr 2019 | US |
Child | 17018496 | US |