CN111277277B - Method and device for reducing decoding delay of polarization code continuous cancellation table decoding algorithm - Google Patents
Method and device for reducing decoding delay of polarization code continuous cancellation table decoding algorithm Download PDFInfo
- Publication number
- CN111277277B CN111277277B CN202010288566.4A CN202010288566A CN111277277B CN 111277277 B CN111277277 B CN 111277277B CN 202010288566 A CN202010288566 A CN 202010288566A CN 111277277 B CN111277277 B CN 111277277B
- Authority
- CN
- China
- Prior art keywords
- path
- decoding
- value
- list
- expansion
- 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.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000010287 polarization Effects 0.000 title claims abstract description 25
- 238000012217 deletion Methods 0.000 claims abstract description 55
- 230000037430 deletion Effects 0.000 claims abstract description 55
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 abstract description 3
- 238000012935 Averaging Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 241000169170 Boreogadus saida Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 241000213006 Angelica dahurica Species 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6337—Error control coding in combination with channel estimation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
The invention provides a method and a device for reducing decoding delay of a polarization code continuous cancellation table decoding algorithm, and the method and the device relate to the field of communication, wherein the method comprises the following steps: acquiring a decoding key set according to the code length and code rate of a code word to be decoded and the signal-to-noise ratio, initializing a deletion threshold value, and determining bit positions for CRC (cyclic redundancy check) in advance; using the decoding key set to assist in judging whether the path in the SCL decoding algorithm should be subjected to path expansion or not; and deleting the SCL additional paths by using a deletion threshold value. The SCL serial decoding delay and the calculation complexity are reduced, and meanwhile, the problem that the SCL serial decoding delay and the calculation complexity are subjected to larger error correction performance loss is solved.
Description
Technical Field
The present invention relates to the field of communications, and in particular, to a method and apparatus for reducing decoding delay of a polar code continuous cancellation table decoding algorithm.
Background
The channel coding technology, also called error correction code technology, adds redundant information related to the original data at the transmitting end, and the receiving end detects and corrects errors generated in the transmission process according to the correlation, so that the undistorted data transmission is realized. Polar codes (Polar codes) were proposed as a new error correction Code technology by turkish teachings e.arikan in 2008, and the redundant bit information added thereto is called frozen bits. Compared with other types of code words, the biggest characteristic of the polarization code is that the error correction performance can reach the shannon limit through being proved in mathematics. Arikan demonstrates that shannon capacity transmission can be achieved using the SC decoding algorithm described above with an infinite code length N. However, in practical situations, the code length is limited, and the error correction performance obtained by the SC decoding algorithm is not satisfactory.
To improve the error correction performance of SC decoding algorithms under limited code length conditions, tal et al propose successive cancellation List (SC-List, SCL) decoding algorithms. In contrast to the SC decoding algorithm, the SCL decoding algorithm does not directly decide the calculated probability values as 0 and 1, but instead keeps two possibilities of 0 and 1 and calculates the respective subsequent probability values along these two possibilities, the subsequent expansion times of which are determined by the list length of the path list. The entire decoding process may be represented by a binary tree.
Although the performance of the SCL decoding algorithm is very excellent, due to the characteristic of SCL serial decoding and the high decoding computational complexity O (lnlog), a large decoding delay is generated when the SCL decoding algorithm is used to decode the polar code. In order to reduce the decoding delay generated by the algorithm and enable the decoding delay to meet the requirement of high reliability of 5G low delay, one idea for reducing the computational complexity is to reduce the size of a path number threshold (L), namely, modify the binary tree. However, in the existing technology for reducing the complexity of SCL decoding, many methods for reducing the complexity of computation are proposed, but a large error correction performance loss is often caused.
Disclosure of Invention
The invention aims to overcome the problems in the prior art, and provides a method and a device for reducing decoding delay of a polarization code continuous cancellation table decoding algorithm, which solve the problem that SCL serial decoding delay and calculation complexity are reduced and simultaneously larger error correction performance loss is caused.
A method of reducing decoding delay of a polar-code successive cancellation table decoding algorithm, the method comprising:
s0: acquiring a decoding key set corresponding to a codeword to be decoded from the codeword to be decoded in advance;
s1: performing CRC (cyclic redundancy check) position in advance according to the decoding key set confirmation;
s2: calculating a probability value of 0 or 1 of bit data of each bit position in a decoding key set according to channel conditions, establishing a path list based on the probability value and an SCL decoding algorithm, selecting a first bit position contained in the decoding key set as a current decoding bit position, and starting to execute SCL decoding from the bit position;
s3: comparing the average log likelihood ratio value of the paths contained in the path list with a path expansion threshold value to judge whether the current decoding bit position needs to be subjected to path expansion or not: if the average log likelihood ratio of the paths contained in the path list is smaller than the path expansion threshold, performing path expansion on the current decoding bit position, and doubling the size of the path list at the moment; if the average log likelihood ratio of the paths contained in the path list is greater than or equal to the path expansion threshold, the path expansion is not carried out on the current decoding bit position, and the size of the path list is unchanged;
s4: after updating the path list is completed through the judgment of the path expansion, further judging whether the paths in the path list need to be deleted, specifically: each path in the path list is provided with a path metric value corresponding to the path per se, the path metric value is used for representing the possibility that the path is a correct path, the path metric value corresponding to each path in the path list is calculated through the probability value and is compared with a deletion threshold value one by one, if the path is larger than the deletion threshold value, the path is deleted, and if the path is smaller than or equal to the deletion threshold value, the path is reserved;
s5: updating the path list according to the judging result of judging whether the path is deleted or not, and updating the deleting threshold value according to the updated path list;
s6: after finishing updating the deletion threshold, judging whether the current position is a position for CRC check in advance, if not, selecting the next bit position as the current decoding bit position and returning to the execution step S3 to continue SCL decoding; if yes, performing CRC (cyclic redundancy check) on all paths in the path list, reducing the paths in the path list to 1 path result based on the result of the CRC, outputting, stopping SCL (SCL code) decoding, and not returning to execute step S3;
s7: SC decoding is carried out on bit positions which are remained in the code word to be decoded and are not decoded based on the output path result;
wherein the decoding key set comprises bit positions of part or all bits in the codeword to be decoded and the set of bit positions is a continuous set of bits starting from a first bit position of the codeword to be decoded to a position where a CRC check is performed in advance.
The invention discloses a method for reducing decoding delay of a continuous cancellation table decoding algorithm of a polarization code, which aims to reduce the complexity and the calculated amount of decoding while ensuring the decoding performance of an SCL decoding algorithm. In the initial stage of decoding, firstly, the decoding key set of the data to be decoded is obtained, because for the polarization code to be decoded, not every bit is necessarily decoded by using an SCL decoding algorithm, for the bit positions except for the bit positions corresponding to the decoding key set, the SC decoding algorithm can be used for decoding the data, and the decoding result and effect are basically the same as those of the SCL decoding algorithm, so that the SC decoding algorithm can be used for decoding the bit, therefore, the distinguishing of the part of the data to be decoded and the part corresponding to the decoding key set in the technical scheme of the invention can ensure that the complexity of the decoding calculation whole is reduced, and meanwhile, the effectiveness of the decoding result can be still ensured. In the step of decoding the decoding key set, different from the prior art, the method of the invention judges and selects the path expansion, and aims to avoid the problem of too high complexity of the path list caused by repeated expansion of the path. After the expansion selection of the path list is completed, the method of the invention also executes path deletion on the path list, and because the path list usually comprises more expansion paths after the path expansion, the complexity of the path list is higher, and therefore, some paths need to be deleted to reduce the complexity of the path list. In summary, the method of the present invention makes the final complexity of the decoding result far lower than that of the prior art by distinguishing the means of decoding key set, path expansion selection and path deletion under the condition of decoding by using the SCL decoding algorithm, and simultaneously ensures the effectiveness of the decoding result.
Preferably, the step S5 specifically includes:
s5: after updating a path list based on a judging result of path deletion, judging whether a maximum path metric value in the path list is smaller than a deletion threshold value, if so, updating the maximum path metric value into a new deletion threshold value; if not, the deletion threshold is unchanged.
Preferably, the specific calculation mode of the path expansion threshold value is as follows:
wherein ,θsplit Is a path extension threshold value for determining whether the path should be path extended,is the minimum expected value of log-likelihood ratio obtained by using Gaussian approximation method for polarization code, i represents index of bit channel,>a set of information bit indices, θ, representing codewords to be decoded f Represents a fixed threshold, N represents a code length, and a fixed threshold θ f The value of (2) is preset; />The minimum information bit LLR mean value calculated by Gaussian approximation is represented, and the calculation process is as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, the initialization condition of the recursion is thatMu represents the noise mean of the transmitted white gaussian noise channel,/->The function is expressed as follows:
calculated 1 to N bits eachThen, based on the information bit set +.>Indicated channel index value find set +.>Minimum->It is marked as +.>
Preferably, the specific calculation mode of the average log likelihood ratio value of the paths contained in the path list is as follows:
wherein ,and->Representing the path corresponding to the path index lThe diameter is u i The probability of extending to 0 and the probability of extending to 1 when the path extension is performed. />Representation list +.>Is of a size of (a) and (b). Wherein the LLR values for a single path are defined as follows:
Preferably, the step S0 specifically includes:
s001: acquiring a decoding key set corresponding to a codeword to be decoded in advance according to the codeword to be decoded, the code length, the code rate and the signal-to-noise ratio of an actual channel
Wherein the decoding key set includes all information bit positions with worse channel condition in the data to be decoded and stores the index values corresponding to the information bit positions, and the bit positions with worse channel condition are in the information bit setIn, first calculate +.>LLR mean value of individual information bits +.>The smallest ω are selected and the corresponding ω channel index values are considered to be the bit positions with worse channel conditions. Where ω is equal in size to the size of the canonical set. The typical set is constructed before the decoding key set is obtained, and then the value of omega is determined according to the size of the obtained typical set. Construction of a canonical set can be referred to in literature-1]Zhaoyang Zhang,Kangjian Qin,Liang Zhang,Huazi Zhang,Guo Tai Chen,"Progressive Bit-Flipping Decoding of Polar Codes over Layered Critical Sets,"IEEE Global Communications Conference(GLOBECOM 2017),Singapore,Singapore,4-8Dec.2017.
An apparatus for reducing polar-code successive cancellation table coding algorithm coding delay, the apparatus comprising: a key set generator, an SCL decoder and an SC decoder;
the key set generator is used for generating a decoding key set in advance according to the code word to be decoded, the code length and the code rate of the code word and the signal-to-noise ratio of an actual channel;
the SCL decoder is used for executing an SCL decoding algorithm to decode the decoding key set;
the SC decoder executes an SC decoding algorithm according to the decoding result of the SCL decoder to finish decoding the code word to be decoded;
wherein, the SCL decoder comprises a probability calculation unit, a list generation unit, an initialization unit and a cyclic decoding unit:
the probability calculation unit is used for calculating the probability value that the bit data of each bit position corresponding to the decoding key set is 0 or 1 according to the channel condition and recording the probability value as an expansion probability value;
the list generation unit is used for generating a path list for generating a decoding key set according to the corresponding expansion probability value;
the initialization unit is used for initializing the deletion threshold after the list generation unit generates the path list;
and the cyclic decoding unit is used for executing SCL decoding to decode the decoding key set after initializing the deletion threshold value.
Preferably, the cyclic decoding unit includes a selecting unit, an extension selecting unit, a list updating unit, a path deleting unit, and a cyclic unit:
the selecting unit is used for selecting a target position for decoding from the decoding key set as a current bit position;
the expansion selection unit is used for carrying out expansion selection on the current bit position based on the expansion probability value on the current bit position;
the list updating unit is used for updating the path list according to the expansion selection result of the expansion selection unit;
the path deleting unit is used for executing path deletion on the path list updated by the list updating unit through the deletion threshold value and updating the deletion threshold value;
and the circulation unit is used for recalling the selection unit, the expansion selection unit, the list updating unit and the path deleting unit to decode the decoding key set after the path deleting unit executes path deletion until the decoding of the decoding key set is completed.
Preferably, the expansion selecting unit includes a threshold unit, an expansion judging unit:
the threshold unit determines or updates a path expansion threshold according to the signal-to-noise ratio information of the current bit position and the code word corresponding to the path list, and the specific calculation mode is as follows:
wherein ,θsplit Is a path extension threshold value for determining whether the path should be path extended,is the minimum expected value of log-likelihood ratio obtained by using Gaussian approximation method for polarization code, i represents index of bit channel,>a set of information bit indices, θ, representing codewords to be decoded f Represents a fixed threshold, N represents a code length, and a fixed threshold θ f The value of (2) is preset; />The minimum information bit LLR mean value calculated by Gaussian approximation is represented, and the calculation process is as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, the initialization condition of the recursion is thatMu represents the noise mean of the transmitted white gaussian noise channel,/->The function is expressed as follows:
calculated 1 to N bits eachThen, based on the information bit set +.>Indicated channel index value find set +.>Minimum->It is marked as +.>
The judging unit calculates average LLR values of all paths in the path list and judges whether to execute path expansion at the current bit position by combining the path expansion threshold value, specifically:
Performing path expansion at the currently selected bit position when the average LLR value of all paths is less than the path expansion threshold; otherwise, no path extension is performed at the current selected bit position and a direct decision is made on the path of the current selected bit position.
Compared with the prior art, the invention has the following advantages and effective effects:
for the defects of some means for reducing SCL decoding results in the prior art, the invention reduces the complexity degree by performing expansion selection and path deletion scheme on the path list, and avoids the delay problem caused by the excessive complexity of the path list.
On the premise of reducing the complexity of the decoding result of the SCL decoding algorithm by using the modes of expansion selection and path deletion, the invention also provides that the expansion selection and path deletion are regulated by using a dynamic threshold value, if only a fixed threshold value is used for regulation, the problem of higher complexity still exists in the practical application if larger decoding performance loss or path list is possibly faced, and the effectiveness of the method under different conditions can be ensured according to the dynamic threshold value designed according to related variables and the calculation mode thereof.
Drawings
FIG. 1 is a flow chart of the method of the present invention.
Fig. 2 is a frame diagram of the device according to the invention.
Fig. 3 is a schematic diagram of a simulation of the embodiment of the present invention.
FIG. 4 is a graph showing a comparison of simulation results according to the embodiment of the present invention.
Detailed Description
The drawings are for illustrative purposes only and are not to be construed as limiting the invention. For better illustration of the following embodiments, some parts of the drawings may be omitted, enlarged or reduced, and do not represent the actual product dimensions; it will be appreciated by those skilled in the art that certain well-known structures in the drawings and descriptions thereof may be omitted.
Example 1
As shown in fig. 1, the present embodiment provides a method for reducing decoding delay of a polar-code successive cancellation table decoding algorithm, where the method includes:
s0: acquiring a decoding key set corresponding to a codeword to be decoded from the codeword to be decoded in advance;
s1: performing CRC (cyclic redundancy check) position in advance according to the decoding key set confirmation;
s2: calculating a probability value of 0 or 1 of bit data of each bit position in a decoding key set according to channel conditions, establishing a path list based on the probability value and an SCL decoding algorithm, selecting a first bit position contained in the decoding key set as a current decoding bit position, and starting to execute SCL decoding from the bit position;
s3: comparing the average log likelihood ratio value of the paths contained in the path list with a path expansion threshold value to judge whether the current decoding bit position needs to be subjected to path expansion or not: if the average log likelihood ratio of the paths contained in the path list is smaller than the path expansion threshold, performing path expansion on the current decoding bit position, and doubling the size of the path list at the moment; if the average log likelihood ratio of the paths contained in the path list is greater than or equal to the path expansion threshold, the path expansion is not carried out on the current decoding bit position, and the size of the path list is unchanged;
s4: after updating the path list is completed through the judgment of the path expansion, further judging whether the paths in the path list need to be deleted, specifically: each path in the path list is provided with a corresponding path metric value which is used for indicating the possibility that the path is a correct path, the path metric value corresponding to each path in the path list is calculated through the probability value and is compared with a deletion threshold value one by one, if the path is larger than the deletion threshold value, the path is deleted, and if the path is smaller than or equal to the deletion threshold value, the path is reserved, wherein the value of the deletion threshold value is initialized to a preset value before decoding the decoding key set;
s5: updating the path list according to the judging result of judging whether the path is deleted or not, and updating the deleting threshold value according to the updated path list;
s6: after finishing updating the deletion threshold, judging whether the current position is a position for CRC check in advance, if not, selecting the next bit position as the current decoding bit position and returning to the execution step S3 to continue SCL decoding; if yes, performing CRC (cyclic redundancy check) on all paths in the path list, reducing the paths in the path list to 1 path result based on the result of the CRC, outputting, stopping SCL (SCL code) decoding, and not returning to execute step S3;
s7: SC decoding is carried out on bit positions which are remained in the code word to be decoded and are not decoded based on the output path result;
wherein the decoding key set comprises bit positions of part or all bits in the codeword to be decoded and the set of bit positions is a continuous set of bits starting from a first bit position of the codeword to be decoded to a position where a CRC check is performed in advance.
The invention discloses a method for reducing decoding delay of a continuous cancellation table decoding algorithm of a polarization code, which aims to reduce the complexity and the calculated amount of decoding while ensuring the decoding performance of an SCL decoding algorithm. In the initial stage of decoding, firstly, the decoding key set of the data to be decoded is obtained, because for the polarization code to be decoded, not every bit is necessarily decoded by using an SCL decoding algorithm, for the bit positions except for the bit positions corresponding to the decoding key set, the SC decoding algorithm can be used for decoding the data, and the decoding result and effect are basically the same as those of the SCL decoding algorithm, so that the SC decoding algorithm can be used for decoding the bit, therefore, the distinguishing of the part of the data to be decoded and the part corresponding to the decoding key set in the technical scheme of the invention can ensure that the complexity of the decoding calculation whole is reduced, and meanwhile, the effectiveness of the decoding result can be still ensured. In the step of decoding the decoding key set, different from the prior art, the method of the invention judges and selects the path expansion, and aims to avoid the problem of too high complexity of the path list caused by repeated expansion of the path. After the expansion selection of the path list is completed, the method of the invention also executes path deletion on the path list, and because the path list usually comprises more expansion paths after the path expansion, the complexity of the path list is higher, and therefore, some paths need to be deleted to reduce the complexity of the path list. In summary, the method of the present invention makes the final complexity of the decoding result far lower than that of the prior art by distinguishing the means of decoding key set, path expansion selection and path deletion under the condition of decoding by using the SCL decoding algorithm, and simultaneously ensures the effectiveness of the decoding result.
On the other hand, because the polarization code is established on the phenomenon of channel polarization, when decoding the bit position with the sequence number behind, the SC decoding is directly carried out on the bits, so that the computational complexity can be effectively reduced without affecting the performance. Therefore, compared with the traditional polarized code SCL decoding algorithm, the decoding algorithm provided by the patent does not check the CRC code when decoding the last bit, but checks the CRC code in advance after a certain bit, and then selects a path which can pass the CRC check to be decoded to the end by adopting the SC decoding algorithm, so that the expansion, sequencing and deleting operations of a part of paths are avoided, and the computational complexity is reduced.
In an alternative embodiment, the step S5 specifically includes:
s5: after updating a path list based on a judging result of path deletion, judging whether a maximum path metric value in the path list is smaller than a deletion threshold value, if so, updating the maximum path metric value into a new deletion threshold value; if not, the deletion threshold is unchanged.
Preferably, the specific calculation mode of the path expansion threshold value is as follows:
wherein ,θsplit Is a path extension threshold value for determining whether the path should be path extended,is the minimum expected value of log-likelihood ratio obtained by using Gaussian approximation method for polarization code, i represents index of bit channel,>a set of information bit indices, θ, representing codewords to be decoded f Represents a fixed threshold, N represents a code length, and a fixed threshold θ f The value of (2) is preset; />The minimum information bit LLR mean value calculated by Gaussian approximation is represented, and the calculation process is as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, deliveringThe initialization condition of the Chinese angelica is thatMu represents the noise mean of the transmitted white gaussian noise channel,/->The function is expressed as follows:
calculated 1 to N bits eachThen, based on the information bit set +.>Indicated channel index value find set +.>Minimum->It is marked as +.>
In an alternative embodiment, the specific calculation mode of the path expansion threshold value is as follows:
wherein ,θsplit Is a path extension threshold value for determining whether the path should be path extended,is the logarithm obtained by using Gaussian approximation method for polarization codeThe minimum expected value of the likelihood ratio, i represents the index of the bit channel, +.>A set of information bit indices, θ, representing codewords to be decoded f Represents a fixed threshold, N represents a code length, and a fixed threshold θ f The value of (2) is preset; />The minimum information bit LLR mean value calculated by Gaussian approximation is represented, and the calculation process is as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, the initialization condition of the recursion is thatMu represents the noise mean of the transmitted white gaussian noise channel,/->The function is expressed as follows:
calculated 1 to N bits eachThen, based on the information bit set +.>Indicated channel index value find set +.>Minimum->It is marked as +.>
In an alternative embodiment, the specific calculation method of the average log likelihood ratio value of the paths contained in the path list is as follows:
wherein ,and->Indicating that the path corresponding to the path index l is at u i The probability of extending to 0 and the probability of extending to 1 when the path extension is performed. />Representation list +.>Is of a size of (a) and (b). Wherein the LLR values for a single path are defined as follows:
In an alternative embodiment, the step S0 specifically includes:
s001: acquiring a decoding key set corresponding to a codeword to be decoded in advance according to the codeword to be decoded, the code length, the code rate and the signal-to-noise ratio of an actual channel;
wherein the decoding key set includes all information bit positions with worse channel condition in the data to be decoded and stores the index values corresponding to the information bit positions, and the bit positions with worse channel condition are in the information bit setIn, first calculate +.>LLR mean value of individual information bits +.>The smallest ω are selected and the corresponding ω channel index values are considered to be the bit positions with worse channel conditions. Where ω is equal in size to the size of the canonical set. The typical set is constructed before the decoding key set is obtained, and then the value of omega is determined according to the size of the obtained typical set. Construction of a canonical set can be referred to [1 ]]。
Example 2
On the basis of the first embodiment, the invention also provides a device for reducing decoding delay of a polarization code continuous cancellation table decoding algorithm, which comprises: a key set generator, an SCL decoder and an SC decoder;
the key set generator is used for generating a decoding key set in advance according to the code word to be decoded, the code length and the code rate of the code word and the signal-to-noise ratio of an actual channel;
the SCL decoder is used for executing an SCL decoding algorithm to decode the decoding key set;
the SC decoder executes an SC decoding algorithm according to the decoding result of the SCL decoder to finish decoding the code word to be decoded;
wherein, the SCL decoder comprises a probability calculation unit, a list generation unit, an initialization unit and a cyclic decoding unit:
the probability calculation unit is used for calculating the probability value that the bit data of each bit position corresponding to the decoding key set is 0 or 1 according to the channel condition and recording the probability value as an expansion probability value;
the list generation unit is used for generating a path list for generating a decoding key set according to the corresponding expansion probability value;
the initialization unit is used for initializing the deletion threshold after the list generation unit generates the path list;
and the cyclic decoding unit is used for executing SCL decoding to decode the decoding key set after initializing the deletion threshold value.
Preferably, the cyclic decoding unit includes a selecting unit, an extension selecting unit, a list updating unit, a path deleting unit, and a cyclic unit:
the selecting unit is used for selecting a target position for decoding from the decoding key set as a current bit position;
the expansion selection unit is used for carrying out expansion selection on the current bit position based on the expansion probability value on the current bit position;
the list updating unit is used for updating the path list according to the expansion selection result of the expansion selection unit;
the path deleting unit is used for executing path deletion on the path list updated by the list updating unit through the deletion threshold value and updating the deletion threshold value;
and the circulation unit is used for recalling the selection unit, the expansion selection unit, the list updating unit and the path deleting unit to decode the decoding key set after the path deleting unit executes path deletion until the decoding of the decoding key set is completed.
Preferably, the expansion selecting unit includes a threshold unit, an expansion judging unit:
the threshold unit determines or updates a path expansion threshold according to the signal-to-noise ratio information of the current bit position and the code word corresponding to the path list, and the specific calculation mode is as follows:
wherein ,θsplit Is a path extension threshold value for determining whether the path should be path extended,is the minimum expected value of log-likelihood ratio obtained by using Gaussian approximation method for polarization code, i represents index of bit channel,>a set of information bit indices, θ, representing codewords to be decoded f Represents a fixed threshold, N represents a code length, and a fixed threshold θ f The value of (2) is preset; />The minimum information bit LLR mean value calculated by Gaussian approximation is represented, and the calculation process is as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, the initialization condition of the recursion is thatMu represents the noise mean of the transmitted white gaussian noise channel,/->The function is expressed as follows:
calculated 1 to N bits eachThen, based on the information bit set +.>Indicated channel index value find set +.>Minimum->It is marked as +.>
The judging unit calculates average LLR values of all paths in the path list and judges whether to execute path expansion at the current bit position by combining the path expansion threshold value, specifically:
Performing path expansion at the currently selected bit position when the average LLR value of all paths is less than the path expansion threshold; otherwise, no path extension is performed at the current selected bit position and a direct decision is made on the path of the current selected bit position.
Example 3
As shown in fig. 3, taking the example of decoding the CRC check code or taking the CA-SCL decoding scenario as an example, in order to verify the improvement made in the present invention for the computational complexity of the SCL decoding algorithm, a simulation experiment was performed. Experimental conditions differ in AWGN channelSignal to noise ratio E b /N 0 Is carried out under the condition that the adopted modulation mode is BPSK modulation. To evaluate the effectiveness of the algorithm, we use Block Error Rate (BLER) to measure the Error correction performance of the decoding and average active path number (Average Numberof Alive Paths) to measure the computational complexity.
In the initial stage of decoding, a decoding key set under the corresponding condition is constructed according to the given code length and the AWGN channel conditionThe set contains more than 99% of index values with poorer channel conditions;
then, performing SCL decoding algorithm to decode, and initializing the deletion threshold value to be 1;
in the decoding stage, firstly, calculating the probability value that the bit data of each bit position corresponding to the decoding key set is 0 or 1 and recording the probability value as an expansion probability value;
secondly, generating a path list for SCL decoding, specifically: generating a path list of the decoding key set based on the corresponding expansion probability value, wherein the path list can be represented by a binary tree as shown in fig. 3 under the condition that the list size is l=2;
then, calculating a path expansion threshold value and minimum information bits to perform path expansion:
wherein ,θsplit Representing the path expansion threshold given by this patent, its value is equal to the minimum information bit LLR mean value calculated by Gaussian approximationAdding a fixed threshold value theta f Fixed threshold value theta f The value of (2) is preset;representation using GaussianThe minimum information bit LLR mean value calculated approximately is calculated as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, the initialization condition of the recursion is thatMu represents the noise mean of the transmitted white gaussian noise channel,/->The function is expressed as follows:
calculated 1 to N bits eachThen, based on the information bit set +.>Indicated channel index value find set +.>Minimum->It is subjected toMarked as->
In this way, the threshold value is enabled to change over time as the codeword and signal-to-noise ratio change. At the same time give the empirical parameter theta f And adjusting. After determining the extended threshold, during SCL decoding algorithm of the polar code, if the list is setThe average LLR value of all paths in (a) is lower than a given path expansion threshold, i.e. +.>All paths in the SCL decoding algorithm are extended at that bit position, otherwise decisions are made directly.
Although path selective expansion can slow down path list collectionGrow too fast but when the list size +.>When a given size L is reached, the path-selective expansion operation cannot significantly reduce the computational complexity. To further reduce the computational complexity of the SCL decoding algorithm, it is also necessary to remove unnecessary paths. And literature [3]The proposed path deletion strategies are different, the patent fully considers the influence of path deletion on decoding performance, and proposes a method for reducing irrelevant paths to the greatest extent under the condition of not changing the decoding performance of a polarization code SCL.
Wherein the probability of the hypothetical path satisfiesThe metric value may be understood as the distance of the probability of the first path from the most probable path in the current list of bit positions. The present invention proposes the metric value to determine if the path l should be deleted, when +.>When the path l is considered to deviate from the maximum probability path too far, the probability that the path l is a correct path is considered to be very low, and the path l can be deleted at this time and the original performance of the polar code SCL decoding algorithm is not affected.
At the same time, in order to determine the threshold value theta at different code length signal to noise ratios del The invention also provides a dynamic threshold strategy, maintains a dynamic threshold variable, and deletes the threshold theta del The value is initialized to 1 at the beginning of decoding, and when pruning operation is finished, if the maximum path metric value of the paths contained in the path listIf still smaller than theta del Will be theta del Updated toThe aim is to ensure theta del Is minimal and reasonable throughout the decoding process.
After decoding of the decoded key set is completed, the channel conditions behind it are considered to be very goodThereafter->The SC decoding algorithm is adopted to decode, and the performance of the SC decoding algorithm is not different from that of the SCL decoding algorithm. So that finally,when the SCL decoding algorithm is translated to +.>And (3) performing CRC check in advance.
Fig. 4 shows the error correction performance under different algorithms. The parameters of the experiment select (512, 256) code words and (256, 128) code words to perform the experiment, and the original SCL decoding algorithm of the polarization codes, the path expansion strategy based on the fixed path expansion threshold value and the improved path expansion strategy (Improved Path Splitting Strategy, IPSS) provided by the patent are respectively compared, wherein the IPSS adopts three operations mentioned by the patent to modify the SCL binary tree. Experimental results show that decoding by adopting the scheme finally has no much loss in error correction performance because each operation considers the relative position of the correct path in the binary tree.
It should be understood that the foregoing examples of the present invention are provided for the purpose of clearly illustrating the technical aspects of the present invention and are not intended to limit the specific embodiments of the present invention. Any modification, equivalent replacement, improvement, etc. that comes within the spirit and principle of the claims of the present invention should be included in the protection scope of the claims of the present invention.
Claims (7)
1. A method for reducing decoding delay of a polar-code successive cancellation table decoding algorithm, the method comprising:
s0: acquiring a decoding key set corresponding to a codeword to be decoded from the codeword to be decoded in advance;
s1: performing CRC (cyclic redundancy check) position in advance according to the decoding key set confirmation;
s2: calculating a probability value of 0 or 1 of bit data of each bit position in a decoding key set according to channel conditions, establishing a path list based on the probability value and an SCL decoding algorithm, selecting a first bit position contained in the decoding key set as a current decoding bit position, and starting to execute SCL decoding from the bit position;
s3: comparing the average log likelihood ratio value of the paths contained in the path list with a path expansion threshold value to judge whether the current decoding bit position needs to be subjected to path expansion or not: if the average log likelihood ratio of the paths contained in the path list is smaller than the path expansion threshold, performing path expansion on the current decoding bit position, and doubling the size of the path list at the moment; if the average log likelihood ratio of the paths contained in the path list is greater than or equal to the path expansion threshold, the path expansion is not carried out on the current decoding bit position, and the size of the path list is unchanged;
s4: after updating the path list is completed through the judgment of the path expansion, further judging whether the paths in the path list need to be deleted, specifically: each path in the path list is provided with a path metric value corresponding to the path per se, the path metric value is used for representing the possibility that the path is a correct path, the path metric value corresponding to each path in the path list is calculated through the probability value and is compared with a deletion threshold value one by one, if the path is larger than the deletion threshold value, the path is deleted, and if the path is smaller than or equal to the deletion threshold value, the path is reserved;
s5: updating the path list according to the judging result of judging whether the path is deleted or not, and updating the deleting threshold value according to the updated path list;
s6: after finishing updating the deletion threshold, judging whether the current position is a position for CRC check in advance, if not, selecting the next bit position as the current decoding bit position and returning to the execution step S3 to continue SCL decoding; if yes, performing CRC (cyclic redundancy check) on all paths in the path list, reducing the paths in the path list to 1 path result based on the result of the CRC, outputting, stopping SCL (SCL code) decoding, and not returning to execute step S3;
s7: SC decoding is carried out on bit positions which are remained in the code word to be decoded and are not decoded based on the output path result;
wherein the decoding key set comprises bit positions of part or all bits in the code word to be decoded, and the bit position set is a continuous bit set from the first bit position of the code word to be decoded to a position for performing CRC (cyclic redundancy check) in advance;
the specific calculation mode of the path expansion threshold value is as follows:
wherein ,is a path expansion threshold for judging whether the path should be path expanded,/or not>Is the minimum expected value of log-likelihood ratio obtained by using Gaussian approximation method for polarization code, +.>Index representing bit channel->A set of information bit indices representing codewords to be decoded, < >>Represents a fixed threshold, N represents a code length, a fixed threshold +.>The value of (2) is preset; />The minimum information bit LLR mean value calculated by Gaussian approximation is represented, and the calculation process is as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, the initialization condition of the recursion is that,/>Noise mean value of Gaussian white noise channel representing transmission,/->The function is expressed as follows:
2. The method for reducing decoding delay of polarization code successive cancellation table decoding algorithm as claimed in claim 1, wherein said step S5 specifically comprises:
s5: after updating a path list based on a judging result of path deletion, judging whether a maximum path metric value in the path list is smaller than a deletion threshold value, if so, updating the maximum path metric value into a new deletion threshold value; if not, the deletion threshold is unchanged.
3. The method for reducing decoding delay of polarization code successive cancellation table decoding algorithm as claimed in claim 1, wherein the specific calculation method of average log likelihood ratio of paths contained in the path list is as follows:
wherein ,and->Representing Path index->The corresponding path is +.>Probability of extension to 0 and probability of extension to 1 when path extension is performed, +.>Representation list +.>Wherein the LLR values for a single path are defined as follows:
4. A method for reducing decoding delay of a polar-code successive cancellation table decoding algorithm as set forth in claim 3, wherein said step S0 specifically includes:
s001: acquiring a decoding key set corresponding to a codeword to be decoded in advance according to the codeword to be decoded, the code length, the code rate and the signal-to-noise ratio of an actual channel;
5. An apparatus for reducing decoding delay of a polar-code successive cancellation table decoding algorithm, characterized in that the apparatus comprises: a key set generator, an SCL decoder and an SC decoder;
the key set generator is used for generating a decoding key set in advance according to the code word to be decoded, the code length and the code rate of the code word and the signal-to-noise ratio of an actual channel;
the SCL decoder is used for executing an SCL decoding algorithm to decode the decoding key set;
the SC decoder executes an SC decoding algorithm according to the decoding result of the SCL decoder to finish decoding the code word to be decoded;
wherein, the SCL decoder comprises a probability calculation unit, a list generation unit, an initialization unit and a cyclic decoding unit:
the probability calculation unit is used for calculating the probability value that the bit data of each bit position corresponding to the decoding key set is 0 or 1 according to the channel condition and recording the probability value as an expansion probability value;
the list generation unit is used for generating a path list of the decoding key set according to the corresponding expansion probability value;
the initialization unit is used for initializing the deletion threshold after the list generation unit generates the path list;
and the cyclic decoding unit is used for executing SCL decoding to decode the decoding key set after initializing the deletion threshold value.
6. The apparatus for reducing decoding delay of polarization code successive cancellation table decoding algorithm according to claim 5, wherein the cyclic decoding unit comprises a selecting unit, an expansion selecting unit, a list updating unit, a path deleting unit, and a cyclic unit:
the selecting unit is used for selecting a target position for decoding from the decoding key set as a current bit position;
the expansion selection unit is used for carrying out expansion selection on the current bit position based on the expansion probability value on the current bit position;
the list updating unit is used for updating the path list according to the expansion selection result of the expansion selection unit;
the path deleting unit is used for executing path deletion on the path list updated by the list updating unit through the deletion threshold value and updating the deletion threshold value;
and the circulation unit is used for recalling the selection unit, the expansion selection unit, the list updating unit and the path deleting unit to decode the decoding key set after the path deleting unit executes path deletion until the decoding of the decoding key set is completed.
7. The apparatus for reducing decoding delay of polarization code successive cancellation table decoding algorithm according to claim 6, wherein said extension selecting unit comprises a threshold unit, an extension judging unit:
the threshold unit determines or updates a path expansion threshold according to the signal-to-noise ratio information of the current bit position and the code word corresponding to the path list, and the specific calculation mode is as follows:
wherein ,is a path expansion threshold for judging whether the path should be path expanded,/or not>Is the minimum expected value of log-likelihood ratio obtained by using Gaussian approximation method for polarization code, +.>Index representing bit channel->A set of information bit indices representing codewords to be decoded, < >>Represents a fixed threshold, N represents a code length, a fixed threshold +.>The value of (2) is preset; />The minimum information bit LLR mean value calculated by Gaussian approximation is represented, and the calculation process is as follows:
wherein, the channel indexes 2i and 2i-1 are used for distinguishing the odd-even channel indexes, the value ranges from 1 to N,
is a recursive process, the initialization condition of the recursion is that,/>Noise mean value of Gaussian white noise channel representing transmission,/->The function is expressed as follows:
calculated 1 to N bits eachThen, based on the information bit set +.>Indicated channel index value find set +.>Minimum->It is marked as->;
The judging unit calculates average LLR values of all paths in the path list and judges whether to execute path expansion at the current bit position by combining the path expansion threshold value, specifically:
performing path expansion at the currently selected bit position when the average LLR value of all paths is less than the path expansion threshold; otherwise, no path extension is performed at the current selected bit position and a direct decision is made on the path of the current selected bit position.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010288566.4A CN111277277B (en) | 2020-04-14 | 2020-04-14 | Method and device for reducing decoding delay of polarization code continuous cancellation table decoding algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010288566.4A CN111277277B (en) | 2020-04-14 | 2020-04-14 | Method and device for reducing decoding delay of polarization code continuous cancellation table decoding algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111277277A CN111277277A (en) | 2020-06-12 |
CN111277277B true CN111277277B (en) | 2023-06-20 |
Family
ID=70999624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010288566.4A Active CN111277277B (en) | 2020-04-14 | 2020-04-14 | Method and device for reducing decoding delay of polarization code continuous cancellation table decoding algorithm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111277277B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654292B (en) * | 2020-07-20 | 2023-06-02 | 中国计量大学 | Dynamic threshold-based split simplified polarization code continuous elimination list decoder |
CN112491422A (en) * | 2020-11-24 | 2021-03-12 | 重庆邮电大学 | Gauss optimization-based bit flipping serial elimination list decoding method and system |
CN113660059A (en) * | 2021-07-26 | 2021-11-16 | 北京邮电大学 | Method and device for decoding polarization code, electronic equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105281785A (en) * | 2015-10-22 | 2016-01-27 | 东南大学 | List successive cancellation decoding method and apparatus for polar codes |
CN106209113A (en) * | 2016-07-29 | 2016-12-07 | 中国石油大学(华东) | A kind of decoding method of polarization code |
CN110190857A (en) * | 2019-04-28 | 2019-08-30 | 深圳大学 | A kind of CRC auxiliary examination polarization code coding method and intelligent terminal |
CN110995278A (en) * | 2019-12-16 | 2020-04-10 | 重庆邮电大学 | Improved polar code serial elimination list bit flipping decoding method and system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102174947B1 (en) * | 2016-04-29 | 2020-11-05 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Polar code encoding and decoding method and apparatus |
-
2020
- 2020-04-14 CN CN202010288566.4A patent/CN111277277B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105281785A (en) * | 2015-10-22 | 2016-01-27 | 东南大学 | List successive cancellation decoding method and apparatus for polar codes |
CN106209113A (en) * | 2016-07-29 | 2016-12-07 | 中国石油大学(华东) | A kind of decoding method of polarization code |
CN110190857A (en) * | 2019-04-28 | 2019-08-30 | 深圳大学 | A kind of CRC auxiliary examination polarization code coding method and intelligent terminal |
CN110995278A (en) * | 2019-12-16 | 2020-04-10 | 重庆邮电大学 | Improved polar code serial elimination list bit flipping decoding method and system |
Non-Patent Citations (2)
Title |
---|
刘亚军 ; 李世宝 ; 刘建航 ; 陈海华 ; .一种低时延极化码列表连续删除译码算法.计算机工程.2018,(03),全文. * |
胡恒铭 ; 刘尉悦 ; .极化码译码算法性能比较研究.无线通信技术.2018,(03),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111277277A (en) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277277B (en) | Method and device for reducing decoding delay of polarization code continuous cancellation table decoding algorithm | |
CN110545110B (en) | Concatenated polar coding and sliding window polar coding | |
CN109660264B (en) | High performance polar code decoding algorithm | |
EP1841116B1 (en) | Decoding method for tail-biting convolutional codes using a search-depth Viterbi algorithm | |
CN110995278B (en) | Improved polarity code serial elimination list bit overturning decoding method and system | |
CN107911195B (en) | CVA-based tail-biting convolutional code channel decoding method | |
CN114285418A (en) | Improved decoding method for polarization code EPC-MS-SCL | |
CN112332864B (en) | Polarization code decoding method and system for self-adaptive ordered mobile pruning list | |
CN109951190B (en) | Self-adaptive Polar code SCL decoding method and decoding device | |
CN107659318B (en) | Self-adaptive polar code decoding method | |
CN113098530A (en) | LDPC code decoding method based on average cluster residual dynamic scheduling selection strategy | |
CN114070331B (en) | Self-adaptive serial offset list flip decoding method and system | |
CN111224676B (en) | Self-adaptive serial offset list polarization code decoding method and system | |
CN110635808B (en) | Polar code decoding method and decoding device | |
CN111726202B (en) | Early termination iteration method for polarization code belief propagation decoding | |
CN108134612B (en) | Iterative decoding method for correcting synchronous and substitute error cascade code | |
CN110730007B (en) | Polarization code SSCL decoding path splitting method, storage medium and processor | |
CN113285722B (en) | Multi-deviation segmented redundancy check auxiliary statistical decoding method for short polarization code | |
CN114421975A (en) | Polar code SCLF decoding method based on reversal set | |
CN113131950A (en) | Self-adaptive continuous elimination priority decoding method for polarization code | |
CN112087285A (en) | Polarization code bit reversal decoding method based on code distance and polarization channel reliability | |
CN112202456B (en) | Turbo decoding method for broadband power line carrier communication | |
CN116436477A (en) | Polarization code SCLF decoding method based on improved first key set | |
CN117040547A (en) | SCF decoding method and system based on double threshold values | |
CN113556133A (en) | Mixed decoding method and device for CRC-Polar cascade code |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |