Method and apparatus for rate matching
By acquiring and segmenting the initial transmission bit sequence in the new air interface system, and discarding some bits to form the second bit sequence, the problems of IR HARQ rate matching complexity and performance instability are solved, and stable retransmission performance and communication capacity are achieved.
Patent Information
- Application Number
- PCT/CN2023/121810
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-04-03
AI Technical Summary
In the new air interface system, the rate matching method of IR HARQ defined by the Star Flash standard is complex and it is difficult to ensure the stability of retransmission performance.
By obtaining some bits in the initial transmission bit sequence, dividing them into Y sub-blocks, and discarding some bits, a second bit sequence is obtained for retransmission. This method reduces the complexity of retransmission rate matching through structured primary transmission and retransmission bit sequences, and maintains the stability of communication capacity.
The stability of retransmission performance is achieved, complexity is reduced, and the impact on communication capacity is reduced, avoiding performance instability.
Smart Images

Figure CN2023121810_03042025_PF_FP_ABST
Abstract
Description
Rate matching method and device Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a rate matching method and device. Background Art
[0002] In new radio (NR) systems, polar code retransmission, such as hybrid automatic repeat request (HARQ), is an effective method for improving channel spectral efficiency. One HARQ implementation is incremental redundancy (IR). IR HARQ incrementally transmits codeword bits that were not initially transmitted. This not only increases total transmit energy but also achieves long code gain.
[0003] Currently, the Star Flash standard defines the specific application of IR HARQ. Its rate matching method is relatively complex and it is difficult to achieve stable performance.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide a rate matching method and apparatus to ensure stable retransmission performance as much as possible.
[0006] To achieve the above objectives, this application adopts the following technical solutions:
[0007] In a first aspect, a rate matching method is provided, the method comprising: obtaining a portion of bits from an initially transmitted bit sequence; obtaining a first bit sequence, dividing the first bit sequence into Y first sub-blocks, and discarding Ai bits of the i-th first sub-block, i traversing from 1 to Y to obtain a second bit sequence, and then retransmitting based on the portion of bits and the second bit sequence. The length of the first bit sequence is N, where N is a positive integer; each of the Y first sub-blocks includes X bits, where X and Y are integers greater than 1; Ai is greater than or equal to 1, the discarded bits in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block, and a third bit sequence corresponding to the initially transmitted bit sequence includes Y second sub-blocks, the length of the third bit sequence is N, and each of the Y second sub-blocks includes X bits.
[0008] It is understood that the method described in the first aspect can be performed by a first communication device. The first communication device can be the terminal itself, a device including the terminal, or a chip within the terminal. Alternatively, the first communication device can be the network device itself, a device including the network device, or a chip within the network device.
[0009] Thus, it can be seen that the first communication device can discard the corresponding bits in the second bit sequence based on the position of the bits discarded when sending the initial transmission bit sequence, such as the third bit sequence corresponding to the initial transmission bit sequence includes Y second sub-blocks, each second sub-block has corresponding bits discarded, and discard the bit sequence used for retransmission, such as the corresponding bits in the second bit sequence, so that in the Y first sub-blocks contained in the second bit sequence, the discarded bits in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block. That is, the structures of the bit sequences used for initial transmission and retransmission are similar, which can reduce the complexity of retransmission rate matching. In addition, because the initial transmission discards bits in a relatively uniform manner, its impact on communication capacity is relatively small. Therefore, retransmission in a similar manner also has a relatively small impact on communication capacity, reducing the possibility of performance degradation and ensuring stable retransmission performance.
[0010] In one possible design, the Ai bit is the bit with the largest Ai before the index among the X bits of the i-th first sub-block, or the Ai bit is the bit with the largest Ai before the inverse value of the index among the X bits of the i-th first sub-block, or the Ai bit is the bit with the largest Ai before the reliability among the X bits of the i-th first sub-block, so as to avoid the impact of the discarded bits on the communication capacity.
[0011] Optionally, the number of discarded bits of each first sub-block in the Y first sub-blocks is the same and is Bmin, where Bmin < X. Alternatively, if the i-th first sub-block is a sub-block with a smaller index than Y-(Z-1) among the Y first sub-blocks, then Ai = Bmin; if the i-th first sub-block is a sub-block with a larger index than Z-1 among the Y first sub-blocks, then Ai = X; or; if the i-th first sub-block is a sub-block with a smaller index than Y-(Z-1) among the Y first sub-blocks, then Ai = Bmin; if the i-th first sub-block is a sub-block with a larger index than Z-1 among the Y first sub-blocks, then Ai = X.
[0012] Z is usually a positive integer smaller than Y, but this is not a limitation and Z may also be equal to Y.
[0013] It can be understood that if Y subblocks, such as the first and second subblocks, are considered as Y columns, and the X bits contained in each subblock are considered as X rows, then if the Y subblocks are interleaved, and the interleaving order is Y subblocks in the bit sequence, a matrix with X rows and Y columns can be obtained. The bits with the same index in each subblock can be considered as a row of the matrix. The matrix composed of the Y first subblocks can be called the core matrix, and the matrix composed of the Y second subblocks can be called the extended matrix.
[0014] In this case, if the core array has Bmin rows, and the rows with a maximum of Bmin before the reversed index value are discarded, the rows with a maximum of Bmin before the reversed index value in the extended array are also discarded. Optionally, if the core array has a column with a maximum of Z-1 before the reversed index value that is discarded, the columns with a maximum of Z-1 before the reversed index value in the extended array are also discarded, to ensure that the positions of the discarded bits in the extended array are as close as possible to the positions of the discarded bits in the core array, thereby ensuring stable retransmission performance.
[0015] Optionally, the encoding rate of the initially transmitted bit sequence is greater than or equal to the rate threshold. In this case, the core array may discard corresponding columns in descending order of the reverse index value, such as the columns with the largest Z-1 reverse index values.
[0016] In one possible design, before discarding Ai bits of the i-th first sub-block, i traverses from 1 to Y to obtain a second bit sequence, the method described in the first aspect further includes: obtaining a fourth bit sequence; dividing the fourth bit sequence into Y second sub-blocks; determining Bi bits of the i-th second sub-block as discarded bits, i traverses from 1 to Y, and Bi is greater than or equal to Ai, to obtain a third bit sequence. That is, during initial transmission, by dividing the third bit sequence into Y second sub-blocks and puncturing and / or truncating each second sub-block, at least some bits are discarded in each second sub-block. This ensures that the discarded bits are relatively uniform, do not affect communication capacity, and do not result in performance dropouts, thereby ensuring communication efficiency.
[0017] Optionally, the minimum value of Bi is Bmin, where Bmin is a value obtained by rounding down (NM) / Y, or Bmin is determined based on a value obtained by rounding down (NM) / Y, where M is the number of information bits. That is, each second sub-block has at least one bit with the same index or the same reverse value that is determined to be a discarded bit, or in other words, a truncated bit, so that each column of the core array can be truncated relatively evenly, thereby avoiding an impact on communication capacity.
[0018] For example, the value obtained by rounding down (NM) / Y is B. If B is greater than or equal to the preset value, then Bmin is the preset value; or, if B is less than the preset value, then B is Bmin, so as to avoid too many rows being discarded as a whole, thereby reducing the communication capacity.
[0019] Alternatively, if C=(NM)-Bmin*Y, and C is a positive integer, then among the Z second sub-blocks of the Y second sub-blocks, the k-th second sub-block has Bmin+Dk discarded bits, and k traverses from 1 to Z. That is, when Bmin rows are discarded, if there are C extra bits, the first communication device can continue to select discarded bits in the Z second sub-block, ultimately ensuring that all extra bits can be discarded.
[0020] For example, Z is a value obtained by rounding up C / (X-Bmin), or may be determined by any other possible method, which is not limited.
[0021] Optionally, if the encoding rate of the initially transmitted bit sequence is less than the rate threshold, the Z second sub-blocks are the sub-blocks with the smallest Z second sub-block indices or reversed index values before the Y second sub-block indices. If the encoding rate of the initially transmitted bit sequence is greater than or equal to the rate threshold, the Z second sub-blocks are the sub-blocks with the largest Z second sub-block indices or reversed index values before the Y second sub-block indices. That is, at low rates, the core array needs to discard columns in ascending order of index or reversed index value, or at high rates, the core array needs to discard columns in descending order of index or reversed index value, to minimize changes in communication capacity.
[0022] In this way, discarding Ai bits of the i-th first sub-block includes: based on the bit with the largest index before Bmin in the i-th second sub-block being the discarded bit, discarding the bit with the largest index before Bmin in the i-th first sub-block, i traverses 1 to Y; optionally, if the bit with the smallest index before X-Bmin in each second sub-block of Z-1 second sub-blocks is discarded, then discarding the bit with the smallest index before X-Bmin in each first sub-block of Z-1 first sub-blocks, wherein the Z-1 second sub-blocks are the sub-blocks with the largest index before Z-1 among the Y second sub-blocks, and the Z-1 first sub-blocks are the sub-blocks with the largest index before Z-1 among the Y first sub-blocks.
[0023] That is, when the core array discards columns in descending order of column index, the first communication device can compare the columns of the core array with the columns of the extended array according to this order to determine which columns have all bits to discard, thereby ensuring that the positions of the discarded bits in the extended array are as close as possible to the positions of the discarded bits in the core array, thereby ensuring stable retransmission performance.
[0024] Alternatively, discarding Ai bits of the i-th first sub-block includes: based on the fact that the bits with a maximum of Bmin before the reverse value of the index in the i-th second sub-block are discarded bits, discarding the bits with a maximum of Bmin before the reverse value of the index in the i-th first sub-block, i traverses 1 to Y; optionally, if the bits with a minimum of X-Bmin before the reverse value of the index in each second sub-block of Z-1 second sub-blocks are discarded, then discarding the bits with a minimum of X-Bmin before the reverse value of the index in each first sub-block of Z-1 first sub-blocks, wherein the Z-1 second sub-blocks are sub-blocks with a maximum of Z-1 before the reverse value of the index in the Y second sub-blocks, and the Z-1 first sub-blocks are sub-blocks with a maximum of Z-1 before the reverse value of the index in the Y first sub-blocks.
[0025] That is, similar to the above principle, when the core array discards columns in descending order according to the reverse order of the column index, the first communication device can also compare the columns of the core array with the columns of the extended array according to this order to determine which columns' bits are to be discarded completely, thereby ensuring that the positions of the discarded bits in the extended array are as close as possible to the positions of the discarded bits in the core array, thereby ensuring stable retransmission performance.
[0026] Optionally, the Z second sub-blocks may be the sub-blocks with the smallest Z reliabilities among the Y second sub-blocks, and the Z-1 second sub-blocks may be the sub-blocks with the smallest Z-1 reliabilities among the Z second sub-blocks. Alternatively, the Z second sub-blocks may be the sub-blocks with the largest Z reliabilities among the Y second sub-blocks, and the Z-1 second sub-blocks may be the sub-blocks with the largest Z-1 reliabilities among the Z second sub-blocks. It will be appreciated that the reliability of a sub-block may be represented by the reliability of any bit (e.g., the first bit) in the sub-block, or may be the average reliabilities of at least some of the bits in the sub-block.
[0027] In one possible design, retransmission is performed based on at least a partial bit sequence and a second bit sequence, including: mapping the partial bits to the second bit sequence and encoding them to obtain a first coded bit sequence; determining Q coded sub-blocks out of Y coded sub-blocks based on the number of available resource bits; and sending X-Bmin bits of each of the Q coded sub-blocks. For example, the first coded bit sequence includes Y coded sub-blocks, where Y is an integer greater than 1, and each coded sub-block contains X bits. The number of available resource bits is the number of bits available for retransmission, which is less than or equal to the number of bits of the partial bits, such as F bits. Specifically, it can be preconfigured or dynamically determined by the first communication device, where Q is a positive integer, and Q is the value obtained by rounding up or down F / (X-Bmin). In other words, the first communication device can choose to send the complete Q coded sub-blocks to ensure the performance of joint decoding.
[0028] Optionally, if the C discarded bits are bits with the smallest index before C, i.e., C punctured bits, then after the initial transmission, the first communication device may send the bits with the smallest index before C after encoding the initially transmitted bit sequence to the second communication device. The sequence consisting of these C bits is the bit sequence obtained by encoding the C punctured bits, also known as the coded sequence corresponding to the C punctured bits. In this case, if the number of partial bits is a positive integer E, the number of available resource bits is EC = F.
[0029] Optionally, when the remainder of F / (X-Bmin) is a positive integer R, the method described in the first aspect may further include: selecting and transmitting R bits from the retransmission bit sequence selected for retransmission or the transmitted bit sequence, that is, performing repeated additional transmission to further improve joint decoding performance. The transmitted bit sequence may be an initially transmitted bit sequence, or may be a retransmission bit sequence from a previous retransmission or several previous retransmissions.
[0030] In a second aspect, a rate matching method is provided, the method comprising: obtaining retransmitted information to be decoded corresponding to initially transmitted information to be decoded, and obtaining a first bit sequence; dividing the first bit sequence into Y first sub-blocks, discarding Ai bits of the i-th first sub-block, i traversing from 1 to Y, obtaining a second bit sequence, and decoding the initially transmitted information to be decoded and the retransmitted information to be decoded based on the second bit sequence and a third bit sequence. The length of the first bit sequence is N, where N is a positive integer; each of the Y first sub-blocks includes X bits, where X and Y are integers greater than 1; Ai is greater than or equal to 1, the discarded bits in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block, the third bit sequence corresponding to the initially transmitted information to be decoded includes Y second sub-blocks, the length of the third bit sequence is N, and each of the Y second sub-blocks includes X bits.
[0031] In one possible design, the Ai bit is the bit with the largest Ai before the index among the X bits of the i-th sub-block, or the Ai bit is the bit with the largest Ai before the inverse value of the index among the X bits of the i-th sub-block, or the Ai bit is the bit with the largest Ai before the reliability among the X bits of the i-th sub-block.
[0032] Optionally, the number of discarded bits of each first sub-block in the Y first sub-blocks is the same and is Bmin, where Bmin<X.
[0033] Optionally, if the i-th first sub-block is a sub-block with a Y-(Z-1) smallest index among the Y first sub-blocks, then Ai=Bmin; if the i-th first sub-block is a sub-block with a Z-1 largest index among the Y first sub-blocks, then Ai=X; or; if the i-th first sub-block is a sub-block with a Y-(Z-1) smallest index before the reverse value of the index among the Y first sub-blocks, then Ai=Bmin; if the i-th first sub-block is a sub-block with a Z-1 largest index before the reverse value of the index among the Y first sub-blocks, then Ai=X.
[0034] Optionally, the encoding rate of the initially transmitted information to be decoded is greater than or equal to a rate threshold.
[0035] In one possible design scheme, before discarding Ai bits of the i-th first sub-block, i traverses 1 to Y to obtain a second bit sequence, the method described in the second aspect may also include: obtaining a fourth bit sequence; dividing the fourth bit sequence into Y second sub-blocks; determining Bi bits of the i-th second sub-block as discarded bits, i traverses 1 to Y, Bi is greater than or equal to Ai, and obtaining a third bit sequence.
[0036] Optionally, the minimum value of Bi is Bmin, where Bmin is a value obtained by rounding down (NM) / Y, or Bmin is determined based on a value obtained by rounding down (NM) / Y, where M is the number of information bits. For example, if the value obtained by rounding down (NM) / Y is B, and if B is greater than or equal to a preset value, then Bmin is the preset value, or if B is less than the preset value, then Bmin is B.
[0037] Alternatively, if C=(NM)-Bmin*Y, and C is a positive integer, then among the Z second sub-blocks of the Y second sub-blocks, the k-th second sub-block has Bmin+Dk discarded bits, and k traverses from 1 to Z. is C discarded bits. For example, Z is a value obtained by rounding up C / (X-Bmin).
[0038] In one possible design scheme, if the encoding rate of the initially transmitted information to be decoded is less than the rate threshold, then the Z second sub-blocks are the sub-blocks with the smallest Z values before the Y second sub-block indices or the reverse values of the indices; if the encoding rate of the initially transmitted information to be decoded is greater than or equal to the rate threshold, then the Z second sub-blocks are the sub-blocks with the largest Z values before the Y second sub-block indices or the reverse values of the indices.
[0039] Optionally, the Z second sub-blocks may be the sub-blocks with the smallest Z reliability among the Y second sub-blocks, and the Z-1 second sub-blocks may be the sub-blocks with the smallest Z-1 reliability among the Z second sub-blocks. Alternatively, the Z second sub-blocks may be the sub-blocks with the largest Z reliability among the Y second sub-blocks, and the Z-1 second sub-blocks may be the sub-blocks with the largest Z-1 reliability among the Z second sub-blocks. It will be understood that the reliability of a sub-block may be represented by the reliability of any bit (e.g., the first bit) in the sub-block, or may be the average reliability of at least some of the bits in the sub-block.
[0040] Optionally, discarding Ai bits of the i-th first sub-block includes: based on the bit with the largest index before Bmin in the i-th second sub-block being the discarded bit, discarding the bit with the largest index before Bmin in the i-th first sub-block, i traverses 1 to Y; if the bit with the smallest index before X-Bmin in each second sub-block of Z-1 second sub-blocks is discarded, then discarding the bit with the smallest index before X-Bmin in each first sub-block of Z-1 first sub-blocks, wherein the Z-1 second sub-blocks are the sub-blocks with the largest index before Z-1 among the Y second sub-blocks, and the Z-1 first sub-blocks are the sub-blocks with the largest index before Z-1 among the Y first sub-blocks. Alternatively, discarding Ai bits of the i-th first sub-block includes: based on the fact that the bits with the largest Bmin before the reverse value of the index in the i-th second sub-block are discarded bits, discarding the bits with the largest Bmin before the reverse value of the index in the i-th first sub-block, i traverses 1 to Y; if the bits with the smallest X-Bmin before the reverse value of the index in each second sub-block of Z-1 second sub-blocks are discarded, then discarding the bits with the smallest X-Bmin before the reverse value of the index in each first sub-block of Z-1 first sub-blocks, where the Z-1 second sub-blocks are sub-blocks with the largest Z-1 before the reverse value of the index in the Y second sub-blocks, and the Z-1 first sub-blocks are sub-blocks with the largest Z-1 before the reverse value of the index in the Y first sub-blocks.
[0041] It is understood that the method described in the second aspect can be performed by a second communication device. The second communication device can also be the terminal itself, a device including the terminal, or a chip within the terminal. Alternatively, the second communication device can also be the network device itself, a device including the network device, or a chip within the network device.
[0042] It can be understood that the relevant technical effects of the method of the second aspect mentioned above can also refer to the relevant introduction of the first aspect mentioned above, and will not be repeated here.
[0043] In a third aspect, a communication device is provided. The communication device includes: a module for executing the method described in any one of aspects 1 to 2, such as a transceiver module and a processing module. For example, the transceiver module is configured to indicate the transceiver function of the communication device, and the processing module is configured to perform functions of the communication device other than the transceiver function.
[0044] Optionally, the transceiver module may include a sending module and a receiving module, wherein the sending module is used to implement the sending function of the communication device described in the third aspect, and the receiving module is used to implement the receiving function of the communication device described in the third aspect.
[0045] Optionally, the communication device described in the third aspect may further include a storage module, wherein the storage module stores a program or instruction. When the processing module executes the program or instruction, the communication device may execute the method described in any one of the first aspect to the second aspect.
[0046] It can be understood that the communication device described in the third aspect can be a terminal or a network device, or a chip (system) or other parts or components that can be set in a terminal or a network device, or a device that includes a terminal or a network device. This application does not limit this.
[0047] In addition, the technical effects of the communication device described in the third aspect can refer to the technical effects of the other aspects mentioned above and will not be repeated here.
[0048] In a fourth aspect, a communication device is provided, comprising: a processor configured to execute the method described in any one of the first to second aspects.
[0049] In one possible design solution, the communication device described in the fourth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the fourth aspect to communicate with other communication devices.
[0050] In one possible design, the communication device described in the fourth aspect may further include a memory. The memory may be integrated with the processor or provided separately. The memory may be used to store the computer program and / or data involved in the method described in any one of the first and second aspects.
[0051] In an embodiment of the present application, the communication device described in the fourth aspect can be the terminal or network device described in any one of the first to second aspects, or a chip (system) or other parts or components that can be set in the terminal or network device, or a device that includes the terminal or network device.
[0052] In addition, the technical effects of the communication device described in the fourth aspect can refer to the technical effects of the methods described in any one of the first aspect to the second aspect, and will not be repeated here.
[0053] In a fifth aspect, a communication device is provided, comprising: a processor coupled to a memory, the processor configured to execute a computer program stored in the memory, so that the communication device performs the method described in any one of the first to second aspects.
[0054] In one possible design solution, the communication device described in the fifth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the fifth aspect to communicate with other communication devices.
[0055] In an embodiment of the present application, the communication device described in the fifth aspect can be the terminal or network device described in any one of the first to second aspects, or a chip (system) or other parts or components that can be set in the terminal or network device, or a device that includes the terminal or network device.
[0056] In addition, the technical effects of the communication device described in the fifth aspect can refer to the technical effects of the methods described in any one of the first aspect to the second aspect, and will not be repeated here.
[0057] In a sixth aspect, a communication device is provided, comprising: a processor and a memory; the memory is used to store a computer program, and when the processor executes the computer program, the communication device executes the method described in any one of the first to second aspects.
[0058] In one possible design solution, the communication device described in the sixth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the sixth aspect to communicate with other communication devices.
[0059] In an embodiment of the present application, the communication device described in the sixth aspect can be the terminal or network device described in any one of the first aspect to the second aspect, or a chip (system) or other parts or components that can be set in the terminal or network device, or a device that includes the terminal or network device.
[0060] In addition, the technical effects of the communication device described in the sixth aspect can refer to the technical effects of the methods described in any one of the first aspect to the second aspect, and will not be repeated here.
[0061] In a seventh aspect, a communication system is provided, comprising: a first communication device for executing the method according to the first aspect, and a second communication device for executing the method according to the second aspect.
[0062] In an eighth aspect, a computer-readable storage medium is provided, comprising: a computer program or instructions; when the computer program or instructions are run on a computer, the computer is caused to execute the method described in any one of the first to second aspects.
[0063] In a ninth aspect, a computer program product is provided, comprising a computer program or instructions, which, when executed on a computer, causes the computer to execute the method described in any one of the first to second aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1 is a schematic diagram of 8*8 polar code encoding;
[0065] FIG2 is a schematic diagram of the architecture of a communication system according to an embodiment of the present application;
[0066] FIG3 is a second schematic diagram of the architecture of the communication system provided in an embodiment of the present application;
[0067] FIG4 is a schematic flow chart of a rate matching method according to an embodiment of the present application;
[0068] FIG5 is a schematic diagram of an application scenario of the rate matching method provided in an embodiment of the present application;
[0069] FIG6 is a second schematic diagram of an application scenario of the rate matching method provided in an embodiment of the present application;
[0070] FIG7 is a third schematic diagram of an application scenario of the rate matching method provided in an embodiment of the present application;
[0071] FIG8 is a schematic diagram of a simulation of a rate matching method provided in an embodiment of the present application;
[0072] FIG9 is a first structural diagram of a communication device provided in an embodiment of the present application;
[0073] FIG10 is a second structural diagram of the communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0074] For ease of understanding, the technical terms involved in the embodiments of this application are first introduced below.
[0075] 1. Polarization code:
[0076] Polar coding is a channel coding scheme that can achieve Shannon channel capacity, offering high performance and low complexity. It has been selected by the 3rd Generation Partnership Project (3GPP) as the control channel coding scheme for uplink and downlink transmission in fifth-generation (5G) enhanced mobile broadband (eMBB) scenarios.
[0077] As shown in Figure 1, which illustrates the 8*8 polar code encoding, the "+" represents an exclusive-or operation. The bits to be encoded are sorted according to their respective reliabilities. Generally, bits with higher reliability are set as information bits (data). For example, u7, u6, u5, and u3 are the four bits with the highest reliability and are set as information bits. Bits with lower reliability are set as frozen bits. For example, u4, u2, u1, and u0 are the four bits with the lowest reliability and are set as frozen bits. The value of the fixed bit is usually set to 0 and is known to both the sender and receiver in actual transmission.
[0078] As can be seen, the mother code length of the polar code is an integer power of 2. When the code length required for actual communication is different from the mother code length, code length matching is required through methods such as puncturing and retransmission. Puncturing and retransmission refer to removing or retransmitting several bits from the coded sequence to make it meet the required code length. This process is also called rate matching.
[0079] There are currently two main rate matching methods: one is natural order (NAT) puncturing, and the other is NR sub-block interleaving, which are introduced below.
[0080] 2. NAT hole punching:
[0081] NAT puncturing involves puncturing the data from front to back in a natural order. For example, the sequence to be transmitted is a polar code with a code length of M, containing K information bits, where M and K are positive integers and M is greater than K. The transmitter determines that the code length of the mother code corresponding to the sequence to be transmitted is N. When N is greater than M, the transmitter selects the NM bit positions preceding the mother code as puncture positions and freezes them, setting the bit value to 0 and not placing any information. At this point, an additional number of frozen bits is added based on the number of punctures to avoid performance degradation. In other words, NAT puncturing is continuous puncturing, which reduces construction complexity.
[0082] 3. NR sub-block interleaving:
[0083] NR's polar code rate matching is 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.
[0084] Table 1
[0085] In this case, if the sequence to be transmitted is a polar code with a code length of M, and the mother code corresponding to the sequence to be transmitted has a code length of N, where N is greater than M, the transmitter may select the first NM bit positions of the mother code as puncture positions, such as sub-block 0, sub-block 1, sub-block 2, sub-block 4, or sub-block 31, sub-block 30, sub-block 29, sub-block 27, and so on, according to the interleaving order described in Table 1. Furthermore, in puncture mode, the transmitter may also pre-freeze a portion of bit positions based on N and M to ensure that positions whose puncture capacity varies significantly are not selected as information bits.
[0086] 4. Retransmission:
[0087] Retransmission is an effective method to improve channel spectrum efficiency.
[0088] Hybrid automatic repeat request (HARQ) is a technology that combines forward error correction (FEC) and automatic repeat request (ARQ) to improve spectrum efficiency. The key words in HARQ are storage, retransmission request, and combined demodulation. If decoding fails, the receiver saves the received data and requests the sender to retransmit the data. The receiver combines the retransmitted data with the previously received data before decoding. Data combining provides a certain diversity gain, reducing the number of retransmissions and, in turn, latency. Traditional ARQ technology simply discards erroneous data without storage, eliminating the combining process and, naturally, lacking diversity gain. This often requires excessive retransmissions and long wait times.
[0089] HARQ is divided into two types: chase combining (CC) and incremental redundancy (IR). CC retransmission involves partially or fully retransmitting the initially transmitted codeword. At the receiving end, the received data is combined and decoded based on the consistent positions of the data on the codeword. This multiple transmission increases the transmission energy of the codeword bits. IR retransmission involves incrementally transmitting codeword bits that were not sent during the initial transmission. This not only increases the total transmission energy but also achieves long code gain.
[0090] Currently, the only specific application of polar code IR HARQ is the polar code HARQ in the StarFlash standard. Its rate matching method is very complex. Initial transmission uses NR (5G) rate matching: NR (5G) polar code divides the polar code mother code length into 32 sub-blocks and interleaves the sub-blocks according to the order shown in Table 1. Retransmissions use different rate matching branches, as shown in Table 2.
[0091] Table 2
[0092] NRV0 is the initial transmission mother code (code length), ERV0 is the transmission length, and ERV1 is the number of retransmission channel bits. If NRV0 > ERV0, rate matching is required. Based on the code rate, the first NRV0-ERV0 length is punctured, pre-freezing the corresponding uninterleaved positions; alternatively, the last NRV0-ERV0 length is truncated. In puncturing mode, additional bit positions are pre-frozen based on NRV0 and ERV0 to ensure that positions with significant puncturing capacity changes are not selected as information bits.
[0093] As can be seen, the rate matching method for IR HARQ is very complex. In terms of construction, the length of the initially transmitted mother code and the number of retransmitted channel bits affect the construction, rate matching, and transmission sequence of the polar code. Therefore, it is difficult for polar code HARQ to achieve stable performance under flexible transmission lengths.
[0094] In response to the above technical problems, the embodiments of the present application propose the following technical solutions.
[0095] The technical solution in this application will be described below with reference to the accompanying drawings.
[0096] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as wireless network (Wi-Fi) systems, ultra-wide band (UWB) systems, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, Internet of Vehicles (IoV) communication systems, fourth-generation (4G) mobile communication systems, such as long-term evolution (LTE) systems, world-wide interoperability for microwave access (WiMAX) communication systems, 5G, such as NR systems, and future communication systems (5.5G, 6G), etc.
[0097] In the embodiment of the present application, "indication" may include direct indication and indirect indication, and may also include explicit indication and implicit indication. The information indicated by a certain information (such as the first indication information, the second indication information, or the third indication information below) is called information to be indicated. In the specific implementation process, there are many ways to indicate the information to be indicated, such as but not limited to, the information to be indicated can be directly indicated, such as the information to be indicated itself or the index of the information to be indicated. The information to be indicated can also be indirectly indicated by indicating other information, wherein the other information and the information to be indicated have an association relationship. It is also possible to indicate only a part of the information to be indicated, while the other parts of the information to be indicated are known or agreed in advance. For example, the indication of specific information can be achieved by means of the arrangement order of each information agreed in advance (such as specified in the protocol), thereby reducing the indication overhead to a certain extent. At the same time, the common parts of each information can be identified and indicated uniformly to reduce the indication overhead caused by indicating the same information separately.
[0098] In addition, the specific indication method can also be various existing indication methods, such as but not limited to the above-mentioned indication methods and various combinations thereof. The specific details of the various indication methods can be referred to the prior art and will not be repeated herein. As can be seen from the above, for example, when it is necessary to indicate multiple information of the same type, there may be a situation where the indication methods for different information are different. In the specific implementation process, the required indication method can be selected according to specific needs. The embodiment of the present application does not limit the selected indication method. In this way, the indication method involved in the embodiment of the present application should be understood to cover various methods that can enable the party to be indicated to obtain the information to be indicated.
[0099] It should be understood that the information to be indicated can be sent as a whole or divided into multiple sub-information and sent separately, and the sending period and / or sending time of these sub-information can be the same or different. The specific sending method is not limited in the embodiments of this application. The sending period and / or sending time of these sub-information can be predefined, for example, predefined according to a protocol, or can be configured by the transmitting device by sending configuration information to the receiving device.
[0100] "Pre-definition" or "pre-configuration" can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in the device, and the embodiments of the present application do not limit the specific implementation method. Among them, "saving" can mean saving in one or more memories. The one or more memories can be set separately or integrated in an encoder or decoder, a processor, or a communication device. The one or more memories can also be partially set separately and partially integrated in a decoder, a processor, or a communication device. The type of memory can be any form of storage medium, and the embodiments of the present application do not limit this.
[0101] The "protocol" involved in the embodiments of the present application may refer to a protocol family in the communication field, a standard protocol with a similar protocol family frame structure, or a related protocol used in future communication systems. The embodiments of the present application do not make specific limitations on this.
[0102] In the embodiments of the present application, descriptions such as "when...", "in the case of...", "if" and "if" all mean that the device will perform corresponding processing under certain objective circumstances. It does not limit the time, nor does it require the device to perform judgment actions when implemented, nor does it mean that there are other limitations.
[0103] In the description of the embodiments of the present application, unless otherwise specified, " / " indicates that the objects associated with each other are in an "or" relationship. For example, A / B can represent A or B. "And / or" in the embodiments of the present application is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural. In addition, in the description of the embodiments of the present application, unless otherwise specified, "multiple" refers to two or more than two. "At least one of the following" or similar expressions refers 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. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with basically the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit differences. At the same time, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.
[0104] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field will know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0105] To facilitate understanding of the embodiments of the present application, a communication system applicable to the embodiments of the present application is first described in detail using the communication system shown in Figure 2 as an example. For example, Figure 2 is a schematic diagram of the architecture of a communication system applicable to the rate matching method provided in the embodiments of the present application.
[0106] As shown in Figure 2, a communication system may include multiple communication devices, such as a first communication device and a second communication device. The communication devices may be terminals or network devices. For example, the first communication device may be a terminal and the second communication device may be a network device, or the first communication device may be a network device and the second communication device may be a terminal.
[0107] A terminal may also be called user equipment (UE), an access terminal, a subscriber unit, a user station, a mobile station (MS), a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent, or a user device. The terminal in the embodiments of the present application can be a mobile phone, a cellular phone, a smart phone, a tablet computer, a wireless data card, a personal digital assistant (PDA), a wireless modem, a handheld device (handset), a laptop computer, a machine type communication (MTC) terminal, a computer with wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a smart home device (for example, a refrigerator, a television, an air conditioner, an electric meter, etc.), an intelligent robot, a robotic arm, a workshop equipment, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a vehicle-mounted terminal, a roadside unit with terminal function, or a wireless terminal in a smart city. The terminal device of the present application may also be an onboard module, onboard module, onboard component, onboard chip or onboard unit built into a vehicle as one or more components or units. The terminal device may also be other devices with terminal functions, for example, the terminal device may also be a device that functions as a terminal in D2D communication.
[0108] The embodiments of this application do not limit the device form factor of the terminal. The device used to implement the terminal's function can be a terminal; it can also be a device that supports the terminal in implementing the function, 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 a chip or include a chip and other discrete components.
[0109] The network device may be a radio access network (RAN) device, also known as an access network device. The access network device may specifically be a next-generation mobile communication system, such as a 6G access network device, such as a 6G base station, or in the next-generation mobile communication system, the access network device may also have other naming methods, all of which are included in the protection scope of the embodiments of the present application, and the present application does not impose any restrictions on this. Alternatively, the access network device may 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 base station in 5G, or a network node constituting a gNB, a transmission point (TRP or transmission point, TP) or a transmission measurement function (TMF), such as a centralized 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 function, or a wired access gateway, or a 5G core network element, etc. Alternatively, the access network device may also include: an access point (AP) in a wireless fidelity (WiFi) system, a wireless relay node, a wireless backhaul node, various forms of macro base stations, micro base stations (also known as small stations), relay stations, access points, wearable devices, vehicle-mounted devices, etc.
[0110] Among them, the CU and DU can be set separately, or can also be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU) or a remote radio head (RRH). It can be understood that the network device can be a CU node, a DU node, or a device including a CU node and a DU node. In addition, the CU can be divided into a network device in the access network RAN, or the CU can be divided into a network device in the core network CN, and there is no limitation here.
[0111] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application uses CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0112] The communication system of the embodiment of the present application is suitable for coding scenarios and can be implemented by a dedicated chip ASIC, a programmable chip FPGA, or by software (program code in memory). As shown in Figure 3, coding mainly involves source coding and channel coding, channel decoding and source recovery. The embodiment of the present application mainly involves channel coding. For other information, please refer to the relevant introduction of 3GPP, which will not be repeated here.
[0113] In a communication system, a first communication device may discard the corresponding bits in a second bit sequence according to the position of the bits discarded when sending an initial transmission bit sequence, such as a third bit sequence corresponding to the initial transmission bit sequence includes Y second sub-blocks, and each second sub-block has corresponding bits discarded. The bit sequence used for retransmission, such as the corresponding bits in the second bit sequence, is discarded, so that in the Y first sub-blocks contained in the second bit sequence, the discarded bits in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block. That is, the structures of the bit sequences used for initial transmission and retransmission are similar, which can reduce the complexity of retransmission rate matching and ensure stable retransmission performance. Accordingly, after receiving the initial transmission information to be decoded and the retransmission information to be decoded, the first communication device can perform joint decoding to improve decoding performance.
[0114] Figure 4 is a flow chart of a rate matching method provided in an embodiment of the present application. The rate matching method is applicable to the above-mentioned communication system, and mainly involves interaction between a first communication device and a second communication device.
[0115] As shown in FIG4 , the process of the rate matching method is as follows:
[0116] S401: A first communication device obtains some bits in an initially transmitted bit sequence.
[0117] The initial transmission bit sequence may be a bit sequence sent by the first communication device during initial transmission (e.g., the first transmission with the second communication device). For specific implementation, please refer to the description of S402-S403 below and will not be repeated here. Some bits in the initial transmission bit sequence are bits that need to be retransmitted. The specific number is not limited and the first communication device may select bits based on actual conditions. For example, when decoding performance is poor, more bits may be selected for retransmission.
[0118] S402: The first communication device obtains a first bit sequence.
[0119] The first bit sequence can be used to transmit the above-mentioned partial bits, which is called the retransmission mother code (or extended code). The length of the first bit sequence can be the same as the length of the initial transmission mother code (or core code), such as N, where N is a positive integer. For example, the length of the bit sequence to be transmitted that needs to be initially transmitted is M, and the length of the initial transmission mother code used to transmit the bit sequence to be transmitted satisfies N=2ceil(log2(M)), where ceil represents rounding up. For another example, if the calculated result of 2ceil(log2(M)) is greater than Nmax, that is, the maximum length of the initial transmission mother code, then the length of the initial transmission mother code used to transmit the bit sequence to be transmitted can also be Nmax, that is, N=Nmax.
[0120] S403: The first communication device divides the first bit sequence into Y first sub-blocks.
[0121] The number Y of the first sub-blocks may be determined according to the number of sub-blocks during initial transmission, for example, the number Y of the first sub-blocks may be the same as the number of sub-blocks during initial transmission.
[0122] For ease of understanding, the following will first introduce the initial transmission and then the retransmission.
[0123] 1) Initial transmission: The initial transmission mother code for transmitting the bit sequence to be sent is the fourth bit sequence. The first communication device can divide the fourth bit sequence into Y second sub-blocks. Wherein, Y is an integer greater than 1, and the value of Y can be a power of 2, such as 4, 8, 16, 32, 64, etc., which is not specifically limited. Each second sub-block in the Y second sub-blocks includes X bits, and X is an integer greater than 1. At this time, the number of bits contained in each second sub-block can be as close as possible to or the same as the number of second sub-blocks, that is, the values of X and Y can be the same or similar, so that the division of the sub-blocks can be more uniform, so as to avoid the impact of truncation and / or puncture on the communication capacity. For example, X=Y=8, i.e., 8 second sub-blocks, each of which contains 8 bits; or, X=8, Y=16, i.e., 16 second sub-blocks, each of which contains 8 bits; or, X=16, Y=16, i.e., 16 second sub-blocks, each of which contains 16 bits.
[0124] If Y second sub-blocks are considered as Y columns and the X bits contained in each second sub-block are considered as X rows, then the Y second sub-blocks are interleaved. If the interleaving order is the order of the Y second sub-blocks in the first bit sequence, a matrix with X rows and Y columns can be obtained, also called a core matrix. The bits with the same index in each second sub-block can be understood as a row of the core matrix.
[0125] 2) Retransmission: The first communication device may also divide the first bit sequence into Y first sub-blocks based on the number Y of sub-blocks in the initial transmission. Similar to the initial transmission, the Y second sub-blocks form a matrix with X rows and Y columns, which can be called an extended matrix. Bits with the same index in each first sub-block can be understood as a row of the extended matrix.
[0126] S404: The first communication device discards Ai bits of the i-th first sub-block, and i traverses from 1 to Y to obtain a second bit sequence.
[0127] The discarded bits (e.g., Ai bits) in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block. For example, the Ai bits may be the bits with the largest index before Ai among the X bits of the i-th first sub-block, or the Ai bits may be the bits with the largest index before Ai among the X bits of the i-th first sub-block, or the Ai bits may be the bits with the largest reliability before Ai among the X bits of the i-th first sub-block, so as to avoid the impact of the discarded bits on the communication capacity.
[0128] Optionally, the number of discarded bits in each of the Y first sub-blocks is the same and is Bmin, Bmin < X, and Bmin is the number of at least partially discarded bits in each second sub-block during initial transmission. Alternatively, when the encoding code rate of the initial transmission bit sequence is greater than or equal to the code rate threshold, if the i-th first sub-block is the sub-block with the smallest Y-(Z-1) index among the Y first sub-blocks, then Ai = Bmin; if the i-th first sub-block is the sub-block with the largest Z-1 index among the Y first sub-blocks, then Ai = X; or; if the i-th first sub-block is the sub-block with the smallest Y-(Z-1) index before the reverse value of the index among the Y first sub-blocks, then Ai = Bmin; optionally, if the i-th first sub-block is the sub-block with the largest Z-1 index before the reverse value of the index among the Y first sub-blocks, then Ai = X. Z is generally a positive integer less than Y, but this is not a limitation and Z may also be equal to Y.
[0129] That is, the first communication device may choose to discard the corresponding bits in the first sub-block according to the discarded bits in the second sub-block during the initial transmission. For ease of understanding, the initial transmission is still described first, followed by the retransmission.
[0130] 1) Initial transmission:
[0131] The first communication device may determine Bi bits of the i-th second sub-block as discarded bits, and i traverses from 1 to Y, with Bi being greater than or equal to 1, to obtain a third bit sequence. That is, the third bit sequence also includes Y second sub-blocks, and Bi bits of the i-th second sub-block are discarded.
[0132] The discarded bits may include truncated bits and / or punctured bits. Truncated bits participate in encoding but do not affect the encoding result. Punctured bits can be understood as being frozen, such as set to 0, participating in encoding and affecting the encoding result. The number of discarded bits in the Y second sub-blocks is NM, such as NM = S. That is, the sum of the discarded bits Bi in each of the Y second sub-blocks is S.
[0133] The Bi bits of the i-th second sub-block are the bits with the largest Bi preceding the index among the X bits of the i-th second sub-block, or the Bi bits of the i-th second sub-block are the bits with the largest Bi preceding the reverse value of the index among the X bits of the i-th second sub-block. The reverse value of the index may be the reverse order of the binary representation of the index, such as the reverse order of 110 is 011. It can be seen that the first communication device selects the Bi bits as discarded bits in descending order (or, from back to front) of the index or the reverse value of the index. Compared to descending order of the index or the reverse value of the index, this method has a relatively small impact on the row weight, that is, a relatively small impact on the code structure. As a result, the discarded bits have a relatively small impact on the communication capacity, or almost no impact, thereby avoiding a reduction in communication efficiency due to the presence of bad pixel areas.
[0134] The minimum value of Bi can be denoted as Bmin, where Bmin is an integer greater than or equal to 1. In other words, at least one bit with the same index or its inverse value in each second sub-block is determined to be discarded, or truncated. Thus, the core array has Bmin rows of bits determined to be discarded, achieving relatively uniform truncation and minimizing the impact on communication capacity.
[0135] Optionally, Bmin can be a value obtained by rounding down (NM) / Y, that is, when there are S bits to be discarded, how many rows of bits in the core array can be discarded. Alternatively, Bmin can also be determined based on the value obtained by rounding down (NM) / Y. For example, the value obtained by rounding down (NM) / Y is B. If A is greater than or equal to a preset value, Bmin is the preset value; if B is less than the preset value, Bmin is B. The preset value can indicate that at most a preset number of rows of bits in the core array can be discarded, so as to avoid a reduction in communication capacity due to an excessive number of rows being discarded overall.
[0136] That is, the first communication device may first determine Bmin, and then determine the bits in the Y second sub-blocks whose preceding index is greater than Bmin or whose preceding reverse value of the index is greater than Bmin as the truncated bits according to Bmin.
[0137] To facilitate understanding, let's use an example:
[0138] If the information bit length K = 28, i.e., 28 information bits, and the encoding rate R = 0.848, then the length of the bit sequence to be transmitted M = 33. Alternatively, if the information bit length K = 14, i.e., 14 information bits, and the encoding rate R = 0.424, then the length of the bit sequence to be transmitted M = 33. In this case, 2ceil(log2(M)) = N = 64, meaning that a first bit sequence of 64 bits is selected as the mother code. NM = S = 31, indicating that 31 bits in the first bit sequence need to be discarded.
[0139] Setting Y = 8, the first communication device divides the first bit sequence into 8 second sub-blocks, each containing 8 bits, i.e., X = 8. As shown in FIG5 or FIG6 , in the core matrix, the first communication device can interleave the 8 second sub-blocks to obtain an 8*8 core matrix. The first communication device can determine that 3 rows of bits need to be truncated based on Bmin = floor(31 / 8) = 3, where floor() indicates rounding down. The index of the 8 bits contained in each second sub-block can be indicated by 3 bits, such as 000, 001, 010, 011, 100, 101, 110, and 111. 111 represents 7, i.e., the bit with the 8th largest index, i.e., the 7th row of the core matrix. 110 represents 6, i.e., the bit with the 7th largest index, i.e., the 5th row of the core matrix. And so on. 000 represents 0, the bit with the 1st smallest index, i.e., the 0th row of the core matrix. As shown in Figure 5 or Figure 6, in the case of reverse index, the reverse value of index 011 in the 3rd row is expressed as 110, that is, the reverse order represents 6. Therefore, Bmin is set to 3, and the rows with the largest reverse index values include the 3rd row, the 5th row and the 7th row. Therefore, the first communication device determines that the truncated rows are the 3rd row, the 5th row and the 7th row, or in other words, the 3rd bit, the 5th bit and the 7th bit in each second sub-block are the truncated bits.
[0140] Optionally, if C = (NM) - Bmin * Y, and C is a positive integer, this means that after discarding the entire Cmin row, C bits remain to be discarded. Therefore, the first communication device can continue to select C bits as discarded bits from the Z second sub-blocks of the Y second sub-blocks, ultimately ensuring that all excess bits are discarded. Where Z is a positive integer less than or equal to Y, and Z is the value obtained by rounding up B / (XA), or can be determined by any other possible method, which is not limited to this.
[0141] For example, the first communications device may calculate the value of Z by rounding up C / (XA). That is, Z is the value obtained by rounding up C / (X-Bmin). Alternatively, Z may be determined by any other possible method, which is not limited to this. The first communications device may then select Z second sub-blocks from the Y second sub-blocks based on the encoding bit rate.
[0142] Specifically, if the encoding rate of the initially transmitted bit sequence is less than or equal to the rate threshold, then the Z second sub-blocks are the second sub-blocks with the smallest index before the Y second sub-blocks, or the Z second sub-blocks are the second sub-blocks with the smallest index before the reverse value of the index among the Y second sub-blocks. In other words, the first communication device may select the Z second sub-blocks in ascending order of the indexes or reverse values of the indexes of the Y second sub-blocks. If the encoding rate of the initially transmitted bit sequence is greater than the rate threshold, then the Z second sub-blocks are the second sub-blocks with the largest index before the Y second sub-blocks, or the Z second sub-blocks are the second sub-blocks with the largest index before the reverse value of the index among the Y second sub-blocks. In other words, the first communication device may also select the Z second sub-blocks in descending order of the indexes or reverse values of the indexes of the Y second sub-blocks. Of course, the first communication device may also select the second sub-block with the smallest index before the Z reverse value of the index or the second sub-block with the largest index before the reverse value of the index by default, without limitation.
[0143] It can be understood that when the encoding rate is relatively low, selecting Z second sub-blocks from small to large, or when the encoding rate is relatively high, selecting Z second sub-blocks from large to small, can avoid the impact of the selected discarded bits on the communication capacity, thereby avoiding the reduction of communication efficiency and ensuring the stability of communication.
[0144] When Z second sub-blocks are determined, the first communication device may determine the discarded bits of each second sub-block. For example, for the k-th second sub-block among the Z second sub-blocks, the k-th second sub-block has Bmin+Dk discarded bits, where k ranges from 1 to Z. That is, the sum of Dk is C discarded bits. When Z is greater than 1, the X bits of Z-1 second sub-blocks among the Z second sub-blocks are all discarded bits.
[0145] For example, if the Z second subblocks are the second subblocks with the smallest Z indexes among the Y second subblocks, the Z-1 second subblocks are the second subblocks with the smallest Z-1 indexes among the Z second subblocks. Alternatively, if the Z second subblocks are the second subblocks with the smallest Z indexes before the reverse value of the indexes among the Y second subblocks, the Z-1 second subblocks are the second subblocks with the smallest Z-1 indexes before the reverse value of the indexes among the Z second subblocks. In other words, the first communication device can select the Z-1 second subblocks with the smallest Z-1 indexes or the reverse value of the indexes among the Z second subblocks, and determine the remaining non-discarded X-Bmin bits of each second subblock in the Z-1 second subblocks as the discarded bits, or in other words, the punctured bits.
[0146] For another example, if the Z second sub-blocks are the second sub-blocks with the largest index before Z among the Y second sub-blocks, the Z-1 second sub-blocks are the second sub-blocks with the largest index before Z-1 among the Z second sub-blocks. Alternatively, if the Z second sub-blocks are the second sub-blocks with the largest index before the reverse value among the Y second sub-blocks, the Z-1 second sub-blocks are the second sub-blocks with the largest index before Z-1 among the Z second sub-blocks. Similarly, the first communication device may also select the Z-1 second sub-blocks with the largest index or reverse value before Z-1 among the Z second sub-blocks, and determine the remaining non-discarded X-Bmin bits of each second sub-block in the Z-1 second sub-blocks as the discarded bits, or in other words, the truncated bits.
[0147] For the last second sub-block among the Z second sub-blocks, excluding the aforementioned Z-1 second sub-blocks, it is recorded as second sub-block z. There are Bmin+Dz discarded bits in second sub-block z, where Dz is B-[(Z-1)*(X-Bmin)]. The Dz discarded bits are the bits with the largest index or index reverse value before Dz of the X bits, excluding the Bmin discarded bits. That is, the first communication device can select the bits with the largest index or index reverse value before Dz of the X-Bmin bits of second sub-block z as the discarded bits, to ensure that the extra S bits are ultimately discarded.
[0148] It will be understood that the above are some implementations of the Z second sub-blocks and are not intended to be limiting. For example, the Z second sub-blocks may be the sub-blocks with the smallest reliability among the Y second sub-blocks, and the Z-1 second sub-blocks may be the sub-blocks with the smallest reliability among the Z second sub-blocks. Alternatively, the Z second sub-blocks may be the sub-blocks with the largest reliability among the Y second sub-blocks, and the Z-1 second sub-blocks may be the sub-blocks with the largest reliability among the Z second sub-blocks. It will be understood that the reliability of a sub-block may be represented by the reliability of any bit (such as the first bit) in the sub-block, or may be the average reliability of at least some of the bits in the sub-block.
[0149] For ease of understanding, continue to explain the above example:
[0150] As shown in FIG5 , in the core matrix, B = (64-33)-3*8 = 7, Z = ceil(7 / (8-3)) = 2, where ceil() represents rounding up. Since the encoding rate R = 0.848 is greater than a code rate threshold, such as 7 / 16, the first communications device selects the second sub-blocks with the largest reverse index values among the Y second sub-blocks. For example, the indices of the eight second sub-blocks can be indicated by three bits, such as 000, 001, 010, 011, 100, 101, 110, and 111. 111 represents 7, i.e., the second sub-block with the eighth largest index, i.e., the seventh column of the core matrix. 110 represents 6, i.e., the second sub-block with the seventh largest index, i.e., the sixth column of the core matrix. Similarly, 000 represents 0, the second sub-block with the first smallest index, i.e., the zeroth column of the core matrix. For the Z-1 second sub-blocks, or in other words, the second sub-block with the largest reverse index value is the 7th second sub-block (111 reversed to 111), i.e., the 7th column of the core array. The first communication device determines the remaining 5 bits in the 7th second sub-block, such as bit 0, bit 1, bit 2, bit 4, and bit 6, as the truncated bits. For the Zth second sub-block, or in other words, the second sub-block with the second largest reverse index value is the 3rd second sub-block (011 reversed to 110), i.e., the 3rd column of the core array. The first communication device may determine the first two bits with the largest reverse index values of the remaining 5 bits in the 3rd second sub-block, such as bit 1 (001 reversed to 100) and bit 6 (101 reversed to 101), as the truncated bits.
[0151] As shown in FIG6 , in the core matrix, B = (64-33)-3*8 = 7, Z = ceil(7 / (8-3)) = 2, where ceil() represents rounding up. Since the coding rate R = 0.424 is less than the code rate threshold, the first communication device selects the second sub-block with the largest two reverse index values among the Y second sub-blocks. For example, for the Z-1 second sub-blocks, or in other words, the second sub-block with the smallest reverse index value is the 0th second sub-block (000 reversed to 000), that is, the 0th column of the core matrix. The first communication device determines the remaining five bits in the 0th second sub-block, such as bit 0, bit 1, bit 2, bit 4, and bit 6, as the punctured bits. For the Zth second sub-block, or in other words, the second sub-block with the second smallest reverse index value is the 4th second sub-block (100 reversed to 001), that is, the 4th column of the core matrix. The first communication device can determine the two bits with the largest reverse index values among the remaining 5 bits of the 4th second sub-block, such as bit 1 (001 reversed to 100) and bit 6 (101 reversed to 101), as the punctured bits.
[0152] It can be seen from the pattern that the discarded bits selected in the above manner are usually located at the edge of the X*Y core array, which can be understood as a selection from the outside to the inside, so that the non-discarded bits are relatively concentrated and uniform, thereby avoiding affecting the communication capacity and thus avoiding a reduction in communication efficiency.
[0153] It should be understood that the above selection method is merely an example. For example, when Y = 32, the first communications device may select Z second sub-blocks using the interleaving order of the 32 second sub-blocks in the current NR, or may select Z second sub-blocks using any other possible method, without limitation. For another example, for the aforementioned Dz bits, the first communications device may select in ascending order of index or reverse index value.
[0154] It can also be understood that the above-mentioned method of selecting discarded bits is merely an example. For example, the Bi bits of the i-th second sub-block may also be the bits with the largest Bi reliability among the X bits of the i-th second sub-block. Optionally, the first communication device may sort the X bits in the i-th second sub-block by reliability from high to low (or from low to high), and select the bits with the largest Bi reliability as the discarded bits in the i-th second sub-block. Alternatively, the first communication device may sort the N bits in the first bit sequence by reliability from high to low, and select the bits with the largest S reliability (NN=S) as the discarded bits. In this case, the i-th second sub-block may still have Bi bits as discarded bits.
[0155] The first communication device can map (or pad) the K information bits in the to-be-transmitted bit sequence onto the third bit sequence one by one based on the reliability of the bits not discarded in the third bit sequence, from highest to lowest, to obtain an initial transmission bit sequence, or an initial transmission bit sequence corresponding to the third bit sequence. In this manner, the first communication device can encode the initial transmission bit sequence and send it to the second communication device to complete the initial transmission.
[0156] For ease of understanding, continue to explain the above example:
[0157] As shown in Figure 5, in the core array, in descending order of the reliability of the bits not discarded, the 28 information bits can be mapped to bit 6, bit 9, bit 10, bit 12, bit 14, bit 16, bit 17, bit 18, bit 20, bit 22, bit 24, bit 26, bit 28, bit 32, bit 33, bit 34, bit 36, bit 38, bit 40, bit 41, bit 42, bit 44, bit 46, bit 48, bit 49, bit 50, bit 52, and bit 54, respectively.
[0158] As shown in Figure 6, in the core array, in descending order of the reliability of the bits not discarded, the 14 information bits can be mapped to bit 28, bit 30, bit 42, bit 44, bit 46, bit 49, bit 50, bit 52, bit 54, bit 56, bit 57, bit 58, bit 60, and bit 62, respectively.
[0159] 2) Retransmission:
[0160] Case 1: If the initial transmission is discarded in descending order of bit index, the first communication device can discard the bits with a larger index than Bmin in the i-th first sub-block based on the fact that the bits with a larger index than Bmin in the i-th second sub-block are discarded bits, and i traverses from 1 to Y.
[0161] Case 2: If the initial transmission is discarded in descending order of the reverse value of the bit index, the first communication device can discard the bits with a maximum of Bmin before the reverse value of the index in the i-th second sub-block, i traverses from 1 to Y, based on the fact that the bits with a maximum of Bmin before the reverse value of the index in the i-th second sub-block are discarded bits.
[0162] In combination with the above-mentioned case 1 or case 2, if the coding rate of the initially transmitted bit sequence is less than or equal to the code rate threshold, the first communication device executes S405. If the coding rate of the initially transmitted bit sequence is greater than the code rate threshold, but the bits of the Z-1 second sub-blocks in the initial transmission are not all discarded, the first communication device also continues to execute S405. If the coding rate of the initially transmitted bit sequence is greater than the code rate threshold, and the bits of the Z-1 second sub-blocks in the initial transmission are all discarded, that is, in addition to the bits with a large index before Bmin being discarded, the bits with a small index before X-Bmin are also discarded in each second sub-block, then, optionally, the first communication device may also discard the bits with a small index before X-Bmin in each first sub-block of the Z-1 first sub-blocks, and then continue to execute S405. According to the above initial transmission, in combination with case 1, the Z-1 first sub-blocks are the sub-blocks with the largest index before Z-1 among the Y first sub-blocks; or, in combination with case 2, the Z-1 first sub-blocks are the sub-blocks with the largest index before Z-1 among the Y first sub-blocks.
[0163] That is, when the core array discards columns according to the column index or the reverse value of the index from large to small, the first communication device can also compare the columns of the core array with the columns of the extended array according to this order to determine which columns of bits are to be discarded completely, and ensure that the positions of the discarded bits in the extended array are as close as possible to the positions of the discarded bits in the core array, thereby ensuring stable retransmission performance.
[0164] For ease of understanding, continue to explain the above example:
[0165] As shown in FIG5 , the first communication device may discard all bits in the 7th, 5th, and 3rd rows of the extended array based on the fact that all bits in the 7th, 5th, and 3rd rows of the core array have been discarded (e.g., truncated). At this point, since all bits in the 7th column of the core array have been discarded, the first communication device also discards the remaining 5 bits in the 7th column of the extended array, resulting in all bits in the 7th column being discarded.
[0166] As shown in FIG6 , the first communication device may discard all bits in the 7th row, 5th row and 3rd row of the extended array according to the fact that all bits in the 7th row, 5th row and 3rd row of the core array are discarded (eg, truncated).
[0167] S405: The first communication device retransmits according to the partial bits and the second bit sequence.
[0168] The first communication device may map the aforementioned partial bits to a second bit sequence and encode them to obtain a coded bit sequence. For example, the first communication device may map the partial bits to the same positions in the second bit sequence based on their positions in the initially transmitted bit sequence, with the bits at these positions being the bits that are not discarded, and the remaining bits that are not mapped being set to 0.
[0169] The first communication device can determine Q coding sub-blocks in the Y coding sub-blocks based on the number of available resource bits, and send X-Bmin bits of each coding sub-block in the Q coding sub-blocks. The number of available resource bits is the number of bits that can be used for retransmission, which is less than or equal to the number of bits of the partial bits, such as F bits. Specifically, it can be pre-configured or dynamically determined by the first communication device, and there is no limitation on this. The coding bit sequence can include Y coding sub-blocks, that is, the first communication device can divide the coding bit sequence into Y coding sub-blocks according to the previous sub-block division rule, each coding sub-block contains X bits, Q is a positive integer, and Q is the value obtained by rounding down F / (X-Bmin). The X-Bmin bits of each coding sub-block are bits that are not discarded.
[0170] That is, the first communication device may choose to send the complete Q coding sub-blocks to ensure the performance of joint decoding.
[0171] In addition, the embodiment of the present application does not limit how the first communication device selects Q coding sub-blocks from Y coding sub-blocks.
[0172] Optionally, when the remainder of F / (X-Bmin) is a positive integer R, the first communications device may further select and transmit R bits from the retransmission bit sequence selected for retransmission or the transmitted bit sequence, i.e., perform repeated additional transmission, to further improve joint decoding performance. The transmitted bit sequence may be an initially transmitted bit sequence, or may be a retransmission bit sequence from a previous retransmission or several previous retransmissions.
[0173] For ease of understanding, continue to explain the above example:
[0174] As shown in Figure 7, the coded bit sequence includes 8 coding sub-blocks, each of which includes 8 bits, i.e., a matrix with 8 rows and 8 columns, with the 3rd, 5th, and 7th rows being truncated bits. Assuming that the number of partial bits is 12 and the number of available resource bits is also 12, 12 / 5 is rounded down to 2, meaning that two complete coding sub-blocks need to be sent. The first communications device can select coding sub-block #3 and coding sub-block #4, i.e., rows 3 and 4, and send the 5 untruncated bits. At this point, there are R = 2 bits remaining. If this retransmission is the first retransmission, the first communications device can select 2 additional bits from the bits already sent in the initial transmission. If this retransmission is the second retransmission, the first communications device can select 2 additional bits from the bits already sent in the first retransmission, and so on. This is not further elaborated.
[0175] Optionally, if the C discarded bits are bits with the smallest index before C, i.e., C punctured bits, then after the initial transmission and before S405, the first communication device may send the bits with the smallest index before C after encoding the initially transmitted bit sequence to the second communication device. The sequence consisting of these C bits is the bit sequence obtained by encoding the C punctured bits, also referred to as the coded sequence corresponding to the C punctured bits. In this case, if the number of partial bits is a positive integer E, the number of available resource bits is EC = F.
[0176] That is, even though the coded sequence corresponding to the C punctured bits was not sent in the initial transmission, the first communication device may give priority to sending the coded sequence in the retransmission. In this case, if there are still available resource bits, that is, F is greater than or equal to 1, the first communication device will execute S405.
[0177] It is understood that the embodiments of the present application do not limit the execution logic between the initial transmission and the retransmission. For example, the first communication device may default to performing a retransmission after completing the initial transmission. Alternatively, the second communication device may send a retransmission instruction to the first communication device if the initial transmission decoding fails, so that the first communication device performs a retransmission according to the retransmission instruction.
[0178] S406: The second communication device obtains the retransmitted information to be decoded corresponding to the initially transmitted information to be decoded.
[0179] The initially transmitted information to be decoded is the result of the bits initially transmitted by the first communication device being received by the second communication device. The retransmitted information to be decoded is the result of the bits retransmitted by the first communication device being received by the second communication device.
[0180] S407: The second communication device obtains a first bit sequence.
[0181] S408: The second communication device divides the first bit sequence into Y first sub-blocks.
[0182] S409: The second communication device discards Ai bits of the i-th first sub-block, and i traverses from 1 to Y to obtain a second bit sequence.
[0183] Among them, the implementation principles of S407-S409 are similar to those of S402-S405, which can be referred to for understanding and will not be repeated here.
[0184] S410: The second communication device decodes the initially transmitted information to be decoded and the retransmitted information to be decoded according to the second bit sequence and the third bit sequence.
[0185] The second communication device may map the bits in the initially transmitted information to be decoded to the positions of the information bits in the third bit sequence in a one-to-one correspondence, thereby obtaining a first mapped bit sequence. Similarly, the second communication device may map the bits in the retransmitted information to be decoded to the positions of the information bits in the second bit sequence in a one-to-one correspondence, thereby obtaining a second mapped bit sequence. The second communication device may jointly decode the first mapped bit sequence and the second mapped bit sequence to obtain the K information bits.
[0186] Figure 8 is a simulation diagram of the method provided by an embodiment of the present application. As shown in Figure 8 , regardless of the length of information bits K (e.g., 74, 91, 249, or 266), for the mother code length M of the same polar code, the EsN0 of the coding structure using the method of the embodiment of the present application (shown by the dotted line in Figure 8 ) is greater than the EsN0 of the coding structure using the existing QUP technology (shown by the solid line in Figure 8 ), resulting in more stable performance of the coding structure. EsN0 includes: energy per bit (E), signal power (S), and single-sided power spectral density of noise (N0).
[0187] In summary, the first communication device can discard the corresponding bits in the second bit sequence according to the position of the discarded bits when sending the initial transmission bit sequence, such as the third bit sequence corresponding to the initial transmission bit sequence includes Y second sub-blocks, and each second sub-block has corresponding bits discarded. The bit sequence used for retransmission, such as the corresponding bits in the second bit sequence, is discarded, so that in the Y first sub-blocks contained in the second bit sequence, the discarded bits in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block, that is, the structures of the bit sequences used for initial transmission and retransmission are similar, which can reduce the complexity of retransmission rate matching and ensure stable retransmission performance.
[0188] The method provided by the embodiment of the present application is described in detail above with reference to Figures 4 to 8. The communication device for executing the rate matching method provided by the embodiment of the present application is described in detail below with reference to Figures 9 and 10.
[0189] Figure 9 is a structural diagram of a communication device according to an embodiment of the present application. As shown in Figure 9 , the communication device 900 includes a transceiver module 901 and a processing module 902. For ease of illustration, Figure 9 only shows the main components of the communication device.
[0190] The transceiver module 901 is used to perform the transceiver function of the method shown in FIG. 4 , and the processing module 902 is used to perform other functions of the method shown in FIG. 4 except the transceiver function.
[0191] Optionally, the transceiver module 901 may include a sending module (not shown in FIG9 ) and a receiving module (not shown in FIG9 ). The sending module is used to implement the sending function of the communication device 900 , and the receiving module is used to implement the receiving function of the communication device 900 .
[0192] Optionally, the communication device 900 may further include a storage module (not shown in FIG. 9 ) storing a program or instruction. When the processing module 902 executes the program or instruction, the communication device 900 may perform the functions of the terminal or network device in the methods shown in FIG. 9 to FIG. 12 in the above method.
[0193] It can be understood that the communication device 900 can be a terminal or a network device, or a chip (system) or other parts or components that can be set in a terminal or a network device, or a device that includes a terminal or a network device. This application does not limit this.
[0194] In addition, the technical effects of the communication device 900 can refer to the technical effects of the rate matching method shown in Figures 4 to 9, and will not be repeated here.
[0195] Figure 10 is a second structural diagram of a communication device provided in an embodiment of the present application. Exemplarily, the communication device may be a terminal, or a chip (system) or other component or assembly that can be provided in a terminal. As shown in Figure 10, the communication device 1000 may include a processor 1001. Optionally, the communication device 1000 may further include a memory 1002 and / or a transceiver 1003. The processor 1001 is coupled to the memory 1002 and the transceiver 1003, such as by a communication bus.
[0196] The following is a detailed introduction to the various components of the communication device 1000 in conjunction with FIG10 :
[0197] The processor 1001 is the control center of the communication device 1000 and can be a single processor or a collective term for multiple processing elements. For example, the processor 1001 can be one or more central processing units (CPUs), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, such as one or more digital signal processors (DSPs) or one or more field programmable gate arrays (FPGAs).
[0198] Optionally, the processor 1001 may execute various functions of the communication device 1000 by running or executing a software program stored in the memory 1002 and calling data stored in the memory 1002 , such as executing the rate matching method shown in FIG. 4 .
[0199] In a specific implementation, as an embodiment, the processor 1001 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG10 .
[0200] In a specific implementation, as an embodiment, the communication device 1000 may also include multiple processors, such as the processor 1001 and the processor 1004 shown in FIG10 . Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0201] The memory 1002 is used to store the software program for executing the solution of the present application, and the execution is controlled by the processor 1001. The specific implementation method can refer to the above method embodiment and will not be repeated here.
[0202] Alternatively, the memory 1002 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1002 may be integrated with the processor 1001 or exist independently and be coupled to the processor 1001 via an interface circuit (not shown in FIG. 10 ) of the communication device 1000. This embodiment of the present application does not specifically limit this.
[0203] Transceiver 1003 is used for communication with other communication devices. For example, if communication device 1000 is a terminal, transceiver 1003 can be used to communicate with a network device or another terminal device. For another example, if communication device 1000 is a network device, transceiver 1003 can be used to communicate with a terminal or another network device.
[0204] Optionally, the transceiver 1003 may include a receiver and a transmitter (not shown separately in FIG10 ), wherein the receiver is used to implement a receiving function, and the transmitter is used to implement a sending function.
[0205] Optionally, the transceiver 1003 may be integrated with the processor 1001 or exist independently and be coupled to the processor 1001 through an interface circuit (not shown in FIG. 10 ) of the communication device 1000 . This embodiment of the present application does not specifically limit this.
[0206] It is understandable that the structure of the communication device 1000 shown in FIG10 does not constitute a limitation on the communication device, and an actual communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0207] In addition, the technical effects of the communication device 1000 can refer to the technical effects of the methods described in the above method embodiments, and will not be repeated here.
[0208] It should be understood that the processor in the embodiments of the present application may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0209] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0210] The above embodiments can be implemented in whole or in part by software, hardware (such as circuits), firmware or any other combination. 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 program are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. 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 computer-readable storage medium. 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 a wired (such as infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state drive.
[0211] It should be understood that the term "and / or" as used herein simply describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A alone, A and B together, or B alone. A and B can be singular or plural. Furthermore, the character " / " as used herein generally indicates an "or" relationship between the associated objects, but it may also indicate an "and / or" relationship. For specific understanding, please refer to the context.
[0212] In this application, "at least one" means one or more, and "plurality" means two or more. "At least one of the following" or similar expressions refers 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 mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or plural.
[0213] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean 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 the present application.
[0214] Those skilled in the art will appreciate that the units and algorithm steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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.
[0215] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0216] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0217] The units described as separate components may or may not be physically separate, and 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 these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0218] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0219] If the functions are implemented in the form of 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 the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0220] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A rate matching method, characterized in that: include: Obtaining some bits in the initially transmitted bit sequence; Obtain a first bit sequence, where the length of the first bit sequence is N, where N is a positive integer; Divide the first bit sequence into Y first sub-blocks, each of the Y first sub-blocks includes X bits, and X and Y are integers greater than 1; Discard Ai bits of the i-th first sub-block, i traverses from 1 to Y, and obtains a second bit sequence; wherein Ai is greater than or equal to 1, the discarded bits in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block, the third bit sequence corresponding to the initial transmission bit sequence includes Y second sub-blocks, the length of the third bit sequence is N, and each of the Y second sub-blocks includes X bits; Retransmit according to the partial bits and the second bit sequence.
2. The method according to claim 1, characterized in that The Ai bit is the bit with the largest Ai before the index among the X bits of the i-th first sub-block, or the Ai bit is the bit with the largest Ai before the inverse value of the index among the X bits of the i-th first sub-block, or the Ai bit is the bit with the largest Ai before the reliability among the X bits of the i-th first sub-block.
3. The method according to claim 1 or 2, characterized in that: The number of discarded bits of each first sub-block in the Y first sub-blocks is the same and is Bmin, where Bmin<X.
4. The method according to claim 1 or 2, characterized in that: If the i-th first sub-block is a sub-block with a smaller index than Y-(Z-1) among the Y first sub-blocks, then Ai=Bmin; if the i-th first sub-block is a sub-block with a larger index than Z-1 among the Y first sub-blocks, then Ai=X, where Z is a positive integer less than or equal to Y; or; If the i-th first sub-block is a sub-block with Y-(Z-1) smaller inverse values of its index among the Y first sub-blocks, then Ai=Bmin; if the i-th first sub-block is a sub-block with Z-1 larger inverse values of its index among the Y first sub-blocks, then Ai=X.
5. The method according to claim 4, characterized in that The encoding rate of the initially transmitted bit sequence is greater than or equal to a rate threshold.
6. The method according to any one of claims 1 to 5, characterized in that Before discarding Ai bits of the i-th first sub-block, i traverses from 1 to Y to obtain a second bit sequence, the method further includes: Obtaining a fourth bit sequence; Dividing the fourth bit sequence into the Y second sub-blocks; Determine Bi bits of the i-th second sub-block as discarded bits, i traverses from 1 to Y, Bi is greater than or equal to Ai, and the third bit sequence is obtained.
7. The method according to claim 6, characterized in that The minimum value of Bi is Bmin, where Bmin is a value obtained by rounding down (NM) / Y, or Bmin is determined based on a value obtained by rounding down (NM) / Y, where M is the number of information bits.
8. The method according to claim 7, characterized in that If C=(NM)-Bmin*Y, and C is a positive integer, then among the Z second sub-blocks of the Y second sub-blocks, the k-th second sub-block has Bmin+Dk discarded bits, and k traverses from 1 to Z, are C discarded bits.
9. The method according to any one of claims 6 to 8, characterized in that: If the encoding rate of the initially transmitted bit sequence is less than the rate threshold, the Z second sub-blocks are the sub-blocks with the smallest Z values before the Y second sub-block indexes or the reverse values of the indexes; if the encoding rate of the initially transmitted bit sequence is greater than or equal to the rate threshold, the Z second sub-blocks are the sub-blocks with the largest Z values before the Y second sub-block indexes or the reverse values of the indexes.
10. The method according to claim 9, characterized in that The discarding of Ai bits of the i-th first sub-block includes: According to the fact that the bit with the largest index before Bmin in the i-th second sub-block is the discarded bit, the bit with the largest index before Bmin in the i-th first sub-block is discarded, and i traverses from 1 to Y; if the bit with the smallest index before X-Bmin in each second sub-block of the Z-1 second sub-blocks is discarded, then the bit with the smallest index before X-Bmin in each first sub-block of the Z-1 first sub-blocks is discarded, wherein the Z-1 second sub-block is the sub-block with the largest index before Z-1 in the Y second sub-blocks, and the Z-1 first sub-block is the Y first sub-block. The sub-block with the largest index Z-1 before it in the block; Alternatively, discarding Ai bits of the i-th first sub-block includes: According to the bit with the largest Bmin before the reverse value of the index in the i-th second sub-block, which is the discarded bit, the bit with the largest Bmin before the reverse value of the index in the i-th first sub-block is discarded, and i traverses 1 to Y; if the bit with the smallest X-Bmin before the reverse value of the index in each second sub-block of Z-1 second sub-blocks is discarded, then the bit with the smallest X-Bmin before the reverse value of the index in each first sub-block of Z-1 first sub-blocks is discarded, wherein the Z-1 second sub-block is the sub-block with the largest Z-1 before the reverse value of the index among the Y second sub-blocks, and the Z-1 first sub-block is the sub-block with the largest Z-1 before the reverse value of the index among the Y first sub-blocks.
11. The method according to any one of claims 1 to 10, characterized in that The retransmitting according to the at least part of the bit sequence and the second bit sequence comprises: Mapping the part of bits to the second bit sequence and encoding them to obtain a coded bit sequence, wherein the coded bit sequence includes Y coded sub-blocks, where Y is an integer greater than 1; Determine, according to the number of available resource bits, Q coding sub-blocks among the Y coding sub-blocks, where Q is a positive integer; wherein each coding sub-block includes X bits, the number of available resource bits is less than or equal to the number of bits of the partial bits, the number of available resource bits is F bits, and Q is a value obtained by rounding up or down F / (X-Bmin); X-Bmin bits of each of the Q coded sub-blocks are sent.
12. The method according to claim 11, characterized in that When the remainder of F / (X-Bmin) is a positive integer R, the method further comprises: R bits are selected and sent from the retransmission bit sequence selected for retransmission or the sent bit sequence.
13. A rate matching method, characterized in that: include: Obtain the retransmitted information to be decoded corresponding to the initially transmitted information to be decoded; Obtain a first bit sequence, where the length of the first bit sequence is N, where N is a positive integer; Divide the first bit sequence into Y first sub-blocks, each of the Y first sub-blocks includes X bits, and X and Y are integers greater than 1; Discard Ai bits of the i-th first sub-block, i traverses from 1 to Y, and obtains a second bit sequence; wherein Ai is greater than or equal to 1, the discarded bits in the i-th first sub-block are a subset of the discarded bits in the corresponding i-th second sub-block, the third bit sequence corresponding to the initially transmitted information to be decoded includes Y second sub-blocks, the length of the third bit sequence is N, and each of the Y second sub-blocks includes X bits; The initially transmitted information to be decoded and the retransmitted information to be decoded are decoded according to the second bit sequence and the third bit sequence.
14. The method according to claim 12, characterized in that The Ai bit is the bit with the largest Ai before the index among the X bits of the i-th sub-block, or the Ai bit is the bit with the largest Ai before the inverse value of the index among the X bits of the i-th sub-block, or the Ai bit is the bit with the largest Ai before the reliability among the X bits of the i-th sub-block.
15. The method according to claim 13 or 14, characterized in that: The number of discarded bits of each first sub-block in the Y first sub-blocks is the same and is Bmin, where Bmin<X.
16. The method according to claim 13 or 14, characterized in that: If the i-th first sub-block is a sub-block with a smaller index than Y-(Z-1) among the Y first sub-blocks, then Ai=Bmin; if the i-th first sub-block is a sub-block with a larger index than Z-1 among the Y first sub-blocks, then Ai=X, where Z is a positive integer less than or equal to Y; or; If the i-th first sub-block is a sub-block with Y-(Z-1) smaller inverse values of its index among the Y first sub-blocks, then Ai=Bmin; if the i-th first sub-block is a sub-block with Z-1 larger inverse values of its index among the Y first sub-blocks, then Ai=X.
17. The method according to claim 16, characterized in that The encoding rate of the initially transmitted information to be decoded is greater than or equal to a rate threshold.
18. The method according to any one of claims 13 to 17, characterized in that: Before discarding Ai bits of the i-th first sub-block, i traverses from 1 to Y to obtain a second bit sequence, the method further includes: obtaining a fourth bit sequence; Dividing the fourth bit sequence into the Y second sub-blocks; Determine Bi bits of the i-th second sub-block as discarded bits, i traverses from 1 to Y, Bi is greater than or equal to Ai, and the third bit sequence is obtained.
19. The method according to claim 18, characterized in that The minimum value of Bi is Bmin, where Bmin is a value obtained by rounding down (NM) / Y, or Bmin is determined based on a value obtained by rounding down (NM) / Y, where M is the number of information bits.
20. The method according to claim 19, characterized in that If C=(NM)-Bmin*Y, and C is a positive integer, then among the Z second sub-blocks of the Y second sub-blocks, the k-th second sub-block has Bmin+Dk discarded bits, and k traverses from 1 to Z, are C discarded bits.
21. The method according to any one of claims 18 to 20, characterized in that If the encoding rate of the initially transmitted information to be decoded is less than the rate threshold, the Z second sub-blocks are the sub-blocks with the smallest Z values before the Y second sub-block indexes or the reverse values of the indexes; if the encoding rate of the initially transmitted information to be decoded is greater than or equal to the rate threshold, the Z second sub-blocks are the sub-blocks with the largest Z values before the Y second sub-block indexes or the reverse values of the indexes.
22. The method according to claim 21, characterized in that The discarding of Ai bits of the i-th first sub-block includes: According to the bit with the largest index before Bmin in the i-th second sub-block being the discarded bit, discard the bit with the largest index before Bmin in the i-th first sub-block, and i traverses from 1 to Y; if the bit with the smallest index before X-Bmin in each second sub-block of the Z-1 second sub-blocks is discarded, then discard the bit with the smallest index before X-Bmin in each first sub-block of the Z-1 first sub-blocks, wherein the Z-1 second sub-blocks are the sub-blocks with the largest index before Z-1 in the Y second sub-blocks, and the Z-1 first sub-blocks are the sub-blocks with the largest index before Z-1 in the Y first sub-blocks; Alternatively, discarding Ai bits of the i-th first sub-block includes: According to the bit with the largest Bmin before the reverse value of the index in the i-th second sub-block, which is the discarded bit, the bit with the largest Bmin before the reverse value of the index in the i-th first sub-block is discarded, and i traverses 1 to Y; if the bit with the smallest X-Bmin before the reverse value of the index in each second sub-block of Z-1 second sub-blocks is discarded, then the bit with the smallest X-Bmin before the reverse value of the index in each first sub-block of Z-1 first sub-blocks is discarded, wherein the Z-1 second sub-block is the sub-block with the largest Z-1 before the reverse value of the index among the Y second sub-blocks, and the Z-1 first sub-block is the sub-block with the largest Z-1 before the reverse value of the index among the Y first sub-blocks.
23. A communication device, characterized in that: The apparatus comprises: a module for executing the method as claimed in any one of claims 1-22.
24. A communication device, characterized in that: The communication device comprises: a processor and a memory; the memory is used to store computer instructions, and when the processor executes the instructions, the communication device executes the method according to any one of claims 1 to 22.
25. A communication system, characterized in that: The communication system comprises a first communication device and a second communication device, wherein the first communication device is used to execute the method according to any one of claims 1 to 12, and the second communication device is used to execute the method according to any one of claims 13 to 22.
26. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises a computer program or instructions, and when the computer program or instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 22.
27. A computer program product, characterized in that The method comprises a computer program or an instruction, which, when executed on a computer, causes the computer to execute the method according to any one of claims 1 to 22.
Citation Information
Patent Citations
Method and apparatus for additional bit freeze for polarization coding in mobile communications
CN114079538A
Bit selection for hybrid automatic repeat requests
US20210211222A1
Method and apparatus for transmitting data on basis of polar coding in wireless communication system
US20220029638A1
Polar code rate matching method and apparatus
US20230113448A1