Embodiments of this application relate to the field of communication technologies, and in particular, to a rate matching method and apparatus.
Channel coding/decoding (forward error correction) is one of key technologies in a communication system, and is very important for improvement of sensitivity and anti-interference of the system. Polar coding is first theoretically proved to be a channel coding manner that can achieve a Shannon capacity with low coding/decoding complexity and that can perform much better than other competitors in scenarios of a short code length or a low code rate. In a 5th generation (5G) communication system, the polar coding is determined as a coding manner of a control channel.
In a communication application that is insensitive to a system latency, a hybrid automatic repeat request (HARQ) is a common transmission method used to improve a system throughput rate. For a HARQ transmission method of polar code, an efficient solution is an incremental redundancy HARQ (IR-HARQ), which is usually classified as a HARQ-II. In the IR-HARQ, when there is no rate matching (that is, no puncturing or shortening is required), stable performance can be achieved by selecting, based on a reliability sequence, a quantity and locations of bits that need to be copied. However, in an actual system, a quantity of resources for initial transmission and a quantity of resources for retransmission are not necessarily equal, and a quantity of bits obtained after coding for retransmission is less than a quantity of bits obtained after coding for initial transmission. In this case, a rate matching manner needs to be designed to ensure stable performance. Otherwise, the performance is defected by defective pixels because of an unexpected copy quantity and unexpected copy locations based on a long sequence. Therefore, how to design an appropriate rate matching method for the IR-HARQ becomes an urgent problem that needs to be resolved.
Embodiments of this application provide a rate matching method and apparatus, to ensure stable performance of an IR-HARQ.
According to a first aspect of this application, a rate matching method is provided, and includes:
A transmitter obtains a to-be-coded bit sequence; the transmitter performs polar coding on the to-be-coded bit sequence, to obtain a first bit sequence, where a length of the first bit sequence is N; the transmitter performs first rate matching on the first bit sequence, to obtain a second bit sequence, where a length of the second bit sequence is E1; and the transmitter sends the second bit sequence; and
The first aspect relates to a rate matching mechanism that can be applied to a transmitter side in an IR-HARQ, and a rate matching method is designed for each of an initial transmission bit sequence and a retransmission bit sequence, to fill a gap, in the conventional technology, that there is no rate matching method for the IR-HARQ. Further, a rate matching method designed for the retransmission bit sequence is determined based on a relationship between the initial transmission bit sequence and the retransmission bit sequence, and a flexible rate matching manner is designed for different correspondences between different quantities of retransmission bits and different quantities of initial transmission bits, so that the rate matching can exactly correspond to an actual situation, to ensure that performance of the IR-HARQ is always in a stable and excellent state.
In a possible implementation, ƒ(E1)=a*E1+b, where a is a constant greater than 0 and less than or equal to 1, and b is a constant whose absolute value is less than E1.
In a possible implementation, ƒ(E1)=a*E1+b, where a and b are constants, and ƒ(E1) is less than or equal to E1.
In a possible implementation, when E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on a fifth bit sequence; or when E2 is less than ƒ(E1), the second rate matching includes: puncturing all bits whose sequence numbers fall within [0, N/2−1] in a fifth bit sequence, and performing third rate matching on all bits whose sequence number fall within [N/2, N−1] in the fifth bit sequence, where the fifth bit sequence consists of all bits whose sequence numbers fall within [0, N−1] in the third bit sequence.
In this implementation, the fifth bit sequence is a first half of the third bit sequence, that is, the fifth bit sequence consists of all the bits whose sequence numbers fall within [0, N−1] in the third bit sequence. When E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on the mother code length N. When E2 is less than ƒ(E1), the second rate matching is performed based on a half of the mother code length, that is, N/2.
In a possible implementation, when E2 is greater than or equal to ƒ(E1):
In this implementation, a rate matching rule used when ƒ(E1) is E1−N/16, that is, a rate matching rule used when a=1 and b=−N/16, is described.
In a possible implementation, when E2 is greater than or equal to ƒ(E),
In this possible implementation, a rate matching rule used when ƒ(E1) is E1/2, that is, a rate matching rule used when a=½ and b=0, is described.
In a possible implementation, N is determined based on E1. Specifically, N=2{circumflex over ( )}┌log 2(E1)┐.
In a possible implementation, the first rate matching is bit reversal shortening.
In the foregoing several implementations, a rate matching manner is designed as bit reversal shortening. In bit reversal shortening, because shortened locations are evenly distributed, a reliability order between bit locations is well retained. Therefore, stable performance is achieved in scenarios with various code lengths and code rates.
According to a second aspect of this application, a rate matching method is provided, and includes:
A receiver obtains a first sequence, where a length of the first sequence is E1, and a mother code length corresponding to the first sequence is N; the receiver rate de-matches the first sequence and then decodes the rate de-matched first sequence based on a manner of first rate matching; the receiver obtains a second sequence, where a length of the second sequence is E2; and the receiver rate de-matches a third sequence and then decodes a rate de-matched third sequence based on the manner of first rate matching and a manner of second rate matching, where the third sequence consists of the first sequence and the second sequence, a mother code length corresponding to the third sequence is 2*N, the second rate matching is determined based on a relationship between ƒ(E1) and E2, a value of ƒ(E1) is determined based on E1, and N, E1, and E2 are positive integers.
Correspondingly, the second aspect relates to a rate matching mechanism that can be applied to a receiver side in an IR-HARQ, where the first sequence corresponds to a second bit sequence, that is, an initial transmission bit sequence, of a transmitter, and the second sequence corresponds to a fourth bit sequence, that is, a retransmission bit sequence, of the transmitter, to fill a gap, in the conventional technology, that there is no rate matching method for the IR-HARQ. Further, a rate matching method designed for the retransmission bit sequence is determined based on a relationship between the initial transmission bit sequence and the retransmission bit sequence, and a flexible rate matching manner is designed for different correspondences between different quantities of retransmission bits and different quantities of initial transmission bits, so that the rate matching can exactly correspond to an actual situation, to ensure that performance of the IR-HARQ is always in a stable and excellent state.
In a possible implementation, ƒ(E1)=a*E1+b, where a is a constant greater than 0 and less than or equal to 1, and b is a constant whose absolute value is less than E1.
In a possible implementation, ƒ(E1)=a*E1+b, where a and b are constants, and ƒ(E1) is less than or equal to E1.
In a possible implementation, when E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on a fifth bit sequence; or when E2 is less than ƒ(E1), the second rate matching includes: puncturing all bits whose sequence numbers fall within [0, N/2−1] in a fifth bit sequence, and performing third rate matching on all bits whose sequence numbers fall within [N/2, N−1] in the fifth bit sequence, where the fifth bit sequence consists of all bits whose sequence numbers fall within [0, N−1] in the third bit sequence.
In this implementation, the fifth bit sequence is a first half of the third bit sequence, that is, the fifth bit sequence consists of all the bits whose sequence numbers fall within [0, N−1] in the third bit sequence. When E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on the mother code length N. When E2 is less than ƒ(E1), the second rate matching is performed based on a half of the mother code length, that is, N/2.
In a possible implementation, when E2 is greater than or equal to ƒ(E1):
In this possible implementation, a rate matching rule used when ƒ(E1) is E1−N/16, that is, a rate matching rule used when a=1 and b=−N/16, is described.
In a possible implementation, when E2 is greater than or equal to ƒ(E),
In this possible implementation, a rate matching rule used when ƒ(E1) is E1/2, that is, a rate matching rule used when a=½ and b=0, is described.
In a possible implementation, N is determined based on E1. Specifically, N=2{circumflex over ( )}┌log 2(E1)┐.
In a possible implementation, the first rate matching is bit reversal shortening.
In the foregoing several implementations, a rate matching manner maybe designed as bit reversal shortening. In bit reversal shortening, because shortened locations are evenly distributed, a reliability order between bit locations is well retained. Therefore, stable performance is achieved in scenarios with various code lengths and code rates.
According to a third aspect of this application, a rate matching apparatus is provided, and may be used for a transmitter. The apparatus includes a transceiver unit and a processing unit. The transceiver unit obtains a to-be-coded bit sequence; the processing unit performs polar coding on the to-be-coded bit sequence, to obtain a first bit sequence, where a length of the first bit sequence is N; the processing unit performs first rate matching on the first bit sequence, to obtain a second bit sequence, where a length of the second bit sequence is E1; the transceiver unit sends the second bit sequence; the processing unit performs polar coding based on the to-be-coded bit sequence, to obtain a third bit sequence, where a length of the third bit sequence is 2*N; the processing unit performs second rate matching on the third bit sequence, to obtain a fourth bit sequence, where a length of the fourth bit sequence is E2, the second rate matching is determined based on a relationship between ƒ(E1) and E2, and a value of ƒ(E1) is determined based on E1; and the transceiver unit sends the fourth bit sequence, where N, E1, and E2 are positive integers.
In a possible implementation, ƒ(E1)=a*E1+b, where a is a constant greater than 0 and less than or equal to 1, and b is a constant whose absolute value is less than E1.
In a possible implementation, ƒ(E1)=a*E1+b, where a and b are constants, and ƒ(E1) is less than or equal to E1.
In a possible implementation, when E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on a fifth bit sequence; or when E2 is less than ƒ(E1), the second rate matching includes: puncturing all bits whose sequence numbers fall within [0, N/2−1] in a fifth bit sequence, and performing third rate matching on all bits whose sequence numbers fall within [N/2, N−1] in the fifth bit sequence, where the fifth bit sequence consists of all bits whose sequence numbers fall within [0, N−1] in the third bit sequence.
In this implementation, the fifth bit sequence is a first half of the third bit sequence, that is, the fifth bit sequence consists of all the bits whose sequence numbers fall within [0, N−1] in the third bit sequence. When E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on the mother code length N. When E2 is less than ƒ(E1), the second rate matching is performed based on a half of the mother code length, that is, N/2.
In a possible implementation, when E2 is greater than or equal to ƒ(E1):
In this implementation, a rate matching rule used when ƒ(E1) is E1−N/16, that is, a rate matching rule used when a=1 and b=−N/16, is described.
In a possible implementation, when E2 is greater than or equal to ƒ(E1),
In this possible implementation, a rate matching rule used when ƒ(E1) is E1/2, that is, a rate matching rule used when a=½ and b=0, is described.
In a possible implementation, N is determined based on E1. Specifically, N=2{circumflex over ( )}┌log 2(E1)┐.
In a possible implementation, the first rate matching is bit reversal shortening.
According to a fourth aspect of this application, a rate matching apparatus is provided, and maybe used for a receiver. The apparatus includes a transceiver unit and a processing unit. The transceiver unit obtains a first sequence, where a length of the first sequence is E1, and a mother code length corresponding to the first sequence is N; the processing unit rate de-matches the first sequence and then decodes the rate de-matched first sequence based on a manner of first rate matching; the transceiver unit obtains a second sequence, where a length of the second sequence is E2; and the processing unit rate de-matches a third sequence and then decodes a rate de-matched third sequence based on the manner of first rate matching and a manner of second rate matching, where the third sequence consists of the first sequence and the second sequence, a mother code length corresponding to the third sequence is 2*N, the second rate matching is determined based on a relationship between ƒ(E1) and E2, a value of ƒ(E1) is determined based on E1, and N, E1, and E2 are positive integers.
In a possible implementation, ƒ(E1)=a*E1+b, where a is a constant greater than 0 and less than or equal to 1, and bi is a constant whose absolute value is less than E1.
In a possible implementation, ƒ(E1)=a*E1+b, where a and b are constants, and ƒ(E1) is less than or equal to E1.
In a possible implementation, when E2 is greater than or equal to ƒ(E), the second rate matching is performed based on a fifth bit sequence; or when E2 is less than ƒ(E1), the second rate matching includes: puncturing all bits whose sequence numbers fall within [0, N/2−1] in a fifth bit sequence, and performing third rate matching on all bits whose sequence numbers fall within [N/2, N−1] in the fifth bit sequence, where the fifth bit sequence consists of all bits whose sequence numbers fall within [0, N−1] in the third bit sequence.
In this implementation, the fifth bit sequence is a first half of the third bit sequence, that is, the fifth bit sequence consists of all the bits whose sequence numbers fall within [0, N−1] in the third bit sequence. When E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on the mother code length N. When E2 is less than ƒ(E1), the second rate matching is performed based on a half of the mother code length, that is, N/2.
In a possible implementation, when E2 is greater than or equal to ƒ(E1):
In this possible implementation, a rate matching rule used when ƒ(E1) is E1−N/16, that is, a rate matching rule used when a=1 and b=−N/16, is described.
In a possible implementation, when E2 is greater than or equal to ƒ(E),
In this possible implementation, a rate matching rule used when ƒ(E1) is E1/2, that is, a rate matching rule used when a=½ and b=0, is described.
In a possible implementation, N is determined based on E1. Specifically, N=2{circumflex over ( )}┌log 2(E1)┐.
In a possible implementation, the first rate matching is bit reversal shortening.
According to a fifth aspect of embodiments of this application, a communication apparatus is provided. The communication apparatus includes a processor and a memory. The memory stores a computer program. The processor is configured to invoke and run the computer program stored in the memory, to enable the processor to implement any implementation of the first aspect.
According to a sixth aspect of embodiments of this application, a communication apparatus is provided. The communication apparatus includes a processor and a memory. The memory stores a computer program. The processor is configured to invoke and run the computer program stored in the memory, to enable the processor to implement any implementation of the second aspect.
According to a seventh aspect of embodiments of this application, a communication apparatus is provided. The communication apparatus includes a logic circuit and an input/output interface.
The input/output interface is configured to input a to-be-coded bit sequence; the input/output interface is further configured to output a second bit sequence and a fourth bit sequence; and the logic circuit is configured to implement any implementation of the first aspect.
According to an eighth aspect of embodiments of this application, a communication apparatus is provided. The communication apparatus includes a logic circuit and an input/output interface.
The input/output interface is configured to input a first sequence and a second sequence; and the logic circuit is configured to implement any implementation of the first aspect.
According to a ninth aspect of embodiments of this application, a computer program product including instructions is provided. When the computer program product is run on a computer, any implementation of the first aspect and the second aspect is performed.
According to a tenth aspect of embodiments of this application, a computer-readable storage medium is provided, and includes computer instructions. When the computer instructions are run on a computer, any implementation of the first aspect and the second aspect is performed.
According to an eleventh aspect of embodiments of this application, a chip apparatus is provided, and includes a processor, configured to be connected to a memory, and invoke a program stored in the memory, to enable the processor to perform any implementation of the first aspect and the second aspect.
According to a twelfth aspect of embodiments of this application, a communication system is provided. The communication system includes the apparatus according to the third aspect and the apparatus according to the fourth aspect.
For technical effects achieved in the third aspect to the twelfth aspect, refer to the technical effects in the first aspect or the second aspect. Details are not described herein.
This application provides a rate matching method and apparatus, to ensure stable performance of an IR-HARQ.
In the specification and accompanying drawings of this application, the terms “first”, “second”, and the like are used to distinguish between different objects or distinguish between different processing of a same object, and are not used to describe a particular order of the objects. In addition, the terms “include” and “have”, and any variants thereof in descriptions of this application are intended to cover a non-exclusive inclusion. For example, a process, a method, a system, a product, or a device that includes a series of steps or units is not limited to listed steps or units, but optionally further includes other unlisted steps or units, or optionally further includes another step or unit inherent to the process, the method, the product, or the device. In embodiments of this application, “a plurality of” includes two or more, and a “system” and a “network” may be replaced with each other. In embodiments of this application, the word such as “example” or “for example” is used to represent giving an example, an illustration, or a description. Any embodiment or design solution described as an “example” or “for example” in embodiments of this application should not be explained as being more preferred or having more advantages than another embodiment or design solution. Exactly, use of the word such as “example” or “for example” is intended to present a related concept in a specific manner.
The communication method provided in embodiments of this application maybe applied to various communication systems, for example, a satellite communication system, an internet of things (IoT), a narrow band internet of things (NB-IoT) system, a global system for mobile communications (GSM), an enhanced data rate for GSM evolution (EDGE) system, 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, a long term evolution (LTE) system, a 5th generation (5G) communication system, for example, 5G new radio (NR) and three application scenarios of a 5G mobile communication system: enhanced mobile broadband (eMBB), ultra-reliable and low-latency communications (URLLC), and massive machine type communications (mMTC), a device-to-device (D2D) communication system, a machine-to-machine (M2M) communication system, an internet of vehicles communication system, or another or future communication system. This is not specifically limited in embodiments of this application.
The following describes embodiments of this application with reference to the accompanying drawings in embodiments of this application. Terms used in implementations of this application are merely used to explain specific embodiments of this application, and are not intended to limit this application.
For ease of understanding embodiments of this application, an application scenario used in embodiments of this application is described by using a network architecture shown in
The terminal includes a device that provides voice and/or data connectivity for a user. Specifically, the terminal includes a device that provides voice for the user, includes a device that provides data connectivity for the user, or includes a device that provides voice and data connectivity for the user. For example, the terminal may include a handheld device with a wireless connection function or a processing device connected to a wireless modem. The terminal device may communicate with a core network through a radio access network (RAN), and exchange voice or data with the RAN, or exchange voice and data with the RAN. The terminal device may include user equipment (UE), a wireless terminal device, a mobile terminal device, a device-to-device (D2D) terminal device, a vehicle-to-everything (V2X) terminal device, a machine-to-machine/machine type communications (M2M/MTC) terminal device, an internet of things (IoT) terminal device, a light terminal device (light UE), a subscriber unit, a subscriber station, a mobile station, a remote station, an access point (AP), a remote terminal, an access terminal, a user terminal, a user agent, an uncrewed aerial vehicle, a user device, or the like. For example, the terminal device may include a mobile phone (or referred to as a “cellular” phone), a computer having a mobile terminal device, or a portable, pocket-sized, handheld, or a computer-embedded mobile apparatus. For example, the terminal device is a device such as a personal communications service (PCS) phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, or a personal digital assistant (PDA). The terminal device further includes a limited device, for example, a device having low power consumption, a device having a limited storage capability, or a device having a limited computing capability. For example, the terminal device includes an information sensing device such as a barcode, radio frequency identification (RFID), a sensor, a global positioning system (GPS), or a laser scanner.
By way of example, and not limitation, in embodiments of this application, the terminal may alternatively be a wearable device. The wearable device may also be referred to as a wearable intelligent device, an intelligent wearable device, or the like, and is a general term of wearable devices that are intelligently designed and developed for daily wear by using a wearable technology, for example, glasses, gloves, watches, clothes, and shoes. The wearable device is a portable device that is directly worn on a body or integrated into clothes or an accessory of a user. The wearable device is not merely a hardware device, but is used to implement a powerful function through software support, data exchange, and cloud interaction. In a broad sense, the wearable intelligent device includes a full-featured and large-sized device that can implement all or some of functions without depending on a smartphone, for example, a smart watch or smart glasses, and includes a device that provides only one type of application function and that needs to be used in combination with another device such as a smartphone, for example, various smart bands, various smart helmets, or various pieces of smart jewelry for monitoring physical signs.
If the various terminals described above are located in a vehicle (for example, placed in the vehicle or installed in the vehicle), all of the terminals may be considered as vehicle-mounted terminals. For example, the vehicle-mounted terminal device is also referred to as an on-board unit (OBU).
In embodiments of this application, the terminal may further include a relay (relay). Alternatively, it is understood that any device that can perform data communication with a base station may be considered as the terminal device.
In embodiments of this application, an apparatus configured to implement a function of the terminal may be a terminal, or may be an apparatus that can support the terminal device in implementing the function, for example, a chip system. The apparatus may be installed in the terminal. In embodiments of this application, the chip system may include a chip, or may include a chip and another discrete device. In the technical solutions provided in embodiments of this application, the technical solutions provided in embodiments of this application are described by using an example in which the apparatus configured to implement the function of the terminal is a terminal.
The network device includes, for example, an access network (AN) device such as a base station (for example, an access point), and maybe a device that communicates with a wireless terminal device through an air interface in one or more cells in an access network. Alternatively, for example, the network device is a roadside unit (RSU) in a vehicle-to-everything (V2X) technology. The base station may be configured to perform mutual conversion between a received over-the-air frame and an IP packet, to serve as a router between the terminal device and a remaining part of the access network. The remaining part of the access network may include an IP network. The RSU may be a fixed infrastructure entity supporting a V2X application, and may exchange a message with another entity supporting the V2X application. The network device may further coordinate attribute management of the air interface. For example, the network device may include an evolved NodeB (NodeB, eNB, or e-NodeB) in a long term evolution (LTE) system or long term evolution-advanced (LTE-A), may include a next generation NodeB (gNB) in a 5th generation (5G) NR system (which is also briefly referred to as an NR system), may include a central unit (CU) and a distributed unit (DU) in a cloud radio access network (Cloud RAN) system, or may be an apparatus that carries a function of the network device in a future communication system. This is not limited in embodiments of this application.
The network device may further include a core network device. For example, the core network device includes an access and mobility management function (AMF) or a user plane function (UPF).
Alternatively, the network device maybe an apparatus that carries a function of the network device in device-to-device (D2D) communication, machine-to-machine (M2M) communication, an internet of vehicles, an uncrewed aerial vehicle system, or a satellite communication system.
It should be noted that only manners of communication between some network elements are listed above. Other network elements may communicate with each other in some connection manners. Details are not described herein in embodiments of this application.
A system architecture and a service scenario described in embodiments of this application are intended to describe the technical solutions in embodiments of this application more clearly, and do not constitute a limitation on the technical solutions provided in embodiments of this application. A person of ordinary skill in the art may learn that with evolution of a network architecture and emergence of a new service scenario, the technical solutions provided in embodiments of this application are also applicable to a similar technical problem.
For ease of understanding embodiments of this application, the following explains and describes some terms in embodiments of this application, to facilitate understanding by a person skilled in the art.
The polar code is a linear block code. A generator matrix of the polar code is GN, and a coding process of the polar code is x1N=u1NGN. Herein, u1N=(u1, u2, . . . , uN) is a binary row vector whose length is N (that is, a code length), GN is an N×N matrix, and GN=BNF2⊗(log
BN is an N×N transpose matrix, for example, a bit reversal matrix, and F2⊗(log
In addition to a representation manner of a generator matrix, the polar code maybe represented by using a coding/decoding diagram.
In a communication application that is insensitive to a system latency, the HARQ is a common transmission method used to improve a system throughput rate. When transmitting an information block, a transmitter codes the information block, and then sends the information block to a channel. If a receiver finds, after decoding a received signal, that transmission fails (for example, cyclic redundancy check cannot be successfully performed), the receiver transmits a negative acknowledgment (NACK) message to the transmitter over a feedback link, and the transmitter retransmits the information block. This process continues until the receiver performs correct decoding. In this case, the receiver sends an acknowledgment (ACK) message to the transmitter, to complete transmission of the information block. To obtain a link throughput rate that is as high as possible, the receiver buffers all received signals, and decodes the received signals together with a newly received signal.
A classic HARQ solution 1 is the CC-HARQ, that is, a HARQ-I. In this solution, a transmitter sends same coded data each time retransmission is performed; and a receiver directly adds all received signals, and then performs decoding. As a quantity of retransmissions increases, energy of combined received signals gradually increases, and decoding performance is enhanced. However, in this method, only an energy gain of retransmission can be obtained, and there is no coding gain of retransmission.
An existing HARQ transmission method in the polar code field is referred to as the IF-HARQ. As shown in
As a quantity of retransmissions increases, a code rate gradually decreases, and the coding gain of the IF-HARQ also decreases. When there is a very low code rate, the coding gain is even negative (poorer than that of the CC-HARQ). In addition, if a codeword of a retransmission part is incorrectly decoded due to impact of a channel environment, and these incorrect information bits are used as frozen bits of an initial transmission part, adverse impact is exerted on decoding of the initial transmission part.
From another perspective, in the IF-HARQ, a short code is transmitted during each transmission. If strong noise or interference is received during a transmission, correct decoding cannot be performed, and consequently incorrect propagation is caused. That is, there is a lack of coupling between codeword bits, reliability of a current decoding sub-block cannot be enhanced by decoding adjacent codewords, and a gain brought by a code length increase cannot be obtained. This is a source of a loss of the coding gain. Therefore, it is not appropriate to simply use the IF-HARQ in a retransmission solution of the polar code.
Another type of HARQ in the polar code field is referred to as the IR-HARQ, and is usually classified as a HARQ-II. A basic idea of the solution is to combine an initial transmission codeword and a retransmission codeword into a long code for decoding by using a nesting feature of a polar code. During initial transmission, a transmitter performs CRC coding on information data, and codes the information data into a short polar codeword at a corresponding code rate. During each retransmission, a polar code length and a kernel are extended based on a retransmission length; an extended part is searched for a sub-channel whose reliability is higher than that of an initial transmission part, the sub-channel is used as a new information bit, and an unreliable information bit in the corresponding initial transmission part is converted into a redundant information bit; a value of the redundant information bit is assigned to the new information bit, and a “one-to-one” check relationship between the redundant information bit and the new information bit is constructed; and polar coding is performed to generate an incremental redundant bit. A receiver combines all received signals into a long codeword based on a coder structure, and then sends the codeword to a decoder for decoding. During decoding, because the redundant information bit is used as a check bit, a value of the check bit may be determined based on a decoding result of the new information bit. As a quantity of retransmissions increases, a quantity of received redundant bits gradually increases, and a code rate of a long code obtained after combination gradually decreases. Therefore, decoding performance is enhanced. In addition to an energy gain, this method may further bring an additional coding gain by increasing the redundant bit.
A coding process of information bits and codeword bits for a first transmission and a second transmission in the IR-HARQ may be expressed by using the following formula:
Herein, for the first transmission, an information side vector is denoted as u1 (including information bits and frozen bits), and a codeword bit vector is c1; and for the second transmission, an information side vector is denoted as u2 (including information bits and frozen bits, where the transmitted information bits are exactly the same as some of the information bits in u1, and therefore this operation is referred to as “copy”), and a codeword bit vector is c2+c1, where “+” is binary addition, that is, an exclusive OR operation.
However, since rate matching is not performed in the IR-HARQ, the IR-HARQ does not have stable performance and may be defected by defective pixels (the performance of the IR-HARQ is poorer than that of the CC-HARQ).
It may be learned from the foregoing descriptions that the CC-HARQ and the IF-HARQ have disadvantages. If the CC-HARQ and the IF-HARQ are directly applied to the polar code field, performance is not ideal enough. The IR-HARQ is a known efficient retransmission manner, but currently there is no rate matching method for the IR-HARQ. In the IR-HARQ, when there is no rate matching (that is, no puncturing or shortening is required), stable performance can be achieved by selecting, based on a reliability sequence, a quantity and locations of bits that need to be copied. However, in an actual system, a quantity of resources for initial transmission and a quantity of resources for retransmission are not necessarily equal, and a quantity of bits obtained after coding for retransmission is less than a quantity of bits obtained after coding for initial transmission. To obtain stable performance, in this case, a rate matching manner needs to be introduced and designed. Otherwise, the performance is defected by defective pixels because of an unexpected copy quantity and unexpected copy locations based on a long sequence.
In view of this, in the technical solutions of this application, a corresponding rate matching manner is designed for the IR-HARQ, to ensure stability of the retransmission.
The technical solutions of this application are described below with reference to specific embodiments.
S501: A transmitter obtains a to-be-coded bit sequence.
S502: The transmitter performs polar coding on the to-be-coded bit sequence, to obtain a first bit sequence.
It should be noted that the first bit sequence may be referred to as a mother code of an initial transmission bit sequence, and a length of the first bit sequence is N.
S503: The transmitter performs first rate matching on the first bit sequence, to obtain a second bit sequence.
It should be noted that the second bit sequence may be referred to as the initial transmission bit sequence, and a length of the second bit sequence is E1, that is, a quantity of initial transmission bits is E1.
In a possible implementation, the first rate matching may be bit reversal shortening or a bit reversal shortening-based rate matching method, or may be an existing rate matching method in an existing standard.
For ease of understanding,
In addition to using the rate matching method of bit reversal shortening for the first bit sequence, a rate matching manner specified in an existing new radio (new radio, NR) protocol may be used. That is, a polar code is equally divided into 32 groups, a quantity of bits in each group is N/32, and a to-be-punctured or to-be-shortened location is selected on a group basis, that is, based on a priority of an indicated sequence. If a quantity of remaining to-be-punctured or to-be-shortened bits is insufficient to form one group, the remaining to-be-punctured or to-be-shortened bits are sequentially selected from the group. The to-be-shortened location is symmetrical to the to-be-punctured location, that is, is selected from back to front.
S504: The transmitter sends the second bit sequence to a receiver.
Correspondingly, there is S504a: The receiver obtains a first sequence.
It should be noted that the first sequence received by the receiver is related to the second bit sequence sent by the transmitter, and a length of the first sequence is E1.
S504b: The receiver rate de-matches the first sequence and then decodes the rate de-matched first sequence based on a manner of first rate matching.
It should be noted that an operation of the receiver corresponds to that of the transmitter. A difference lies in that the transmitter performs coding, and the receiver performs decoding. Therefore, similarly, a decoding manner of the receiver is also performed based on the first rate matching. Details are not described herein.
S505: The transmitter performs polar coding on the to-be-coded bit sequence, to obtain a third bit sequence.
It should be noted that the third bit sequence herein may be referred to as a combination of a to-be-retransmitted bit sequence and the first bit sequence, and a length of the third bit sequence is 2*N, that is, twice the length of the initial transmission mother code.
S506: The transmitter performs second rate matching on the third bit sequence, to obtain a fourth bit sequence.
It should be noted that the fourth bit sequence may be referred to as a retransmission bit sequence, and a length of the fourth bit sequence is E2. The second rate matching is determined based on a relationship between ƒ(E1) and E2, and a value of ƒ(E1) is determined based on E1.
S507: The transmitter sends the fourth bit sequence to the receiver.
Correspondingly, there is S507a: The receiver obtains a second sequence.
It should be noted that the second sequence received by the receiver is related to the fourth bit sequence sent by the transmitter, and a length of the second sequence is E2.
S507b: The receiver rate de-matches a third sequence and then decodes a de-matched third sequence based on the manner of first rate matching and a manner of second rate matching, where the third sequence consists of the first sequence and the second sequence.
It should be noted that an operation of the receiver corresponds to that of the transmitter. A difference lies in that the transmitter performs coding, and the receiver performs decoding. Therefore, similarly, a decoding manner of the receiver is also performed based on the manner of first rate matching and the second rate matching. Details are not described herein.
It may be learned that in the foregoing method, a rate matching mechanism that can be applied to a transmitter side in an IR-HARQ is designed, and a rate matching method is designed for each of the initial transmission bit sequence and the retransmission bit sequence, to fill a gap, in the conventional technology, that there is no rate matching method for the IR-HARQ. Further, a rate matching method designed for the retransmission bit sequence is determined based on a relationship between the initial transmission bit sequence and the retransmission bit sequence, and a flexible rate matching manner is designed for different correspondences between different quantities of retransmission bits and different quantities of initial transmission bits, so that the rate matching can exactly correspond to an actual situation, to ensure that performance of the IR-HARQ is always in a stable and excellent state.
In a possible implementation, that the second rate matching is determined based on a relationship between E1 and E2 may be specifically reflected as that the second rate matching is determined based on the relationship between ƒ(E1) and E2, where ƒ(E1) is a function of E1.
In a possible implementation, the second rate matching is determined based on a relationship between ƒ(E1, R) and E2, where ƒ(E1, R) is a function of E1 and R, R=K/E1 and is a transmission code rate, K is a quantity of to-be-coded bits, and K is a positive integer.
In a possible implementation, ƒ(E1) may be represented as a*E1+b, where a is a constant greater than 0 and less than or equal to 1, and b is a constant whose absolute value is less than E1.
In a possible implementation, when E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on a fifth bit sequence; or
In this implementation, the fifth bit sequence is a first half of the third bit sequence, that is, the fifth bit sequence consists of all bits whose sequence numbers fall within [0, N−1] in the third bit sequence. When E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on the mother code length N. When E2 is less than ƒ(E1), the second rate matching is performed based on a half of the mother code length, that is, N/2.
In a possible implementation, ƒ(E1) is represented as E1−N/16. A specific retransmission rate matching rule in this implementation is as follows:
When E2 is greater than or equal to E1−N/16:
(1) When E2 is less than N, the second rate matching is bit reversal shortening, that is, the transmitter performs bit reversal shortening on the to-be-retransmitted bit sequence until the length of the retransmission bit sequence that is finally transmitted is E2.
(2) When E2 is greater than or equal to N, the second rate matching is repetition, that is, the transmitter performs a repetition operation on the to-be-retransmitted bit sequence until the length of the retransmission bit sequence that is finally transmitted is E2.
When E2 is less than E1−N/16:
(1) When E2 is less than N/2, the third rate matching is bit reversal shortening, that is, the transmitter performs bit reversal shortening on the to-be-retransmitted bit sequence until the length of the retransmission bit sequence that is finally transmitted is E2.
(2) When E2 is less than N/2, the third rate matching is repetition, that is, the transmitter performs a repetition operation on the to-be-retransmitted bit sequence until the length of the retransmission bit sequence that is finally transmitted is E2.
For ease of understanding,
After the initial transmission bit sequence is determined, rate matching is performed below for retransmission. It is assumed that the length E2 of the retransmission bit sequence is 13 bits. In this case, ƒ(E1)=E1−N/16=12, and a condition that E2 is greater than or equal to E1−N/16 is met. Therefore, a rate matching method shown in (a) in
The foregoing is merely an example in which ƒ(E1)=a*E1+b, that is, an example in which a is 1 and b is −N/16. In another possible implementation, a may be any value greater than 0 and less than or equal to 1, for example, ⅞, ⅚, or ¾. In addition, b may be any number whose absolute value is less than E1.
In a possible implementation, ƒ(E1) is represented as E1/2. A specific retransmission rate matching rule in this implementation is as follows:
It should be noted that when E2 is greater than or equal to E1/2, the transmitter performs bit reversal shortening on the to-be-retransmitted bit sequence, to shorten the to-be-retransmitted bit sequence to a length of E1, and then performs puncturing in the natural order until the length of the final retransmission bit sequence is E2; or when E2 is less than E1/2, first punctures all bits whose sequence numbers fall within [0, N/2−1], and then performs bit reversal shortening on the remaining N/2 bits until the length of the final retransmission bit sequence is E2.
For ease of understanding,
After the initial transmission bit sequence is determined, rate matching is performed below for retransmission. It is assumed that the length E2 of the retransmission bit sequence is 8 bits. In this case, ƒ(E1)=E1/2=7, and a condition that E2 is greater than or equal to E1/2 is met. Therefore, a rate matching method shown on a left side in
A rate matching rule used when ƒ(E1) is represented as E1/2 and the length E2 of the retransmission bit sequence is less than or equal to the length E1 of the initial transmission bit sequence is provided above. In another possible implementation, when the length E2 of the retransmission bit sequence is greater than the length E1 of the initial transmission bit sequence, the retransmission part may be shortened to E2 based on the length N of the initial transmission mother code. If E2 is greater than N, rate matching is performed by using a repetition operation.
The foregoing describes the method in embodiments of this application. The following describes an apparatus in embodiments of this application. The method and the apparatus are based on a same technical concept. The method and the apparatus have similar principles for resolving problems. Therefore, for implementations of the apparatus and the method, mutual reference maybe made. Repeated parts are not described.
In embodiments of this application, the apparatus maybe divided into functional modules based on the foregoing method examples. For example, each functional module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one module. These modules 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 embodiments of this application, division into the modules is an example, and is merely logical function division. During specific implementation, another division manner may be used.
Based on a same technical concept as the foregoing method,
When the apparatus 1000 is configured to perform an operation performed by the transmitter, the apparatus 1000 has any function of the transmitter in the foregoing method.
In a possible implementation, a transceiver unit 1010 and a processing unit 1020 may be further configured to perform the following steps in the foregoing method. An example is as follows:
The transceiver unit 1010 obtains a to-be-coded bit sequence;
In a possible implementation, ƒ(E1)=a*E1+b, where a is a constant greater than 0 and less than or equal to 1, and b is a constant whose absolute value is less than E1.
In a possible implementation, when E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on a fifth bit sequence; or when E2 is less than ƒ(E1), the second rate matching includes: puncturing all bits whose sequence numbers fall within [0, N/2−1] in a fifth bit sequence, and performing third rate matching on all bits whose sequence numbers fall within [N/2, N−1] in the fifth bit sequence, where the fifth bit sequence consists of all bits whose sequence numbers fall within [0, N−1] in the third bit sequence.
In this implementation, the fifth bit sequence is a first half of the third bit sequence, that is, the fifth bit sequence consists of all the bits whose sequence numbers fall within [0, N−1] in the third bit sequence. When E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on the mother code length N. When E2 is less than ƒ(E), the second rate matching is performed based on a half of the mother code length, that is, N/2.
In a possible implementation, when E2 is greater than or equal to ƒ(E1):
In a possible implementation, when E2 is greater than or equal to ƒ(E1),
In a possible implementation, N is determined based on E1. Specifically,
In a possible implementation, the first rate matching is bit reversal shortening.
When the apparatus 1000 is configured to perform an operation performed by the receiver, the apparatus 1000 has any function of the receiver in the foregoing method.
In a possible implementation, a transceiver unit 1010 and a processing unit 1020 may be further configured to perform the following steps in the foregoing method. An example is as follows:
The transceiver unit 1010 obtains a first sequence, where a length of the first sequence is E1, and a mother code length corresponding to the first sequence is N; and the processing unit rate de-matches the first sequence and then decodes the de-matched first sequence based on a manner of first rate matching;
In a possible implementation, ƒ(E1)=a*E1+b, where a is a constant greater than 0 and less than or equal to 1, and b is a constant whose absolute value is less than E1.
In a possible implementation, when E2 is greater than or equal to ƒ(E), the second rate matching is performed based on a fifth bit sequence; or when E2 is less than ƒ(E1), the second rate matching includes: puncturing all bits whose sequence numbers fall within [0, N/2−1] in a fifth bit sequence, and performing third rate matching on all bits whose sequence numbers fall within [N/2, N−1] in the fifth bit sequence, where the fifth bit sequence consists of all bits whose sequence numbers fall within [0, N−1] in the third bit sequence.
In this implementation, the fifth bit sequence is a first half of the third bit sequence, that is, the fifth bit sequence consists of all the bits whose sequence numbers fall within [0, N−1] in the third bit sequence. When E2 is greater than or equal to ƒ(E1), the second rate matching is performed based on the mother code length N. When E2 is less than ƒ(E1), the second rate matching is performed based on a half of the mother code length, that is, N/2.
In a possible implementation, when E2 is greater than or equal to ƒ(E1):
In a possible implementation, when E2 is greater than or equal to ƒ(E1),
In a possible implementation, N is determined based on E1. Specifically,
In a possible implementation, the first rate matching is bit reversal shortening.
As shown in
The apparatus 1100 may be specifically configured to perform a related method performed by the transmitter in the foregoing method embodiments. An example is as follows:
The apparatus 1100 may be specifically configured to perform a related method performed by the receiver in the foregoing method embodiments. An example is as follows:
The transceiver 1110 obtains a first sequence, where a length of the first sequence is E1, and a mother code length corresponding to the first sequence is N; and the processing unit rate de-matches the first sequence and then decodes the rate de-matched first sequence based on a manner of first rate matching;
The apparatus 1100 may further include at least one memory 1130, configured to store program instructions and/or data. The memory 1130 is coupled to the processor 1120. In embodiments of this application, the coupling maybe an indirect coupling or a communication connection between apparatuses, units, or modules, may be in an electronic form, a mechanical form, or another form, and is used for information exchange between the apparatuses, the units, or the modules. The processor 1120 may cooperate with the memory 1130. The processor 1120 may execute the program instructions stored in the memory 1130. In a possible implementation, at least one of the at least one memory may be integrated with the processor. In another possible implementation, the memory 1130 is located outside the apparatus 1100.
A specific connection medium between the transceiver 1110, the processor 1120, and the memory 1130 is not limited in embodiments of this application. In embodiments of this application, the memory 1130, the processor 1120, and the transceiver 1110 are connected through a bus 1140 in
In embodiments of this application, the processor 1120 may be one or more central processing units (Central Processing Unit, CPU). When the processor 1120 is one CPU, the CPU maybe a single-core CPU or a multi-core CPU. The processor 1120 may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or perform the methods, steps, and logical block diagrams disclosed in embodiments of this application. The general-purpose processor may be a microprocessor, any conventional processor, or the like. The steps of the methods disclosed with reference to embodiments of this application maybe directly performed and completed by a hardware processor, or may be performed and completed by using a combination of hardware in a processor and a software module.
In embodiments of this application, the memory 1130 may include but is not limited to a nonvolatile memory such as a hard disk drive (HDD) or a solid-state drive (SSD), a random access memory (RAM), an erasable programmable read-only memory (EPROM), a read-only memory (ROM), a portable read-only memory (CD-ROM), or the like. The memory is any other medium that can be configured to carry or store expected program code in a form of an instruction structure or a data structure and that can be accessed by a computer. However, this is not limited thereto. In embodiments of this application, the memory may alternatively be a circuit or any other apparatus that can implement a storage function, and is configured to store program instructions and/or data. The memory 1130 is used for related instructions and data.
As shown in
An apparatus 1200 that may be configured to implement a function of the receiver in the foregoing method is provided. The apparatus 1200 maybe a communication apparatus or a chip in a communication apparatus. The apparatus includes:
When the communication apparatus is a chip used in a terminal device, the chip in the terminal device implements a function of the terminal device in the foregoing method embodiments. The chip in the terminal device receives information from another module (for example, a radio frequency module or an antenna) in the terminal device, where the information is sent by a network device to the terminal device. Alternatively, the chip in the terminal device sends information to another module (for example, a radio frequency module or an antenna) in the terminal device, where the information is sent by the terminal device to a network device.
When the communication apparatus is a chip used in a network device, the chip in the network device implements a function of the network device in the foregoing method embodiments. The chip in the network device receives information from another module (for example, a radio frequency module or an antenna) in the network device, where the information is sent by a terminal device to the network device. Alternatively, the chip in the network device sends information to another module (for example, a radio frequency module or an antenna) in the network device, where the information is sent by the network device to a terminal device.
Based on a same concept as the foregoing method embodiments, an embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and the computer program is executed by hardware (for example, a processor) to implement some or all steps of any method performed by any apparatus in embodiments of this application.
Based on a same concept as the method embodiments, an embodiment of this application further provides a computer program product including instructions. When the computer program product is run on a computer, the computer is enabled to perform some or all steps of any method in the foregoing aspects.
Based on a same concept as the foregoing method embodiments, this application further provides a chip or a chip system. The chip may include a processor. The chip may further include a memory (or a storage module) and/or a transceiver (or a communication module), or the chip is coupled to a memory (or a storage module) and/or a transceiver (or a communication module). The transceiver (or the communication module) may be configured to support the chip in performing wired and/or wireless communication, and the memory (or the storage module) may be configured to store a program. The processor may invoke the program to implement an operation performed by the terminal or the network device in any one of the method embodiments or the possible implementations of the method embodiments. The chip system may include the foregoing chip, or may include the foregoing chip and another discrete device, for example, the memory (or the storage module) and/or the transceiver (or the communication module).
Based on a same concept as the foregoing method embodiments, this application further provides a communication system. The communication system may include the foregoing terminal and/or network device. The communication system may be configured to implement an operation performed by the terminal or the network device in any one of the method embodiments or the possible implementations of the method embodiments. For example, the communication system may have the structure shown in
All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used for implementation, all or some of the foregoing embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or some of the procedures or functions according to embodiments of this application are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium, or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions maybe transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a server or a data center, into which one or more usable media are integrated. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, an optical disc), a semiconductor medium (for example, a solid-state drive), or the like. In the foregoing embodiments, descriptions of embodiments have respective focuses. For a part that is not described in detail in an embodiment, refer to related descriptions in another embodiment.
In the foregoing embodiments, descriptions of embodiments have respective focuses. For a part that is not described in detail in an embodiment, refer to related descriptions in another embodiment.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the units is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features maybe ignored or not performed. In addition, the displayed or discussed mutual indirect couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located at one location, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions in embodiments.
When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the conventional technology, or all or some of the technical solutions maybe implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the method in embodiments of this application.
The foregoing descriptions are merely some specific implementations of this application, but are not intended to limit the protection scope of this application. Any person skilled in the art may make other changes and modifications to these embodiments within the technical scope disclosed in this application. Therefore, the appended claims are intended to be construed as including the foregoing embodiments and the changes and modifications that fall within the scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Number | Date | Country | Kind |
---|---|---|---|
202111522959.8 | Dec 2021 | CN | national |
This disclosure is a continuation of International Application No. PCT/CN 2022/138313, filed on Dec. 12, 2022, which claims priority to Chinese Patent Application No. 202111522959.8, filed on Dec. 13, 2021. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2022/138313 | Dec 2022 | WO |
Child | 18741363 | US |