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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013139 quantization Methods 0.000 claims abstract description 31
- 230000003044 adaptive effect Effects 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
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
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:
(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, haveAnd (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.Representing the LDPC decoding performance in the case of buffer error-free.Representing 6-bit soft information quantization, no buffer protection and a buffer error rate of 10-3The decoding performance of the time.Representing 6-bit soft information quantization, no buffer protection and a buffer error rate of 10-4The decoding performance of the time.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.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.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.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
The check matrix is
(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.
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)
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)
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 |
-
2018
- 2018-06-26 CN CN201810668860.0A patent/CN108880564B/en active Active
Patent Citations (4)
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)
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 |