CN111510163A - Polar code decoding method and device and storage medium - Google Patents

Polar code decoding method and device and storage medium Download PDF

Info

Publication number
CN111510163A
CN111510163A CN202010464276.0A CN202010464276A CN111510163A CN 111510163 A CN111510163 A CN 111510163A CN 202010464276 A CN202010464276 A CN 202010464276A CN 111510163 A CN111510163 A CN 111510163A
Authority
CN
China
Prior art keywords
path
candidate paths
decoding
paths
polar code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010464276.0A
Other languages
Chinese (zh)
Inventor
刘君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010464276.0A priority Critical patent/CN111510163A/en
Publication of CN111510163A publication Critical patent/CN111510163A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Abstract

The embodiment of the invention discloses a polar code decoding method, a polar code decoding device and a storage medium, wherein if a plurality of candidate paths are generated in a current polar code layer, a first path and a second path are determined from the plurality of candidate paths, the first path is the path with the largest path metric value in the plurality of candidate paths, the second path is the path at the middle position in the plurality of candidate paths, and the plurality of candidate paths are the paths for decoding the next code layer; determining a path metric difference between the first path and the second path; adjusting the number of the multiple candidate paths according to the path metric difference value and a preset path metric threshold value; and decoding the next code layer by using the plurality of candidate paths with the adjusted number.

Description

Polar code decoding method and device and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a polar code decoding method and apparatus, and a storage medium.
Background
With the continuous development of communication technology, channel decoding plays an important role in the information transmission process, and the polar code decoding mode can improve the reliability of signal transmission, so that the polar code decoding mode is more widely used in channel decoding.
In the prior art, a continuous list elimination algorithm decodes a polar code by utilizing a plurality of paths in parallel, except for the initial stage that the number of the plurality of paths is less than the set maximum path number, the survivor paths of the set maximum path number need to be calculated at the same time in most of the time in the decoding process of the continuous list elimination algorithm, path measurement sequencing and selection are performed, if the number of the survivor paths is smaller, the decoding performance is poorer, and a decoding device needs to consume longer time to finish the decoding of the polar code, so the time of decoding the polar code is prolonged, and the delay of decoding the polar code is increased.
Disclosure of Invention
In order to solve the above technical problem, embodiments of the present invention desirably provide a polar code decoding method and apparatus, and a storage medium, which can reduce the delay in decoding a polar code.
The technical scheme of the invention is realized as follows:
the embodiment of the application provides a polar code decoding method, which comprises the following steps:
if a plurality of candidate paths are generated in the current polarized code layer, determining a first path and a second path from the plurality of candidate paths, wherein the first path is the path with the largest path metric value in the plurality of candidate paths, the second path is the path at the middle position in the plurality of candidate paths, and the plurality of candidate paths are the paths for decoding the next code layer;
determining a path metric difference value between the first path and the second path;
adjusting the number of the candidate paths according to the path metric difference value and a preset path metric threshold value;
and decoding the next code layer by using the plurality of candidate paths with the adjusted number.
In the foregoing solution, the adjusting the number of the candidate paths according to the path metric difference value and the preset path metric threshold includes:
if the path metric difference value is greater than or equal to the preset path metric upper limit value, reducing the number of the candidate paths;
and if the path metric difference value is less than or equal to the preset path metric lower limit value, increasing the number of the candidate paths.
In the foregoing solution, the reducing the number of the plurality of candidate paths includes:
reducing the number of the plurality of candidate paths by half.
In the foregoing solution, the increasing the number of the plurality of candidate paths includes:
doubling the number of the plurality of candidate paths.
In the foregoing solution, before determining the first path and the second path from the plurality of candidate paths, the method further includes:
determining decoding bits corresponding to the current polarization code layer;
if the decoding bit is an information bit, generating a plurality of candidate paths corresponding to the next code layer;
and if the decoding bit is a fixed bit, updating a plurality of path metric values corresponding to the plurality of candidate paths.
In the foregoing solution, the generating multiple candidate paths corresponding to a next code layer includes:
generating a plurality of paths to be selected corresponding to the next code layer, wherein the number of the paths to be selected is greater than or equal to the number of the candidate paths;
and determining the multiple candidate paths from the multiple paths to be selected according to the multiple path metric values to be selected of the multiple paths to be selected.
In the above solution, after the decoding of the next code layer by using the adjusted number of candidate paths, the method further includes:
judging whether the current polarization code layer is the last layer of the polarization code or not, wherein the polarization code is divided into a plurality of code layers according to a preset decoding model;
if the current polarized code layer is the last layer of the polarized codes, determining a target polarized code decoding path from the plurality of candidate paths;
and if the current polarization code layer is not the last layer of the polarization code, determining the decoding bit corresponding to the next code layer.
In the foregoing solution, the determining a target polar code decoding path from the plurality of candidate paths includes:
checking the candidate paths to obtain a plurality of checking results;
and determining a target polarized code decoding path from the candidate paths according to the check results and the path metric values, and decoding the polarized code by using the target polarized code decoding path.
The embodiment of the application provides a polar code decoding device, which comprises:
a determining unit, configured to determine, if multiple candidate paths are generated in a current polar code layer, a first path and a second path from the multiple candidate paths, where the first path is a path with a largest path metric value among the multiple candidate paths, the second path is a path at an intermediate position among the multiple candidate paths, and the multiple candidate paths are paths for decoding a next code layer; determining a path metric difference value between the first path and the second path;
an adjusting unit, configured to adjust the number of the multiple candidate paths according to the path metric difference value and a preset path metric threshold;
and the decoding unit is used for decoding the next code layer by using the plurality of candidate paths with the adjusted number.
The embodiment of the application provides a polar code decoding device, the device includes:
the device comprises a memory, a processor and a communication bus, wherein the memory is communicated with the processor through the communication bus, the memory stores a polar code decoding program executable by the processor, and when the polar code decoding program is executed, the processor executes the method.
The embodiment of the present application provides a storage medium, on which a computer program is stored, and is applied to a polar code decoding apparatus, wherein the computer program is implemented to implement the above-mentioned method when executed by a processor.
The embodiment of the invention provides a polar code decoding method and device and a storage medium, wherein the polar code decoding method comprises the following steps: if a plurality of candidate paths are generated in the current polarized code layer, determining a first path and a second path from the plurality of candidate paths, wherein the first path is the path with the largest path metric value in the plurality of candidate paths, the second path is the path at the middle position in the plurality of candidate paths, and the plurality of candidate paths are the paths for decoding the next code layer; determining a path metric difference between the first path and the second path; adjusting the number of the multiple candidate paths according to the path metric difference value and a preset path metric threshold value; and decoding the next code layer by using the plurality of candidate paths with the adjusted number. By adopting the method, the polar code decoding device dynamically adjusts the number of the plurality of candidate paths and decodes the polar code according to the plurality of candidate paths after the number is adjusted, so that the polar code decoding device can successfully decode the polar code according to the plurality of candidate paths after the number is adjusted, the polar code decoding device does not need to decode the polar code twice, the time of decoding by the polar code decoding device is saved, and the delay of decoding by the polar code decoding device is reduced.
Drawings
FIG. 1 is a flow chart of an exemplary decoding method in the prior art;
fig. 2 is a flowchart of a polar code decoding method according to an embodiment of the present disclosure;
fig. 3 is a flowchart of an exemplary polar code decoding method according to an embodiment of the present disclosure;
fig. 4 is a flowchart of an exemplary method for decoding a polar code according to an embodiment of the present disclosure;
fig. 5 is a block error rate comparison diagram of an exemplary polar code decoding method according to an embodiment of the present disclosure;
fig. 6 is a schematic diagram illustrating comparison of computational decoding complexity of an exemplary polar code decoding method according to an embodiment of the present application;
fig. 7 is a first schematic structural diagram illustrating a component structure of a polar code decoding apparatus according to an embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of a polar code decoding apparatus according to an embodiment of the present application.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Polar code (Polar) code is a forward error correction coding scheme in communication systems. The polar codes are processed by low-complexity channel polarization (channel polarization), and the bits composing the code words are made to present different reliabilities on different sub-channels on the encoding side, when the code length of the polar codes is continuously increased, part of the sub-channels will tend to an ideal channel with capacity close to 1, the ideal signal with capacity close to 1 is a channel without error codes, and the other part of the channels tends to a pure noise channel with capacity close to 0. The polar code is a coding method for selecting information to be transmitted on an ideal channel and selecting fixed bits (freqen bits) to be transmitted on a channel of a noise channel, and when the code length N of the polar code approaches infinity, the polar code coding can approach the channel capacity.
The polarization code is used in 5G for coding of a Control Channel, wherein the Control Channel includes a Physical Downlink Control Channel (PDCCH), a Physical Uplink Control Channel (PUCCH), a Physical Broadcast Channel (PBCH), the Control Channel code length is a medium-short code, the code length is limited, and the Decoding performance is not ideal when Decoding is performed by using a low-complexity serial Cancellation Decoding (SC L) method, so that the list continuous serial Cancellation algorithm Decoding (SC L ist Decoding) method is commonly used for Decoding polarization codes, the SC L method is Decoding by using parallel P-bar path Decoding, where P is the number of path lists, and generally P can be configured as 2, 4, 8, 16 lists, the larger the number of Decoding performance is, for example, the stronger the P is 8, and the larger the SC 36 method is the SC 2 (SC L) Decoding performance is known as a large-amplitude Decoding method.
The SC decoding process of the polar code can be understood as a binary tree based codeword search process. If the leaf layer at the end of the binary tree only processes 1 decoded bit, the layer number of the binary tree is the code length N of the polar code, and each layer N is 0,1, …, and N-1 represents one decoded bit of the codeword, where the decoded bit may be a fixed bit 0(frozen bit) or an information bit. If the leaf layer at the end of the binary tree processes M >1 decoding bits, the layer number of the binary tree is N/M, each layer N is 0,1, …, and N/M-1 is a node and consists of M decoding bits of a code word.
The decoding process of the polarization code is from the root node (the first layer) to the bottom layer by layer, each layer uses the decoding and judging result of the previous layer to calculate the log-likelihood Ratio (L og-likelihood Ratio, LL R), and the estimation and path metric of the decoding bit of the current layer are obtained.
Exemplary, a flowchart corresponding to the process of SC L decoding is shown in fig. 1.
1. The maximum list number (maximum path number) is set to Pmax, the current path number is 1 (i.e., P is 1), the path metric value of the one path is 0, and the initial layer is n is 0.
2. And calculating the path metric value of the decoding bit corresponding to the current polarization code layer n for all P paths in the current list.
LL r of internal stages is also processed and saved in the process, it should be noted that each path or list item P of the flow chart is 0,1, …, and P-1 may be parallel processing or may be serial processing each path.
3. And determining the decoding bit corresponding to the current layer as a fixed bit.
The fixed bits do not carry information, typically the padding bit 0
4. If the decoding bit corresponding to the current layer is a fixed bit, updating the path metric value of each path list item.
If the decoding bit corresponding to the current layer is a fixed bit, the decoding bits included in the node are all fixed bits, the current layer does not expand the path list, and the step 7 is skipped, and if the decoding bit corresponding to the current layer is not a fixed bit, the step 5 is executed.
5. A new candidate path list is generated.
If each path can generate K candidate paths, a total of Pc ═ P × K candidate paths can be generated. In addition, K is 1,2, …,2MAnd M is the number of decoded bits.
6. And calculating the metric value of each candidate path, sorting and selecting the best P paths.
In this process, the state of each path is stored, including the state required for decoding, such as the path metric value, the path history decoding bit, and the partial accumulated value. Since the candidate path grows with an exponential power of 2, most of the time P becomes Pmax after the first few layers containing information bits.
7. It is determined whether the current layer of the polar code is the last layer of the polar code decoding.
And if the current polarized code layer is the last layer of the polarized code decoding, executing the step 2, and if the current polarized code layer is not the last layer of the polarized code decoding, executing the step 8.
8. And selecting and judging whether decoding is successful or not from the survivor paths one by one according to Cyclic Redundancy Check (CRC), path metric values and other factors.
In the SC L decoding process of the polar code, except that the initial stage path number is less than Pmax, most of the time is required to calculate Pmax survival paths, order and select path metrics, and store the path-related states or read-write access to a register, the decoding power consumption of the polar code is linearly related to the path number, i.e., the greater the path number is, the greater the decoding power consumption is, on the other hand, if the path number is less, the poorer the decoding performance of the polar code is.
A common polar code decoding method is to decode a polar code by using a SC method with low computation amount, and decode the polar code again by using a SC L method with high computation amount when the SC method fails to decode, which increases decoding delay due to an increase of one SC decoding process when the channel condition is poor.
The problems in the prior art can be solved by the following methods in the following embodiments.
Example one
An embodiment of the present application provides a polar code decoding method, and fig. 2 is a flowchart of a polar code decoding method provided in the embodiment of the present application, where as shown in fig. 2, the polar code decoding method may include:
s101, if a plurality of candidate paths are generated in the current polarization code layer, determining a first path and a second path from the plurality of candidate paths, wherein the first path is the path with the largest path metric value in the plurality of candidate paths, the second path is the path at the middle position in the plurality of candidate paths, and the plurality of candidate paths are the paths for decoding the next code layer.
The method for decoding the polar codes is suitable for a polar code decoding device to decode the polar codes.
In this embodiment, the polar code decoding apparatus may generate a plurality of candidate paths when detecting that a decoding bit corresponding to a current polar code layer is an information bit.
It should be noted that, the polar code decoding apparatus may first calculate a plurality of log-likelihood ratios of a plurality of candidate paths, and obtain a plurality of path metric values corresponding to the plurality of candidate paths according to the plurality of log-likelihood ratios, where one candidate path corresponds to one log-likelihood ratio, and one log-likelihood ratio corresponds to one path metric value.
It should be noted that the multiple candidate paths are candidate paths obtained by sorting according to the multiple path metric values, the first path is a path with the largest path metric value among the multiple candidate paths, and the second path is a path at an intermediate position among the multiple candidate paths.
In this embodiment of the application, the second path may also be a path with a path metric value smaller than the first path metric value in the multiple candidate paths, and the second path may also be another candidate path in the multiple candidate paths, which may be determined specifically according to an actual situation, and this is not limited in this embodiment of the application.
In this embodiment of the present application, the first path may also be a path whose path metric value in the multiple candidate paths is smaller than a maximum path metric value in the multiple path metric values, which may be specifically determined according to an actual situation, and this is not limited in this embodiment of the present application.
In the embodiment of the application, before the polar code decoding device determines the first path and the second path from the multiple candidate paths, the polar code decoding device determines a decoding bit corresponding to a current polar code decoding layer; after the polar code decoding device determines the decoding bit corresponding to the current polar code decoding layer, the polar code decoding device judges the decoding bit, if the polar code decoding device determines that the decoding bit is an information bit, the polar code decoding device generates a plurality of candidate paths corresponding to the next code layer, and if the polar code decoding device determines that the decoding bit is a fixed bit, the polar code decoding device updates a plurality of path metric values corresponding to the plurality of candidate paths.
It should be noted that the information bits are bits carrying information, and the information may be information scheduled by a PDCCH or information scheduled by a PUCCH, which may be determined specifically according to an actual situation, and this is not limited in this embodiment of the present application.
In the embodiment of the present application, the polar code decoding device is initialized after being started, and the maximum number Pmax of paths may be set for the polar code decoding device in the process of initializing the polar code decoding device.
It should be noted that, after the polar code decoding device is initialized, there is only one path in the polar code decoding device, and the path metric of the path is 0, and the initial layer of the polar code is 0.
In the embodiment of the present application, the way in which the polar code decoding device generates multiple candidate paths corresponding to the next code layer may be to generate multiple paths to be selected corresponding to the next code layer for the polar code decoding device; after the polar code decoding device generates a plurality of paths to be selected corresponding to the next code layer, the polar code decoding device determines a plurality of candidate paths from the plurality of paths to be selected according to the plurality of path metric values to be selected of the plurality of paths to be selected.
It should be noted that the number of the paths to be selected is greater than or equal to the number of the candidate paths.
In the embodiment of the present application, a plurality of paths to be selected correspond to a plurality of path metrics to be selected, where one path to be selected corresponds to one path metric to be selected.
In this embodiment of the present application, the polar code decoding device determines a plurality of candidate paths from the plurality of paths to be selected according to a plurality of path metric values to be selected of the plurality of paths to be selected, may rank the plurality of paths to be selected according to the plurality of path metric values to be selected for the polar code decoding device, to obtain a ranking sequence of the plurality of paths to be selected, and the polar code decoding device selects a plurality of paths with a larger path metric value to be selected from the plurality of paths to be selected according to the ranking sequence of the plurality of paths to be selected, and uses the plurality of paths as the plurality of candidate paths.
In the embodiment of the present application, if one candidate path can generate K paths to be selected, and the number of the candidate paths is P, P may be generatedcAnd P and K paths to be selected. Wherein k is 1,2, … 2MAnd M is the number of decoded bits.
In the embodiment of the present application, after the polar code decoding apparatus takes the multiple paths as multiple candidate paths, the polar code decoding apparatus further stores path states of the multiple candidate paths, where the path states include states required for decoding, such as path history decoding bits, partial accumulated values, and the like.
In the embodiment of the present application, after the polar code decoding device performs decoding on the next code layer by using the plurality of candidate paths after the number of which is adjusted, the polar code decoding device determines whether the current polar code layer is the last layer of the polar code, and if the polar code decoding device determines that the current polar code layer is the last layer of the polar code, the polar code decoding device determines a target polar code decoding path from the plurality of candidate paths; if the polar code decoding device judges that the current polar code layer is not the last layer of the polar code, the polar code decoding device determines the decoding bit corresponding to the next code layer.
In this embodiment of the present application, the determining, by a polar code decoding apparatus, whether a current polar code layer is a last layer of a polar code includes: if the polar code decoding device determines that the decoding bit corresponding to the current polar code layer is a fixed bit, the polar code decoding device judges whether the current polar code layer is the last layer of the polar code.
It should be noted that the polarization code is divided into a plurality of code layers according to a preset decoding model.
In the embodiment of the present application, the fixed bit is a bit that does not carry information, and the bit value of the bit may be 0.
It should be noted that the fixed bits may be information known by both the sending end and the receiving end, such as check information.
In this embodiment, if the polar code decoding device determines that the decoding bits corresponding to the current polar code layer are fixed bits, the polar code decoding device updates a plurality of path metric values corresponding to a plurality of candidate paths, and the polar code decoding device does not increase the number of the plurality of candidate paths.
In this embodiment of the application, the way that the polar code decoding device determines the target polar code decoding path from the multiple candidate paths may be to check the multiple candidate paths for the polar code decoding device to obtain multiple check results, and after the polar code decoding device obtains the multiple check results, the polar code decoding device determines the target polar code decoding path from the multiple candidate paths according to the multiple check results and the multiple path metric values, and decodes the polar code by using the target polar code decoding path.
In this embodiment of the present application, a check method for checking multiple candidate paths by a polarization code decoding apparatus may be a CRC check, a parity check, a longitudinal redundancy check (L orthogonal redundancy check, &ttttranslation = L "&tttl &ttt/t &tttrc), and the like, which may be specifically determined according to practical situations, and this embodiment of the present application is not limited thereto.
In the embodiment of the application, a plurality of candidate paths correspond to a plurality of verification results, wherein one candidate path corresponds to one verification result.
It should be noted that the verification result may include verification success and verification failure.
In the embodiment of the present application, a plurality of candidate paths correspond to a plurality of path metric values, where one candidate path corresponds to one path metric value.
In this embodiment of the present application, the number of the target polar code decoding paths may be one, and the number of the target polar code decoding paths may be multiple, which may be specifically determined according to an actual situation, and this is not limited in this embodiment of the present application.
It should be noted that, if the number of the target polarization code decoding paths is one, the polarization code decoding device decodes the polarization code by using the one target polarization code decoding path, and if the number of the target polarization code decoding paths is multiple, the polarization code decoding device can decode the polarization code in parallel by using the multiple target polarization code decoding paths, and the polarization code decoding device can also decode the polarization code in series by using the multiple target polarization code decoding paths, which can be specifically determined according to actual conditions, and this embodiment of the present application does not limit this.
S102, determining a path metric difference value between the first path and the second path.
In this embodiment, after the polar code decoding apparatus determines the first path and the second path from the plurality of candidate paths, the polar code decoding apparatus may determine that the path metric difference between the first path and the second path is large.
It should be noted that, the way for the polar code decoding device to determine the path metric difference between the first path and the second path may be that the polar code decoding device first determines the path metric value of the first path and the path metric value of the second path, and then the polar code decoding device determines the difference between the path metric value of the first path and the path metric value of the second path, so as to obtain the path metric difference.
In this embodiment of the present application, the polar code decoding apparatus may further obtain a path metric difference value by using a quotient of the path metric value of the first path and the path metric value of the second path, which may be specifically determined according to an actual situation, and this is not limited in this embodiment of the present application.
In this embodiment, when the first path is a path with the largest path metric value among the multiple candidate paths and the second path is a path at an intermediate position among the multiple candidate paths, the polar code decoding apparatus may obtain a path metric difference value according to the path with the largest path metric value among the multiple candidate paths and the path at the intermediate position among the multiple candidate paths; when the first path is a path with the largest path metric value among the multiple candidate paths, and the second path is a path with the largest path metric value among the multiple candidate paths and the path with the smaller path metric value than the first path metric value among the multiple candidate paths, the polar code decoding device can obtain a path metric difference value according to the path with the largest path metric value among the multiple candidate paths and the path with the smaller path metric value than the first path metric value among the multiple candidate paths; when the first path may also be a path whose path metric value in the multiple candidate paths is smaller than a maximum path metric value in the multiple path metric values, and the second path is a path at an intermediate position in the multiple candidate paths, the polar code decoding apparatus may obtain a path metric difference value according to the path whose path metric value in the multiple candidate paths is smaller than the maximum path metric value in the multiple path metric values, and the path at the intermediate position in the multiple candidate paths, which may be specifically determined according to an actual situation.
S103, adjusting the number of the candidate paths according to the path metric difference value and a preset path metric threshold value.
In this embodiment, after the polar code decoding device determines a path metric difference between the first path and the second path, the polar code decoding device may adjust the number of the plurality of candidate paths according to the path metric difference and a preset path metric threshold.
It should be noted that the polar code decoding device includes a preset path metric threshold, where the preset path metric threshold is a threshold of a path metric difference value, and the preset path metric threshold includes a preset path metric upper limit value and a preset path metric lower limit value, and if the path metric difference value is greater than or equal to the preset path metric upper limit value, the polar code decoding device adjusts the number of multiple candidate paths, or if the path metric difference value is less than or equal to the preset path metric lower limit value, the polar code decoding device adjusts the number of multiple candidate paths.
In this embodiment of the present application, the polar code decoding device may set the preset path metric threshold when obtaining the polar code, or may set the preset path metric threshold when initializing the polar code decoding device, which may be specifically determined according to an actual situation, and this is not limited in this embodiment of the present application.
In this embodiment, the manner of adjusting the number of the multiple candidate paths by the polar code decoding device may increase the number of the multiple candidate paths for the polar code decoding device, or decrease the number of the multiple candidate paths for the polar code decoding device, which may be determined specifically according to actual situations, and this is not limited in this embodiment.
In the embodiment of the present application, the polar code decoding device adjusts the number of the multiple candidate paths according to the path metric difference and the preset path metric threshold, specifically, if the polar code decoding device determines that the path metric difference is greater than or equal to the preset path metric upper limit value, the polar code decoding device reduces the number of the multiple candidate paths; if the polar code decoding device determines that the path metric difference is smaller than or equal to the preset path metric lower limit value, the polar code decoding device increases the number of the plurality of candidate paths.
In the embodiment of the present application, the polar code decoding apparatus may reduce the number of the plurality of candidate paths by half for the polar code decoding apparatus.
In this embodiment of the application, the method for reducing the number of the multiple candidate paths by half by the polar code decoding apparatus may be that the polar code decoding apparatus deletes, according to the multiple path metric values of the multiple candidate paths, the half candidate path with the smaller path metric value among the multiple path metric values, so that the number of the multiple candidate paths is reduced by half.
In the embodiment of the present application, the manner in which the polar code decoding apparatus increases the number of the plurality of candidate paths may be that the polar code decoding apparatus doubles the number of the plurality of candidate paths.
In the embodiment of the present application, the mode that the polar code decoding apparatus doubles the number of the plurality of candidate paths may be that the polar code decoding apparatus selects the paths to be selected again from the plurality of paths to be selected, which is the same as the number of the plurality of candidate paths, so as to double the number of the plurality of candidate paths.
And S104, decoding the next code layer by using the plurality of candidate paths with the adjusted number.
In this embodiment, after the polar code decoding apparatus adjusts the number of the plurality of candidate paths, the polar code decoding apparatus may perform decoding of a next code layer by using the plurality of candidate paths after the number adjustment.
It can be understood that the decoding computation amount of the polar code is dynamically adjusted by the polar code decoding device, the computation complexity is reduced by reducing the number of a plurality of candidate paths when the channel condition is good, the decoding performance of the polar code is improved by increasing the number of the plurality of candidate paths by the polar code decoding device when the channel condition is poor, the decoding performance of the polar code decoding device is improved, the computation amount of the polar code decoding is reduced, and the power consumption of the polar code decoding device is reduced.
In the embodiment of the present application, a polar code decoding device decodes a polar code as shown in fig. 3:
11. and setting a maximum list number Pmax, wherein the current list number P is 1, the path metric value is 0, and the initial layer is 0.
12. And determining the decoding bit corresponding to the current polarization code layer.
13. And judging whether the decoding bit corresponding to the current polarization code layer is a fixed bit.
In this embodiment of the present application, if the decoding bit corresponding to the current polarization layer is a fixed bit, step 14 is executed, and if the decoding bit corresponding to the current polarization layer is a fixed bit, step 15 is executed.
14. And updating the path metric values corresponding to the plurality of candidate paths.
In the embodiment of the present application, after the polar code decoding apparatus updates the path metric values corresponding to the multiple candidate paths, step 19 is executed.
In the embodiment of the present application, the decoding bits corresponding to the current layer are fixed bits, including all the decoding bits contained in the node are fixed bits, the current layer does not expand the path list,
15. and generating a plurality of paths to be selected corresponding to the next code layer.
16. A first path and a second path are determined from the plurality of candidate paths.
17. A path metric difference between the first path and the second path is determined.
18. And adjusting the number of the plurality of candidate paths according to the path metric difference value and a preset path metric threshold value.
19. If the decoding bit is a fixed bit, the current polarization code layer is judged to be the last layer of the polarization code.
In the embodiment of the present application, if the current polarization layer is the last layer of the polarization code, step 20 is executed, and if the current polarization layer is not the last layer of the polarization code, step 12 is executed.
20. And determining a target polar code decoding path from the plurality of candidate paths.
In this embodiment of the present application, the polar code decoding apparatus adjusts the number of the multiple candidate paths according to the path metric difference and the preset path metric, as specifically shown in fig. 4:
181. and comparing the path metric difference value with a preset path metric upper limit value.
182. And judging whether the path metric difference value is greater than or equal to a preset path metric upper limit value or not.
In the embodiment of the present application, if the path metric difference is greater than or equal to the preset path metric upper limit, step 184 is executed, otherwise, step 183 is executed.
183. And judging whether the path metric difference value is less than or equal to a preset path metric upper limit value or not.
In the embodiment of the present application, if the difference between the path metrics is less than or equal to the predetermined upper limit of the path metrics, step 186 is executed.
184. The number of candidate paths is reduced.
185. And deleting redundant candidate paths to obtain a plurality of adjusted candidate paths.
186. The number of candidate paths is increased.
187. And obtaining a plurality of adjusted candidate paths.
For example, as shown in fig. 5, by configuring 2 Control Candidate Elements (CCEs) for a PDCCH, and by configuring a combination indicating that a load of Downlink Control Information (DCI) is 41, a decoding method performed by 4 candidate paths in the existing SC L, a decoding method performed by 8 candidate paths in the existing SC L, and a polar code decoding method (the number of the candidate paths is 8) in the present application perform polar code decoding, respectively, a corresponding relation graph of a transmission error frame rate and a signal-to-noise ratio is obtained, where a curve 1 is an SC L decoding curve when 4 candidate paths in the prior art are used, a curve 2 is an SC L decoding curve when 8 candidate paths in the prior art are used, a curve 3 is a polar code decoding curve in the present application, and it is known from the figure that all decoding curves obtained by the three methods are that when a signal-to-noise ratio is continuously increased, a transmission error frame rate of a polar code gradually decreases, where a number of multiple candidate paths in the prior art is a multiple polar code decoding curve L decoding curve when the number of multiple candidate paths is equal to a multiple polar code decoding rate, and a corresponding decoding curve of a multiple polar code frame rate is smaller than a decoding curve 468 in the prior art when the current application, and the multiple polar code decoding method is a multiple SC L corresponding decoding method of the present application.
For example, as shown in fig. 6, fig. 6 shows a corresponding relationship graph of complexity of decoding calculation and signal-to-noise ratio obtained when a decoding method using 4 candidate paths in the prior art SC L, a decoding method using 8 candidate paths in the prior art SC L, and a polar code decoding method in the present application (the number of the candidate paths is 8) perform polar code decoding, respectively, where curve 1 is a decoding curve of SC L0 in the case of 4 candidate paths in the prior art, curve 2 is a decoding curve of SC L1 in the case of 8 candidate paths in the prior art, and curve 3 is a decoding curve of a polar code in the present application, it is known from the figure that a decoding curve of SC L in the case of 4 candidate paths in the prior art and a decoding curve of SC 362 in the case of 8 candidate paths in the prior art increase with a noise ratio, the complexity of decoding calculation of a polar code tends to be constant when the decoding curve of a decoding curve of SC L in the prior art is larger than a decoding curve of SC 362 in the case of 8 candidate paths in the prior art, and the decoding curve of SC L is larger than a decoding curve of SC L in the decoding curve of 8 candidate paths in the case of 8 candidate paths in the prior art, when the decoding curve of 8 candidate paths in the present application is larger than a decoding curve of the same decoding curve of SC equivalent to a decoding curve of the same decoding complexity calculation, the decoding curve of SC equivalent to a decoding curve of the present application, the same decoding complexity calculation, the decoding curve of the decoding complexity calculation of the present application, the decoding curve of the decoding complexity calculation of the decoding curve of the present application, the decoding curve of the decoding complexity calculation of the present application, the decoding curve of the present application, the decoding complexity calculation of the present application, the decoding curve of the decoding method, the present application tends to a constant value of the decoding method, the.
It can be understood that the polar code decoding device decodes the polar code according to the plurality of candidate paths after the number adjustment by dynamically adjusting the number of the plurality of candidate paths, so that the polar code decoding device can successfully decode the polar code according to the plurality of candidate paths after the number adjustment, and the polar code decoding device does not need to decode the polar code twice, thereby saving the decoding time of the polar code decoding device and reducing the decoding delay of the polar code decoding device.
Example two
Based on the same inventive concept of the embodiments, the embodiments of the present application provide a polar code decoding apparatus 1, which corresponds to a polar code decoding method; fig. 7 is a schematic structural diagram of a polar code decoding apparatus according to an embodiment of the present application, where the polar code decoding apparatus 1 may include:
a determining unit 11, configured to determine, if multiple candidate paths are generated in a current polar code layer, a first path and a second path from the multiple candidate paths, where the first path is a path with a largest path metric value among the multiple candidate paths, the second path is a path at an intermediate position among the multiple candidate paths, and the multiple candidate paths are paths for decoding a next code layer; determining a path metric difference value between the first path and the second path;
an adjusting unit 12, configured to adjust the number of the multiple candidate paths according to the path metric difference value and a preset path metric threshold;
a decoding unit 13, configured to perform decoding of the next code layer by using the adjusted number of candidate paths.
In some embodiments of the present application, the adjusting unit 12 is configured to reduce the number of the candidate paths if the path metric difference is greater than or equal to the preset path metric upper limit; and if the path metric difference value is less than or equal to the preset path metric lower limit value, increasing the number of the candidate paths.
In some embodiments of the present application, the adjusting unit 12 is configured to reduce the number of the plurality of candidate paths by half.
In some embodiments of the present application, the adjusting unit 12 is configured to double the number of the candidate paths.
In some embodiments of the present application, the polar code decoding apparatus further includes a generating unit and an updating unit;
the determining unit 11 is configured to determine a decoding bit corresponding to the current polarization code layer;
the generating unit is configured to generate multiple candidate paths corresponding to a next code layer if the decoded bits are information bits;
the updating unit is configured to update a plurality of path metric values corresponding to the plurality of candidate paths if the decoded bits are fixed bits.
In some embodiments of the present application, the generating unit is configured to generate a plurality of paths to be selected corresponding to the next code layer, where a number of the plurality of paths to be selected is greater than or equal to a number of the plurality of candidate paths;
the determining unit 11 is configured to determine the multiple candidate paths from the multiple paths to be selected according to the multiple path metric values to be selected of the multiple paths to be selected.
In some embodiments of the present application, the polar code decoding apparatus further includes a determining unit;
the judging unit is used for judging whether the current polarization code layer is the last layer of the polarization code or not, and the polarization code is divided into a plurality of code layers according to a preset decoding model;
the determining unit 11 is configured to determine a target polar code decoding path from the multiple candidate paths if the current polar code layer is the last layer of the polar code; and if the current polarization code layer is not the last layer of the polarization code, determining the decoding bit corresponding to the next code layer.
In some embodiments of the present application, the polar code decoding apparatus further includes a check unit;
the checking unit is used for checking the candidate paths to obtain a plurality of checking results;
the determining unit 11 is configured to determine a target polar code decoding path from the multiple candidate paths according to the multiple verification results and the multiple path metric values, and decode a polar code by using the target polar code decoding path.
In practical applications, the determining Unit 11, the adjusting Unit 12, and the decoding Unit 13 can be implemented by a processor 14 on the polar code decoding apparatus 1, specifically implemented by a CPU (Central Processing Unit), an MPU (Microprocessor Unit), a DSP (Digital Signal Processing), a Field Programmable Gate Array (FPGA), or the like; the data storage can be realized by the memory 15 on the polar code decoding device 1.
An embodiment of the present invention further provides a polar code decoding apparatus 1, and as shown in fig. 8, the polar code decoding apparatus 1 includes: a processor 14, a memory 15 and a communication bus 16, the memory 15 being in communication with the processor 14 via the communication bus 16, the memory 15 storing a program executable by the processor 14, the program, when executed, being executed by the processor 14 to perform the polar code decoding method as described above.
In practical applications, the Memory 15 may be a volatile Memory (volatile Memory), such as a Random-Access Memory (RAM); or a non-volatile Memory (non-volatile Memory), such as a Read-Only Memory (ROM), a flash Memory (flash Memory), a Hard disk (Hard disk Drive, HDD) or a Solid-State Drive (SSD); or a combination of the above types of memories and provides instructions and data to processor 14.
An embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor 14 to implement the polar code decoding method as described above.
It can be understood that the polar code decoding device decodes the polar code according to the plurality of candidate paths after the number adjustment by dynamically adjusting the number of the plurality of candidate paths, so that the polar code decoding device can successfully decode the polar code according to the plurality of candidate paths after the number adjustment, and the polar code decoding device does not need to decode the polar code twice, thereby saving the decoding time of the polar code decoding device and reducing the decoding delay of the polar code decoding device.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention.

Claims (11)

1. A method for decoding a polar code, the method comprising:
if a plurality of candidate paths are generated in the current polarized code layer, determining a first path and a second path from the plurality of candidate paths, wherein the first path is the path with the largest path metric value in the plurality of candidate paths, the second path is the path at the middle position in the plurality of candidate paths, and the plurality of candidate paths are the paths for decoding the next code layer;
determining a path metric difference value between the first path and the second path;
adjusting the number of the candidate paths according to the path metric difference value and a preset path metric threshold value;
and decoding the next code layer by using the plurality of candidate paths with the adjusted number.
2. The method of claim 1, wherein the preset path metric threshold comprises a preset path metric upper limit value and a preset path metric lower limit value, and wherein adjusting the number of the candidate paths according to the path metric difference value and the preset path metric threshold comprises:
if the path metric difference value is greater than or equal to the preset path metric upper limit value, reducing the number of the candidate paths;
and if the path metric difference value is less than or equal to the preset path metric lower limit value, increasing the number of the candidate paths.
3. The method of claim 2, wherein the reducing the number of the plurality of candidate paths comprises:
reducing the number of the plurality of candidate paths by half.
4. The method of claim 2, wherein the increasing the number of the plurality of candidate paths comprises:
doubling the number of the plurality of candidate paths.
5. The method of claim 1, wherein prior to determining the first path and the second path from the plurality of candidate paths, the method further comprises:
determining decoding bits corresponding to the current polarization code layer;
if the decoding bit is an information bit, generating a plurality of candidate paths corresponding to the next code layer;
and if the decoding bit is a fixed bit, updating a plurality of path metric values corresponding to the plurality of candidate paths.
6. The method of claim 5, wherein the generating the plurality of candidate paths corresponding to the next code layer comprises:
generating a plurality of paths to be selected corresponding to the next code layer, wherein the number of the paths to be selected is greater than or equal to the number of the candidate paths;
and determining the multiple candidate paths from the multiple paths to be selected according to the multiple path metric values to be selected of the multiple paths to be selected.
7. The method of claim 5, wherein after the decoding of the next code layer using the adjusted number of candidate paths, the method further comprises:
judging whether the current polarization code layer is the last layer of the polarization code or not, wherein the polarization code is divided into a plurality of code layers according to a preset decoding model;
if the current polarized code layer is the last layer of the polarized codes, determining a target polarized code decoding path from the plurality of candidate paths;
and if the current polarization code layer is not the last layer of the polarization code, determining the decoding bit corresponding to the next code layer.
8. The method according to claim 7, wherein said determining a target polar code decoding path from said plurality of candidate paths comprises:
checking the candidate paths to obtain a plurality of checking results;
and determining a target polarized code decoding path from the candidate paths according to the check results and the path metric values, and decoding the polarized code by using the target polarized code decoding path.
9. An apparatus for decoding a polar code, the apparatus comprising:
a determining unit, configured to determine, if multiple candidate paths are generated in a current polar code layer, a first path and a second path from the multiple candidate paths, where the first path is a path with a largest path metric value among the multiple candidate paths, the second path is a path at an intermediate position among the multiple candidate paths, and the multiple candidate paths are paths for decoding a next code layer; determining a path metric difference value between the first path and the second path;
an adjusting unit, configured to adjust the number of the multiple candidate paths according to the path metric difference value and a preset path metric threshold;
and the decoding unit is used for decoding the next code layer by using the plurality of candidate paths with the adjusted number.
10. An apparatus for decoding a polar code, the apparatus comprising:
a memory, a processor, and a communication bus, the memory in communication with the processor through the communication bus, the memory storing a polar-code decoded program executable by the processor, the polar-code decoded program when executed causing the processor to perform the method of any of claims 1 to 8.
11. A storage medium, on which a computer program is stored, for use in a polar code decoding device, characterized in that the computer program, when being executed by a processor, implements the method of any one of claims 1 to 8.
CN202010464276.0A 2020-05-27 2020-05-27 Polar code decoding method and device and storage medium Pending CN111510163A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010464276.0A CN111510163A (en) 2020-05-27 2020-05-27 Polar code decoding method and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010464276.0A CN111510163A (en) 2020-05-27 2020-05-27 Polar code decoding method and device and storage medium

Publications (1)

Publication Number Publication Date
CN111510163A true CN111510163A (en) 2020-08-07

Family

ID=71864512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010464276.0A Pending CN111510163A (en) 2020-05-27 2020-05-27 Polar code decoding method and device and storage medium

Country Status (1)

Country Link
CN (1) CN111510163A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162633A (en) * 2021-02-24 2021-07-23 Oppo广东移动通信有限公司 Decoding method and device of polarization code, decoder, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365842A1 (en) * 2012-01-20 2014-12-11 Huawei Technologies Co., Ltd. Decoding method and decoding device for polar code cascaded with cyclic redundancy check
WO2016172940A1 (en) * 2015-04-30 2016-11-03 华为技术有限公司 Decoding method and decoding device for polar code
US20190068225A1 (en) * 2016-04-29 2019-02-28 Huawei Technologies Co., Ltd. Polar Polar Code Encoding And Decoding Method And Apparatus
CN109818627A (en) * 2019-01-21 2019-05-28 中国地质大学(武汉) A kind of the simple gate limit pruning method and system of Polar code SCL decoding algorithm
CN110391874A (en) * 2018-04-23 2019-10-29 华为技术有限公司 Rate-matched, dissociation rate matching method and the equipment of polarization code
CN110535477A (en) * 2019-08-30 2019-12-03 山东科技大学 Parallel polarization code coding method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365842A1 (en) * 2012-01-20 2014-12-11 Huawei Technologies Co., Ltd. Decoding method and decoding device for polar code cascaded with cyclic redundancy check
WO2016172940A1 (en) * 2015-04-30 2016-11-03 华为技术有限公司 Decoding method and decoding device for polar code
US20190068225A1 (en) * 2016-04-29 2019-02-28 Huawei Technologies Co., Ltd. Polar Polar Code Encoding And Decoding Method And Apparatus
CN110391874A (en) * 2018-04-23 2019-10-29 华为技术有限公司 Rate-matched, dissociation rate matching method and the equipment of polarization code
CN109818627A (en) * 2019-01-21 2019-05-28 中国地质大学(武汉) A kind of the simple gate limit pruning method and system of Polar code SCL decoding algorithm
CN110535477A (en) * 2019-08-30 2019-12-03 山东科技大学 Parallel polarization code coding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG C等: "Hardware_architecture_for_list_successive_cancellation_polar_decoder" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162633A (en) * 2021-02-24 2021-07-23 Oppo广东移动通信有限公司 Decoding method and device of polarization code, decoder, equipment and storage medium
CN113162633B (en) * 2021-02-24 2023-09-05 Oppo广东移动通信有限公司 Method and device for decoding polarization code, decoder, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN108702290B (en) Concatenated polarization encoding and sliding window polarization encoding
US10411735B1 (en) Systems and methods for an iterative decoding scheme
US8347194B2 (en) Hierarchical decoding apparatus
CN106506009B (en) Decoding method of polarization code
JP4038518B2 (en) Method and apparatus for efficiently decoding low density parity check code
Hashemi et al. Partitioned successive-cancellation list decoding of polar codes
WO2021000531A1 (en) Polar code segmented flipping decoding method based on llr, and intelligent terminal
US10425107B2 (en) Partial sum computation for polar code decoding
US10050642B2 (en) Low power scheme for bit flipping low density parity check decoder
JP4777876B2 (en) Early termination of turbo decoder iterations
TW201824758A (en) Method for determining when to end bit flipping algorithm during hard decision soft decoding
WO2018179246A1 (en) Check bit concatenated polar codes
CN110661533B (en) Method for optimizing decoding performance of decoder for storing polarization code
US11876531B2 (en) Smart decoder
CN109768846B (en) Hole drilling method, system, device and medium based on two-core three-core mixed polarization code
KR102547476B1 (en) Method for controlling decoding process based on path metric value and computing apparatus and mobile device for controlling the same
CN111510163A (en) Polar code decoding method and device and storage medium
WO2016015288A1 (en) Decoding method and decoder
TW202220389A (en) Method and polar code decoder for determining to-be-flipped bit position
CN110730007B (en) Polarization code SSCL decoding path splitting method, storage medium and processor
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
KR20010092900A (en) Apparatus for stopping recursive decoding and turbo decoder comprising it
CN110011670B (en) LDPC decoding method and device based on SSD data protection
JP4526433B2 (en) Turbo decoder
US11539380B2 (en) Decoding device, decoding method, control circuit, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination