Polarization code belief propagation list decoding method added with noise disturbance and bit inversion
Technical Field
The invention belongs to the technical field of channel coding in wireless communication, and particularly relates to a polarization code belief propagation list decoding method with added noise disturbance and bit flipping.
Background
The polarization code technology is used as a novel channel coding technology, and when the code length is towards infinity, the transmission rate can reach the channel capacity of a binary input memory-free symmetrical channel. At present, two types of coding modes of polarization codes are mainstream, and one type of coding method based on serial cancellation (SuccessiveCancellation, SC) comprises a coding method based on serial cancellation list (success CancellationList, SCL) of SC coding. The SC-based polar code decoding method belongs to sequential decoding, and the decoded information bits affect the estimation of the subsequent information bits, so that the information bits in the code word must be estimated one by one, thereby generating larger decoding delay. Another class of mainstream decoding methods for polar codes is based on belief propagation (BeliefPropagation, BP) decoding methods, including belief propagation list (BeliefPropagationList, BPL) decoding methods. The BP-based decoding method is applicable to application scenes with higher requirements on time delay because the decoding time delay of the BP-based decoding method is obviously lower than that of the SC-based decoding method due to the property of parallel iterative computation and the BP-based decoding method is insensitive to codeword length. The traditional BP decoding method has poorer error rate and frame error rate performance, the BPL decoding method adopts a plurality of BP decoders based on different factor graphs for decoding, and the error rate and frame error rate performance are improved at the cost of higher calculation complexity and hardware requirements on the basis of the BP decoding method, but compared with the SCL decoding method added with cyclic redundancy check (CylicRedundancyCheck, CRC), the error rate and frame error rate performance of the BPL decoding method are still poorer.
Disclosure of Invention
In order to solve the problems, the invention provides a polarization code belief propagation list decoding method added with noise disturbance and bit flipping, and the used code words are cascade codes formed by CRC codes and polarization codes. In the method, under the condition that the BPL decoding result does not pass the CRC check, a Flip Bit Set (FBS) is constructed by analyzing the decoding result in the BPL decoding method, information bits with polarization codes in the FBS are flipped (the bit flipping in the method is realized by setting the prior log likelihood ratio of the flipped bits to infinity), and meanwhile, artificial noise disturbance (the artificial noise disturbance is realized by adding Gaussian white noise with different standard deviations to the received signals) is added, so that errors in part of the BPL decoder can be corrected, and the error rate and the frame error rate performance of the BPL decoding method are improved.
In order to achieve the above purpose, the present invention provides the following technical solutions:
the polarization code belief propagation list decoding method with added noise disturbance and bit flipping comprises the following steps:
the first step: BPL decoding with CRC check
(1) Initialization of
For a polarization code with a code length of N and an original information bit sequence length of K, the received signal is recorded asThe list number in the BPL decoding method is recorded as L, and the list number L represents that L BP decoders adopting different factor graphs are used for decoding in the BPL decoding method, and the step (2) is carried out;
(2) Simultaneously starting L BP decoders to decode
Recording deviceFor the estimation of the information bit sequence by the ith BP decoder, 1.ltoreq.i.ltoreq.L, where +.>Is the ith bit u in the ith BP decoder pair information bit sequence j Estimate of->The value is 0 or 1; record->Estimation of codeword bit sequence for ith BP decoder, wherein +.>Is the ith bit x in the bit sequence of the ith BP decoder pair codeword j Is determined by the estimation of (a); performing BP decoding simultaneously by using L BP decoders; the decoding stopping condition of each BP decoder is that the preset iteration number upper limit is reached or CRC check is met, once the estimation of the BP decoder on the information bit sequence meets the CRC check in the decoding process, the decoding is considered to be successful, the estimation of the BP decoder on the information bit sequence is selected as the decoding output of the method, and the whole decoding flow is ended; otherwise, entering a second step;
and a second step of: constructing a flipped bit set FBS
(1) Initialization of
Initializing a K-row and 2-column all-zero matrix reczero_one_matrix for counting BPL decoding results in the first step, wherein elements of the p-th row and q-th column in the reczero_one_matrix matrix are recorded as rec p,q ,1≤p is less than or equal to K and is less than or equal to 1 and less than or equal to q is less than or equal to 2, the number of elements in FBS is recorded as T, T is less than or equal to 0 and less than or equal to K, T represents the number of bits available for turning, and the step (2) is carried out;
(2) Counting the decoding result of the BPL decoding method in the first step, and writing the decoding result into a matrix reczero_one_matrix;
index is recorded j Is the bit index of the j-th bit in the original information bit sequence with the length of K in the information bit sequence filled with frozen bits, wherein j is more than or equal to 1 and less than or equal to K, and index is more than or equal to 1 j N is less than or equal to; the update rule of reczero_one_matrix is as follows:
wherein rec p,1 Recording index of information bit sequence in L BP decoder p The number of decoders whose bits are translated to 0, rec p,2 Recording index of information bit sequence in L BP decoder p The number of decoders whose bits are translated to 1, go to step (3);
(3) Calculating the ratio of each bit in the original information bit sequence translated to 0 and 1
Definition ratio p P is more than or equal to 1 and K is more than or equal to rec p,1 And rec p,2 The ratio of the smaller value to the larger value in (2) is shifted to the step (4);
(4) Selecting FBS from a set of information bits
The set index_u= { Index 1 ,index 2 ,...,index K The method comprises the steps of (1) sorting elements in index_U according to the sequence from big to small of corresponding ratio, wherein the sorting rule is as follows:
Index_U sorted represents the ordered Index _ U set,represents w in index_U a Individual elements, w a Representing the change in Index caused by ordering, from the ordered set index_U sorted In selecting the first T elements to constructAnd a third step of: polarization code belief propagation list decoding with addition of artificial noise perturbations and bit flipping
(1) Setting a variable t to count the number of times of tentative bit flip decoding, initializing t=1, and turning to the step (2);
(2) If T is more than T, adding artificial noise disturbance and bit flip BPL decoding method to fail decoding, ending the whole decoding flow; if T is less than or equal to T, turning to the step (3);
(3) The L BP decoders in the BPL method index into the information bit sequence asBit flipping of bits of (2)
Each BP decoder in the BPL decoding method corresponds to a matrix R, R being a matrix of size N× (1+log) 2 N), where N is the length of the polarization code; the first column of R is used to store a priori log likelihood ratios of the information bits; and (3) performing bit flipping: if the ith BP decoder decodes in step (2) in the first step the ith in the sequence of information bitsEstimation of individual bits->1, the corresponding R matrix of the BP decoder is +.>The first column element of the row is assigned to positive infinity; if it is0, R moment corresponding to the BP decoderFirst->Assigning a row first column element to minus infinity; the values of the other elements in R are still assigned according to the traditional BP decoding method; turning to the step (4);
(4) Adding different artificial noise perturbations to L BP decoders in the BPL method
Each BP decoder in the BPL decoding method corresponds to a matrix L, L being a matrix of size N× (1+log) 2 N), where N is the length of the polarization code; the rightmost column of L is used for storing the log-likelihood ratio of the received signal; adding artificial noise disturbance: for BP decoder with serial number i, N-dimensional Gaussian white noise vector with standard deviation of (0.4×i)/L is generatedSuperimposed on the received signal->Taking the superimposed N-dimensional vector as a new receiving signal of the BP decoder to carry out calculation on log likelihood ratio assignment to the rightmost column of the corresponding matrix L of the BP decoder, and turning to the step (5);
(5) BPL decoding using the matrix L and matrix R assigned according to steps (3) and (4)
For the estimation of the information bit sequence by the ith BP decoder, 1.ltoreq.i.ltoreq.L, where +.>Is the ith bit u in the ith BP decoder pair information bit sequence j Estimate of->The value is 0 or 1;Estimating a codeword bit sequence for an ith BP decoder, whereinIs the ith bit x in the bit sequence of the ith BP decoder pair codeword j Is determined by the estimation of (a); performing BP decoding simultaneously by using L BP decoders; the decoding stopping condition of each BP decoder is that the preset iteration number upper limit is reached or CRC check is met, and once the CRC check is met by the estimation of the BP decoder on the information bit sequence in the decoding process, the decoding is considered to be successful; if not, let t=t+1, and go to step (2).
Further, when the BP decoder in the first step (2) decodes, if the estimates of the information bit sequences by the BP decoders meet the CRC check at the same time, the estimate of the information bit sequence by the BP decoder with the smallest sequence number is selected as the decoding output of the method, and the whole decoding process is ended.
Further, in the second step (3), ratio p The calculation rule of (2) is: if rec p,1 ≤rec p,2 ThenIf rec p,1 >rec p,2 Then->
Further, in the third step (5), when the BP decoder decodes, if only one BP decoder satisfying the CRC check for the estimation of the information bit sequence in the shortest time, the BP decoder estimates the information bit sequence as the decoding output of the method, and the whole decoding process ends; if the multiple BP decoders meet the CRC check on the estimation of the information bit sequence in the shortest time in parallel, the estimation of the BP decoder with the smallest sequence number on the information bit sequence is selected as the decoding output of the method, and the whole decoding flow is finished.
Compared with the prior art, the invention has the following advantages and beneficial effects:
the polarization code belief propagation list decoding method added with noise disturbance and bit overturn provided by the invention can be used for constructing an overturn bit set for identifying unreliable information bit judgment by carrying out data analysis on a failure decoding result under the condition that the polarization code BPL decoding method fails to decode, setting the prior log likelihood ratio of unreliable information bits as an infinite value, adding different artificial noise to disturb, correcting errors in the BPL decoding method in a heuristic decoding mode, and obviously improving the frame error rate performance of the polarization code under the BPL decoding method. In the middle-high signal-to-noise ratio interval, compared with a BPL decoding method, the method can improve the frame error rate by two orders of magnitude, and meanwhile, the average decoding time delay of the decoding method is similar to that of the BPL decoding method, which shows that the method can obtain the gain of the bit error rate performance at the cost of smaller decoding time delay.
Drawings
Fig. 1 is a flowchart of a polarization code belief propagation list decoding method with added noise disturbance and bit flipping provided by the invention.
Detailed Description
The technical scheme provided by the present invention will be described in detail with reference to the following specific examples, and it should be understood that the following specific examples are only for illustrating the present invention and are not intended to limit the scope of the present invention.
The example is illustrated with a code length n=256, and a polarization code of an original information bit sequence length k=136 (including a cyclic redundancy check code length r=8). The construction method of the polarization code in the example is Gaussian approximation, the signal-to-noise ratio of the code word construction is 2.5 dB, and the generation polynomial of the cyclic redundancy check code is g (x) =x 8 +x 6 +x 3 +x 2 +1。
The flow of the polarization code belief propagation list decoding method added with noise disturbance and bit inversion provided by the invention is shown in figure 1, and the method comprises the following steps:
the first step: BPL decoding with CRC check is performed. The method comprises the following steps:
(1) Initializing. For a code length of N, the original informationPolarization code with bit sequence length K, and recording received signal asN=256 in this example. The number of the list in the BPL decoding method is denoted as L (the BPL decoding method is an existing method, and the number of the list L indicates that L BP decoders using different factor graphs are used for decoding in the BPL decoding method), in this example, l=32. And (3) switching to the step (2).
(2) And simultaneously starting L BP decoders to decode. Recording deviceFor the i-th BP decoder (the number of the BP decoder is denoted as i), the information bit sequence is estimated, as the output result of the BP decoder, 1.ltoreq.i.ltoreq.L, wherein +.>Is the ith bit u in the ith BP decoder pair information bit sequence j Estimate of->The value is 0 or 1. Recording deviceEstimation of codeword bit sequence for ith BP decoder, wherein +.>Is the ith bit x in the bit sequence of the ith BP decoder pair codeword j Is a function of the estimate of (2). The BP decoding is performed simultaneously by the L BP decoders. The decoding stop condition of each BP decoder is that the preset iteration number upper limit is reached or CRC check is met. Once the BP decoder estimates the information bit sequence to meet CRC check in the decoding process, the decoding is considered to be successful, the BP decoder estimates the information bit sequence to be used as the decoding output of the method, and the whole decoding process is finished; if multiple BP decoders estimate the information bit sequence while satisfying CRC check, the BP decoder with the smallest sequence number is selected to estimate the information bit sequenceThe estimate is taken as the decoded output of the method,
ending the whole decoding flow; otherwise, the second step is carried out.
And a second step of: the flip bit set FBS is constructed. The method comprises the following steps:
(1) Initializing. Initializing the all-zero matrix reczero_one_matrix of K rows and 2 columns for counting the BPL decoding result in the first step, in this example, k=136. The element of the p-th row and q-th column in the reczero_one_matrix matrix is denoted rec p,q P is more than or equal to 1 and less than or equal to K, q is more than or equal to 1 and less than or equal to 2. The number of elements in FBS is T, T is more than or equal to 0 and less than or equal to K, T represents the number of bits available for turning, and the value of the bit can be determined by an information receiver according to the channel condition. In this example, t=4 is taken. And (3) switching to the step (2).
(2) And counting the decoding result of the BPL decoding method in the first step, and writing the decoding result into the matrix reczero_one_matrix. Index is recorded j Is the bit index of the j-th bit in the original information bit sequence with the length of K in the information bit sequence filled with frozen bits, wherein j is more than or equal to 1 and less than or equal to K, and index is more than or equal to 1 j N is not more than. The update rule of reczero_one_matrix is as follows:
thus rec p,1 Recording index of information bit sequence in L BP decoder p The number of decoders whose bits are translated to 0, rec p,2 Recording index of information bit sequence in L BP decoder p The number of decoders whose bits are translated to 1. And (3) switching to the step (3).
(3) The ratio of each bit in the original information bit sequence translated to 0 and 1 is calculated. Definition ratio p P is more than or equal to 1 and K is more than or equal to rec p,1 And rec p,2 The ratio of the smaller value to the larger value to ensure the ratio p The value of (2) is not more than 1, and the sequencing of the subsequent steps is facilitated. The calculation rule is if rec p,1 ≤rec p,2 ThenIf rec p,1 >rec p,2 Thenratio p The larger the bit rate is, the more L BP decoders in the BPL decoding method are to the ratio in the information bit sequence p The larger the decoding difference of the individual bits, the greater the probability that the information bit will have a decoding error. And (4) switching to the step (4).
(4) FBS is selected from the set of information bits. The set index_u= { Index 1 ,index 2 ,...,index K And is a set of bit indices of K original information bits in the information bit sequence after padding with frozen bits. The elements in index_U are ordered according to the sequence from the big to the small of the corresponding ratio, and the ordering rule is as follows:
Index_U sorted representing the ordered index_U set, index wa Represents w in index_U a Individual elements, w a Representing the change in index caused by ordering. From the ordered set index_U sorted In selecting the first T elements to constructFbs= {6,7,13,20} in this example.
And a third step of: polarization code belief propagation list decoding with artificial noise disturbance and bit flipping added is performed. The method comprises the following steps:
(1) Setting a variable t to count the number of times of tentative bit flip decoding, initializing t=1, and turning to step (2).
(2) If T is more than T, adding artificial noise disturbance and bit flip BPL decoding method to fail decoding, ending the whole decoding flow; if T is less than or equal to T, the step (3) is carried out.
(3) The L BP decoders in the BPL method index into the information bit sequence wt The bit of (t element in the FBS set) is bit flipped. Each of the BPL decoding methodsThe BP decoders correspond to a matrix R, R being of size N x (1+log) 2 N), where N is the length of the polarization code. The first column of R is used to store a priori log likelihood ratios of the information bits. The rule of bit flipping is: if the ith BP decoder decodes in step (2) in the first step the ith in the sequence of information bitsEstimation of individual bits->1, the corresponding R matrix of the BP decoder is +.>The first column element of the row is assigned to positive infinity; if->0, the corresponding R matrix of the BP decoder is +.>The row first column element assigns a negative infinity. The values of the remaining elements in R are still assigned according to the conventional BP decoding method. And (4) switching to the step (4).
(4) Different artificial noise perturbations are added to the L BP decoders in the BPL method. Each BP decoder in the BPL decoding method corresponds to a matrix L, L being a matrix of size N× (1+log) 2 N), where N is the length of the polarization code. The right-most column of L is used to store the log-likelihood ratio of the received signal. The rule of adding artificial noise disturbance is: for BP decoder with serial number i, N-dimensional Gaussian white noise vector with standard deviation of (0.4×i)/L is generatedSuperimposed on the received signal->New received signal of BP decoder by superimposed N-dimensional vectorThe number is brought into the right-most column of the calculated log likelihood ratio assignment corresponding to the matrix L of the BP decoder, and the step (5) is carried out.
(5) And (3) performing BPL decoding by using the matrix L and the matrix R which are assigned according to the steps (3) and (4).
For the estimation of the information bit sequence by the ith BP decoder, 1.ltoreq.i.ltoreq.L, where +.>Is the ith bit u in the ith BP decoder pair information bit sequence j Estimate of->The value is 0 or 1.Estimating a codeword bit sequence for an ith BP decoder, whereinIs the ith bit x in the bit sequence of the ith BP decoder pair codeword j Is a function of the estimate of (2). The BP decoding is performed simultaneously by the L BP decoders. The decoding stop condition of each BP decoder is that the preset iteration number upper limit is reached or CRC check is met. Once the estimated information bit sequence of BP decoder meets CRC check in decoding process, the decoding is considered successful. If only one BP decoder for estimating the information bit sequence in the shortest time meets CRC check, the BP decoder estimates the information bit sequence as the decoding output of the method, and the whole decoding flow is ended; if the multiple BP decoders meet the CRC check on the estimation of the information bit sequence in the shortest time in parallel, the estimation of the BP decoder with the smallest sequence number on the information bit sequence is selected as the decoding output of the method, and the whole decoding flow is ended; if not, let t=t+1, and go to step (2).
The technical means disclosed by the scheme of the invention is not limited to the technical means disclosed by the embodiment, and also comprises the technical scheme formed by any combination of the technical features. It should be noted that modifications and adaptations to the invention may occur to one skilled in the art without departing from the principles of the present invention and are intended to be within the scope of the present invention.