Method of encoding structured low density check code

A coding method and check code technology, which are applied in error detection coding using multi-bit parity bits, error correction/detection using block codes, digital transmission systems, etc., and can solve the problem that the shortest loop period is not well solved problem, to achieve good general applicability, good frame error rate performance, and the effect of reducing storage space

Inactive Publication Date: 2008-03-12
BEIJING UNIV OF POSTS & TELECOMM +1
0 Cites 47 Cited by

AI-Extracted Technical Summary

Problems solved by technology

[0016] However, how to construct such an LDPC code with as few short loops as possible and as large a shortest loop pe...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The utility model discloses a structured encoding method of low density parity checking code encoder. The rows mb and lines mb basic matrix Hb that needs to contracture are confirmed according to the requirements of code rate and code length, the weight distribution of the matrix Hb is determined by the density evolution algorithm. An original basic matrix Hb<>MASK<> that matches and has the same structure with the with the basic matrix Hb is formed; a basic matrix Hb is generated according to the original matrix Hb<>MASK<> for storage; then the basic matrix Hb is modified to become a basic matrix Hb' so as to make all element value inside the modified basic matrix Hb'smaller than the extension factor Z of the low density parity code; the modified basic matrix Hb'is extended to gain the parity matrix H of the (mb is multipled by Z) row and (nb is multipled by Z)that is used in actual encoding. Finally, the data is encoded with the parity matrix H to obtain structured low density parity checking code. The coding method is simple and practical and a low density checking code that has a plurality of code length and excellent frame error rate performance.

Application Domain

Technology Topic

Image

  • Method of encoding structured low density check code
  • Method of encoding structured low density check code
  • Method of encoding structured low density check code

Examples

  • Experimental program(1)

Example Embodiment

[0043] In order to make the objectives, technical solutions and advantages of the present invention clearer, the specific steps, features and performances of the method of the present invention are further described in detail below with reference to the accompanying drawings and embodiments.
[0044] Referring to Fig. 3, the coding method of the structured low-density check code of the present invention is introduced, and the method comprises the following operation steps:
[0045] Step 1: Determine the basic matrix H that needs to be constructed according to the requirements of the code rate R and the code length N b the number of rows m b and the number of columns n b , and use the density evolution algorithm to determine the fundamental matrix H b The column weight distribution of The length M is a positive integer.
[0046] In the embodiment of the present invention, the selected code rate is 1/2, m b =16, n b = 32, and then use the density evolution algorithm to obtain the fundamental matrix H b The column weight distribution is: 0.25x 2 +0.25x 3 +0.125x 4 +0.0625x 8 +0.1875x 16; That is, the ratio of the number of columns with column weights of 2, 3, 4, 8, and 16 to the total number of columns is 0.25, 0.25, 0.125, 0.0625, and 0.1875, respectively.
[0047] Step 2, construct a base matrix H with b The corresponding original fundamental matrix H with the same structure b MASK : the original fundamental matrix H b MASK is also an m b line n b matrix of columns with column weights equal to the underlying matrix H b the same; the original fundamental matrix H b MASK is composed of m corresponding to the information bits b line k b The first submatrix A of the column and m corresponding to the parity bits b row m b The second submatrix B consists of columns, i.e. H b MASK = [ A | B ] .
[0048] In the embodiment of the present invention, the second sub-matrix B adopts a quasi-double-lower triangular structure, that is, the column weight of the first column of the sub-matrix is ​​3, and the rest is a double-lower triangle structure (see FIG. 5). Then, according to the structure of the second sub-matrix B and the original fundamental matrix H b MASK to construct the first sub-matrix A, and then combine the first sub-matrix A and the second sub-matrix B to form the original basic matrix H b MASK. At this time, the progressive edge addition algorithm or other effective means can be used to satisfy the original basis H b MASK The shortest loop period of is maximized, that is, the shortest loop period ≥ 4, and the number of short loops is minimized.
[0049] In addition, the second sub-matrix B can also be constructed in other structural forms. For example, the second submatrix B is constructed in the form of a strictly lower triangular structure or a lower triangular structure.
[0050] Should H b MASK =
[0051] 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
[0052] The original fundamental matrix H b MASK The elements in the value are all "0" or "1", in the original fundamental matrix H by b MASK Generate the fundamental matrix H b , "0" means no matrix operation, "1" means there is matrix operation.
[0053] (3) According to the original fundamental matrix H b MASK Generate the fundamental matrix H b : First fill "-1" to the original fundamental matrix H b MASK In the position of "0", then in the original fundamental matrix H b MASKThe offsets of different cyclic shift matrices are configured at the positions of "1", thereby obtaining the fundamental matrix H b.
[0054] The following describes how to configure and select the offset:
[0055] First, the fundamental matrix H b seen as consisting of m corresponding to the information bits b row (n b -m b ) column of the systematic bit submatrix H b system and m corresponding to the parity bits b row m b Check bit submatrix H for columns b parity consists of: H b = [ H b system | H b parity ] ;
[0056] Then, the first sub-matrix A and the second sub-matrix B are transformed respectively to obtain the system position sub-matrix H b system sum check bit submatrix H b parity; At this time, for the column element in the second sub-matrix B whose column weight is 3, the middle "1" position is filled with a positive integer, and the remaining "1" positions are filled with "0". In the first submatrix A, the offset value filled at the "1" position is calculated using the following quadratic term: h ij b = ( 1 × i 2 + 0 × j 2 + 11 × i × j + 13 × i + 50 × j + 50 ) mod ( z max ) where h ij b is the system seat matrix H b system The element in row i and column j in . The expansion factor z can take the maximum value z max =565, mod is the remainder operator. The H constructed by this method b The shortest loop period ≥ 6.
[0057] System seat matrix H b system =
[0058] 50 - 1 - 1 - 1 - 1 - 1 350 - 1 - 1 500 - 1 - 1 - 1 135 185 235 - 1 125 - 1 - 1 - 1 - 1 - 1 491 - 1 - 1 109 - 1 - 1 292 353 414 - 1 - 1 224 - 1 - 1 - 1 - 1 - 1 91 - 1 - 1 307 - 1 451 523 30 - 1 - 1 - 1 347 - 1 - 1 31 - 1 - 1 - 1 363 - 1 - 1 47 130 213 118 - 1 - 1 - 1 - 1 23 - 1 - 1 - 1 - 1 - 1 22 - 1 210 304 398 - 1 - 1 - 1 - 1 560 - 1 - 1 - 1 415 - 1 60 - 1 - 1 375 480 20 - 1 280 - 1 - 1 - 1 - 1 - 1 - 1 - 1 78 - 1 310 - 1 542 93 209 - 1 - 1 - 1 6 - 1 - 1 - 1 514 - 1 - 1 - 1 - 1 19 146 273 400 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 192 - 1 - 1 - 1 179 317 455 28 - 1 - 1 546 - 1 - 1 - 1 - 1 - 1 - 1 459 - 1 - 1 341 490 74 223 - 1 - 1 - 1 195 355 - 1 - 1 - 1 - 1 - 1 - 1 345 - 1 100 260 420 - 1 485 - 1 - 1 - 1 - 1 - 1 - 1 552 - 1 - 1 - 1 106 277 448 54 - 1 - 1 - 1 - 1 - 1 130 - 1 - 1 - 1 293 - 1 - 1 274 456 73 255 - 1 - 1 209 - 1 - 1 - 1 416 - 1 - 1 - 1 - 1 - 1 444 72 265 458 - 1 - 1 - 1 - 1 114 - 1 - 1 161 - 1 - 1 - 1 - 1 51 255 459 98 - 1 - 1 - 1 - 1 - 1 415 - 1 - 1 - 1 - 1 360 - 1 225 440 90 305
[0059] Check bit matrix H b parity =
[0060] 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 180 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0
[0061] (4) For the fundamental matrix H obtained in the above steps b carry out storage processing;
[0062] (5) For the fundamental matrix H b Perform correction processing to obtain the corrected and transformed fundamental matrix H b ′, so that the revised fundamental matrix H b The values ​​of all elements in ' are less than the spreading factor z of the low-density check code; the modified and transformed fundamental matrix H b The element in row i and column j in ' (h ij b ) modified The calculation formula is: In the formula,  is the operation symbol that is rounded down, and the expansion factor is an upward rounding operation symbol, K is the length of information bits, K b is the column weight in the first submatrix A corresponding to the information bits; for example, when K=5114,
[0063] The modified and transformed fundamental matrix H obtained at this time b ' is also composed of a systematic bit sub-matrix and a parity bit sub-matrix, where the systematic bit matrix is: H b ′ system =
[0064] 28 - 1 - 1 - 1 - 1 - 1 198 - 1 - 1 283 - 1 - 1 - 1 76 104 133 - 1 70 - 1 - 1 - 1 - 1 - 1 278 - 1 - 1 61 - 1 - 1 165 199 234 - 1 - 1 126 - 1 - 1 - 1 - 1 - 1 51 - 1 - 1 173 - 1 255 296 16 - 1 - 1 - 1 196 - 1 - 1 17 - 1 - 1 - 1 205 - 1 - 1 26 73 120 66 - 1 - 1 - 1 - 1 13 - 1 - 1 - 1 - 1 - 1 12 - 1 118 172 225 - 1 - 1 - 1 - 1 317 - 1 - 1 - 1 235 - 1 33 - 1 - 1 212 271 11 - 1 158 - 1 - 1 - 1 - 1 - 1 - 1 - 1 44 - 1 175 - 1 306 52 118 - 1 - 1 - 1 3 - 1 - 1 - 1 291 - 1 - 1 - 1 - 1 10 82 154 226 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 108 - 1 - 1 - 1 101 179 257 15 - 1 - 1 - 1 309 - 1 - 1 - 1 - 1 - 1 259 - 1 - 1 193 277 41 126 - 1 - 1 - 1 110 201 - 1 - 1 - 1 - 1 - 1 - 1 195 - 1 56 147 237 - 1 274 - 1 - 1 - 1 - 1 - 1 - 1 312 - 1 - 1 - 1 60 156 253 30 - 1 - 1 - 1 - 1 - 1 73 - 1 - 1 - 1 165 - 1 - 1 155 258 41 144 - 1 - 1 118 - 1 - 1 - 1 235 - 1 - 1 - 1 - 1 - 1 251 40 150 259 - 1 - 1 - 1 - 1 64 - 1 - 1 91 - 1 - 1 - 1 - 1 28 144 259 55 - 1 - 1 - 1 - 1 - 1 235 - 1 - 1 - 1 - 1 203 - 1 127 249 50 172
[0065] The check digit matrix is: H b ′ parity =
[0066] 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 101 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0
[0067] (6) For the corrected transformed m b line n b Columns of the fundamental matrix H b ' to expand to get the (m b ×z) line (n b ×z) column check matrix H;
[0068] (7) Using the check matrix H to encode the data to be encoded to obtain a structured low-density parity check code.
[0069] LDPC is a special linear block code. In the process of communication transmission, in order to ensure a certain error correction ability, each time a codeword with a packet length of N bits is sent, which needs to be entrained) to send M check bits, and each codeword is required to satisfy Hx T =0 T (x represents a codeword), where H is an M×N-dimensional parity check matrix on the binary field. All operations are performed on binary fields, where addition and subtraction are XOR operations, and multiplication is an AND operation.
[0070] The direct coding method of the system block code is to divide a codeword x into N-M information bits s and M check bits c, and correspondingly, divide the M×N check matrix H into M×N corresponding to the information bits. (N-M) matrix H 1 and the M×M matrix H corresponding to the parity bits 2 , that is, H=[H 1 |H 2 ]. According to H×x=0, we can get: [ H 1 | H 2 ] × [ s c ] = 0 .
[0071] So we can get H 1 ×s+H 2 ×c=0, further deduce c = H 2 - 1 H 1 s . When the matrix H 2 Using special matrix structures, such as strict lower triangular structure, double lower triangular structure, etc., then H 2 -1 It has a very simple form, the check bit part c in the codeword can be obtained directly according to the above calculation formula, and the encoder can be guaranteed to have linear complexity.
[0072] The operation steps for encoding using the extended check matrix H proposed by the method of the present invention are as follows:
[0073] Step 1: Perform elementary row transformation on the check matrix H, add all the rows in the check matrix H to the first row, and calculate the first block of the check code;
[0074] Step 2: Calculate other check digits by recursive method.
[0075] Referring to FIG. 6 , in order to identify the transmission performance of the low-density parity check code compiled by the method of the present invention, the AWGN channel model is used to simulate the transmission performance of the low-density parity check code constructed in the embodiment. The following simulation system parameter table lists the settings of various parameters of the embodiment used for testing and analyzing performance. The figure shows the difference between the frame error rate (FER) and the signal-to-noise ratio (Eb/No) of the low-density parity-check code with a code rate of 1/2 and the information bit length of 5114 and the turbo code. The performance comparison curve relationship between them.
[0076] parameter name
[0077] parameter name
[0078] The dotted line in Fig. 6 is the transmission performance curve of the Turbo code, and the solid line is the transmission performance curve of the low-density check code. It can be seen from FIG. 6 that the frame error rate performance of the low-density check code constructed by the present invention is good: when the information bit length is 5114, the frame error rate is 10 -2 When , the low-density check code has a gain of 0.3dB more than the Turbo code.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Message transmission method and device

ActiveCN104168222ASave storage spaceReduce overheadData switching networksReal-time computingTernary content addressable memory
Owner:NEW H3C TECH CO LTD

Classification and recommendation of technical efficacy words

Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products