Polar code retransmission method and apparatus
By constructing a coding sequence through interleaved polar coding, the initial transmission performance remains unchanged while adding a retransmission sequence. This solves the problems of unstable retransmission performance and high complexity of polar codes in the new air interface system, and improves stability and long code gain.
Patent Information
- Application Number
- PCT/CN2023/122862
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2026-05-28
Smart Images

Figure CN2023122862_28052026_PF_FP_ABST
Abstract
Description
Method and apparatus for polar code retransmission Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for polar code retransmission. Background Technology
[0002] In New Radio (NR) systems, retransmission of polar codes is an effective method to improve channel spectral efficiency.
[0003] Currently, hybrid automatic repeat request (HARQ) technology is commonly used for polar code retransmission. The process involves the receiver saving the received data and requesting retransmission from the sender if decoding fails. The receiver then merges the retransmitted data with the previously received data before decoding. HARQ is divided into soft combine (CC) HARQ and incremental redundancy (IR) HARQ. CC-HARQ retransmits part or all of the initial codeword, increasing the transmission energy per bit and offering a simpler construction, but it lacks the long code gain effect. IR-HARQ incrementally transmits codeword bits that were not sent during the initial transmission, offering the long code gain effect. However, this method requires bit duplication and the creation of a bit mapping pair, resulting in high decoding complexity. Furthermore, the initial transmission length and the code rate / retransmission length both affect the polar code construction, rate matching, and transmission sequence, making performance stability difficult to achieve.
[0004] Therefore, how to achieve both stable performance and long code gain during retransmission is a hot research topic.
[0005] Summary of the Invention
[0006] This application provides a method and apparatus for polar code retransmission, so as to achieve both stable performance and long code gain during retransmission.
[0007] To achieve the above objectives, this application adopts the following technical solution:
[0008] Firstly, a method for polar code retransmission is provided. This method includes: acquiring a bit sequence to be encoded of length N and a first bit sequence of length N, wherein the first bit sequence contains bits with values of 0, and N is a positive integer; interleaving the bit sequence to be encoded with the first bit sequence to obtain a second bit sequence; polar encoding the second bit sequence to obtain an encoded sequence, which includes the initial transmission sequence encoded from the bit sequence to be encoded; and, in the event of initial decoding failure, sending a retransmission sequence, which is the sequence in the encoded sequence excluding the initial transmission sequence.
[0009] Based on the method described in the first aspect, it is known that by interleaving the bit sequence to be encoded with a first bit sequence containing bits with a value of 0, a long code is constructed, and the interleaved sequence is polar-coded to obtain an encoded sequence. The encoded sequence includes the initial transmission sequence after encoding the bit sequence to be encoded, which can ensure the same performance as the initial transmission. The sequence in the encoded sequence other than the initial transmission sequence can be sent as a retransmission sequence. The retransmission sequence constructed in this way has stable performance and has the effect of long code gain.
[0010] It is understood that the method described in the first aspect can be executed by a first communication device, which may be a terminal, a device containing a terminal, or a chip within a terminal. Alternatively, the first communication device may also be a network device, a device containing a network device, or a chip within a network device. For ease of description, the following description will take the execution of the method described in the first aspect by a first communication device as an example.
[0011] In one possible design, the bit sequence to be encoded includes Y first sub-blocks, the first bit sequence includes Y second sub-blocks, interleaving is the interleaving between the Y first sub-blocks and the Y second sub-blocks, the retransmission sequence is the combination of sub-blocks in the encoded sequence excluding the initial transmission sequence, the order of the Y first sub-blocks in the bit sequence to be encoded and the second bit sequence is consistent, the order of the Y second sub-blocks in the first bit sequence and the second bit sequence is consistent, the length of each of the Y first sub-blocks is N / Y, the length of each of the Y second sub-blocks is N / Y, and Y is an integer greater than 1.
[0012] It is understandable that interleaving the first and second sub-blocks before polar coding results in the encoding sequence including the sub-blocks of the initial transmission sequence, since the internal order of the first and second sub-blocks remains unchanged. This means that the encoding sequence can obtain the same encoding result as the initial transmission sequence. Therefore, the initial transmission sequence can be directly extracted from the encoding sequence and sent as the initial transmission, so its initial transmission performance will not change. Furthermore, the sub-blocks other than the initial transmission sequence can be sent as retransmission sequences in any combination of lengths. During retransmission, the codeword type is increased, which has a certain degree of long code gain, thereby improving the decoding performance.
[0013] In one possible design, the row weight of the i-th first sub-block in the second bit sequence is M times the row weight in the bit sequence to be encoded, where M is an integer greater than or equal to 4, and i iterates from 1 to Y. That is, after the first and second sub-blocks are interleaved, the row weight of some first sub-blocks can be increased by more than or equal to 4 times, which can increase the number of times the first sub-block is checked, thereby improving decoding performance. Furthermore, for repeatedly transmitted retransmission sequences, the equivalent code weight is increased by 2 times.
[0014] In one possible design, the number of Y first sub-blocks is determined based on the position of the information bits in the bit sequence to be encoded.
[0015] Optionally, if the first quarter of the bit sequence to be encoded contains information bits, then Y = 4; if the first quarter or 3 / 8 of the bit sequence to be encoded does not contain information bits, then Y = 8. It can be understood that if the first quarter of the bit sequence to be encoded contains information bits, then the bit sequence to be encoded is divided into four first sub-blocks, and the first quarter of the bit sequence to be encoded is the first sub-block. If the first sub-block does not contain information bits, then the bit sequence to be encoded is further divided into eight sub-blocks, so that the interleaving position of the sub-blocks can be adjusted according to the distribution of information bits, thereby adapting to different code rates.
[0016] In a specific embodiment, when Y=4, the order of the eight sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, and sub-block #7. Following the order of the four first sub-blocks in the bit sequence to be encoded, the four first sub-blocks in the second bit sequence are sub-block #3, sub-block #5, sub-block #6, and sub-block #7, respectively. It can be understood that after sub-block interleaving, the relative order within the first sub-blocks remains unchanged, still arranged according to the order of the first sub-blocks in the bit sequence to be encoded. However, changing the position of the first sub-blocks in the second bit sequence increases the row weight of the first sub-blocks, thereby improving the decoding performance of the polar code.
[0017] In a specific embodiment, when the first quarter of the bit sequence to be encoded does not contain information bits, and the remaining bits in the first three-eighths of the bit sequence contain information bits, the order of the 16 sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, sub-block #15. Based on the order of the first sub-blocks containing information bits in the bit sequence to be encoded, the first sub-blocks containing information bits in the second bit sequence are sub-block #7, sub-block #11, sub-block #12, sub-block #13, sub-block #14, and sub-block #15, respectively. When the first 3 / 8 of the bit sequence to be encoded does not contain information bits, the order of the 16 sub-blocks in the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, sub-block #15. Following the order of the first sub-block containing information bits in the bit sequence to be encoded, these first sub-blocks in the second bit sequence are sub-block #7, sub-block #11, sub-block #13, sub-block #14, and sub-block #15.
[0018] It is understandable that the position of sub-block interleaving is adjusted according to the distribution of information bits in a certain rule, thereby adapting to different code rates. After sub-block interleaving, the first sub-block containing information bits in the bit sequence to be encoded is stacked in the second bit sequence, gaining additional check times and achieving the purpose of performance improvement.
[0019] In a specific embodiment, when Y=4, the order of the eight sub-blocks of the encoded sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, and sub-block #7. The initial transmission sequence includes sub-blocks #0, #5, #6, and #7 from the encoded sequence. The retransmission sequence includes at least one of the following sub-blocks from the encoded sequence: sub-block #1, sub-block #2, sub-block #3, or sub-block #4. In other words, the encoded sequence includes both the initial transmission sequence and the retransmission sequence, ensuring initial transmission performance while improving the code weight of retransmissions and thus improving long code performance.
[0020] When the first quarter of the bit sequence to be encoded does not contain information bits, and the remaining bits in the first three-eighths of the bit sequence contain information bits, the order of the 16 sub-blocks of the encoded sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, and sub-block #15. The initial transmission sequence includes sub-blocks #0, #2, #9, #11, #12, #13, #14, and #15 from the encoded sequence. The retransmission sequence includes at least one of the following coded sub-blocks in the coded sequence: coded sub-block #1, coded sub-block #3, coded sub-block #4, coded sub-block #5, coded sub-block #6, coded sub-block #7, coded sub-block #8, and coded sub-block #10. When the first 3 / 8 of the bit sequence to be encoded does not contain information bits, the order of the 16 sub-blocks of the coded sequence is: coded sub-block #0, coded sub-block #1, coded sub-block #2, coded sub-block #3, coded sub-block #4, coded sub-block #5, coded sub-block #6, coded sub-block #7, coded sub-block #8, coded sub-block #9, coded sub-block #10, coded sub-block #11, coded sub-block #12, coded sub-block #13, coded sub-block #14, and coded sub-block #15. The initial transmission sequence includes coded sub-blocks #0, #4, #9, #10, #11, #13, #14, and #15 from the coded sequence. The retransmission sequence includes at least one of the following coded sub-blocks from the coded sequence: coded sub-block #1, #2, #3, #5, #6, #7, #8, and #12.
[0021] It is understandable that the number of the first sub-blocks varies depending on the position of the information bits in the bit sequence to be encoded, which in turn affects the positions of the initial transmission sequence and the retransmission sequence in the encoded sequence. It can be seen that regardless of the position of the information bits in the bit sequence to be encoded, the encoded sequence always includes the initial transmission sequence, without changing its initial transmission performance. Furthermore, the remaining sub-blocks can be sent as retransmission sequences, increasing the code weight of retransmissions, adding new checksums, and achieving the effect of long code gain.
[0022] In one possible design, if the initial transmission decoding fails and before sending the retransmission sequence, rate matching is performed on the initial transmission sequence to generate an initial transmission codeword. The initial transmission codeword is then sent. Rate matching can be performed according to the requirements for shortening / puncturing / repeating the initial transmission sequence; for example, it can include natural order (NAT) puncturing and new radio (NR) sub-block interleaving. Since the initial transmission codeword is nested within the encoded sequence, the initial transmission sequence can be directly extracted from the encoded sequence, simplifying the construction.
[0023] Optionally, there may be discarded bits when rate matching is performed on the initial transmission sequence; after sending the initial codeword, if the initial decoding fails, the discarded bits are sent. It is understood that the discarded bits may include shortened bits and / or punctured bits. During retransmission, if the initial transmission sequence contains punctured bits, the punctured bits are sent first to improve decoding performance.
[0024] Secondly, a method for polar code decoding is provided, the method comprising: acquiring initial transmitted information to be decoded, wherein the initial transmitted information to be decoded is a partial sequence in an encoded sequence;
[0025] If decoding of the initial transmitted information to be decoded fails, retransmitted information to be decoded is obtained, wherein the retransmitted information to be decoded is a sequence in the encoded sequence other than the initial transmitted information to be decoded.
[0026] The retransmitted information to be decoded and the initial information to be decoded are jointly decoded.
[0027] It is understood that the method described in the second aspect can be executed by a second communication device, which can be a terminal, a device containing a terminal, or a chip within a terminal. Alternatively, the second communication device can also be a network device, a device containing a network device, or a chip within a network device. For ease of description, the following description will take the execution of the method described in the second aspect by a second communication device as an example.
[0028] Thirdly, a communication device is provided. The communication device includes modules for performing the methods described in any one of the first to second aspects, such as a transceiver module and a processing module. For example, the transceiver module is used to instruct the transceiver functions of the communication device, and the processing module is used to perform functions of the communication device other than the transceiver functions.
[0029] Optionally, the transceiver module may include a sending module and a receiving module. The sending module implements the sending function of the communication device described in the third aspect, and the receiving module implements the receiving function of the communication device described in the third aspect.
[0030] Optionally, the communication device described in the third aspect may further include a storage module storing programs or instructions. When the processing module executes the program or instructions, the communication device can perform the methods described in any one of the first to second aspects.
[0031] It is understood that the communication device described in the third aspect may be a terminal or network device, or a chip (system) or other component or assembly that can be disposed in a terminal or network device, or a device that includes a terminal or network device. This application does not limit it in this regard.
[0032] Furthermore, the technical effects of the communication device described in the third aspect can be referred to the technical effects of the first aspect mentioned above, and will not be repeated here.
[0033] Fourthly, a communication device is provided. The communication device includes a processor configured to perform the method described in any one of the first to second aspects.
[0034] In one possible design, the communication device described in the fourth aspect may further include a transceiver. This transceiver may be a transceiver circuit or an interface circuit. The transceiver can be used for communication between the communication device described in the fourth aspect and other communication devices.
[0035] In one possible design, the communication device described in the fourth aspect may further include a memory. This memory may be integrated with the processor or disposed separately. The memory may be used to store computer programs and / or data relating to the methods described in any of the first to second aspects.
[0036] In the embodiments of this application, the communication device described in the fourth aspect may be a terminal or network device described in any one of the first to second aspects, or may be a chip (system) or other component or assembly disposed in the terminal or network device, or may be a device containing the terminal or network device.
[0037] Furthermore, the technical effects of the communication device described in the fourth aspect can be referred to the technical effects of the method described in any one of the first or second aspects, and will not be repeated here.
[0038] Fifthly, a communication device is provided. The communication device includes a processor coupled to a memory, the processor being configured to execute a computer program stored in the memory, such that the communication device performs the method described in any one of the first to second aspects.
[0039] In one possible design, the communication device described in the fifth aspect may further include a transceiver. This transceiver may be a transceiver circuit or an interface circuit. The transceiver can be used for communication between the communication device described in the fifth aspect and other communication devices.
[0040] In the embodiments of this application, the communication device described in the fifth aspect may be a terminal or network device described in any one of the first to second aspects, or may be a chip (system) or other component or assembly disposed in the terminal or network device, or may include the terminal or network device.
[0041] Furthermore, the technical effects of the communication device described in the fifth aspect can be referred to the technical effects of the method described in the first aspect, and will not be repeated here.
[0042] A sixth aspect provides a communication device, comprising: a processor and a memory; the memory being used to store a computer program, which, when executed by the processor, causes the communication device to perform the method described in any one of the first to second aspects.
[0043] In one possible design, the communication device described in the sixth aspect may further include a transceiver. This transceiver may be a transceiver circuit or an interface circuit. The transceiver can be used for communication between the communication device described in the sixth aspect and other communication devices.
[0044] In the embodiments of this application, the communication device described in the sixth aspect may be a terminal or network device described in any one of the first to second aspects, or may be a chip (system) or other component or assembly disposed in the terminal or network device, or may include the terminal or network device.
[0045] Furthermore, the technical effects of the communication device described in the sixth aspect can be referred to the technical effects of the method described in any one of the first or second aspects, and will not be repeated here.
[0046] A seventh aspect provides a communication system. The communication system includes: a first communication device for performing the method described in the first aspect, and a second communication device for performing the method described in the second aspect.
[0047] Eighth aspect, a computer-readable storage medium is provided, comprising: a computer program or instructions; when the computer program or instructions are executed on a computer, causing the computer to perform the method described in any one of the first to second aspects.
[0048] A ninth aspect provides a computer program product, including a computer program or instructions that, when run on a computer, cause the computer to perform the method described in any one of the first to second aspects. Attached Figure Description
[0049] Figure 1 is a schematic diagram of 8*8 polar code encoding;
[0050] Figure 2 is a schematic diagram of the architecture of the communication system provided in an embodiment of this application;
[0051] Figure 3 is a schematic diagram of the architecture of the communication system provided in an embodiment of this application;
[0052] Figure 4 is a flowchart illustrating the polar code retransmission method provided in an embodiment of this application;
[0053] Figure 5 is a schematic diagram of the sub-block interleaving and coding structure provided in an embodiment of this application;
[0054] Figure 6 is a schematic diagram of the sub-block interleaving and coding structure provided in an embodiment of this application;
[0055] Figure 7 is a schematic diagram of the sub-block interleaving and coding structure provided in the embodiment of this application;
[0056] [Corrected according to Rule 91, 24.11.2023] Figure 8 is a schematic diagram of an application scenario of the polar code retransmission method provided in the embodiments of this application;
[0057] [Corrected according to Rule 91, 24.11.2023] Figure 9 is a schematic diagram of the second application scenario of the polar code retransmission method provided in the embodiments of this application;
[0058] Figure 10 is a schematic diagram of the communication device provided in an embodiment of this application;
[0059] Figure 11 is a schematic diagram of the structure of the communication device provided in the embodiment of this application. Detailed Implementation
[0060] For ease of understanding, the technical terms involved in the embodiments of this application will be introduced below.
[0061] 1. Polar codes:
[0062] Polar codes are a channel coding scheme that can achieve Shannon channel capacity. They have the advantages of good performance and low complexity. They have been selected by the 3rd generation partnership project (3GPP) as the uplink / downlink control channel coding scheme in the 5th generation (5G) enhanced mobile broadband (eMBB) scenario.
[0063] Figure 1 is a schematic diagram of 8*8 polar code encoding. As shown in Figure 1, "+" represents the XOR operation. The bits to be encoded are sorted according to their reliability. Generally, the bits with higher reliability are set as information bits (data), such as u_7, u_6, u_5, and u_3, which are the first 4 bits with higher reliability and are set as information bits. The bits with lower reliability are set as frozen bits, such as u_4, u_2, u_1, and u_0, which are the last 4 bits with higher reliability and are set as frozen bits. The value of the frozen bits is usually set to 0, and is known to both the sending and receiving ends in actual transmission.
[0064] It can be seen that the length of the polar code's mother code is an integer power of 2. When the code length required for actual communication is not the mother code length, further code length matching is required through methods such as puncturing and retransmission. In other words, puncturing and retransmission refer to removing or retransmitting certain bit positions from the encoded sequence to make it suitable for the code length requirement; this process is also called rate matching.
[0065] There are currently two main rate matching methods: natural order perforation and NR sub-block interleaving, which will be introduced below.
[0066] 2. NR sub-block interleaving:
[0067] NR's polar code rate matching has been modified for NAT puncturing. In puncturing mode, the polar code mother code is divided into 32 sub-blocks and the sub-blocks are interleaved in the order shown in Table 1.
[0068] Table 1
[0069] Thus, if the sequence to be transmitted is a polar code of length M, and the corresponding mother code has a length of N, where N is greater than M, the transmitter can select the first NM bits of the mother code as puncture positions according to the interleaving order described in Table 1, such as sub-block 0, sub-block 1, sub-block 2, sub-block 4, etc., or sub-block 31, sub-block 30, sub-block 29, sub-block 27, etc., and so on, without further elaboration. Furthermore, in puncture mode, the transmitter can also pre-freeze a portion of bit positions based on N and M. The purpose of this is to ensure that some positions where the puncture capacity changes too much are not selected as information bits.
[0070] It can be seen that NR sub-block interleaving increases the construction complexity and rate matching becomes more complicated.
[0071] 3. Retransmission:
[0072] Retransmission is an effective method to improve channel spectral efficiency.
[0073] HARQ is a technique that combines forward error correction (FEC) coding and automatic repeat-request (ARQ) to improve spectral efficiency. The key features of HARQ are storage, retransmission request, and combined demodulation. In the event of decoding failure, the receiver saves the received data and requests the sender to retransmit it. The receiver then combines the retransmitted data with the previously received data before decoding. This data combining provides diversity gain, reduces the number of retransmissions, and thus reduces latency. Traditional ARQ technology, on the other hand, simply discards erroneous data without storage, thus lacking a combining process and diversity gain, often resulting in excessive retransmissions and long waiting times.
[0074] HARQ is divided into two types: CC retransmission and IR retransmission. CC retransmission involves retransmitting part or all of the codeword from the initial transmission. At the receiving end, the received data, which is sent multiple times based on the consistent position of the data on the codeword, is combined and then decoded. Multiple transmissions effectively increase the transmission energy of the codeword bits. IR retransmission involves incrementally transmitting the codeword bits that were not sent in the initial transmission. In addition to increasing the overall transmission energy, it also provides a long code gain.
[0075] Currently, the only specific application of polar code IR harq is the polar code Harq in the StarSignal standard. The StarSignal standard refers to the NR sub-block interleaving mentioned above, and its rate matching method is very complex. First, the initial transmission adopts the NR (5G) rate matching: the NR (5G) polar code divides the polar code mother code length into 32 sub-blocks, and performs sub-block interleaving in the order shown in Table 1.
[0076] During retransmission, there are different branches of rate matching as shown in Table 2.
[0077] Table 2
[0078] NRV0 is the initial transmission master code (coded length), ERV0 is the transmission length, and ERV1 is the number of retransmission channel bits. If NRV0 > ERV0, rate matching is required. The initial NRV0-ERV0 length is punctured according to the code rate, and the corresponding uninterleaved positions are pre-frozen; alternatively, the final NRV0-ERV0 length is shortened. In punctured mode, based on NRV0 and ERV0, an additional portion of bit positions are pre-frozen to ensure that positions where the puncturing capacity changes too much are not selected as information bits.
[0079] As can be seen, the rate matching method of IR harq is very complex. In terms of construction, the length of the initial transmission mother code and the retransmission channel bits will affect the construction of the polar code, rate matching and transmission sequence. Therefore, it is difficult for the polar code Harq to achieve stable performance under flexible transmission length.
[0080] To address the aforementioned technical problems, the embodiments of this application propose the following technical solutions.
[0081] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0082] The technical solutions of this application can be applied to various communication systems, such as Wi-Fi systems, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, fourth-generation (4G) mobile communication systems, such as long-term evolution (LTE) systems, worldwide interoperability for microwave access (WiMAX) communication systems, fifth-generation (5G) systems, such as new radio (NR) systems, and future communication systems.
[0083] In the embodiments of this application, "instruction" can include direct and indirect instructions, as well as explicit and implicit instructions. The information indicated by a certain piece of information (such as the first instruction information, second instruction information, or third instruction information below) is called the information to be instructed. In the specific implementation process, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly indicate the information to be instructed by indicating other information, where there is a correlation between the other information and the information to be instructed. It can also indicate only a part of the information to be instructed, while the other parts are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement order of various pieces of information, thereby reducing instruction overhead to some extent. At the same time, common parts of various pieces of information can be identified and indicated uniformly to reduce the instruction overhead caused by individually indicating the same information.
[0084] Furthermore, the specific indication method can also be any existing indication method, such as, but not limited to, the above-mentioned indication methods and their various combinations. Specific details of various indication methods can be found in existing technologies, and will not be repeated here. As described above, for example, when multiple pieces of information of the same type need to be indicated, the indication methods for different pieces of information may differ. In the specific implementation process, the required indication method can be selected according to specific needs. This application embodiment does not limit the selected indication method; therefore, the indication methods involved in this application embodiment should be understood to cover various methods that enable the party to be indicated to obtain the information to be indicated.
[0085] It should be understood that the information to be indicated can be sent as a whole or divided into multiple sub-information messages sent separately, and the sending period and / or timing of these sub-information messages can be the same or different. The specific sending method is not limited in this application embodiment. The sending period and / or timing of these sub-information messages can be predefined, for example, according to a protocol, or configured by the sending device by sending configuration information to the receiving device.
[0086] "Predefined" or "pre-configured" can be achieved by pre-saving corresponding codes, tables, or other means that can be used to indicate relevant information in the device. This application does not limit the specific implementation method. "Saving" can refer to saving in one or more memories. These memories can be separate installations or integrated into the encoder, decoder, processor, or communication device. Alternatively, some memories can be separately installed, while others are integrated into the decoder, processor, or communication device. The type of memory can be any form of storage medium, and this application does not limit this.
[0087] The “protocol” mentioned in the embodiments of this application may refer to a protocol family in the field of communication, a standard protocol with a similar protocol family frame structure, or a related protocol applied to future communication systems. The embodiments of this application do not specifically limit this.
[0088] In the embodiments of this application, descriptions such as "when," "under the circumstances," "if," and "if" all refer to the device making corresponding processing under certain objective circumstances, and are not limited to a specific time. They do not require the device to make a judgment action during implementation, nor do they imply any other limitations.
[0089] In the description of the embodiments of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in the embodiments of this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of the embodiments of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Additionally, to facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first," "second," etc., do not limit the quantity or order of execution, and that "first," "second," etc., are not necessarily different. Furthermore, in the embodiments of this application, words such as "exemplary" or "for example" are used to indicate that something is being used as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner for ease of understanding.
[0090] The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0091] To facilitate understanding of the embodiments of this application, the communication system applicable to the embodiments of this application will be described in detail first using the communication system shown in FIG2 as an example. For example, FIG2 is a schematic diagram of the architecture of a communication system to which the method provided in the embodiments of this application is applicable.
[0092] As shown in Figure 2, the communication system may include: a first communication device and a second communication device.
[0093] The communication device can be a terminal or a network device.
[0094] A terminal can also be called user equipment (UE), access terminal, subscriber unit, user station, mobile station (MS), mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user equipment. The terminals in the embodiments of this application may be mobile phones, cellular phones, smartphones, tablets, wireless data cards, personal digital assistants (PDAs), wireless modems, handsets, laptop computers, machine-type communication (MTC) terminals, computers with wireless transceiver capabilities, virtual reality (VR) terminals, augmented reality (AR) terminals, smart home devices (e.g., refrigerators, televisions, air conditioners, electricity meters, etc.), intelligent robots, robotic arms, workshop equipment, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, vehicle-mounted terminals, and roadside units with terminal functions. The terminal in this application can also be an onboard module, onboard unit, onboard component, onboard chip, or onboard unit that is built into a vehicle as one or more components or units. The terminal device can also be other devices with terminal functions; for example, it can be a device that functions as a terminal in D2D communication.
[0095] The embodiments of this application do not limit the device form of the terminal. The device used to implement the functions of the terminal can be the terminal itself; it can also be a device that supports the terminal in implementing the functions, such as a chip system. The device can be installed in the terminal or used in conjunction with the terminal. In the embodiments of this application, the chip system can be composed of chips or can include chips and other discrete components.
[0096] Network equipment can be radio access network (RAN) equipment, also known as access network device. Specifically, the access network device can be a next-generation mobile communication system, such as a 6G access network device, like a 6G base station. Alternatively, in next-generation mobile communication systems, the access network device can have other naming conventions, all of which are covered within the protection scope of the embodiments of this application, and this application does not impose any limitations on them. Alternatively, the access network device can also include 5G, such as a gNB in a new radio (NR) system, or one or a group of antenna panels (including multiple antenna panels) of a 5G base station. It can also be a network node constituting a gNB, a transmission and reception point (TRP) or transmission point (TP), or a transmission measurement function (TMF), such as a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), an RSU with base station functionality, a wired access gateway, or a 5G core network element, etc. Alternatively, access network devices may also include: access points (APs) in wireless fidelity (WiFi) systems, wireless relay nodes, wireless backhaul nodes, various forms of macro base stations, micro base stations (also known as small stations), relay stations, access points, wearable devices, vehicle-mounted devices, etc.
[0097] In this network, CU and DU can be configured separately or included in the same network element, such as a baseband unit (BBU). RU can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). It is understood that network equipment can be CU nodes, DU nodes, or a combination of CU and DU nodes. Furthermore, CUs can be classified as network equipment in the access network (RAN) or in the core network (CN); there are no restrictions on this classification.
[0098] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0099] It should be noted that the communication systems mentioned in the embodiments of this application include, but are not limited to: Narrow Band-Internet of Things (NB-IoT), Global System for Mobile Communications (GSM), Enhanced Data Rate for GSM Evolution (EDGE), Wideband Code Division Multiple Access (WCDMA), Code Division Multiple Access 2000 (CDMA2000), Time Division-Synchronization Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), and the three major application scenarios of the next-generation 5G mobile communication system: enhanced mobile broadband (eMBB), Ultra-Reliable Low-Latency Communications (URLLC), and enhanced Machine-Type Communication (eMTC).
[0100] The communication system of this application embodiment is suitable for coding scenarios and can be implemented using dedicated ASIC chips, programmable FPGA chips, or software (program code in memory). As shown in Figure 3, the coding mainly involves source coding and channel coding, channel decoding and source recovery. For specific principles, please refer to relevant 3GPP technologies.
[0101] In this communication system, the first sub-block and the second sub-block are interleaved by the first communication device and then polarized coding is performed. The coding sequence includes the sub-blocks of the initial transmission sequence, so its initial transmission performance will not change. In addition, the sub-blocks other than the initial transmission sequence can be sent as retransmission sequences in any combination of lengths. During retransmission, the type of codeword is increased, which has a certain degree of long code gain, thereby improving the decoding performance.
[0102] The embodiments of this application do not limit the device form of the network device. The apparatus used to implement the function of the network device can be the network device itself, or it can be an apparatus capable of supporting the network device in implementing the function, such as a chip system. This apparatus can be installed in the network device, or used in conjunction with the network device. In the embodiments of this application, the chip system can be composed of chips, or it can include chips and other discrete components.
[0103] The interaction process between various network elements / devices in the above-mentioned communication system will be specifically described below with reference to Figures 4-9 through method embodiments. The polar code retransmission method provided in this application embodiment can be applied to the above-mentioned communication system and specifically applied to various scenarios / processes mentioned in the above-mentioned communication system, which will be described in detail below.
[0104] Figure 4 is a flowchart illustrating the polar code retransmission method provided in an embodiment of this application. This polar code retransmission method is applicable to the aforementioned communication system and mainly involves the interaction between a first communication device and a second communication device.
[0105] As shown in Figure 4, the process of this polar code retransmission method is as follows:
[0106] S401, the first communication device acquires a bit sequence to be encoded of length N and a first bit sequence of length N.
[0107] The first bit sequence contains bits with values of 0, and N is a positive integer.
[0108] The bit sequence to be encoded can include information to be transmitted, such as K information bits, where K is a positive integer less than or equal to N. For example, the first communication device, based on the transmission length K of the information to be transmitted and the encoding code rate R, obtains the encoding length N of the master code using N = K / R, where the master code is used to transmit the information to be transmitted, and the value of R is between 0 and 1. Next, through rate matching and the set of positions requiring puncturing / shortening, the set of information bit positions is obtained, and then the information to be transmitted is inserted into the information bit positions to obtain the bit sequence to be encoded. It should be noted that this process can be any conforming polar code mainstream construction, and the rate matching method can be any reasonably constructed rate matching process.
[0109] The first bit sequence contains bits with values all equal to 0, meaning there are no information bits in the first bit sequence. It can also be understood as a fully frozen bit sequence.
[0110] There are several ways for the first communication device to obtain the information to be sent. For example, it can obtain it through triggering conditions (such as the need to establish a service or the need to transmit service data), or it can obtain it according to the protocol definition. No specific limitation is made in this regard.
[0111] S402, the first communication device interleaves the bit sequence to be encoded with the first bit sequence to obtain the second bit sequence.
[0112] The interleaving here can be the exchange of bit positions between the bit sequence to be encoded and the first bit sequence. Specifically, the first communication device can insert the first bit sequence (0 sequence) of length N into any position in the bit sequence to be encoded of length N. For example, it can insert the first bit position, the last bit position, or any bit position in the middle of the bit sequence to be encoded. Then, the positions of the bit sequences between the bit sequence to be encoded and the first bit sequence are exchanged, and finally a second bit sequence of length 2N is obtained.
[0113] Optionally, the bit sequence to be encoded may include Y first sub-blocks, the first bit sequence may include Y second sub-blocks, the interleaving may be the interleaving of the Y first sub-blocks and the Y second sub-blocks, the order of the Y first sub-blocks in the bit sequence to be encoded and the second bit sequence is consistent, the order of the Y second sub-blocks in the first bit sequence and the second bit sequence is consistent, the length of each of the Y first sub-blocks is N / Y, the length of each of the Y second sub-blocks is N / Y, and Y is an integer greater than 1.
[0114] The number of first and second sub-blocks is the same. The bit sequence to be encoded can be seen as a concatenation of Y first sub-blocks of length N / Y, and the first bit sequence can be seen as a concatenation of Y second sub-blocks of length N / Y. The second sub-blocks can be sub-blocks containing bits of 0. When the bit sequence to be encoded is interleaved with the first bit sequence, it can be interleaving between sub-blocks. Interleaving can be understood as shuffling the arrangement order of the first and second sub-blocks, but the internal relative order of the first sub-blocks remains unchanged, and the internal relative order of the second sub-blocks remains unchanged. For example, as shown in Figure 5, the first communication device divides the bit sequence to be encoded into 4 first sub-blocks, and the labels of the 4 first sub-blocks are {D,C,B,A} in sequence. 4 second sub-blocks (sub-blocks containing bits of 0) are inserted into the 4 first sub-blocks to obtain 8 sub-blocks. Interleaving yields a second bit sequence of {0,0,0,D,0,C,B,A}.
[0115] Optionally, the row weight of the i-th first sub-block in the second bit sequence can be M times the row weight in the bit sequence to be encoded, where M is an integer greater than or equal to 4, and i iterates from 1 to Y.
[0116] The row weight of the first sub-block changes with its position in the second bit sequence. The row weight is related to the number of 1s in the binary value corresponding to the position of the first sub-block. For example, as shown in Figure 5, if the position of the first sub-block D in the bit sequence to be encoded is represented as 000 (row weight 20), and its position in the second bit sequence is represented as 011 (row weight 22), the row weight of the first sub-block D increases from 1 to 4, meaning it increases by a factor of 4. Therefore, after the first and second sub-blocks are interleaved, the row weight of some first sub-blocks can be increased by a factor of 4 or more. This increase in row weight indicates an increase in the number of times the first sub-block is checked during encoding, which can improve the decoding performance of polar codes.
[0117] Optionally, the number of Y first sub-blocks can be determined based on the position of the information bits in the bit sequence to be encoded. For example, after the first communication device divides the bit sequence to be encoded into first sub-blocks, if the first first sub-block does not contain information bits, the first sub-block can be further divided.
[0118] Optionally, if the first quarter of the bit sequence to be encoded contains information bits, then Y = 4; if the first quarter of the bit sequence to be encoded does not contain information bits, then Y = 8. It can be understood that if the first quarter of the bit sequence to be encoded contains information bits, the first communication device divides the bit sequence to be encoded into 4 sub-blocks, with the first quarter being the first sub-block of the 4 first sub-blocks; if the first quarter of the bit sequence to be encoded does not contain information bits, the first communication device divides the bit sequence to be encoded into 8 sub-blocks, with the first quarter being the first two sub-blocks of the 8 first sub-blocks, and the first 3 / 8 of the bit sequence being the first three sub-blocks of the 8 first sub-blocks.
[0119] In one specific embodiment, when Y=4, the order of the eight sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, and sub-block #7. Following the order of the four first sub-blocks in the bit sequence to be encoded, the four first sub-blocks in the second bit sequence are sub-block #3, sub-block #5, sub-block #6, and sub-block #7, respectively. It is understandable that after sub-block interleaving, the relative order within the first sub-block remains unchanged, still arranged according to the order of the first sub-block in the bit sequence to be encoded. The first first sub-block is sub-block #3 in the second bit sequence, the second first sub-block is sub-block #5 in the second bit sequence, the third first sub-block is sub-block #6 in the second bit sequence, and the fourth first sub-block is sub-block #7 in the second bit sequence. For example, as shown in Figure 5, the first first sub-block corresponds to sub-block D, the second first sub-block corresponds to sub-block C, the third first sub-block corresponds to sub-block B, and the fourth first sub-block corresponds to sub-block A.
[0120] In other words, the first quarter of the bit sequence to be encoded, i.e. the first sub-block, contains information bits. The bit sequence to be encoded is divided into four first sub-blocks. After interleaving, the position of the first sub-block in the second bit sequence is changed. The line weight of some first sub-blocks containing information bits is increased, thus achieving the purpose of improving decoding performance.
[0121] In a specific embodiment, when the first quarter of the bit sequence to be encoded does not contain information bits, and the remaining bits in the first three-eighths of the bit sequence contain information bits, the order of the 16 sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, sub-block #15. Based on the order of the first sub-blocks containing information bits in the bit sequence to be encoded, the first sub-blocks containing information bits in the second bit sequence are sub-block #7, sub-block #11, sub-block #12, sub-block #13, sub-block #14, and sub-block #15, respectively.
[0122] It is understandable that if the first sub-block of the four first sub-blocks does not contain information bits, the bit sequence to be encoded is further divided into eight sub-blocks, where Y = 8. The first two sub-blocks do not contain information bits, and the third sub-block contains information bits. For example, as shown in Figure 6, the labels of the eight first sub-blocks are {0,0,C0,C1,B0,B1,A0,A1} in sequence. The first communication device inserts eight second sub-blocks (sub-blocks with bits of 0) into the eight first sub-blocks, resulting in 16 sub-blocks. Interleaving these sub-blocks yields the second bit sequence {0,0,0,0,0,0,0,C0,0,0,0,C1,B0,B1,A0,A1}. The second bit sequence contains six first sub-blocks containing information bits. Specifically, the first sub-block C0 is sub-block #7 in the second bit sequence, the second sub-block C1 is sub-block #11, the third sub-block B0 is sub-block #12, the fourth sub-block B1 is sub-block #13, the fifth sub-block A0 is sub-block #14, and the sixth sub-block A1 is sub-block #15. This allows the interleaving positions of the sub-blocks to be adjusted according to the distribution of information bits, thus adapting to different code rates.
[0123] In one specific embodiment, when the first 3 / 8 of the bit sequence to be encoded does not contain information bits, the order of the 16 sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, sub-block #15. Following the order of the first sub-block containing information bits in the bit sequence to be encoded, the first sub-blocks containing information bits in the bit sequence to be encoded are sub-block #7, sub-block #11, sub-block #13, sub-block #14, and sub-block #15 in the second bit sequence.
[0124] It is understandable that, given the same number of first sub-blocks, the position of the first sub-block in the bit sequence to be encoded will differ after interleaving, depending on the position of the information bits in the bit sequence to be encoded. If the first three of the eight first sub-blocks do not contain information bits, the interleaving position of the sub-blocks will change accordingly. For example, as shown in Figure 7, the labels of the eight first sub-blocks are {0,0,0,C1,B0,B1,A0,A1} in sequence. The first communication device interleaves the eight first sub-blocks with the eight second sub-blocks to obtain a second bit sequence of {0,0,0,0,0,0,0,B0,0,0,0,C1,0,B1,A0,A1}. The second bit sequence contains five first sub-blocks containing information bits. Specifically, the first sub-block B0, containing information bits, is sub-block #7 in the second bit sequence; the second sub-block C1, containing information bits, is sub-block #11; the third sub-block B1, containing information bits, is sub-block #14; the fourth sub-block A0, containing information bits, is sub-block #15; and the fifth sub-block A1, containing information bits, is sub-block #15. This allows the interleaving positions of the sub-blocks to be adjusted according to the distribution of information bits, thus adapting to different code rates.
[0125] S403, the first communication device performs polarization encoding on the second bit sequence to obtain the encoded sequence.
[0126] The encoded sequence can include the initial transmission sequence after encoding the bit sequence to be encoded. The encoded sequence can be the encoded result obtained by multiplying (expanding) the second bit sequence by the generator matrix, and the initial transmission sequence can be the encoded result obtained by polar coding the bit sequence to be encoded. The encoded sequence can include the initial transmission sequence, that is, the same codewords as the initial transmission sequence can be extracted from the encoded sequence and directly transmitted, so its initial transmission performance will not change.
[0127] S404, the second communication device acquires the initial transmitted information to be decoded.
[0128] The initial transmitted information to be decoded can be a portion of the encoded sequence. Here, the initial transmitted information to be decoded can be the initial sequence mentioned in S403. After obtaining the initial transmitted information to be decoded, decoding is performed according to the original order of the initial transmitted information to be decoded. The row weight of the obtained initial transmitted information to be decoded can be the row weight in the encoded sequence. During decoding, the row weight of the initial transmitted information to be decoded is changed to the initial row weight. For example, if the obtained initial transmitted information to be decoded is located in the 1st, 6th, 7th, and 8th sub-blocks in the encoded sequence, during decoding, the position of the initial transmitted information to be decoded is changed to the 1st, 2nd, 3rd, and 4th sub-blocks in sequence, and the row weight is changed accordingly before decoding is performed.
[0129] S405, in the event of initial decoding failure, the first communication device sends a retransmission sequence to the second communication device.
[0130] The retransmission sequence can be any sequence in the encoded sequence other than the initial transmission sequence.
[0131] Optionally, in the event of initial decoding failure, the second communication device sends a retransmission request message to the first communication device, the retransmission request message being used to instruct the first communication device to send a retransmission sequence.
[0132] S406, the second communication device acquires the retransmission information to be decoded.
[0133] The retransmitted information to be decoded can be a sequence in the encoded sequence other than the initial information to be decoded, and the retransmitted information to be decoded can be the retransmission sequence in S405.
[0134] Optionally, if the bit sequence to be encoded includes Y first sub-blocks and the first bit sequence includes Y second sub-blocks, the retransmission sequence can be a combination of sub-blocks in the encoded sequence other than the initial transmission sequence.
[0135] The encoded sequence can include sub-blocks corresponding to the initial transmission sequence. Combinations of sub-blocks other than those corresponding to the initial transmission sequence can be sent as retransmission sequences. For example, as shown in Figure 5, after the first communication device performs polar coding on the second bit sequence {0,0,0,D,0,C,B,A}, the resulting encoded sequence is {A^B^C^D,A^C^D,A^B^D,A^D,A^B^C,A^C,A^B,A}. However, after polar coding on the bit sequence to be encoded {D,C,B,A}, the resulting initial transmission sequence is {A^B^C^D,A^C,A^B,A}. In other words, by individually extracting the 1st, 6th, 7th, and 8th sub-blocks, codewords identical to the original initial transmission sequence can be constructed, thus the initial transmission performance remains unchanged. Any combination of the second, third, fourth, and fifth sub-blocks can be sent as a retransmission sequence. They can be sent once or multiple times in a certain order, and each time they can be sent in any combination of lengths. This increases the types of codewords and has a certain degree of long code gain, thereby improving the decoding performance of polar codes.
[0136] Alternatively, the first sub-block of the bit sequence to be encoded can be multiplied by a G matrix of size N / Y, i.e., sub-block encoding can be performed separately to obtain a partial encoding result for each first sub-block. This partial encoding result is then interleaved with the second sub-block, and the interleaved result is fully encoded to obtain the fully encoded result (encoded sequence). The G matrix is the (extended) generator matrix. For example, multiplying each of the four first sub-blocks by a G matrix of size N / 4 yields a partial encoding result for each first sub-block. Each partial encoding result is labeled as {D, C, B, A}. After fully encoding the partial encoding results of the four sub-blocks, the fully encoded result {A^B^C^D, A^C, A^B, A} is obtained. In other words, {A^B^C^D, A^C, A^B, A} is the polar code transmission codeword during normal initial transmission. Subsequent interleaving and full encoding nest the codewords of the initial transmission sequence within the long code (encoded sequence), ensuring initial transmission performance.
[0137] In one specific embodiment, when Y=4, the order of the eight sub-blocks of the encoded sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, and sub-block #7. The initial transmission sequence may include sub-blocks #0, #5, #6, and #7 from the encoded sequence. The retransmission sequence may include at least one of the following sub-blocks from the encoded sequence: sub-block #1, sub-block #2, sub-block #3, or sub-block #4. In other words, the encoded sequence can contain both the initial transmission sequence and the retransmission sequence. For example, as shown in Figure 5, in the encoded sequence {A^B^C^D,A^C^D,A^B^D,A^D,A^B^C,A^C,A^B,A}, the 1st, 6th, 7th, and 8th sub-blocks can form the initial transmission sequence {A^B^C^D,A^C,A^B,A}, thus its initial transmission performance remains unchanged. Any combination of the remaining sub-blocks, excluding the initial transmission sequence, can be sent as a retransmission sequence of any length, such as combinations of arbitrary lengths like {A^C^D}, {A^C^D,A^B^D}, and {A^C^D,A^B^D,A^D}. This increases the types of codewords, provides a certain degree of long code gain, and thus improves the decoding performance of polar codes.
[0138] In one specific embodiment, when the first quarter of the bit sequence to be encoded does not contain information bits, and the remaining bits in the first three-eighths of the bit sequence (excluding the first quarter) contain information bits, the order of the 16 sub-blocks of the encoded sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, and sub-block #15. The initial transmission sequence includes sub-blocks #0, #2, #9, #11, #12, #13, #14, and #15 from the encoded sequence. The retransmission sequence includes at least one of the following coded sub-blocks in the coded sequence: coded sub-block #1, coded sub-block #3, coded sub-block #4, coded sub-block #5, coded sub-block #6, coded sub-block #7, coded sub-block #8 and coded sub-block #10.
[0139] It is understandable that if the first sub-block among the four first sub-blocks does not contain information bits, the first communication device further divides the bit sequence to be encoded into eight sub-blocks, at which point Y = 8. The second bit sequence consists of 16 sub-blocks, and correspondingly, the encoded sequence also consists of 16 sub-blocks. For example, as shown in Figure 6, the 1st, 3rd, 10th, 12th, 13th, 14th, 15th, and 16th sub-blocks in the encoded sequence can form the initial transmission sequence {A0^A1^B0^B1^C0^C1,A1^B1^C1,A0^A1^C0^C1,A1^C1,A0^A1^B0^B1,A1^B1,A0^A1,A1}, so its initial transmission performance will not change. Any combination of the remaining sub-blocks other than the initial transmission sequence can be sent as a retransmission sequence of any length, increasing the types of codewords and providing a certain degree of long code gain, thereby improving the decoding performance of polar codes.
[0140] In one specific embodiment, when the first 3 / 8 of the bit sequence to be encoded does not contain information bits, the order of the 16 sub-blocks of the encoded sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, and sub-block #15. The initial transmission sequence includes sub-blocks #0, #4, #9, #10, #11, #13, #14, and #15 from the encoded sequence. The retransmission sequence includes at least one of the following coded sub-blocks in the coded sequence: coded sub-block #1, coded sub-block #2, coded sub-block #3, coded sub-block #5, coded sub-block #6, coded sub-block #7, coded sub-block #8 and coded sub-block #12.
[0141] It is understandable that, given the same number of first sub-blocks, the positions of the initial transmission sequence and retransmission sequence in the encoded sequence differ depending on the position of the information bits in the bit sequence to be encoded. For example, as shown in Figure 7, the 1st, 5th, 10th, 11th, 12th, 14th, 15th, and 16th sub-blocks in the encoded sequence can form the initial transmission sequence {A0^A1^B0^B1^C1,A1^B1^C1,A0^A1^C1,A1^C1,A0^A1^B0^B1,A1^B1,A0^A1,A1}. It can be seen that regardless of the different positions of the information bits in the bit sequence to be encoded, the encoded sequence always includes the initial transmission sequence, without changing its initial transmission performance. Furthermore, the remaining sub-blocks can be sent as retransmission sequences, increasing the code weight of retransmissions, adding new checksums, and achieving the effect of long code gain.
[0142] S407, the second communication device will jointly decode the retransmitted information to be decoded and the initial information to be decoded.
[0143] The second communication device will merge the retransmitted information to be decoded and the initial information to be decoded before decoding.
[0144] The performance comparison of the polar code retransmission method based on the embodiments of this application is shown in Figure 8. The block error ratio (BLER) is used to measure the system performance test. When the number of attempts is 8, if the ratio of symbol energy to noise power spectral density (EsN0) is the same, the BLER of retransmission using the polar code retransmission method in the embodiments of this application is lower than that of retransmission using CC, indicating better performance. Moreover, regardless of whether the information length, initial transmission length, or retransmission length increases or decreases, the BLER of retransmission using the polar code retransmission method in the embodiments of this application is low. That is, under different code lengths or code rates, the performance of retransmission using the polar code retransmission method in the embodiments of this application is improved.
[0145] As shown in Figure 9, not only does the retransmission method of polar code in this application have a performance gain when retransmitting, but also the longer the retransmission sequence is, the greater the performance gain is when the length of the retransmission sequence is different.
[0146] In summary, the first sub-block and the second sub-block are interleaved by the first communication device and then polarized encoded. The encoded sequence includes the sub-blocks of the initial transmission sequence, so its initial transmission performance will not change. In addition, the sub-blocks other than the initial transmission sequence can be sent as retransmission sequences in any combination of lengths. During retransmission, the type of codeword is increased, which has a certain degree of long code gain, thereby improving the decoding performance.
[0147] Optionally, in the event of initial decoding failure, and before sending the retransmission sequence, rate matching is performed on the initial transmission sequence to generate an initial transmission codeword. The initial transmission codeword is then sent. Rate matching can be performed according to the requirements of shortening / punching / repeating the initial transmission sequence. Since the initial transmission codeword is nested in the encoded sequence, the initial transmission sequence can be directly extracted from the encoded sequence, making the construction simple.
[0148] Optionally, there are discarded bits when rate matching is performed on the initial transmission sequence. After sending the initial codeword, if the initial decoding fails, the discarded bits are sent. It can be understood that the discarded bits may include: shortened bits, and / or, punctured bits. Shortened bits do not participate in encoding. Punctuated bits can be understood as being frozen, such as set to 0, but they participate in encoding. During retransmission, if the initial transmission sequence contains punctured bit sequences, the first communication device first sends the punctured bit sequences, improving verification efficiency.
[0149] [Correction 24.11.2023 according to Rule 91] The method provided by the embodiments of this application has been described in detail above with reference to Figures 4-9. The communication apparatus used to perform the polar code retransmission method provided by the embodiments of this application is described in detail below with reference to Figures 10-11.
[0150] Figure 10 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Exemplarily, as shown in Figure 10, the communication device 1000 includes a transceiver module 1001 and a processing module 1002. For ease of explanation, Figure 10 only shows the main components of the communication device.
[0151] [Corrected according to Rule 91, 24.11.2023] Wherein, the transceiver module 1001 is used to perform the transceiver function of the method shown in Figure 4 above, and the processing module 1002 is used to perform other functions of the method shown in Figure 4 above besides the transceiver function.
[0152] Optionally, the transceiver module 1001 may include a transmitting module (not shown in FIG10) and a receiving module (not shown in FIG10). The transmitting module is used to implement the transmitting function of the communication device 1000, and the receiving module is used to implement the receiving function of the communication device 1000.
[0153] [Correction 24.11.2023 according to Rule 91] Optionally, the communication device 1000 may further include a storage module (not shown in FIG10) that stores programs or instructions. When the processing module 1002 executes the program or instructions, the communication device 1000 can perform the functions of the terminal or network device in the method shown in FIG4 above.
[0154] It is understood that the communication device 1000 may be a terminal or network device, or a chip (system) or other component or assembly that can be set in the terminal or network device, or a device that includes the terminal or network device. This application does not limit it in this respect.
[0155] [Correction 24.11.2023 according to Rule 91] Furthermore, the technical effects of the communication device 1000 can be referred to the technical effects of the polar code retransmission method shown in Figures 4-9, which will not be repeated here.
[0156] Figure 11 is a second schematic diagram of the structure of the communication device provided in an embodiment of this application. Exemplarily, the communication device can be a terminal, or a chip (system) or other component or assembly that can be disposed in the terminal. As shown in Figure 11, the communication device 1100 may include a processor 1101. Optionally, the communication device 1100 may further include a memory 1102 and / or a transceiver 1103. The processor 1101 is coupled to the memory 1102 and the transceiver 1103, for example, they can be connected via a communication bus.
[0157] The following is a detailed description of each component of the communication device 1100 with reference to Figure 11:
[0158] The processor 1101 is the control center of the communication device 1100. It can be a single processor or a collective term for multiple processing elements. For example, the processor 1101 can be one or more central processing units (CPUs), application-specific integrated circuits (ASICs), or one or more integrated circuits configured to implement the embodiments of this application, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).
[0159] [Correction 24.11.2023 according to Rule 91] Optionally, the processor 1101 can perform various functions of the communication device 1100 by running or executing software programs stored in the memory 1102 and calling data stored in the memory 1102, such as performing the polar code retransmission method shown in FIG4 above.
[0160] In a specific implementation, as one embodiment, processor 1101 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG11.
[0161] In a specific implementation, as one embodiment, the communication device 1100 may also include multiple processors, such as processors 1101 and 1104 shown in FIG. 11. Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). Here, a processor may refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).
[0162] The memory 1102 is used to store the software program that executes the solution of this application, and is controlled by the processor 1101 to execute it. The specific implementation method can be referred to the above method embodiment, and will not be repeated here.
[0163] Optionally, the memory 1102 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory 1102 may be integrated with the processor 1101 or may exist independently and be coupled to the processor 1101 through the interface circuit of the communication device 1100 (not shown in FIG. 11). This application embodiment does not specifically limit this.
[0164] Transceiver 1103 is used for communication with other communication devices. For example, if communication device 1100 is a terminal, transceiver 1103 can be used to communicate with a network device or with another terminal device. As another example, if communication device 1100 is a network device, transceiver 1103 can be used to communicate with a terminal or with another network device.
[0165] Optionally, transceiver 1103 may include a receiver and a transmitter (not shown separately in Figure 11). The receiver is used to implement the receiving function, and the transmitter is used to implement the transmitting function.
[0166] Optionally, the transceiver 1103 can be integrated with the processor 1101 or exist independently and be coupled to the processor 1101 through the interface circuit of the communication device 1100 (not shown in FIG11). This application embodiment does not specifically limit this.
[0167] It is understood that the structure of the communication device 1100 shown in Figure 11 does not constitute a limitation on the communication device. Actual communication devices may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0168] Furthermore, the technical effects of the communication device 1100 can be referred to the technical effects of the method described in the above method embodiments, and will not be repeated here.
[0169] It should be understood that the processor in the embodiments of this application can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0170] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0171] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0172] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.
[0173] In this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0174] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0175] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0176] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0177] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0178] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0179] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0180] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0181] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for retransmitting polar codes, characterized in that, include: Obtain a bit sequence of length N to be encoded and a first bit sequence of length N, wherein the first bit sequence contains bits with values of 0 and N is a positive integer; The bit sequence to be encoded is interleaved with the first bit sequence to obtain the second bit sequence; The second bit sequence is polar-coded to obtain an encoded sequence, which includes the initial transmission sequence after encoding the bit sequence to be encoded. In the event of initial decoding failure, a retransmission sequence is sent, wherein the retransmission sequence is a sequence in the encoded sequence other than the initial transmission sequence.
2. The method according to claim 1, characterized in that, The bit sequence to be encoded includes Y first sub-blocks, the first bit sequence includes Y second sub-blocks, the interleaving is the interleaving between the Y first sub-blocks and the Y second sub-blocks, the retransmission sequence is the combination of sub-blocks in the encoded sequence excluding the initial transmission sequence, the Y first sub-blocks in the bit sequence to be encoded and the second bit sequence are in the same order, the Y second sub-blocks in the first bit sequence and the second bit sequence are in the same order, the length of each of the Y first sub-blocks is N / Y, the length of each of the Y second sub-blocks is N / Y, and Y is an integer greater than 1.
3. The method according to claim 2, characterized in that, The row weight of the i-th first sub-block in the second bit sequence is M times the row weight in the bit sequence to be encoded, where M is an integer greater than or equal to 4, and i iterates from 1 to Y.
4. The method according to claim 2, characterized in that, The number of the Y first sub-blocks is determined based on the position of the information bits in the bit sequence to be encoded.
5. The method according to claim 4, characterized in that, If the first quarter of the bit sequence to be encoded contains information bits, then Y = 4; if the first quarter or 3 / 8 of the bit sequence to be encoded does not contain information bits, then Y = 8.
6. The method according to claim 5, characterized in that: When Y=4, the order of the 8 sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, and sub-block #7; according to the order of the 4 first sub-blocks in the bit sequence to be encoded, the 4 first sub-blocks in the second bit sequence are sub-block #3, sub-block #5, sub-block #6, and sub-block #7, respectively.
7. The method according to claim 5, characterized in that: When the first quarter of the bit sequence to be encoded does not contain information bits, and the first 3 / 8 of the bit sequence contains information bits excluding the first quarter, the order of the 16 sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, sub-block #15; according to the order of the first sub-block containing information bits in the bit sequence to be encoded, the first sub-block containing information bits in the bit sequence to be encoded are sub-block #7, sub-block #11, sub-block #12, sub-block #13, sub-block #14, and sub-block #15 in the second bit sequence.
8. The method according to claim 5, characterized in that: When the first 3 / 8 of the bit sequence to be encoded does not contain information bits, the order of the 16 sub-blocks of the second bit sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, sub-block #15; according to the order of the first sub-block containing information bits in the bit sequence to be encoded, the first sub-block containing information bits in the bit sequence to be encoded are sub-block #7, sub-block #11, sub-block #13, sub-block #14, and sub-block #15 in the second bit sequence.
9. The method according to claim 5, characterized in that: When Y=4, the order of the 8 sub-blocks of the encoded sequence is: encoded sub-block #0, encoded sub-block #1, encoded sub-block #2, encoded sub-block #3, encoded sub-block #4, encoded sub-block #5, encoded sub-block #6, and encoded sub-block #7; the initial transmission sequence includes encoded sub-block #0, encoded sub-block #5, encoded sub-block #6, and encoded sub-block #7 in the encoded sequence; the retransmission sequence includes at least one of the following encoded sub-blocks in the encoded sequence: encoded sub-block #1, encoded sub-block #2, encoded sub-block #3, or encoded sub-block #4.
10. The method according to claim 5, characterized in that: When the first quarter of the bit sequence to be encoded does not contain information bits, and the remaining bits in the first 3 / 8 of the bit sequence contain information bits, the order of the 16 sub-blocks of the encoded sequence is: Encoded sub-block #0, The encoding sub-blocks are: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, #14, and #15. The initial transmission sequence includes encoding sub-blocks #0, #2, #9, #11, #12, #13, #14, and #15 from the encoding sequence. The retransmission sequence includes at least one of the following encoding sub-blocks from the encoding sequence: #1, #3, #4, #5, #6, #7, #8, and #10.
11. The method according to claim 5, characterized in that: When the first 3 / 8 of the bit sequence to be encoded does not contain information bits, the order of the 16 sub-blocks of the encoded sequence is: sub-block #0, sub-block #1, sub-block #2, sub-block #3, sub-block #4, sub-block #5, sub-block #6, sub-block #7, sub-block #8, sub-block #9, sub-block #10, sub-block #11, sub-block #12, sub-block #13, sub-block #14, sub-block #15. 5; The initial transmission sequence includes coded sub-blocks #0, #4, #9, #10, #11, #13, #14, and #15 in the coded sequence; The retransmission sequence includes at least one of the following coded sub-blocks in the coded sequence: coded sub-block #1, #2, #3, #5, #6, #7, #8, and #12.
12. The method according to any one of claims 1-11, characterized in that, Before sending the retransmission sequence in the event of initial decoding failure, the method further includes: Rate matching is performed on the initial transmission sequence to generate initial transmission codewords; Send the initial transmission codeword.
13. The method according to claim 12, characterized in that, In the case of rate matching of the initial transmission sequence, there are bits that are discarded; after sending the initial transmission codeword, the method further includes: If the initial decoding fails, the discarded bits are sent.
14. A method for decoding polar codes, characterized in that, include: Obtain initial transmitted information to be decoded, wherein the initial transmitted information to be decoded is a partial sequence in the encoded sequence; If decoding of the initial transmitted information to be decoded fails, retransmitted information to be decoded is obtained, wherein the retransmitted information to be decoded is a sequence in the encoded sequence other than the initial transmitted information to be decoded. The retransmitted information to be decoded and the initial information to be decoded are jointly decoded.
15. A communication device, characterized in that, The apparatus includes a module for performing the method as described in any one of claims 1-14.
16. A communication device, characterized in that, The communication device includes a processor and a memory; the memory is used to store computer instructions, which, when executed by the processor, cause the communication device to perform the method as described in any one of claims 1-14.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a computer program or instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-14.