CN104579366A - High-speed QC (quasi-cyclic)-LDPC (low-density parity-check) encoder on basis of three levels of flow lines in WPAN (wireless personal area network) - Google Patents

High-speed QC (quasi-cyclic)-LDPC (low-density parity-check) encoder on basis of three levels of flow lines in WPAN (wireless personal area network) Download PDF

Info

Publication number
CN104579366A
CN104579366A CN201510049690.4A CN201510049690A CN104579366A CN 104579366 A CN104579366 A CN 104579366A CN 201510049690 A CN201510049690 A CN 201510049690A CN 104579366 A CN104579366 A CN 104579366A
Authority
CN
China
Prior art keywords
vector
matrix
equal
cyclic
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510049690.4A
Other languages
Chinese (zh)
Other versions
CN104579366B (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.)
RONGCHENG DINGTONG ELECTRONIC INFORMATION TECHNOLOGY Co Ltd
Original Assignee
RONGCHENG DINGTONG ELECTRONIC INFORMATION TECHNOLOGY Co Ltd
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 RONGCHENG DINGTONG ELECTRONIC INFORMATION TECHNOLOGY Co Ltd filed Critical RONGCHENG DINGTONG ELECTRONIC INFORMATION TECHNOLOGY Co Ltd
Priority to CN201510049690.4A priority Critical patent/CN104579366B/en
Publication of CN104579366A publication Critical patent/CN104579366A/en
Application granted granted Critical
Publication of CN104579366B publication Critical patent/CN104579366B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

The invention provides a high-speed QC (quasi-cyclic)-LDPC (low-density parity-check) encoder on the basis of three-level assembly lines in a WPAN (wireless personal area network). The high-speed QC-LDPC encoder comprises a sparse matrix and vector multiplier, a type-I backward iterative circuit and a type-II backward iterative circuit. Sparse matrix and vector multiply operation can be implemented by the aid of the sparse matrix and vector multiplier, and backward iterative operation can be implemented by the aid of the type-I backward iterative circuit and the type-II backward iterative circuit. Each integral encoding procedure is divided into the three levels of flow lines. The high-speed QC-LDPC encoder with the 1/2 code rate in a WPAN system has the advantages of simple structure, low cost, high throughput and the like.

Description

High-speed QC-LDPC encoder based on three-stage pipeline in WPAN
Technical Field
The invention relates to the field of channel coding, in particular to a high-speed QC-LDPC encoder based on a three-level pipeline in a WPAN system.
Background
A Low-Density Parity-Check (LDPC) code is one of the efficient channel coding techniques, and a Quasi-Cyclic LDPC (Quasi-Cyclic LDPC, QC-LDPC) code is a special LDPC code. The generation matrix G and the check matrix H of the QC-LDPC code are both arrays formed by cyclic matrixes, have the characteristic of segmented circulation, and are called the QC-LDPC code. The first row of the circulant matrix is the result of the cyclic right shift of the last row by 1 bit, and the remaining rows are the result of the cyclic right shift of the last row by 1 bit, so that the circulant matrix is completely characterized by its first row. Typically, the first row of the circulant matrix is referred to as its generator polynomial.
The communication system usually adopts QC-LDPC code of system form, its left half of generating matrix G is a identity matrix, the right half is by e x c b x b rank cyclic matrix Gi,j(0≤i<e,e≤j<t, t ═ e + c), as follows:
where I is a b × b order identity matrix and 0 is a b × b order all-zero matrix. Successive b rows and b columns of G are referred to as block rows and block columns, respectively. From equation (1), G has e block rows and t block columns. The WPAN standard uses a QC-LDPC code with code rate η of 1/2 for which t is 32, e is 16, c is 16, and b is 21.
The existing solution for the 1/2 code rate QC-LDPC encoder in the WPAN standard is a serial encoder based on 16 Type-I Shift-Register-Adder-Accumulator (SRAA-I) circuits. The serial encoder, which consists of 16 SRAA-I circuits, completes the encoding within 336 clock cycles. This scheme requires 672 registers, 336 two-input and gates and 336 two-input xor gates, and also requires 5376-bit ROM to store the generator polynomial of the circulant matrix. This solution has two drawbacks: firstly, a large amount of memory is needed, resulting in high circuit cost; and secondly, information bits are input serially, so that the encoding speed is low.
Disclosure of Invention
The invention provides a high-speed QC-LDPC encoder based on a three-stage pipeline, aiming at the technical problems that the existing implementation scheme of an 1/2 code rate QC-LDPC encoder in a WPAN system has the defects of high cost and low encoding speed.
As shown in fig. 2, the high-speed QC-LDPC encoder based on three-stage pipeline in WPAN system is mainly composed of 3 parts: a sparse matrix and vector multiplier, a type I backward iteration circuit and a type II backward iteration circuit. The encoding process is completed in 3 steps: step 1, calculating vectors f and w by using a sparse matrix and a vector multiplier; step 2, calculating vectors q and x by using an I-type backward iterative circuit to obtain a partial check vector pxX; and 3, calculating the vector y by using a II type backward iterative circuit, and performing exclusive OR on the vector y and the vector q to obtain a partial check vector pySo as to obtain check vector p ═ p (p)x,py)。
The 1/2 code rate high-speed QC-LDPC encoder in the WPAN system provided by the invention has a simple structure, does not need a memory, and can obviously improve the encoding speed, thereby reducing the cost and improving the throughput.
The advantages and methods of the present invention will be further understood by reference to the following detailed description and drawings.
Drawings
FIG. 1 is a schematic diagram of an approximate lower triangular check matrix after row-column swapping;
FIG. 2 is a QC-LDPC encoding process based on a three-stage pipeline;
FIG. 3 is a sparse matrix and vector multiplier;
FIG. 4 shows the connection relationship between each multi-input XOR gate and the register in the multiplier of the sparse matrix and the vector;
FIG. 5 is a type I backward iteration circuit;
FIG. 6 shows the block positions of the non-zero circulant matrix in the matrix Q and the circulant right-shift number thereof;
FIG. 7 is a type II backward iteration circuit;
FIG. 8 shows the block positions of the non-zero circulant matrix in matrix Y and its circulant right shift;
fig. 9 summarizes the hardware resources and processing time required for each encoding step of the encoder and the entire encoding process.
Detailed Description
The following detailed description of the preferred embodiments of the present invention, taken in conjunction with the accompanying drawings, will make the advantages and features of the invention easier to understand by those skilled in the art, and thus will clearly and clearly define the scope of the invention.
The row weight and column weight of the circulant matrix are the same and denoted as w. If w is 0, then the circulant matrix is an all-zero matrix. If w is 1, the circulant matrix is replaceable, called the permutation matrix, which can be obtained by right-shifting the identity matrix I cyclically by a few bits. The check matrix H of the QC-LDPC code is a cyclic matrix H of order b x b formed by c x tj,k(1. ltoreq. j. ltoreq. c, 1. ltoreq. k. ltoreq. t, t. e + c) in the following array:
in general, any cyclic matrix in the check matrix H is either an all-zero matrix (w ═ 0) or a permutation matrix (w ═ 1). Let the cyclic matrix Hj,kFirst line g ofj,k=(gj,k,1,gj,k,2,…,gj,k,b) Is its generator polynomial of which gj,k,m0 or 1 (1. ltoreq. m. ltoreq. b). Since H is sparse, gj,kThere are only 1 ' and even no ' 1 '.
For the QC-LDPC code with 1/2 code rates in the WPAN system, the first 16 block columns of H correspond to an information vector a, and the last 16 block columns of H correspond to a check vector p. With b bits as one segment, the information vector a is equally divided into 16 segments, i.e. a ═ a1,a2,…,a16) (ii) a The check vector p is equally divided into 16 segments, i.e. p ═ p (p)1,p2,…,p16)。
Performing row exchange and column exchange operation on the check matrix H, and converting the check matrix H into an approximate lower triangular shape HALTAs shown in fig. 1. The process of the line-column exchange is as follows: step 1, exchanging block columns, keeping the first 18 block columns unchanged, and reordering the last 14 block columns, wherein the first 18 block columns correspond to the original 31 st, 30 th, 25 th, 28 th, 19 th, 20 th, 29 th, 32 th, 23 th, 22 th, 27 th, 26 th, 24 th and 21 st block columns respectively; step 2, performing block line exchange on all block lines, wherein the block lines correspond to the 5 th, 7 th, 14 th, 16 th, 4 th, 1 th, 6 th, 8 th, 11 th, 10 th, 13 th, 15 th, 12 th, 9 th, 3 th and 2 nd original block lines respectively; and step 3, circularly right-shifting the permutation matrixes in the 16 rows by 7, 10, 4, 9, 5, 19, 17, 4, 5, 19, 12, 4, 20 and 7 bits respectively.
In fig. 1, all matrices have the unit of b 21 bits instead of 1 bit. A is constituted by 14 × 16B × B-order cyclic matrices, B is constituted by 14 × 02B × 1B-order cyclic matrices, T is constituted by 14 × 14B × B-order cyclic matrices, C is constituted by 2 × 16B × B-order cyclic matrices, D is constituted by 2 × 2B × B-order cyclic matrices, and E is constituted by 2 × 14B × B-order cyclic matrices. T is a lower triangular matrix, and u-2 reflects a check matrix HALTProximity to the lower triangular matrix. In fig. 1, the matrices a and C correspond to the information vector a, and the matrices B and D correspond to a portion of the check vector px=(p1,p2) The matrices T and E correspond to the remaining check vectors py=(p3,p4,…,p16)。p=(px,py). The matrix and the vector satisfy the following relations:
px Τ=Φ(ET-1AaΤ+CaΤ) (3)
py Τ=T-1(AaΤ+Bpx Τ) (4)
wherein Φ is (ET)-1B+D)-1Upper label ofΤAnd-1respectively representing transpose and inverse. As is well known, the inverse, product, and sum of the circulant matrix remains a circulant matrix. Thus, Φ is also an array consisting of a circulant matrix.
When Φ is equal to the identity matrix, i.e., Φ ═ I, equation (3) can be simplified to px Τ=ET-1AaΤ+CaΤ. Let fT=AaT,qT=T–1fT,wT=CaT,xT=EqT+wT,px T=xT,yT=T–1Bpx TAnd py T=qT+yT. Vectors f and w can be calculated by:
f w T = A C a T = Fa T - - - ( 5 )
wherein,
F = A C - - - ( 6 )
qT=T–1fTand xT=EqT+wTThe following matrix equation can be constructed:
T 0 E I q x T = Q q x T = f w T - - - ( 7 )
wherein,
Q = T 0 E I - - - ( 8 )
once p is calculatedx,yT=T–1Bpx TRewritable as follows:
[B T][pxy]Τ=Y[pxy]Τ=0 (9)
wherein,
Y=[B T](10)
since Q and Y are lower triangular matrices as well as T, both [ Q x ] in equation (7) and Y in equation (9) can be calculated in backward iteration.
F relates to the multiplication of the sparse matrix with the vector, while Q and Y relate to backward iterative computations. From the above discussion, a three-stage pipeline based QC-LDPC encoding process can be presented, as shown in FIG. 2.
Let f be (f)1,f2,…,f14) And w ═ f15,f16) Then [ f w ]]=(f1,f2,…,f16). According to formula (5), fjIs the jth block row of the matrix F and aTProduct of, i.e.
f j = H j , 1 a 1 T + H j , 2 a 2 T + . . . + H j , i a i T + . . . + H j , 16 a 16 T - - - ( 11 )
Wherein i is more than or equal to 1 and less than or equal to 16, and j is more than or equal to 1 and less than or equal to 16. f. ofjN bit f ofj,n(1. ltoreq. n. ltoreq. b) is
f j , n = g j , 1 rs ( n - 1 ) a 1 + g j , 2 rs ( n - 1 ) a 2 + . . . + g j , i rs ( n - 1 ) a i + . . . + g j , 16 rs ( n - 1 ) a 16 = g j , 1 a 1 ls ( n - 1 ) + g j , 2 a 2 ls ( n - 1 ) + . . . + g j , i a i ls ( n - 1 ) + . . . + g j , 16 a 16 ls ( n - 1 ) - - - ( 12 )
Wherein, the upper labelrs(n–1)Andls(n–1)respectively representing a cyclic right shift by n-1 bits and a cyclic left shift by n-1 bits. Since any circulant matrix generates a polynomial gj,iWith only a small number of '1's, or even all zeros, the inner product in equation (12) can be achieved by summing the taps of the circular left shift register, as shown in the sparse matrix and vector multiplier of fig. 3. The sparse matrix and vector multiplier consists of 32 b-bit registers R1,1,R1,2,…,R1,32And 16 multiple-input XOR gates X1,1,X1,2,…,X1,16And (4) forming. Register R1,1,R1,2,…,R1,16For loading and looping left-shifting information segments a1,a2,…,a16Register R1,17,R1,18,…,R1,32For storing [ f w]Vector segment f of1,f2,…,f16. The sparse connection in fig. 3 depends on all circulant matrix generator polynomials in the matrix F. If g isj,i,m1 (1. ltoreq. m. ltoreq. b), then the information section aiIs connected to the exclusive or gate X1,j. Thus, register R1,iDepends on the position of the non-zero elements of all circulant matrix generator polynomials in the ith block column of the matrix F, and is multi-inputGo into exclusive or gate X1,jDepends on the position of the non-zero elements of all circulant matrix generator polynomials in the jth block row of the matrix F. Fig. 4 shows the connection relationship between each multi-input exclusive or gate and a register in the multiplier of the sparse matrix and the vector. Since all cyclic matrix generator polynomials in F have a total of 64 '1', the sparse matrix and vector multiplier needs to compute F simultaneously using 48 two-input xor gates (α -c)1,n,f2,n,…,f16,n. f and w may be counted in 21 clock cycles. The steps of calculating vectors f and w using a sparse matrix and vector multiplier are as follows:
step 1, input information segment a1,a2,…,a16Store them in the register R respectively1,1,R1,2,…,R1,16Performing the following steps;
step 2, register R1,1,R1,2,…,R1,16Simultaneously circulating left for 1 time, XOR gate X1,1,X1,2,…,X1,16Shift the XOR result to the left into register R, respectively1,17,R1,18,…,R1,32Performing the following steps;
step 3, repeating step 2 for b times, and after the step is completed, using a register R1,17,R1,18,…,R1,32The contents of the memory are respectively vector segments f1,f2,…,f16They constitute vectors f and w.
Equation (7) implies a backward iterative operation, and the vectors q and x must be solved segment by segment. Definition [ q x]=(q1,q2,…,q16) And initialized to all zeros. First, q is1Exactly equal to f1. Secondly, q is2Is the 2 nd block row and vector [ Q x ] of the matrix Q]TProduct of f2And (2) of (1). Then, q3Is block 3 row and vector [ Q x ] of matrix Q]TProduct of f3And (2) of (1). Repeating the above process until q is calculated16A type I backward iterative circuit as shown in fig. 5. The I-type backward iterative circuit consists of 16 b-bit registers R2,1,R2,2,…,R2,16And 15 multiple input modulo-2 adders A2,2,A2,3,…,A2,16And (4) forming.
To calculate qj(j is not less than 1 and not more than 16) as an example. The non-zero circulant matrix in the check matrix H is typically a circularly right shifted version of the identity matrix. Suppose there are N non-zero circulants in the jth block row of the matrix Q, and their cyclic right shift numbers are s respectivelyj,k1,sj,k2,…,sj,kN(1≤k1,k2,…,kN<j) In that respect Then the process of the first step is carried out,
q j = f j + I rs ( s j , k 1 ) q k 1 + I rs ( s j , k 2 ) q k 2 + . . . + I rs ( s j , kN ) q kN = f j + q k 1 ls ( s j , k 1 ) + q k 2 ls ( s j , k 2 ) + . . . + q kN ls ( s j , kN ) - - - ( 13 )
since N is small, equation (13) can be computed by a multiple input modulo-2 adder that shifts the input cycle to the left in 1 clock cycle. Therefore, 16 clock cycles are required to compute vector [ q x ]. Since the matrix Q has 38 non-zero circulant matrices, the I-type backward iterative circuit uses 462 two-input xor gates (β -c).
The matrix Q is a circulant matrix Q of order 16 × 16 b × bj,k(j is more than or equal to 1 and less than or equal to 16, and k is more than or equal to 1 and less than or equal to 16). Non-zero circulant matrix Qj,kThe number of cyclic right shifts relative to the b x b order identity matrix is sj,k,0≤sj,k<b. For the convenience of description, the cyclic right shift number of the all-zero circulant matrix with respect to the b × b order circulant matrix is denoted as sj,k'-'. In FIG. 5, a non-zero circulant matrix Qj,kCorresponding vector segment qkIs circularly moved to the left by sj,kBit-wise input to a multiple-input modulo-2 adder A2,jSegment f of the neutralization vectorjTo carry outXOR operation, the vector segment corresponding to the all-zero circulant matrix does not participate in XOR operation, A2,jIs calculated as qjIs stored in a register R2,jIn (1). Fig. 6 shows the block positions of the non-zero circulant matrix in the matrix Q and its circulant right-shift number. The steps for computing the vectors q and x using a type I backward iterative circuit are as follows:
step 1, inputting vector segment f1Dividing the vector segment q1=f1Into a register R2,1Performing the following steps;
step 2, inputting vector segment fjNon-zero circulant matrix Qj,kCorresponding vector segment qkIs circularly moved to the left by sj,kBit-wise input to a multiple-input modulo-2 adder A2,jSegment f of the neutralization vectorjPerforming XOR operation to obtain result qjIs stored in a register R2,jWherein j is more than or equal to 2 and less than or equal to 16, and k is more than or equal to 1<j,0≤sj,k<21;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 15 times, and finally, obtaining a register R2,1,R2,2,…,R2,16Stored are respectively vector segments q1,q2,…,q16They constitute vectors q and x.
Equation (9) also implies a backward iterative operation, and the vector y must be solved segment by segment. Definition y ═ (y)1,y2,…,y14) And initialized to all zeros. First, y1Is the 1 st block row of matrix Y and vector pxy]TThe product of the two. Second, y2Is the 2 nd block row of matrix Y and vector pxy]TThe product of the two. Repeating the above process until y is calculated14Up to the type II backward iteration circuit as shown in fig. 7. The type II backward iterative circuit consists of 16 b-bit registers R3,1,R3,2,…,R3,16And 14 multiple input modulo-2 adders A3,1,A3,2,…,A3,14And (4) forming. The calculation of vector y takes 14 clock cycles. Since the matrix Y shares xi-38 non-zero circulant matrices, (xi-2 c +2u) b-210 two-input xor gates are used in the type II backward iterative circuit. The matrix Y is a circulant matrix Y of order b x b of 14 x 16j,k(j is more than or equal to 1 and less than or equal to 14, and k is more than or equal to 1 and less than or equal to 16). Non-zero circulant matrix Yj,kThe number of cyclic right shifts relative to the b x b order identity matrix is sj,k,0≤sj,k<b. Fig. 8 shows the block positions of the non-zero circulant matrix in matrix Y and its circulant right-shift number. The steps for computing the vector y using a type II backward iterative circuit are as follows:
step 1, inputting a check segment p1And p2Store them in the register R respectively3,15And R3,16Performing the following steps;
step 2, non-zero circulant matrix Yj,kCorresponding vector segment pkOr ykIs circularly moved to the left by sj,kBit-wise input to a multiple-input modulo-2 adder A3,jIn the process, an XOR operation is performed, and the result y of the XOR operationjIs stored in a register R3,jWherein j is more than or equal to 1 and less than or equal to 14, and k is more than or equal to 1<2+j,0≤sj,k<21;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 14 times, and finally, obtaining a register R3,1,R3,2,…,R3,14Stored are respectively vector segments y1,y2,…,y14They constitute a vector y.
The invention provides a high-speed QC-LDPC encoding method based on a three-level pipeline, which is suitable for 1/2 code rate QC-LDPC codes in a WPAN system, and the encoding steps are described as follows:
step 1, calculating vectors f and w by using a sparse matrix and a vector multiplier;
step 2, calculating vectors q and x by using an I-type backward iterative circuit to obtain a partial check vector px=x;
And 3, calculating the vector y by using a II type backward iterative circuit, and performing exclusive OR on the vector y and the vector q to obtain a partial check vector pySo as to obtain check vector p ═ p (p)x,py)。
Fig. 9 summarizes the hardware resource consumption and processing time required by each encoding step of the encoder and the entire encoding process.
As can be seen from fig. 9, when the pipeline is full, the whole encoding process takes 37 clock cycles, which is less than 336 clock cycles required by the serial encoding method based on 16 SRAA-I circuits. The former has an encoding speed 9 times faster than the latter.
The existing solution of the 1/2 code rate QC-LDPC encoder in the WPAN standard requires 672 registers, 336 two-input AND gates and 336 two-input XOR gates, and further requires 5376 bit ROM to store the generator polynomial of the circulant matrix. The present invention requires 1344 registers, 0 two-input and gates, and 720 two-input xor gates, without requiring ROM.
In conclusion, compared with the conventional serial SRAA method, the method has the advantages of high coding speed, no need of a memory and the like.
The above description is only one embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can change or replace the present invention within the technical scope of the present invention without creative efforts, and the present invention shall be covered by the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope defined by the claims.

Claims (6)

1. A high-speed QC-LDPC encoder based on three-stage pipeline in WPAN, a check matrix H of 1/2 code rate QC-LDPC code is an array formed by c x t b-order cyclic matrixes, wherein c is 16, t is 32, b is 21, e is t-c is 16, the check matrix H is transformed into an approximate lower triangular shape by row-column exchange and can be divided into 6 sub-matrixes, H = A B T C D E , a is a cyclic matrix of 14 × 16B × B steps, B is a cyclic matrix of 14 × 02B × 1B steps, T is a cyclic matrix of 14 × 14B × B steps, C is a cyclic matrix of 2 × 16B × B steps, D is a cyclic matrix of 2 × 2B × B steps, E is a cyclic matrix of 2 × 14B × B steps, and Φ is (ET)-1B+D)-1Is a 42 × 42 unit matrix, in which superscripts are appliedΤAnd-1the transpose and the inverse are indicated separately, Q = T 0 E I is composed of 16 × 16 b × b order cyclic matrices Qj,kWherein I is an identity matrix, 0 is an all-zero matrix, 1 is equal to or more than j is equal to or less than 16,1 is equal to or more than k is equal to or less than 16, and a non-zero cyclic matrix Qj,kThe number of cyclic right shifts relative to the b x b order identity matrix is sj,kWherein 0 is less than or equal to sj,k<b,Y=[B T]Is composed of 14 × 16 b × b order cyclic matrices Yj,kWherein j is more than or equal to 1 and less than or equal to 14, k is more than or equal to 1 and less than or equal to 16, and a non-zero cyclic matrix Yj,kThe number of cyclic right shifts relative to the b x b order identity matrix is sj,kWherein 0 is less than or equal to sj,k<B, A and C correspond to the information vector a, and the matrixes B and D correspond to a part of the check vector pxThe matrices T and E correspond to the remaining check vectors pyCheck vector p ═ p (p)x,py) The information vector a is equally divided into 16 segments with b bits as one segment, i.e. a ═ a1,a2,…,a16) The check vector p is equally divided into 16 segments, i.e. p ═ p (p)1,p2,…,p16),px=(p1,p2),py=(p3,p4,…,p16) The vector f is equally divided into 14 segments, i.e. f ═ f (f)1,f2,…,f14) The vector w is equally divided into 2 segments, i.e. w ═ f15,f16),[f w]=(f1,f2,…,f16) The vector q is equally divided into 14 segments, i.e. q ═ q (q)1,q2,…,q14) The vector x is equally divided into 2 segments, i.e. x ═ q (q)15,q16),[q x]=(q1,q2,…,q16) The vector y is equally divided into 14 segments, i.e. y ═ y (y)1,y2,…,y14) Characterised in that the encoder comprises the following components:
the sparse matrix and vector multiplier consists of 32 b-bit registers R1,1,R1,2,…,R1,32And 16 multiple-input XOR gates X1,1,X1,2,…,X1,16A component for calculating vectors f and w;
the I-type backward iterative circuit consists of 16 b-bit registers R2,1,R2,2,…,R2,16And 15 multiple input modulo-2 adders A2,2,A2,3,…,A2,16Composition for calculating vectors q and x to find partial check vector px=x;
A type II backward iterative circuit consisting of 16 b-bit registers R3,1,R3,2,…,R3,16And 14 multiple input modulo-2 adders A3,1,A3,2,…,A3,14Composition for calculating the XOR of the vector y, y and the vector q to obtain a partial check vector pySo as to obtain check vector p ═ p (p)x,py)。
2. The high-speed QC-LDPC encoder based on three-stage pipeline in WPAN according to claim 1, wherein the row column switching process is as follows:
step 1, exchanging block columns, keeping the first 18 block columns unchanged, and reordering the last 14 block columns, wherein the first 18 block columns correspond to the original 31 st, 30 th, 25 th, 28 th, 19 th, 20 th, 29 th, 32 th, 23 th, 22 th, 27 th, 26 th, 24 th and 21 st block columns respectively;
step 2, performing block line exchange on all block lines, wherein the block lines correspond to the 5 th, 7 th, 14 th, 16 th, 4 th, 1 th, 6 th, 8 th, 11 th, 10 th, 13 th, 15 th, 12 th, 9 th, 3 th and 2 nd original block lines respectively;
and step 3, circularly right-shifting the permutation matrixes in the 16 rows by 7, 10, 4, 9, 5, 19, 17, 4, 5, 19, 12, 4, 20 and 7 bits respectively.
3. The high-speed QC-LDPC encoder based on three-stage pipeline in WPAN according to claim 1, wherein the step of calculating vectors f and w by the sparse matrix and vector multiplier is as follows:
step 1, input information segment a1,a2,…,a16Store them in the register R respectively1,1,R1,2,…,R1,16Performing the following steps;
step 2, register R1,1,R1,2,…,R1,16Simultaneously circulating left for 1 time, XOR gate X1,1,X1,2,…,X1,16Shift the XOR result to the left into register R, respectively1,17,R1,18,…,R1,32Performing the following steps;
step 3, repeating step 2 for b times, and after the step is completed, using a register R1,17,R1,18,…,R1,32The contents of the memory are respectively vector segments f1,f2,…,f16They constitute vectors f and w.
4. The high-speed QC-LDPC encoder based on three-stage pipeline according to claim 1, wherein said type I backward iterative circuit calculates vectors q and x as follows:
step 1, inputting vector segment f1Dividing the vector segment q1=f1Into a register R2,1Performing the following steps;
step 2, inputting vector segment fjNon-zero circulant matrix Qj,kCorresponding vector segment qkIs circulatedLeft shift of ring sj,kBit-wise input to a multiple-input modulo-2 adder A2,jSegment f of the neutralization vectorjPerforming XOR operation to obtain result qjIs stored in a register R2,jWherein j is more than or equal to 2 and less than or equal to 16, and k is more than or equal to 1<j,0≤sj,k<21;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 15 times, and finally, obtaining a register R2,1,R2,2,…,R2,16Stored are respectively vector segments q1,q2,…,q16They constitute vectors q and x.
5. The high-speed QC-LDPC encoder based on three-stage pipeline in WPAN according to claim 1, wherein the type II backward iterative circuit calculates vector y as follows:
step 1, inputting a check segment p1And p2Store them in the register R respectively3,15And R3,16Performing the following steps;
step 2, non-zero circulant matrix Yj,kCorresponding vector segment pkOr ykIs circularly moved to the left by sj,kBit-wise input to a multiple-input modulo-2 adder A3,jIn the process, an XOR operation is performed, and the result y of the XOR operationjIs stored in a register R3,jWherein j is more than or equal to 1 and less than or equal to 14, and k is more than or equal to 1<2+j,0≤sj,k<21;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 14 times, and finally, obtaining a register R3,1,R3,2,…,R3,14Stored are respectively vector segments y1,y2,…,y14They constitute a vector y.
6. A high-speed QC-LDPC coding method based on three-stage pipeline in WPAN, the check matrix H of 1/2 code rate QC-LDPC code is an array formed by c x t b-order cyclic matrixes, wherein c is 16, t is 32, b is 21, e is t-c is 16, the check matrix H is transformed into approximate lower triangular shape by row-column exchange and can be divided into 6 sub-matrixes, H = A B T C D E , a is a cyclic matrix of 14 × 16B × B steps, B is a cyclic matrix of 14 × 02B × 1B steps, T is a cyclic matrix of 14 × 14B × B steps, C is a cyclic matrix of 2 × 16B × B steps, D is a cyclic matrix of 2 × 2B × B steps, E is a cyclic matrix of 2 × 14B × B steps, and Φ is (ET)-1B+D)-1Is a 42 × 42 unit matrix, in which superscripts are appliedΤAnd-1the transpose and the inverse are indicated separately, Q = T 0 E I is composed of 16 × 16 b × b order cyclic matrices Qj,kWherein I is an identity matrix, 0 is an all-zero matrix, 1 is equal to or more than j is equal to or less than 16,1 is equal to or more than k is equal to or less than 16, and a non-zero cyclic matrix Qj,kThe number of cyclic right shifts relative to the b x b order identity matrix is sj,kWherein 0 is less than or equal to sj,k<b,Y=[B T]Is composed of 14 × 16 b × b order cyclic matrices Yj,kWherein j is more than or equal to 1 and less than or equal to 14, k is more than or equal to 1 and less than or equal to 16, and a non-zero cyclic matrix Yj,kThe number of cyclic right shifts relative to the b x b order identity matrix is sj,kWherein 0 is less than or equal to sj,k<B, A and C correspond to the information vector a, and the matrixes B and D correspond to a part of the check vector pxThe matrices T and E correspond to the remaining check vectors pyCheck vector p ═ p (p)x,py) The information vector a is equally divided into 16 segments with b bits as one segment, i.e. a ═ a1,a2,…,a16) The check vector p is equally divided into 16 segments, i.e. p ═ p (p)1,p2,…,p16),px=(p1,p2),py=(p3,p4,…,p16) The vector f is equally divided into 14 segments, i.e. f ═ f (f)1,f2,…,f14) The vector w is equally divided into 2 segments, i.e. w ═ f15,f16),[f w]=(f1,f2,…,f16) The vector q is equally divided into 14 segments, i.e. q ═ q (q)1,q2,…,q14) The vector x is equally divided into 2 segments, i.e. x ═ q (q)15,q16),[q x]=(q1,q2,…,q16) The vector y is equally divided into 14 segments, i.e. y ═ y (y)1,y2,…,y14) Characterized in that said coding method comprises the following steps:
step 1, calculating vectors f and w by using a sparse matrix and a vector multiplier;
step 2, calculating vectors q and x by using an I-type backward iterative circuit to obtain a partial check vector px=x;
And 3, calculating the vector y by using a II type backward iterative circuit, and performing exclusive OR on the vector y and the vector q to obtain a partial check vector pySo as to obtain check vector p ═ p (p)x,py)。3 -->
CN201510049690.4A 2015-01-30 2015-01-30 High speed QC-LDPC encoder in WPAN based on three class pipeline Expired - Fee Related CN104579366B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510049690.4A CN104579366B (en) 2015-01-30 2015-01-30 High speed QC-LDPC encoder in WPAN based on three class pipeline

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510049690.4A CN104579366B (en) 2015-01-30 2015-01-30 High speed QC-LDPC encoder in WPAN based on three class pipeline

Publications (2)

Publication Number Publication Date
CN104579366A true CN104579366A (en) 2015-04-29
CN104579366B CN104579366B (en) 2019-02-22

Family

ID=53094697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510049690.4A Expired - Fee Related CN104579366B (en) 2015-01-30 2015-01-30 High speed QC-LDPC encoder in WPAN based on three class pipeline

Country Status (1)

Country Link
CN (1) CN104579366B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117197A (en) * 2015-10-03 2015-12-02 荣成市鼎通电子信息科技有限公司 Multiplication-free quasi-cyclic matrix serial multiplier for WPAN (wireless personal area network)
CN105242902A (en) * 2015-10-03 2016-01-13 荣成市鼎通电子信息科技有限公司 WPAN quasi-cyclic matrix serial multiplier based on ring shift left
CN110071727A (en) * 2019-04-26 2019-07-30 成都海光集成电路设计有限公司 Coding method, interpretation method, error correction method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149845A1 (en) * 2003-11-08 2005-07-07 Samsung Electronics Co., Ltd. Method of constructing QC-LDPC codes using qth-order power residue
CN102739259A (en) * 2012-05-28 2012-10-17 奥维通信股份有限公司 LDPC (Low Density Parity Check) encoding method based on FPGA (Field Programmable Gate Array) and used in CMMB (China Mobile Multimedia Broadcasting) exciter
CN102857235A (en) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 LDPC (low-density parity-check) encoder and encoding method in DTMB (digital terrestrial multimedia broadcasting) system based on shared register
CN103067025A (en) * 2013-01-01 2013-04-24 苏州威士达信息科技有限公司 Low density parity check (LDPC) encoder and encoding method of China mobile multimedia broadcasting (CMMB) based on piece line circulation
US8595548B1 (en) * 2007-08-17 2013-11-26 Marvell International Ltd. Generic encoder for low-density parity-check (LDPC) codes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149845A1 (en) * 2003-11-08 2005-07-07 Samsung Electronics Co., Ltd. Method of constructing QC-LDPC codes using qth-order power residue
US8595548B1 (en) * 2007-08-17 2013-11-26 Marvell International Ltd. Generic encoder for low-density parity-check (LDPC) codes
CN102739259A (en) * 2012-05-28 2012-10-17 奥维通信股份有限公司 LDPC (Low Density Parity Check) encoding method based on FPGA (Field Programmable Gate Array) and used in CMMB (China Mobile Multimedia Broadcasting) exciter
CN102857235A (en) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 LDPC (low-density parity-check) encoder and encoding method in DTMB (digital terrestrial multimedia broadcasting) system based on shared register
CN103067025A (en) * 2013-01-01 2013-04-24 苏州威士达信息科技有限公司 Low density parity check (LDPC) encoder and encoding method of China mobile multimedia broadcasting (CMMB) based on piece line circulation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117197A (en) * 2015-10-03 2015-12-02 荣成市鼎通电子信息科技有限公司 Multiplication-free quasi-cyclic matrix serial multiplier for WPAN (wireless personal area network)
CN105242902A (en) * 2015-10-03 2016-01-13 荣成市鼎通电子信息科技有限公司 WPAN quasi-cyclic matrix serial multiplier based on ring shift left
CN110071727A (en) * 2019-04-26 2019-07-30 成都海光集成电路设计有限公司 Coding method, interpretation method, error correction method and device
CN110071727B (en) * 2019-04-26 2023-05-05 成都海光集成电路设计有限公司 Encoding method, decoding method, error correction method and device

Also Published As

Publication number Publication date
CN104579366B (en) 2019-02-22

Similar Documents

Publication Publication Date Title
CN104579366B (en) High speed QC-LDPC encoder in WPAN based on three class pipeline
CN105099467B (en) The coding method of QC-LDPC code and code device
CN103929199A (en) Full parallel input quasi-cyclic matrix multiplier based on ring shift left in DTMB
CN103902509A (en) ROL quasi-cyclic matrix multiplier for full parallel input in WPAN
CN104579364B (en) High speed QC-LDPC encoders based on four level production lines in CDR
CN105141319A (en) High-speed QC-LDPC encoder based on three-stage pipeline in deep space communication
CN104539297B (en) High speed QC-LDPC encoders based on four level production lines in DTMB
CN104579365B (en) High speed QC-LDPC encoders based on four level production lines
CN104518803B (en) High speed QC-LDPC encoders based on four level production lines in CMMB
CN104518804A (en) High-speed QC-LDPC encoder based on three-stage assembly line
CN105245236A (en) High-speed QC-LDPC encoder based on two-level pipeline in WPAN
CN105119608A (en) High-speed QC-LDPC (quasi-cyclic low-density parity-check) encoder based on three-stage assembly line in CMMB (China mobile multimedia broadcasting)
CN105245237A (en) High-speed QC-LDPC encoder based on three-level pipeline in DTMB
CN105356889A (en) High-speed QC-LDPC (quasi-cyclic low-density parity check) encoder based on three-stage pipeline in CDR (China Digital Radio)
CN105099468A (en) High-speed QC-LDPC (quasi-cyclic-low-density parity-check) encoder based on four-level flow lines and used for deep space communication
CN105141321A (en) High-speed QC-LDPC encoder based on two-stage pipeline
CN106982063A (en) Quasi-cyclic LDPC encoder based on check matrix in WPAN
CN105141320A (en) High-speed QC-LDPC encoder based on three-stage pipeline
CN106972864A (en) Quasi-cyclic LDPC encoder based on check matrix in deep space communication
CN106953646A (en) Quasi-cyclic LDPC encoder based on shared mechanism
CN103916135A (en) Ring shift left QC-LDPC coder with fully parallel input in ground proximity communication
CN103929207A (en) Partially parallel input QC-LDPC encoder based on right-shift accumulation in CMMB
CN105117197A (en) Multiplication-free quasi-cyclic matrix serial multiplier for WPAN (wireless personal area network)
CN103905056A (en) Accumulation left shift quasi-cyclic matrix multiplier for partially-parallel input in CMMB
Blackmer et al. Non iterative decoding of low density parity check codes using artificial neural networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190222

Termination date: 20210130