A polar code-based BP decoding method, device and medium

By optimizing the node computation and update timing of the polar code BP decoding method and introducing an early termination condition, the problems of decoding latency and storage resource waste are solved, and an efficient decoding process is achieved.

CN115276671BActive Publication Date: 2026-06-02BEIJING INST OF ELECTRONICS SYST ENG

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING INST OF ELECTRONICS SYST ENG
Filing Date
2022-06-24
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Traditional BP decoding methods for polar codes have high parallelism and large space complexity, and require a high number of iterations at low signal-to-noise ratios, resulting in decoding latency and wasted storage resources.

Method used

By changing the timing of the computation update of the nodes closer to the decoding end, the left and right information are updated layer by layer, and an early termination condition is introduced to optimize the decoding process.

Benefits of technology

It reduces the number of decoding iterations and storage resource requirements, improves decoding efficiency, reduces decoding latency, and saves memory resources while ensuring performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115276671B_ABST
    Figure CN115276671B_ABST
Patent Text Reader

Abstract

One embodiment of the present application discloses a BP decoding method, device and medium based on a polar code, the method comprising: S1: initializing left information and right information of each layer according to a preset factor graph; S2: updating and calculating the left information from the channel end to the n-m layer layer by layer, after completing the first traversal update, updating and calculating the right information from the n-m layer to the channel end layer by layer; S3: recursively and parallelly updating and calculating the left information and the right information of each node in the group according to a certain order; S4: repeating S2 and S3 until the decoding iteration number meets the early termination condition or reaches the set maximum number, and obtaining the decoding result of the i-th bit by performing hard decision on the value of the i-th bit in the right information matrix. λ=0 The information data in this column is determined according to the value of the i-th bit in the right information matrix. λ=n‑1 (i) and the value of L λ=n‑1 The present application solves the problems of high parallel degree, large space complexity and high iteration number required to achieve ideal performance of the traditional BP decoding method of the polar code.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of wireless communication technology. More specifically, it relates to a BP decoding method, apparatus, and medium based on polar codes. Background Technology

[0002] In 2009, E. Arikan proposed a novel channel coding scheme—polar codes. Polar codes are currently the only channel coding scheme proven to achieve sufficient channel capacity. Compared to traditional LDPC codes, polar codes exhibit lower encoding / decoding complexity and better encoding / decoding performance. Therefore, polar codes have significant research and practical value, and have been selected as the control channel coding scheme for 5G eMBB (enhanced Mobile Broadband) scenarios at 3GPP meetings. Clearly, polar codes have a very broad application prospect and possess the potential for further in-depth research.

[0003] Traditional backpropagation (BP) decoding methods can perform parallel computations within each frame, resulting in high space complexity. To improve the practicality of BP decoding, many scholars have further optimized the BP decoding method from the perspective of reducing decoding complexity.

[0004] Some scholars have introduced an early stopping mechanism [Simsek C.,Turk K.Simplified Early Stopping Criterion for Belief-Propagation Polar Code Decoders[J].IEEE Communications Letters,2016,20(8):1515–1518.], which means that after each iteration, an early stopping condition is used to judge the process. If the condition is met, the next iteration will not be performed. This mechanism can reduce the number of iterations while achieving the same performance, thereby reducing the time complexity of the decoding method. However, the reduction in the number of decoding iterations is only significant under high signal-to-noise ratio. Under low signal-to-noise ratio, the number of iterations is still relatively high, resulting in a limited effect on reducing decoding delay. To further improve decoding throughput [Lin J., Yan Z. and Wang Z. Efficient Soft Cancelation Decoder Architectures for Polar Codes[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2017, 25(1): 87–99.], Lin Jun et al. introduced special nodes to prune the decoding binary tree, which can effectively reduce decoding latency, but sacrifices some performance. Summary of the Invention

[0005] In view of this, the first embodiment of the present invention provides a BP decoding method based on polar codes, characterized in that it includes:

[0006] S1: Initialize the left and right information of each layer according to the preset factor diagram;

[0007] S2: The nm layer closest to the channel end updates and calculates the left information layer by layer from the channel end to the nm layer. After completing one traversal update, the right information is updated and calculated layer by layer from the nm layer to the channel end.

[0008] S3: The m-layer groups near the decoding end recursively update the left and right information of each node in the calculation group in a certain order;

[0009] S4: Repeat S2 and S3 until the decoding iteration count meets the early termination condition or reaches the set maximum number of iterations, and obtain B stored in the right information matrix. λ=0 This column of information data represents the soft information output by the decoder, based on B. λ=n-1 (i)+L λ=n-1 The value of (i) is used for hard decision to determine the decoding result of the i-th bit.

[0010] In one specific embodiment, the early termination condition is:

[0011] After each iteration, if the estimated value of the decoding result is... satisfy in, Given the LLR (Log Likelihood Ratio) information estimate at the channel end, and G as the pre-defined generator matrix based on polar code encoding, decoding is terminated early, and the decoding result is output. Conversely, continue to the next iteration.

[0012] In one specific embodiment, S2 includes:

[0013] For the nm layer closest to the channel end, the left information is updated and calculated layer by layer from the channel end to the nm layer. After completing one traversal update, the right information is then updated and calculated layer by layer from the nm layer to the channel end.

[0014]

[0015]

[0016]

[0017]

[0018] in, and Let represent the left and right information of node (i, j) based on the log-likelihood ratio (LLR) during the t-th iteration, respectively, and α be a constant coefficient.

[0019] In one specific embodiment, S3 includes:

[0020] The m-layer groups near the decoding end are recursively updated in parallel according to a certain order, updating the left information of the nodes within the group:

[0021] φ is an even number

[0022] φ is an odd number

[0023] Update the right information of nodes within the group:

[0024]

[0025]

[0026] Where φ represents the group number of the node, and ω represents the sequence number within the group.

[0027] In one specific embodiment, S1 includes:

[0028] Initialize left information L λ=0 This refers to the channel log-likelihood ratio information;

[0029] Initialize right information B λ=n-1 The information bits are initialized to 0, the freeze bits are initialized to infinity, and the right information B and left information L of each other layer are initialized to 0.

[0030] In one specific embodiment, the maximum number of iterations is set manually or obtained in advance through simulation experiments based on the code length and code rate of the polar code.

[0031] A second embodiment of the present invention provides a computer device, including a processor and a memory storing a computer program, characterized in that the processor executes the program to implement the method described in the first embodiment.

[0032] A third embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, characterized in that the program, when executed by a processor, implements the method described in the first embodiment.

[0033] The beneficial effects of this invention are as follows:

[0034] This invention provides a BP decoding method, device, and medium based on polar codes. By having the nm layer, which is close to the channel end, update and calculate the left information layer by layer from the channel end to the nm layer, and after completing one traversal update, update and calculate the right information layer by layer from the nm layer to the channel end. Meanwhile, the m layer, which is close to the decoding end, updates and calculates the left and right information of each node in the group in a certain order in parallel. This solves the problems of high parallelism, large space complexity, and high number of iterations required to achieve ideal performance in the traditional BP decoding method of polar codes. By changing the calculation and update timing of the nodes in the layers close to the decoding end, the convergence speed of the BP decoding method is accelerated, thereby reducing latency and saving memory resources. Attached Figure Description

[0035] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0036] Figure 1 A schematic flowchart of a polar code-based BP decoding method according to an embodiment of the present invention is shown.

[0037] Figure 2 A schematic diagram of a preset factor graph is shown according to an embodiment of the present invention;

[0038] Figure 3 A schematic diagram showing the performance curve of a polar code-based BP decoding method according to an embodiment of the present invention is provided.

[0039] Figure 4 A schematic diagram of the structure of a computer device according to another embodiment of the present invention is shown. Detailed Implementation

[0040] To make the present invention, its technical solutions, and advantages clearer, the embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.

[0041] like Figure 1 As shown, one embodiment of the present invention provides a BP decoding method based on polar codes, comprising:

[0042] S1: Initialize the left and right information of each layer according to the preset factor diagram;

[0043] In one specific embodiment, S1 includes:

[0044] Initialize left information L λ=0 This refers to the channel log-likelihood ratio information;

[0045] Initialize right information B λ=n-1 The information bits are initialized to 0, the freeze bits are initialized to infinity, and the right information B and left information L of each other layer are initialized to 0.

[0046] S2: The nm layer closest to the channel end updates and calculates the left information layer by layer from the channel end to the nm layer. After completing one traversal update, the right information is updated and calculated layer by layer from the nm layer to the channel end.

[0047] In one specific embodiment, S2 includes:

[0048] In the nm layer closest to the channel end, the left information is updated and calculated layer by layer from the channel end to the nm layer. After completing one traversal update, when updating and calculating the right information layer by layer from the nm layer to the channel end:

[0049]

[0050]

[0051]

[0052]

[0053] in, and These represent the left and right information of node (i, j) based on the log-likelihood ratio (LLR) during the t-th iteration, respectively. α is a constant coefficient, which can be set by those skilled in the art according to the actual situation.

[0054] S3: The m-layers closest to the decoding end calculate the timing of the new nodes, that is, each layer group updates the left and right information of each node in the group in a certain order in parallel.

[0055] In this embodiment, the m-th layer closest to the decoding end can update the left and right information of each node according to the node computation timing of the polar code SC decoding method in the prior art. That is, for the node of the i-th (1≤i≤m) layer, the left and right information of each node are updated. i-1 Each node is divided into a group, and the left or right information of the nodes within the group is updated in parallel within a time period. For example, in a specific example, S3 includes:

[0056] The m-layer closest to the decoder follows the new node computation timing, meaning that each layer group updates the left and right information of each node within the group in a recursive and parallel manner according to a certain order. When updating the left information of the nodes within the group:

[0057] φ is an even number

[0058] φ is an odd number

[0059] When updating the right information of nodes within a group:

[0060]

[0061]

[0062] Where φ represents the group number of the node, and ω represents the sequence number within the group.

[0063] In this embodiment, by updating the left information when each node of layer m near the decoding end transmits information to the left, it is ensured that the information of the frozen bit and the information from the channel pass through the entire factor graph in any iteration, thereby speeding up the convergence speed and reducing the number of iterations.

[0064] In a specific example, with Figure 2 Taking the preset factor graph shown below, with m=2 as an example, the update timing of the left information L and right information B of each node in the m layers closest to the decoder is shown in the table below:

[0065]

[0066] For these layers, the formula for calculating the left information is as follows:

[0067] φ is an even number

[0068] φ is an odd number

[0069] The formula for calculating the right information is as follows:

[0070]

[0071]

[0072] Where φ represents the group number of the node, and ω represents the sequence number within the group.

[0073] An iteration is completed when the information completes the process of updating from right to left and then from left to right. This ensures that in any iteration, the information from the frozen bits and the information from the channel pass through the entire factor graph, accelerating the convergence speed and thus reducing the number of iterations.

[0074] S4: Repeat S2 and S3 until the decoding iteration count meets the early termination condition or reaches the set maximum number of iterations, and obtain B stored in the right information matrix. λ=0 This column of information data represents the soft information output by the decoder, based on B. λ=n-1 (i)+L λ=n-1The value of (i) is used for hard decision to determine the decoding result of the i-th bit.

[0075] In this embodiment, by changing the calculation and update timing of several layers of nodes near the decoding end, the convergence speed of the BP decoding method is accelerated, which solves the problems of high parallelism, large space complexity, and high number of iterations required to achieve ideal performance in the traditional BP decoding method for polar codes. This achieves the purpose of reducing latency and also saves memory resources.

[0076] In one specific embodiment, the maximum number of iterations is set manually or obtained in advance through simulation experiments based on the code length and code rate of the polar code.

[0077] In this embodiment, the physical meaning of setting the maximum number of iterations M is: to determine the polar code with code length and code rate (polar code code length N = 2). n The maximum number of iterations M is typically required to achieve a certain decoding performance in BP decoding. The maximum number of iterations M can be determined manually based on experience, or it can be determined through a large number of simulation experiments based on different code lengths and code rates, thereby avoiding meaningless calculations and improving the overall decoding efficiency.

[0078] In one specific embodiment, the early termination condition is:

[0079] After each iteration, if the estimated value of the decoding result is... satisfy in, Given the LLR (Log Likelihood Ratio) information estimate at the channel end, and G as the pre-defined generator matrix based on polar code encoding, decoding is terminated early, and the decoding result is output. Conversely, continue to the next iteration.

[0080] In this embodiment, the estimated value of the decoding result is judged after each iteration. If the judgment condition is met, the decoding is terminated early and the decoding result is output. Otherwise, the next iteration continues. This reliably and efficiently reduces most of the redundant iterations, reduces the time complexity of the decoding method, and improves the efficiency of BP decoding of polar codes.

[0081] In this invention, it is easy to see from the formulas and timing tables that the right information B with even group numbers is not needed in the calculation of the left information L in the next iteration and will be recalculated (it can be overwritten, and does not need to be fully stored); the right information B with odd group numbers will be used in the calculation of the left information L in the next iteration (it cannot be overwritten). Therefore, we assume that there are m layers of nodes updated with the new timing, then as follows Figure 1 As shown, each layer of L information only needs to allocate storage space in region 1, and each layer of B information only needs to allocate storage space in regions 1 and 2. Therefore, the storage requirement for the left information is reduced from the original N(n+1) to... The storage requirement for the right information has been reduced from N(n+1) to

[0082] In a specific example, such as Figure 3 As shown, taking the (1024, 512) polar code as an example, the frame error rate (FER) performance curves of decoding with different layers using the new timing sequence are simulated. For example, the FER performance curves of 3 layers, 4 layers, and 5 layers using the polar code-based BP decoding method described in this embodiment are simulated, all employing an early stopping mechanism. It can be seen that when 3 layers are selected for decoding with the new timing sequence, the curve marked by the blue pentagram in the figure basically matches the performance of the traditional BP decoding method.

[0083] Therefore, we then statistically analyzed the average number of iterations of the polar code-based BP decoding method described in this embodiment under different signal-to-noise ratios when selecting 3 layers, and compared it with the average number of iterations of the traditional BP decoding method. Taking the (1024,512) polar code as an example, the degree of reduction is shown in the table below.

[0084] 1dB 1.5dB 2dB 2.5dB 3dB 3.5dB 4dB BP decoding method 48.16 25.12 11.84 6.75 4.98 4.17 3.49 The BP decoding method provided by this invention 42.94 24.68 11.22 6.66 4.89 4.07 3.35 degree of reduction 10.8% 1.8% 5.2% 1.3% 1.8% 2.4% 4.0%

[0085] The statistical results presented in the table above, combined with the performance curves, show that the polar code-based BP decoding method proposed in this embodiment significantly reduces the average number of iterations compared to the traditional BP decoding method while maintaining lossless performance, thus achieving the goal of reducing decoding latency. Furthermore, the polar code-based BP decoding method proposed in this embodiment can reduce the total storage requirement. For example, taking the (1024, 512) polar code as an example, the total storage requirement of the traditional BP decoding method is:

[0086] N(n+1)+N(n+1)=1024*(10+1)+1024*(10+1)=22528,

[0087] The total storage requirement of the BP decoding method provided by this invention is:

[0088]

[0089] Therefore, the total storage requirement can be reduced by 20.3% compared to a traditional BP decoder.

[0090] It can be seen that this embodiment solves the problems of high parallelism, large space complexity, and high number of iterations required to achieve ideal performance in the traditional BP decoding method for polar codes by changing the calculation and update timing of several layers of nodes near the decoding end. This is achieved by having the nm layer near the channel end update and calculate the left information layer by layer from the channel end to the nm layer, and the m layer near the decoding end update and calculate the left and right information of each node in the group in a certain order.

[0091] Another embodiment of the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the following: S1: Initialize the left and right information of each layer according to a preset factor graph; S2: For the nm layer near the channel end, update and calculate the left information layer by layer from the channel end to the nm layer. After completing one traversal update, update and calculate the right information layer by layer from the nm layer to the channel end; S3: For the m layer near the decoding end, update and calculate the left and right information of each node in the calculation group in a certain order and in parallel; S4: Repeat S2 and S3 until the number of decoding iterations meets the early termination condition or reaches the set maximum number of iterations, and obtain the B stored in the right information matrix. λ=0 This column of information data represents the soft information output by the decoder, based on B. λ=n-1 (i)+L λ=n-1 The value of (i) is used for hard decision to determine the decoding result of the i-th bit.

[0092] In practical applications, the computer-readable storage medium can be any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. For example, a computer-readable storage medium can be, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this embodiment, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0093] like Figure 4As shown, another embodiment of the present invention provides a structural schematic diagram of a computer device. Figure 4 The computer device 12 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of the present invention.

[0094] like Figure 4 As shown, the computer device 12 is represented in the form of a general-purpose computing device. The components of the computer device 12 may include, but are not limited to: one or more processors or processing units 16, system memory 28, and a bus 18 connecting different system components (including system memory 28 and processing unit 16).

[0095] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.

[0096] Computer device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by computer device 12, including volatile and non-volatile media, removable and non-removable media.

[0097] System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. Computer device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (…). Figure 4 Not shown; usually referred to as a "hard drive"). Although Figure 4 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of the present invention.

[0098] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of the present invention.

[0099] Computer device 12 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable a user to interact with the computer device 12, and / or with any device that enables the computer device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed through input / output (I / O) interface 22. Furthermore, computer device 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) through network adapter 20. Figure 4 As shown, network adapter 20 communicates with other modules of computer device 12 via bus 18. It should be understood that, although... Figure 4 As not shown, it can be used in conjunction with computer device 12 with other hardware and / or software modules, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0100] The processor unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, such as implementing a BP decoding method based on polar codes provided in this embodiment of the invention.

[0101] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. For those skilled in the art, other variations or modifications can be made based on the above description. It is impossible to exhaustively list all the implementation methods here. All obvious variations or modifications derived from the technical solutions of the present invention are still within the protection scope of the present invention.

Claims

1. A BP decoding method based on polar codes, characterized in that, include: S1: Initialize the left and right information of each layer according to the preset factor diagram; S2: Closer to the channel end Layer, from the channel end to The left information is updated and calculated layer by layer. After completing one traversal and update, the process continues from the previous step. The right information is updated and calculated layer by layer towards the channel end; S3: The m-layer groups near the decoding end recursively update the left and right information of each node in the calculation group in a certain order; S4: Repeat S2 and S3 until the decoding iteration count meets the early termination condition or reaches the set maximum number of iterations, then obtain the information stored in the right information matrix. This column of information data is the soft information output by the decoder, according to... The value is used to make a hard decision to determine the decoding result of the i-th bit; S3 includes: The m-layer groups near the decoding end are recursively updated in parallel according to a certain order, updating the left information of the nodes within the group: , Even number , odd number Update the right information of nodes within the group: in, Indicates the group number to which the node belongs. Indicates the sequence number within the group. .

2. The method according to claim 1, characterized in that, The conditions for early termination are: After each iteration, if the estimated value of the decoding result is... satisfy ,in, Estimating the log-likelihood ratio (LLR) information at the channel end. If a pre-defined generator matrix is ​​used based on the polar code encoding, then decoding is terminated early, and the decoding result is output. Conversely, continue to the next iteration.

3. The method according to claim 1, characterized in that, S2 includes: Near the channel end The left information is updated and calculated layer by layer. After completing one traversal and update, the process continues from the previous step. The right information is updated and calculated layer by layer towards the channel end: in, and Let represent the left and right information of node (i, j) based on the log-likelihood ratio (LLR) during the t-th iteration, respectively, and α be a constant coefficient.

4. The method according to claim 1, characterized in that, S1 includes: Initialize left information This refers to the channel log-likelihood ratio information; Initialize right information The information bits are initialized to 0, the freeze bits are initialized to infinity, and the right information B and left information L of each other layer are initialized to 0.

5. The method according to claim 1, characterized in that, The maximum number of times is determined manually or obtained through simulation experiments based on the code length and code rate of the polar code.

6. A computer device, comprising a processor and a memory storing a computer program, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1-5.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-5.