CN110943745A - Polarization code BP decoding method and system for early stopping iteration output result - Google Patents
Polarization code BP decoding method and system for early stopping iteration output result Download PDFInfo
- Publication number
- CN110943745A CN110943745A CN201911204977.4A CN201911204977A CN110943745A CN 110943745 A CN110943745 A CN 110943745A CN 201911204977 A CN201911204977 A CN 201911204977A CN 110943745 A CN110943745 A CN 110943745A
- Authority
- CN
- China
- Prior art keywords
- decoding
- crc
- information
- check
- matrix
- 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.)
- Granted
Links
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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention provides a method and a system for decoding a polarization code BP (Back propagation) of a result of early termination iteration output, which comprise the following steps: s1, screening channels; s2, constructing an information block and carrying out coding transmission: the information block U comprises K-KCRCAn information bit; k is the information length of each polar code encoding module, KCRCThe number of the added CRC check bits; CRC check bits are added to the information bits before encoding, then K-KCRCAdding one information bit to KCRCThe CRC check bit enters a polar code encoder; s3, receiving the code word signal transmitted by the information block through coding and decoding: in the aspect of decoding, BP decoding is carried out on the received N code words; the decoding estimation value of the information block U can be obtained every time BP decoding iteration is carried outFor the obtained decoding estimated valueCarrying out GNMatrix check and CRC check: if the estimated information bits simultaneously satisfy GNIf the matrix check and the CRC check are carried out, the decoding can be stopped; otherwise, the next round of BP iteration will continue until G is satisfied at the same timeNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
Description
Technical Field
The invention relates to the technical field of fading channel communication, in particular to a polarization code BP decoding method and a system for terminating iteration output results in advance.
Background
The polar code proposed by Arikan has been demonstrated to be a coding scheme that achieves channel capacity in arbitrary binary input discrete memoryless channels (B-DMCs), which is decoded using the Serial Cancellation (SC) algorithm, and has low coding and decoding complexity. SC algorithm decoding is a special example of Belief Propagation (BP) algorithm decoding. In general, BP decoding performance is better than SC decoding in additive white gaussian noise channel (AWGN) polar codes.
However, the existing early termination criterion (referred to as the G _ N matrix termination criterion) is not suitable for the environment of BP decoding in a fading channel, and the phenomenon of outputting wrong decoding due to early termination iteration occurs. Under the same conditions, the polar code BP decoding performance in a Fading channel (Fading channel) no longer has an advantage over the SC decoding performance. In addition, the conventional early termination method may have errors in a fading channel due to early termination of the iteration when the termination condition is satisfied. Therefore, how to provide a polar code BP decoding method for terminating an iterative output result in advance without increasing decoding complexity is a technical problem which needs to be solved urgently.
Disclosure of Invention
The invention aims to solve the defect that the belief propagation algorithm decoding performance of the polar code under a fading channel is not ideal in the prior art, and provides a polar code BP decoding method for terminating an iteration output result in advance to solve the problem. .
The invention solves the technical problems through the following technical means:
a polarization code BP decoding method for stopping iteration output results in advance comprises the following steps:
s1, screening channels: calculating a channel parameter matrix PeAccording to a channel parameter matrix PeScreening out an information bit channel and a frozen bit channel, putting the information bit channel into a set I, and putting the frozen bit channel into a set F;
s2, constructing an information block and carrying out coding transmission: the information block U comprises K-KCRCAn information bit; k is the information length of each polar code encoding module, KCRCThe number of the added CRC check bits; CRC check bits are added to the information bits before encoding, then K-KCRCAdding one information bit to KCRCThe CRC check bit enters a polar code encoder;
s3, receiving the code word signal transmitted by the information block through coding and decoding: in the aspect of decoding, BP decoding is carried out on the received N code words; the decoding estimation value of the information block U can be obtained every time BP decoding iteration is carried outFor the obtained decoding estimated valueCarrying out GNMatrix check and CRC check: if the estimated information bits simultaneously satisfy GNIf the matrix check and the CRC check are carried out, the decoding can be stopped; otherwise, it will continueThe next round of BP iteration until G is satisfied simultaneouslyNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
Preferably, the step S1 specifically includes the following steps:
s11, aiming at all bit channels, obtaining a channel parameter matrix P containing error probability values of all split channels by using a construction methode;
S12, according to the channel parameter matrix PeSelecting an information bit channel set I and a frozen bit channel set F, which specifically comprises the following steps:
s121, comparing channel parameter matrix P of bit channeleThe elements in the channel parameter matrix are sorted in ascending order according to the error probability of each split channel to obtain a sorted channel parameter matrix PtempAnd find PtempEach element in PeTo obtain an index matrix Pidx;
S122, extracting the index matrix PidxThe first K elements in the code are sorted in ascending order and put into an information bit channel set I, wherein K is the information bit number of the polarization code; will PidxThe remaining elements are sorted in ascending order and placed into a frozen bit channel set F.
Preferably, the step S2 specifically includes the following steps:
s21, dividing the message bits input in sequence into a plurality of information frames, wherein each information frame comprises K information bits;
s22, in each information frame, the first K-K isCRCPutting information bits into an information block U;
s23, adding CRC check codes and transmitting: and adding a CRC check code at the tail end of the information bit according to the CRC polynomial to the information block U by adopting a CRC generator polynomial of the international standard for coding transmission.
Preferably, the step S3 specifically includes the following steps:
s31, for each information frame, the decoder receives the code word and the frozen bit set of the information block UGenerating a decoded estimate of U
S32、GNThe matrix check module receives the estimated value of decodingAnd returning a check result, and analyzing by the decoder according to the check result;
s33, decoding the estimated valueG of (A)NIf the matrix check result is correct, the decoder continues to decode the estimated valueAnd (3) performing CRC check on the CRC module, and performing corresponding processing according to the check result, wherein the specific steps are as follows:
s331, receiving the decoding estimated value by the CRC check moduleReturning a check result, and selecting the next operation again by the decoder according to the check result;
s332, if the CRC check result is correct, the decoder terminates iteration in advance, the decoding result of the information block is directly output, and the information frame decoding is finished;
s333, if the CRC result is wrong, the iterative decoding fails, and the information frame is iterated next time until G is satisfiedNMatrix checking and CRC checking or reaching a set maximum iteration number;
s334, if the estimated value is decodedG of (A)NIf the matrix check result is wrong, the iterative decoding fails, and the information frame is iterated next time until G is satisfied simultaneouslyNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
Preferably, the set maximum number of iterations is generally set to 70.
Preferably, the decoder is a BP decoder.
Based on the method, the invention also provides a polarization code BP decoding system for stopping iteration output results in advance, which comprises
A screening channel module: calculating a channel parameter matrix PeAccording to a channel parameter matrix PeScreening out an information bit channel and a frozen bit channel, putting the information bit channel into a set I, and putting the frozen bit channel into a set F;
the information quick construction module: the method is used for constructing information blocks and carrying out coding transmission, and specifically comprises the following steps: the information block U comprises K-KCRCAn information bit; k is the information length of each polar code encoding module, KCRCThe number of the added CRC check bits; CRC check bits are added to the information bits before encoding, then K-KCRCAdding one information bit to KCRCThe CRC check bit enters a polar code encoder;
a decoding module: the method is used for receiving and decoding a code word signal transmitted by an information block through coding, and specifically comprises the following steps: BP decoding is carried out on the received N code words; the decoding estimation value of the information block U can be obtained every time BP decoding iteration is carried outFor the obtained decoding estimated valueCarrying out GNMatrix check and CRC check: if the estimated information bits simultaneously satisfy GNIf the matrix check and the CRC check are carried out, the decoding can be stopped; otherwise, the next round of BP iteration will continue until G is satisfied at the same timeNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
Preferably, the step of screening channels by the channel screening module specifically includes the following steps:
s11, obtaining the channel containing each split signal by using a construction method aiming at all bit channelsChannel parameter matrix P of channel error probability valuese;
S12, according to the channel parameter matrix PeSelecting an information bit channel set I and a frozen bit channel set F, which specifically comprises the following steps:
s121, comparing channel parameter matrix P of bit channeleThe elements in the channel parameter matrix are sorted in ascending order according to the error probability of each split channel to obtain a sorted channel parameter matrix PtempAnd find PtempEach element in PeTo obtain an index matrix Pidx;
S122, extracting the index matrix PidxThe first K elements in the code are sorted in ascending order and put into an information bit channel set I, wherein K is the information bit number of the polarization code; will PidxThe remaining elements are sorted in ascending order and placed into a frozen bit channel set F.
Preferably, the information fast constructing module specifically executes the following process:
s21, dividing the message bits input in sequence into a plurality of information frames, wherein each information frame comprises K information bits;
s22, in each information frame, the first K-K isCRCPutting information bits into an information block U;
s23, adding CRC check codes and transmitting: and adding a CRC check code at the tail end of the information bit according to the CRC polynomial to the information block U by adopting a CRC generator polynomial of the international standard for coding transmission.
Preferably, the decoding module specifically executes the following process:
s31, for each information frame, the decoder receives the code word and the frozen bit set of the information block UGenerating a decoded estimate of U
S32、GNThe matrix check module receives the estimated value of decodingAnd returning a check result, and analyzing by the decoder according to the check result;
s33, decoding the estimated valueG of (A)NIf the matrix check result is correct, the decoder continues to decode the estimated valueAnd (3) performing CRC check on the CRC module, and performing corresponding processing according to the check result, wherein the specific steps are as follows:
s331, receiving the decoding estimated value by the CRC check moduleReturning a check result, and selecting the next operation again by the decoder according to the check result;
s332, if the CRC check result is correct, the decoder terminates iteration in advance, the decoding result of the information block is directly output, and the information frame decoding is finished;
s333, if the CRC result is wrong, the iterative decoding fails, and the information frame is iterated next time until G is satisfiedNMatrix checking and CRC checking or reaching a set maximum iteration number;
s334, if the estimated value is decodedG of (A)NIf the matrix check result is wrong, the iterative decoding fails, and the information frame is iterated next time until G is satisfied simultaneouslyNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
The invention has the advantages that:
the invention relates to a polarization code belief propagation decoding algorithm method suitable for a termination iteration criterion in advance in a fading channel. The error code performance of the polar code BP decoding is improved, the decoding complexity is not increased, and the practicability of a polar code decoding algorithm is greatly improved.
The invention satisfies G simultaneously in the decoding iteration processNThe two check conditions of the matrix check and the CRC check are used for terminating iteration in advance so as to improve the decoding performance. In the encoding stage, each information block adds CRC check bits. In the decoding stage, estimated information bits occurSatisfies GNAnd when the matrix is checked and CRC check is met, ending the decoding iteration process in advance and outputting the decoding. Errors due to premature termination do not occur in the proposed termination rule except for uncorrectable information blocks.
Unlike the conventional early termination method, errors due to early termination do not occur in the proposed termination method except for uncorrectable information blocks. May be abbreviated as GNmatrix-CRC termination criteria method.
The simulation results of the present invention show that G is usedNIn the matrix-CRC termination criterion method (the early termination iteration method described in the present invention), in a fading channel, the code length N is 256, the code rate R is 0.36, and the maximum number of iterations is 70, the error code performance of BP decoding is already better than SC decoding. In addition, it is noted that G is usedNBP decoding of the matrix-CRC termination criterion method improves decoding efficiency at the same time.
Drawings
FIG. 1 is a block flow diagram of a method in an embodiment of the invention;
FIG. 2 shows a diagram of G according to an embodiment of the present inventionNCoding a decoding system model diagram by a matrix-CRC termination criterion method;
FIG. 3 is a graph comparing the error performance of BP decoding and SC decoding with a maximum number of iterations of 30 in AWGN according to an embodiment of the present invention;
fig. 4 is a diagram illustrating comparison of the error code performance of BP decoding and SC decoding with a maximum number of iterations of 30 in a fading channel according to an embodiment of the present invention;
FIG. 5 shows an embodiment of the present invention employing G in a fading channelNmatrix-CRC termination criteriaThe error code performance comparison graph of BP decoding and other decoding modes is obtained;
FIG. 6 shows an embodiment of the present invention employing G in a fading channelNThe average iteration number graph when the matrix-CRC termination criterion method BP decodes;
FIG. 7 shows an embodiment of the present invention employing G in a fading channelNAn iteration condition analysis graph in the matrix termination criterion method BP decoding process;
FIG. 8 shows an embodiment of the present invention employing G in a fading channelNAnd (3) an iteration condition analysis diagram in BP decoding of the matrix-CRC termination criterion method.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the embodiments of the present invention, and it is obvious that the described embodiments are some embodiments of the present invention, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The invention first calculates the channel parameter P by the existing construction method, such as the Tal-Vardy algorithm or the Gaussian approximation methodeThen, selecting information bits and freezing bits according to the channel parameters; and then adding CRC check codes to the information frames. Based on BP decoder and GNMatrix and CRC checks (CRC-16 is used here, the polynomial of which is poly [10001000000100001 ]]) And respectively implementing different decoding strategies on the results, and finally outputting the decoding results.
As shown in fig. 1, the method for decoding a polarization code BP that terminates an iterative output result in advance according to the present invention includes the following steps:
in the first step, channels are screened.
The channel parameter P is calculated by means of known construction methods, such as the Tal-Vardy algorithm or the Gaussian approximation methodeAccording to a channel parameter matrix PeScreening out information bit channels and freezing bit channels, putting the information bit channels into a set I, and freezing the bit channelsThe tracks are placed in set F. The method comprises the following specific steps:
(1) aiming at all bit channels, a channel parameter matrix P containing error probability values of all split channels is obtained by utilizing the existing Tal-Vardy algorithm or Gaussian approximation methode。
(2) According to the channel parameter matrix PeSelecting an information bit channel set I and a frozen bit channel set F, which specifically comprises the following steps:
A1) channel parameter matrix P for bit channeleCalling the sort function in matlab according to the existing mode to store PeThe elements in the list are sorted in ascending order according to the error probability of each split channel, and the function returns the sorted channel parameter matrix PtempAnd PtempEach element in PePosition index matrix P in (1)idx。
A2) Fetching index matrix PidxThe first K elements (K is the number of information bits of the polar code, i.e. the number of information bits in a polar code encoded information block, KCRCFor the number of CRC check bits in each block) into a set I of information bit channels in ascending order, PidxThe remaining elements are sorted in ascending order and placed into a frozen bit channel set F.
In the second step, the information block is constructed and transmitted as shown in fig. 2.
Firstly, message bits input sequentially are divided into a plurality of information frames, and each information frame comprises K information bits.
Secondly, each information block U contains K-KCRCAn information bit, K being the length of each information block (number of information bits of the polar code), KCRCIs the number of CRC bits added.
And finally, adding a CRC (cyclic redundancy check) code to each information block, and carrying out coding transmission.
The specific steps of constructing the information block and performing coding transmission are as follows:
B1) the method comprises the steps of dividing sequentially input message bits into a plurality of information frames, wherein each information frame comprises K information bits.
B2) For each information frame, it is preceded by K-KCRCInformation ratioBits are placed in the information block U.
B3) And adding a CRC check code and transmitting. And (3) adopting a CRC generator polynomial of the international standard, and for the information block U, respectively adding CRC check codes at the tail ends of the information bits according to the CRC polynomial and then transmitting the information block U.
And thirdly, receiving the code word signal of the information block which is transmitted by coding and carrying out a decoding process. Receiving and decoding a code word signal transmitted by the information block through coding; decoding the estimated valueTo GNMatrix check and CRC check module, pass GNReturning a check result by the matrix check and the CRC check; according to GNAnd selecting whether to perform a new decoding or not according to the check results returned by the matrix check and the CRC check.
The coded codeword signal is transmitted in a symmetric B-DMC channel W and observed at the receiving end. The receiving end collects the code words with the length of N each time. The decoder generates a decoded estimate for each information block UThen sent to GNMatrix check and CRC check, G possibleNThe matrix check and CRC check results are:
case 1: gNThe matrix check is correct and the CRC check is correct.
Case 2: gNThe matrix check is correct and the CRC check is incorrect.
Case 3: gNThe matrix checks for errors.
For case 1, due to GNIf the matrix check is correct and the CRC check is correct, judging that the decoding result is correct, terminating iteration in advance and outputting a decoding; for case 2, GNThe matrix check is correct, but the CRC check is wrong, so the next round of BP iteration needs to be executed until G is satisfied at the same timeNMatrix checks and CRC checks or iterations to a maximum number of iterations. For case 3, due to GNIf the matrix check is wrong, CRC check is not needed, and the decoder directly performs the next round of BP iteration until the next round of BP iteration is performed simultaneouslySatisfies GNMatrix checks and CRC checks or iterations to a maximum number of iterations.
When a new round of coding occurs, its more detailed coding process is described as follows:
the specific steps of receiving the code word signal transmitted by the information block after coding and carrying out the decoding process are as follows:
(1) for each information frame, the decoder receives the code word of the coded transmission of the information block U and the frozen bit setGenerating a decoded estimate of U
(2)GNMatrix check and CRC check module receptionAnd returning a check result, and analyzing by the decoder according to the check result.
(3) If the estimated value is decodedG of (A)NIf the matrix check result is correct, then performing CRC check, and performing corresponding processing according to the check result, specifically comprising the following steps:
C1) if the estimated value is decodedIf the CRC check result in (1) is correct, the decoder directly outputs the decoding result of the information block, and the decoding of the information frame is finished, which corresponds to the case 1 described above.
C2) If the estimated value is decodedIf the CRC result is wrong, the decoder directly executes a new round of BP decoding until G is satisfied simultaneouslyNThe matrix check and CRC check or iteration to the maximum number of iterations corresponds to case 2 above.
(4) If the estimated value is decodedG of (A)NIf the matrix check result is wrong, the decoder directly executes a new round of BP decoding until G is satisfied simultaneouslyNThe matrix check and CRC check or iteration to the maximum number of iterations corresponds to case 3 above.
G described for the inventionNmatrix-CRC termination method, GNBoth the matrix check and the CRC check are used to detect whether the codeword is valid, which is equivalent to determining whether the estimated information bits are correct. This double valid criterion results in that no errors due to unreliable early termination occur except for uncorrectable information blocks.
As shown in fig. 3, fig. 3 is a graph comparing the error performance of BP decoding and SC decoding in AWGN, where the maximum number of iterations originally set to be 30, and K represents the number of information bits in one polar code encoded information block (K, K is N × R, and N is 256, R is 0.36, and K is 92, calculated according to the difference between the code length and the code rate), it can be found that the original BP decoding performance in AWGN is superior to SC decoding.
As shown in fig. 4, fig. 4 is a graph comparing the bit error performance of BP decoding and SC decoding originally set with the maximum iteration number of 30 in the fading channel, where K represents the number of information bits in one polar code encoded information block (K, K — N × R is calculated according to the difference between the code length and the code rate, and N — 256, R — 0.36, and K — 92 in the simulation of the present invention), it can be found that the original BP decoding performance in the fading channel no longer has better performance than SC decoding.
FIG. 5 shows the use of G in a fading channel according to the present inventionNThe error code performance comparison chart of the matrix-CRC termination criterion method BP decoding and other decoding modes. The simulation parameters are as follows: the number of information bits in a block of polar coded information is denoted by K (K, K-N R, calculated from the difference between code length and code rate; N-256 in the simulation of the invention, R-0.36, K-92), KCRCIndicating the CRC check bits in each blockThe CRC check bits are part of K information bits. Thus, each polar code information block has a K-KCRCNew information bits. And adding a CRC check code, then coding and transmitting in a fading channel. The decoding process is already given in the third step above. The K92 information bits contain a 16-bit CRC check code. As can be seen from FIG. 5, G is usedNBP decoding performance of the matrix-CRC termination criterion method is obviously superior to SC and GNThe BP decoding of the matrix termination criterion method is superior to BP decoding which only improves the decoding performance by increasing the maximum iteration number to 70.
FIG. 6 shows the use of G according to the inventionNComparing the average iteration times of the matrix-CRC termination criterion method with that of the CRC; the simulation parameters of fig. 6 are identical to those of fig. 5. As can be seen from FIG. 6, GNThe average iteration times of the matrix-CRC termination criterion method are greatly reduced, and the decoding efficiency is improved.
FIG. 7 shows the use of G in a fading channel according to the present inventionNAn iteration condition analysis graph in the matrix termination criterion method BP decoding process; the simulation parameters of fig. 7 are consistent with fig. 5. In the figure, black circles indicate each group of information blocks, and red crosses indicate information blocks with decoding errors. As can be seen from the figure, G is usedNThe matrix termination criterion method may occur in part because of early termination of the iteration, outputting erroneous decoding results.
FIG. 8 shows the use of G according to the inventionNA matrix-CRC termination criterion method iteration condition analysis graph; the simulation parameters of fig. 8 are consistent with fig. 5. As can be seen from the figure, G is usedNThe matrix-CRC termination criteria method has no error cases due to early termination of iterations, except for uncorrectable error blocks.
The above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (10)
1. A polarization code BP decoding method for stopping iteration output results in advance is characterized by comprising the following steps:
s1, screening channels: calculating a channel parameter matrix PeAccording to a channel parameter matrix PeScreening out an information bit channel and a frozen bit channel, putting the information bit channel into a set I, and putting the frozen bit channel into a set F;
s2, constructing an information block and carrying out coding transmission: the information block U comprises K-KCRCAn information bit; k is the information length of each polar code encoding module, KCRCThe number of the added CRC check bits; CRC check bits are added to the information bits before encoding, then K-KCRCAdding one information bit to KCRCThe CRC check bit enters a polar code encoder;
s3, receiving the code word signal transmitted by the information block through coding and decoding: in the aspect of decoding, BP decoding is carried out on the received N code words; the decoding estimation value of the information block U can be obtained every time BP decoding iteration is carried outFor the obtained decoding estimated valueCarrying out GNMatrix check and CRC check: if the estimated information bits simultaneously satisfy GNIf the matrix check and the CRC check are carried out, the decoding can be stopped; otherwise, the next round of BP iteration will continue until G is satisfied at the same timeNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
2. The method as claimed in claim 1, wherein the step S1 specifically includes the following steps:
s11, aiming at allBit channel, obtaining channel parameter matrix P containing error probability value of each split channel by using construction methode;
S12, according to the channel parameter matrix PeSelecting an information bit channel set I and a frozen bit channel set F, which specifically comprises the following steps:
s121, comparing channel parameter matrix P of bit channeleThe elements in the channel parameter matrix are sorted in ascending order according to the error probability of each split channel to obtain a sorted channel parameter matrix PtempAnd find PtempEach element in PeTo obtain an index matrix Pidx;
S122, extracting the index matrix PidxThe first K elements in the code are sorted in ascending order and put into an information bit channel set I, wherein K is the information bit number of the polarization code; will PidxThe remaining elements are sorted in ascending order and placed into a frozen bit channel set F.
3. The method as claimed in claim 1, wherein the step S2 specifically includes the following steps:
s21, dividing the message bits input in sequence into a plurality of information frames, wherein each information frame comprises K information bits;
s22, in each information frame, the first K-K isCRCPutting information bits into an information block U;
s23, adding CRC check codes and transmitting: and adding a CRC check code at the tail end of the information bit according to the CRC polynomial to the information block U by adopting a CRC generator polynomial of the international standard for coding transmission.
4. The method as claimed in claim 1, wherein the step S3 specifically includes the following steps:
s31, for each information frame, the decoder receives the code word and the frozen bit set of the information block UGenerating a decoded estimate of U
S32、GNThe matrix check module receives the estimated value of decodingAnd returning a check result, and analyzing by the decoder according to the check result;
s33, decoding the estimated valueG of (A)NIf the matrix check result is correct, the decoder continues to decode the estimated valueAnd (3) performing CRC check on the CRC module, and performing corresponding processing according to the check result, wherein the specific steps are as follows:
s331, receiving the decoding estimated value by the CRC check moduleReturning a check result, and selecting the next operation again by the decoder according to the check result;
s332, if the CRC check result is correct, the decoder terminates iteration in advance, the decoding result of the information block is directly output, and the information frame decoding is finished;
s333, if the CRC result is wrong, the iterative decoding fails, and the information frame is iterated next time until G is satisfiedNMatrix checking and CRC checking or reaching a set maximum iteration number;
s334, if the estimated value is decodedG of (A)NIf the matrix check result is wrong, the iterative decoding fails, and the information frame is processed for the next timeIterate until G is satisfied at the same timeNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
5. The BP decoding method according to claim 4, wherein the maximum number of iterations is set to 70.
6. The BP decoding method according to claim 4, wherein the decoder is a BP decoder.
7. A polarization code BP decoding system for stopping iteration output results in advance is characterized in that: comprises that
A screening channel module: calculating a channel parameter matrix PeAccording to a channel parameter matrix PeScreening out an information bit channel and a frozen bit channel, putting the information bit channel into a set I, and putting the frozen bit channel into a set F;
the information quick construction module: the method is used for constructing information blocks and carrying out coding transmission, and specifically comprises the following steps: the information block U comprises K-KCRCAn information bit; k is the information length of each polar code encoding module, KCRCThe number of the added CRC check bits; CRC check bits are added to the information bits before encoding, then K-KCRCAdding one information bit to KCRCThe CRC check bit enters a polar code encoder;
a decoding module: the method is used for receiving and decoding a code word signal transmitted by an information block through coding, and specifically comprises the following steps: BP decoding is carried out on the received N code words; the decoding estimation value of the information block U can be obtained every time BP decoding iteration is carried outFor the obtained decoding estimated valueCarrying out GNMatrix check and CRC check:if the estimated information bits simultaneously satisfy GNIf the matrix check and the CRC check are carried out, the decoding can be stopped; otherwise, the next round of BP iteration will continue until G is satisfied at the same timeNAnd carrying out matrix check and CRC check or reaching the set maximum iteration number.
8. The BP decoding system according to claim 7, wherein the BP decoding system comprises: the channel screening module for screening channels specifically comprises the following steps:
s11, aiming at all bit channels, obtaining a channel parameter matrix P containing error probability values of all split channels by using a construction methode;
S12, according to the channel parameter matrix PeSelecting an information bit channel set I and a frozen bit channel set F, which specifically comprises the following steps:
s121, comparing channel parameter matrix P of bit channeleThe elements in the channel parameter matrix are sorted in ascending order according to the error probability of each split channel to obtain a sorted channel parameter matrix PtempAnd find PtempEach element in PeTo obtain an index matrix Pidx;
S122, extracting the index matrix PidxThe first K elements in the code are sorted in ascending order and put into an information bit channel set I, wherein K is the information bit number of the polarization code; will PidxThe remaining elements are sorted in ascending order and placed into a frozen bit channel set F.
9. The BP decoding system according to claim 7, wherein the information block constructing module specifically executes the following process:
s21, dividing the message bits input in sequence into a plurality of information frames, wherein each information frame comprises K information bits;
s22, in each information frame, the first K-K isCRCPutting information bits into an information block U;
s23, adding CRC check codes and transmitting: and adding a CRC check code at the tail end of the information bit according to the CRC polynomial to the information block U by adopting a CRC generator polynomial of the international standard for coding transmission.
10. The method of claim 7, wherein the decoding module performs the following steps:
s31, for each information frame, the decoder receives the code word and the frozen bit set of the information block UGenerating a decoded estimate of U
S32、GNThe matrix check module receives the estimated value of decodingAnd returning a check result, and analyzing by the decoder according to the check result;
s33, decoding the estimated valueG of (A)NIf the matrix check result is correct, the decoder continues to decode the estimated valueAnd (3) performing CRC check on the CRC module, and performing corresponding processing according to the check result, wherein the specific steps are as follows:
s331, receiving the decoding estimated value by the CRC check moduleReturning a check result, and selecting the next operation again by the decoder according to the check result;
s332, if the CRC check result is correct, the decoder terminates iteration in advance, the decoding result of the information block is directly output, and the information frame decoding is finished;
s333, if the CRC result is wrong, the iterative decoding fails, and the information frame is iterated next time until G is satisfiedNMatrix checking and CRC checking or reaching a set maximum iteration number;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204977.4A CN110943745B (en) | 2019-11-29 | 2019-11-29 | Polarization code BP decoding method and system for early terminating iterative output result |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204977.4A CN110943745B (en) | 2019-11-29 | 2019-11-29 | Polarization code BP decoding method and system for early terminating iterative output result |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110943745A true CN110943745A (en) | 2020-03-31 |
CN110943745B CN110943745B (en) | 2023-03-14 |
Family
ID=69908770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204977.4A Active CN110943745B (en) | 2019-11-29 | 2019-11-29 | Polarization code BP decoding method and system for early terminating iterative output result |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110943745B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111726202A (en) * | 2020-06-16 | 2020-09-29 | 杭州电子科技大学 | Early termination iteration method for polarization code belief propagation decoding |
CN112202454A (en) * | 2020-10-14 | 2021-01-08 | 重庆邮电大学 | Low-complexity selective mapping method using cyclic redundancy check |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229087A1 (en) * | 2004-04-13 | 2005-10-13 | Sunghwan Kim | Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof |
CN104539296A (en) * | 2015-01-21 | 2015-04-22 | 西安电子科技大学 | Method for improving BP (belief propagation) decoding by use of polarisation code based on early termination of iterative strategy |
CN105262494A (en) * | 2015-10-13 | 2016-01-20 | 东南大学 | Polar code BP decoding method with iterative early-stopping mechanism |
US20170257186A1 (en) * | 2016-03-04 | 2017-09-07 | Huawei Technologies Co., Ltd. | System and method for polar encoding and decoding |
CN107659318A (en) * | 2017-11-07 | 2018-02-02 | 东南大学 | A kind of adaptive polarization code coding method |
CN108039891A (en) * | 2017-12-22 | 2018-05-15 | 山东科技大学 | A kind of polarization code BP interpretation methods and device based on multistage more new technological process |
WO2018179246A1 (en) * | 2017-03-30 | 2018-10-04 | Nec Corporation | Check bit concatenated polar codes |
CN108847848A (en) * | 2018-06-13 | 2018-11-20 | 电子科技大学 | A kind of BP decoding algorithm of the polarization code based on information post-processing |
CN109257148A (en) * | 2018-11-26 | 2019-01-22 | 北京理工大学 | A kind of polarization code BP interpretation method based on Gaussian approximation threshold decision |
CN109586730A (en) * | 2018-12-06 | 2019-04-05 | 电子科技大学 | It is a kind of based on the polarization code BP decoding algorithm intelligently post-processed |
CN109905202A (en) * | 2019-03-21 | 2019-06-18 | 安徽大学 | A kind of polarization code coding/decoding method for correcting function with block of information decoding error |
-
2019
- 2019-11-29 CN CN201911204977.4A patent/CN110943745B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229087A1 (en) * | 2004-04-13 | 2005-10-13 | Sunghwan Kim | Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof |
CN104539296A (en) * | 2015-01-21 | 2015-04-22 | 西安电子科技大学 | Method for improving BP (belief propagation) decoding by use of polarisation code based on early termination of iterative strategy |
CN105262494A (en) * | 2015-10-13 | 2016-01-20 | 东南大学 | Polar code BP decoding method with iterative early-stopping mechanism |
US20170257186A1 (en) * | 2016-03-04 | 2017-09-07 | Huawei Technologies Co., Ltd. | System and method for polar encoding and decoding |
WO2018179246A1 (en) * | 2017-03-30 | 2018-10-04 | Nec Corporation | Check bit concatenated polar codes |
CN107659318A (en) * | 2017-11-07 | 2018-02-02 | 东南大学 | A kind of adaptive polarization code coding method |
CN108039891A (en) * | 2017-12-22 | 2018-05-15 | 山东科技大学 | A kind of polarization code BP interpretation methods and device based on multistage more new technological process |
CN108847848A (en) * | 2018-06-13 | 2018-11-20 | 电子科技大学 | A kind of BP decoding algorithm of the polarization code based on information post-processing |
CN109257148A (en) * | 2018-11-26 | 2019-01-22 | 北京理工大学 | A kind of polarization code BP interpretation method based on Gaussian approximation threshold decision |
CN109586730A (en) * | 2018-12-06 | 2019-04-05 | 电子科技大学 | It is a kind of based on the polarization code BP decoding algorithm intelligently post-processed |
CN109905202A (en) * | 2019-03-21 | 2019-06-18 | 安徽大学 | A kind of polarization code coding/decoding method for correcting function with block of information decoding error |
Non-Patent Citations (3)
Title |
---|
BO YUAN等: ""Architectures for polar BP decoders using folding"", 《2014 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS)》 * |
刘斌等: ""一种改进的基于深度前馈神经网络的极化码BP译码算法"", 《移动通信》 * |
邢超等: ""极化码置信传播算法早期终止准则的研究"", 《信号处理》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111726202A (en) * | 2020-06-16 | 2020-09-29 | 杭州电子科技大学 | Early termination iteration method for polarization code belief propagation decoding |
CN111726202B (en) * | 2020-06-16 | 2022-05-31 | 杭州电子科技大学 | Early termination iteration method for polarization code belief propagation decoding |
CN112202454A (en) * | 2020-10-14 | 2021-01-08 | 重庆邮电大学 | Low-complexity selective mapping method using cyclic redundancy check |
CN112202454B (en) * | 2020-10-14 | 2021-10-01 | 重庆邮电大学 | Low-complexity selective mapping method using cyclic redundancy check |
Also Published As
Publication number | Publication date |
---|---|
CN110943745B (en) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660264B (en) | High performance polar code decoding algorithm | |
US5910182A (en) | Data communications systems and methods using interspersed error detection bits | |
CN113491080B (en) | Multimode channel coding | |
EP1662742A2 (en) | Data transmitting method, data transmitting system transmitter, and receiver | |
JP4777876B2 (en) | Early termination of turbo decoder iterations | |
US11088780B2 (en) | Low complexity blind detection of code rate | |
CN109905202B (en) | Polarization code coding and decoding method with information block decoding error correction function | |
JPH10178355A (en) | Continuous code error correcting decoder and its method | |
US7480852B2 (en) | Method and system for improving decoding efficiency in wireless receivers | |
CN110943745B (en) | Polarization code BP decoding method and system for early terminating iterative output result | |
CN114285418A (en) | Improved decoding method for polarization code EPC-MS-SCL | |
US7716554B2 (en) | System and method for blind transport format detection with cyclic redundancy check | |
JP4758765B2 (en) | Transport format detection apparatus and transport format detection method | |
Yu et al. | Hybrid Parity-Check and CRC Aided SCL decoding for polar codes | |
CN115473537A (en) | Improved ES-SCL decoding method in polarization code | |
CN101425869B (en) | Decoding method and apparatus | |
US7644346B2 (en) | Format detection | |
JPH06334697A (en) | Error detection method | |
Kim et al. | A new list decoding algorithm for short-length TBCCs with CRC | |
CN113556135B (en) | Polarization code belief propagation bit overturn decoding method based on frozen overturn list | |
EP1008237A2 (en) | Transmission system having a simplified channel decoder | |
US7975212B2 (en) | Sequential decoding method and apparatus thereof | |
WO1995001008A1 (en) | Bit error counting method and counter | |
CN110798284A (en) | Polarization code transmission method based on double BP decoding graph parallel decoding technology | |
US6742158B2 (en) | Low complexity convolutional decoder |
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 |