Coding and decoding method and apparatus
11309993 · 2022-04-19
Assignee
Inventors
- Jian Wang (Hangzhou, CN)
- Yunfei Qiao (Hangzhou, CN)
- Gongzheng Zhang (Hangzhou, CN)
- Chaolong Zhang (Hangzhou, CN)
- Guijie Wang (Hangzhou, CN)
Cpc classification
H04L1/00
ELECTRICITY
H04W72/23
ELECTRICITY
H04L1/0072
ELECTRICITY
International classification
Abstract
This application provides a coding and decoding method and apparatus. The method includes: performing polarization coding on first to-be-coded information, to obtain first coded information with a bit sequence length of M, where M is a positive integer; sending the first coded information on a first channel corresponding to the first to-be-coded information; performing polarization coding on second to-be-coded information, to obtain second coded information with a bit sequence length of 2M, where the second to-be-coded information includes the first to-be-coded information, and differences between sequence numbers of information bits corresponding to the first to-be-coded information and sequence numbers of information bits at (M+1).sup.th to 2M.sup.th bit positions in information bits corresponding to the second to-be-coded information are sequentially M in ascending order of sequence numbers.
Claims
1. A coding method comprising: performing, by a transmit end, polarization coding on first to-be-coded information, to obtain first coded information with a bit sequence length of M, wherein M is a positive integer; sending, by the transmit end, the first coded information on a first channel corresponding to the first to-be-coded information; performing, by the transmit end, polarization coding on second to-be-coded information, to obtain second coded information with a bit sequence length of 2M, wherein the second to-be-coded information comprises the first to-be-coded information, and differences between sequence numbers of information bits corresponding to the first to-be-coded information and sequence numbers of information bits at (M+1).sup.th to 2M.sup.th bit positions in information bits corresponding to the second to-be-coded information are sequentially M in ascending order of sequence numbers; and sending, by the transmit end, the second coded information on a second channel corresponding to the second to-be-coded information.
2. The method according to claim 1, wherein the performing, by a transmit end, polarization coding on first to-be-coded information comprises: obtaining, by the transmit end, the first to-be-coded information and a coded bit sequence length M; determining, by the transmit end, bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M; and determining, by the transmit end, bit values at the bit positions of the first frozen bits and bit values at the bit positions of the first information bits, and performing polarization coding on all the determined bit values.
3. The method according to claim 2, wherein the performing, by the transmit end, polarization coding on second to-be-coded information, to obtain second coded information with a bit sequence length of 2M comprises: obtaining, by the transmit end, the second to-be-coded information and a coded bit sequence length 2M; determining, by the transmit end, bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M, wherein differences between sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions and sequence numbers of the first information bits are sequentially M in ascending order of sequence numbers; and determining, by the transmit end, bit values at the bit positions of the second frozen bits and bit values at the bit positions of the second information bits, and performing polarization coding on all the determined bit values.
4. The method according to claim 3, wherein the determining, by the transmit end, bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M comprises: obtaining, by the transmit end, preset bit positions of the first frozen bits, and using bit positions other than the preset bit positions of the first frozen bits as the bit positions of the first information bits; and the determining, by the transmit end, bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M comprises: obtaining, by the transmit end, preset bit positions of the second frozen bits, and using bit positions other than the preset bit positions of the second frozen bits as the bit positions of the second information bits, wherein differences between preset sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions and preset sequence numbers of the first frozen bits are sequentially M in ascending order of sequence numbers.
5. The method according to claim 3, wherein the determining, by the transmit end, bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M comprises: determining, by the transmit end, the bit positions of the first frozen bits and the bit positions of the first information bits in the first to-be-coded information based on M according to a first preset rule; and the determining, by the transmit end, bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M comprises: sequentially obtaining, by the transmit end in ascending order, bit position sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first frozen bits by M, and sequentially obtaining, in ascending order, bit position sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first information bits by M; and determining, by the transmit end, the bit positions of the second frozen bits and the bit positions of the second information bits in first to M.sup.th bit positions according to a second preset rule.
6. A decoding method comprising: receiving, by a receive end, second to-be-decoded information sent by a transmit end on a second channel, wherein a length of the second to-be-decoded information is 2M, and M is a positive integer; performing, by the receive end, polarization decoding on third to-be-decoded information when determining that first to-be-decoded information sent by the transmit end on a first channel is received, wherein the third to-be-decoded information is information obtained after the first to-be-decoded information and the second to-be-decoded information are combined, and a length of the first to-be-decoded information is M; and performing, by the receive end, polarization decoding on the second to-be-decoded information when determining that the first to-be-decoded information is not received.
7. The method according to claim 6, wherein, before the receiving, by a receive end, second to-be-decoded information sent by a transmit end on a second channel, further comprising: receiving, by the receive end, the first to-be-decoded information, and obtaining the length M of the first to-be-decoded information.
8. The method according to claim 6, wherein the third to-be-decoded information comprises a first part and a second part, the first part is first to M.sup.th bit positions in the second to-be-decoded information, and the second part is a sum of first to M.sup.th bit positions in the first to-be-decoded information and (M+1).sup.th to 2M.sup.th bit positions in the second to-be-decoded information in sequence.
9. The method according to claim 6, wherein the performing polarization decoding on the second to-be-decoded information comprises: obtaining, by the receive end, the length 2M of the second to-be-decoded information; determining, by the receive end, bit positions of first frozen bits and bit positions of first information bits in the second to-be-decoded information based on 2M; and determining, by the receive end, bit values at the bit positions of the first frozen bits and bit values at the bit positions of the first information bits, and performing polarization decoding on all the determined bit values.
10. The method according to claim 6, wherein the performing polarization decoding on third to-be-decoded information comprises: obtaining, by the receive end, a length 2M of the third to-be-decoded information; determining, by the receive end, bit positions of second frozen bits and bit positions of second information bits in the third to-be-decoded information based on 2M; and determining, by the receive end, bit values at the bit positions of the second frozen bits and bit values at the bit positions of the second information bits, and performing polarization decoding on all the determined bit values.
11. A coding apparatus comprising: a first coding module configured to perform polarization coding on first to-be-coded information, to obtain first coded information with a bit sequence length of M, wherein M is a positive integer; a first sending module configured to send the first coded information on a first channel corresponding to the first to-be-coded information; a second coding module configured to perform polarization coding on second to-be-coded information, to obtain second coded information with a bit sequence length of 2M, wherein the second to-be-coded information comprises the first to-be-coded information, and differences between sequence numbers of information bits corresponding to the first to-be-coded information and sequence numbers of information bits at (M+1).sup.th to 2M.sup.th bit positions in information bits corresponding to the second to-be-coded information are sequentially M in ascending order of sequence numbers; and a second sending module configured to send the second coded information on a second channel corresponding to the second to-be-coded information.
12. The apparatus according to claim 11, wherein the first coding module is configured to: obtain the first to-be-coded information and a coded bit sequence length M; determine bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M; and determine bit values at the bit positions of the first frozen bits and bit values at the bit positions of the first information bits, and perform polarization coding on all the determined bit values.
13. The apparatus according to claim 12, wherein the second coding module is configured to: obtain the second to-be-coded information and a coded bit sequence length 2M; determine bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M, wherein differences between sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions and sequence numbers of the first information bits are sequentially M in ascending order of sequence numbers; and determine bit values at the bit positions of the second frozen bits and bit values at the bit positions of the second information bits, and perform polarization coding on all the determined bit values.
14. The apparatus according to claim 13, wherein the first coding module is configured to: obtain preset bit positions of the first frozen bits, and use bit positions other than the preset bit positions of the first frozen bits as the bit positions of the first information bits; and the second coding module is configured to: obtain preset bit positions of the second frozen bits, and use bit positions other than the preset bit positions of the second frozen bits as the bit positions of the second information bits, wherein differences between preset sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions and preset sequence numbers of the first frozen bits are sequentially M in ascending order of sequence numbers.
15. The apparatus according to claim 13, wherein the first coding module is configured to: determine the bit positions of the first frozen bits and the bit positions of the first information bits in the first to-be-coded information based on M according to a first preset rule; and the second coding module is configured to: sequentially obtain, in ascending order, bit position sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first frozen bits by M, and sequentially obtain, in ascending order, bit position sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first information bits by M; and determine the bit positions of the second frozen bits and the bit positions of the second information bits in first to M.sup.th bit positions according to a second preset rule.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DESCRIPTION OF EMBODIMENTS
(17) This application may be applied to a scenario in which polar coding and decoding are performed on information bits, and may be mainly applied to a scenario in which there is same information between different to-be-coded information. For example, this application may be applied to a scenario in which polar coding and decoding are performed on enhanced mobile broadband (eMBB) uplink control information and downlink control information, or may be applied to another scenario. For example, this application is applied to channel coding and channel coding parts such as uplink control information, downlink control information, and a sidelink channel in the communication standard TS 36.212 5.1.3. This is not limited in this application.
(18) A system in this application may include a transmit end and a receive end.
(19) Network elements in this application are mainly a base station and a terminal device. This application is mainly applied to various wireless communications systems. The technical solutions in the embodiments of this application may be applied to a 5G communications system, or may be applied to various other communications systems, for example, a global system for mobile communications (GSM), a code division multiple access (CDMA) system, a wideband code division multiple access (WCDMA) system, a general packet radio service (GPRS), a long term evolution (LTE) system, an LTE frequency division duplex (FDD) system, an LTE time division duplex (TDD) system, and a universal mobile telecommunication system (UMTS). The following describes a coding and decoding method and apparatus according to this application in detail with reference to the accompanying drawings.
(20) In an LTE system, DCI is used to transmit uplink/downlink scheduling information and related common control information, and has a plurality of formats for carrying different functions. A process of transmitting DCI by a base station is as follows: After individually coding and modulating each piece of DCI, the base station maps the DCI to a downlink control channel and then sends the DCI to a terminal device. The downlink control channel is usually located on the first, the second, or the third OFDM symbol of each subframe. In the LTE system, a plurality of pieces of DCI information delivered by the base station in a same subframe are modulated and mapped after being separately coded. Therefore, if the transmission method continues to be used in 5G to separately code group common DCI and UE-specific DCI, coding and decoding performance is relatively poor. This application provides a coding and decoding method, so that same information between different to-be-coded information (for example, the group common DCI and the UE-specific DCI) can be used to perform coding or assist in decoding at a receive end, thereby improving coding and decoding performance. The following describes the solutions in this application in detail with reference to the accompanying drawings.
(21)
(22) S101. A transmit end performs polarization coding on first to-be-coded information, to obtain first coded information with a bit sequence length of M, where M is a positive integer.
(23) S102. The transmit end sends the first coded information on a first channel corresponding to the first to-be-coded information.
(24) S103. The transmit end performs polarization coding on second to-be-coded information, to obtain second coded information with a bit sequence length of 2M, where the second to-be-coded information includes the first to-be-coded information, and differences between sequence numbers of information bits corresponding to the first to-be-coded information and sequence numbers of information bits at (M+1).sup.th to 2M.sup.th bit positions in information bits corresponding to the second to-be-coded information are sequentially M in ascending order of sequence numbers.
(25) S104. The transmit end sends the second coded information on a second channel corresponding to the second to-be-coded information.
(26) In one embodiment, the second to-be-coded information includes the first to-be-coded information. For example, the first to-be-coded information is group common DCI, the second to-be-coded information is UE-specific DCI, M is a target code length corresponding to the first to-be-coded information, and 2M is a target code length corresponding to the second to-be-coded information. When the transmit end separately performs polarization coding on the first to-be-coded information and the second to-be-coded information, S101 includes: The transmit end obtains the first to-be-coded information and a coded bit sequence length M. The transmit end determines bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M. The transmit end determines bit values at the bit positions of the first frozen bits and bit values at the bit positions of the first information bits in the first to-be-coded information based on M, and performs polarization coding on all the determined bits. The transmit end obtains the first coded information with the bit sequence length of M, and then sends the first coded information on the first channel corresponding to the first to-be-coded information.
(27) S103 includes: The transmit end obtains the second to-be-coded information and a coded bit sequence length 2M. The transmit end determines bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M, and differences between sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions and sequence numbers of the first information bits are sequentially M in ascending order of sequence numbers. The transmit end determines bit values at the bit positions of the second frozen bits and bit values at the bit positions of the second information bits in the second to-be-coded information based on 2M, and performs polarization coding on all the determined bits. In one embodiment, positions of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions in the second to-be-coded information are the same as positions of the first information bits at first to M.sup.th bit positions in the first to-be-coded information. For example, M is 8. The sequence numbers of the first information bits are [2, 3, 5, 7], the sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions are [10, 11, 13, 15], and the differences between the sequence numbers of the first information bits and the sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions are sequentially M, namely, 8. The transmit end obtains the second coded information with the bit sequence length of 2M, and then sends the second coded information on the second channel corresponding to the second to-be-coded information.
(28) It should be noted that there is no sequence between coding and sending of the first to-be-coded information and coding and sending of the second to-be-coded information, provided that a coded bit sequence meets the foregoing rule.
(29) In one embodiment, in a feasible manner, that the transmit end determines bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M includes: The transmit end obtains preset bit positions of the first frozen bits, and uses bit positions other than the bit positions of the first frozen bits as the bit positions of the first information bits. A bit sequence length obtained after the first to-be-coded information is coded is M, the bit positions of the first frozen bits are preset, and bit positions other than the bit positions of the first frozen bits in the M bit positions are the bit positions of the first information bits.
(30) Correspondingly, that the transmit end determines bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M includes: The transmit end obtains preset bit positions of the second frozen bits, and uses bit positions other than the bit positions of the second frozen bits as the bit positions of the second information bits, and differences between preset sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions and preset sequence numbers of the first frozen bits are sequentially M in ascending order of sequence numbers. In this manner, the transmit end presets the bit positions of the first frozen bits and the bit positions of the second frozen bits, and the differences between the bit positions of the first frozen bits and the bit positions of the second frozen bits are sequentially M.
(31) In a feasible manner, that the transmit end determines bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M includes: The transmit end determines the bit positions of the first frozen bits and the bit positions of the first information bits in the first to-be-coded information based on M according to a first preset rule. In one embodiment, the transmit end determines the bit positions of the first information bits according to the first preset rule, and uses bit positions other than the bit positions of the first information bits as the bit positions of the first frozen bits based on M. For example, if a quantity of first information bits is K1, a quantity of first frozen bits is M−K, where a value of K1 may be determined based on a code rate R and the coded sequence length M, K1=M*R, and K1 may be alternatively an input value. Correspondingly, that the transmit end determines bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M includes: The transmit end sequentially obtains, in ascending order, bit position sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first frozen bits by M, and sequentially obtains, in ascending order, bit position sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first information bits by M. Then, the transmit end determines the bit positions of the second frozen bits and the bit positions of the second information bits in first to M.sup.th bit positions according to a second preset rule. In one embodiment, the transmit end determines the bit positions of the second information bits in the first to M.sup.th bit positions according to the second preset rule, and uses bit positions other than the bit positions of the second information bits in the first to M.sup.th bit positions as the bit positions of the second frozen bits in the first to M.sup.th bit positions based on M. For example, if a quantity of second information bits in the first to M.sup.th bit positions is K2, a quantity of second frozen bits in the first to M.sup.th bit positions is M−K2. In this manner, the bit positions of the first information bits may be determined according to the first preset rule, and the bit positions of the second information bits in the first to M.sup.th bit positions may be determined according to the second preset rule. The first preset rule and the second preset rule may be the same, or may be different. For example, the first preset rule or the second preset rule may be: calculating reliability of a polarization channel based on a Gaussian approximation method or a density evolution method, or calculating reliability of a polarization channel based on a polarization weight of the polarization channel, to determine K bit positions with highest reliability as the bit positions of the first information bits, where K is a quantity of information bits.
(32) On a decoder,
(33) S201. A receive end receives second to-be-decoded information sent by a transmit end on a second channel, where a length of the second to-be-decoded information is 2M, and M is a positive integer.
(34) In one embodiment, the second to-be-decoded information may be corresponding to second coded information of the transmit end, and first to-be-decoded information may be corresponding to first coded information of the transmit end.
(35) In one embodiment, before S201, the method may further include the following operation:
(36) The receive end receives first to-be-decoded information, and obtains a length M of the first to-be-decoded information.
(37) S202. The receive end performs polarization decoding on third to-be-decoded information when determining that first to-be-decoded information sent by the transmit end on a first channel is received, where the third to-be-decoded information is information obtained after the first to-be-decoded information and the second to-be-decoded information are combined, and a length of the first to-be-decoded information is M.
(38) In one embodiment, after receiving the first to-be-decoded information and the second to-be-decoded information, the receive end may combine the first to-be-decoded information and the second to-be-decoded information, to obtain the third to-be-decoded information. The third to-be-decoded information includes a first part and a second part, the first part is first to M.sup.th bit positions in the second to-be-decoded information, and the second part is a sum of first to M.sup.th bit positions in the first to-be-decoded information and (M+1).sup.th to 2M.sup.th bit positions in the second to-be-decoded information in sequence.
(39) The performing polarization decoding on third to-be-decoded information includes: The receive end obtains a length 2M of the third to-be-decoded information. The receive end determines bit positions of second frozen bits and bit positions of second information bits in the third to-be-decoded information based on 2M. The receive end determines bit values at the bit positions of the second frozen bits and bit values at the bit positions of the second information bits, and performs polarization decoding on all the determined bits.
(40) S203. The receive end performs polarization decoding on the second to-be-decoded information when determining that the first to-be-decoded information is not received.
(41) The performing polarization decoding on the second to-be-decoded information includes: The receive end obtains the length 2M of the second to-be-decoded information. The receive end determines bit positions of first frozen bits and bit positions of first information bits in the second to-be-decoded information based on 2M. The receive end determines bit values at the bit positions of the first frozen bits and bit values at the bit positions of the first information bits, and performs polarization decoding on all the determined bits.
(42) According to the coding method provided in this embodiment, when separately coding the first to-be-coded information and the second to-be-coded information, the transmit end codes the first to-be-coded information into a code word with a code length of M, and codes the second to-be-coded information into a code word with a code length of 2M. In addition, it is ensured that the differences between the sequence numbers of the information bits corresponding to the first to-be-coded information and the sequence numbers of the information bits at the (M+1).sup.th to 2M.sup.th bit positions in the information bits corresponding to the second to-be-coded information are sequentially M in ascending order of sequence numbers. Because the second to-be-coded information includes the first to-be-coded information, (M+1).sup.th to 2M.sup.th bits in a coded code word corresponding to the second to-be-coded information and a coded code word with the length of M corresponding to the first to-be-coded information are consistent. Because of such the consistency, when performing decoding, the receive end may combine the first to-be-coded information and the second to-be-coded information, and perform polarization decoding with the code length of 2M, to obtain the second to-be-coded information. Therefore, decoding performance can be improved.
(43) The technical solutions of the method embodiments shown in
(44) In this embodiment, an example in which the second to-be-decoded information is UE-specific DCI, the first to-be-decoded information is group common DCI, the first channel is a group common PDCCH, and the second channel is a UE-specific PDCCH is used. It should be noted that in this embodiment, the UE-specific DCI and the group common DCI are merely used as examples, but do not constitute a limitation. This embodiment may be further applied to a scenario in which one piece of to-be-coded information is included in another piece of to-be-coded information. In this embodiment, the transmit end is, for example, a base station, and the receive end includes a scheduled terminal device and a non-scheduled terminal device.
(45)
(46)
(47) How to combine the to-be-decoded information 1 and the to-be-decoded information 2 is described below from a perspective of a polar coding principle with reference to
(48) In an LTE system, a base station individually codes and modulates each piece of DCI, and also individually demodulates and decodes each piece of DCI at a receive end. Therefore, same information between different DCI cannot be used. This application further provides a coding and decoding method, so that same information between different to-be-decoded information can be used to assist in decoding at a receive end, thereby improving decoding performance. The following describes the technical solutions in detail with reference to the accompanying drawings. In the solutions, the transmit end still separately codes different to-be-coded information, and uses same information between different to-be-decoded information to assist in decoding at the receive end. The following describes a decoding process in detail with reference to
(49)
(50) S301. A receive end receives first to-be-decoded information sent by a transmit end on a first channel, and performs polarization decoding on the first to-be-decoded information, to obtain first decoded information.
(51) S302. The receive end receives second to-be-decoded information sent by the transmit end on a second channel, and when the receive end determines that the first to-be-decoded information is correctly decoded, the receive end performs polarization decoding on the second to-be-decoded information by using the first decoded information, to obtain second decoded information, where the second decoded information and the first decoded information include same first information.
(52) The same first information included in the second decoded information and the first decoded information may be all of the first decoded information, or may be a part of the first decoded information. Polarization decoding is performed on the second to-be-decoded information by using the first decoded information, in other words, the first decoded information is used to assist in decoding the second to-be-decoded information.
(53) In one embodiment, the receive end performs polarization decoding on the second to-be-decoded information by using the first decoded information includes: determining values of known bits based on the first decoded information and a preset position of the first information in the second decoded information, where the known bits are bits at the position of the first information, and the known bits include at least one bit; and
(54) performing path selection in a decoding process based on the values of the known bits; or
(55) performing early stop in a decoding process based on the values of the known bits; or
(56) performing path selection and early stop in a decoding process based on the values of the known bits according to a preset rule.
(57) The performing path selection in a decoding process based on the values of the known bits includes: when a first bit in the known bits in the second to-be-decoded information is decoded, if a log-likelihood ratio of the first bit matches a value of the first bit, skipping increasing or increasing a path metric to a first preset value, or if a log-likelihood ratio of the first bit matches a value of the first bit, increasing a path metric to a second preset value, where the second preset value is at least 10 times greater than the first preset value, and matching means that a symbol of the log-likelihood ratio is the same as a symbol indicated by the value of the known bit; sorting all current paths based on path metrics, and deleting half of the paths with a larger path metric; and when another bit in the known bits is decoded, performing a same decoding operation.
(58) The performing early stop in an SCL decoding process based on the values of the known bits includes:
(59) when a first bit in the known bits in the second to-be-decoded information is decoded, if a determining result of a log-likelihood ratio of the first bit is not equal to a value of the first bit, marking current paths; and stopping decoding when it is determined that all the current paths are marked; or continuing decoding when it is determined that there is an unmarked path in all the current paths, and when another bit in the known bits is decoded, performing a same decoding operation.
(60) The known bits are distributed between an n.sup.th bit and an (n+m).sup.th bit, n and m are positive integers, and when path selection and early stop in a decoding process are performed based on the values of the known bits according to the preset rule, the preset rule may be: performing early stop in a decoding process on known bits distributed between the n.sup.th bit and an (n+k).sup.th bit, where k is a positive integer less than m, and performing path selection in a decoding process on known bits distributed between an (n+k+1).sup.th bit and the (n+m).sup.th bit; or performing path selection in a decoding process on known bits distributed between the n.sup.th bit and an (n+k).sup.th bit, and performing early stop in a decoding process on known bits distributed between an (n+k+1).sup.th bit and the (n+m).sup.th bit; or alternately performing early stop and path selection in a decoding process on the known bits distributed between the n.sup.th bit and the (n+m).sup.th bit based on a preset quantity of intervals.
(61) According to the decoding method provided in this embodiment, same information between different to-be-decoded information is used to assist in decoding at the receive end, so that decoding performance can be improved.
(62) The technical solutions in the method embodiment shown in
(63) In this embodiment, an example in which the second to-be-decoded information is UE-specific DCI, the first to-be-decoded information is group common DCI, the first channel is a group common PDCCH, and the second channel is a UE-specific PDCCH is used. It should be noted that in this embodiment, the UE-specific DCI and the group common DCI are merely used as examples, but do not constitute a limitation. This embodiment may be further applied to a scenario in which two pieces of to-be-coded information include same information. In this embodiment, the transmit end is, for example, a base station, and the receive end includes a scheduled terminal device and a non-scheduled terminal device.
(64) In this embodiment, when a DCI format is designed, a position of the group common DCI in the UE-specific DCI or a position of same information between the group common DCI and the UE-specific DCI in the UE-specific DCI is determined. A determining method may be preset.
(65) A process of coding and decoding the group common DCI by the base station is the same as that in
(66) In one embodiment, the receive end assists in decoding by using the bits corresponding to the same information includes:
(67) determining values of known bits based on the group common DCI and a preset position of same information between the group common DCI and the UE-specific DCI in the UE-specific DCI, where the known bits are bits at the position of the same information between the group common DCI and the UE-specific DCI, and the known bits include at least one bit; and then, performing path selection in a decoding process based on the values of the known bits; or performing early stop in a decoding process based on the values of the known bits; or performing path selection and early stop in a decoding process based on the values of the known bits according to a preset rule.
(68)
(69)
(70) In this embodiment, the known bits are used to assist in polar code decoding, and the known bits are used for early stop, so as to reduce a computing amount, and reduce decoding latency and power consumption. The known bits are used for path selection, so as to improve decoding performance, for example, reduce a packet error rate.
(71) In this application, the transmit end and the receive end may be divided into function modules based on the foregoing method examples. For example, each function module may be obtained through division for a corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software functional module. It should be noted that, in this embodiment of this application, module division is an example, and is merely a logical function division. In actual implementation, another division manner may be used.
(72)
(73) In one embodiment, the first coding module 11 is configured to: obtain the first to-be-coded information and a coded bit sequence length M; determine bit positions of first frozen bits and bit positions of first information bits in the first to-be-coded information based on M; and determine bit values at the bit positions of the first frozen bits and bit values at the bit positions of the first information bits, and perform polarization coding on all the determined bits.
(74) In one embodiment, the second coding module 13 is configured to: obtain the second to-be-coded information and a coded bit sequence length 2M; determine bit positions of second frozen bits and bit positions of second information bits in the second to-be-coded information based on 2M, where differences between sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions and sequence numbers of the first information bits are sequentially M in ascending order of sequence numbers; and determine bit values at the bit positions of the second frozen bits and bit values at the bit positions of the second information bits, and perform polarization coding on all the determined bits.
(75) In one embodiment, the first coding module 11 is configured to: obtain preset bit positions of the first frozen bits, and use bit positions other than the bit positions of the first frozen bits as the bit positions of the first information bits; and
(76) the second coding module 13 is configured to: obtain preset bit positions of the second frozen bits, and use bit positions other than the bit positions of the second frozen bits as the bit positions of the second information bits, where differences between preset sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions and preset sequence numbers of the first frozen bits are sequentially M in ascending order of sequence numbers.
(77) In one embodiment, the first coding module 11 is configured to determine the bit positions of the first frozen bits and the bit positions of the first information bits in the first to-be-coded information based on M according to a first preset rule; and the second coding module 13 is configured to: sequentially obtain, in ascending order, bit position sequence numbers of the second frozen bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first frozen bits by M, and sequentially obtain, in ascending order, bit position sequence numbers of the second information bits at the (M+1).sup.th to 2M.sup.th bit positions by adding bit position sequence numbers of the first information bits by M; and determine the bit positions of the second frozen bits and the bit positions of the second information bits in first to M.sup.th bit positions according to a second preset rule.
(78) The apparatus in this embodiment may be used to execute the technical solutions of the method embodiment shown in
(79)
(80) Further, the receiving module 21 is further configured to: before receiving the second to-be-decoded information sent by the transmit end on the second channel, receive the first to-be-decoded information, and obtain the length M of the first to-be-decoded information.
(81) The third to-be-decoded information includes a first part and a second part, the first part is first to M.sup.th bit positions in the second to-be-decoded information, and the second part is a sum of first to M.sup.th bit positions in the first to-be-decoded information and (M+1).sup.th to 2M.sup.th bit positions in the second to-be-decoded information in sequence.
(82) In one embodiment, the processing module 22 is configured to: obtain the length 2M of the second to-be-decoded information; determine bit positions of first frozen bits and bit positions of first information bits in the second to-be-decoded information based on 2M; and determine bit values at the bit positions of the first frozen bits and bit values at the bit positions of the first information bits, and perform polarization decoding on all the determined bits.
(83) In one embodiment, the processing module 22 is configured to: obtain a length 2M of the third to-be-decoded information; determine bit positions of second frozen bits and bit positions of second information bits in the third to-be-decoded information based on 2M; and determine bit values at the bit positions of the second frozen bits and bit values at the bit positions of the second information bits, and perform polarization decoding on all the determined bits.
(84) The apparatus in this embodiment may be used to execute the technical solutions of the method embodiment shown in
(85)
(86) In one embodiment, the processing module 32 is configured to: determine values of known bits based on the first decoded information and a preset position of the first information in the second decoded information, where the known bits are bits at the position of the first information, and the known bits include at least one bit; and perform path selection in a decoding process based on the values of the known bits; or perform early stop in a decoding process based on the values of the known bits; or perform path selection and early stop in a decoding process based on the values of the known bits according to a preset rule.
(87) Further, the processing module 32 is configured to: when a first bit in the known bits in the second to-be-decoded information is decoded, if a log-likelihood ratio of the first bit matches a value of the first bit, skip increasing or increase a path metric to a first preset value, or if a log-likelihood ratio of the first bit matches a value of the first bit, increase a path metric to a second preset value, where the second preset value is at least 10 times greater than the first preset value, and matching means that a symbol of the log-likelihood ratio is the same as a symbol indicated by the value of the known bit; sort all current paths based on path metrics, and delete half of the paths with a larger path metric; and when another bit in the known bits is decoded, perform a same decoding operation.
(88) Further, the processing module 32 is configured to: when a first bit in the known bits in the second to-be-decoded information is decoded, if a determining result of a log-likelihood ratio of the first bit is not equal to a value of the first bit, mark current paths; and stop decoding when it is determined that all the current paths are marked; or continue decoding when it is determined that there is an unmarked path in all the current paths, and when another bit in the known bits is decoded, perform a same decoding operation.
(89) The known bits are distributed between an n.sup.th bit and an (n+m).sup.th bit, n and m are positive integers, and the preset rule is: performing early stop in a decoding process on known bits distributed between the n.sup.th bit and an (n+k).sup.th bit, where k is a positive integer less than m, and performing path selection in a decoding process on known bits distributed between an (n+k+1).sup.th bit and the (n+m).sup.th bit; or performing path selection in a decoding process on known bits distributed between the n.sup.th bit and an (n+k).sup.th bit, and performing early stop in a decoding process on known bits distributed between an (n+k+1).sup.th bit and the (n+m).sup.th bit; or alternately performing early stop and path selection in a decoding process on the known bits distributed between the n.sup.th bit and the (n+m).sup.th bit based on a preset quantity of intervals.
(90) The apparatus in this embodiment may be used to execute the technical solutions of the method embodiment shown in
(91)
(92) a memory 1101, configured to store a program instruction, where the memory may be a flash; and
(93) a processor 1102, configured to invoke and execute the program instruction in the memory, to implement the operations in the coding method shown in
(94) In one embodiment, the memory 1101 may be independent, or may be integrated with the processor 1102.
(95) When the memory 1101 is a component independent of the processor 1102, the apparatus 1100 may further include:
(96) a bus 1103, configured to connect the memory and the processor. The coding apparatus in
(97)
(98) a memory 1201, configured to store an executable instruction, where the memory may be a flash; and
(99) a processor 1202, configured to execute the executable instruction stored in the memory, to implement the operations in the decoding method shown in
(100) In one embodiment, the memory 1201 may be independent, or may be integrated with the processor 1202.
(101) When the memory 1201 is a component independent of the processor 1202, the apparatus 1200 may further include:
(102) a bus 1203, configured to connect the memory and the processor.
(103) The decoding apparatus in
(104) This application further provides a readable storage medium. The readable storage medium stores an executable instruction, and when at least one processor of a coding apparatus executes the executable instruction, the coding apparatus performs the coding method provided in the foregoing embodiments.
(105) This application further provides a readable storage medium. The readable storage medium stores an executable instruction, and when at least one processor of a decoding apparatus executes the executable instruction, the decoding apparatus performs the decoding method provided in the foregoing embodiments.
(106) This application further provides a program product. The program product includes an executable instruction, and the executable instruction is stored in a readable storage medium. At least one processor of a coding apparatus may read the executable instruction from the readable storage medium, and the at least one processor executes the executable instruction, so that the coding apparatus is enabled to implement the coding method provided in the foregoing embodiments.
(107) This application further provides a program product. The program product includes an executable instruction, and the executable instruction is stored in a readable storage medium. At least one processor of a decoding apparatus may read the executable instruction from the readable storage medium, and the at least one processor executes the executable instruction, so that the decoding apparatus is enabled to implement the decoding method provided in the foregoing embodiments.
(108) A person of ordinary skill in the art may understand that all or some of the operations of the method embodiments may be implemented by a program instructing related hardware. The program may be stored in a computer-readable storage medium. When the program runs, the operations of the method embodiments are performed. The foregoing storage medium includes: any medium that can store program code, such as a ROM, a RAM, a magnetic disk, or an optical disc.