CN108880564B - Low-density parity check code decoding method with cache fault-tolerant capability - Google Patents

Low-density parity check code decoding method with cache fault-tolerant capability Download PDF

Info

Publication number
CN108880564B
CN108880564B CN201810668860.0A CN201810668860A CN108880564B CN 108880564 B CN108880564 B CN 108880564B CN 201810668860 A CN201810668860 A CN 201810668860A CN 108880564 B CN108880564 B CN 108880564B
Authority
CN
China
Prior art keywords
soft information
decoding
current soft
group
bits
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
CN201810668860.0A
Other languages
Chinese (zh)
Other versions
CN108880564A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201810668860.0A priority Critical patent/CN108880564B/en
Publication of CN108880564A publication Critical patent/CN108880564A/en
Application granted granted Critical
Publication of CN108880564B publication Critical patent/CN108880564B/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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention provides a decoding method of a low-density parity check code with cache fault-tolerant capability, belonging to the field of communication coding. Firstly, taking channel soft information as decoding input and setting the quantization bit width of each numerical value of the channel soft information; grouping the channel soft information as current soft information, carrying out self-adaptive embedded coding on each group of grouped current soft information and outputting new each group of current soft information; performing embedded decoding on each group of current soft information, and outputting soft information obtained by decoding each group; performing variable node operation on all decoding soft information to obtain new current soft information: and if the upper limit of the iteration times is reached, judging the current soft information and outputting the soft information as decoding. The invention can enable the LDPC decoding method to have the cache fault-tolerant capability under the conditions of not occupying additional storage resources and hardly losing the decoding performance, and improves the robustness of the LDPC decoding method.

Description

Low-density parity check code decoding method with cache fault-tolerant capability
Technical Field
The invention belongs to the field of communication coding, and particularly relates to a low-density parity check code decoding method with cache fault-tolerant capability.
Background
Communication coding, also known as channel coding, is one of the most fundamental modules of modern communication systems. The basic principle is that redundant information is added to original data at a communication sending end according to a specific constraint relation and sent to a communication receiving end, the communication receiving end decodes the received data according to the constraint relation, specific transmission errors in communication are eliminated by using the redundant information, and the reliability of the communication is guaranteed.
Low-Density Parity-Check (LDPC) coding is a channel coding scheme close to the theoretical limit of shannon, and has the characteristics of parallel operation and Low implementation complexity. As one of the currently mainstream coding schemes, low density parity check coding is selected by the international committee for consulting space data systems as a coding scheme of a spatial data communication standard for satellite communication, and is also selected as a coding scheme of a next generation mobile communication 5G standard.
The flow chart of the decoding method of the existing LDPC code is shown in FIG. 1, and the method mainly comprises the following steps:
(1) the channel soft information is used as decoding input and is cached by a buffer to be current soft information, and the channel soft information is information which is received by a receiver after being interfered.
(2) Setting the initial iteration number k to be 0, and setting an upper limit of the iteration number;
(3) and performing variable node operation on the current soft information, and caching the new current soft information obtained by operation by the buffer.
(4) And (3) judging the iteration times: if the upper limit of the preset iteration times is reached, judging the variable node operation output in the step (3) and outputting the judgment as decoding; and (5) if the preset iteration number is not reached, entering the step (5).
(5) And (4) performing check node operation on the current soft information obtained in the step (3), updating the current soft information into new current soft information, caching again to enable k to be k +1, and then returning to the step (3).
In the soft information decoding iteration process of the LDPC code, a large amount of intermediate soft information is generated, a large-scale buffer is required to be occupied for buffering, the hardware reliability of the buffer is relatively low, the method has no buffer fault-tolerant capability, and the read-write error of data is easy to occur. Particularly in aerospace applications such as satellite communication and the like, due to the impact of high-energy particles in an outer space, the buffer is easy to generate a single-particle effect, and the single-particle effect is expressed as logic inversion or permanent damage of a storage region. In an aircraft, however, the damaged components are often not repaired or replaced. In this context, it is necessary to design the buffer fault tolerance of the LDPC decoding method.
In the existing LDPC decoding method, the error correction coding scheme is utilized to introduce extra storage resources in a certain proportion to carry out error correction protection on data, such as BCH coding and the like. Since LDPC decoding itself occupies a large amount of memory resources, the system is further burdened by the scaling-in of extra memory.
The data cached in the LDPC decoding process are all bit quantized values of soft information, typical quantization bits are 4 to 7 bits, and generally, the more the quantization bits, the more accurate the data representation, and the better the decoding performance. The most significant bit represents the sign and the remaining bits represent the absolute value. For LDPC decoding, the sign bit carries the most significant decoding information, while the lower bits represent quantization precision only and carry a relatively small amount of information. In the existing scheme, certain quantization precision is sacrificed, the most important sign bit is protected, and the robustness of the decoding method can be realized under the condition of not introducing extra storage.
An LDPC decoding method with embedded coding adopting triple modular redundancy protection is provided. The overall flow is shown in fig. 2, and the method comprises the following steps:
(1) the channel soft information is recorded as current soft information as a decoded input,
(2) setting the initial iteration number k to be 0, and setting the upper limit of the iteration number;
(3) performing triple modular redundancy embedded coding on the current soft information, and updating the current soft information; namely: and (3) taking the 2-bit low-order bit of each soft information to carry out triple modular redundancy protection on the self sign bit of the soft information, if the 6-bit quantization of the soft information is taken as an example, carrying out 3-bit triple modular redundancy protection on the sign bit, carrying out 3-bit quantization on an absolute value, and entering the step (4) after the completion.
(4) Caching the updated current soft information output in the step (3), and entering the step (5);
(5) reading the current soft information cached in the step (4), and carrying out the triple modular redundancy embedded decoding, wherein the current soft information can be correctly decoded as long as the 3 bits protected by the triple modular redundancy in the step (3) are in accordance with more than 2 bits which are not staggered simultaneously. And (5) outputting the decoded soft information as new current soft information, and entering the step (6).
(6) Performing variable node operation on the current soft information output in the step (5) and judging: if k does not reach the upper limit of the preset iteration times, entering the step (7); and if the upper limit of the preset iteration times is reached, judging the variable node operation output and taking the variable node operation output as decoding output, and ending the decoding.
(7) Repeating the steps (3) to (5), carrying out triple modular redundancy embedded coding on the current soft information, caching, then carrying out triple modular redundancy embedded coding, updating the current soft information, and entering the step (8) after the triple modular redundancy embedded coding is finished;
(8) performing check node operation on the current soft information, and updating the current soft information;
(9) and k is made k +1, and then the step (3) is returned again.
Because the triple modular redundancy protection scheme needs to occupy 2 low-order bits to carry out triple modular redundancy protection on the sign bit, the quantization precision is lost, the decoding performance is obviously reduced, meanwhile, the method adopts simpler triple modular redundancy to protect the sign bit, the error correction performance is poorer, and the capacity of resisting cache errors is very limited.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a low-density parity check code decoding method with cache fault-tolerant capability. The invention can enable the LDPC decoding method to have the cache fault-tolerant capability under the conditions of not occupying additional storage resources and hardly losing the decoding performance, and improves the robustness of the LDPC decoding method.
The invention provides a decoding method of a low-density parity check code with cache fault-tolerant capability, which is characterized by comprising the following steps of:
(1) taking the channel soft information as decoding input, and enabling the quantization bit width of each numerical value of the channel soft information to be W bits, wherein the 1 st bit represents a sign bit, and the 2 nd to W bits represent absolute values;
(2) taking the channel soft information input in the step (1) as current soft information, setting the initial iteration number k to be 0, and setting the upper limit of the iteration number;
(3) grouping the current soft information, carrying out self-adaptive embedded coding on each group of grouped current soft information and outputting the soft information; the method comprises the following specific steps:
(3-1) grouping the current soft information according to the number M, wherein M is the information bit length of the self-adaptive embedded coding;
(3-2) performing self-adaptive embedded coding on each group of current soft information after grouping and outputting, wherein the specific steps are as follows:
(3-2-1) calculating the mean value T of M numerical values formed by bits from 2 nd to W in each group of current soft information, and respectively setting a fixed value L1 as a first adaptive threshold value and a fixed value L2 as a second adaptive threshold value, wherein L1 is more than or equal to 0 and L2 is more than or equal to 0 and is less than or equal to L2 and is less than or equal to the quantization range;
(3-2-2) respectively comparing the average value T of each group of current soft information with the size relation of L1 and L2 and judging:
if T is less than L1, the current soft information is not self-adaptive embedded coded, and the original value of the current soft information is directly output, and then the step (4) is carried out;
if T is more than or equal to L1 and less than L2, the memory space of M least significant bits is occupied, the coding of 1/2 code rate is carried out on the M sign bits of the group of current soft information, the numerical values of the original M least significant bits are cut off, the group of coded soft information is output as new current soft information, and the step (4) is carried out;
if L2 is less than or equal to T, the storage space of 2M lowest two bits is occupied to carry out 1/3 code rate coding on the M sign bit of the group of current soft information, the numerical values of the original 2M lowest two bits are omitted, the group of coded soft information is output as new current soft information, and the step (4) is carried out;
(4) caching each group of current soft information output in the step (3), and entering the step (5);
(5) reading each group of current soft information of the cache, carrying out embedded decoding, and outputting soft information obtained by decoding each group; the method comprises the following specific steps:
(5-1) updating the mean value T of M numerical values formed by 2 nd to W th bits of quantization bits in each group of current soft information;
(5-2) respectively comparing the average value T of each group of current soft information obtained in the step (5-1) with the size relationship of L1 and L2 and judging:
if T is less than L1, the current soft information is not decoded in-line, and the original value of the current soft information is directly output as the soft information obtained by decoding the current soft information, and then the step (6) is carried out;
if T is more than or equal to L1 and less than L2, decoding a 1/2 code rate code word formed by M sign bit and M lowest bit of the group of current soft information, randomly filling the M lowest bit, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6);
if L2 is less than or equal to T, decoding a code word with a code rate of 1/3, which is formed by M sign bit bits and 2M lowest two bit bits of the group of current soft information, randomly filling numerical values of the 2M lowest two bit bits, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6);
(6) performing variable node operation on all soft information obtained by decoding in the step (5) to obtain new current soft information, and judging the iteration times k: if k does not reach the upper limit of the iteration times, entering the step (7); if k reaches the upper limit of the iteration times, judging new current soft information obtained by the variable node operation and outputting the new current soft information as decoding, and ending the decoding;
(7) repeating the step (3) to the step (5), performing self-adaptive embedded coding on the soft information, caching the soft information, performing embedded decoding after reading the soft information from the cache, updating the current soft information, and entering the step (8);
(8) performing check node operation on the current soft information, and updating the current soft information;
(9) and (5) making k equal to k +1, and returning to the step (3) again.
The invention has the characteristics and beneficial effects that:
in the LDPC decoding process, the absolute value of soft information cached in the initial stage of iteration is small, and at the moment, low-order quantization bits representing data precision are important; as the iteration progresses, the soft information gradually converges to a larger absolute value, where the sign bit of the data is more important and the low quantization bit is less important. The invention fully utilizes the dynamic characteristics in the LDPC decoding process to carry out self-adaptive sign bit dynamic protection, can obviously reduce the loss of quantization precision, and ensures the decoding performance under the condition of not occupying additional storage. In addition, the characteristics of partial parallel decoding of the quasi-cyclic LDPC code are utilized to carry out grouping and packaging on sign bits, and an embedded coding scheme which is more efficient than the triple modular redundancy is introduced, so that the cache fault-tolerant capability of the LDPC decoding method can be further improved.
Aiming at soft information cache errors in the LDPC decoding process, the invention fully utilizes the change of the importance of soft information quantization bits and dynamically utilizes low-order bits of data to encode and protect sign bit, so that the cache error probability in the LDPC decoding process can reach 10-3The normal decoding capability is still provided. Meanwhile, the LDPCThe decoding method does not introduce additional cache resources, obviously reduces the cache resource consumption of fault-tolerant design, improves the robustness of the LDPC decoding method, and has higher practical value.
Drawings
Fig. 1 is a flowchart of a conventional LDPC decoding method.
FIG. 2 is a flow chart of a conventional triple modular redundancy protection embedded coding LDPC decoding method.
FIG. 3 is an overall flow chart of the method of the present invention.
Fig. 4 is a schematic diagram of an embedded coding structure according to an embodiment of the present invention.
FIG. 5 is a diagram of a (48,16) Hamming product code construction used in the present example.
FIG. 6 is a comparison graph of the performance simulation of the method of the present invention and other decoding methods in the embodiment of the present invention.
Detailed Description
The invention provides a decoding method of low-density parity check codes with cache fault-tolerant capability, which is further described in detail below with reference to the accompanying drawings and specific embodiments.
The invention provides a decoding method of a low-density parity check code with cache fault-tolerant capability, the whole flow is shown as figure 3, and the decoding method comprises the following steps:
(1) the channel soft information is used as decoding input, the quantization bit width of each numerical value of the channel soft information is W bits, W is generally 4-7, wherein the 1 st bit represents a sign bit, and the 2 nd to W bits represent absolute values.
(2) Taking the channel soft information input in the step (1) as current soft information, setting the initial iteration number k to be 0, and setting the upper limit of the iteration number, wherein the upper limit of the iteration number is generally 5-20 times;
(3) grouping the current soft information, carrying out self-adaptive embedded coding on each group of grouped current soft information and outputting the soft information; the method comprises the following specific steps:
(3-1) grouping the current soft information according to a fixed number M, wherein M is the information bit length of the adaptive embedded coding and can be determined according to a specific adaptive embedded coding scheme;
(3-2) performing self-adaptive embedded coding on each group of current soft information after grouping and outputting, wherein the specific steps are as follows:
(3-2-1) calculating a mean value T of M values formed by bits from 2 nd to W (the mean value T of each group of current soft information is different) in each group of current soft information, and respectively setting a fixed value L1 as a first adaptive threshold value and a fixed value L2 as a second adaptive threshold value (L1 is greater than or equal to 0 and less than or equal to L2 and less than or equal to a quantization range, wherein the quantization range is the size of the soft information when all quantization bits take 1).
(3-2-2) respectively comparing the average value T of each group of current soft information with the size relation of L1 and L2 and judging:
if T is less than L1, the current soft information is not self-adaptive embedded coded, and the original value of the current soft information is directly output, and then the step (4) is carried out;
if T is more than or equal to L1 and less than L2, the memory space of M least significant bits is occupied, the coding of 1/2 code rate is carried out on the M sign bits of the group of current soft information, the numerical values of the original M least significant bits are cut off, the group of coded soft information is output as new current soft information, and the step (4) is carried out;
and if L2 is less than or equal to T, using the storage space of 2M lowest two bits to carry out 1/3-bit-rate coding on the M sign bits of the group of current soft information, eliminating the numerical values of the original 2M lowest two bits, outputting the group of coded soft information as new current soft information, and entering the step (4).
(4) Caching each group of current soft information output in the step (3), and entering the step (5);
(5) reading each group of current soft information of the cache, carrying out embedded decoding, and outputting soft information obtained by decoding each group; the method comprises the following specific steps:
(5-1) updating the mean value T of M numerical values formed by 2 nd to W th bits of quantization bits in each group of current soft information;
(5-2) respectively comparing the average value T of each group of current soft information obtained in the step (5-1) with the size relationship of L1 and L2 and judging:
if T is less than L1, the current soft information is not decoded in-line, and the original value of the current soft information is directly output as the soft information obtained by decoding the current soft information, and then the step (6) is carried out;
if T is more than or equal to L1 and less than L2, decoding a 1/2 code rate code word formed by M sign bit and M lowest bit of the group of current soft information, randomly filling the M lowest bit, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6);
and (4) if L2 is less than or equal to T, decoding a code word with a code rate of 1/3, which is formed by the M sign bit bits and the 2M lowest two bit bits of the group of current soft information, randomly filling the numerical values of the 2M lowest two bit bits, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6).
(6) Performing variable node operation on all soft information obtained by decoding in the step (5) to obtain new current soft information, and judging the iteration times k: if k does not reach the upper limit of the iteration times (generally 5-20 times), entering the step (7); and if k reaches the upper limit of the iteration times, judging the new current soft information obtained by the variable node operation and outputting the new current soft information as decoding, and ending the decoding.
(7) Repeating the step (3) to the step (5), performing self-adaptive embedded coding on the soft information, caching the soft information, performing embedded decoding after reading the soft information from the cache, updating the current soft information, and entering the step (8);
(8) performing check node operation on the current soft information, and updating the current soft information;
(9) and (5) making k equal to k +1, and returning to the step (3) again.
The structure diagram of the embedded code in the invention is shown in figure 4, and is (3 n) composed of (2n, n) algebraic code2,n2) Product code, n stands for integer. In fig. 4, the gray circles represent information bits of the adaptive embedded code, i.e., symbol bits of the soft information to be protected, and the white circles represent check bits of the adaptive embedded code, i.e., low-order bits of the occupied soft information.
When T is more than or equal to L1 and less than L2, namely the embedded coding needs to carry out coding and decoding operation with 1/2 code rates, only n groups (2n, n) of algebraic codes in the row direction are adopted to carry out coding and decoding with 1/2 code rates, and because n groups of codes are mutually independent, the total coding and decoding process only needs to carry out coding and decoding of the algebraic codes for n times in sequence. And when L2 is less than or equal to T, namely the embedded coding needs to carry out the coding operation with 1/3 code rate, 2n groups (2n, n) of algebraic codes in all row and column directions are adopted to carry out the coding and decoding with 1/3 code rate. The total encoding process is still to complete the encoding of 2n groups of independent algebraic codes in turn. The overall decoding process is carried out according to the following two steps:
the method comprises the following steps: and (5) iterative decoding of the subcodes. For (3 n)2,n2) The product code is first decoded by (2n, n) algebraic code according to the row and column directions. Stopping after performing row and column decoding iteration of a preset number of rounds.
Step two: and (6) outputting the judgment. Let R be the set of error (2n, n) codeword sequences in the row direction after iteration stop, and correspondingly, C be the set of error codeword sequences in the column direction. And (4) judging: 1. if at least one of R, C is empty set, iteratively decoding n2All information bits are defined as decoding bits and then output; 2. if R, C are all single element sets, and the element values are i and j, then the bit at the (i, j) position is logically inverted, and n is set2All information ratios are defined as decoded bits and then output; 3. if R, C is otherwise the case, all bits at position (i, j) are defined as erasure bits and the remaining bits are defined as decoded bit outputs. Because sign bits of soft information are involved in the embedded coding and decoding, the sign bits are defined as soft information of decoding bits, and the existing values of the soft information are reserved to continue to participate in LDPC iteration. And sign bit is defined as that the soft information of the deleted bit is cleared and then continues to participate in LDPC iteration.
The invention is further illustrated in detail below with reference to a specific example:
the embodiment provides a decoding method of low-density parity check codes with cache fault-tolerant capability, which comprises the following steps: :
(1) the channel soft information is used as a decoding input, and the channel soft information is information which is received by a receiver after being interfered. The channel soft information is quantized by 6 bits.
(2) Taking the channel soft information input in the step (1) as current soft information, setting the initial iteration number k to be 0, and setting the upper limit of the iteration number to be 5;
(3) grouping the current soft information and carrying out self-adaptive embedded coding on each group of grouped current soft information; the method comprises the following specific steps:
(3-1) grouping the current soft information according to a fixed number M (in this embodiment, M is 16), and after grouping, each group of current soft information includes 16 numerical values;
(3-2) performing self-adaptive embedded coding on each group of current soft information after grouping, and specifically comprising the following steps:
(3-2-1) calculating an average value T of 16 values formed by 2 nd to 6 th quantization bits in each set of current soft information, and respectively setting a fixed value L1-3 as a first adaptive threshold value and a fixed value L2-6.
(3-2-2) respectively comparing the average value T of each group of current soft information with the size relation of L1 and L2 and judging:
if T is less than 3, the group of current soft information is not subjected to self-adaptive embedded coding, and the original value of the group of current soft information is directly output, and the step (4) is carried out;
if T is more than or equal to 3 and less than 6, the storage space of 16 lowest bits is occupied, 1/2-code-rate coding is carried out on the 16 sign bits of the group of current soft information, the original value of 16 lowest bits is omitted, the group of coded soft information is output as new current soft information, and the step (4) is carried out;
if T is more than or equal to 6, the 16 sign bit of the group of current soft information is coded with 1/3 code rate by occupying the storage space of 32 lowest two bits, the original 32 lowest two bits are omitted, the group of coded soft information is output as new current soft information, and the step (4) is entered.
(4) Caching each group of current soft information output in the step (3), and entering the step (5);
(5) reading each group of current soft information of the cache and carrying out embedded decoding; the method comprises the following specific steps:
(5-1) updating the mean value T of 16 values formed by 2 nd to 6 th quantization bits in each group of current soft information;
(5-2) respectively comparing the average value T of each group of current soft information obtained in the step (5-1) with the size relationship of L1 and L2 and judging:
if T is less than 3, the group of current soft information is not subjected to embedded decoding, the original value of the group of current soft information is directly output as the soft information obtained by decoding the group of current soft information, and the step (6) is carried out;
if T is more than or equal to 3 and less than 6, decoding 1/2 code rate code words formed by 16 sign bit and 16 lowest bit of the group of current soft information, randomly filling the 16 lowest bit, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6);
if T is more than or equal to 6, decoding the 1/3 code word formed by the 16 sign bit bits and the 32 lowest two bit bits of the group of current soft information, randomly filling the numerical values of the 32 lowest two bit bits, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6).
(6) Performing variable node operation on all soft information obtained by decoding in the step (5) to obtain new current soft information, and judging the iteration times k: if k does not reach the upper limit of the iteration times of 5, entering the step (7); and if k reaches the upper limit of the iteration times of 5, judging the new current soft information obtained by the variable node operation and outputting the new current soft information as decoding, and ending the decoding.
(7) Repeating the step (3) to the step (5), performing self-adaptive embedded coding on the soft information, caching the soft information, performing embedded decoding after reading the soft information from the cache, updating the current soft information, and entering the step (8);
(8) performing check node operation on the current soft information, and updating the current soft information;
(9) and (5) making k equal to k +1, and returning to the step (3) again.
The construction method of the embedded code in this embodiment is shown in fig. 5, which is a (48,16) hamming product code composed of (8.4) hamming code, wherein 16 gray circles represent information bits (i.e. 16 sign bits in a set of soft information) arranged in a 4 × 4 matrix, and the (8,4) hamming code encoding is performed in both row and column directions, so as to generate 32-bit check bits (i.e. white circles in fig. 5) altogether, thereby constituting the hamming product code structure of (48, 16). Wherein (8.4) the generating matrix G and the check matrix H of the Hamming code are respectively:
Figure BDA0001708571960000081
Figure BDA0001708571960000091
(8,4) the hamming distance of the hamming code is 4, so that 1-bit errors can be corrected; for 2-bit errors, only codeword errors can be determined and the error bit cannot be located.
When L is1≤T<L2That is, when the embedded codec requires the encoding/decoding operation with 1/2 code rates, only 4 sets (8,4) of hamming codes in the row direction are used for encoding/decoding with 1/2 code rates, and since 4 sets of codes are independent, the total encoding/decoding process only needs to sequentially perform the encoding/decoding of 4 sets of hamming codes. When L is2T is less than or equal to T, namely when the cache write/read processor needs to carry out coding/decoding operation with 1/3 code rates, 8 groups (8,4) of Hamming codes in all row and column directions are adopted to carry out coding/decoding with 1/3 code rates. The total coding process still needs to finish the coding of 8 groups of Hamming codes in sequence. The overall decoding process is carried out according to the following two steps:
the method comprises the following steps: and (5) iterative decoding of the subcodes. For the (48,16) hamming product code, the (8,4) hamming code is first decoded in both row and column directions. Stopping after a plurality of rounds of row and column decoding iterations. In this example, the decoding is set to stop after two rounds of row and column iterative decoding.
Step two: and (6) outputting the judgment. Let R be the set of wrong (8,4) Hamming code codeword sequences in the row direction after iteration stop, correspondingly, C be the set of wrong codeword sequences in the column direction, have
Figure BDA0001708571960000092
And (4) judging: 1. if at least one of the R, C is an empty set, defining the 16 information bits after iterative decoding as decoding bits and then outputting the decoding bits; 2. if R, C are all single element sets and the element values are i and j, the bit at (i, j) position is logically inverted and 16 information ratios are obtainedAre defined as decoded bits and then output; 3. if R, C is otherwise, all bits at the (i, j) position (i ∈ R, j ∈ C) are defined as erasure bits, and the remaining bits are defined as decoded bit outputs.
As shown in fig. 6, the performance simulation comparison between the LDPC decoding method according to the present invention and the LDPC decoding methods according to the other two methods without using the cache error rate is performed. Wherein the abscissa represents the signal-to-noise ratio of the system and the ordinate represents the bit error rate.
Figure BDA0001708571960000093
Representing the LDPC decoding performance in the case of buffer error-free.
Figure BDA0001708571960000094
Representing 6-bit soft information quantization, no buffer protection and a buffer error rate of 10-3The decoding performance of the time.
Figure BDA0001708571960000095
Representing 6-bit soft information quantization, no buffer protection and a buffer error rate of 10-4The decoding performance of the time.
Figure BDA0001708571960000096
Representing 6 bits of soft information quantization, 4 bits for data characterization, 2 bits for sign bit protection and a buffer error rate of 10-3The decoding performance of the time.
Figure BDA0001708571960000097
Representing 6 bits of soft information quantization, 4 bits for data characterization, 2 bits for sign bit protection and a buffer error rate of 10-4The decoding performance of the time.
Figure BDA0001708571960000098
Representing 6-bit soft information quantization, the method of the invention is adopted and the cache error rate is 10-3The decoding performance of the time.
Figure BDA0001708571960000099
Represents6 bit soft information quantization, using the method of the invention and a cache error rate of 10-4The decoding performance of the time. As can be seen from FIG. 6, the LDPC decoding method with cache fault tolerance provided by the invention can enable the cache error probability in the LDPC decoding process to be as high as 10-3Under the condition of the buffer protection, the decoding work can still be carried out efficiently, the robustness to the buffer error is higher, and no extra storage resource is introduced to protect the buffer.

Claims (1)

1. A decoding method of low density parity check codes with cache fault tolerance capability is characterized by comprising the following steps:
(1) taking the channel soft information as decoding input, and enabling the quantization bit width of each numerical value of the channel soft information to be W bits, wherein the 1 st bit represents a sign bit, and the 2 nd to W bits represent absolute values;
(2) taking the channel soft information input in the step (1) as current soft information, setting an initial iteration number k to be 0, and setting an upper limit of the iteration number, wherein the upper limit of the iteration number is 5-20 times;
(3) grouping the current soft information, carrying out self-adaptive embedded coding on each group of grouped current soft information and outputting the soft information; the method comprises the following specific steps:
(3-1) grouping the current soft information according to the number M, wherein M is the information bit length of the self-adaptive embedded coding;
(3-2) performing self-adaptive embedded coding on each group of current soft information after grouping and outputting, wherein the specific steps are as follows:
(3-2-1) calculating the mean value T of M numerical values formed by bits from 2 nd to W in each group of current soft information, and respectively setting a fixed value L1 as a first adaptive threshold value and a fixed value L2 as a second adaptive threshold value, wherein L1 is more than or equal to 0 and L2 is more than or equal to 0 and is less than or equal to L2 and is less than or equal to the quantization range;
(3-2-2) respectively comparing the average value T of each group of current soft information with the size relation of L1 and L2 and judging:
if T is less than L1, the current soft information is not self-adaptive embedded coded, and the original value of the current soft information is directly output, and then the step (4) is carried out;
if T is more than or equal to L1 and less than L2, the memory space of M least significant bits is occupied, the coding of 1/2 code rate is carried out on the M sign bits of the group of current soft information, the numerical values of the original M least significant bits are cut off, the group of coded soft information is output as new current soft information, and the step (4) is carried out;
if L2 is less than or equal to T, the storage space of 2M lowest two bits is occupied to carry out 1/3 code rate coding on the M sign bit of the group of current soft information, the numerical value of the original 2M lowest two bits is removed, the group of coded soft information is output as new current soft information, the step (4) is carried out,
the first adaptive threshold value L1 is 3, the second adaptive threshold value L2 is 6,
the generation matrix of the adaptive embedded coded (8,4) Hamming code is
Figure FDA0003186677410000011
The check matrix is
Figure FDA0003186677410000021
(4) Caching each group of current soft information output in the step (3), and entering the step (5);
(5) reading each group of current soft information of the cache, carrying out embedded decoding, and outputting soft information obtained by decoding each group; the method comprises the following specific steps:
(5-1) updating the mean value T of M numerical values formed by 2 nd to W th bits of quantization bits in each group of current soft information;
(5-2) respectively comparing the average value T of each group of current soft information obtained in the step (5-1) with the size relationship of L1 and L2 and judging:
if T is less than L1, the current soft information is not decoded in-line, and the original value of the current soft information is directly output as the soft information obtained by decoding the current soft information, and then the step (6) is carried out;
if T is more than or equal to L1 and less than L2, decoding a 1/2 code rate code word formed by M sign bit and M lowest bit of the group of current soft information, randomly filling the M lowest bit, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6);
if L2 is less than or equal to T, decoding a code word with a code rate of 1/3, which is formed by M sign bit bits and 2M lowest two bit bits of the group of current soft information, randomly filling numerical values of the 2M lowest two bit bits, outputting the soft information obtained by decoding the group of current soft information, and entering the step (6);
(6) performing variable node operation on all soft information obtained by decoding in the step (5) to obtain new current soft information, and judging the iteration times k: if k does not reach the upper limit of the iteration times, entering the step (7); if k reaches the upper limit of the iteration times, judging new current soft information obtained by the variable node operation and outputting the new current soft information as decoding, and ending the decoding;
(7) repeating the step (3) to the step (5), performing self-adaptive embedded coding on the soft information, caching the soft information, performing embedded decoding after reading the soft information from the cache, updating the current soft information, and entering the step (8);
(8) performing check node operation on the current soft information, and updating the current soft information;
(9) and (5) making k equal to k +1, and returning to the step (3) again.
CN201810668860.0A 2018-06-26 2018-06-26 Low-density parity check code decoding method with cache fault-tolerant capability Active CN108880564B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810668860.0A CN108880564B (en) 2018-06-26 2018-06-26 Low-density parity check code decoding method with cache fault-tolerant capability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810668860.0A CN108880564B (en) 2018-06-26 2018-06-26 Low-density parity check code decoding method with cache fault-tolerant capability

Publications (2)

Publication Number Publication Date
CN108880564A CN108880564A (en) 2018-11-23
CN108880564B true CN108880564B (en) 2021-09-24

Family

ID=64294928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810668860.0A Active CN108880564B (en) 2018-06-26 2018-06-26 Low-density parity check code decoding method with cache fault-tolerant capability

Country Status (1)

Country Link
CN (1) CN108880564B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195655A (en) * 2011-02-25 2011-09-21 山东大学 Quasi-cyclic LDPC (Low Density Parity Check) decoder and decoding method thereof
CN107423161A (en) * 2017-07-24 2017-12-01 山东华芯半导体有限公司 Applied to the adaptive LDPC code error-correcting code system and method in flash memory
CN108092671A (en) * 2017-12-27 2018-05-29 南京大学 A kind of NB-LDPC code coding methods of high-performance low complex degree
CN108183713A (en) * 2017-12-15 2018-06-19 南京大学 Ldpc decoder and its interpretation method based on modified minimum-sum algorithm

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197249B2 (en) * 2012-10-09 2015-11-24 Nec Laboratories America, Inc. Adaptive LDPC-coded multidimensional spatial-MIMO multiband generalized OFDM
TWI592937B (en) * 2016-07-05 2017-07-21 大心電子(英屬維京群島)股份有限公司 Decoding method, memory storage device and memory control circuit unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195655A (en) * 2011-02-25 2011-09-21 山东大学 Quasi-cyclic LDPC (Low Density Parity Check) decoder and decoding method thereof
CN107423161A (en) * 2017-07-24 2017-12-01 山东华芯半导体有限公司 Applied to the adaptive LDPC code error-correcting code system and method in flash memory
CN108183713A (en) * 2017-12-15 2018-06-19 南京大学 Ldpc decoder and its interpretation method based on modified minimum-sum algorithm
CN108092671A (en) * 2017-12-27 2018-05-29 南京大学 A kind of NB-LDPC code coding methods of high-performance low complex degree

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Design and Analysis of Adaptive Message Coding on LDPC Decoder with Faulty Storage;Guangjun Ge等;《Wireless Communications and Mobile Computing》;20180113;第1-14页 *

Also Published As

Publication number Publication date
CN108880564A (en) 2018-11-23

Similar Documents

Publication Publication Date Title
KR100641052B1 (en) LDPC encoder and decoder, and method for LDPC encoding and decoding
US8756479B2 (en) LDPC multi-decoder architectures
US8560930B2 (en) Systems and methods for multi-level quasi-cyclic low density parity check codes
CN101958720B (en) Encoding and decoding methods for shortening Turbo product code
WO2010073922A1 (en) Error correction encoding apparatus, decoding apparatus, encoding method, decoding method, and programs thereof
KR20130029080A (en) Multiple programming of flash memory without erase
US20070162821A1 (en) Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus
US20130147645A1 (en) Encoding methods and systems for binary product codes
US9397706B1 (en) System and method for irregular multiple dimension decoding and encoding
CN1756090B (en) Channel encoding apparatus and method
US8566665B2 (en) Systems and methods for error correction using low density parity check codes using multiple layer check equations
CN108880564B (en) Low-density parity check code decoding method with cache fault-tolerant capability
CN101847447A (en) Memory controller, storage controlling method and data access arrangement
US20070186139A1 (en) Interleaving method for low density parity check encoding
US8751914B2 (en) Encoding method of TLDPC codes utilizing treillis representations of the parity check equations and associated encoding device
US8443250B2 (en) Systems and methods for error correction using irregular low density parity check codes
KR101484066B1 (en) Ldpc code decoding method
CN113131947B (en) Decoding method, decoder and decoding device
KR20140006444A (en) Encoding, decoding, and multi-stage decoding circuits and methods for concatenated bch code, error correct circuit of flash memory device using the same, and flash memory device using the same
KR101476049B1 (en) Method for restoring of puncturing date using LDPC Decoding system and apparatus thereof
WO2019229846A1 (en) Transmitter, receiver, communication system, and coding rate revision method
CN113037296A (en) LDPC (Low Density parity check) cascade-based coding and decoding method and device
WO2020139234A1 (en) Performance enhancement of polar codes for short frame lengths considering error propagation effects
RU2811072C1 (en) Decoding method, decoder and decoding device
US12119841B2 (en) G-LDPC decoder and G-LDPC decoding method

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