Coding method and apparatus for polar code
By constructing a polar code with nested characteristics within a nested PC-Polar code, the problem of rate matching for interleaving subblocks of NR PC-Polar codes that cannot be reused by nested PC-Polar codes is solved, thus achieving the effects of simplifying rate matching and improving NR compatibility.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2026-05-28
Smart Images

Figure CN2024127744_28052026_PF_FP_ABST
Abstract
Description
Polar code encoding method and apparatus
[0001] This application claims priority to Chinese patent application No. 202311444208.8, filed with the State Intellectual Property Office of China on October 31, 2023, entitled “Encoding Method and Apparatus for Polar Codes”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a polar code encoding method and apparatus. Background Technology
[0003] In communication systems, to reduce coding complexity, a coding scheme based on parity-check polar codes (PC-Polar codes) is proposed. PC-Polar codes can include PC-Polar codes from the New Radio (NR) standard and nested PC-Polar codes.
[0004] In NR PC-Polar codes, rate matching is performed first, and then the information bits, freeze bits, and PC bits are determined based on the code length and code rate after rate matching. Unlike NR PC-Polar codes, in nested PC-Polar codes, the information bits, freeze bits, and PC bits are independent of the code length and code rate after rate matching. The PC bits and PC equations corresponding to different numbers of information bit sequences are nested. Nested PC-Polar codes allow the information bits, freeze bits, and PC bits to be determined first, followed by rate matching.
[0005] However, the rate matching method of nested PC-Polar codes is based on a nested punch sequence designed for performance, and cannot reuse the sub-block interleaving rate matching method of NR PC-Polar codes, resulting in poor NR compatibility.
[0006] Summary of the Invention
[0007] This application provides a polar code encoding method and apparatus that enables nested PC-Polar codes to reuse the sub-block interleaving rate matching method of NR PC-Polar codes, thereby improving NR compatibility.
[0008] In a first aspect, embodiments of this application provide a polar code encoding method, which can be executed by a transmitting device. Unless otherwise specified, the term "transmitting device" in this application can refer to the transmitting device itself, a component in the transmitting device (such as a processor, chip, or chip system), or a logic module or software that can implement all or part of the functions of the transmitting device. The method includes: mapping a k-bit information bit sequence to k bits of a first sequence of length N based on a reliability sequence of length N, to obtain a second sequence; wherein the second sequence includes k information bits, x parity check (PC) bits, and Nkx frozen bits, where k, N, and x are all positive integers; m of the k information bits are the first m bits of the second sequence sorted by reliability from high to low, and the remaining (km) information bits of the k information bits are the bits of the second sequence corresponding to the first (km) information bits of a preset information bit set sorted by reliability from high to low; the x PC bits are the x PC bits of the preset PC bit set; and polar coding is performed on the second sequence to obtain a third sequence.
[0009] Based on the first aspect, a polar code encoding scheme with nested characteristics is provided. Different numbers of information bit sequences can be constructed using the same m information bits, a preset set of information bits, and a preset set of PC bits. These m information bits, the preset set of information bits, and the preset set of PC bits exhibit nested characteristics for different numbers of information bit sequences and do not change with the number of information bit sequences. Simultaneously, the PC-Polar code with nested characteristics obtained based on these m information bits, the preset set of information bits, and the preset set of PC bits can reuse the sub-block interleaving rate matching method of NR PC-Polar codes. This PC-Polar code with nested characteristics still maintains good rate matching performance under the sub-block interleaving rate matching method of NR PC-Polar codes, simplifying rate matching operations, improving NR compatibility, and enhancing communication performance.
[0010] In one possible design, k can take any of the following values: 7, 8, 9, 10, or 11.
[0011] In one possible design, the m information bits are the following bits in the second sequence: 15, 23, 27, 29, 30, 31.
[0012] Based on this possible design, the transmitting device can determine the m information bits in the second sequence according to the specific value of m and the reliability sequence. For example, the transmitting device can determine the first m bits in the second sequence, sorted by reliability from high to low, as the m information bits. These m information bits have nesting characteristics for different numbers of information bit sequences (e.g., k equals 7, 8, 9, 10, or 11), and will not change with the length of the information bit sequence, thereby reducing decoding complexity and improving decoding performance.
[0013] In one possible design, the preset set of information bits corresponds to the following bits in the second sequence: 11, 19, 13, 14, and 22.
[0014] Based on this possible design, the preset information bit set has nesting characteristics for information bit sequences of different numbers (such as k equals 7, 8, 9, 10, or 11), and will not change with the length of the information bit sequence, thereby reducing decoding complexity and improving decoding performance.
[0015] In one possible design, the difference between the numbers of any two bits in the PC check bit is not 1.
[0016] Based on this possible design, by setting the difference between the numbers of any two bits checked by any PC bit in the preset PC bit set to be non-1, decoding performance and rate matching performance can be improved.
[0017] In one possible design, the preset set of PC bits corresponds to the following bits in the second sequence: 21, 26, 25, and 28.
[0018] Based on this possible design, the preset PC bit set has nesting characteristics for information bit sequences of different numbers (such as k equals 7, 8, 9, 10, or 11), and will not change with the length of the information bit sequence, thereby reducing decoding complexity and improving decoding performance.
[0019] In one possible design, when the PC bit is the 21st bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 11, 14; or, when the PC bit is the 26th bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 13, 19; or, when the PC bit is the 25th bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 13, 22; or, when the PC bit is the 28th bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 11, 13, 19.
[0020] Based on this possible design, a better example is provided for the PC bit and the PC bit check bit, which can improve decoding performance and rate matching performance.
[0021] In one possible design, bit 7 of the second sequence is a freeze bit.
[0022] Based on this possible design, if a rate matching method based on sub-block interleaving with perforation from front to back is adopted, bit 7 is located relatively early. When E = 24, 23, 22, 21, 20, 19 or 18, bit 7 will be perforated, so bit 7 is pre-frozen. Bit 7 in the second sequence can be set as a frozen bit (or it can also be called a pre-frozen bit).
[0023] Secondly, embodiments of this application provide a polar code encoding method. This method can be executed by a transmitting device. Unless otherwise specified, "transmitting device" in this application can refer to the transmitting device itself, a component within the transmitting device (such as a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the transmitting device. The method includes: mapping an information bit sequence of length k to k bits of a first sequence of length N based on a reliability sequence of length N, to obtain a fourth sequence; wherein the fourth sequence includes k information bits, 0 parity check (PC) bits, and Nk freeze bits, where k and N are both positive integers; polar encoding the fourth sequence to obtain a fifth sequence; and rate matching the fifth sequence according to a puncturing method from front to back to obtain a sixth sequence.
[0024] Based on the second aspect, a polar code encoding scheme with nested characteristics is provided. Different numbers of k information bit sequences can be constructed using k information bits and 0 PC bits based on the same reliability sequence. These k information bits and 0 PC bits exhibit nested characteristics for different numbers of information bit sequences and do not change with the number of information bit sequences. Simultaneously, the PC-Polar code with nested characteristics obtained based on these k information bits and 0 PC bits can employ a forward-to-back sub-block interleaving rate-matching puncturing method for NR PC-Polar codes to ensure the nested characteristics of the information bits. This PC-Polar code with nested characteristics still maintains good rate-matching performance under the NR PC-Polar code sub-block interleaving rate-matching puncturing method, simplifying rate-matching operations, improving NR compatibility, and enhancing communication performance.
[0025] In one possible design, k can take any of the following values: 3, 4, 5, or 6.
[0026] In one possible design, before rate matching the fifth sequence according to the front-to-back punching method, the method further includes: performing sub-block interleaving on the fifth sequence according to a first interleaving pattern; wherein, the first interleaving pattern is used to indicate that the values on the A-th sub-block of the fifth sequence are swapped and placed on the B-th sub-block of the interleaved fifth sequence; the mapping relationship between A and B is: (31, 31), (30, 30), (29, 29), (27, 28), (28, 27), (26, 26), (25, 25), (2 4,24),(23,23),(15,22),(22,21),(14,20),(21,19),(13,18),(20,17),(12,16),(19,15),(11,14),(18,13),(10,12),(17,11),(9,10),(16,9),(8,8),(7,7),(6,6),(5,5),(3,4),(4,3),(2,2),(1,1),(0,0).
[0027] Thirdly, embodiments of this application provide a communication device that can be applied to the transmitting end device described in the first or second aspect to realize the functions performed by the transmitting end device. The communication device can be the transmitting end device itself, or it can be a chip, chip system, or system-on-a-chip of the transmitting end device, etc. The communication device can execute the functions performed by the transmitting end device through hardware, or it can execute corresponding software through hardware. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations, or it can cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations, or it can cooperate with the transceiver module to complete the following processing operations, without limitation.
[0028] For example, the processing module is used to map an information bit sequence of length k to k bits of a first sequence of length N based on a reliability sequence of length N, to obtain a second sequence; wherein the second sequence includes k information bits, x parity check (PC) bits, and Nkx frozen bits, where k, N, and x are all positive integers; m of the k information bits are the first m bits of the second sequence sorted from high to low reliability, and the remaining (km) information bits of the k information bits are the bits of the second sequence corresponding to the first (km) information bits of a preset information bit set sorted from high to low reliability; the x PC bits are the x PC bits of the preset PC bit set; the processing module is also used to perform polar coding on the second sequence to obtain a third sequence.
[0029] In another example, the processing module is used to map a k-bit information bit sequence to k bits of a first sequence of length N based on a reliability sequence of length N, to obtain a fourth sequence; wherein the fourth sequence includes k information bits, 0 parity check (PC) bits and Nk freeze bits, where k and N are both positive integers; the processing module is also used to perform polar coding on the fourth sequence to obtain a fifth sequence, and to perform rate matching on the fifth sequence according to the puncturing method from front to back to obtain a sixth sequence.
[0030] Optionally, the transceiver module and processing module of the communication device in the third aspect may also perform the corresponding functions in the first aspect or any possible design of the first aspect, or perform the corresponding functions in the second aspect or any possible design of the second aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.
[0031] Fourthly, embodiments of this application provide a communication device, which includes one or more processors; the one or more processors are configured to run computer programs or instructions, such that when the one or more processors execute the computer instructions or instructions, the polar code encoding method described in any one of the first to second aspects is executed.
[0032] In one possible design, the communication device further includes one or more memories coupled to one or more processors, the memories used to store the aforementioned computer programs or instructions. In one possible implementation, the memories are located outside the communication device. In another possible implementation, the memories are located inside the communication device. In embodiments of this application, the processor and memory may also be integrated into a single device, i.e., the processor and memory may be integrated together. In one possible implementation, the communication device further includes a transceiver for receiving and / or transmitting information.
[0033] In one possible design, the communication device further includes one or more communication interfaces coupled to one or more processors, and the communication interfaces are used to communicate with other modules outside the communication device.
[0034] Fifthly, embodiments of this application provide a communication device, which includes an interface circuit and a logic circuit; the interface circuit is used for inputting and / or outputting information; the logic circuit is used for executing the polar code encoding method as described in either the first or second aspect, and for processing and / or generating information based on the information.
[0035] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing computer instructions or programs that, when executed on a computer, cause the encoding method of polar codes as described in either the first or second aspect to be performed.
[0036] In a seventh aspect, embodiments of this application provide a computer program product containing computer instructions that, when run on a computer, causes the encoding method of polar codes as described in either the first or second aspect to be executed.
[0037] Eighthly, embodiments of this application provide a computer program that, when run on a computer, causes the polar code encoding method as described in either the first or second aspect to be executed.
[0038] Ninthly, embodiments of this application provide a chip, including: a processor coupled to a memory, the memory being used to store programs or instructions, wherein when the program or instructions are executed by the processor, an encoding method of polar codes as described in either the first or second aspect is executed.
[0039] The technical effects of any of the design methods in aspects four through nine can be found in the technical effects of any of the first or second aspects mentioned above, and will not be elaborated upon further.
[0040] In a tenth aspect, embodiments of this application provide a communication system that may include communication means for performing the communication means as described in the first aspect or any possible design of the first aspect, or may include communication means for performing the communication means as described in the second aspect or any possible design of the second aspect. Attached Figure Description
[0041] Figure 1 is a schematic diagram of a search process for an interlaced pattern provided in an embodiment of this application;
[0042] Figure 2 is a schematic diagram of a communication system provided in an embodiment of this application;
[0043] Figure 3 is a schematic diagram of encoding and decoding performed by a transmitting end device and a receiving end device according to an embodiment of this application;
[0044] Figure 4 is a schematic diagram of the composition of a communication device provided in an embodiment of this application;
[0045] Figure 5 is a flowchart of a polar code encoding method provided in an embodiment of this application;
[0046] Figure 6 is a schematic diagram of a PC bit and an information bit provided in an embodiment of this application;
[0047] Figure 7 is a schematic diagram of a PC bit and an information bit provided in an embodiment of this application;
[0048] Figure 8 is a performance comparison diagram provided in an embodiment of this application;
[0049] Figure 9 is a performance comparison diagram provided in an embodiment of this application;
[0050] Figure 10 is a performance comparison diagram provided by an embodiment of this application;
[0051] Figure 11 is a performance comparison diagram provided by an embodiment of this application;
[0052] Figure 12 is a performance comparison diagram provided by an embodiment of this application;
[0053] Figure 13 is a schematic diagram of a polar code encoding method provided in an embodiment of this application;
[0054] Figure 14 is a schematic diagram of an information bit provided in an embodiment of this application;
[0055] Figure 15 is a performance comparison diagram provided by an embodiment of this application;
[0056] Figure 16 is a performance comparison diagram provided in an embodiment of this application;
[0057] Figure 17 is a performance comparison diagram provided by an embodiment of this application;
[0058] Figure 18 is a performance comparison diagram provided by an embodiment of this application;
[0059] Figure 19 is a performance comparison diagram provided by an embodiment of this application;
[0060] Figure 20 is a schematic diagram of a communication device provided in an embodiment of this application;
[0061] Figure 21 is a structural diagram of a communication device provided in an embodiment of this application. Detailed Implementation
[0062] Before describing the embodiments of this application, the technical terms involved in the embodiments of this application will be described.
[0063] Parity-check polar codes (PC-Polar codes) can effectively improve the spectral performance of Polar codes. They can include information bits, freeze bits, and parity check (PC) bits. The information bits can carry information bits, the freeze bits can carry freeze bits, and the PC bits can carry PC bits.
[0064] Among them, a portion of the frozen bits can be selected as PC bits. The values of the PC bits in these PC bits are different from those of other frozen bits. They are not fixed at 0, but are determined by the values of the information bits in the preceding information bits through the PC equation. Therefore, PC bits can also be called dynamic frozen bits (i.e., the position comes from the frozen bits, but the value is not fixed at 0).
[0065] In the new radio parity check polar codes (NR PC-Polar codes), the transmitting device can first perform rate matching, and then determine the information bits, freeze bits, and PC bits based on the code length and code rate after rate matching. After the PC bits are determined, the interval between the PC bits and the information bits checked by the PC bits is a fixed interval.
[0066] Before rate matching, the transmitting device can perform sub-block interleaving on the Polar code sequence with a mother code length of N, and then perform rate matching on the interleaved sequence.
[0067] For example, the transmitting device can divide a Polar code sequence with a mother code length of N into 32 sub-blocks of the same length, each sub-block being N / 32 in size. Then, referring to the sub-block interleaving pattern shown in Table 1 below, the device can perform sub-block interleaving on a sub-block basis to obtain the sub-block interleaved sequence.
[0068] Table 1 Sub-block Interweaving Pattern
[0069] It is understandable that Table 1 above is defined starting from bit 0, or it can be defined starting from bit 1. That is, the above 0, 1, ..., 31 can be replaced with 1, 2, ..., 32 respectively, without restriction.
[0070] Based on the above description, after sub-block interleaving, the transmitting device can determine the corresponding rate matching method according to the code rate R = K / E and the code length E after rate matching. Here, K represents the length of the information bit sequence, or it can also be described as the number of information bit sequences. The code length E after rate matching can also be called the transmission length E.
[0071] For example, the transmitting device can determine the mother code length N = max(min([N]) based on the length K of the information bit sequence and the code length E after rate matching. M N R N max),32). If E > N, determine the rate matching method as repetition, that is, after the transmitting device sends the mother code of length N, it sends the (E - N) bits after sub-block interleaving again. If E < N, the transmitting device can determine whether to puncture from the front to the back or shorten from the back to the front based on the current code rate R for the sequence after sub-block interleaving. If R < 7 / 16, perform rate matching in the way of puncturing from the front to the back for the sequence after sub-block interleaving, that is, puncture (N - E) bits from the front to the back for the sequence after sub-block interleaving; otherwise, shorten (N - E) bits from the back to the front for the sequence after sub-block interleaving.
[0072] where, N M and the code rate R = K / E and N DM are related, If E ≤ 9 / 8 × N DM and R < 9 / 16, then N M = N DM / 2; otherwise, N M = N DM . N R is related to K and the lowest code rate R min and, N max = 1024.
[0073] Based on the above description, the rate matching method of the NR PC-Polar code is related to the specific values of K and E, which means that the information bits, PC bits, and frozen bits corresponding to different K and E are different and cannot be nested.
[0074] Nested PC-Polar code: Different from the NR PC-Polar code, the information bits, frozen bits, and PC bits of the nested PC-Polar code are independent of the code length and code rate after rate matching. The PC bits and PC equations corresponding to different sequences of K information bits or different transmission lengths E (i.e., the code length after rate matching of the mother code length) are the same, and the PC bits and PC equations do not change with the change of K or E, that is, the PC bits and PC equations of the nested PC-Polar code are nested. The nested PC-Polar code can first determine the information bits, frozen bits, and PC bits, ensure the best performance using the same PC equation for different sequences of information bits under the mother code length, and then perform rate matching.
[0075] Among them, the rate matching method of the nested PC-Polar code is a nested puncturing sequence designed based on performance, which is a design for each (K, E) with good fine-grained performance. The following gives the rate matching process of the nested PC-Polar code obtained through performance search:
[0076] Step 1, for the input sequence of initialized rate matching Interleaving yields the interleaved sequence en = e0, e1, e2, ..., e N-1 .
[0077] in, It is a long sequence of parent codes for nested PC-Polar codes.
[0078] For example, the input sequence can be interleaved using the interleaving pattern P(n) shown in Table 2 below, and the interleaved sequence e n You can obtain it in the following way:
[0079] for n=0 to N-1
[0080] e n =d P(n)
[0081] end for
[0082] Table 2 Interlacing Patterns
[0083] It is understandable that Table 2 above is defined starting from bit 0, or it can be defined starting from bit 1. That is, the above 0, 1, ..., 31 can be replaced with 1, 2, ..., 32 respectively, without restriction.
[0084] Step 2: Perform rate matching on the interleaved sequence en. The output sequence after rate matching is f0, f1, f2, ..., f E-1 .
[0085] Where E is the code length after rate matching.
[0086] For example, the output sequence is f0, f1, f2, ..., f E-1 You can obtain it in the following way:
[0087] for k=0to E-1
[0088] f k =e k mod N
[0089] end for
[0090] Based on the above description of the interleaving patterns corresponding to nested PC-Polar codes, a search algorithm can be designed to determine the interleaving patterns corresponding to these nested PC-Polar codes according to sequence performance and nesting characteristics. That is, the interleaving patterns corresponding to nested PC-Polar codes possess nesting characteristics for sequences with different numbers of information bits and do not change with the length of the information bit sequence. This significantly reduces complexity while satisfying optimal sequence performance and nesting characteristics.
[0091] For example, a List search algorithm can be used to search for puncture positions on multiple sequence samples (which can correspond to information bit sequences of different lengths, each with a length less than or equal to K). As the number of punctures increases, the average sequence performance of all sequences is calculated. This average sequence performance is used as a metric, and the position corresponding to the optimal average sequence performance is determined as the puncture position, generating the interleaving pattern corresponding to the nested PC-Polar code. Here, the average performance can refer to the mean of the sequence's SNR@BLER = 1E-2, where SNR represents the signal-to-noise ratio and BLER represents the block error rate.
[0092] Optionally, the interleaving pattern corresponding to the nested PC-Polar codes can be determined by referring to the performance search process shown in Figure 1 below:
[0093] Step 1: Initialize the search space for the punching positions to be 0 to N-1, and the number of punches to be 0.
[0094] Step 2: Select a location from the current search space as the new punch location.
[0095] Step 3: Simulate the sequence performance of all sequences based on the current punching position.
[0096] Step 4: Take the average sequence performance of all sequences to obtain the Metric corresponding to different punch positions under the current number of punches.
[0097] Step 5: Keep the punching positions corresponding to the optimal values of the List Metrics as alternative punching positions for the current number of punches.
[0098] Step 6: Update the alternative search space for each List: Remove the current punch position from the search space.
[0099] Step 7: Increase the number of holes by one.
[0100] Step 8: Determine if the number of punches is less than the maximum number of punches. If so, continue from step 2 above until the number of punches equals the maximum number of punches. If not, output the interleaving pattern (or the optimal punching pattern) corresponding to the nested PC-Polar code.
[0101] Based on the above description, the rate matching method of nested PC-Polar codes is a nested punch sequence designed for performance, which cannot reuse the sub-block interleaving rate matching method of NR PC-Polar codes, resulting in poor NR compatibility.
[0102] To address the aforementioned problems with NR PC-Polar codes and nested PC-Polar codes, this application proposes the following embodiment: The transmitting device can map a k-bit information bit sequence to k bits of a first sequence of length N, based on a reliability sequence of length N, to obtain a second sequence. The second sequence includes k information bits, x parity check (PC) bits, and Nkx frozen bits, where k, N, and x are all positive integers. The m information bits among the k information bits are the first m bits of the second sequence sorted by reliability from highest to lowest, and the remaining (km) information bits are the bits in the second sequence corresponding to the first (km) information bits of a preset information bit set sorted by reliability from highest to lowest. The x PC bits are the x PC bits from the preset PC bit set. Polar coding is then applied to the second sequence to obtain a third sequence.
[0103] This application provides a polar code encoding scheme with nested characteristics. Different numbers of information bit sequences can be constructed into polar codes based on the same m information bits, a preset set of information bits, and a preset set of PC bits. These m information bits, the preset set of information bits, and the preset set of PC bits have nested characteristics for different numbers of information bit sequences and do not change with the number of information bit sequences. Simultaneously, the PC-Polar code with nested characteristics obtained based on these m information bits, the preset set of information bits, and the preset set of PC bits can reuse the sub-block interleaving rate matching method of NR PC-Polar codes. This PC-Polar code with nested characteristics still has good rate matching performance under the sub-block interleaving rate matching method of NR PC-Polar codes, which simplifies rate matching operations, improves NR compatibility, and enhances communication performance.
[0104] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0105] The polar code encoding method provided in this application embodiment can be used in any communication system, such as a third-generation partnership project (3GPP) communication system, for example, a long-term evolution (LTE) system; a fifth-generation (5G) mobile communication system; a hybrid LTE and 5G network system; an NR system; an NR vehicle-to-everything (V2X) system; a device-to-device (D2D) communication system; a machine-to-machine (M2M) communication system; an Internet of Things (IoT) system; a narrowband Internet of Things (NB-IoT) system; a global system for mobile communications (GSM); an enhanced data rate for GSM evolution (EDGE) system; a wideband code division multiple access (WCDMA) system; a code division multiple access (CDMA2000) system; and a time division synchronous code division multiple access (TDMA) system. Division-synchronization code division multiple access (TD-SCDMA), enhanced mobile broadband (eMBB), ultra-reliable and low-latency communication (URLLC), enhanced machine-type communication (eMTC), and various types of next-generation communication systems, such as sixth-generation (6G) mobile communication systems, can also be non-terrestrial network (NTN) systems, non-3GPP communication systems, etc., without restriction.
[0106] The polar code encoding method provided in this application can be applied to various communication scenarios, especially to channel encoding scenarios where Polar codes are used as short codes in communication systems. For example, it can be applied to one or more of the following communication scenarios: encoding of control channels, encoding of data channels, etc., without limitation.
[0107] The communication system provided in the embodiments of this application will be described below using Figure 2 as an example.
[0108] Figure 2 is a schematic diagram of a communication system provided in an embodiment of this application. As shown in Figure 2, the communication system may include at least one terminal device and at least one network device.
[0109] In Figure 2, the terminal device can be located within the beam / cell coverage area of the network device, and the network device can provide communication services to the terminal device. For example, the network device can use channel coding to encode downlink data and then transmit it to the terminal device via air interface after constellation modulation (i.e., the network device is the transmitting device, and the terminal device is the receiving device); the terminal device can also use channel coding to encode uplink data and then transmit it to the network device via air interface after constellation modulation (i.e., the terminal device is the transmitting device, and the network device is the receiving device). It is understood that when network devices communicate with each other, or when terminal devices communicate with each other, communication can also be based on channel coding; that is, the transmitting and receiving devices can both be network devices or both be terminal devices, without restriction.
[0110] The terminal device in Figure 2 can be a device with wireless transceiver capabilities or a chip or chip system that can be configured on the device. It allows users to access the network and is used to provide voice and / or data connectivity to users. The terminal device can also be called user equipment (UE), subscriber unit, terminal, mobile station (MS), or mobile terminal (MT), etc.
[0111] For example, the terminal device in Figure 2 can be a mobile phone, a tablet computer, or a computer with wireless transceiver capabilities. Terminal equipment can also be user stations, mobile stations, remote stations, remote terminal equipment, mobile terminal equipment, user terminal equipment, wireless communication equipment, user agents, user devices, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices, processing devices connected to wireless modems, in-vehicle equipment, wearable devices, terminal equipment in the Internet of Things (IoT), home appliances, virtual reality (VR) terminals, augmented reality (AR) terminals, wireless terminals in industrial control, wireless terminals in autonomous driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in smart cities, wireless terminals in smart homes, vehicles with vehicle-to-vehicle (V2V) communication capabilities, intelligent connected vehicles, and UAV-to-UAV communication. Unmanned aerial vehicles (UAVs) with U2U communication capabilities, terminal devices in future networks, or terminal devices in future evolved public land mobile networks (PLMNs) are not subject to restrictions.
[0112] In Figure 2, the network device can be any device deployed in the access network capable of wireless communication with terminal devices. It can also be a chip or chip system that can be configured within the aforementioned device, a logical node or logical module, or a function implemented in software. It can be used to implement functions such as wireless physical control, resource scheduling and wireless resource management, wireless access control, and mobility management. Specifically, the network device can be either a device supporting wired access or a device supporting wireless access.
[0113] For example, a network device may consist of one or more access network (AN) / radio access network (RAN) nodes. AN / RAN nodes may be: evolved Node B (gNB), transmission reception point (TRP), evolved Node B (eNB), radio network controller (RNC), Node B (NB), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home evolved Node B, or home Node B (HNB)), base band unit (BBU), or wireless fidelity (Wi-Fi) access point (AP), etc.
[0114] In another example, the network equipment may include a baseband unit (BBU) and a remote radio unit (RRU). The BBU and RRU can be located in different locations; for example, the RRU can be deployed remotely to a high-traffic area, while the BBU is located in a central equipment room. Alternatively, the BBU and RRU can be located in the same equipment room. Furthermore, the BBU and RRU can be different components within the same rack.
[0115] In another example, a network device can be a device that includes centralized unit (CU) nodes, distributed unit (DU) nodes, or both CU and DU nodes. For instance, a network device can be logically divided into CUs and DUs, with some protocol layer functions centrally controlled by the CU, and the remaining partial or complete protocol layer functions distributed across the DU, which is centrally controlled by the CU. Furthermore, a centralized unit (CU) can be further divided into a control plane (CU-CP) and a user plane (CU-UP). In different systems, CUs (including CU-CP or CU-UP) or DUs can have different names. For example, in an open radio access network (O-RAN) system, a CU can also be called an O-CU (open CU), a DU can be called an O-DU, a CU-CP can be called an O-CU-CP, and a CU-UP can be called an O-CU-UP.
[0116] Based on the above description of the terminal device and network device, optionally, the polar code encoding method provided in the embodiments of this application can be implemented by the aforementioned terminal device or network device, or by components of the terminal device or network device, such as by application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or software (such as program code in memory) deployed in the terminal device or network device, without limitation.
[0117] Optionally, in this embodiment of the application, the transmitting device (or source) and the receiving device (or sink) can use the process shown in Figure 3 below for encoding and decoding.
[0118] In this process, the transmitting device performs source coding on its generated bits to obtain a source bit stream. Then, it performs channel coding on the source bit stream, modulates it, and transmits the modulated symbols to the receiving device through a noisy channel. When the receiving device receives the modulated symbols through the noisy channel, it demodulates them, performs channel decoding to recover the source bit stream, and then performs source decoding to obtain the decoded result.
[0119] In specific implementation, as shown in Figure 2, each terminal device and network device can adopt the composition structure shown in Figure 4, or include the components shown in Figure 4. Figure 4 is a schematic diagram of the composition of a communication device 400 provided in an embodiment of this application. The communication device 400 can be a terminal device or a chip or system-on-a-chip in a terminal device; it can also be a network device or a chip or system-on-a-chip in a network device. As shown in Figure 4, the communication device 400 includes a processor 401, a transceiver 402, and a communication line 403.
[0120] Furthermore, the communication device 400 may also include a memory 404. The processor 401, memory 404, and transceiver 402 can be connected via a communication line 403.
[0121] The processor 401 can be a central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor 401 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation.
[0122] Transceiver 402 is used to communicate with other devices or other communication networks. These other communication networks can be Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. Transceiver 402 can be a module, circuit, transceiver, or any device capable of enabling communication.
[0123] Communication line 403 is used to transmit information between the components included in communication device 400.
[0124] Memory 404 is used to store instructions. These instructions can be computer programs.
[0125] The memory 404 can be a read-only memory (ROM) or other type of static storage device that can store static information and / or instructions; it can also be a random access memory (RAM) or other type of dynamic storage device that can store information and / or instructions; it can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.
[0126] It should be noted that the memory 404 can exist independently of the processor 401, or it can be integrated with the processor 401. The memory 404 can be used to store instructions, program code, or some data, etc. The memory 404 can be located inside or outside the communication device 400, without limitation. The processor 401 is used to execute the instructions stored in the memory 404 to implement the polar code encoding method provided in the following embodiments of this application.
[0127] In one example, processor 401 may include one or more CPUs, such as CPU0 and CPU1 in Figure 4.
[0128] As an optional implementation, the communication device 400 may include multiple processors, for example, in addition to the processor 401 in FIG4, it may also include a processor 407.
[0129] As an optional implementation, the communication device 400 also includes an output device 405 and an input device 406. For example, the input device 406 is a device such as a keyboard, mouse, microphone, or joystick, and the output device 405 is a device such as a display screen or speaker.
[0130] It should be noted that the communication device 400 can be a desktop computer, a portable computer, a web server, a mobile phone, a tablet computer, a wireless terminal, an embedded device, a chip system, or a device with a similar structure to that shown in Figure 4. Furthermore, the composition shown in Figure 4 does not constitute a limitation on the communication device. In addition to the components shown in Figure 4, the communication device may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0131] In this embodiment of the application, the chip system may be composed of chips or may include chips and other discrete devices.
[0132] Furthermore, the actions, terms, etc., involved in the various embodiments of this application can be referenced interchangeably without limitation. The message names or parameter names in the messages exchanged between the various devices in the embodiments of this application are merely examples, and other names may be used in specific implementations without limitation.
[0133] The polar code encoding method provided in this application embodiment will be described below with reference to the communication system shown in Figure 2 and Figure 5. The transmitting device can be any terminal device or network device in the communication system shown in Figure 2, and the receiving device can also be any terminal device or network device in the communication system shown in Figure 2. The transmitting or receiving device described in the following embodiments may include the components shown in Figure 4.
[0134] Figure 5 is a flowchart of a polar code encoding method provided in an embodiment of this application. As shown in Figure 5, the method may include:
[0135] Step 501: The transmitting device maps the information bit sequence of length k to k bits of the first sequence of length N based on the reliability sequence of length N, thus obtaining the second sequence.
[0136] The reliability sequence can be used to indicate the reliability of each bit in the sequence. The larger the reliability value, the more reliable the bit corresponding to that reliability. The length of the reliability sequence can be N, where N is a positive integer.
[0137] Optionally, the reliability sequence can be an NR reliability sequence.
[0138] For example, taking a reliability sequence with a length N of 32 as an example, the reliability sequence can be the reliability sequence shown in Table 3 below, where, Indicates reliability. Bits representing reliability:
[0139] Table 3 Reliability Sequence
[0140] It is understandable that Table 3 above is defined starting from bit 0, or it can be defined starting from bit 1. That is, the above 0, 1, ..., 31 can be replaced with 1, 2, ..., 32 respectively, without restriction.
[0141] Referring to the reliability sequence described above, the transmitting device can map a k-bit information bit sequence to k bits of a first sequence of length N to obtain a second sequence.
[0142] The second sequence may include k information bits, x parity check (PC) bits, and Nkx frozen bits, where k, N, and x are all positive integers. The m information bits in the k information bits are the first m bits in the second sequence sorted from highest to lowest reliability, and the remaining (km) information bits in the k information bits are the bits in the second sequence that correspond to the first (km) information bits in the preset information bit set sorted from highest to lowest reliability. The x PC bits are the x PC bits in the preset PC bit set.
[0143] For example, the length k of the information bit sequence can be any of the following values: 7, 8, 9, 10, or 11.
[0144] Optionally, the specific value of m can be determined based on row weight and reliability.
[0145] For example, the number of bits corresponding to one or more row weights can be determined as a specific value of m, sorted from highest to lowest reliability. For example, the value of m can be 6.
[0146] For example, taking the order of reliability from high to low as shown in Table 3 above, the row weight corresponding to bit 31 is 32, the row weight corresponding to bits (30, 29, 27, 23, 15) is 16, and the row weight corresponding to bits (28, 22, 25, 26, 21, 14, 13, 19, 11, 7) is 8. We can determine the specific value of m by sorting the reliability from high to low and determining the number of bits corresponding to the first two row weights. That is, we can determine the value of m as the number of bits corresponding to row weights of 32 and 16, which is 6.
[0147] It is understandable that the sending device can determine the specific value of m based on line weight and reliability, or the specific value of m can be predefined by the protocol, and the sending device can determine the specific value of m based on the protocol predefined without restriction.
[0148] Based on the above description of the value of m, the transmitting device can determine the m information bits in the second sequence according to the specific value of m and the reliability sequence.
[0149] For example, taking N as 32, m as 6, and the reliability sequence as shown in Table 3 above, the m information bits in the k information bits can be the first 6 bits in the second sequence sorted from high to low reliability. That is, the m information bits can be the following bits in the second sequence: 15, 23, 27, 29, 30, 31.
[0150] Based on the above description of the m information bits, these m information bits have nesting characteristics for different numbers of information bit sequences (such as k equals 7, 8, 9, 10, or 11), and will not change with the length of the information bit sequence, thereby reducing decoding complexity and improving decoding performance.
[0151] Optionally, the preset information bit set and the preset PC bit set can be determined based on row weight and reliability.
[0152] For NR PC-Polar codes, if the protocol predefines the number of PC bits that need to be determined as n... PC We can first determine the minimum row overlap w corresponding to k information bits. min If, after removing information bits with the same row weight from the set of bits corresponding to the minimum row weight, the number of remaining bits is greater than or equal to n. PC Then, the top n bits, sorted by reliability from highest to lowest, can be selected from the set of bits corresponding to the smallest row weight. PCEach position is used as the PC bit, and information bits with the same row weight are shifted to bits with lower reliability. If the number of remaining bits is less than n... PC Then, select the first bit from the set of bits corresponding to the smallest row weight, sorted by reliability from highest to lowest. One bit is used as the PC bit, and the remaining bits are... The number of PC bits can be determined from K+n based on reliability. PC Select the top bits from the available bits, sorted by reliability from low to high. Each bit is used as the PC bit.
[0153] For example, as shown in Figure 6(a), the number of PC bits that need to be determined is n, as predefined by the protocol. PC For example, if the number of information bits is k=4 and the number of information bits is k=10, the row weights corresponding to these 10 information bits include 32, 16, and 8. Among them, the number of information bits corresponding to row weights 32 and 16 is 6. The minimum row weight w corresponding to these 10 information bits is... min =8, the bit set corresponding to the minimum row weight of 8 includes 10 bits: (28, 22, 25, 26, 21, 14, 13, 19, 11, 7). This bit set needs to include 10 - 6 = 4 information bits. After removing the information bits with the same row weight from this bit set (i.e., removing 4 information bits), the number of remaining bits is 6, which is greater than n. PC Therefore, we can select the top n bits from the set of bits corresponding to the smallest row weight 8, sorted by reliability from highest to lowest. PC Using bits 28, 22, 25, and 26 as PC bits, information bits with the same row weight are shifted to bits with lower reliability. Thus, four bits from bits 21, 14, 13, 19, 11, and 7 can be determined as information bits.
[0154] However, if the rate matching method based on sub-block interleaving with front-to-back puncturing is adopted according to Table 1 above, bit 7 is located relatively early. When E = 24, 23, 22, 21, 20, 19, or 18, bit 7 will be punctured, so bit 7 is pre-frozen. Bit 7 in the second sequence can be set as a frozen bit (or pre-frozen bit). Therefore, for the second sequence determined according to the information bit sequence of length k, the 6 bits corresponding to row weights 32 and 16 can be determined as m = 6 information bits, and km bits can be selected as information bits from the set of bits with row weight of 8 (21, 14, 13, 19, 11).
[0155] However, the performance of the PC bits and information bits determined by the above method still needs to be improved when k is greater than or equal to 8. Therefore, the selection method of PC bits and information bits can be changed. That is, x PC bits of the second sequence can be determined according to the preset PC bit set, and km information bits of the second sequence can be determined according to the preset information bit set, so as to improve decoding performance and rate matching performance.
[0156] For example, as shown in Figure 6(b), the preset PC bit set can correspond to the following bits in the second sequence: 21, 26, 25, and 28. The preset information bit set can correspond to the following bits in the second sequence: 11, 19, 13, 14, and 22.
[0157] Optionally, the difference between the numbers of any two bits checked by any PC bit in the preset PC bit set is not 1.
[0158] For example, taking k=9 as an example, the information bits of the second sequence may include 13, 14, 22, 15, 23, 27, 29, 30, 31. Compared with the PC bit check bits including 13 and 14 (or including 14 and 15), if the PC bit check bits include one of 13 and 14 (or includes one of 14 and 15), its performance can be greatly improved. That is, when the difference between the numbers of any two bits of any PC bit check in the preset PC bit set is not 1, the decoding performance and rate matching performance can be improved.
[0159] Optionally, the interval between the PC bits and the PC check bits can be either a prime number or an even number, without restriction.
[0160] For example, with k=11, the information bits of the second sequence may include 11, 19, 13, 14, 22, 15, 23, 27, 29, 30, 31. Taking PC bit 21 as an example, for bit 11, PC bit 21 and bit 11 do not satisfy the prime number requirement. However, PC bit 21 can obtain better performance when checking bit 11. That is, the interval between the information bits checked by PC bit 21 can also be an even number to improve decoding performance and rate matching performance.
[0161] Optionally, the PC check bit can be either an information bit of the second sequence or a freeze bit of the second sequence, without restriction.
[0162] Based on the above description of the PC bit and the PC check bit, for example, as shown in the PC equation in Figure 7(b), when the PC bit is the 21st bit in the second sequence, the PC check bit can be one or more of the following bits in the second sequence: 11, 14; or, when the PC bit is the 26th bit in the second sequence, the PC check bit can be one or more of the following bits in the second sequence: 13, 19; or, when the PC bit is the 25th bit in the second sequence, the PC check bit can be one or more of the following bits in the second sequence: 13, 22; or, when the PC bit is the 28th bit in the second sequence, the PC check bit can be one or more of the following bits in the second sequence: 11, 13, 19.
[0163] Compared with the information bits, PC bits, and PC equations corresponding to the nested PC-Polar code shown in Figure 7(a), the information bits, PC bits, and PC equations provided in this application embodiment, as shown in Figure 7(b), can be compatible with the sub-block interleaving rate matching method of NR PC-Polar code while satisfying the nesting characteristics, thereby improving decoding performance and rate matching performance.
[0164] Based on the above description of the preset PC bit set, PC equation, and preset information bit set, the preset PC bit set, PC equation, and preset information bit set have nesting characteristics for information bit sequences of different numbers (e.g., k equals 7, 8, 9, 10, or 11), and will not change with the length of the information bit sequence.
[0165] Based on the above description of information bits and PC bits, optionally, the transmitting device can map the information bit sequence of length k sequentially onto the k information bits of the first sequence according to the reliability sequence, and set the values of the remaining Nk bits of the first sequence (including x PC bits and Nkx freeze bits) to 0 to obtain the second sequence.
[0166] For example, x can take the value 4.
[0167] For example, taking N=32 and k=11 as an example, the transmitting device can map the information bit sequence of length 11 to the following 11 information bits of the first sequence: (11, 19, 13, 14, 22, 15, 23, 27, 29, 30, 31), set the 4 PC bits (21, 26, 25, 28) of the first sequence to 0, and set the remaining 17 freeze bits to 0 to obtain the second sequence.
[0168] Step 502: The transmitting device performs polar coding on the second sequence to obtain the third sequence.
[0169] The transmitting device can multiply the second sequence with the Polar coding matrix to obtain the third sequence.
[0170] Optionally, the transmitting device can also use the sub-block interleaving rate matching method of NR PC-Polar code to rate match the third sequence.
[0171] The transmitting device can refer to the sub-block interleaving pattern shown in Table 1 above, perform sub-block interleaving on the third sequence in units of sub-blocks, obtain the sub-block interleaved sequence, and perform rate matching on the sub-block interleaved sequence.
[0172] Based on the method shown in Figure 5, a polar code encoding scheme with nested characteristics is provided. Different numbers of information bit sequences can be constructed using the same m information bits, a preset set of information bits, and a preset set of PC bits. These m information bits, the preset set of information bits, and the preset set of PC bits exhibit nested characteristics for different numbers of information bit sequences and do not change with the number of information bit sequences. Furthermore, the PC-Polar code with nested characteristics obtained based on these m information bits, the preset set of information bits, and the preset set of PC bits can reuse the sub-block interleaving rate matching method of NR PC-Polar codes. This PC-Polar code with nested characteristics still maintains good rate matching performance under the sub-block interleaving rate matching method of NR PC-Polar codes, simplifying rate matching operations, improving NR compatibility, and enhancing communication performance.
[0173] Optionally, based on the method shown in Figure 5 above, Figures 8 to 12 below respectively show the rate matching performance comparison of different short code schemes (such as information bit sequence lengths of 7, 8, 9, 10 or 11). Among them, the cross mark represents the performance of LTE-RM code under FHT decoding, the circle mark represents the performance of nested PC-Polar code obtained based on search under nested punctured sequence obtained based on search, the triangle mark to the right represents the performance of nested PC-Polar code obtained based on search under NR sub-block interleaving rate matching, the asterisk mark represents the performance of NR constructed Polar code (without PC check) under NR sub-block interleaving rate matching, the triangle mark pointing downward represents the performance of NR PC-Polar code under NR sub-block interleaving rate matching, and finally the triangle mark pointing to the left represents the performance of PC-Polar code with nested characteristics provided in the embodiments of this application under NR PC-Polar code sub-block interleaving rate matching.
[0174] In the performance comparison diagram, the horizontal axis is the code length E after punching, with a value ranging from 18 to N (e.g., 32), and the vertical axis is the SNR required to achieve BLER = 0.01. The lower the curve, the better the performance.
[0175] As shown in Figures 8 to 12, it can be seen that the PC-Polar code with nested characteristics provided in this application embodiment can achieve similar performance to the nested PC-Polar code obtained based on search under the NR sub-block interleaving rate matching method, and the performance can approach the performance of LTE-RM code under FHT decoding.
[0176] Figure 13 is a schematic diagram of another polar code encoding method provided in an embodiment of this application. As shown in Figure 13, the method may include:
[0177] Step 1301: The transmitting device maps the information bit sequence of length k to k bits of the first sequence of length N based on the reliability sequence of length N, thus obtaining the fourth sequence.
[0178] The reliability sequence can be used to indicate the reliability of each bit in the sequence. The larger the reliability value, the more reliable the bit corresponding to that reliability. The length of the reliability sequence can be N, where N is a positive integer.
[0179] For example, the reliability sequence can be an NR reliability sequence (or it can be described as a reliability sequence corresponding to an NR PC-Polar code). For instance, taking a reliability sequence with a length N of 32 as an example, the reliability sequence can be the reliability sequence shown in Table 3 above.
[0180] In another example, the reliability sequence can also be a reliability sequence corresponding to nested PC-Polar codes. For example, taking a reliability sequence with a length N of 32 as an example, this reliability sequence can also be the reliability sequence shown in Table 4 below, where, Indicates reliability. Bits representing reliability:
[0181] Table 4 Reliability Sequence
[0182] It is understandable that Table 4 above is defined starting from bit 0, or it can be defined starting from bit 1. That is, the above 0, 1, ..., 31 can be replaced with 1, 2, ..., 32 respectively, without restriction.
[0183] Referring to the reliability sequence above, the transmitting device can map a k-bit information bit sequence to k bits of a first sequence of length N to obtain a fourth sequence.
[0184] The fourth sequence may include k information bits, 0 PC bits, and Nk freeze bits, where k and N are both positive integers.
[0185] For example, the value of k can be any of the following: 3, 4, 5, or 6.
[0186] Based on the reliability sequences shown in Tables 3 and 4 above, as shown in Figure 14, it can be found that when the mother code length N = 32 for the ultra-short code, and the value of k can be any of the following: 3, 4, 5, or 6, the final determined information bits are the same regardless of whether the reliability sequence corresponding to the NR PC-Polar code shown in Table 3 or the reliability sequence corresponding to the nested PC-Polar code shown in Table 4 is used. Furthermore, the rate matching method corresponding to these k values after rate matching for the length E = {18, 19, 20, 21, ..., 32} is the rate matching puncturing method based on sub-block interleaving. Therefore, when the value of k can be any of the following: 3, 4, 5, or 6, the rate matching method based on sub-block interleaving of the NR PC-Polar code can be directly reused.
[0187] Based on the above description, the transmitting device can map a k-bit information bit sequence of length N onto the first k bits of the first sequence of length N, sorted by reliability from high to low, and set the remaining Nk bits to 0 to obtain the fourth sequence.
[0188] Optionally, since the number of PC bits is 0, The quantity is also 0; among them, Represents n PC (i.e., the number of PC bits) The number of PC bits that sacrifice the reliability of information bits.
[0189] For example, taking N=32 and K=3 as an example, when n PC =3, At that time, according to the reliability sequence, the three most reliable positions, 31, 30, and 29, should have been selected as information bits because the minimum row weight in the information bit set is equal to 2. 4 =16, This means that the position with the highest reliability needs to be selected from the positions with a row weight of 16 as the PC position. In the information bits, the row weights of 30 and 29 are both 16, and the reliability of 30 is higher. Therefore, the 30th position becomes the PC position, and 28 becomes the new information bit with reduced reliability.
[0190] Step 1302: The transmitting device performs polar coding on the fourth sequence to obtain the fifth sequence.
[0191] The transmitting device can multiply the fourth sequence with the Polar coding matrix to obtain the fifth sequence.
[0192] Step 1303: The transmitting device performs rate matching on the fifth sequence according to the punching method from front to back to obtain the sixth sequence.
[0193] As shown in Figure 14, the information bits for k = {3, 4, 5, 6} are (29 30 31), (27 29 30 31), (23 27 29 30 31), and (15 23 27 29 30 31), respectively. That is, the information bits for k = 3 are a subset of the information bits for k = 4, the information bits for k = 4 are a subset of the information bits for k = 5, and the information bits for k = 5 are a subset of the information bits for k = 6. Therefore, if the sub-block interleaving rate matching method based on NR PC-Polar code adopts the shortening method from back to front, these positions will be shortened, and the nesting characteristic of the information bits cannot be guaranteed. At the same time, since the code rate of the control information will not be too high, from a performance perspective, the rate matching method in the medium and low code rate range will have better performance when the punching method from front to back is adopted.
[0194] Optionally, before the transmitting device performs rate matching on the fifth sequence according to the front-to-back punching method, it can also perform sub-block interleaving on the fifth sequence according to the first interleaving pattern.
[0195] For example, the first interleaving pattern can be the interleaving pattern shown in Table 1 above. This first interleaving pattern can also be described as: indicating that the values on the Ath sub-block of the fifth sequence are swapped and placed on the Bth sub-block of the interleaved fifth sequence; the mapping relationship between A and B is: (31, 31), (30, 30), (29, 29), (27, 28), (28, 27), (26, 26), (25, 25), (24, 24), (23, 23), ( 15, 22), (22, 21), (14, 20), (21, 19), (13, 18), (20, 17), (12, 16), (19, 15), (11, 14), (18, 13), (10, 12), (17, 11), (9, 10), (16, 9), (8, 8), (7, 7), (6, 6), (5, 5), (3, 4), (4, 3), (2, 2), (1, 1), (0, 0).
[0196] Based on the method shown in Figure 13, a polar code encoding scheme with nested characteristics is provided. Different numbers of k information bit sequences can be constructed using k information bits and 0 PC bits based on the same reliability sequence. These k information bits and 0 PC bits exhibit nested characteristics for different numbers of information bit sequences and do not change with the number of information bit sequences. Simultaneously, the PC-Polar code with nested characteristics obtained based on these k information bits and 0 PC bits can be rate-matched and punctured using the sub-block interleaving method of NR PC-Polar codes from front to back, ensuring the nested characteristics of the information bits. This PC-Polar code with nested characteristics still maintains good rate-matching performance under the sub-block interleaving rate-matching and puncturing method of NR PC-Polar codes, simplifying rate-matching operations, improving NR compatibility, and enhancing communication performance.
[0197] Optionally, based on the method shown in Figure 13 above, Figures 15 to 18 below respectively show the rate matching performance comparison of different short code schemes (such as information bit sequence lengths of 3, 4, 5, or 6). Among them, the cross mark represents the performance of LTE-RM code under FHT decoding, the circle mark represents the performance of nested PC-Polar code obtained based on search under nested punctured sequence obtained based on search, the triangle mark to the right represents the performance of nested PC-Polar code obtained based on search under NR sub-block interleaving rate matching, the asterisk mark represents the performance of Polar code constructed by NR (without PC check) under NR sub-block interleaving rate matching, the triangle mark pointing downward represents the performance of NR PC-Polar code under NR sub-block interleaving rate matching, and finally the triangle mark pointing to the left represents the performance of PC-Polar code with nested characteristics provided in the embodiments of this application under NR PC-Polar code sub-block interleaving rate matching.
[0198] In the performance comparison diagram, the horizontal axis is the code length E after punching, with a value ranging from 18 to N (e.g., 32), and the vertical axis is the SNR required to achieve BLER = 0.01. The lower the curve, the better the performance.
[0199] As shown in Figures 15 to 18, it can be seen that the PC-Polar code with nested characteristics provided in this application embodiment can achieve similar performance to the nested PC-Polar code obtained based on search when using the NR sub-block interleaving rate matching puncturing method, and the performance can approach the performance of LTE-RM code under FHT decoding.
[0200] Optionally, based on the method shown in Figure 13 above, Figure 19 below shows a comparison of rate matching performance for different short code schemes (such as information bit sequence lengths of 3, 4, 5, or 6). In this figure, the cross marks represent the performance of LTE-RM codes under FHT decoding, the circles represent the performance of nested PC-Polar codes obtained based on the search under nested puncturing sequences obtained based on the search, the asterisks represent the performance of NR-constructed Polar codes (without PC checksums) under NR sub-block interleaving rate matching, and the triangles represent the performance of PC-Polar codes with nesting characteristics provided in the embodiments of this application under the NR sub-block interleaving rate matching puncturing method.
[0201] In the performance comparison diagram, the horizontal axis is the code length E after punching, with a value ranging from 18 to N (e.g., 32), and the vertical axis is the SNR required to achieve BLER = 0.01. The lower the curve, the better the performance.
[0202] As shown in Figure 19, it can be seen that the performance of the PC-Polar code with nested characteristics provided in this application embodiment under the NR sub-block interleaving rate matching puncturing method is close to the performance of the puncturing sequence obtained based on performance nesting search, and is better than the performance of the LTE-RM code under rate matching.
[0203] It should be noted that the above embodiments are all illustrated using the definition starting from bit 0. It can be understood that the definition can also be illustrated starting from bit 1, that is, the above 0, 1, ..., 31 can be replaced with 1, 2, ..., 32 respectively, without restriction.
[0204] Furthermore, the above method is illustrated using very short codes with an information bit sequence length of 3 to 11 as an example. It is understood that the length of the very short code is not limited to 3 to 11, and can also be other lengths. The information bit sequence can also be a pre-transform polar code, a polarization adjusted convolutional (PAC) code, etc., without restriction.
[0205] It should be noted that the various embodiments of this application can be implemented independently or in combination, without limitation. Unless otherwise specified or in conflict, the terminology and / or descriptions between the different embodiments provided in this application are consistent and can be referenced mutually. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.
[0206] It is understood that in the embodiments of this application, the executing entity may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the various steps may be executed in different orders as presented in the embodiments of this application, and it is not necessarily necessary to execute all the operations in the embodiments of this application.
[0207] The foregoing primarily describes the solutions provided in this application from the perspective of device-to-device interaction. It is understood that each device, in order to achieve the aforementioned functions, includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0208] This application embodiment can divide each device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0209] With each function divided into a functional module, Figure 20 shows a communication device 200. This communication device 200 can perform the actions performed by the transmitting device in the methods shown in Figures 5 to 19. All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.
[0210] The communication device 200 may include a transceiver module 2001 and a processing module 2002. Exemplarily, the communication device 200 may be a communication equipment, or a chip or other combination device or component having the aforementioned communication device functions. When the communication device 200 is a communication equipment, the transceiver module 2001 may be a transceiver, which may include an antenna and radio frequency circuits; the processing module 2002 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the communication device 200 is a component having the aforementioned communication device functions, the transceiver module 2001 may be a radio frequency unit; the processing module 2002 may be a processor (or processing circuit), such as a baseband processor. When the communication device 200 is a chip system, the transceiver module 2001 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 2002 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. It should be understood that the transceiver module 2001 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 2002 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).
[0211] For example, the transceiver module 2001 can be used to perform all the transceiver operations performed by the communication device in the embodiments shown in Figures 5 to 19, and / or other processes to support the technology described herein; the processing module 2002 can be used to perform all operations other than the transceiver operations performed by the communication device in the embodiments shown in Figures 5 to 19, and / or other processes to support the technology described herein.
[0212] As another possible implementation, the transceiver module 2001 in Figure 20 can be replaced by a transceiver unit that integrates the functions of the transceiver module 2001; the processing module 2002 can be replaced by a processor that integrates the functions of the processing module 2002. Furthermore, the communication device 200 shown in Figure 20 may also include a memory.
[0213] Alternatively, when the processing module 2002 is replaced by a processor and the transceiver module 2001 is replaced by a transceiver, the communication device 200 involved in the embodiments of this application can also be the communication device 210 shown in FIG. 21, wherein the processor can be a logic circuit 2101 and the transceiver can be an interface circuit 2102. Furthermore, the communication device 210 shown in FIG. 21 can also include a memory 2103.
[0214] This application also provides a computer program product that, when executed by a computer, can implement the functions of any of the above method embodiments.
[0215] This application also provides a computer program that, when executed by a computer, can implement the functions of any of the above method embodiments.
[0216] This application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the computer-readable storage medium, and when executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the terminal (including a data sending end and / or a data receiving end) of any of the foregoing embodiments, such as the terminal's hard disk or memory. The computer-readable storage medium can also be an external storage device of the terminal, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal. Further, the computer-readable storage medium can include both the terminal's internal storage unit and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0217] It should be noted that the terms "first" and "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first" and "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.
[0218] Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0219] It should be understood that in this application, "at least one (item)" means one or more. "More than one" means two or more. "At least two (items)" means two or three or more. "And / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple. Both "...when" and "if" indicate that a corresponding action will be taken under certain objective circumstances. They are not time limits, nor do they require a judgment action to be taken when the action is taken, nor do they imply any other limitations.
[0220] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0221] In this application, "sending information to...(terminal device)" can be understood as the destination of the information being the terminal device. This can include sending information directly or indirectly to the terminal device. "Receiving information from...(terminal device)" can be understood as the source of the information being the terminal device, and can include receiving information directly or indirectly from the terminal device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source.
[0222] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0223] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0224] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0225] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0226] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of this application embodiment, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
Claims
1. A polar code encoding method, characterized in that, include: Based on a reliability sequence of length N, an information bit sequence of length k is mapped to k bits of a first sequence of length N to obtain a second sequence. The second sequence includes k information bits, x parity check (PC) bits, and Nkx frozen bits, where k, N, and x are all positive integers. The m information bits among the k information bits are the first m bits of the second sequence sorted by reliability from highest to lowest. The remaining (km) information bits among the k information bits are the bits in the second sequence corresponding to the first (km) information bits of a preset information bit set sorted by reliability from highest to lowest. The x PC bits are the x PC bits from the preset PC bit set. The second sequence is polar-coded to obtain the third sequence.
2. The method according to claim 1, characterized in that, The value of k can be any one of the following: 7, 8, 9, 10, or 11.
3. The method according to claim 1 or 2, characterized in that, The m information bits are the following bits in the second sequence: 15, 23, 27, 29, 30, 31.
4. The method according to any one of claims 1-3, characterized in that, The preset information bit set corresponds to the following bits in the second sequence: 11, 19, 13, 14, and 22.
5. The method according to any one of claims 1-4, characterized in that, The difference between the numbers of any two bits in the PC bit check is not 1.
6. The method according to any one of claims 1-5, characterized in that, The preset PC bit set corresponds to the following bit bits in the second sequence: 21, 26, 25, and 28.
7. The method according to claim 6, characterized in that, When the PC bit is the 21st bit in the second sequence, the bits used for PC bit verification are one or more of the following bits in the second sequence: 11, 14; or When the PC bit is the 26th bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 13, 19; or When the PC bit is the 25th bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 13, 22; or When the PC bit is the 28th bit in the second sequence, the bits for checking the PC bit are one or more of the following bits in the second sequence: 11, 13, 19.
8. The method according to any one of claims 1-7, characterized in that, Bit 7 in the second sequence is the freeze bit.
9. A polar code encoding method, characterized in that, include: Based on a reliability sequence of length N, an information bit sequence of length k is mapped onto k bits of a first sequence of length N to obtain a fourth sequence; wherein, the fourth sequence includes k information bits, 0 parity check (PC) bits and Nk freeze bits, where k and N are both positive integers. The fourth sequence is polar-coded to obtain the fifth sequence; The fifth sequence is rate-matched by punching holes from front to back to obtain the sixth sequence.
10. The method according to claim 9, characterized in that, The value of k can be any of the following: 3, 4, 5, or 6.
11. The method according to claim 9 or 10, characterized in that, Before performing rate matching on the fifth sequence according to the front-to-back punching method, the method further includes: According to the first interleaving pattern, the fifth sequence is subjected to sub-block interleaving; Wherein, the first interleaving pattern is used to indicate that the values on the Ath sub-block of the fifth sequence are swapped and placed on the Bth sub-block of the interleaved fifth sequence; the mapping relationship between A and B is: (31, 31), (30, 30), (29, 29), (27, 28), (28, 27), (26, 26), (25, 25), (24, 24), (23, 23), (15, 22), (22, 21), (14, 20), (21, 19), (13, 18), (20, 17), (12, 16), (19, 15), (11, 14), (18, 13), (10, 12), (17, 11), (9, 10), (16, 9), (8, 8), (7, 7), (6, 6), (5, 5), (3, 4), (4, 3), (2, 2), (1, 1), (0, 0).
12. A communication device, characterized in that, include: The processing module is used to map a k-bit information bit sequence of length N to k bits of a first sequence of length N, based on a reliability sequence of length N, to obtain a second sequence. The second sequence includes k information bits, x parity check (PC) bits, and Nkx frozen bits, where k, N, and x are all positive integers. The m information bits among the k information bits are the first m bits of the second sequence sorted by reliability from highest to lowest. The remaining (km) information bits among the k information bits are the bits in the second sequence corresponding to the first (km) information bits of a preset information bit set sorted by reliability from highest to lowest. The x PC bits are the x PC bits in the preset PC bit set. The processing module is further configured to perform polar coding on the second sequence to obtain a third sequence.
13. The apparatus according to claim 12, characterized in that, The value of k can be any one of the following: 7, 8, 9, 10, or 11.
14. The apparatus according to claim 12 or 13, characterized in that, The m information bits are the following bits in the second sequence: 15, 23, 27, 29, 30, 31.
15. The apparatus according to any one of claims 12-14, characterized in that, The preset information bit set corresponds to the following bits in the second sequence: 11, 19, 13, 14, and 22.
16. The apparatus according to any one of claims 12-15, characterized in that, The difference between the numbers of any two bits in the PC bit check is not 1.
17. The apparatus according to any one of claims 12-16, characterized in that, The preset PC bit set corresponds to the following bit bits in the second sequence: 21, 26, 25, and 28.
18. The apparatus according to claim 17, characterized in that, When the PC bit is the 21st bit in the second sequence, the bits used for PC bit verification are one or more of the following bits in the second sequence: 11, 14; or When the PC bit is the 26th bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 13, 19; or When the PC bit is the 25th bit in the second sequence, the PC bit check bit is one or more of the following bits in the second sequence: 13, 22; or When the PC bit is the 28th bit in the second sequence, the bits for checking the PC bit are one or more of the following bits in the second sequence: 11, 13, 19.
19. The apparatus according to any one of claims 12-18, characterized in that, Bit 7 in the second sequence is the freeze bit.
20. A communication device, characterized in that, include: The processing module is used to map an information bit sequence of length k to k bits of a first sequence of length N based on a reliability sequence of length N, to obtain a fourth sequence; wherein the fourth sequence includes k information bits, 0 parity check (PC) bits and Nk freeze bits, where k and N are both positive integers. The processing module is further configured to perform polar coding on the fourth sequence to obtain a fifth sequence; The processing module is further configured to perform rate matching on the fifth sequence according to the punching method from front to back to obtain the sixth sequence.
21. The apparatus according to claim 20, characterized in that, The value of k can be any of the following: 3, 4, 5, or 6.
22. The apparatus according to claim 20 or 21, characterized in that, Before the processing module performs rate matching on the fifth sequence according to the forward-to-back punching method, the processing module is further configured to: According to the first interleaving pattern, the fifth sequence is subjected to sub-block interleaving; Wherein, the first interleaving pattern is used to indicate that the values on the Ath sub-block of the fifth sequence are swapped and placed on the Bth sub-block of the interleaved fifth sequence; the mapping relationship between A and B is: (31, 31), (30, 30), (29, 29), (27, 28), (28, 27), (26, 26), (25, 25), (24, 24), (23, 23), (15, 22), (22, 21), (14, 20), (21, 19), (13, 18), (20, 17), (12, 16), (19, 15), (11, 14), (18, 13), (10, 12), (17, 11), (9, 10), (16, 9), (8, 8), (7, 7), (6, 6), (5, 5), (3, 4), (4, 3), (2, 2), (1, 1), (0, 0).
23. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instructions that cause the encoding method of the polar code as described in any one of claims 1-8 to be executed, or cause the encoding method of the polar code as described in any one of claims 9-11 to be executed.
24. The communication device according to claim 23, characterized in that, The communication device further includes a memory for storing the computer program or instructions.
25. A communication device, characterized in that, The communication device includes an interface circuit and a logic circuit; the interface circuit is used to input and / or output information; the logic circuit is used to execute the polar code encoding method as described in any one of claims 1-8, or to execute the polar code encoding method as described in any one of claims 9-11, and to process and / or generate the information based on the information.
26. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the encoding method of polar codes as described in any one of claims 1-8 to be executed, or cause the encoding method of polar codes as described in any one of claims 9-11 to be executed.
27. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are executed on a computer, they cause the encoding method of the polar code as described in any one of claims 1-8 to be executed, or cause the encoding method of the polar code as described in any one of claims 9-11 to be executed.