Polar code decoding method and apparatus, decoder, and communication device

Through the combination of path sorting and filtering and early stopping and CRC processing, the problems of high complexity and slow speed of polarization decoding methods are solved, and a polarization decoding method with low complexity and fast decoding is realized, which is suitable for channel decoding of 5G PBCH signals.

CN113965208BActive Publication Date: 2025-07-18SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111156562.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-29
Publication Date
2025-07-18
Estimated Expiration
2041-09-29

AI Technical Summary

Technical Problem

In the prior art, when decoding a 5G PBCH signal, the polarization code decoding method has a high complexity and a slow decoding speed, making it difficult to meet the requirements of low complexity and fast decoding.

Method used

By combining path sorting and filtering, early stopping and CRC processing, the first path is deleted first, and then the second path is deleted, reducing the number of candidate decoding results, improving decoding efficiency and reducing complexity.

Benefits of technology

It effectively reduces the number of candidate decoding results, improves the decoding efficiency, reduces the subsequent decoding processing volume and complexity, and meets the requirements of low complexity and fast decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113965208B_ABST
    Figure CN113965208B_ABST
Patent Text Reader

Abstract

The present application discloses a polar code decoding method, apparatus, decoder, and communication device. The method includes: obtaining P decoding paths of an estimated value of a first bit decoded into a polar code; when the value of P is less than a preset threshold, performing path expansion on the estimated value of the first bit to the estimated value of a second bit to obtain 2*P decoding paths, and when the value of 2*P is greater than or equal to the preset threshold, screening out Q decoding paths from the 2*P decoding paths through path sorting; when the value of P is greater than or equal to the preset threshold, screening out S decoding paths from the P decoding paths through path sorting; performing early stopping and cyclic redundancy check (CRC) processing on the bit sequences corresponding to each of the Q or S decoding paths, and using the bit sequences corresponding to each of the T decoding paths obtained after the early stopping and CRC processing as candidate polar code decoding results, so as to implement polar code decoding when performing channel decoding on NR PBCH.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of channel decoding in digital communication, and particularly relates to a Polar code decoding method and apparatus, a decoder, and a communication device. Background Art

[0002] In the new radio (NR) protocol of the 3rd generation partnership project (3GPP), it is defined that the channel coding of the physical broadcast channel (PBCH) adopts Polar codes, and Polar code decoding is required for decoding the PBCH.

[0003] In order to decode the 5G PBCH signal to meet requirements such as low complexity and fast decoding speed, it is necessary to improve the Polar code decoding method. Summary of the Invention

[0004] This application provides a Polar code decoding method and apparatus, a decoder, and a communication device. It is expected that when performing channel decoding on the NR PBCH, two path deletions are performed through path sorting and screening, early stopping, and CRC processing, so that the bit sequence corresponding to the remaining decoding path is more likely to be a Polar code, which is beneficial to reducing the number of candidate decoding results, improving the decoding efficiency, and reducing the subsequent decoding processing amount and complexity.

[0005] In a first aspect, a Polar code decoding method of this application includes:

[0006] Obtaining P decoding paths for estimating the value of the first bit in the Polar code, where the value of P is greater than 0;

[0007] When the value of P is less than a preset threshold, expanding the path of the estimated value of the first bit to the estimated value of the second bit to obtain 2*P decoding paths, where the second bit is the next bit of the first bit in the Polar code, and when the value of 2*P is greater than or equal to the preset threshold, screening out Q decoding paths from the 2*P decoding paths through path sorting, where the value of Q is less than or equal to the preset threshold;

[0008] When the value of P is greater than or equal to the preset threshold, screening out S decoding paths from the P decoding paths through path sorting, where the value of S is less than or equal to the preset threshold;

[0009] Perform early termination and cyclic redundancy check (CRC) processing on the bit sequences corresponding to each of the decoding paths described in terms of Q or S, and use the bit sequences corresponding to each of the T decoding paths obtained after the early termination and CRC processing as candidate polarization code decoding results, where the value of T is less than or equal to the value of Q or S.

[0010] In a second aspect, a polarization code decoding apparatus according to the present application includes:

[0011] An acquisition module configured to acquire P decoding paths for estimating the first bit decoded into the polarization code, where the value of P is greater than 0;

[0012] A path processing module configured to, when the value of P is less than a preset threshold, perform path expansion of the estimated value of the first bit to the estimated value of the second bit to obtain 2*P decoding paths, where the second bit is the next bit of the first bit in the polarization code, and when the value of 2*P is greater than or equal to the preset threshold, screen out Q decoding paths from the 2*P decoding paths through path sorting, where the value of Q is less than or equal to the preset threshold;

[0013] The path processing module is further configured to, when the value of P is greater than or equal to the preset threshold, screen out S decoding paths from the P decoding paths through path sorting, where the value of S is less than or equal to the preset threshold;

[0014] A verification processing module configured to perform early termination and cyclic redundancy check (CRC) processing on the bit sequences corresponding to each of the Q or S decoding paths, and use the bit sequences corresponding to each of the T decoding paths obtained after the early termination and CRC processing as candidate polarization code decoding results, where the value of T is less than or equal to the value of Q or S.

[0015] In a third aspect, a decoder according to the present application includes a processor, a memory, and a computer program or instruction stored on the memory, and the processor executes the computer program or instruction to implement the steps described in the first aspect above.

[0016] In a fourth aspect, a communication device according to the present application includes the decoder described in the third aspect above.

[0017] In a fifth aspect, a computer-readable storage medium according to the present application, where a computer program or instruction is stored on the computer-readable storage medium, and when the computer program or instruction is executed by a processor, the steps described in the first aspect above are implemented.

[0018] Sixth aspect, a computer program product of the present application includes a computer program or instruction, wherein when the computer program or instruction is executed by a processor, the steps described in the above first aspect are implemented. Exemplarily, the computer program product may be a software installation package.

[0019] It can be seen that when performing channel decoding on the NR PBCH, first, P decoding paths for obtaining the estimated value of the first bit in the polar code are acquired, and the value of P is judged against a preset threshold. Secondly, when the value of P is less than the preset threshold, the estimated value of the first bit is path-expanded towards the estimated value of the second bit to obtain 2*P decoding paths, and when the value of 2*P is greater than or equal to the preset threshold, Q decoding paths are screened out from the 2*P decoding paths through path sorting. When the value of P is greater than or equal to the preset threshold, S decoding paths are screened out from the P decoding paths through path sorting. Finally, early stopping and CRC processing are performed on the bit sequences corresponding to each of the Q or S decoding paths, and the bit sequences corresponding to each of the T decoding paths obtained after the early stopping and CRC processing are used as candidate polar code decoding results.

[0020] Since in the polar code decoding process, the first path deletion is performed through path sorting and screening first, and the second path deletion is performed through early stopping and CRC processing, the bit sequences corresponding to the remaining decoding paths are more likely to be polar codes, which is beneficial to reducing the number of candidate decoding results, improving the decoding efficiency, and reducing the subsequent decoding processing amount and complexity. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative efforts.

[0022] Figure 1 is a schematic diagram of the architecture of a wireless communication system according to an embodiment of the present application;

[0023] Figure 2 is a schematic flowchart of a polar code decoding method according to an embodiment of the present application;

[0024] Figure 3 is a schematic diagram of the structure of a code tree according to an embodiment of the present application;

[0025] Figure 4 is a functional module composition block diagram of a polar code decoding device according to an embodiment of the present application;

[0026] Figure 5It is a schematic structural diagram of a decoder according to an embodiment of the present application. Detailed implementation manners

[0027] For those skilled in the art to better understand the technical solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all embodiments. Based on the description of the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative efforts belong to the scope protected by the present application.

[0028] The terms "first", "second", etc. in the description, claims and drawings of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, software, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products or devices.

[0029] It should be noted that the "connection" mentioned in the embodiments of the present application refers to various connection methods such as direct connection or indirect connection to achieve communication between devices, and no limitation is made thereto. The "network" and "system" mentioned in the embodiments of the present application express the same concept, and a communication system is a communication network.

[0030] The technical solutions of the embodiments of this application can be applied to various wireless communication systems, such as: Global System of Mobile communication (GSM) system, Code Division Multiple Access (CDMA) system, Wideband Code Division Multiple Access (WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, Advanced Long Term Evolution (LTE-A) system, New Radio (NR) system, the evolved system of the NR system, LTE-based Access to Unlicensed Spectrum (LTE-U) system, NR-based Access to Unlicensed Spectrum (NR-U) system, Non-Terrestrial Networks (NTN) system, Universal Mobile Telecommunication System (UMTS), Wireless Local Area Networks (WLAN), Wireless Fidelity (WiFi), 6th-Generation (6G) communication system or other communication systems, etc.

[0031] It should be noted that the number of connections supported by traditional wireless communication systems is limited and easy to implement. However, with the development of communication technologies, wireless communication systems can not only support traditional wireless communication systems, but also support, such as device to device (D2D) communication, machine to machine (M2M) communication, machine type communication (MTC), vehicle to vehicle (V2V) communication, vehicle to everything (V2X) communication, narrow band internet of things (NB-IoT) communication, etc. Therefore, the technical solutions of the embodiments of this application can also be applied to the above-mentioned wireless communication systems.

[0032] Optionally, the wireless communication system according to the embodiments of the present application can be applied to scenarios such as beamforming, carrier aggregation (CA), dual connectivity (DC), or standalone (SA) deployment scenarios.

[0033] Optionally, the wireless communication system according to the embodiments of the present application can be applied to unlicensed spectrum. Among them, unlicensed spectrum can also be considered as shared spectrum. Alternatively, the wireless communication system in the embodiments of the present application can also be applied to licensed spectrum. Among them, licensed spectrum can also be considered as non-shared spectrum.

[0034] The embodiments of the present application describe various embodiments in combination with terminals and network devices. The terminals and network devices involved will be specifically introduced below.

[0035] Specifically, the terminal can be a user equipment (UE), a remote terminal, a relay device, an access terminal, a user unit, a user station, a mobile station, a mobile device, a remote station, a mobile device, a user terminal, a smart terminal, a wireless communication device, a user agent, or a user device. It should be noted that a relay device is a terminal that can provide relay forwarding services for other terminals (including remote terminals). In addition, the terminal can also be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication functions, a computing device, or other processing devices connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal in a next-generation communication system (such as an NR communication system, a 6G communication system), or a terminal in a future evolved public land mobile network (PLMN), etc., which is not specifically limited herein.

[0036] Furthermore, the terminal can be deployed on land, including indoors or outdoors, handheld, wearable, or vehicle-mounted; it can be deployed on water (such as a ship, etc.); it can be deployed in the air (such as an airplane, a balloon, a satellite, etc.).

[0037] Further, the terminal may be a mobile phone, a tablet computer (Pad), a computer with wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal device in industrial control, a wireless terminal device in unmanned autonomous driving, a wireless terminal device in remote medical, a wireless terminal device in smart grid, a wireless terminal device in transportation safety, a wireless terminal device in smart city or a wireless terminal device in smart home, etc.

[0038] Specifically, the network device may be a device for communicating with the terminal, which is responsible for radio resource management (RRM) on the air interface side, quality of service (QoS) management, data compression and encryption, data transmission and reception, etc. Among them, the network device may be a base station (BS) in a communication system or a device deployed in a radio access network (RAN) to provide wireless communication functions. For example, a base transceiver station (BTS) in a GSM or CDMA communication system, a Node B (NB) in a WCDMA communication system, an evolved Node B (eNB or eNodeB) in an LTE communication system, a next generation evolved Node B (ng-eNB) in an NR communication system, a next generation Node B (gNB) in an NR communication system, a master node (MN) in a dual-link architecture, a second node or secondary node (SN) in a dual-link architecture, etc., and no specific limitation is made thereto.

[0039] Further, the network device may also be other devices in the core network (CN), such as the access and mobility management function (AMF), the user plan function (UPF), etc.; it may also be an access point (AP) in a wireless local area network (WLAN), a relay station, a communication device in a future evolved PLMN network, a communication device in an NTN network, etc.

[0040] Further, the network device may include a device having a function of providing wireless communication for the terminal, such as a chip system. By way of example, the chip system may include a chip and may also include other discrete devices.

[0041] Further, the network device may communicate with an Internet Protocol (IP) network. For example, the Internet, a private IP network, or other data networks, etc.

[0042] It should be noted that in some network deployments, the network device can be an independent node to implement all the functions of the above-mentioned base station. It can include a centralized unit (CU) and a distributed unit (DU), such as gNB-CU and gNB-DU; it can also include an active antenna unit (AAU). Among them, the CU can implement some functions of the network device, and the DU can also implement some functions of the network device. For example, the CU is responsible for processing non-real-time protocols and services, and implementing the functions of the radio resource control (RRC) layer, service data adaptation protocol (SDAP) layer, and packet data convergence protocol (PDCP) layer. The DU is responsible for processing physical layer protocols and real-time services, and implementing the functions of the radio link control (RLC) layer, medium access control (MAC) layer, and physical (PHY) layer. In addition, the AAU can implement some physical layer processing functions, radio frequency processing, and related functions of active antennas. Since the information of the RRC layer will ultimately become the information of the PHY layer, or be transformed from the information of the PHY layer, therefore, in this network deployment, high-layer signaling (such as RRC layer signaling) can be considered to be sent by the DU, or jointly sent by the DU and the AAU. It can be understood that the network device can include at least one of the CU, DU, and AAU. In addition, the CU can be classified as a network device in the radio access network (RAN), or it can be classified as a network device in the core network, and no specific limitation is made on this.

[0043] Furthermore, the network device can have mobility characteristics. For example, the network device can be a mobile device. Optionally, the network device can be a satellite or a balloon station. For example, the satellite can be a low earth orbit (LEO) satellite, a medium earth orbit (MEO) satellite, a geostationary earth orbit (GEO) satellite, a high elliptical orbit (HEO) satellite, etc. Optionally, the network device can also be a base station set at locations such as land and water areas.

[0044] Furthermore, a network device can provide services for a cell, and terminals within the cell can communicate with the network device through transmission resources (such as spectrum resources). Among them, the cell can include a macro cell, a small cell, a metro cell, a micro cell, a pico cell, a femto cell, etc.

[0045] Combined with the above description, an exemplary description of the wireless communication system according to the embodiments of the present application will be given below.

[0046] Exemplarily, for the wireless communication system according to the embodiments of the present application, please refer to Figure 1 Wireless communication system 10 may include a network device 110 and terminals 120, and the network device 110 may be a device that communicates with the terminals 120. At the same time, the network device 110 can provide communication coverage for a specific geographical area and can communicate with the terminals 120 located within the coverage area.

[0047] Optionally, the wireless communication system 10 may further include multiple network devices, and a certain number of terminals may be included within the coverage range of each network device, which is not specifically limited herein.

[0048] Optionally, the wireless communication system 10 may further include other network entities such as a network controller and a mobility management entity, which are not specifically limited herein.

[0049] Optionally, the communication between the network device and the terminals in the wireless communication system 10, as well as the communication between the terminals, can be wireless communication or wired communication, which is not specifically limited herein.

[0050] First, the relevant content involved in the technical solution according to the embodiments of the present application will be introduced to facilitate the understanding of those skilled in the art.

[0051] 1. Polar code

[0052] A polar code is a linear block code and a new type of coding method. For a polar code with a code length of N (N = 2 n ). Among them, the polar code contains an information bit sequence with a length of K and a frozen bit sequence with a length of N - K (that is, fixed bits known to both the transmitter and the receiver, usually set to all 0s).

[0053] Polar codes are constructed by introducing the concept of channel polarization. Channel polarization is divided into two stages: channel combination and channel splitting. Through channel polarization, the channel capacities of the individual sub-channels will exhibit a phenomenon of polarization:

[0054] As the code length N gradually approaches infinity, the symmetric capacity of some sub-channels will tend to 1, while the symmetric capacity of the remaining sub-channels will tend to 0.

[0055] Polar codes precisely utilize the above phenomenon of channel polarization to transmit information bits on the sub-channels with symmetric capacity tending to 1, and transmit frozen bits on the sub-channels with symmetric capacity tending to 0.

[0056] 2. Channel combination

[0057] Channel combination is to recursively combine N completely identical and independent one-dimensional channels W, that is, W N , into an N-dimensional channel, that is, W N , so that the originally independent N channels are related. Among them, the mapping relationship between the input bit sequence N of channel W and the input bit sequence N of channel W satisfies:

[0058]

[0059] where G N is the N-dimensional generating matrix.

[0060] Therefore, the transition probability between channel W N and channel W N satisfies the following relationship:

[0061]

[0062] 3. Channel decomposition

[0063] Channel decomposition no longer involves channel operations, but only performs mathematical operations. Among them, the N-dimensional channel W N formed by channel combination is split into N binary-input coordinate channels or polarization channels 1 ≤ i ≤ N, and its transition probability is:

[0064]

[0065] where, represents the output of, while u i represents the input of.

[0066] 4. Decoding of Polar Codes

[0067] The decoding algorithms of polar codes include successive cancellation (SC) algorithm, belief propagation (BP) algorithm, linear programing (LP) algorithm, successive cancellation list (SCL) algorithm, and CRC-Aided SCL (CA-SCL) algorithm.

[0068] 5. Physical Broadcast Channel (PBCH)

[0069] PBCH mainly carries the master information block (MIB). Among them, the network device generates the payload of PBCH, and subsequent operations include interleaving, scrambling, cyclic redundancy check (CRC) attachment, channel coding (such as polar code coding), rate matching, and modulation.

[0070] The process of the terminal decoding PBCH is as follows:

[0071] 1) Obtain the cell PCI and PBCH timing synchronization according to the primary synchronization signal / secondary synchronization signal (PSS / CSS);

[0072] 2) Obtain the lower 2 or 3 bits of the SSB index according to the PBCH DMRS;

[0073] 3) Determine the scrambling sequence for descrambling according to the 3rd bit, 2nd bit of the system frame number (SFN), and the cell ID;

[0074] 4) Perform rate matching;

[0075] 5) Decode the polar code;

[0076] 6) Perform CRC check;

[0077] 7) Obtain the payload of PBCH.

[0078] Since the channel coding of PBCH in the 3GPP NR protocol uses polar codes, and polar code decoding is required for PBCH decoding. In order to achieve the decoding of 5G PBCH signals to meet the requirements of low complexity and fast decoding speed, it is necessary to improve the polar code decoding method.

[0079] The following will introduce the polar code decoding method of the embodiments of the present application in detail with reference to the accompanying drawings.

[0080] As Figure 2 shown, it is a schematic flowchart of a polar code decoding method according to an embodiment of the present application, which specifically includes the following steps:

[0081] S210. Obtain P decoding paths for estimating the first bit decoded into the polar code, where P is greater than 0.

[0082] Among them, the polar code is the polar code used for the channel coding of NR PBCH.

[0083] It should be noted that the sending end and the receiving end in the embodiments of the present application can be collectively referred to as communication devices, and the communication device can be a terminal or a network device. At the same time, when the sending end performs channel coding on the transmitted PBCH, polar code coding can be performed through an encoder, and when the receiving end performs channel decoding on the received PBCH, polar code decoding can be performed through a decoder.

[0084] 1) Polar code, first bit, estimated value of the first bit

[0085] In order to implement subsequent early termination and CRC processing, the polar code in the embodiments of the present application can include information bits, cyclic redundancy check (CRC) bits, and frozen bits. Among them, the CRC bits can be distributed CRC bits, that is, 24-bit CRC, and the frozen bits are fixed bits known to both the transmitter and the receiver, usually set to 0.

[0086] For example, for a polar code with a code length of N, that is the polar code includes an information bit sequence with a length of k, CRC bits with a length of m, and a frozen bit sequence with a length of N - K (K = k + m).

[0087] Therefore, in the embodiments of the present application, the first bit can be any bit in the polar code. In this regard, the sending end (or encoder) will encode the first bit, and the receiving end (or decoder) needs to decode the first bit. Among them, during the decoding process of the first bit, the possible values of the first bit are called the estimated value of the first bit.

[0088] For example, for a polar code with a code length of N, that is The first bit can be represented as u i (i ∈ {1, 2,..., N}), and the estimated value of the first bit can be represented as

[0089] In addition, since the first bit can be an information bit, a CRC bit, or a frozen bit, the embodiments of the present application can be determined by the bit attribute to which the first bit belongs, that is, the bit attribute to which the first bit belongs can be one of an information bit, a CRC bit, and a frozen bit.

[0090] 2) P decoding paths

[0091] The polar code decoding process of the embodiments of the present application can be regarded as a process of path search on a code tree (such as a full binary tree). Among them, the path search process on the code tree is as follows:

[0092] First, path expansion is performed from the root node of the code tree to the nodes in the first layer of the code tree. Among them, the nodes in the first layer are represented by the estimated value of the first bit in the polar code (such as ). For example, when the estimated value of the first bit is a binary estimated value (i.e., 0 or 1), there are 2 nodes on the first layer, that is and Therefore, after path expansion from the root node to these 2 nodes, there are 2 decoding paths.

[0093] Secondly, path expansion is performed from each of the 2 nodes in the first layer to the nodes in the second layer. Among them, the nodes in the second layer are represented by the estimated value of the second bit in the polar code (such as ). For example, when the estimated value of the second bit is also a binary estimated value (i.e., 0 or 1), there are 4 nodes on the second layer, that is and Therefore, after path expansion from the 2 nodes in the first layer to the 4 nodes in the second layer, there are 4 decoding paths, Figure 3 as shown.

[0094] Finally, by analogy, until the nodes in the last layer of the code tree are expanded. Therefore, the code tree obtained by continuous path expansion is a full binary tree.

[0095] In summary, since the first bit can be any bit in the polar code, for the case where the estimated value of the first bit is binary (i.e., 0 or 1), when the first bit is the first bit in the polar code, the value of P is 2; when the first bit is the second bit in the polar code, the value of P is 4, and so on.

[0096] 3) Path sorting and screening

[0097] Since the bit sequences corresponding to each decoding path may all be candidate decoding results, and the probability that the bit sequences corresponding to some decoding paths may be used as decoding results is very small, and a large number of decoding paths will also increase the decoding processing complexity, it is necessary to delete these bit sequences in order to reduce the number of candidate decoding results, improve the decoding efficiency, and reduce the subsequent decoding processing volume and complexity. Among them, the deletion operation on these bit sequences is to perform path sorting and screening on the decoding paths corresponding to these bit sequences.

[0098] For example, in Figure 3 , after path expansion from 2 nodes in the first layer (represented by and ) to 4 nodes in the second layer (represented by and ), there are 4 decoding paths. The bit sequences corresponding to these 4 paths are "00", "01", "10", and "11" respectively. Among them, the probability that "00" may be used as a decoding result is very small, so it needs to be deleted.

[0099] 4) Preset threshold

[0100] To perform the path sorting and screening operation on the decoding paths, an embodiment of the present application introduces a preset threshold, which can be used to determine whether the currently expanded decoding paths (i.e., P decoding paths) need to be screened.

[0101] In some embodiments, the value of the preset threshold can be configured or pre-configured according to the processing capacity of the decoder.

[0102] That is to say, the present application can configure a preset threshold according to the processing capacity of the decoder, and the values of the preset thresholds configured for decoders with different processing capacities are different, so as to ensure the flexibility of configuration and improve the decoding efficiency.

[0103] For example, if the processing capacity of the decoder is stronger, the value of the configured preset threshold is larger; if the processing capacity of the decoder is smaller, the value of the configured preset threshold is smaller.

[0104] In some embodiments, the value of the preset threshold can be configured or pre-configured according to the code length of the polar code or the number of information bits (or frozen bits) in the polar code, etc., so as to ensure the flexibility of configuration and improve the decoding efficiency.

[0105] That is to say, the present application can configure a preset threshold according to the code length of the polar code encoded by the encoder or the length of the information bit sequence (or frozen bit sequence) in the polar code.

[0106] For example, if the code length of the polar code is longer, the value of the configured preset threshold is larger; if the code length of the polar code is shorter, the value of the configured preset threshold is smaller.

[0107] For another example, if the length of the information bit sequence in the polar code is longer, that is, the frozen bit sequence will be shorter, the value of the configured preset threshold is larger; if the length of the information bit sequence in the polar code is short, that is, the frozen bit sequence will be longer, the value of the configured preset threshold is smaller.

[0108] In addition, during the path sorting and screening operation, if the currently expanded decoding path is greater than or equal to the preset threshold, screening is required, and then the bit sequence corresponding to the decoding path remaining after screening is saved, and these bit sequences are used as candidate decoding results.

[0109] If the currently expanded decoding path is less than the preset threshold, no screening is required, and the bit sequence corresponding to the currently expanded decoding path is directly saved, and these bit sequences are used as candidate decoding results.

[0110] Therefore, in the embodiments of the present application, it is necessary to judge the value of P and the preset threshold to execute different steps, specifically as follows:

[0111] S220. When the value of P is less than the preset threshold, path expansion is performed on the estimated value of the first bit to the estimated value of the second bit to obtain 2*P decoding paths, where the second bit is the next bit of the first bit in the polar code, and when the value of 2*P is greater than or equal to the preset threshold, Q decoding paths are selected from the 2*P decoding paths through path sorting and screening, and the value of Q is less than or equal to the preset threshold.

[0112] Among them, the order of the Q decoding paths is arranged in ascending order according to their respective corresponding sorting values.

[0113] S230. When the value of P is greater than or equal to the preset threshold, S decoding paths are selected from the P decoding paths through path sorting and screening, and the value of S is less than or equal to the preset threshold.

[0114] Among them, the order of the S decoding paths is arranged in ascending order according to their respective corresponding sorting values.

[0115] 5) The second bit, the estimated value of the second bit

[0116] It should be noted that the second bit is the next bit of the first bit in the polar code. Among them, during the decoding process of the second bit, the possible values of the second bit are called the estimated values of the second bit.

[0117] For example, for a polar code with a code length of N, that is When the first bit is represented as u i (i ∈ {1, 2,..., N}), the second bit can be represented as u i+1 , and the estimated value of the second bit can be represented as

[0118] In addition, since the second bit can be an information bit, a CRC bit, or a frozen bit, the embodiments of the present application can be determined by the bit attribute to which the second bit belongs, that is, the bit attribute to which the second bit belongs can be one of an information bit, a CRC bit, and a frozen bit.

[0119] 6) The judgment result between the value of P and the preset threshold

[0120] It should be noted that there are the following two situations for the judgment result between the value of P and the preset threshold:

[0121] ① When the value of P is less than the preset threshold, it means that there is no need to perform path sorting and screening on the currently expanded decoding paths (i.e., P decoding paths), and the bit sequences corresponding to each of the P decoding paths are saved. At the same time, since the current first bit is not the last bit of the polar code, that is, not the last layer of the code tree, it is still necessary to perform link expansion on the estimated value of the next bit, that is, perform link expansion to the next layer of the code tree, so as to obtain 2*P decoding paths.

[0122] Similarly, when the value of 2*P is less than the preset threshold, it means that there is no need to perform path sorting and screening on the 2*P decoding paths, and the bit sequences corresponding to each of the 2*P decoding paths are saved, and then link expansion is performed to obtain 4*P decoding paths. By analogy, it can be known accordingly and will not be elaborated here.

[0123] When the value of 2*P is greater than or equal to the preset threshold, it means that path sorting and screening need to be performed on the 2*P decoding paths. Among them, Q decoding paths are selected from the 2*P decoding paths through path sorting, and the value of Q is less than or equal to the preset threshold.

[0124] ② When the value of P is greater than or equal to the preset threshold, it means that path sorting and screening need to be performed on the P decoding paths. Among them, S decoding paths are selected from the P decoding paths through path sorting, and the value of S is less than or equal to the preset threshold.

[0125] 7) Path sorting algorithm

[0126] It should be noted that in order to implement path sorting and screening on P or 2*P decoding paths, the embodiments of the present application need to use a path sorting algorithm to perform path sorting on P or 2*P decoding paths.

[0127] Taking the path sorting of P decoding paths as an example, the path sorting algorithm introduced in the embodiments of the present application is described as follows:

[0128] Step 1: Input

[0129] Obtain the channel output signal, such as and the initial log-likelihood ratio (LLR) of the channel, such as j ∈ {1, 2,..., N}; where,

[0130]

[0131] where, σ 2 represents the noise variance.

[0132] Step 2: Initialize

[0133] Set the preset threshold for path sorting and screening, such as L, and set the initial decoding path as an empty decoding path, that is, set the initial decoding path to 0.

[0134] Step 3: Path expansion

[0135] Start from the root node of the code tree and expand the paths to the nodes in the next layer of the code tree in sequence; among them, through path expansion, obtain P decoding paths to the nodes at the i-th layer of the code tree (i.e., p ∈ {1, 2,..., P}), and the estimated bit sequences corresponding to the nodes in the previous i - 1 layers, such as

[0136] Step 4: Path sorting and screening judgment

[0137] For the P decoding paths, if the value of P is less than the preset threshold, save the P decoding paths and the bit sequences corresponding to the P decoding paths, and execute Steps 5 to 7;

[0138] If the value of P is greater than or equal to the preset threshold, execute Steps 5 to 8.

[0139] Step 5: Calculate the transition probability of the polarization channel

[0140] For the p-th (p ∈ {1, 2,..., P}) decoding path among the P decoding paths, according to the channel output signal and the estimated bit sequence calculate the transition probabilities of the polarization channel corresponding to the nodes at the i-th layer as follows: and and

[0141] Step 6: Calculate the LLR values corresponding to the decoding paths

[0142] For the p-th decoding path among the P decoding paths, according to the transition probability and calculate the LLR value corresponding to the p-th decoding path, that is

[0143]

[0144] wherein, can be represented by function f and function g, specifically as follows

[0145] Function f:

[0146] Function g:

[0147] wherein,

[0148] Step 7: Calculate the path metric (PM) values corresponding to the decoding paths

[0149] For the p-th decoding path among the P decoding paths, the path metric value corresponding to the p-th decoding path is defined as follows:

[0150]

[0151] wherein, the larger the LLR value corresponding to the p-th decoding path, the smaller the corresponding PM value.

[0152] Since the polar code contains information bits, CRC bits and frozen bits, the above formula can be rewritten as:

[0153]

[0154] wherein, if u i belongs to the information bits, and satisfies then

[0155] If u i belongs to the information bits, and satisfies then

[0156] If u i belongs to the frozen bits, and is not equal to the value of the frozen bit (usually, the value of the frozen bit is 0, then

[0157] If ui Belonging to the frozen bits, equal to the value of the frozen bits, and satisfy then

[0158] If u i belongs to the frozen bits, equal to the value of the frozen bits, and satisfy then

[0159] Step 8: Calculate the sorting value corresponding to the decoding path

[0160] ① Compare the PM values pairwise

[0161] For P decoding paths, compare the PM value corresponding to the first decoding path with the PM values corresponding to the remaining decoding paths pairwise to obtain P - 1 comparison result values; among them, if the PM value corresponding to the first decoding path is larger, the comparison result value is 1; if the PM value corresponding to the first decoding path is smaller, the comparison result value is 0;

[0162] Similarly, compare the PM value corresponding to the p-th decoding path with the PM values corresponding to the remaining decoding paths pairwise to obtain P - 1 comparison result values; among them, if the PM value corresponding to the p-th decoding path is larger, the comparison result value is 1; if the PM value corresponding to the p-th decoding path is smaller, the comparison result value is 0;

[0163] And so on.

[0164] ② Add the comparison result values to obtain the sorting value

[0165] For P decoding paths, add the P - 1 comparison result values corresponding to the p-th decoding path to obtain 1 sorting value. Similarly and so on, calculate 1 sorting value corresponding to each of the P decoding paths, a total of P sorting values.

[0166] ③ Screen the decoding paths according to the sorting values

[0167] For P decoding paths, sort the 1 sorting value corresponding to each of the P decoding paths from small to large, and select the smallest S sorting values, where the value of S is less than or equal to a preset threshold, and use the decoding paths corresponding to these S sorting values from small to large as the screening results to obtain S decoding paths, and save these S decoding paths and the bit sequences corresponding to these S decoding paths.

[0168] It can be understood that the order of each decoding path among the S decoding paths is arranged from small to large according to the sorting value corresponding to each of them.

[0169] Combined with the description in the above "7) Path sorting algorithm", for how to screen out Q decoding paths from 2*P decoding paths through path sorting, the embodiments of the present application can screen according to the PM values corresponding to the decoding paths, that is, sort and screen the 2*P decoding paths according to the path metric values corresponding to the 2*P decoding paths to obtain Q decoding paths.

[0170] In some embodiments, sorting and screening the 2*P decoding paths according to the PM values corresponding to the 2*P decoding paths to obtain Q decoding paths may include the following steps:

[0171] Obtain the LLR values corresponding to the 2*P decoding paths respectively to obtain 2*P LLR values; determine the PM values corresponding to the 2*P decoding paths respectively according to the estimated value of the second bit, the bit attribute to which the second bit belongs, and the 2*P LLR values to obtain 2*P PM values, and the bit attribute to which the second bit belongs is one of information bit, distributed CRC bit, and frozen bit; determine the sorting values corresponding to the 2*P decoding paths respectively according to the 2*P PM values, and sort and screen the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths.

[0172] It can be understood that when the value of P is less than a preset threshold, the estimated value of the first bit is extended to the estimated value of the second bit to obtain 2*P decoding paths, and calculate the LLR values and sorting values of each decoding path in the 2*P decoding paths, and finally screen out Q decoding paths through the sorting values.

[0173] Specifically, obtaining the log-likelihood ratio values corresponding to the 2*P decoding paths respectively to obtain 2*P log-likelihood ratio values may include the following steps:

[0174] Obtain the channel output signal and the estimated bit sequence decoded before the estimated value of the second bit; determine the transition probability of the polarization channel corresponding to the estimated value of the second bit according to the channel output signal and the estimated bit sequence; determine the LLR values corresponding to the 2*P decoding paths respectively according to the transition probability of the polarization channel to obtain 2*P LLR values.

[0175] It can be understood that combined with the above "Step 5: Calculate the transition probability of the polarization channel" and "Step 6: Calculate the LLR value corresponding to the decoding path", the channel output signal is expressed as The estimated bit sequence decoded before the estimated value of the second bit is expressed as t ∈ {1, 2,..., 2*P}. Therefore, according to the channel output signal and the estimated bit sequence calculate The transition probabilities of the corresponding polarization channels are respectively: and Finally, according to and calculate the LLR value corresponding to the t-th decoding path, that is

[0176]

[0177] Specifically, according to the estimated value of the second bit, the bit attribute to which the second bit belongs, and 2*P log-likelihood ratios, determine the path metric values corresponding to each of the 2*P decoding paths, and obtain 2*P path metric values. The steps may include:

[0178] If the bit attribute to which the second bit belongs is an information bit and the estimated value of the second bit satisfies the first preset condition, then the path metric value corresponding to the first decoding path among the 2*P decoding paths is equal to the path metric value corresponding to the decoding path to the first bit; if the bit attribute to which the second bit belongs is an information bit and the estimated value of the second bit does not satisfy the first preset condition, then the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path to the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path; if the bit attribute to which the second bit belongs is a frozen bit and the estimated value of the second bit is not equal to the value of the frozen bit, then the path metric value corresponding to the first decoding path is equal to positive infinity; if the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit satisfies the first preset condition, then the path metric value corresponding to the first decoding path is equal to the path metric value corresponding to the decoding path to the first bit; if the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit does not satisfy the first preset condition, then the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path to the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path.

[0179] It can be understood that, combined with the above "Step 7: Calculate the PM value corresponding to the decoding path", the first preset condition can be: Among them, the first decoding path can be expressed as the t-th decoding path.

[0180] Therefore, if u i+1 belongs to an information bit, and satisfies then

[0181] If ui+1 is an information bit, and does not satisfy then

[0182] If u i+1 is a frozen bit, and is not equal to the value of the frozen bit (usually, the value of the frozen bit is 0, then

[0183] If u i+1 is a frozen bit, is equal to the value of the frozen bit, and satisfies then

[0184] If u i+1 is a frozen bit, is equal to the value of the frozen bit, and does not satisfy then

[0185] Specifically, according to the 2*P path metrics, determine the sorting values corresponding to the 2*P decoding paths respectively, and sort and filter the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths, which may include the following steps:

[0186] Compare the path metric value corresponding to the first decoding path among the 2*P decoding paths with the path metric values corresponding to the remaining decoding paths pairwise to obtain 2*P - 1 comparison result values; add the 2*P - 1 comparison result values to obtain the sorting value corresponding to the first decoding path, so as to obtain the sorting values corresponding to the 2*P decoding paths in turn; select the smallest Q sorting values from the sorting values corresponding to the 2*P decoding paths through path sorting, and use the decoding paths corresponding to the Q sorting values as the Q decoding paths.

[0187] It can be understood that, combined with the above "calculate the sorting value corresponding to the decoding path", first, for the 2*P decoding paths, compare the PM value corresponding to the t-th decoding path with the PM values corresponding to the remaining decoding paths pairwise to obtain 2*P - 1 comparison result values; among them, if the PM value corresponding to the t-th decoding path is larger, the comparison result value is 1; if the PM value corresponding to the t-th decoding path is smaller, the comparison result value is 0.

[0188] Secondly, add the 2*P - 1 comparison result values corresponding to the t-th decoding path to obtain 1 sorting value, so as to obtain a total of 2*P - 1 sorting values.

[0189] Finally, sort the 2*P - 1 sorted values from smallest to largest, select the smallest Q sorted values, and use the decoding paths corresponding to these Q sorted values from smallest to largest as the screening results to obtain Q decoding paths, and save the Q decoding paths and the bit sequences corresponding to the Q decoding paths.

[0190] It can be understood that the order of each decoding path among the Q decoding paths is arranged in ascending order according to the sorted values corresponding to them.

[0191] Similarly, for how to screen out S decoding paths from P decoding paths through path sorting, the embodiments of the present application can perform screening according to the PM values corresponding to the decoding paths, that is, sort and screen the P decoding paths according to the path metric values corresponding to the P decoding paths to obtain S decoding paths.

[0192] In some embodiments, sorting and screening the P decoding paths according to the path metric values corresponding to the P decoding paths to obtain S decoding paths may include the following steps:

[0193] Obtain the log-likelihood ratio values corresponding to the P decoding paths respectively to obtain P log-likelihood ratio values; determine the path metric values corresponding to the P decoding paths respectively according to the estimated value of the first bit, the bit attribute to which the first bit belongs, and the P log-likelihood ratio values to obtain P path metric values, where the bit attribute to which the first bit belongs is one of information bit, distributed CRC bit, and frozen bit; determine the sorted values corresponding to the P decoding paths respectively according to the P path metric values, and sort and screen the P decoding paths according to the sorted values corresponding to the P decoding paths respectively to obtain S decoding paths.

[0194] Specifically, obtaining the log-likelihood ratio values corresponding to the P decoding paths respectively to obtain P log-likelihood ratio values may include the following steps:

[0195] Obtain the channel output signal and the estimated bit sequence decoded before the estimated value of the first bit; determine the transition probability of the polarization channel corresponding to the estimated value of the first bit according to the channel output signal and the estimated bit sequence; determine the LLR values corresponding to the P decoding paths respectively according to the transition probability of the polarization channel to obtain P LLR values.

[0196] Specifically, determining the path metric values corresponding to the P decoding paths respectively according to the estimated value of the first bit, the bit attribute to which the first bit belongs, and the P log-likelihood ratio values to obtain P path metric values may include the following steps:

[0197] If the bit attribute to which the first bit belongs is an information bit and the estimated value of the first bit satisfies a second preset condition, then the path metric value corresponding to the second decoding path among the P decoding paths is equal to the path metric value corresponding to the decoding path to the third bit, where the third bit is the previous bit of the first bit in the polar code; if the bit attribute to which the first bit belongs is an information bit and the estimated value of the first bit does not satisfy the second preset condition, then the path metric value corresponding to the second decoding path is equal to the sum of the path metric value corresponding to the decoding path to the third bit and the absolute value of the log-likelihood ratio value corresponding to the second decoding path; if the bit attribute to which the first bit belongs is a frozen bit and the estimated value of the first bit is not equal to the value of the frozen bit, then the path metric value corresponding to the second decoding path is equal to positive infinity; if the bit attribute to which the first bit belongs is a frozen bit, the estimated value of the first bit is equal to the value of the frozen bit, and the estimated value of the first bit satisfies the second preset condition, then the path metric value corresponding to the second decoding path is equal to the path metric value corresponding to the decoding path to the third bit; if the bit attribute to which the first bit belongs is a frozen bit, the estimated value of the first bit is equal to the value of the frozen bit, and the estimated value of the first bit does not satisfy the second preset condition, then the path metric value corresponding to the second decoding path is equal to the sum of the path metric value corresponding to the decoding path to the third bit and the absolute value of the log-likelihood ratio value corresponding to the second decoding path.

[0198] It can be understood that, in combination with the above "Step 7: Calculate the PM value corresponding to the decoding path", the second preset condition can be: Among them, the second decoding path can be expressed as the p-th decoding path.

[0199] Specifically, determining the sorting values corresponding to the P decoding paths according to the P path metric values, and sorting and screening the P decoding paths according to the sorting values corresponding to the P decoding paths respectively to obtain S decoding paths may include the following steps:

[0200] Compare the path metric value corresponding to the second decoding path among the P decoding paths with the path metric values corresponding to the remaining decoding paths pairwise to obtain P - 1 comparison result values; perform an addition process on the P - 1 comparison result values to obtain the sorting value corresponding to the second decoding path, and thus obtain the sorting values corresponding to the P decoding paths in sequence; screen out the smallest S sorting values from the sorting values corresponding to the P decoding paths through path sorting, and use the decoding paths corresponding to the S sorting values as the S decoding paths.

[0201] 8) Early termination (ET) and CRC processing

[0202] S240. Perform early stopping and cyclic redundancy check (CRC) processing on the bit sequences corresponding to each of the Q or S decoding paths, and use the bit sequences corresponding to each of the T decoding paths obtained after the early stopping and CRC processing as the candidate polar code decoding results, where the value of T is less than or equal to the value of Q or S.

[0203] It should be noted that after performing the above path sorting algorithm, S decoding paths are selected from the P decoding paths, or Q decoding paths are selected from the 2*P decoding paths. Then, in the embodiments of the present application, T decoding paths are further selected from the Q or S decoding paths through ET and CRC processing.

[0204] ET and CRC processing can be understood as follows: during the polar code decoding process, after multiple decoding paths extended from the current layer of the code tree to the next layer, ET and CRC processing need to be performed on these multiple decoding paths. The decoding paths that pass the CRC check are retained, while the decoding paths that do not pass the CRC check are deleted, so that the bit sequences corresponding to the retained decoding paths are more likely to be polar codes, which is beneficial to reducing the number of candidate decoding results, improving the decoding efficiency, and reducing the subsequent decoding processing amount and complexity.

[0205] Combined with the above description, it can be seen that in the embodiments of the present application, it is necessary to first judge the number of these multiple decoding paths against a preset threshold, and then perform path sorting, path sorting screening, ET and CRC processing, etc. The following takes the number as P as an example for specific description:

[0206] ① If the value of P is greater than or equal to the preset threshold, it is necessary to first perform path sorting and screening on the P decoding paths, that is, execute the above steps 5 to 8 to obtain S decoding paths, and then perform ET and CRC processing on the S decoding paths to obtain T decoding paths.

[0207] When the code tree can still expand paths to the next layer, continue to perform the same operations on the T decoding paths, that is, judge the number of the expanded decoding paths against the preset threshold, perform path sorting and screening, and ET and CRC processing until the last layer of the code tree; when the code tree cannot expand paths to the next layer, select the final bit sequence from the bit sequences corresponding to each of the T decoding paths as the decoding result. For example, select the bit sequence corresponding to the decoding path with the smallest sorting value or PM value as the final decoding result.

[0208] ② If the value of P is less than the preset threshold, it is necessary to first perform path sorting on the P decoding paths, that is, only execute the above steps 5 to 7 to obtain the sorted P decoding paths, and then perform ET and CRC processing on the sorted P decoding paths to obtain R decoding paths, where the value of R is less than or equal to the value of P.

[0209] For example, in Figure 3 , two nodes in the first layer (represented by and ) expand paths to four nodes in the second layer (represented by and ), and after the path expansion, there are four decoding paths. The bit sequences corresponding to these four paths are "00", "01", "10", and "11" respectively. First, since the preset threshold is 2, the decoding path corresponding to "00" is deleted through path sorting and screening. Then, the decoding path corresponding to "11" is deleted through ET and CRC processing. Finally, the decoding paths corresponding to "01" and "10" are each continued to expand paths to the next layer.

[0210] In addition, in the embodiments of the present application, the ET and CRC processing may include: determining a one-dimensional check vector; CRC check. Among them, the check vector can be used to check out the distributed CRC bits from the bit sequences corresponding to the decoding paths.

[0211] For example, taking S decoding paths selected from P decoding paths as an example, the distributed CRC bits can be checked out from the bit sequences corresponding to each of the S decoding paths through the check vector.

[0212] ① Generate matrix G

[0213] To determine the check vector, the embodiments of the present application need to generate matrix G. Among them, the maximum size of matrix G is 200 * 24, that is, the maximum number of rows of matrix G is 200, and the maximum number of columns is 24 (meeting the length of the CRC bit sequence is 24). The generation steps of matrix G are as follows:

[0214] Step 1: Matrix initialization

[0215] Initialize the A * 24 matrix G to a matrix of all 0s. Among them, A * 24 represents a matrix with A rows and 24 columns. A represents the index set of the polarization signals corresponding to the information bits in the polar code, such as u A represents the information bit sequence in the polar code, and u AC represents the frozen bit sequence in the polar code.

[0216] Step 2: Matrix assignment

[0217] Assign the last row of matrix G, that is, the row vector G[A], to the last 24 bits of gcrc. Among them, gcrc may include 32 bits or multiple bits.

[0218] Step 3: Construct the temporary vector Temp_1

[0219] Append 0 after the row vector G[A] to construct a 1*25 temporary vector Temp_1.

[0220] If the first element of Temp_1 is 0, i.e., Temp_1[1] = 0, then assign the last 24 elements of Temp_1 to the second-to-last row of matrix G, i.e., the row vector P[A - 1];

[0221] If the first element of Temp_1 is 1, i.e., Temp_1[1] = 1, then perform an exclusive OR operation on Temp_1 and gcrc, and assign the last 24 bits of the resulting bit sequence to the row vector G[A - 1].

[0222] Step 4: Construct the temporary vector Temp_2

[0223] Append 0 after the row vector G[A - 1] to construct a 1*25 temporary vector Temp_2.

[0224] If the first element of Temp_2 is 0, i.e., Temp_2[1] = 0, then assign the last 24 elements of Temp_2 to the third-to-last row of matrix G, i.e., the row vector G[A - 2];

[0225] If the first element of Temp_2 is 1, i.e., Temp_2[1] = 1, then perform an exclusive OR operation on Temp_2 and gcrc, and assign the last 24 bits of the resulting bit sequence to the row vector G[A - 2].

[0226] Step 5: Continue the assignment

[0227] Perform the assignment successively according to Step 3 and Step 4 until the assignment reaches the first row of matrix G, i.e., G[1], to complete the generation of matrix G.

[0228] Step 6: Interleave matrix G (pattern)

[0229] Interleave matrix G to adjust the rows of matrix G, and matrix G' can be obtained. Matrix G' is used by the decoder to determine the check vector for CRC check.

[0230] ② Determine the check vector

[0231] Determine the check vector according to the bit attribute to which the current bit belongs and the bit position of the current bit in the polar code. Among them,

[0232] If the bit attribute to which the current bit belongs is an information bit, then use the element in the u-th row and v-th column of matrix G' as the r-th element of the check vector. Where u is the index of the polar channel where the current bit is located, i.e., r ∈ A, v is any column in matrix G', and r is the bit position of the current bit in the polar code;

[0233] If the bit attribute to which the current bit belongs is a distributed CRC bit, then use 1 as the r-th element of the check vector;

[0234] If the bit attribute to which the current bit belongs is a frozen bit, then use 0 as the r-th element of the check vector.

[0235] It can be seen that the check vector is determined by the bit positions of the respective bits in the polar code and the bit attributes to which the respective bits belong.

[0236] ③ Obtain the CRC bits in the bit sequence corresponding to the decoding path

[0237] After determining the check vector, the embodiments of the present application can perform checks in sequence according to the check vector in the order of each decoding path among the Q or S decoding paths to obtain the CRC bits in the bit sequence corresponding to each decoding.

[0238] ④ CRC check

[0239] Since polar codes need to be scrambled with the corresponding Radio Network Tempory Identity (RNTI) during encoding, during decoding, it is necessary to first perform RNTI descrambling on the CRC bits in the bit sequence corresponding to the decoding path, and then perform CRC check on the descrambled CRC bits together with the information bits in the bit sequence corresponding to the decoding path. Among them, there are the following three situations to determine whether to retain the decoding path based on the CRC check result:

[0240] If the CRC check passes, then retain the decoding path;

[0241] If the CRC check fails, then delete the decoding path;

[0242] If none of the decoding paths pass the CRC check, then determine the decoding paths to be retained according to the respective sorting values or PM values corresponding to the decoding paths. For example, select several decoding paths with the smallest sorting values or PM values, and retain and store them.

[0243] In addition, in the embodiments of the present application, when it is necessary to perform CRC check on Q or S decoding paths, the following steps need to be specifically executed:

[0244] Step 1: Take out a decoding path in the order of each decoding path among the Q or S decoding paths (this order is arranged in ascending order according to the respective sorting values);

[0245] Step 2: Determine the CRC bits from the bit sequence corresponding to the decoding path according to the check vector;

[0246] Step 3: Demodulate the determined CRC with the RNTI, and perform CRC check on the demodulated CRC bits together with the information bits in the bit sequence corresponding to this decoding path, to determine whether to retain this decoding path;

[0247] Step 4: After performing ET and CRC checks on this decoding path, take out the next decoding path in the order of each decoding path in the Q or S decoding paths, and then execute Steps 2 and 3, and so on until the last decoding path is processed; where

[0248] If none of the Q or S decoding paths pass the ET and CRC check processing, then determine the decoding paths to be retained according to the sorting values or PM values corresponding to each of the Q or S decoding paths. For example, select the decoding paths corresponding to the smallest T sorting values or PM values, and retain and store them.

[0249] Combined with the description in the above “8) ET and CRC processing”, the T decoding paths in the embodiments of the present application may be as follows:

[0250] 1) The T decoding paths are composed of the decoding paths that pass the ET and CRC check processing among the Q or S decoding paths; or,

[0251] 2) The T decoding paths are composed of the decoding paths corresponding to the smallest T sorting values or path metric values when none of the Q or S decoding paths pass the early stopping and CRC check processing.

[0252] In some embodiments, performing early stopping and cyclic redundancy check CRC processing on the bit sequences corresponding to each of the Q or S decoding paths may include the following steps:

[0253] Determine a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code; determine the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths according to the check vector; perform CRC check processing on the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths.

[0254] Specifically, determining a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code may include the following steps:

[0255] If the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is an information bit, the element in the u-th row and v-th column of the preset matrix is used as the r-th element of the check vector, where u is the index of the polarization channel where the first bit or the second bit is located, v is any column in the preset matrix, and r is the bit position of the first bit or the second bit in the polar code; if the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a distributed CRC bit, 1 is used as the r-th element of the check vector; if the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a frozen bit, 0 is used as the r-th element of the check vector.

[0256] Among them, the preset matrix may include the above matrix G’.

[0257] Specifically, determining the distributed CRC bits in the bit sequences respectively corresponding to Q or S decoding paths according to the check vector may include the following steps:

[0258] According to the check vector, the distributed CRC bits in the bit sequences respectively corresponding to Q or S decoding paths are sequentially determined in the order of each decoding path in the Q or S decoding paths.

[0259] Specifically, performing CRC check processing on the distributed CRC bits in the bit sequences respectively corresponding to Q or S decoding paths may include the following steps:

[0260] The distributed CRC bits in the bit sequences respectively corresponding to Q or S decoding paths are subjected to radio network temporary identity RNTI descrambling to obtain the descrambled distributed CRC bits; the descrambled distributed CRC bits and the information bits in the bit sequences respectively corresponding to Q or S decoding paths are subjected to CRC check together.

[0261] Furthermore, performing radio network temporary identity RNTI descrambling on the distributed CRC bits in the bit sequences respectively corresponding to Q or S decoding paths may include the following steps:

[0262] In the order of each decoding path in the Q or S decoding paths, the distributed CRC bits in the bit sequences respectively corresponding to Q or S decoding paths are subjected to RNTI descrambling.

[0263] It can be seen that when performing channel decoding on the NR PBCH, first, P decoding paths for obtaining the estimated value of the first bit in the polar code are acquired, and the value of P is judged against a preset threshold. Secondly, when the value of P is less than the preset threshold, the path of the estimated value of the first bit is extended to the estimated value of the second bit to obtain 2*P decoding paths, and when the value of 2*P is greater than or equal to the preset threshold, Q decoding paths are selected by path sorting from the 2*P decoding paths. When the value of P is greater than or equal to the preset threshold, S decoding paths are selected by path sorting from the P decoding paths. Finally, early stopping and CRC processing are performed on the bit sequences corresponding to the Q or S decoding paths respectively, and the bit sequences corresponding to the T decoding paths obtained after the early stopping and CRC processing are used as the candidate polar code decoding results.

[0264] Since in the polar code decoding process, the first path deletion is performed by path sorting and screening, and the second path deletion is performed by early stopping and CRC processing, the bit sequences corresponding to the remaining decoding paths are more likely to be polar codes, which is conducive to reducing the number of candidate decoding results, improving the decoding efficiency, and reducing the subsequent decoding processing amount and complexity.

[0265] The above mainly introduces the solution of the embodiment of the present application from the perspective of the execution process of the method side. It can be understood that in order to implement the above functions, the polar code decoding device includes the corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should know that the present application can be implemented in the form of hardware or a combination of hardware and computer software in combination with the methods, functions, modules, units or steps of each example described in the embodiments provided herein. Whether a certain method, function, module, unit or step is executed in the form of hardware or 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 methods, functions, modules, units or steps for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0266] The embodiments of the present application can perform functional unit / module partitioning on the polar code decoding device according to the above method examples. For example, each functional unit / module can be partitioned corresponding to each function, or two or more functions can be integrated into one functional unit / module. The above integrated functional unit / module can be implemented in the form of hardware or in the form of a software program. It should be noted that the partitioning of the functional units / modules in the embodiments of the present application is illustrative, only a logical functional partitioning, and there may be other partitioning methods in actual implementation.

[0267] In the case of adopting an integrated module, Figure 4It is a block diagram of the functional modules of a polar code decoding device according to an embodiment of the present application. The polar code decoding device 400 specifically includes: an acquisition module 410, a path processing module 420, and a check processing module 430. Among them,

[0268] The acquisition module 410 can be used to acquire P decoding paths of the estimated value of the first bit decoded into the polar code, where the value of P is greater than 0.

[0269] The path processing module 420 can be used to expand the path of the estimated value of the first bit to the estimated value of the second bit to obtain 2*P decoding paths when the value of P is less than a preset threshold, where the second bit is the next bit of the first bit in the polar code, and when the value of 2*P is greater than or equal to the preset threshold, Q decoding paths are screened out from the 2*P decoding paths through path sorting, and the value of Q is less than or equal to the preset threshold.

[0270] The path processing module 420 can also be used to screen out S decoding paths from the P decoding paths through path sorting when the value of P is greater than or equal to the preset threshold, and the value of S is less than or equal to the preset threshold.

[0271] The check processing module 430 is used to perform early termination and cyclic redundancy check (CRC) processing on the bit sequences corresponding to each of the Q or S decoding paths, and use the bit sequences corresponding to each of the T decoding paths obtained after the early termination and CRC processing as the candidate polar code decoding results, where the value of T is less than or equal to the value of Q or S.

[0272] It can be seen that when performing channel decoding on the NR PBCH, first, P decoding paths of the estimated value of the first bit decoded into the polar code are acquired, and the value of P is judged against the preset threshold. Secondly, when the value of P is less than the preset threshold, the path of the estimated value of the first bit is expanded to the estimated value of the second bit to obtain 2*P decoding paths, and when the value of 2*P is greater than or equal to the preset threshold, Q decoding paths are screened out from the 2*P decoding paths through path sorting. When the value of P is greater than or equal to the preset threshold, S decoding paths are screened out from the P decoding paths through path sorting. Finally, early termination and CRC processing are performed on the bit sequences corresponding to each of the Q or S decoding paths, and the bit sequences corresponding to each of the T decoding paths obtained after the early termination and CRC processing are used as the candidate polar code decoding results.

[0273] Since in the process of polar code decoding, the first path deletion is performed through path sorting and screening first, and the second path deletion is performed through early termination and CRC processing, the bit sequences corresponding to the remaining decoding paths are more likely to be polar codes, which is beneficial to reducing the number of candidate decoding results, improving the decoding efficiency, and reducing the subsequent decoding processing amount and complexity.

[0274] It should be noted that for the specific implementation of each operation performed by the polar code decoding device 400, reference can be made to the corresponding description in the method embodiments shown above. Figure 2 Details are not described herein again.

[0275] Specifically, in terms of screening out Q decoding paths from 2*P decoding paths through path sorting, the path processing module 420 is specifically configured to:

[0276] Sort and screen the 2*P decoding paths according to the path metric values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths.

[0277] Specifically, in terms of sorting and screening the 2*P decoding paths according to the path metric values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths, the path processing module 420 is specifically configured to:

[0278] Obtain the log-likelihood ratio values corresponding to the 2*P decoding paths respectively to obtain 2*P log-likelihood ratio values; determine the path metric values corresponding to the 2*P decoding paths respectively according to the estimated value of the second bit, the bit attribute to which the second bit belongs, and the 2*P log-likelihood ratio values to obtain 2*P path metric values, where the bit attribute to which the second bit belongs is one of an information bit, a distributed CRC bit, and a frozen bit; determine the sorting values corresponding to the 2*P decoding paths respectively according to the 2*P path metric values, and sort and screen the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths.

[0279] Specifically, in terms of determining the sorting values corresponding to the 2*P decoding paths respectively according to the 2*P path metric values, and sorting and screening the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths, the path processing module 420 is specifically configured to:

[0280] Compare the path metric value corresponding to the first decoding path among the 2*P decoding paths with the path metric values corresponding to the remaining decoding paths pairwise to obtain 2*P - 1 comparison result values; add the 2*P - 1 comparison result values to obtain the sorting value corresponding to the first decoding path, so as to sequentially obtain the sorting values corresponding to the 2*P decoding paths respectively; screen out the smallest Q sorting values from the sorting values corresponding to the 2*P decoding paths through path sorting, and use the decoding paths corresponding to the Q sorting values as Q decoding paths.

[0281] Specifically, in terms of determining the path metric values corresponding to the 2*P decoding paths respectively based on the estimated value of the second bit, the bit attribute to which the second bit belongs, and the 2*P log-likelihood ratios, the path processing module 420 is specifically configured to:

[0282] If the bit attribute to which the second bit belongs is an information bit and the estimated value of the second bit satisfies the first preset condition, the path metric value corresponding to the first decoding path among the 2*P decoding paths is equal to the path metric value corresponding to the decoding path of the first bit; if the bit attribute to which the second bit belongs is an information bit and the estimated value of the second bit does not satisfy the first preset condition, the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path of the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path; if the bit attribute to which the second bit belongs is a frozen bit and the estimated value of the second bit is not equal to the value of the frozen bit, the path metric value corresponding to the first decoding path is equal to positive infinity; if the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit satisfies the first preset condition, the path metric value corresponding to the first decoding path is equal to the path metric value corresponding to the decoding path of the first bit;

[0283] If the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit does not satisfy the first preset condition, the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path of the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path.

[0284] Specifically, in terms of obtaining the log-likelihood ratios corresponding to the 2*P decoding paths respectively to obtain 2*P log-likelihood ratios, the path processing module 420 is specifically configured to:

[0285] Obtain the channel output signal and the estimated bit sequence decoded before the estimated value of the second bit; determine the transition probability of the polarization channel corresponding to the estimated value of the second bit according to the channel output signal and the estimated bit sequence; determine the log-likelihood ratios corresponding to the 2*P decoding paths respectively according to the transition probability of the polarization channel to obtain 2*P log-likelihood ratios.

[0286] Specifically, in terms of screening out S decoding paths from the P decoding paths through path sorting, the path processing module 420 is specifically configured to:

[0287] Sort and screen the P decoding paths according to the path metric values corresponding to the P decoding paths respectively to obtain S decoding paths.

[0288] Specifically, in terms of sorting and screening the P decoding paths according to the path metric values corresponding to the P decoding paths respectively to obtain S decoding paths, the path processing module 420 is specifically configured to:

[0289] Obtain the log-likelihood ratio values corresponding to the P decoding paths respectively, obtaining P log-likelihood ratio values; determine the path metric values corresponding to the P decoding paths respectively according to the estimated value of the first bit, the bit attribute to which the first bit belongs, and the P log-likelihood ratio values, obtaining P path metric values, and the bit attribute to which the first bit belongs is one of an information bit, a distributed CRC bit, and a frozen bit; determine the sorting values corresponding to the P decoding paths respectively according to the P path metric values, and sort and screen the P decoding paths according to the sorting values corresponding to the P decoding paths respectively to obtain S decoding paths.

[0290] Specifically, the T decoding paths are composed of the decoding paths that pass through early termination and CRC check processing among the Q or S decoding paths; or,

[0291] The T decoding paths are composed of the decoding paths corresponding to the smallest T sorting values or path metric values when none of the Q or S decoding paths passes through early termination and CRC check processing.

[0292] Specifically, in terms of performing early termination and cyclic redundancy check (CRC) processing on the bit sequences corresponding to the Q or S decoding paths respectively, the check processing module 430 is specifically configured to:

[0293] Determine a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code; determine the distributed CRC bits in the bit sequences corresponding to the Q or S decoding paths according to the check vector; perform CRC check processing on the distributed CRC bits in the bit sequences corresponding to the Q or S decoding paths respectively.

[0294] Specifically, in terms of determining a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code, the check processing module 430 is specifically configured to:

[0295] If the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is an information bit, the element in the u-th row and v-th column of the preset matrix is used as the r-th element of the check vector, where u is the index of the polarization channel where the first bit or the second bit is located, v is any column in the preset matrix, and r is the bit position of the first bit or the second bit in the polar code; if the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a distributed CRC bit, 1 is used as the r-th element of the check vector; if the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a frozen bit, 0 is used as the r-th element of the check vector.

[0296] Specifically, in terms of performing CRC check processing on the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths, the check processing module 430 is specifically configured to:

[0297] Perform radio network temporary identity (RNTI) scrambling on the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths to obtain the scrambled distributed CRC bits; perform CRC check on the scrambled distributed CRC bits together with the information bits in the bit sequences corresponding to each of the Q or S decoding paths.

[0298] The following introduces a schematic structural diagram of an electronic device provided by an embodiment of the present application, as Figure 5 shown. Among them, the decoder 500 includes a processor 510, a memory 520, and at least one communication bus for connecting the processor 510 and the memory 520.

[0299] The processor 510 may be one or more central processing units (CPUs). When the processor 510 is a single CPU, the CPU may be a single-core CPU or a multi-core CPU.

[0300] The memory 520 may include, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM), and the memory 520 is used to store relevant instructions and data.

[0301] The decoder 500 may further include a communication interface, and this communication interface is used to receive and send data.

[0302] The processor 510 in the decoder 500 is configured to execute a computer program or instructions 521 stored in the memory 520 to implement the following steps: obtaining P decoding paths for estimating the value of the first bit decoded into the polar code, where the value of P is greater than 0; when the value of P is less than a preset threshold, performing path extension on the estimated value of the first bit to the estimated value of the second bit to obtain 2*P decoding paths, where the second bit is the next bit of the first bit in the polar code, and when the value of 2*P is greater than or equal to the preset threshold, screening out Q decoding paths from the 2*P decoding paths through path sorting, where the value of Q is less than or equal to the preset threshold; when the value of P is greater than or equal to the preset threshold, screening out S decoding paths from the P decoding paths through path sorting, where the value of S is less than or equal to the preset threshold; performing early termination and cyclic redundancy check CRC processing on the bit sequences corresponding to each of the Q or S decoding paths, and using the bit sequences corresponding to the T decoding paths obtained after the early termination and CRC processing as candidate polar code decoding results, where the value of T is less than or equal to the value of Q or S.

[0303] It can be seen that when performing channel decoding on the NR PBCH, first, P decoding paths for estimating the value of the first bit decoded into the polar code are obtained, and the value of P is compared with the preset threshold. Secondly, when the value of P is less than the preset threshold, path extension is performed on the estimated value of the first bit to the estimated value of the second bit to obtain 2*P decoding paths, and when the value of 2*P is greater than or equal to the preset threshold, Q decoding paths are screened out from the 2*P decoding paths through path sorting. When the value of P is greater than or equal to the preset threshold, S decoding paths are screened out from the P decoding paths through path sorting. Finally, early termination and CRC processing are performed on the bit sequences corresponding to each of the Q or S decoding paths, and the bit sequences corresponding to the T decoding paths obtained after the early termination and CRC processing are used as candidate polar code decoding results.

[0304] Since in the process of polar code decoding, the first path deletion is performed through path sorting and screening, and the second path deletion is performed through early termination and CRC processing, the bit sequences corresponding to the remaining decoding paths are more likely to be polar codes, which is beneficial to reducing the number of candidate decoding results, improving the decoding efficiency, and reducing the subsequent decoding processing amount and complexity.

[0305] It should be noted that for the specific implementation of each operation performed by the decoder 500, reference can be made to the corresponding description of the method embodiment shown above Figure 3 and will not be elaborated here.

[0306] Specifically, in terms of screening out Q decoding paths from 2*P decoding paths through path sorting, the processor 510 is configured to execute the computer program or instruction 521 stored in the memory 520, and specifically implement the following steps:

[0307] Sort and screen the 2*P decoding paths according to the path metric values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths.

[0308] Specifically, in terms of sorting and screening the 2*P decoding paths according to the path metric values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths, the processor 510 is configured to execute the computer program or instruction 521 stored in the memory 520, and specifically implement the following steps:

[0309] Obtain the log-likelihood ratio values corresponding to the 2*P decoding paths respectively to obtain 2*P log-likelihood ratio values; determine the path metric values corresponding to the 2*P decoding paths respectively according to the estimated value of the second bit, the bit attribute to which the second bit belongs, and the 2*P log-likelihood ratio values to obtain 2*P path metric values, and the bit attribute to which the second bit belongs is one of an information bit, a distributed CRC bit, and a frozen bit; determine the sorting values corresponding to the 2*P decoding paths respectively according to the 2*P path metric values, and sort and screen the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths.

[0310] Specifically, in terms of determining the sorting values corresponding to the 2*P decoding paths respectively according to the 2*P path metric values, and sorting and screening the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q decoding paths, the processor 510 is configured to execute the computer program or instruction 521 stored in the memory 520, and specifically implement the following steps:

[0311] Compare the path metric value corresponding to the first decoding path in the 2*P decoding paths with the path metric values corresponding to the remaining decoding paths pairwise to obtain 2*P-1 comparison result values; perform an addition process on the 2*P-1 comparison result values to obtain the sorting value corresponding to the first decoding path, so as to obtain the sorting values corresponding to the 2*P decoding paths respectively in sequence; screen out the smallest Q sorting values from the sorting values corresponding to the 2*P decoding paths through path sorting, and use the decoding paths corresponding to the Q sorting values as Q decoding paths.

[0312] Specifically, in determining the path metric values corresponding to the 2*P decoding paths according to the estimated value of the second bit, the bit attribute to which the second bit belongs, and the 2*P log-likelihood ratios, the processor 510 is used to execute the computer program or instruction 521 stored in the memory 520, and the specific implementation steps are as follows:

[0313] If the bit attribute to which the second bit belongs is an information bit and the estimated value of the second bit satisfies the first preset condition, the path metric value corresponding to the first decoding path among the 2*P decoding paths is equal to the path metric value corresponding to the decoding path to the first bit; if the bit attribute to which the second bit belongs is an information bit and the estimated value of the second bit does not satisfy the first preset condition, the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path to the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path; if the bit attribute to which the second bit belongs is a frozen bit and the estimated value of the second bit is not equal to the value of the frozen bit, the path metric value corresponding to the first decoding path is equal to positive infinity; if the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit satisfies the first preset condition, the path metric value corresponding to the first decoding path is equal to the path metric value corresponding to the decoding path to the first bit;

[0314] If the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit does not satisfy the first preset condition, the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path to the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path.

[0315] Specifically, in obtaining the log-likelihood ratios corresponding to the 2*P decoding paths, to obtain 2*P log-likelihood ratios, the processor 510 is used to execute the computer program or instruction 521 stored in the memory 520, and the specific implementation steps are as follows:

[0316] Obtain the channel output signal and the estimated bit sequence decoded before the estimated value of the second bit; determine the transition probability of the polarization channel corresponding to the estimated value of the second bit according to the channel output signal and the estimated bit sequence; determine the log-likelihood ratios corresponding to the 2*P decoding paths according to the transition probability of the polarization channel, to obtain 2*P log-likelihood ratios.

[0317] Specifically, in screening out S decoding paths from the P decoding paths through path sorting, the processor 510 is used to execute the computer program or instruction 521 stored in the memory 520, and the specific implementation steps are as follows:

[0318] Sort and screen the P decoding paths according to the path metric values corresponding to the P decoding paths respectively to obtain S decoding paths.

[0319] Specifically, in terms of sorting and screening the P decoding paths according to the path metric values corresponding to the P decoding paths respectively to obtain S decoding paths, the processor 510 is used to execute the computer program or instruction 521 stored in the memory 520, and the specific implementation steps are as follows:

[0320] Obtain the log-likelihood ratio values corresponding to the P decoding paths respectively to obtain P log-likelihood ratio values; determine the path metric values corresponding to the P decoding paths respectively according to the estimated value of the first bit, the bit attribute to which the first bit belongs, and the P log-likelihood ratio values to obtain P path metric values, and the bit attribute to which the first bit belongs is one of information bit, distributed CRC bit, and frozen bit; determine the sorting values corresponding to the P decoding paths respectively according to the P path metric values, and sort and screen the P decoding paths according to the sorting values corresponding to the P decoding paths respectively to obtain S decoding paths.

[0321] Specifically, the T decoding paths are composed of the decoding paths processed by early termination and CRC check among the Q or S decoding paths; or,

[0322] The T decoding paths are composed of the decoding paths corresponding to the smallest T sorting values or path metric values when none of the Q or S decoding paths pass the early termination and CRC check.

[0323] Specifically, in terms of performing early termination and cyclic redundancy check (CRC) processing on the bit sequences corresponding to the Q or S decoding paths respectively, the processor 510 is used to execute the computer program or instruction 521 stored in the memory 520, and the specific implementation steps are as follows:

[0324] Determine a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code; determine the distributed CRC bits in the bit sequences corresponding to the Q or S decoding paths according to the check vector; perform CRC check processing on the distributed CRC bits in the bit sequences corresponding to the Q or S decoding paths.

[0325] Specifically, in terms of determining a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code, the processor 510 is used to execute the computer program or instruction 521 stored in the memory 520, and the specific implementation steps are as follows:

[0326] If the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is an information bit, the element in the u-th row and v-th column of the preset matrix is used as the r-th element of the check vector, where u is the index of the polarization channel where the first bit or the second bit is located, v is any column in the preset matrix, and r is the bit position of the first bit or the second bit in the polar code; if the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a distributed CRC bit, 1 is used as the r-th element of the check vector; if the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a frozen bit, 0 is used as the r-th element of the check vector.

[0327] Specifically, in terms of performing CRC check processing on the distributed CRC bits in the bit sequences corresponding to Q or S decoding paths respectively, the processor 510 is used to execute the computer program or instruction 521 stored in the memory 520 to specifically implement the following steps:

[0328] The distributed CRC bits in the bit sequences corresponding to Q or S decoding paths respectively are subjected to radio network temporary identity (RNTI) descrambling to obtain the descrambled distributed CRC bits; the descrambled distributed CRC bits and the information bits in the bit sequences corresponding to Q or S decoding paths respectively are subjected to CRC check together.

[0329] The embodiment of the present application further provides a communication device, which includes the above decoder 500. Exemplarily, the communication device may be a terminal or a network device.

[0330] The embodiment of the present application further provides a computer-readable storage medium, on which a computer program or instruction is stored, and when the computer program or instruction is executed by a processor, the steps described in the above embodiments are implemented.

[0331] The embodiment of the present application further provides a computer program product, including a computer program or instruction, and when the computer program or instruction is executed by a processor, the steps described in the above embodiments are implemented. Exemplarily, the computer program product may be a software installation package.

[0332] It should be noted that for the above embodiments, for the sake of simple description, they are all expressed as a series of action combinations. Those skilled in the art should know that the present application is not limited by the described action sequence, because some steps in the embodiments of the present application can be in other sequences or performed simultaneously. In addition, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions, steps, modules or units involved are not necessarily essential to the embodiments of the present application.

[0333] In the above embodiments, the descriptions of the embodiments of the present application each have their own emphasis. For parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0334] Those skilled in the art should be aware that the methods, steps, or functions of the relevant modules / units described in the embodiments of the present application can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product, or by a processor executing computer program instructions. Among them, the computer program product includes at least one computer program instruction, and the computer program instructions can be composed of corresponding software modules. The software modules can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disks, removable hard disks, CD-ROMs (compact disc read-only memory), or any other form of storage medium well-known in the art. The computer program instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer program instructions can be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired or wireless manner. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium, or a semiconductor medium (such as an SSD), etc.

[0335] Each of the modules / units included in the various devices or products described in the above embodiments can be a software module / unit, a hardware module / unit, or part of it can be a software module / unit and the other part can be a hardware module / unit. For example, for each of the devices or products applied to or integrated into a chip, each of the modules / units included in it can be implemented in the form of hardware such as circuits; or, a part of the modules / units included in it can be implemented in the form of a software program that runs on a processor integrated inside the chip, while the other part (if any) of the modules / units can be implemented in the form of hardware such as circuits. The same applies to each of the devices or products applied to or integrated into a chip module, or each of the devices or products applied to or integrated into a terminal.

[0336] The specific embodiments described above further elaborate on the objectives, technical solutions, and beneficial effects of the embodiments of the present application. It should be understood that the above description is only the specific embodiments of the embodiments of the present application and is not used to limit the protection scope of the embodiments of the present application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of the embodiments of the present application shall be included within the protection scope of the embodiments of the present application.

Claims

1. A polar code decoding method, characterized in that Including: Obtaining P decoding paths for estimating the first bit decoded into a polar code, where P is greater than 0; When the value of P is less than a preset threshold, expanding the path of the estimated value of the first bit to the estimated value of the second bit to obtain 2*P of the decoding paths, where the second bit is the next bit of the first bit in the polar code, and when the value of 2*P is greater than or equal to the preset threshold, screening Q of the decoding paths from the 2*P decoding paths through path sorting, where Q is less than or equal to the preset threshold; When the value of P is greater than or equal to the preset threshold, screening S of the decoding paths from the P decoding paths through path sorting, where S is less than or equal to the preset threshold; Performing early stopping and cyclic redundancy check CRC processing on the bit sequences corresponding to Q or S of the decoding paths respectively, and using the bit sequences corresponding to T of the decoding paths obtained after the early stopping and CRC processing as candidate polar code decoding results, where T is less than or equal to the value of Q or S.

2. The method according to claim 1, wherein The screening of Q of the decoding paths from the 2*P decoding paths through path sorting includes: Sorting and screening the 2*P decoding paths according to the path metric values corresponding to the 2*P decoding paths respectively to obtain Q of the decoding paths.

3. The method according to claim 2, characterized in that, The sorting and screening of the 2*P decoding paths according to the path metric values corresponding to the 2*P decoding paths respectively to obtain Q of the decoding paths includes: Obtaining the log-likelihood ratio values corresponding to the 2*P decoding paths respectively, to obtain 2*P of the log-likelihood ratio values; Determining the path metric values corresponding to the 2*P decoding paths respectively according to the estimated value of the second bit, the bit attribute to which the second bit belongs, and the 2*P log-likelihood ratio values, to obtain 2*P of the path metric values, where the bit attribute to which the second bit belongs is one of an information bit, a distributed CRC bit, and a frozen bit; Determining the sorting values corresponding to the 2*P decoding paths respectively according to the 2*P path metric values, and sorting and screening the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q of the decoding paths.

4. The method according to claim 3, wherein The determining of the sorting values corresponding to the 2*P decoding paths respectively according to the 2*P path metric values, and the sorting and screening of the 2*P decoding paths according to the sorting values corresponding to the 2*P decoding paths respectively to obtain Q of the decoding paths includes: Comparing the path metric value corresponding to the first decoding path among the 2*P decoding paths with the path metric values corresponding to the remaining decoding paths pairwise to obtain 2*P - 1 comparison result values; Performing an addition process on the 2*P - 1 comparison result values to obtain the sorting value corresponding to the first decoding path, thereby successively obtaining the sorting values corresponding to the 2*P decoding paths respectively. Select the smallest Q sorting values from the sorting values corresponding to the 2*P decoding paths respectively through path sorting, and use the decoding paths corresponding to the Q sorting values as the Q decoding paths.

5. The method according to claim 3, characterized in that, Determine the path metric values corresponding to the 2*P decoding paths respectively according to the estimated value of the second bit, the bit attribute to which the second bit belongs, and the 2*P log-likelihood ratios, and obtain the 2*P path metric values, including: If the bit attribute to which the second bit belongs is an information bit, and the estimated value of the second bit satisfies the first preset condition, the path metric value corresponding to the first decoding path among the 2*P decoding paths is equal to the path metric value corresponding to the decoding path of the first bit; If the bit attribute to which the second bit belongs is an information bit, and the estimated value of the second bit does not satisfy the first preset condition, the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path of the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path; If the bit attribute to which the second bit belongs is a frozen bit, and the estimated value of the second bit is not equal to the value of the frozen bit, the path metric value corresponding to the first decoding path is equal to positive infinity; If the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit satisfies the first preset condition, the path metric value corresponding to the first decoding path is equal to the path metric value corresponding to the decoding path of the first bit; If the bit attribute to which the second bit belongs is a frozen bit, the estimated value of the second bit is equal to the value of the frozen bit, and the estimated value of the second bit does not satisfy the first preset condition, the path metric value corresponding to the first decoding path is equal to the sum of the path metric value corresponding to the decoding path of the first bit and the absolute value of the log-likelihood ratio corresponding to the first decoding path.

6. The method according to claim 3, wherein The obtaining of the 2*P log-likelihood ratios corresponding to the 2*P decoding paths respectively, and obtaining the 2*P log-likelihood ratios, includes: Obtain the channel output signal and the estimated bit sequence decoded before the estimated value of the second bit; Determine the transition probability of the polarization channel corresponding to the estimated value of the second bit according to the channel output signal and the estimated bit sequence; Determine the 2*P log-likelihood ratios corresponding to the 2*P decoding paths respectively according to the transition probability of the polarization channel, and obtain the 2*P log-likelihood ratios.

7. The method according to claim 1, characterized in that, The selecting of S decoding paths from the P decoding paths through path sorting includes: Sort and screen the P decoding paths according to the path metric values corresponding to the P decoding paths respectively to obtain S decoding paths.

8. The method according to claim 7, wherein The sorting and screening of the P decoding paths according to the path metric values corresponding to the P decoding paths respectively to obtain S decoding paths includes: Obtain the log-likelihood ratio values corresponding to each of the P decoding paths, and obtain P such log-likelihood ratio values; Determine the path metric values corresponding to each of the P decoding paths according to the estimated value of the first bit, the bit attribute to which the first bit belongs, and the P log-likelihood ratio values, and obtain P such path metric values, where the bit attribute to which the first bit belongs is one of an information bit, a distributed CRC bit, and a frozen bit; Determine the sorting values corresponding to each of the P decoding paths according to the P path metric values, and sort and screen the P decoding paths according to the sorting values corresponding to each of the P decoding paths to obtain S decoding paths.

9. The method according to claim 1, wherein The T decoding paths are composed of the decoding paths that pass through the early termination and CRC check processing among the Q or S decoding paths; or, The T decoding paths are composed of the decoding paths corresponding to the smallest T sorting values or path metric values when none of the decoding paths among the Q or S decoding paths passes through the early termination and CRC check processing.

10. The method according to claim 1, wherein The early termination and cyclic redundancy check (CRC) processing of the bit sequences corresponding to each of the Q or S decoding paths includes: Determine a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code; Determine the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths according to the check vector; Perform CRC check processing on the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths.

11. The method according to claim 10, wherein The determining a one-dimensional check vector according to the bit attribute to which the first bit or the second bit belongs and the bit position of the first bit or the second bit in the polar code includes: If the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is an information bit, use the element in the u-th row and v-th column of a preset matrix as the r-th element of the check vector, where u is the index of the polar channel where the first bit or the second bit is located, v is any column in the preset matrix, and r is the bit position of the first bit or the second bit in the polar code; If the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a distributed CRC bit, use 1 as the r-th element of the check vector; If the bit attribute to which the first bit belongs or the bit attribute to which the second bit belongs is a frozen bit, use 0 as the r-th element of the check vector.

12. The method according to claim 10, wherein The performing CRC check processing on the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths includes: Perform radio network temporary identity (RNTI) descrambling on the distributed CRC bits in the bit sequences corresponding to each of the Q or S decoding paths to obtain the descrambled distributed CRC bits; Perform CRC check on the descrambled distributed CRC bits together with the information bits in the bit sequences corresponding to each of the Q or S decoding paths.

13. A polar code decoding device, characterized in that, Comprising: An obtaining module, configured to obtain P decoding paths for estimating values of first bits decoded into a polar code, where the value of P is greater than 0; A path processing module, configured to, when the value of P is less than a preset threshold, perform path expansion on the estimated value of the first bit to the estimated value of a second bit to obtain 2*P decoding paths, where the second bit is the next bit of the first bit in the polar code, and when the value of 2*P is greater than or equal to the preset threshold, screen out Q decoding paths from the 2*P decoding paths through path sorting, where the value of Q is less than or equal to the preset threshold; The path processing module is further configured to, when the value of P is greater than or equal to the preset threshold, screen out S decoding paths from the P decoding paths through path sorting, where the value of S is less than or equal to the preset threshold; A check processing module, configured to perform early stopping and cyclic redundancy check (CRC) processing on the bit sequences respectively corresponding to Q or S decoding paths, and use the bit sequences respectively corresponding to T decoding paths obtained after the early stopping and CRC processing as candidate polar code decoding results, where the value of T is less than or equal to the value of Q or S.

14. A decoder, comprising a processor, a memory, and a computer program or instruction stored on the memory, characterized in that The processor executes the computer program or instruction to implement the steps of the method according to any one of claims 1-12.

15. A communication device, characterized in that, Comprising the decoder according to claim 14.

16. A computer-readable storage medium, characterized in that, A computer program or instruction is stored on the computer-readable storage medium, and when the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1-12 are implemented.

17. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1-12 are implemented.

Citation Information

Patent Citations

  • Path metric sorting method for channel polarization decoding

    CN108833052A

  • Polar Code Encoding and Decoding Method and Apparatus

    US20200412482A1