CN109981112B - Partial cyclic redundancy check assisted sequencing statistical decoding method - Google Patents

Partial cyclic redundancy check assisted sequencing statistical decoding method Download PDF

Info

Publication number
CN109981112B
CN109981112B CN201811124827.8A CN201811124827A CN109981112B CN 109981112 B CN109981112 B CN 109981112B CN 201811124827 A CN201811124827 A CN 201811124827A CN 109981112 B CN109981112 B CN 109981112B
Authority
CN
China
Prior art keywords
decoding
matrix
sequence
crc
check
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
Application number
CN201811124827.8A
Other languages
Chinese (zh)
Other versions
CN109981112A (en
Inventor
姜明
李政熠
赵春明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201811124827.8A priority Critical patent/CN109981112B/en
Publication of CN109981112A publication Critical patent/CN109981112A/en
Application granted granted Critical
Publication of CN109981112B publication Critical patent/CN109981112B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Abstract

The invention discloses a partial Cyclic Redundancy Check (CRC) assisted sequencing statistical decoding method, which is suitable for soft-decision decoding of low-density parity check (LDPC) codes with information bits meeting CRC. Before decoding, forming a system generator matrix according to a generator polynomial of cyclic redundancy check, and dividing the matrix into two parts, wherein one part is used for detecting a decoding result, and the other part is used for assisting decoding; multiplying a part of CRC generating matrix of the auxiliary decoding by a generating matrix of the low-density parity check code to obtain a joint generating matrix; the decoding process mainly adopts an iterative sequencing statistical decoding (BP-OSD) method, and a joint generation matrix is used as a coding matrix in an OSD algorithm. After decoding is finished, performing CRC (cyclic redundancy check) on information bits of the code words, and if the information bits meet the CRC, outputting the code as decoding; otherwise, the decoding is judged to be failed. The method greatly enhances the error correction performance of the LDPC code while keeping the CRC error detection function.

Description

Partial cyclic redundancy check assisted sequencing statistical decoding method
Technical Field
The invention belongs to the technical field of decoding of channel error correction coding, and particularly relates to the technical field of decoding of channel error correction coding.
Background
1. Cyclic redundancy check code
Cyclic Redundancy Check (CRC) is a very important error detection code, which is not only simple in coding, but also low in false judgment probability. The CRC is essentially that an input sequence with length K generates a check code (CRC code) with length L according to a certain rule, and adds the check code to the back of the original sequence to form a new sequence with length K + L to be transmitted. The receiving end checks the received sequence according to the same rule, and then can find out whether the data transmission is error. This rule is called "generator polynomial" in the theory of error control. The primary role of the CRC is to detect whether there are errors in the transmitted data block, but there is no ability to correct the errors themselves. The method comprises the following implementation steps:
let the input sequence length be K, expressed as a binary polynomial:
Figure BDA0001812099970000011
the generator polynomial of the cyclic redundancy check is expressed as:
Figure BDA0001812099970000012
the encoding step of the transmitting end can be expressed as:
step 1: l zeros are added at the tail of the input sequence, and the corresponding binary polynomial is expressed as x L a(x);
Step 2: dividing x by a generator polynomial g (x) L a (x), obtaining a remainder p (x), wherein the binary sequence with the length of L corresponding to the remainder p (x) is CRC;
and step 3: association x L a (x) and p (x) to obtain a code polynomial x L a (x) + p (x), the binary sequence with length K + L corresponding to the formula is the coded sequence added with CRC.
When decoding, the receiving end only needs to divide the binary polynomial corresponding to the received sequence by the same g (x). If the remainder is zero, it represents that there is no error in the data transmission process, and the last L bit of the received sequence is removed to obtain the original input sequence; otherwise, it indicates that the data transmission is in error.
2. Low density parity check code
2.1 brief introduction to
A Low Density Parity Check (LDPC) code is a relatively special linear block code, the particularity of which is that the number of 1's in its parity check matrix is much smaller than the number of 0's, called sparsity, also called low density. The check matrix and the code word of the LDPC code satisfy the following relational expression, wherein theta is an all-zero column vector:
HC T mod 2=θ。
2.2 encoding of Low Density parity check codes
The LDPC code is encoded as follows
The first step is as follows: in order to solve the generator matrix G conveniently, so that the check bits can be conveniently decoded during encoding, any check matrix H can be linearly transformed into a typical check matrix H 'by an algorithm, such as a gaussian elimination algorithm, the number of columns of the check matrix H or H' represents the length of a codeword, and the number of rows represents the number of parity bits. A typical check matrix H' is shown by the following equation:
H′=[P T |I];
the typical check matrix H' can be divided into two parts, one part is a unit matrix I, and the other part P T Is a transposed matrix of the P matrix.
The second step: and then, the typical check matrix H' can be used for constructing a generator matrix G shown as the following formula:
G=[I|P];
the typical generator matrix G constructed by using the typical check matrix H' may also be divided into two parts, one of which is a unit matrix I and the other is a P matrix.
The third step: during block coding, source bits U are grouped according to the number of rows of a generated matrix G, and the number of source bits included in each group is the number of rows of the generated matrix G. And multiplying each group of the output code words with the generator matrix G modulo 2 to obtain the coded output code words, and forming an output code word sequence by each group of the output code words according to the grouping sequence.
Wherein the ith group U i Output code word C obtained by multiplying with generator matrix G i Comprises the following steps:
C i =U i G=[U i |u i P]
wherein: each group outputting a code word C i Includes two parts, one of which is the group of source bits U i The result multiplied by the unit matrix I in the typical generator matrix G is called a system bit; another part U i P is the set of source bits U i The result of the multiplication with the P matrix in the exemplary generator matrix G is called a check bit.
2.3 two-plot representation
Any check matrix of the low-density parity check code can be converted into a corresponding binary (Tanner) graph, variable nodes and check nodes are identifiers after the check matrix is converted into the Tanner graph, the variable nodes correspond to columns of the check matrix, and the check nodes correspond to rows of the check matrix.
By checking matrix H 4×8 For example, where V and S identify the corresponding variable node and check node, respectively:
Figure BDA0001812099970000031
the transformed Tanner graph is shown in FIG. 1, and has 8 variable nodes v 1 ,v 2 …v 8 4 check nodes s 1 ,s 2 …s 4 . Check nodes are identified by boxes, variable nodes by circles, check nodes and bit nodes with a cross element of 1 connecting corresponding rows and columns, e.g. v 1 And s 1 、v 1 And s 2 Thus, many cycles are formed in the Tanner graph, for example, s is marked by a thick line 1 、v 3 、s 3 And v 7
2.4 iterative soft-decision decoding of low-density parity-check codes
In the decoding method of LDPC code, the iterative soft decision decoding method based on bipartite graph, namely BP decoding, has good error rate performance, taking the standard sum-product decoding method as an example, the main steps of decoding are as follows:
defining the bipartite graph variable node and check node set corresponding to the matrix of the low-density parity check code as V = { V = n ,n∈[1,N]},S={s m, m∈[1,M]}; defining variable node v n Participating check node set A (n) = { j, h j,n =1, and is included in the check node s m Variable node set B (m) = { i, h = m,i =1}; defining the removal of check nodes s in the check node set A (n) m Define the removed variable node v in the variable node set B (m) n Node set B (m) \\ n, code sequence C = { C = n ,n∈[1,N]};
The first step is as follows: initialization: BPSK modulated signal x n =1-2c n ,n∈[1,N]Zero mean variance σ 2 Obtaining a received signal sequence Y = { Y) according to the Gaussian white noise channel n |y n =x n +w n ,n∈[1,N]In which w n Is zero mean variance σ 2 White gaussian noise signal, initial variable node v n ,n∈[1,N]To check node s m ,m∈[1,M]Outputting information
Figure BDA0001812099970000032
And obtaining a sequence C according to the symbol hard judgment of the signal in Y 0 Simultaneously initiating cumulative likelihood ratio data for each variable node
Figure BDA0001812099970000033
And starting iterative decoding when the iteration times t = 1;
the second step is that: and (3) updating information output of the check nodes and the variable nodes: each check node s m Outputting information of variable nodes of the (k-1) th iteration
Figure BDA0001812099970000041
Calculating the t-th iteration node s according to the following formula m To variable node v n The information that is output is transmitted to the user,
Figure BDA0001812099970000042
each variable node v n Outputting information in a participating verification mode
Figure BDA0001812099970000043
Add as variable node v n To check node s m The output of the computer is processed by the computer,
Figure BDA0001812099970000044
the third step: output of the t-th iteration: each variable node v n All participating check nodes s m Output of m ∈ A (n)
Figure BDA0001812099970000045
Adding as the total output of the variable nodes of the current iteration
Figure BDA0001812099970000046
The fourth step: according to each variable section of the current iterationOutput information of a dot
Figure BDA0001812099970000047
Making symbol hard judgment according to the following formula to obtain an output sequence C t
Figure BDA0001812099970000048
If the sequence satisfies all check equations, the iterative decoding result is used as the final decoding output
Figure BDA0001812099970000049
Meanwhile, the decoding of the frame is terminated, otherwise, if the current iteration time t does not reach the maximum iteration time, the iterative decoding is continued, the iteration time is increased by one, and the step is skipped to the second step;
for longer irregular LDPC codes, BP decoding can achieve performance close to the Shannon limit. However, in practical application, the system often adopts code blocks with medium and short lengths, and bipartite graphs corresponding to LDPC codes with limited lengths no longer have the gradual loop-free characteristic, so that BP decoding and Maximum Likelihood Decoding (MLD) decoding still have a large gap in the situation.
2.5 cumulative likelihood ratio-based LDPC code iterative sequencing statistical decoding method
The Ordered Statistics Decoding (OSD) method is also a soft decision decoding that was earlier applied to linear block codes, applicable to short codes with certain algebraic structures. For the LDPC code with a certain random structure, the length of which is usually over 100, OSD decoding cannot be performed in a high-order process, and therefore the error correction performance of the LDPC code also does not reach the performance of Maximum Likelihood Decoding (MLD). By using soft information output of iterative decoding and using OSD decoding with lower order to assist BP decoding, the error correction capability of the LDPC code can be obviously improved. Since the complexity of the OSD decoding method is proportional to N 2 And the output soft information of each iteration is subjected to OSD decoding treatment, so that a lot of time delay is added to each iteration, and the high-speed decoding characteristic of the LDPC code is damaged. If OSD decoding is started in a certain iteration in the middle of BP decoding, the oscillation phenomenon exists in the soft information output by the current iterationThe performance gain obtained by OSD decoding is small. The accumulated likelihood ratio information is decoded by using the initial section of iteration, so that the oscillation phenomenon can be partially overcome, and the amplitude of the accumulated likelihood ratio is more effective reliability measurement information.
The OSD method for assisting BP decoding specifically comprises the following steps:
the first step is as follows: at the t-th output of iterative decoding, the total output of the variable nodes of the current iteration is
Figure BDA0001812099970000051
Accumulating the accumulated likelihood ratio output of each node until now according to the following formula, wherein the parameter alpha is more than or equal to 0 and less than or equal to 1 and is a weighting coefficient:
Figure BDA0001812099970000052
with different selection schemes of the parameter α, there are several different implementation forms: firstly, if alpha is not changed along with the change of iteration times t, the process of likelihood ratio accumulation is similar to the first-order IIR filtering processing of each iteration output likelihood ratio; secondly, if the parameter alpha is 1 or 0 all the time, the accumulation process is equivalent to completely adding the outputs or only selecting the current likelihood ratio output as the reliability sequencing basis; finally, if the iteration times of alpha in certain fixed intervals are zero, and alpha epsilon (0, 1) is satisfied in other times, the accumulation process is equivalent to FIR filtering processing of fixed orders on the output likelihood ratio among the iteration intervals;
the second step: outputting likelihood ratio obtained by iterative decoding as reliability information of each bit
Figure BDA0001812099970000053
As ordering basis for ordering statistical decoding according to the absolute value of reliability information
Figure BDA0001812099970000054
In the order from big to small, a sort pi is made for the corresponding columns of the nodes and the generating matrix 1 To obtain a new node sequenceπ 1 (V) sum generating matrix π 1 (G);
The third step: the new generator matrix is removed by Gaussian elimination, and due to the correlation characteristic between the generator matrix columns, the columns need to be rearranged for the second time by pi 2 Finally, a new generator matrix is obtained
Figure BDA0001812099970000055
And node sequence
Figure BDA0001812099970000056
The fourth step: a node sequence pi 21 (V)) the first N-K-L' nodes according to
Figure BDA0001812099970000057
Makes a hard decision on the symbol:
Figure BDA0001812099970000061
obtaining an information sequence
Figure BDA0001812099970000062
Traversing and turning the first N-K-L' information bit symbols with the order of s, namely selecting all possible 0-s bit combinations to share
Figure BDA0001812099970000063
Figure BDA0001812099970000064
Performing bit flipping to obtain P s Information sequence
Figure BDA0001812099970000065
Respectively corresponding to the generated matrix
Figure BDA0001812099970000066
Multiplying to obtain a codeword
Figure BDA0001812099970000067
Rearranging for two more times to obtain all P s A code word:
Figure BDA0001812099970000068
the fifth step: for is to
Figure BDA0001812099970000069
Using the initial received sequence Y and its hard decision sequence C 0 Comparing Euclidean distances, and reserving the code word with the minimum Euclidean distance as the output of the sequencing statistical decoding
Figure BDA00018120999700000610
Final decoded output
Figure BDA00018120999700000611
The LDPC code iterative sequencing statistical decoding method based on the accumulated likelihood ratio is to accumulate the output likelihood ratios of iterative decoding of fixed times and perform OSD decoding processing on the basis. In the BP iterative decoding process, the accumulation of the likelihood ratio and the OSD decoding process are completed at the same time, and no additional time delay is added. Based on several fixed OSD decoding of the cumulative likelihood ratio, the performance of BP decoding can be obviously improved.
The OSD decoding process can be extended from zero order to first, second and third orders, and as the order increases, the error correction performance gradually increases, and the OSD decoding complexity also increases at the order level. Under the condition of the limit of OSD decoding calculation amount allowed by the system, partial mixed-order OSD processing is carried out on nodes with different reliability degrees, and the method is a better compromise scheme between decoding performance and implementation complexity.
Disclosure of Invention
The technical problem is as follows: the invention aims to provide a partial cyclic redundancy check assisted sequencing statistical decoding method, which utilizes the LDPC code information bits to meet the cyclic redundancy check characteristic, carries out OSD decoding on the LDPC code after the iterative decoding is finished, wherein an inverse coding matrix is a combined matrix of a partial generation matrix of the cyclic redundancy check and a generation matrix of an LDPC system, and finishes OSD decoding with better performance under the condition of not increasing the time delay of the whole decoding of the system.
The technical scheme is as follows:
a partial cyclic redundancy check assisted sequencing statistical decoding method is characterized in that: the method specifically comprises the following steps:
systematic generator matrix G for defining low density parity check code LDPC And system check matrix H LDPC The corresponding set of bipartite graph variable nodes is V = { V = n ,n∈[1,N]}; information sequence m = { m k ,k∈[1,K]Comprises K-L bit information bits and L bit cyclic redundancy check bits, the generator polynomial of the L bit cyclic redundancy check is
Figure BDA0001812099970000071
Coding sequence C = { C n ,n∈[1,N]And satisfies C = m · G LDPC
Step 1, initialization: the generator polynomial of the L-bit cyclic redundancy check is expressed in the form of a generator matrix of (K-L) multiplied by K:
Figure BDA0001812099970000072
and (3) carrying out Gaussian elimination based on linear transformation on the generated matrix, converting the previous A = K-L column into a unit matrix, and obtaining a system form of the cyclic redundancy check generated matrix:
G' CRC =[I A×A |P A×L ];
the corresponding system form check matrix is:
Figure BDA0001812099970000073
the partial generator matrix using the L '(0. Ltoreq. L'. Ltoreq.L) bit cyclic redundancy check is:
Figure BDA0001812099970000074
wherein, A ' = K-L ', G ' CRC Represented as a set of column vectors g 1 ,g 2 ,g 3 ,…,g K-1 ,g K Is then P A×L 'is G' CRC The matrix consisting of the last L' columns, i.e. P A×L ′={g K-L′+1 ,g K-L′+2 ,…,g K-1 ,g K }; then the a' × N joint generator matrix of the partial cyclic redundancy check and low density parity check code is:
G=G″ CRC ×G LDPC
BPSK modulation signal x n =1-2c n ,n∈[1,N]Zero mean variance σ 2 Obtaining a received signal sequence Y = { Y) according to the Gaussian white noise channel n |y n =x n +w n ,n∈[1,N]In which w n Is zero mean variance σ 2 The corresponding hard decision sequence is recorded as
Figure BDA0001812099970000081
Figure BDA0001812099970000082
Step 2, adopting an iterative decoding method based on belief propagation to the received signal sequence Y, such as a standard or corrected sum-product decoding method or a simplified minimum sum decoding method; the iteration times are recorded as t, and the likelihood ratio output of each variable node in each iteration is
Figure BDA0001812099970000083
Accumulating the accumulated likelihood ratio output up to now according to the following equation
Figure BDA0001812099970000084
Wherein the cumulative likelihood ratio is initially all zero, the parameter alpha, alpha is more than or equal to 0 and less than or equal to 1 is a preset weighting coefficient,
Figure BDA0001812099970000085
performing symbol hard judgment on the output information of each variable node of the current iteration according to the following formula to obtain an output sequence C t
Figure BDA0001812099970000086
If the sequence satisfies all check equations and the first K bits of the sequence satisfy cyclic redundancy check, that is:
Figure BDA0001812099970000087
wherein, theta is an all-zero vector; the iterative decoding result will be output as the final decoding
Figure BDA0001812099970000088
Simultaneously terminating the decoding of the frame; otherwise, if the current iteration time t does not reach the maximum iteration time t max If yes, continuing iterative decoding, updating the output of the accumulated likelihood ratio, adding one to the iteration times, t + +, and repeating the step 2;
step 3, if the iterative decoding reaches the maximum iterative times t max Then all check equations still can not be satisfied, and the likelihood ratio accumulated by each iteration in iterative decoding is utilized to output
Figure BDA0001812099970000089
As reliability information of each bit, according to the absolute value of the cumulative likelihood ratio at each node
Figure BDA00018120999700000810
In descending order, a sort pi is made for the nodes and the corresponding columns of the joint generating matrix 1 To obtain a new node sequence pi 1 (V) sum generating matrix π 1 (G) (ii) a Gauss-canceling new generator matrix due to correlation between generator matrix columnsRequiring a second rearrangement of the columns by π 2 And finally obtaining a new generating matrix:
Figure BDA0001812099970000091
and the corresponding node sequence pi 21 (V)); will node sequence pi 21 (V)) the first N-K-L' nodes according to
Figure BDA0001812099970000092
Makes a hard decision on the symbol:
Figure BDA0001812099970000093
obtaining an information sequence
Figure BDA0001812099970000094
Traversing and turning the first N-K-L' information bit symbols with the order of s, namely selecting all possible 0-s bit combinations to share
Figure BDA0001812099970000095
Figure BDA0001812099970000096
Bit flipping to obtain P s A sequence of information
Figure BDA0001812099970000097
Respectively corresponding to the generated matrix
Figure BDA0001812099970000098
Multiplying to obtain a codeword
Figure BDA0001812099970000099
Rearranging for two more times to obtain all P s Individual code words:
Figure BDA00018120999700000910
to pair
Figure BDA00018120999700000911
Using the initial received sequence Y and its hard decision sequence C 0 Comparing Euclidean distances, and reserving the code word with the minimum Euclidean distance as the output of the sequencing statistical decoding
Figure BDA00018120999700000912
For the first K bits of the output sequence, i.e. the information bit m OSD And performing CRC check, namely:
H' CRC m OsD mod 2=θ;
the final decoded output is satisfied as above
Figure BDA00018120999700000913
If not, outputting a decision error which can not finish decoding to the upper stage.
Has the advantages that: the beneficial effects of the invention are mainly embodied in the following aspects:
1) The cyclic redundancy check is divided into two parts of functions, one part of the cyclic redundancy check has the function of feeding back an error detection result to an upper-level system, and the other part of the cyclic redundancy check assists OSD error correction, so that the decoding performance is further improved.
2) The joint generation matrix of the cyclic redundancy check auxiliary and the LDPC can be determined in the initialization stage, and compared with the common OSD decoding, the method does not bring extra time delay and computational complexity.
3) Under the condition that BP iterative decoding can not obtain correct output, the performance of the original high-order OSD can be obtained by using CRC to assist low-order OSD decoding, the operation complexity caused by the high-order OSD is avoided, and the decoding performance is ensured.
Drawings
FIG. 1 (a) is a schematic diagram of the connection of check nodes and variable nodes;
FIG. 1 (b) is a schematic diagram of a variable node connected to a check node participating therein;
FIG. 1 (c) is a schematic diagram of a check node connected to a variable node contained therein;
FIG. 2 is a flowchart of a CRC-assisted iterative statistical sequencing decoding method;
FIG. 3 is a process flow diagram of an OSD decoding method;
FIG. 4 is a graph of frame error rate and decision error rate for a 5G defined BG-2 base matrix constructed 2/3 rate (360, 240) LDPC code, partially CRC assisted BP-OSD decoding, over an AWGN channel;
FIG. 5 is a graph of frame error rate and rate of false positives for a (180, 120) LDPC code under partial CRC assisted BP-OSD decoding and different order BP-OSD decoding.
All the symbols note:
CRC: cyclic redundancy check;
OSD: a sequencing statistical decoding method;
BP: a belief propagation decoding algorithm;
n: a total code block length of the LDPC code;
k: the information bit length of the LDPC code;
w: maximum iteration times of BP decoding;
r: code rate of the LDPC code;
l: total length of CRC;
l': a partial CRC length to assist decoding;
s: the order of the OSD;
v n : an nth variable node;
s m : the mth check node;
Figure BDA0001812099970000111
inversely coding the obtained code word;
Figure BDA0001812099970000112
code words obtained by twice rearrangement after inverse coding;
Figure BDA0001812099970000113
performing two times of sequencing and finishing the joint generation matrix of Gaussian elimination;
g: a joint generating matrix formed by a part of CRC generating matrix and LDPC generating matrix;
v: and (5) variable node collection.
Detailed Description
The invention is further described below with reference to the accompanying drawings:
the invention aims at providing a sorting statistical decoding method assisted by partial cyclic redundancy check, which is characterized in that for a low-density parity check code of which one information bit meets the cyclic redundancy check, a system generator matrix is formed according to a generator polynomial of the cyclic redundancy check, and the matrix is divided into two parts, wherein one part is used for detecting a decoding result, and the other part is used for assisting decoding; multiplying a part of CRC generating matrix of the auxiliary decoding by a generating matrix of the low-density parity check code to obtain a joint generating matrix; in the iterative decoding process, node reliability is defined according to the amplitude of the likelihood ratio accumulated value output by all variable nodes through iteration, the nodes and the columns of the joint generation matrix are sorted in a descending order according to the reliability, and the matrix after the column sorting is subjected to Gaussian elimination; combining a joint system generation matrix obtained by Gaussian elimination, and coding the sequenced reliable node information sequences to obtain a group of candidate code words; if the iterative decoding does not obtain the final output, selecting and receiving the code with the minimum sequence Euclidean distance from each group of candidate code words; performing CRC on the information bits of the code, and if the information bits of the code meet the CRC, outputting the code as decoding; otherwise, the decoding is judged to be failed. The error correction performance of the LDPC code is greatly enhanced while the CRC error detection function is kept.
Fig. 1 (a) is a diagram of a bipartite graph structure of an LDPC code, i.e., a connection diagram of check nodes and variable nodes, where the variable nodes and the check nodes are denoted as v and s, respectively. FIG. 1 (b) is a variable node v n And the connection schematic of the check nodes participating in the check nodes and the likelihood ratio information transmitted between the nodes. FIG. 1 (c) shows a check node s m Node connection schematic with variable contained therein, and nodeLikelihood ratio information of the transfer.
Fig. 2 is a flow chart of a partial CRC assisted BP-OSD decoding method. Calculating a joint generating matrix in advance according to the generating matrix of the LDPC code and the generating polynomial of the CRC, and initializing a coding sequence; after each BP decoding iteration, accumulating and storing likelihood ratios, judging whether a hard judgment sequence of a current result simultaneously meets a check matrix and CRC, if so, outputting the result, and otherwise, continuing to iterate until the iteration times reach a preset maximum value; and performing OSD decoding on the accumulated likelihood ratio, wherein the inverse coding matrix selects a pre-calculated joint generation matrix, and finally, the output of the OSD decoding is taken as an output result.
FIG. 3 is a diagram for sorting the input accumulated likelihood ratios, i.e., the reliability, in the order from high to low, and only the indexes may be sorted to save the storage and the computation amount; and performing Gaussian elimination on the sequenced joint generating matrix from left to right, if linearly related columns (namely all zero columns) appear, putting the columns and corresponding node values to the end of the matrix, sequentially shifting the rest columns forward by one bit, and finally obtaining the corresponding system generating matrix by the newly sequenced joint generating matrix. And (4) performing coding and Euclidean moment calculation by using the sequenced sequence and the generator matrix, and reserving the corresponding code word with the minimum Euclidean moment.
FIG. 4 is a graph of frame error rate performance and corresponding CRC error decision for a 5G defined BG-2 base matrix constructed 2/3 rate (360, 240) LDPC code, partially CRC assisted BP-OSD decoding under an AWGN channel. As can be seen from the figure, when the 16-bit CRC auxiliary decoding is selected, the performance is about 0.08dB better than that of the common first-order BP-OSD algorithm and about 0.2dB better than that of the common BP algorithm; meanwhile, the residual 8-bit CRC can judge the correctness of decoding and feed back to the upper level, and the omission factor is controlled within 1%.
FIG. 5 is a graph of the frame error rate performance of the partial CRC-assisted BP-OSD algorithm for a 2/3 rate (180, 120) LDPC code in an AWGN channel. As can be seen from comparison, at K =120, the 16-bit CRC-assisted 1 st BP-OSD decoding has a performance equivalent to that of the conventional 2 nd BP-OSD decoding, but the decoding efficiency of the former is much higher than that of the latter, for example, at 2.5dB, the 16-bit CRC-assisted 1 st BP-OSD decoding rate is about 5.6 ms/frame, and the decoding rate of the conventional 2 nd BP-OSD is about 55 ms/frame, which is nearly ten times higher.
The invention aims at the LDPC codes with 2/3 code rate (360, 240) and 2/3 code rate (180, 120) constructed by BG-2 base matrix defined in 5G protocol to implement partial CRC-assisted sequencing statistical decoding, taking the LDPC codes with 2/3 code rate (360, 240) as an example, each code word and decoding parameter are set as follows:
N=360,K=240,R=2/3,W=100,L=24;
g(D)=D 24 +D 23 +D 18 +D 17 +D 14 +D n +D 10
+D 7 +D 6 +D 5 +D 4 +D 3 +D+1;
according to the definition of the cyclic code, the generator polynomial of the CRC is converted into a generator matrix of 216 × 240 in size, and is cancelled into a systematic generator matrix by gaussian cancellation. Taking L' =16 as an example, the 16-bit CRC generation matrix is composed of a 224 × 224 unit matrix, an 8 × 8 all-zero matrix, and a 216 × 8 matrix P, where the matrix P is composed of the last 8 columns of the system generation matrix.
The 16-bit CRC generator matrix is multiplied by the LDPC system generator matrix of 240 × 360 in size to obtain a CRC-LDPC joint matrix, which is to be used as an inverse coding matrix of the OSD method.
The system adopts binary phase shift keying BPSK modulation to obtain a sending sequence, and the sending sequence is transmitted through an additive white Gaussian noise AWGN channel, and a receiving end demodulates the sending sequence to obtain a reliability sequence represented by a logarithmic natural ratio.
Adopting standard sum-product iterative (BP) decoding to the received sequence, judging whether the decoding is correct or not through an LDPC check matrix and a CRC check matrix, and if so, directly outputting the decoding; otherwise, OSD decoding is carried out.
The OSD decoding method is as described above, and the difference is only in the replacement of the inverse coding matrix. The OSD decoding output result still needs CRC check, the number of actually used check bits is only 24-16=8 bits, the check and error detection capability is reduced compared with the complete CRC-24, but the error rate can still reach below 1%, as shown by the dotted line in fig. 4 and 5. If the result can meet the CRC check, outputting a decoding result; otherwise, outputting decoding failure, requesting retransmission to the upper level, and the like.
The invention has the main innovation points that the error detection capability of the information bit CRC is reserved, and meanwhile, the error correction performance is improved; the adopted mode is not to use the CRC error detection capability to assist in judging and selecting codes, but uses a part of CRC matrixes and generator matrixes to multiply to generate a combined generator matrix to replace a reverse coding matrix in OSD decoding; from the experimental results, the decoding performance is improved without increasing the complexity of the system.

Claims (1)

1. A partial cyclic redundancy check assisted sequencing statistical decoding method is characterized in that: the method specifically comprises the following steps:
systematic generator matrix G for defining low density parity check code LDPC And system check matrix H LDPC The corresponding set of bipartite graph variable nodes is V = { V = n ,n∈[1,N]}; information sequence m = { m k ,k∈[1,K]Comprises K-L bit information bits and L bit cyclic redundancy check bits, the generator polynomial of the L bit cyclic redundancy check is
Figure FDA0001812099960000011
Coding sequence C = { C n ,n∈[1,N]And satisfies C = m · G LDPC
Step 1, initialization: the generator polynomial of the L-bit cyclic redundancy check is expressed in the form of a generator matrix of (K-L) multiplied by K:
Figure FDA0001812099960000012
and (3) carrying out Gaussian elimination based on linear transformation on the generated matrix, converting the previous A = K-L column into a unit matrix, and obtaining a system form of the cyclic redundancy check generated matrix:
G′ CRC =[I A×A |P A×L ];
the corresponding system form check matrix is:
Figure FDA0001812099960000013
the partial generator matrix using the L '(0. Ltoreq. L'. Ltoreq.L) bit cyclic redundancy check is:
Figure FDA0001812099960000014
wherein, A ' = K-L ', G ' CRC Represented as a set of column vectors g 1 ,g 2 ,g 3 ,…,g K-1 ,g K Is then P A×L′ Is G' CRC The matrix consisting of the last L' columns, i.e. P A×L′ ={g K-L′+1 ,g K-L′+2 ,…,g K-1 ,g K }; then the a' × N joint generator matrix of the partial cyclic redundancy check and low density parity check code is:
G=G″ CRC ×G LDPC
BPSK modulation signal x n =1-2c n ,n∈[1,N]Zero mean variance σ 2 Obtaining a received signal sequence Y = { Y) according to the Gaussian white noise channel n |y n =x n +w n ,n∈[1,N]In which w n Is zero mean variance σ 2 The corresponding hard decision sequence is recorded as
Figure FDA0001812099960000021
Figure FDA0001812099960000022
Step 2, adopting an iterative decoding method based on belief propagation to the received signal sequence Y, such as a standard or corrected sum-product decoding method or a simplified minimum sum decoding method; the iteration times are recorded as t, and the likelihood ratio output of each variable node in each iteration is
Figure FDA0001812099960000023
Adding up to the previous accumulation according toProduct-likelihood ratio output
Figure FDA0001812099960000024
Wherein the cumulative likelihood ratio is initially all zero, the parameter alpha, alpha is more than or equal to 0 and less than or equal to 1 is a preset weighting coefficient,
Figure FDA0001812099960000025
performing symbol hard judgment on the output information of each variable node of the current iteration according to the following formula to obtain an output sequence C t
Figure FDA0001812099960000026
If the sequence satisfies all check equations and the first K bits of the sequence satisfy cyclic redundancy check, that is:
Figure FDA0001812099960000027
wherein, theta is an all-zero vector; the iterative decoding result will be the final decoding output
Figure FDA0001812099960000028
Simultaneously terminating the decoding of the frame; otherwise, if the current iteration time t does not reach the maximum iteration time t max If yes, continuing iterative decoding, updating the output of the accumulated likelihood ratio, adding one to the iteration times, t + +, and repeating the step 2;
step 3, if the iterative decoding reaches the maximum iterative times t max All check equations still can not be satisfied, and likelihood ratio output accumulated by each iteration in iterative decoding is utilized
Figure FDA0001812099960000029
As reliability information of each bit, according to the absolute value of the cumulative likelihood ratio at each node
Figure FDA00018120999600000210
In descending order, a sort pi is made for the nodes and the corresponding columns of the joint generating matrix 1 To obtain a new node sequence pi 1 (V) sum generating matrix π 1 (G) (ii) a Gaussian elimination is carried out on a new generator matrix, and due to the correlation characteristic between generator matrix columns, a second-time column rearrangement of pi is required 2 And finally obtaining a new generating matrix:
Figure FDA0001812099960000031
and the corresponding node sequence pi 21 (V)); will node sequence pi 21 (V)) the first N-K-L' nodes according to
Figure FDA0001812099960000032
Makes a hard decision on the symbol:
Figure FDA0001812099960000033
obtaining an information sequence
Figure FDA0001812099960000034
Traversing and turning the first N-K-L' information bit symbols with the order of s, namely selecting all possible 0-s bit combinations to share
Figure FDA0001812099960000035
Figure FDA0001812099960000036
Performing bit flipping to obtain P s A sequence of information
Figure FDA0001812099960000037
Respectively corresponding to the generated matrix
Figure FDA0001812099960000038
Multiplying to obtain a codeword
Figure FDA0001812099960000039
Rearrangement twice to obtain all P s Individual code words:
Figure FDA00018120999600000310
for is to
Figure FDA00018120999600000311
Using the initial received sequence Y and its hard decision sequence C 0 Comparing Euclidean distances, and reserving the code word with the minimum Euclidean distance as the output of the sequencing statistical decoding
Figure FDA00018120999600000312
For the first K bits of the output sequence, i.e. the information bit m OSD Performing CRC check, namely:
H′ CRC m OSD mod 2=θ;
the final decoding output is satisfied by the above formula
Figure FDA00018120999600000313
If not, outputting a decision error which can not finish decoding to the upper stage.
CN201811124827.8A 2018-09-26 2018-09-26 Partial cyclic redundancy check assisted sequencing statistical decoding method Active CN109981112B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811124827.8A CN109981112B (en) 2018-09-26 2018-09-26 Partial cyclic redundancy check assisted sequencing statistical decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811124827.8A CN109981112B (en) 2018-09-26 2018-09-26 Partial cyclic redundancy check assisted sequencing statistical decoding method

Publications (2)

Publication Number Publication Date
CN109981112A CN109981112A (en) 2019-07-05
CN109981112B true CN109981112B (en) 2022-11-18

Family

ID=67075996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811124827.8A Active CN109981112B (en) 2018-09-26 2018-09-26 Partial cyclic redundancy check assisted sequencing statistical decoding method

Country Status (1)

Country Link
CN (1) CN109981112B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020151835A1 (en) * 2019-01-25 2020-07-30 Huawei Technologies Co., Ltd. Combined belief propgation (bp) and ordered statistics decoding (osd) for concatenated codes
CN110912565B (en) * 2019-11-28 2021-07-06 北京航空航天大学 SC-Flip decoding method based on parity check
CN111917420B (en) * 2020-08-25 2023-07-04 广东省新一代通信与网络创新研究院 LDPC self-adaptive decoding method and LDPC self-adaptive decoder
CN112615765B (en) * 2021-01-06 2023-01-31 中国人民解放军63863部队 Novel bit error rate calculation method
CN113055024B (en) * 2021-03-10 2022-11-25 东南大学 Correction decoding method for short-block long-low-code-rate LDPC code of 5G-NR system
CN113285722B (en) * 2021-05-21 2022-07-22 西南大学 Multi-deviation segmented redundancy check auxiliary statistical decoding method for short polarization code
CN113872609B (en) * 2021-09-30 2024-03-26 东南大学 Partial cyclic redundancy check-assisted adaptive belief propagation decoding method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859013A (en) * 2006-06-09 2006-11-08 东南大学 Low density odd-even check code iterative sequencing statistical decoding method
CN104025459A (en) * 2012-11-15 2014-09-03 华为技术有限公司 Decoding processing method and decoder

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5509165B2 (en) * 2011-08-24 2014-06-04 株式会社東芝 Error correction coding apparatus, error correction decoding apparatus, nonvolatile semiconductor memory system, and parity check matrix generation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859013A (en) * 2006-06-09 2006-11-08 东南大学 Low density odd-even check code iterative sequencing statistical decoding method
CN104025459A (en) * 2012-11-15 2014-09-03 华为技术有限公司 Decoding processing method and decoder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LDPC编译码算法分析;雷婷等;《无线电工程》;20121005(第10期);全文 *

Also Published As

Publication number Publication date
CN109981112A (en) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109981112B (en) Partial cyclic redundancy check assisted sequencing statistical decoding method
CN108462558B (en) Method and device for decoding polarization code SCL and electronic equipment
JP5177767B2 (en) Method and apparatus for decoding LDPC code in Galois field GF (Q)
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
JP3923618B2 (en) Method for converting information bits having error correcting code and encoder and decoder for performing the method
US8918694B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
JP4389373B2 (en) Decoder for iterative decoding of binary cyclic code
CN101039119B (en) Encoding and decoding methods and systems
JP3893383B2 (en) LDPC code parity check matrix generation method and parity check matrix generation apparatus
US11784668B2 (en) Decoding fec codewords using ldpc codes define by a parity check matrix which is defined by rpc and qc constraints
CN103259545B (en) Quasi-cyclic low density odd-even check code belief propagation decoding method based on oscillation
US20050149840A1 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
CN109075803B (en) Polar code encoding with puncturing, shortening and extension
JP4155539B2 (en) Information transmission method and apparatus, and storage medium
CN109347487B (en) Bit freezing auxiliary-based polar code SCL decoding method
US20060036933A1 (en) Method and apparatus for encoding and decoding data
US20060031744A1 (en) Method and apparatus for encoding and decoding data
US20060036932A1 (en) Method and apparatus for encoding and decoding data
US20070220395A1 (en) Method and apparatus for encoding and decoding data
CN111106839A (en) Polarization code decoding method and device based on neural network
WO2018179246A1 (en) Check bit concatenated polar codes
CN114785357A (en) BPL decoding algorithm based on CRC-LDPC-Polar cascade system
Tonnellier et al. Towards practical near-maximum-likelihood decoding of error-correcting codes: An overview
JP2006060695A (en) Information decoding and encoding method,information communication method, information decoding device, transmitting device, and information communication system
CN112104379B (en) Polarization code confidence propagation dynamic overturning decoding method based on key set

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