Convolutional code rate matching method and wireless communication device

By generating the puncture pattern of the second codeword as a subset of the first codeword and adding redundant bits during retransmission, the channel coding rate compatibility problem in the wireless local area network standard is solved, and the decoding performance and success rate are improved.

CN113078913BActive Publication Date: 2025-09-05HUAWEI TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202010006457.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-01-03
Publication Date
2025-09-05
Estimated Expiration
2040-01-03

AI Technical Summary

Technical Problem

In existing wireless local area network standards, the puncturing patterns of convolutional codes with different code rates are different, which cannot meet the channel coding rate compatibility requirements under the incremental redundancy-hybrid automatic repeat request mechanism, resulting in insufficient decoding performance.

Method used

By generating a puncture pattern for the second codeword so that it is a subset of the puncture pattern for the first codeword and adding redundant bits during retransmission, the channel coding rate is reduced and the decoding success rate at the receiving end is improved.

Benefits of technology

The decoding success rate at the receiving end is improved, the number of retransmissions and retransmission delay are reduced, and the decoding performance is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113078913B_ABST
    Figure CN113078913B_ABST
Patent Text Reader

Abstract

The present application provides a method and communication device for rate matching of a convolutional code, wherein a puncture pattern of a second codeword at a second code rate is obtained based on a puncture pattern of a first codeword at a first code rate, wherein a second puncture position set of the second codeword is a subset of the first puncture position set of the first codeword. When a transmitting end device reduces the code rate from the first code rate to the second code rate, redundant bits are transmitted at positions in the second puncture position set that are the complement of the first puncture position set. Compared to the first puncture position set, the second puncture position set can obtain more incremental redundant bits, thereby reducing the channel coding rate and improving the decoding performance of the convolutional code.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of channel coding, and more specifically, to a method for rate matching of a convolutional code and a wireless communication device. Background Art

[0002] Since its introduction, binary convolutional codes (BCC) have been widely used as a mandatory channel coding method. The convolutional code used in wireless local area network (WLAN) standards is a rate-1 / 2 BCC. Higher rates can be achieved by puncturing the rate-1 / 2 BCC. The puncturing patterns for different rates are distinct and independent.

[0003] The next-generation WLAN standard 802.11be proposes to introduce the incremental redundancy-hybrid automatic repeat request (IR-HARQ) mechanism based on the existing 802.11ax. In the IR-HARQ mechanism, the data transmitter sends information bits and some redundant bits during the initial transmission. If the initial transmission fails, the data is retransmitted. During retransmission, the transmitter sends more redundant bits, reducing the channel coding rate and achieving better decoding results.

[0004] However, in existing WLAN standards, puncturing patterns for different code rates are different, which cannot meet the rate compatibility requirement of the IR-HARQ mechanism, in which retransmission reduces the channel coding rate by adding redundant bits. Summary of the Invention

[0005] The present application provides a method for rate matching of convolutional codes and a wireless communication device, which can meet the demand for increasing incremental redundant bits through retransmission in the IR-AHRQ mechanism, thereby reducing the channel coding rate and improving the success rate of decoding at the receiving end, thereby improving the decoding performance.

[0006] In a first aspect, the present application provides a method for rate matching of a convolutional code, the method comprising: generating a second codeword, the puncturing pattern of the second codeword being generated based on the puncturing pattern of the first codeword, wherein the puncturing pattern of the first codeword includes a first puncturing position set, the puncturing pattern of the second codeword includes a second puncturing position set, and the second puncturing position set is a subset of the first puncturing position set; and sending the second codeword.

[0007] In the technical solution of this application, the puncture position set for a higher-rate codeword includes all elements in the puncture position set for a lower-rate codeword. Furthermore, the excess puncture positions in the puncture position set for the higher-rate codeword are used to transmit redundant bits. This approach achieves diversity gain. When applied to the IR-AHRQ mechanism, it can meet the need for increasing incremental redundant bits through retransmission, thereby reducing the channel coding rate and increasing the decoding success rate at the receiving end, thereby improving decoding performance.

[0008] In addition, since the decoding success rate of the receiving device is improved, the number of retransmissions is reduced and the retransmission delay is reduced.

[0009] In conjunction with the first aspect, in certain implementations of the first aspect, the method further includes: outputting a third codeword at a third code rate, where the third codeword is obtained by performing a repetition operation on a mother codeword according to a repetition pattern, where the mother codeword is obtained by performing convolution encoding on an information bit sequence, the third code rate being a code rate in Table E, and the repetition position of the repetition operation being a first repetition position corresponding to the third code rate in Table E and all repetition positions in Table E that precede the first repetition position. For Table E, see the description of the method embodiment.

[0010] In a second aspect, the present application provides a method for decoding a convolutional code, the method comprising: receiving a second channel received sequence from a transmitting device; decoding a merged LLR sequence according to a second puncturing pattern, wherein the merged LLR sequence is obtained by merging a first LLR sequence and a second LLR sequence, wherein the first LLR is obtained by processing the first channel received sequence, and the second LLR is obtained by processing the second channel received sequence, the first LLR sequence corresponds to a first codeword of the transmitting device, the second LLR sequence corresponds to a second codeword of the transmitting device, the second puncturing pattern of the second codeword includes a second puncturing position set, the first puncturing pattern of the first codeword includes a first puncturing position set, and the second puncturing position set is a subset of the first puncturing position set.

[0011] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: before sending the second codeword, performing convolution encoding on the information bit sequence to obtain the mother code codeword with a code rate of 1 / 2; performing rate matching on the mother code codeword according to a puncture pattern corresponding to the first puncture position set to obtain the first codeword; and sending the first codeword.

[0012] The mother code word in this application refers to the mother code word in the specification Figure 1 The encoder structure shown performs convolution coding to obtain a codeword (or codeword sequence) with a code rate of 1 / 2. That is, the mother codeword is a codeword that has not undergone puncturing or repetition operations.

[0013] In certain implementations of the first or second aspects, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate or the second code rate is a code rate in Table A, the first puncture position set includes a first puncture position corresponding to the first code rate in Table A and all puncture positions preceding the first puncture position in Table A, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table A and all puncture positions preceding the second puncture position in Table A. For Table A, refer to the description of the method embodiment.

[0014] In certain implementations of the first or second aspects, the first code rate is 5 / 6, the first puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second code rate is 3 / 4, and the second puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}; or

[0015] The first coding rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second coding rate is 2 / 3, the second position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}; or

[0016] The first coding rate is 3 / 4, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}, the second coding rate is 2 / 3, and the second puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}.

[0017] In certain implementations of the first or second aspects, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table B, the first puncture position set includes a first puncture position corresponding to the first code rate in Table B and all puncture positions preceding the first puncture position in Table B, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table B and all puncture positions preceding the second puncture position in Table B. For Table B, see the description of the method embodiment.

[0018] In certain implementations of the first or second aspects, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table C, the first puncture position set includes a first puncture position corresponding to the first code rate in Table C and all puncture positions preceding the first puncture position in Table C, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table C and all puncture positions preceding the second puncture position in Table C. For Table C, refer to the description of the method embodiment.

[0019] With reference to the first aspect, in certain implementations of the first aspect, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table D, the first puncture position set includes a first puncture position corresponding to the first code rate in Table D and all puncture positions in Table D that precede the first puncture position, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table D and all puncture positions in Table D that precede the second puncture position. For Table D, see the description of the method embodiment.

[0020] It should be noted that the above Table A, Table B, Table C, Table D and Table E correspond to Table 1, Table 3, Table 5, Table 7 and Table 9 in the specification respectively.

[0021] In a third aspect, the present application provides a communication device having the functionality to implement the method of the first aspect or any possible implementation thereof. The functionality may be implemented by hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more units corresponding to the aforementioned functionality.

[0022] In one implementation, the communication device may include a memory and a processor, wherein the memory is used to store a computer program or instructions, and the processor reads and executes the computer program or instructions from the memory, so that the method of the first aspect or any possible implementation thereof is implemented.

[0023] Optionally, the memory and processor may be physically independent units, or may be integrated together.

[0024] In another implementation, the communication device includes an input interface circuit, a logic circuit, and an output interface circuit. The input interface circuit is configured to obtain an information bit sequence to be encoded; the logic circuit is configured to execute the method of the first aspect or any possible implementation thereof to generate a codeword of a corresponding code rate; and the output interface circuit is configured to output the codeword.

[0025] Optionally, the input interface circuit and the output interface circuit can be integrated together and referred to as an interface circuit.

[0026] In a fourth aspect, the present application provides a communication device having the functionality to implement the method of the second aspect or any possible implementation thereof. The functionality may be implemented by hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more units corresponding to the aforementioned functionality.

[0027] In one implementation, the communication device may include a memory and a processor, wherein the memory is used to store a computer program or instructions, and the processor reads and executes the computer program or instructions from the memory, so that the method of the second aspect or any possible implementation thereof is implemented.

[0028] Optionally, the memory and processor may be physically independent units, or may be integrated together.

[0029] In another implementation, the communication device includes an input interface circuit, a logic circuit, and an output interface circuit. The input interface circuit is configured to receive a channel receive sequence; the logic circuit is configured to execute the method of the second aspect or any possible implementation thereof and decode the combined LLR sequence; and the output interface circuit is configured to output the decoding result.

[0030] Optionally, the input interface circuit and the output interface circuit can be integrated together and referred to as an interface circuit.

[0031] In a fifth aspect, the present application provides a communication device comprising an interface circuit and a processor, wherein the interface circuit is used to receive computer code or instructions and transmit them to the processor, and the processor runs the computer code or instructions, and the method in the first aspect or any implementation thereof is implemented.

[0032] In a sixth aspect, the present application provides a communication device comprising an interface circuit and a processor, wherein the interface circuit is used to receive computer code or instructions and transmit them to the processor, and the processor runs the computer code or instructions, and the method in the second aspect or any implementation thereof is implemented.

[0033] In a seventh aspect, the present application provides a communication device comprising at least one processor, wherein the at least one processor is coupled to at least one memory, wherein the at least one memory is used to store a computer program or instruction, and the at least one processor is used to call and run the computer program or instruction from the at least one memory, so that the communication device executes the method in the first aspect or any possible implementation thereof.

[0034] In an eighth aspect, the present application provides a communication device comprising at least one processor, wherein the at least one processor is coupled to at least one memory, wherein the at least one memory is used to store a computer program or instruction, and the at least one processor is used to call and run the computer program or instruction from the at least one memory, so that the communication device executes the method in the second aspect or any possible implementation thereof.

[0035] In a ninth aspect, the present application provides a computer-readable storage medium having computer instructions stored therein. When the computer instructions are executed on a computer, the method in the first aspect or any possible implementation thereof is implemented.

[0036] In a tenth aspect, the present application provides a computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed on a computer, the method in the first aspect or any possible implementation thereof is implemented.

[0037] In an eleventh aspect, the present application provides a computer program product, comprising a computer program code. When the computer program code is run on a computer, the method in the first aspect or any possible implementation thereof is implemented.

[0038] In a twelfth aspect, the present application provides a computer program product, comprising a computer program code. When the computer program code runs on a computer, the method in the first aspect or any possible implementation thereof is implemented.

[0039] In a thirteenth aspect, the present application provides a wireless communication system, comprising the communication device of the seventh aspect and the communication device of the eighth aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 Schematic diagram of the structure of the BCC encoder.

[0041] Figure 2 The puncture patterns of BCC codes when the code rates are 2 / 3 and 3 / 4.

[0042] Figure 3 This is the puncturing pattern of the BCC code when the code rate is 5 / 6.

[0043] Figure 4 (a) and (b) are system architecture diagrams applicable to the embodiments of the present application.

[0044] Figure 5 This is a flow chart of the rate matching method for convolutional codes provided in this application.

[0045] Figure 6 This is an example of a flowchart for encoding and decoding a convolutional code provided in this application.

[0046] Figure 7 The minimum free distance at each code rate in each embodiment is shown.

[0047] Figure 8 The error control performance of the rate-compatible solution of the BCC code provided in this application at various code rates is shown.

[0048] Figure 9 This is a schematic block diagram of a communication device 800 provided in this application.

[0049] Figure 10 This is a schematic block diagram of a communication device 900 provided in this application. DETAILED DESCRIPTION

[0050] The technical solution in this application will be described below with reference to the accompanying drawings.

[0051] To facilitate understanding of the technical solutions of this application, the following briefly introduces relevant technologies and concepts.

[0052] Since the introduction of the 802.11 standard, binary convolutional code (BCC) has been widely used as a channel coding scheme for encoding and decoding the SIG field in the frame header and the data portion. As of the 802.11ax standard, convolutional codes remain the sole encoding method for the SIG field in the physical frame header due to their forward compatibility and low complexity. Regarding channel coding for the data portion, 802.11ax stipulates the following:

[0053] (1) When BCC is used as the coding scheme for the data part, the number of encoders working simultaneously is 1;

[0054] (2) The application of BCC is limited to modulation and coding scheme (MCS) 0-9 and multiple input multiple output (MIMO) data streams less than or equal to 4 spatial streams.

[0055] 802.11be, the next-generation wireless local area network (WLAN) standard for 802.11ax, introduces hybrid automatic repeat request (HARQ) to further improve system throughput. HARQ primarily involves storage, retransmission requests, and combined demodulation. If decoding fails, the receiver saves the received data and requests retransmission from the transmitter. The receiver combines the retransmitted data with the previously received and stored data before decoding. This improves the probability of successful decoding by utilizing hierarchical gain.

[0056] HARQ can generally include two types: chase combining (CC) and incremental redundancy (IR), which can be called CC HARQ and IR HARQ respectively.

[0057] In a simple HARQ mechanism, the receiver simply discards incorrectly decoded data. However, while incorrectly decoded data cannot be correctly decoded independently, it still contains some information. Therefore, CC HARQ utilizes this information by storing the correctly decoded data in memory and combining it with the retransmitted data from the transmitter for decoding. IR HARQ sends information bits and some redundant bits during the initial data transmission. If the receiver incorrectly decodes the data and requests a retransmission from the transmitter, the transmitter adds additional redundant bits to the retransmission. If the initial transmission fails to decode correctly, the channel coding rate is reduced by retransmitting more redundant bits to increase the probability of successful decoding. If the receiver still cannot decode the data correctly even after adding the retransmitted redundant bits, it requests the transmitter to retransmit again. As retransmissions accumulate, redundant bits accumulate, reducing the channel coding rate, thereby achieving better decoding results.

[0058] The BCC encoding process is called a convolutional code because the data is slidingly correlated with a binary polynomial. BCC is a memory-based channel code. Its encoding rule is to encode k information bits into an n-bit codeword, where k and n are positive integers. The encoded n codewords are correlated not only with the current k information bits of the input, but also with the previous L-1 information bits, where L is the constraint length of the convolutional code.

[0059] The convolutional code used by WLAN is BCC with a code rate of 1 / 2, where k = 1 and n = 2. The BCC encoder has 6 shift registers, such as Figure 1 T in b , the constraint length is 7. That is, the 2 bits obtained by encoding are not only related to the current input information bits, but also to the 6 information bits input before these 2 bits. The structure of the encoder can be as follows Figure 1 shown.

[0060] See also Figure 1 , Figure 1 The schematic diagram of the BCC encoder structure. Input an information bit K i , generate two codewords A i and codeword B i , the output codeword bit sequence is (A1B1A2B2…A i B i ..).

[0061] In order to obtain codewords with higher code rates, the WLAN standard defines that the original BCC code can be punctured to obtain codewords with higher code rates. It should be understood that puncturing is an operation for rate matching, which means removing some bits of the original BCC code so that the codeword after puncturing can match the carrying capacity of the physical channel. In addition to the puncturing operation, the repetition operation is another way of rate matching, which will be discussed below. Puncturing is usually performed according to a puncturing pattern. It is defined in the WLAN standard that the puncturing pattern can be represented by a 2×P matrix V. Among them, the first row of the matrix V represents the codeword A in one puncturing period. i The second row represents the code word bit B in one puncturing period. i The puncturing pattern is 2P. Where P is the grid period of the puncturing pattern. The period of the codeword bit is 2P. The bit "1" in the matrix V indicates that the codeword bit at that position is transmitted, and the bit "0" indicates that the codeword bit at that position is punctured, that is, not transmitted. Figure 2 and Figure 3 The process of punching holes is described.

[0062] See also Figure 2 , Figure 2 The puncture pattern of BCC code when the code rate is 2 / 3 and 3 / 4. Figure 2 As shown, assuming that the code rate of the original BCC code is 1 / 2, the input information bits are convolutionally encoded to obtain a BCC code with a code rate of 1 / 2, which can be expressed as (A1B1A2B2 A3B3A4B4 A5B5A6B6…).

[0063] For example, if the punch pattern is The code word bit sequence after puncturing is (A1B1A2A3B3A4A5A6B5A6…). It can be seen that the code rate of the code word after puncturing is 2 / 3.

[0064] For example, if the punch pattern is The code word bit sequence after puncturing is (A1B1A2B3A4B4A5B6…), and the code rate of the code word after puncturing is 3 / 4.

[0065] See also Figure 3 , Figure 3 This is the puncturing pattern of the BCC code when the code rate is 5 / 6. Figure 3 As shown, part of the information bit sequence is (X0X1X2X3 X4X5). Figure 3 The puncturing pattern shown in is used to puncture the information bit sequence, and the encoded codeword bit sequence is (A0B0A1B2A3B4…). Therefore, it can be seen that the puncturing pattern can be expressed as The encoded bit rate is 5 / 6.

[0066] In addition, according to Figure 2 and Figure 3 As can be seen from the puncturing pattern shown in , when the code rate is 2 / 3, the grid period P = 2, and the period of the code word bits is 2P = 4. When the code rate is 3 / 4, the grid period P = 3, and the period of the code word bits is 2P = 6. When the code rate is 5 / 6, the grid period P = 5, and the period of the code word bits is 2P = 10.

[0067] The technical solution of this application is described in detail below.

[0068] See also Figure 4 , Figure 4 (a) and (b) are system architecture diagrams applicable to embodiments of the present application. The wireless communication system includes at least one network device and one or more terminal devices. The at least one network device and one or more terminal devices communicate using wireless communication technology. For example, Figure 4 (a) shows communication between a network device and a single terminal device. Figure 4 (b) shows a network device communicating with multiple terminal devices. Optionally, the communication between the above network device and the terminal device may include downlink transmission of signals sent by the network device to the terminal device, and uplink transmission of signals sent by the terminal device to the network device, which is not limited in this article.

[0069] The terminal devices involved in the embodiments of the present application are also called user equipment (UE), terminal, mobile phone, tablet computer, laptop computer, wearable device (for example, smart watch, smart bracelet, smart helmet, smart glasses, etc.), and other devices with wireless access capabilities, such as smart cars, various Internet of Things (IoT) devices, including various smart home devices (for example, smart meters and smart appliances) and smart city devices (for example, security or monitoring equipment, smart road traffic facilities), terminal devices in 5G systems or later communication systems, etc.

[0070] The network device involved in the embodiments of the present application may be a base station, which is sometimes also referred to as a wireless access point (AP), a transmission reception point (TRP) or a transmission node (TP). Optionally, the base station may be a generalized node B (gNB) in a fifth generation (5G) system or an evolved node B (eNB) in a long term evolution (LTE) system. In addition, depending on the physical form or transmission power of the base station, the base station can be divided into a macro base station or a micro base station. A micro base station is sometimes also referred to as a small base station or a small cell. In addition, the network device may also be a network node constituting a gNB or TRP, such as a building baseband unit (BBU), a centralized unit (CU) or a distributed unit (DU).

[0071] For example, embodiments of the present application can be applied to scenarios involving communication between an AP and STAs in a WLAN. Alternatively, the AP can communicate with a single STA, or simultaneously with multiple STAs. Specifically, communication between the AP and multiple STAs can be divided into downlink transmission, where the AP sends signals to multiple STAs simultaneously, and uplink transmission, where multiple STAs send signals to the AP.

[0072] The technical solution provided in this application is compatible with multiple speeds.

[0073] For BCC-based IR HARQ, the first transmission generally uses a higher code rate to transmit the BCC code based on the channel conditions and the system's link adaptation algorithm, wherein the higher code rate can be obtained by puncturing the BCC code based on a 1 / 2 code rate. The data of the punctured codeword bits can be obtained based on the codeword transmitted for the first time. If an error occurs in the first transmission, the transmitter needs to retransmit the codeword bits at the punctured position of the first transmission, or it can also include some of the codeword bits that have been sent. Thereby, the receiver combines and decodes the retransmitted codeword bits with the codeword bits of the first transmission. It can be seen that the retransmission of IR HARQ can obtain a lower coding rate. The number of retransmissions of IR HARQ can be set, for example, 1, 2 or 3 times.

[0074] To adapt to the IR HARQ transmission mechanism, a rate-compatible puncturing or repetition pattern for BCC must generate new BCC incremental redundancy bits. This requires that the puncturing or repetition patterns for each code rate be compatible with each other. Puncturing pattern compatibility means that a puncturing pattern for a lower code rate can be obtained by padding the puncturing positions of a puncturing pattern for a higher code rate with codeword bits. In this way, the retransmitted codeword bits for IR HARQ belong to the puncturing position set of the initially transmitted codeword.

[0075] In the embodiment of the present application, it is considered that the important factor that determines the error control performance of BCC is mainly the free Hamming distance (hereinafter referred to as d free ), which is the minimum Hamming distance between any two valid codewords. The free Hamming distance of a convolutional code is equal to the difference between the path metric of the all-zero path and the minimum non-zero path from the all-zero state back to the all-zero state. free The smaller the value, the worse the error control performance of BCC. free Two BCCs, d free The smaller the number of corresponding code words, the better the error control performance. free The corresponding minimum number of codewords is recorded as N min .

[0076] To this end, the embodiment of the present application maximizes d free , and minimize d free The corresponding number of codewords is used as a design principle to obtain a puncturing scheme and a repetition scheme. In addition, the puncturing scheme and the repetition scheme are compatible with various code rates and are applicable to IR HARQ.

[0077] See also Figure 5 , Figure 5 This is a flow chart of the rate matching method for convolutional codes provided in this application.

[0078] Optionally, Figure 5The method shown can be executed by the transmitting device, or by a chip or circuit system set in the transmitting device. The circuit system can be, for example, an integrated circuit or a logic circuit. The chip can be, for example, a system on a chip (SoC) chip or a baseband modem chip, which is not limited in this article. The following description will be made using the transmitting device as an example. The transmitting device can be a terminal device or a network device. It should be understood that the transmitting device in the embodiment of the present application is also an encoding device. The following description will be made using the transmitting device as an example. Figure 5 The process is described as an example.

[0079] 510. The transmitting device generates a second codeword.

[0080] The puncture pattern of the second codeword is generated based on the puncture pattern of the first codeword. The puncture pattern of the first codeword includes a first set of puncture positions, and the puncture pattern of the second codeword includes a second set of puncture positions. The second set of puncture positions is a subset of the first set of puncture positions.

[0081] It should be understood that the transmitting device performs convolution encoding on the information bit sequence to obtain a mother codeword with a code rate of 1 / 2. Therefore, the original code rate of the BCC code is 1 / 2. To obtain a codeword with a higher code rate, it is necessary to puncture the mother codeword with a code rate of 1 / 2.

[0082] In this embodiment of the present application, a mother codeword with a code rate of 1 / 2 is used as a base codeword. By puncturing this base codeword, a codeword with a higher code rate is obtained. Furthermore, this higher codeword is punctured to obtain a codeword with an even higher code rate. Similarly, the puncture position set of a codeword with a lower code rate is a subset of the puncture position set of a codeword with a higher code rate.

[0083] For the convenience of description, it is assumed that the codeword with a higher code rate is called the first codeword, and its puncture position set is the first puncture position set; the codeword with a lower code rate is called the second codeword, and its puncture position set is the second puncture position set, then the second puncture position set is a subset of the first puncture position set.

[0084] In other words, the puncture pattern of a codeword with a lower code rate is obtained by filling some puncture positions in the puncture pattern of a codeword with a higher code rate.

[0085] Since the puncture position sets of codewords with different code rates are in a relationship of inclusion and being included, for example, the second puncture position set is a subset of the first puncture position set, that is, the second puncture position set includes the first puncture position set, or in other words, the first puncture position set is included in the second puncture position set, and the first puncture position set is the complement of the second puncture position set, serving as the position to fill the redundant bits.

[0086] 520. The transmitting device sends a second codeword.

[0087] In the technical solution of this application, the puncture position set for a higher-rate codeword includes all elements in the puncture position set for a lower-rate codeword. Furthermore, the excess puncture positions in the puncture position set for the higher-rate codeword are used to transmit redundant bits. This approach achieves diversity gain and improves decoding performance at the receiving end.

[0088] In one technical solution of this application, based on the mother code with an original code rate of 1 / 2 in the WLAN, other higher-rate codeword puncturing patterns are provided. These puncturing patterns with different code rates satisfy the following requirement: the set of puncturing positions for a puncturing pattern corresponding to a lower code rate is a subset of the set of puncturing positions for a puncturing pattern corresponding to a higher code rate. These higher-rate codeword puncturing patterns differ from the puncturing patterns specified for these code rates in existing WLANs.

[0089] This solution is referred to as Solution 1 below.

[0090] In another solution, based on a mother codeword with an original code rate of 1 / 2 in the WLAN, puncturing patterns of other code rates (e.g., 2 / 3, 3 / 4, 5 / 6) are reused in the WLAN. This mother codeword is punctured to obtain a codeword of the corresponding code rate as a base codeword. The puncturing pattern corresponding to this base codeword is then gradually filled with puncture positions to obtain puncturing patterns of gradually lower code rates. This solution is referred to as Solution 2 below.

[0091] It can be understood that both Scheme 1 and Scheme 2 are designed based on a mother codeword with a code rate of 1 / 2.

[0092] The following describes Scheme 1 and Scheme 2 respectively.

[0093] Solution 1

[0094] Based on the mother codeword with a code rate of 1 / 2, the design obtains the puncturing patterns of multiple codewords at higher code rates, thereby being compatible with multiple code rates.

[0095] Specifically, the mother code word with a code rate of 1 / 2 is used as the basic code word. In one puncturing cycle, the puncturing positions of the basic code word are searched one by one, so that after the code word bits at these puncturing positions are punctured, it can be guaranteed that "d free Maximum, and d free The number of corresponding code words is the smallest", and a puncturing pattern of a code word with a higher code rate is obtained. Further, based on the puncturing pattern of the code word with a higher code rate, the puncturing positions that need to be punctured are searched so that after the code word bits of the newly added puncturing positions are punctured, it can be guaranteed that "d free Maximum, and d free The number of corresponding code words is the smallest", and a puncture pattern of a code word with a higher code rate is obtained. Similarly, the puncture patterns of code words at different code rates can be expanded.

[0096] Since the puncture patterns of code words with different code rates are obtained by adding puncture positions on the basis of the puncture pattern of a code word with a lower code rate, and different puncture patterns can ensure that "d free Maximum, and d free The corresponding number of code words is minimized, thus achieving better error control performance.

[0097] In other words, the puncture pattern of a high-rate codeword is compatible with the puncture pattern of a low-rate codeword. A puncture pattern of a low-rate codeword is obtained by filling in some puncture positions of the puncture pattern of a high-rate codeword. In other words, the puncture position set of a puncture pattern of a low-rate codeword is a subset of the puncture position set of a puncture pattern of a high-rate codeword.

[0098] The following uses the convolutional code grid period P=30 and the code word bit period 2P=60 as an example to illustrate the solution 1.

[0099] It can be understood that if the code word bit period is 60, the code word bit position index ranges from 0 to 59. According to the above expansion principle, the puncturing scheme shown in Table 1 can be obtained.

[0100] Table 1

[0101] Bitrate Index of the punch position 0.500 0.508 59 0.517 31 0.526 11 0.536 39 0.545 51 0.556 19 0.566 3 0.577 43 0.588 23 0.600 15 0.612 47 0.625 55 0.638 27 0.652 7 0.667 35 0.682 0 0.698 36 0.714 8 0.732 32 0.750 53 0.769 21 0.789 4 0.811 45 0.833 16 0.857 28 0.882 24 0.909 48 0.938 56 0.968 38 1.000 46

[0102] In Table 1, the first column is the bit rate, which increases from top to bottom. The second column is the index of the puncturing position.

[0103] As can be seen in Table 1, puncture schemes for multiple code rates are provided. The puncture position set for a codeword with a lower code rate can be directly obtained by removing some puncture positions from the puncture position set for a codeword with a higher code rate. In other words, the puncture position set for a codeword with a lower code rate is a subset of the puncture position set for a codeword with a higher code rate. Alternatively, the puncture position set for a codeword with a higher code rate can be obtained by filling in the puncture positions in the puncture position set for a codeword with a lower code rate.

[0104] It should be understood that within a puncturing period, the puncturing positions of the codeword bit sequence are determined, that is, the puncturing pattern of the corresponding code rate is obtained. Therefore, the puncturing pattern can be represented by a set of puncturing positions.

[0105] In Table 1, a puncture pattern corresponding to a code rate is a puncture position corresponding to the code rate in Table 1 and a puncture position set consisting of all puncture positions in Table 1 that precede the puncture position.

[0106] For example, the code rate is 0.5, and there is no corresponding index in the second column of Table 1. This means that no puncturing is required for the codeword bit sequence, and the code rate is 1 / 2. As mentioned above, in WLAN, the original code rate of the codeword bit sequence is 1 / 2. If an information bit sequence of length k is input, the encoder outputs a codeword bit sequence of length 2k.

[0107] For another example, the code rate is 2 / 3 (corresponding to 0.667 in Table 1). 2 / 3 corresponds to index 35 in the second column of Table 1. Index 35 is the first puncture position. Index 35 and all indices preceding index 35 in the second column of Table 1 constitute the set of puncture positions for the codeword with a code rate of 2 / 3. Therefore, the set of puncture positions corresponding to a code rate of 2 / 3 is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}.

[0108] For another example, the code rate is 3 / 4 (corresponding to 0.75 in Table 1). 3 / 4 corresponds to index 53 in the second column of Table 1. Then index 53 is the first puncture position. Index 53 and all indices before index 53 in the second column of Table 1 constitute the puncture position set for the codeword with a code rate of 3 / 4. Therefore, the corresponding puncture position set for the codeword with a code rate of 3 / 4 is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}.

[0109] For another example, the code rate is 5 / 6 (corresponding to 0.833 in Table 1). The index corresponding to 5 / 6 in the second column of Table 1 is 16. Then, index 16 and all indices before index 16 in the second column of Table 1 constitute the set of puncture positions for the codeword with a code rate of 5 / 6. Therefore, the set of puncture positions corresponding to the codeword with a code rate of 5 / 6 is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}.

[0110] For another example, if the code rate is 0.938, the index corresponding to 0.938 in the second column of Table 1 is 56. Then, index 56 and all the indices before index 56 in the second column of Table 1 constitute the set of puncture positions for the codeword with a code rate of 0.938. Therefore, the set of puncture positions corresponding to the code rate of 0.938 is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16, 28, 24, 48, 56}.

[0111] As can be seen, the higher the bitrate, the more puncture positions are included in the puncture position set. Furthermore, the puncture position set corresponding to a high bitrate is derived by expanding the puncture position set for a low bitrate. In other words, the puncture position set for a low bitrate is derived by padding the puncture positions in the puncture position set for a high bitrate.

[0112] The following examples illustrate this.

[0113] For example, if the transmitting device needs to reduce the code rate from 5 / 6 to 3 / 4, the first code rate is 5 / 6 and the second code rate is 3 / 4. The first puncture position corresponding to the code rate 5 / 6 in Table 1 is 16, and the first puncture position and all puncture positions before the first puncture position in Table 1 are the first puncture position set {59,31,11,39,51,19,3,43,23,15,47,55,27,7,35,0,36,8,32,53,21,4,45,16}. The second puncture position corresponding to the code rate 3 / 4 in Table 1 is 53, and the second puncture position and all the puncture positions before the second puncture position in Table 1 are composed of the second puncture position set {59,31,11,39,51,19,3,43,23,15,47,55,27,7,35,0,36,8,32,53}.

[0114] The second set of puncture positions can be obtained by removing the last four puncture positions in the first set of puncture positions. In other words, the set of puncture positions for codewords with a code rate of 3 / 4 can be padded with four puncture positions {21, 4, 45, 16} to obtain the set of puncture positions for codewords with a code rate of 5 / 6.

[0115] For example, the set of puncture positions for a codeword with a code rate of 2 / 3 is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}. Removing the last five puncture positions from the set of puncture positions for a codeword with a code rate of 3 / 4 gives the set of puncture positions for a codeword with a code rate of 3 / 4.

[0116] It should be noted that Table 1 is given for P = 30 and 2P = 60. Therefore, if the number of puncturing positions of the codeword obtained after encoding is 30, the code rate after puncturing is 1. Therefore, in Table 1, the maximum number of puncturing positions is 30.

[0117] For example, for an original BCC code with an original code rate of 1 / 2 (i.e., mother codeword), if the target code rate is 2 / 3, the codeword bits corresponding to the first 15 indices in the second column of Table 1 need to be discarded, namely, {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}. If the target code rate is 3 / 4, the codeword bits corresponding to the first 20 indices in the second column of Table 1 need to be discarded, namely, {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}.

[0118] It can be seen that for the puncturing pattern of the BCC code defined in the WLAN standard, if the grid period is P, the codeword bit period is 2P, and the target code rate R = P / 2P-X, where X represents the number of punctured codeword bits.

[0119] The puncturing patterns corresponding to the code rates in Table 1 above are to search for the priority puncturing positions one by one within a puncturing cycle, so that after the code bits at these puncturing positions are punctured, the “d free Maximum, and d free The corresponding number of code words N min Minimum", so the d corresponding to the puncturing pattern of each code rate in Table 1 free and N min Please refer to Table 2.

[0120] Table 2

[0121]

[0122]

[0123] The following example illustrates the application of Solution 1 in IR-HARQ.

[0124] For example, if the code rate used for the initial data transmission of the transmitting device is 5 / 6, then the mother codeword with a code rate of 1 / 2 is punctured according to the puncturing pattern shown in Table 1 or Table 2. The indices of the codeword bits punctured in each puncturing cycle are shown in Table 1 or Table 2. Specifically, when the code rate is 5 / 6, the puncturing position set includes 24 indices: {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}.

[0125] If the initial data transmission fails, the transmitting device retransmits. Assuming the code rate used for retransmission is 2 / 3, the number of incremental redundancy bits required for each puncturing period is 9. The specific bit positions are {0, 36, 8, …, 16}, i.e., the puncture positions between the puncture pattern with a code rate of 5 / 6 and the puncture pattern with a code rate of 2 / 3. In other words, the codeword bit positions corresponding to these 9 incremental redundancy bits are the complement of the set of puncture positions for the code rate of 2 / 3 relative to the set of puncture positions for the code rate of 5 / 6.

[0126] The situation is similar for retransmissions exceeding one. As can be seen from Table 1 or Table 2, as the number of retransmissions increases, if the code rate used by the transmitting device decreases, the puncturing positions of the low-code-rate puncturing pattern decrease, and the number of incremental redundancy bits increases. Consequently, the channel coding rate decreases, which improves the decoding success rate at the receiving device. Furthermore, as the decoding success rate at the receiving device increases, the number of retransmissions decreases, reducing retransmission latency.

[0127] Option 2

[0128] Using the puncturing patterns of other code rates supported by the WLAN standard, the mother code word with code rate 1 / 2 is punctured to obtain code words with other code rates (for example, 2 / 3, 3 / 4, 5 / 6). The code words with other code rates are then used as the basic code words. Within a puncturing cycle, the puncturing positions of the basic code words are searched one by one so that after the code word bits at these puncturing positions are punctured, the "d free Maximum, and d free The number of corresponding codewords is the smallest", and a puncturing pattern with a higher code rate is obtained. Furthermore, using the same search principle, a puncturing pattern with a higher code rate can be obtained based on the puncturing pattern with a higher code rate. Similarly, the puncturing patterns under different code rates can be expanded.

[0129] The following examples illustrate this.

[0130] For example, in addition to the original code rate 1 / 2, WLAN also supports code rates 2 / 3, 3 / 4, and 5 / 6. These code rates are obtained by puncturing the mother codewords using their respective puncturing patterns. The puncturing patterns corresponding to each code rate are as follows:

[0131] The code rate is 2 / 3, and the punch pattern is or,

[0132] The code rate is 3 / 4, and the punch pattern is or,

[0133] The code rate is 5 / 6 and the punch pattern is

[0134] By puncturing a mother codeword with a code rate of 1 / 2 using a puncturing pattern corresponding to one of the three code rates, a codeword with the corresponding code rate can be obtained. For ease of description, the code rate obtained by puncturing is denoted as code rate 1, and the set of puncturing positions corresponding to code rate 1 is denoted as puncturing position set 1.

[0135] It is understandable that the code rate 1 can be 2 / 3, 3 / 4, or 5 / 6.

[0136] On the basis of the fixed puncture position set 1, the newly added puncture positions are further searched to obtain a code rate higher than code rate 1 (i.e., 2 / 3), such as code rate 2. After the code word bits of these newly added puncture positions are punctured, they can satisfy the "d free Maximum, and d free The corresponding number of codewords is the smallest", thus obtaining the set of puncturing positions 2 corresponding to the code rate 2.

[0137] It can be found that the puncture position set 2 includes all the elements in the puncture position set 1, and in addition, some new puncture positions are added.

[0138] Furthermore, based on the puncture position set 2, the newly added puncture positions are further searched to obtain a code rate higher than code rate 2, for example, code rate 3. After the code word bits of these newly added puncture positions are punctured, they can satisfy the "d free Maximum, and d free The corresponding number of codewords is the smallest", thus obtaining a set of puncturing positions 3 corresponding to code rate 3.

[0139] By analogy, we can further obtain sets of puncturing positions corresponding to bit rate 4, bit rate 5, and higher bit rates.

[0140] In the embodiment of the present application, through the above extension principle, with the code rate of 2 / 3, 3 / 4, or 5 / 6 as the basic code rate, puncture patterns of other code rates higher than the basic code rate can be expanded.

[0141] Continuing with the example of the convolutional code grid period P=30 and the code word bit period 2P=60, the solution 2 is explained.

[0142] Optionally, in one embodiment, the puncturing pattern corresponding to the code rate 5 / 6 is As a basic puncturing pattern, on this basis, according to the extension principle described in Solution 2, other code rates and corresponding puncturing patterns can be obtained as shown in Table 3.

[0143] Table 3

[0144]

[0145]

[0146] The d corresponding to the puncturing pattern of each code rate in Table 3 free and N min Please refer to Table 4.

[0147] Table 4

[0148]

[0149] Optionally, in one embodiment, the puncturing pattern corresponding to the code rate 3 / 4 As a basic puncturing pattern, on this basis, according to the extension principle described in Solution 2, other code rates and corresponding puncturing patterns can be obtained as shown in Table 5.

[0150] Table 5

[0151] Bitrate Index of the punch position 0.500 0.508 3 0.517 27 0.526 51 0.536 22 0.545 46 0.556 10 0.566 39 0.577 58 0.588 21 0.600 28 0.612 4 0.625 33 0.638 57 0.652 52 0.667 15 0.682 40 0.698 16 0.714 45 0.732 9 0.750 34

[0152] The d corresponding to the puncturing pattern of each code rate in Table 5 free and N min Please refer to Table 6.

[0153] Table 6

[0154]

[0155]

[0156] Optionally, in one embodiment, the puncturing pattern corresponding to the code rate 2 / 3 is As a basic puncturing pattern, on this basis, according to the extension principle described in Solution 2, other code rates and corresponding puncturing patterns can be obtained as shown in Table 6.

[0157] Table 7

[0158] Bitrate Index of the punch position 0.500 0.508 3 0.517 35 0.526 11 0.536 43 0.545 23 0.556 55 0.566 51 0.577 19 0.588 27 0.600 47 0.612 15 0.625 59 0.638 39 0.652 7 0.667 31

[0159] The d corresponding to the puncturing pattern of each code rate in Table 7 free and N min Please refer to Table 8.

[0160] Table 8

[0161]

[0162] It should be noted that in Tables 3 to 8 above, the code rate 1 / 2 represents the original code rate of the convolutional code.

[0163] The following example illustrates the application of solution 2 in IR HARQ.

[0164] In Scheme 2, based on a WLAN-defined BCC code with a code rate of 1 / 2, one of the three puncturing patterns described above is used as the puncturing pattern for the initial transmission. If the initial transmission is not correctly decoded, the punctured code bits are transmitted step by step according to priority based on the puncturing pattern used for the initial transmission. The priority selection principle for the puncturing positions is as described above. That is, within a puncturing cycle, the code bits at these code bits are searched one by one so that the code bits at these code bits are punctured to ensure that the minimum free Hamming distance at the code rate is minimized and the number of code bits corresponding to the minimum free Hamming distance is minimized.

[0165] For example, assuming that the code rate of the initial data transmission of the transmitting device is 5 / 6, the transmitting device performs convolution encoding on the information bit sequence to obtain a BCC code with a code rate of 1 / 2, and then punctures the BCC code according to the puncturing pattern corresponding to the code rate R = 5 / 6 to obtain a codeword sequence with a code rate of 5 / 6. The codeword sequence with the code rate of 5 / 6 is sent. If the initial transmission is not correctly decoded, then according to the target code rate of the retransmission, a code rate lower than 5 / 6 is selected according to the puncturing pattern of different code rates shown in Table 3 or Table 4. This increases the number of redundant bits in the retransmission, thereby reducing the channel coding rate and improving the decoding success rate of the receiving device.

[0166] It is known that the set of puncture positions when the code rate is 5 / 6 is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, and the set of puncture positions when the code rate is 2 / 3 is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}. Therefore, when the code rate is reduced from 5 / 6 to 2 / 3, the number of redundant bits added is 9, and the index is {0, 36, 8, 32, 53, 21, 4, 45, 16}, which is the index between the puncture positions corresponding to the code rate of 5 / 6 and the code rate of 2 / 3 in Table 3 or Table 4.

[0167] It should be noted that in solution 2, since the puncturing patterns of each code rate reuse the puncturing patterns adopted in the WLAN standard, the puncturing period of the BCC code with a code rate of 5 / 6 is 10 codeword bits. Figure 2 and Figure 3 As explained in Table 3 or Table 4, the codeword bit period is 60 codeword bits. Therefore, by combining six codeword sequences with puncturing periods of 10 codeword bits, we can obtain a codeword sequence with a puncturing period of 60 codeword bits. The codeword bit indices in the combined codeword sequence are 0, 1, 2, 3, ..., 59 from smallest to largest.

[0168] Similarly, a BCC code with a code rate of 2 / 3 has a puncture period of 4 code bits. Therefore, 15 code sequences with a puncture period of 4 code bits are combined to obtain a code sequence with a puncture period of 60 code bits. A BCC code with a code rate of 3 / 4 has a puncture period of 6 bits. Therefore, 10 code sequences with a puncture period of 6 code bits are combined to obtain a code sequence with a puncture period of 60 code bits.

[0169] The above describes Scheme 1 and Scheme 2 in detail.

[0170] The tables for Schemes 1 and 2 show that as the transmitting device transitions from a higher code rate to a lower code rate, the number of puncturing locations decreases, while the number of redundant bits increases. When all codeword bits in the codeword sequence have been transmitted (i.e., no puncturing occurs), the code rate is 1 / 2 of the original code rate defined in the WLAN standard. To further reduce the code rate, some codeword bits in the codeword sequence must be repeated.

[0171] Furthermore, the present application also provides a codeword bit repetition scheme to make the code rate lower than 1 / 2, hereinafter referred to as Scheme 3.

[0172] Option 3

[0173] With 1 / 2 as the basic code rate, search the priority repetition position of the code word bits contained in the code word sequence one by one, so that after performing the repetition operation on the code word bits at the repetition position in the code word sequence, the "d free Maximum, and d free The number of corresponding code words is the smallest", and a code word with a lower code rate (compared to 1 / 2) is obtained. On this basis, the newly added repeated positions are searched one by one, so that a lower code rate can be obtained by repeating the code word bits of the newly added repeated positions, and the "d free Maximum, and d free The corresponding number of code words is the smallest", thus achieving better error control performance.

[0174] For example, in the codeword bits contained in the mother codeword with a code rate of 1 / 2, the priority repetition positions are searched one by one so that the codeword bits at these repetition positions are repeated, which can obtain a lower code rate of 1 and meet the "d free Maximum, and d free The corresponding number of code words is the smallest", thus obtaining the set of repeated positions 1 corresponding to the code rate 1.

[0175] Furthermore, based on the repetition position set 1, the newly added repetition positions are further searched to obtain a code rate lower than the code rate 1, for example, code rate 2. Repeating the codeword bits of these newly added repetition positions can satisfy the "d free Maximum, and d free The corresponding number of code words is the smallest", thus obtaining the set 2 of repeated positions corresponding to the code rate 2.

[0176] By analogy, we can further obtain repetition position sets corresponding to bit rate 3, bit rate 4, etc., and lower bit rates.

[0177] Taking the convolutional code grid period P = 30 and the code word bit period 2P = 60 as an example, a repetition scheme as shown in Table 9 is given.

[0178] Table 9

[0179]

[0180]

[0181]

[0182] Among them, i in Table 9 dx The index indicating the position of the repetition.

[0183] In Table 9, any value is taken from the column where the code rate is located as the third code rate. The third code rate is in i dx The corresponding index in this column is the first repeated position. dx All indexes in this column that are located before the first repetition position constitute a repetition position set corresponding to the third code rate, or in other words, a repetition pattern.

[0184] The following is an example of Table 9.

[0185] For example, the code rate 1 / 2 (corresponding to 0.5000 in Table 9) is dx There are no corresponding repeated positions in this column, indicating that there are no repeated positions when the code rate is 1 / 2. In other words, the transmitting device performs convolution encoding on the information bit sequence, and the original code rate obtained is 1 / 2. In this case, no codeword bits are repeated.

[0186] Bit rate 0.4688 in i dx The index of the corresponding repeated position in this column is 46, so the index 46 and i dx All indices in this column before index 46 form a repeating pattern with a code rate of 0.4688. If the transmitting device needs to reduce the code rate from 1 / 2 to 0.4688, the codeword bit positions to be repeated are indexed as 30, 2, 24, and 46, i.e., the set of repeated positions is {30, 2, 24, 46}.

[0187] If a lower code rate is to be obtained, for example, 1 / 4, the repetition position set is i in Table 9. dx The first 60 indices of this column are {30, 2, 24, 46, ..., 7}, specifically the index 30 corresponding to 0.5, the index 7 corresponding to 0.250, and the set consisting of all indices between 30 and 7.

[0188] Table 9 shows the d corresponding to the repeated patterns of each code rate free and N min Please refer to Table 10.

[0189] Table 10

[0190]

[0191]

[0192]

[0193] In Table 10, "#rep" indicates that the type of rate matching is repetition. In addition, the elements in the column where "#rep" is located indicate the number of repetition positions. dx The index indicating the position of the repetition.

[0194] For example, when the code rate is 1 / 2 (corresponding to 0.5000 in Table 9), there is no corresponding repetition position for 1 / 2, indicating that the transmitting device performs convolution encoding on the information bit sequence, resulting in an original code rate of 1 / 2. In this case, there is no repetition position. In other words, the transmitting device does not perform repetition when sending the codeword sequence.

[0195] When the code rate is 0.2521, the element in the column where "#rep" is located is 59, indicating that there are 59 repeated positions, specifically the repeated position "43" corresponding to 0.2521, and all the indexes before the repeated position index "43" in Table 10. That is, the repeated position index set is {30, 2, 24, 46, 8, 37, 54, ..., 51, 29, 43}.

[0196] If a lower bit rate, for example, 1 / 4, is to be obtained, the set of repeated positions is the first 60 indexes {30, 2, 24, 46, ..., 7} in Table 9, specifically the index 30 corresponding to 0.5 and the index 7 corresponding to 0.250, as well as the set consisting of all indexes between 30 and 7.

[0197] The above describes in detail the rate matching method of the convolutional code provided in this application. In the IR HARQ mechanism, as the number of retransmissions increases, more incremental redundant bits can be obtained, thereby continuously reducing the code rate to increase the probability of successful decoding by the receiving device and improve the decoding performance.

[0198] See also Figure 6 , Figure 6 The following is a flowchart of the encoding and decoding of the convolutional code provided in this application.

[0199] Optionally, Figure 6 The operations or processes performed by the receiving device in the flowchart shown may also be performed by a chip or circuit system within the receiving device. The circuit system may be, for example, an integrated circuit or a logic circuit. The chip may be, for example, a system on a chip (SoC) chip or a baseband modem chip, etc., although this is not limited herein. The following description uses the receiving device as an example.

[0200] The receiving device can be a terminal device or a network device. It should be understood that the receiving device in the embodiments of the present application is also an encoding device. For example, in uplink transmission, the sending device is a terminal device and the receiving device is a network device. In downlink transmission, the sending device is a network device and the receiving device is a terminal device.

[0201] 601. A transmitting device generates a first codeword at a first code rate.

[0202] The puncture pattern of the first codeword is referred to as a first puncture pattern hereinafter, and the first puncture pattern includes a first puncture position set.

[0203] Taking the puncturing scheme in Table 1 above as an example, assuming that the trellis period of the convolutional code is P = 30, the codeword bit period is 60. If the first code rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}.

[0204] 602. The transmitting device sends a first codeword.

[0205] The receiving device receives a first channel receiving sequence from the transmitting device.

[0206] Among them, step 601 and step 602 can refer to steps 510-520 respectively and will not be repeated here.

[0207] 603. The receiving end device determines a first LLR corresponding to the first channel reception sequence, and decodes the first LLR using a first puncturing pattern.

[0208] In step 603, the receiving device decodes the first LLR sequence using the same puncturing pattern as that of the transmitting device.

[0209] 604. If the receiving device decodes the first LLR successfully, it outputs the decoding result.

[0210] Optionally, if the receiving device makes a decoding error, the receiving device sends retransmission indication information to the sending device to request the sending device to retransmit, as shown in steps 605-611 below.

[0211] 605. The receiving device sends first retransmission indication information to the transmitting device. The transmitting device receives the first retransmission indication information from the receiving device.

[0212] 606. The transmitting device generates a second codeword at a second code rate.

[0213] The puncture pattern of the second codeword (hereinafter referred to as the second puncture pattern) is obtained according to the first puncture pattern of the first codeword, and the second puncture pattern includes a second puncture position set, which is a subset of the first puncture position set.

[0214] Assuming the second code rate is 3 / 4, the second set of puncture positions is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}. This shows that, relative to the first codeword, the codeword bits with indices 21, 4, 45, and 16 in the second codeword are not punctured and can be used to send redundant bits.

[0215] Compared with the first code rate used by the transmitting device to send the first code word, the second code rate used by the transmitting device to send the second code word is lower, so as to improve the success rate of decoding by the receiving device.

[0216] 607. The transmitting device sends a second codeword.

[0217] The receiving device receives the second channel receiving sequence from the transmitting device.

[0218] 608. The receiving device determines a second LLR sequence corresponding to the second channel reception sequence, and decodes the combined LLR sequence according to the second puncturing pattern.

[0219] The merged LLR sequence is obtained by merging the first LLR sequence and the second LLR sequence. Specifically, the first LLR sequence and the second LLR sequence are merged bit by bit. LLR values ​​at the same position index in the second LLR sequence and the first LLR sequence are merged, while LLR values ​​at different index positions are retained.

[0220] For example, the length of the first LLR sequence is 6, and the index positions are 1, 2, 3, 4, and 5, and the corresponding LLR values ​​are LLR 11 ,LLR 12 ,LLR 13 ,LLR 14 ,LLR 15 The length of the second LLR sequence is 6, and the index positions are 3, 4, 5, 6, and 7, and the corresponding LLR values ​​are LLR 23 ,LLR 24 , LLR 25 , LLR 26 ,LLR 27 Therefore, the combined LLR sequence is {LLR 11 ,LLR 12 ,LLR 13 +LLR 23 ,LLR 14 +LLR 24 ,LLR 15 +LLR 25 , LLR 26 ,LLR 27}, where the addition of LLR values ​​is binary addition.

[0221] Furthermore, if the receiving device successfully decodes the combined LLR sequence according to the second puncturing pattern, it outputs the decoding result. If the receiving device fails to decode the combined LLR sequence according to the second puncturing pattern, it performs the next retransmission. This process continues in this manner until decoding is successful. Or, until a set maximum number of retransmissions is reached, the receiving device determines that decoding has failed.

[0222] If the combined LLR sequence fails to be decoded and the maximum number of retransmissions has not been reached, the receiving device requests the transmitting device to retransmit a second time.

[0223] 609. The receiving device sends second retransmission indication information to the transmitting device.

[0224] The transmitting device receives the second retransmission indication information from the receiving device.

[0225] 610. The transmitting device generates a third codeword of a third code rate.

[0226] In one implementation, the code rate is reduced through puncturing. The transmitting device may adopt the specific implementations of Solution 1 or Solution 2. If the third code rate is less than 3 / 4 and greater than 1 / 2, the third puncture position set for the third codeword is a subset of the second puncture positions. For example, if the third code rate is 0.6, 0.536, etc., the third puncture positions corresponding to the third code rate can be determined according to Table 1.

[0227] In another implementation, if the transmitting device adopts the repetition scheme of scheme 3, the third code rate is lower than 3 / 4 and can be lower than 1 / 2.

[0228] Taking Table 9 as an example, assuming that the third code rate is 0.25, the first repetition position corresponding to the third codeword includes the first 60 indexes of the column where idx is located in Table 9, and the repetition position set is {30, 2, 24, 46, ..., 51, 29, 43, 7}.

[0229] 611. The transmitting device sends a third codeword.

[0230] The receiving device receives the third channel receiving sequence from the transmitting device.

[0231] 612. The receiving device determines a third LLR corresponding to the third channel reception sequence, and decodes the combined LLR sequence according to the first repetitive pattern.

[0232] In step 612, the combined sequence is obtained by combining the first LLR sequence, the second LLR sequence, and the third LLR sequence, wherein the first LLR sequence, the second LLR sequence, and the third LLR sequence are combined on a "bit" basis.

[0233] For example, the length of the third LLR sequence is 6, and the index positions are 1, 2, 5, 6, and 8, and the corresponding LLR values ​​are LLR 31 ,LLR 32 ,LLR 35 ,LLR 36 ,LLR 38 The combined LLR sequence is {LLR 11 +LLR 31 ,LLR 12 +LLR 32 ,LLR 13 +LLR 23 ,LLR 14 +LLR 24 ,LLR 15 +LLR 25 +LLR 35 , LLR 26 +LLR 36 ,LLR 27 ,LLR38}, where the addition of LLR values ​​is binary addition.

[0234] And so on, until the receiving device decodes successfully or the maximum number of retransmissions is reached.

[0235] The embodiments of the present application are described in detail above.

[0236] See also Figure 7 , Figure 7 The minimum free distances at various code rates in various embodiments are shown. The curve for a code rate of 1 / 2 corresponds to the puncturing pattern of Scheme 1, the curves for code rates of 2 / 3, 3 / 4, and 5 / 6 correspond to the puncturing pattern of Scheme 2, and the curves for code rates lower than 1 / 2 correspond to the repetition pattern of Scheme 3.

[0237] See also Figure 8 , Figure 8 The error control performance of the rate compatible solution of the BCC code provided by this application at various code rates is shown in FIG. -2 The distance between the required signal-to-noise ratio (SNR) and the channel capacity at the corresponding rate. The smaller the distance, the better the performance.

[0238] like Figure 8 As shown, the curve labeled Scheme 1 represents the error control performance obtained by using the puncturing scheme of Scheme 1, and the three curves labeled Scheme 2 represent the error control performance obtained by using the puncturing scheme of Scheme 2. When the code rate is lower than 1 / 2, the curve labeled Scheme 3 represents the error control performance obtained by using the repetition scheme of Scheme 3. It can be seen that by using the puncturing scheme or repetition scheme provided in the embodiment of the present application, the FER at each code rate reaches 10 -2 The required SNR is very close to the channel capacity, and the performance is good.

[0239] Figure 8 In the 5G LDPC throughput, Figure 5 The curves corresponding to 5G NR (BG1) or 5G NR (BG2) are shown in FIG. BG1 means that the cyclic shift matrix of the basic matrix of the LDPC code adopts the BG1 matrix, and BG2 means that the cyclic shift matrix of the basic matrix of the LDPC code adopts the BG2 matrix.

[0240] It should be understood that BG represents a base graph, which can be used to represent a base matrix of a cyclic shift matrix.

[0241] Figure 8The channel in can be a binary input additive white Gaussian noise (BAWAN) channel.

[0242] In addition, “non ortho” is an abbreviation of non-orthogonal.

[0243] The embodiments of the present application are described in detail above. The communication device of the present application is described below.

[0244] See also Figure 9 , Figure 9 800 is a schematic block diagram of a communication device 800 provided in this application. Figure 9 As shown, the communication device 800 includes a processing unit 810 and a transceiver unit 820 .

[0245] a processing unit 810 configured to generate a second codeword, wherein a puncture pattern of the second codeword is generated based on the puncture pattern of the first codeword, wherein the puncture pattern of the first codeword includes a first puncture position set, and the puncture pattern of the second codeword includes a second puncture position set, and the second puncture position set is a subset of the first puncture position set;

[0246] The transceiver unit 820 is further configured to send a second codeword.

[0247] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate or the second code rate is respectively a code rate in Table A, the first puncture position set includes a first puncture position corresponding to the first code rate in Table A and all puncture positions preceding the first puncture position in Table A, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table A and all puncture positions preceding the second puncture position in Table A. For Table A, refer to the description of the method embodiment.

[0248] Optionally, in one embodiment, the first code rate is 5 / 6, the first puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second code rate is 3 / 4, and the second puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}; or,

[0249] The first coding rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second coding rate is 2 / 3, the second position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}; or

[0250] The first coding rate is 3 / 4, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}, the second coding rate is 2 / 3, and the second puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}.

[0251] Optionally, in one embodiment, the processing unit 610 is further configured to, before sending the second codeword, perform convolution encoding on the information bit sequence to obtain the mother codeword with a code rate of 1 / 2; and perform rate matching on the mother codeword according to the puncturing pattern corresponding to the first puncturing position set to obtain the first codeword;

[0252] The transceiver unit 620 is further configured to output the first codeword.

[0253] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table B, the first puncture position set includes a first puncture position corresponding to the first code rate in Table B and all puncture positions preceding the first puncture position in Table B, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table B and all puncture positions preceding the second puncture position in Table B. For Table B, refer to the description of the method embodiment.

[0254] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table C, the first puncture position set includes a first puncture position corresponding to the first code rate in Table C and all puncture positions preceding the first puncture position in Table C, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table C and all puncture positions preceding the second puncture position in Table C. For Table C, refer to the description of the method embodiment.

[0255] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table D, the first puncture position set includes a first puncture position corresponding to the first code rate in Table D and all puncture positions preceding the first puncture position in Table D, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table D and all puncture positions preceding the second puncture position in Table D. For Table D, refer to the description of the method embodiment.

[0256] Optionally, in one embodiment, the transceiver unit 620 is further configured to output a third codeword at a third code rate, where the third codeword is obtained by performing a repetition operation on a mother codeword according to a repetition pattern, where the mother codeword is obtained by performing convolution encoding on an information bit sequence. The third code rate is a code rate in Table E, and the repetition position of the repetition operation is the first repetition position corresponding to the third code rate in Table E and all repetition positions in Table E that precede the first repetition position. For Table E, see the description of the method embodiment.

[0257] Optionally, the transceiver unit 820 may be replaced by a sending unit or a receiving unit. For example, when the transceiver unit 820 performs a sending action, it may be replaced by a sending unit. When the transceiver unit 820 performs a receiving action, it may be replaced by a receiving unit.

[0258] Optionally, the communication apparatus 800 may be a transmitting end device, or the communication apparatus 800 may be a device, module, etc. inside the transmitting end device that has the functions of implementing the embodiments of the various methods.

[0259] In one implementation, the communication device 800 is the transmitting end device in each of the above-mentioned method embodiments. The communication device 800 may have any of the functions of the transmitting end device in each of the method embodiments. In this case, the processing unit 610 may be a processor, and the transceiver unit 820 may be a transceiver. The transceiver may specifically include a receiver and a transmitter. The receiver is used to perform a receiving function, and the transmitter is used to perform a transmitting function.

[0260] Alternatively, in another implementation, the communication device 800 may be a circuit system in a transmitting device. In this case, the processing unit 810 may be a chip, a logic circuit, an integrated circuit, a processing circuit, or a system-on-chip (SoC) chip, and the transceiver unit 820 may be a communication interface, which may be an interface circuit, an input / output interface, or the like.

[0261] In the above embodiments, the functions of the processing unit 810 may be implemented by hardware, or by hardware executing corresponding software.

[0262] For example, the processing unit 810 may include one or more processors configured to read and execute computer programs or instructions stored in a memory, so that the communication apparatus 800 performs the operations and / or processes performed by the transmitting end device in each method embodiment. The memory is located outside the one or more processors.

[0263] Furthermore, the processing unit 810 may also include one or more memories, and the one or more processors and the one or more memories are connected through circuits / wires. The one or more processors can read the computer programs or instructions stored in the one or more memories, so that the communication device 800 performs the operations and / or processing performed by the sending end device in the various method embodiments of the present application.

[0264] For another example, the processing unit 810 is a processor, and the transceiver unit 820 may be an interface circuit. The interface circuit is configured to receive computer code or instructions and transmit them to the processor, which executes the computer code or instructions, causing the communication device 800 to perform the operations and / or processing performed by the transmitting device in the various method embodiments of the present application.

[0265] See also Figure 10 , Figure 10 This is a schematic block diagram of a communication device 900 provided in this application. Figure 10 As shown, the communication device 900 includes a processing unit 910 and a transceiver unit 920 .

[0266] The transceiver unit 920 is configured to receive a second channel receive sequence from a transmitting end device;

[0267] Processing unit 910 decodes the merged LLR sequence according to the second puncturing pattern, where the merged LLR sequence is obtained by merging the first LLR sequence and the second LLR sequence, where the first LLR corresponds to a first channel receive sequence, the first LLR sequence corresponds to a first codeword of the transmitting device, the second LLR sequence corresponds to a second codeword of the transmitting device, the second puncturing pattern of the second codeword includes a second puncturing position set, the first puncturing pattern of the first codeword includes a first puncturing position set, and the second puncturing position set is a subset of the first puncturing position set.

[0268] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second codeword, the first code rate or the second code rate is a code rate in Table A, the first puncture position set includes a first puncture position corresponding to the first code rate in Table A and all puncture positions preceding the first puncture position in Table A, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table A and all puncture positions preceding the second puncture position in Table A. For Table A, refer to the description of the method embodiment.

[0269] Optionally, in one embodiment, the first code rate is 5 / 6, the first puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second code rate is 3 / 4, and the second puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}; or,

[0270] The first coding rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second coding rate is 2 / 3, the second position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}; or

[0271] The first coding rate is 3 / 4, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}, the second coding rate is 2 / 3, and the second puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}.

[0272] Optionally, in one embodiment, the processing unit 910 is further configured to perform convolution encoding on the information bit sequence to obtain the mother code codeword with a code rate of 1 / 2; and perform rate matching on the mother code codeword according to a puncturing pattern corresponding to the first puncturing position set to obtain the first codeword;

[0273] The transceiver unit 920 is further configured to send the first codeword.

[0274] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table B, the first puncture position set includes a first puncture position corresponding to the first code rate in Table B and all puncture positions preceding the first puncture position in Table B, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table B and all puncture positions preceding the second puncture position in Table B. For Table B, refer to the description of the method embodiment.

[0275] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table C, the first puncture position set includes a first puncture position corresponding to the first code rate in Table C and all puncture positions preceding the first puncture position in Table C, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table C and all puncture positions preceding the second puncture position in Table C. For Table C, refer to the description of the method embodiment.

[0276] Optionally, in one embodiment, the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are each a code rate in Table D, the first puncture position set includes a first puncture position corresponding to the first code rate in Table D and all puncture positions preceding the first puncture position in Table D, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table D and all puncture positions preceding the second puncture position in Table D. For Table D, refer to the description of the method embodiment.

[0277] Optionally, the transceiver unit 920 is further configured to output a decoding result when the processing unit 910 successfully decodes the combined LLR sequence.

[0278] Optionally, in one embodiment, the transceiver unit 920 is further configured to send retransmission indication information and receive a second channel receive sequence from the transmitting end device when the processing unit 910 fails to decode the first LLR sequence.

[0279] Optionally, in some embodiments, the processing unit 910 is further configured to generate a third codeword of a third code rate, where the third codeword is obtained by performing a repetition operation on a mother codeword according to a repetition pattern, the mother codeword being obtained by performing convolution encoding on an information bit sequence, the third code rate being a code rate in Table E, and the repetition position of the repetition operation being the first repetition position corresponding to the third code rate in Table E and all repetition positions preceding the first repetition position in Table E. For Table E, see the description of the method embodiment.

[0280] And, the transceiver unit 920 is further configured to send a third codeword.

[0281] Optionally, the transceiver unit 920 may be replaced by a sending unit or a receiving unit. For example, when the transceiver unit 920 performs a sending action, it may be replaced by a sending unit. When the transceiver unit 920 performs a receiving action, it may be replaced by a receiving unit.

[0282] Optionally, the communication device 900 may be a receiving-end device, or the communication device 900 may be a device, module, etc. inside the receiving-end device that has the functions of implementing the embodiments of the various methods.

[0283] In one implementation, communication device 900 is the receiving device in each of the above-mentioned method embodiments. Communication device 900 may have any of the functions of the receiving device in each of the method embodiments. In this case, processing unit 910 may be a processor, and transceiver unit 920 may be a transceiver. The transceiver may specifically include a receiver and a transmitter. The receiver is configured to perform a receiving function, and the transmitter is configured to perform a transmitting function.

[0284] Alternatively, in another implementation, the communication device 900 may be a circuit system in a receiving device. In this case, the processing unit 910 may be a chip, a logic circuit, an integrated circuit, a processing circuit, or a system-on-chip (SoC) chip, and the transceiver unit 920 may be a communication interface, which may be an interface circuit, an input / output interface, or the like.

[0285] In the above embodiments, the functions of the processing unit 910 may be implemented by hardware, or by hardware executing corresponding software.

[0286] For example, the processing unit 910 may include one or more processors configured to read and execute computer programs or instructions stored in a memory, so that the communication device 900 performs the operations and / or processes performed by the receiving device in each method embodiment. The memory is located outside the one or more processors.

[0287] Furthermore, the processing unit 910 may also include one or more memories, and the one or more processors and the one or more memories are connected through circuits / wires. The one or more processors can read the computer programs or instructions stored in the one or more memories, so that the communication device 900 performs the operations and / or processing performed by the sending end device in the various method embodiments of the present application.

[0288] For another example, the processing unit 910 is a processor, and the transceiver unit 920 may be an interface circuit. The interface circuit is configured to receive computer code or instructions and transmit them to the processor, which executes the computer code or instructions, causing the communication device 900 to perform the operations and / or processing performed by the receiving device in the various method embodiments of the present application.

[0289] Optionally, the memory and the memory in the above-mentioned device embodiments may be physically independent units, or the memory may be integrated with the processor.

[0290] In addition, the present application also provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a computer, the computer executes the operations and / or processing performed by the transmitting device in the method for rate matching of convolutional codes provided in the present application.

[0291] The present application also provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a computer, the computer executes the operations and / or processing performed by the receiving device in the method for rate matching of convolutional codes provided in the present application.

[0292] The present application also provides a computer program product, which includes computer code or instructions. When the computer code or instructions are executed on a computer, the rate matching method of the convolutional code in the method embodiment of the present application is implemented.

[0293] The present application also provides a computer program product, which includes computer code or instructions. When the computer code or instructions are executed on a computer, the rate matching method of the convolutional code in the method embodiment of the present application is implemented.

[0294] The present application also provides a communication device, comprising a processor and an interface circuit, wherein the interface circuit is used to receive computer code or instructions and transmit them to the processor, and the processor is used to run the computer code or instructions so that the communication device performs the operations and / or processing performed by the transmitting device in the method for rate matching of convolutional codes provided in the present application.

[0295] The present application also provides a communication device, including a processor and an interface circuit, wherein the interface circuit is used to receive computer code or instructions and transmit them to the processor, and the processor is used to run the computer code or instructions so that the communication device performs the operations and / or processing performed by the receiving device in the rate matching method of the convolutional code provided in the present application.

[0296] The present application also provides a chip comprising one or more processors. The one or more processors are configured to execute a computer program stored in a memory to perform the operations and / or processing performed by a transmitting device in any one of the method embodiments. The memory is provided independently of the chip.

[0297] Furthermore, the chip may further include one or more communication interfaces. The one or more communication interfaces may be input / output interfaces, interface circuits, etc. Furthermore, the chip may further include one or more memories.

[0298] The present application also provides a chip comprising one or more processors. The one or more processors are configured to execute a computer program stored in a memory to perform the operations and / or processing performed by a receiving device in any one of the method embodiments. The memory is provided independently of the chip.

[0299] Furthermore, the chip may further include one or more communication interfaces. The one or more communication interfaces may be input / output interfaces, interface circuits, etc. Furthermore, the chip may further include one or more memories.

[0300] The present application also provides a wireless communication system, including a transmitting device and a receiving device in the embodiment of the present application. Optionally, one of the transmitting device and the receiving device is a network device (eg, a base station), and the other is a terminal device.

[0301] The processor in the embodiment of the present application can be an integrated circuit chip with the ability to process signals. During implementation, each step of the above method embodiment can be completed by the hardware integrated logic circuit in the processor or by instructions in the form of software. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware coding processor, or can be executed by a combination of hardware and software modules in the coding processor. The software module can be located in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0302] 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 RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DRRAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0303] As used in this specification, the terms "unit," "system," and the like are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. By way of illustration, both an application running on a computing device and a computing device may be a component. One or more components may reside in a process and / or an execution thread. A component may be located on a computer and / or distributed between two or more computers. In addition, these components may be executed from various computer-readable media having various data structures stored thereon. Components may communicate via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component across a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).

[0304] 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.

[0305] 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.

[0306] 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.

[0307] 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.

[0308] 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.

[0309] 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, server, or 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, a random access memory, a magnetic disk, or an optical disk.

[0310] 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 method for rate matching of a convolutional code, characterized in that: include: generating a second codeword, wherein a puncture pattern of the second codeword is generated based on the puncture pattern of the first codeword, wherein the puncture pattern of the first codeword includes a first puncture position set, and the puncture pattern of the second codeword includes a second puncture position set, and the second puncture position set is a subset of the first puncture position set; Sending the second codeword, wherein the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are respectively one of the code rates in Table A, the first puncture position set includes a first puncture position corresponding to the first code rate in Table A and all puncture positions in Table A that are located before the first puncture position, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table A and all puncture positions in Table A that are located before the second puncture position; The table A is as follows: Table A 2. The method according to claim 1, characterized in that The first coding rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second coding rate is 3 / 4, the second puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}; or The first coding rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second coding rate is 2 / 3, the second puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}; or The first coding rate is 3 / 4, the first puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}, the second coding rate is 2 / 3, and the second puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}.

3. The method according to claim 1, characterized in that Before generating the second codeword, the method further includes: Perform convolution coding on the information bit sequence to obtain a mother codeword with a code rate of 1 / 2; performing rate matching on the mother codeword according to the puncturing pattern corresponding to the first puncturing position set to obtain the first codeword; The first codeword is output.

4. The method according to any one of claims 1 to 3, characterized in that After sending the second codeword, the method further includes: generating a third codeword at a third code rate, where the third codeword is obtained by performing a repetition operation on a mother codeword according to a repetition pattern, where the mother codeword is obtained by performing convolution encoding on an information bit sequence, the third code rate being a code rate in Table E, and the repetition positions of the repetition operation being a first repetition position corresponding to the third code rate in Table E and all repetition positions in Table E that precede the first repetition position; The table E is as follows: Table E 5. A communication device, characterized in that: include: a processing unit, configured to generate a second codeword, wherein a puncture pattern of the second codeword is generated based on the puncture pattern of the first codeword, wherein the puncture pattern of the first codeword includes a first puncture position set, and the puncture pattern of the second codeword includes a second puncture position set, and the second puncture position set is a subset of the first puncture position set; a transceiver unit, configured to send the second codeword, wherein the first codeword corresponds to a first code rate, the second codeword corresponds to a second code rate, the first code rate and the second code rate are respectively a code rate in Table A, the first puncture position set includes a first puncture position corresponding to the first code rate in Table A and all puncture positions in Table A that are located before the first puncture position, and the second puncture position set includes a second puncture position corresponding to the second code rate in Table A and all puncture positions in Table A that are located before the second puncture position; The table A is as follows: Table A The communication device according to claim 5 , wherein: The first coding rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second coding rate is 3 / 4, the second puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}; or The first coding rate is 5 / 6, the first puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53, 21, 4, 45, 16}, the second coding rate is 2 / 3, the second puncturing position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}; or The first coding rate is 3 / 4, the first puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35, 0, 36, 8, 32, 53}, the second coding rate is 2 / 3, and the second puncture position set is {59, 31, 11, 39, 51, 19, 3, 43, 23, 15, 47, 55, 27, 7, 35}.

7. The communication device according to claim 5, wherein: The processing unit is further configured to perform convolution encoding on the information bit sequence to obtain a mother codeword with a code rate of 1 / 2; and perform rate matching on the mother codeword according to the puncturing pattern corresponding to the first puncturing position set to obtain the first codeword; The transceiver unit is further configured to send the first codeword.

8. The communication device according to any one of claims 5 to 7, characterized in that: The transceiver unit is further configured to: Output a third codeword at a third code rate, where the third codeword is obtained by performing a repetition operation on a mother codeword according to a repetition pattern, where the mother codeword is obtained by performing convolution encoding on an information bit sequence, the third code rate being one of the code rates in Table E, and the repetition positions of the repetition operation being a first repetition position corresponding to the third code rate in Table E and all repetition positions in Table E that are located before the first repetition position. Table E is as follows: Table E 9. A communication device, characterized in that: include: The system comprises a processor and an interface circuit, wherein the interface circuit is used to receive computer codes or instructions and transmit the computer codes or instructions to the processor, and the processor runs the computer codes or instructions, and the method according to any one of claims 1 to 4 is implemented.

10. A communication device, characterized in that: The communication device comprises at least one processor coupled to at least one memory, and the at least one processor is configured to execute a computer program or instruction stored in the at least one memory, so that the communication device performs the method according to any one of claims 1 to 4.

11. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions. When the computer instructions are executed on a computer, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Cited By

  • Convolutional code rate matching method and wireless communication apparatus

    WO2021136539A1