CN104539297A - Four-stage production line-based high-speed QC-LDPC coder in DTMB - Google Patents

Four-stage production line-based high-speed QC-LDPC coder in DTMB Download PDF

Info

Publication number
CN104539297A
CN104539297A CN201510049687.2A CN201510049687A CN104539297A CN 104539297 A CN104539297 A CN 104539297A CN 201510049687 A CN201510049687 A CN 201510049687A CN 104539297 A CN104539297 A CN 104539297A
Authority
CN
China
Prior art keywords
vector
matrix
equal
check
register
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
CN201510049687.2A
Other languages
Chinese (zh)
Other versions
CN104539297B (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 CN201510049687.2A priority Critical patent/CN104539297B/en
Publication of CN104539297A publication Critical patent/CN104539297A/en
Application granted granted Critical
Publication of CN104539297B publication Critical patent/CN104539297B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

The invention provides a four-stage production line-based high-speed QC-LDPC coder in a DTMB. The four-stage production line-based high-speed QC-LDPC coder comprises a sparse matrix and vector multiplier, an I-type backward iteration circuit, a high-density matrix and vector multiplier and an II-type backward iteration circuit. The sparse matrix and vector multiplier realizes a spare matrix and vector multiplication, the high-density matrix and vector multiplier realizes high-density matrix and vector multiplication, and the I-type backward iteration circuit and the II-type backward iteration circuit realize backward iteration operation. The whole coding process is divided into four stages of production line. The 4/5 code rate high-speed QC-LDPC code in the DTMB, provided by the invention, has the advantages of simple structure, low cost, large handling capacity and the like.

Description

High-speed QC-LDPC encoder based on four-stage assembly line in DTMB
Technical Field
The invention relates to the field of channel coding, in particular to a high-speed QC-LDPC encoder based on a four-stage pipeline in a DTMB 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 DTMB standard adopts a QC-LDPC code in a system form, the left half part of a generating matrix G of the DTMB standard is an identity matrix, and the right half part of the generating matrix G is a cyclic matrix G with e multiplied by c b multiplied by b ordersi,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 DTMB standard employs a QC-LDPC code with code rate η of 4/5 for which t 59, e 48, c 11, and b 127.
The existing solution of the 4/5 code rate QC-LDPC encoder in the DTMB standard is a serial encoder based on 11I-Type Shift Register plus Accumulator (SRAA-I) circuits. The serial encoder, which is composed of 11 SRAA-I circuits, completes the encoding within 6096 clock cycles. This scheme requires 2794 registers, 1397 two-input and gates, and 1397 two-input xor gates, and also requires 67056-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 four-level pipeline, aiming at the technical problems that the existing implementation scheme of an 4/5 code rate QC-LDPC encoder in a DTMB system has the defects of high cost and low encoding speed.
As shown in fig. 2, the high-speed QC-LDPC encoder based on four-stage pipeline in DTMB system mainly consists of 4 parts: sparse matrix and vector multiplier, I-type backward iteration circuit, high-density matrix and vector multiplier and II-type backward iteration circuit. The encoding process is completed in 4 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 iteration circuit; step 3, calculating partial check vector p by using multiplier of high density matrix and vectorx(ii) a And 4, 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 4/5 code rate high-speed QC-LDPC encoder in the DTMB system has a simple structure, and can reduce memories under the condition of obviously improving 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 four-stage pipeline based QC-LDPC encoding process;
FIG. 3 is a functional block diagram of a loop left shift accumulator RLA circuit;
FIG. 4 is a high density matrix and vector multiplier consisting of 1 RLA circuit;
FIG. 5 is a sparse matrix and vector multiplier;
FIG. 6 shows the connection relationship between each multi-input XOR gate and the register in the multiplier of the sparse matrix and the vector;
FIG. 7 is a type I backward iteration circuit;
FIG. 8 shows the block positions of the non-zero circulant matrix in the matrix Q and its circulant right shift;
FIG. 9 is a type II backward iteration circuit;
FIG. 10 shows the block positions of the non-zero circulant matrix in matrix Y and its circulant right shift;
fig. 11 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 4/5 code rates in the DTMB system, the first 48 block columns of H correspond to an information vector a, and the last 11 block columns of H correspond to a check vector p. With 127 bits as one segment, the information vector a is equally divided into 48 segments, i.e. a ═ a1,a2,…,a48) (ii) a The check vector p is equally divided into 11 segments, i.e. p ═ p (p)1,p2,…,p11)。
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, wherein the front 9 block columns and the rear 48 block columns are exchanged; step 2, block line exchange is carried out, and the first line is moved to the last line; and step 3, circularly and leftwards shifting all permutation matrixes by 1 bit respectively.
In fig. 1, the unit of all matrices is b 127 bits instead of 1 bit. A is composed of 9 × 48 cyclic matrices of 127 × 127 th order, B is composed of 9 × 02 cyclic matrices of 127 × 1127 th order, T is composed of 9 × 9 cyclic matrices of 127 × 127 th order, C is composed of 2 × 48 cyclic matrices of 127 × 127 th order, D is composed of 2 × 2 cyclic matrices of 127 × 127 th order, and E is composed of 2 × 9 cyclic matrices of 127 × 127 th order. 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,…,p11)。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. Although both matrices E, T, B and D are sparse matrices, in general Φ is no longer sparse but rather high densityIn (1).
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 = F a 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][px y]Τ=Y[px y]Τ=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.
Φ relates to the multiplication of the high density matrix with the vector, F relates to the multiplication of the sparse matrix with the vector, and Q and Y relate to backward iterative computations. From the above discussion, a four-stage pipeline based QC-LDPC encoding process can be presented, as shown in FIG. 2.
px T=ΦxTIs equivalent to px=xΦT. Let x be (x)1,x2,…,xu×b). Defining a u-bit vector sn=(xn,xn+b,…,xn+(u-1)×b) Wherein n is more than or equal to 1 and less than or equal to b. Let phij(1. ltoreq. j. ltoreq. u) is represented byTAll circulant matrix generator polynomials in block j of (1) to form a u x b order matrix. Then there is
pj=(…((0+s1Φj)ls(1)+s2Φj)ls(1)+…+sbΦj)ls(1) (11)
Wherein, the upper labells(1)Indicates the left of the cycleShift by 1.
From equation (11), a round-shift-Left-Accumulator (RLA) circuit can be obtained, as shown in fig. 3. The index of the lookup table is a u-bit vector snLook-up table LjStoring variable u-bit vectors and fixed phi in advancejAll possible products of, therefore, 2ub-bit Read-Only Memory (ROM). b bit register R1,R2,…,RuVector segments x for buffer vectors x, respectively1,x2,…,xuB bit register Ru+jFor storing pxIs verified by the verification segment pj. 1 RLA circuit calculates the vector pjB clock cycles are required.
For DTMB systems, p is calculated using 2 RLA circuitsx=(p1,p2) Is a reasonable scheme, such as the high-density matrix and vector multiplier shown in fig. 4. The high-density matrix and vector multiplier consists of 2 lookup tables L1,L24 127 bit registers R3,1,R3,2,…,R3,4And 2 127 bit two-input XOR gates X3,1,X3,2And (4) forming. Look-up table L1,L2Storing variable 2-bit vectors and fixed matrices phi, respectively12All possible products of, register R3,1,R3,2Vector segments x for buffer vectors x, respectively1,x2Register R3,3,R3,4Respectively for storing pxIs verified by the verification segment p1,p2. The 2 RLA circuits use 127 two-input exclusive or gates, 1016 bits of ROM and 254 registers. 2 RLA circuits calculate the vector px127 clock cycles are required. Vector p is calculated using a high density matrix and vector multiplierxThe steps are as follows:
step 1, zero clearing register R3,3,R3,4Input vector segment x1,x2Store them in the register R respectively3,1,R3,2Performing the following steps;
step 2, register R3,1,R3,2Simultaneously circulating left for 1 time, XOR gate X3,1,X3,2Respectively to the lookup table L1,L2Output of and register R3,3,R3,4The contents of (A) are XOR-ed, and the XOR results are circularly left-shifted 1 time and then stored back to the register R respectively3,3,R3,4
Step 3, repeating step 2 127 times, and after finishing, the register R3,3,R3,4The contents of the storage are respectively the check segment p1,p2Which constitutes part of a check vector px
Let f be (f)1,f2,…,f9) And w ═ f10,f11) Then [ f w ]]=(f1,f2,…,f11). 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 , 48 a 48 T - - - ( 12 )
Wherein i is more than or equal to 1 and less than or equal to 48, and j is more than or equal to 1 and less than or equal to 11. f. ofjN bit f ofj,n(1. ltoreq. n.ltoreq.127) 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 , 48 rs ( n - 1 ) a 48 = 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 , 48 a 48 ls ( n - 1 ) - - - ( 13 )
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 (13) can be scaled by decimation of the loop left shift registerHead-sum, as shown in fig. 5 as a sparse matrix and vector multiplier. The sparse matrix and vector multiplier consists of 59 127-bit registers R1,1,R1,2,…,R1,59And 11 multiple input XOR gates X1,1,X1,2,…,X1,11And (4) forming. Register R1,1,R1,2,…,R1,48For loading and looping left-shifting information segments a1,a2,…,a48Register R1,49,R1,50,…,R1,59For storing [ f w]Vector segment f of1,f2,…,f11. The sparse connection in fig. 5 depends on all circulant matrix generator polynomials in matrix F. If g isj,i,m1 (1. ltoreq. m.ltoreq.127), 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 a multi-input xor 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. 6 shows the connection relationship between each multi-input exclusive or gate and the register in the multiplier of the sparse matrix and the vector. Since all cyclic matrix generator polynomials in F have a total of 127 '1', the sparse matrix and vector multiplier needs to compute F simultaneously using 250 two-input xor gates1,n,f2,n,…,f11,n. f and w may be counted in 127 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,…,a48Store them in the register R respectively1,1,R1,2,…,R1,48Performing the following steps;
step 2, register R1,1,R1,2,…,R1,48Simultaneously circulating left for 1 time, XOR gate X1,1,X1,2,…,X1,11Shift the XOR result to the left into register R, respectively1,49,R1,50,…,R1,59Performing the following steps;
step 3, repeating step 2 127 times, and after finishing, the register R1,49,R1,50,…,R1,59The contents of the memory are respectively vector segments f1,f2,…,f11They 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,…,q11) 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 calculated11A type I backward iterative circuit as shown in fig. 7. The I-type backward iterative circuit consists of 11 127-bit registers R2,1,R2,2,…,R2,11And 10 multiple input modulo-2 adders A2,2,A2,3,…,A2,11And (4) forming.
To calculate qj(j is 1. ltoreq. j.ltoreq.11) 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 ) - - - ( 14 )
since N is small, equation (14) can be computed by a multiple input modulo-2 adder that shifts the input cycle to the left in 1 clock cycle. Therefore, the calculation of vector [ q x ] takes 11 clock cycles. Since the matrix Q has 29 non-zero cyclic matrices in common, the type I backward iterative circuit needs to use (β -c) b 2286 two-input xor gates.
The matrix Q is composed of 11 × 11 cyclic matrices Q of 127 × 127 ordersj,k(j is more than or equal to 1 and less than or equal to 11, and k is more than or equal to 1 and less than or equal to 11). Non-zero circulant matrix Qj,kThe number of cyclic right shifts relative to an identity matrix of order 127 × 127 is sj,k,0≤sj,k<127. For the convenience of description, the cyclic right shift number of the all-zero circulant matrix with respect to the 127 × 127 th circulant matrix is denoted as sj,k'-'. In FIG. 7, 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 vectorjPerforming XOR operation, wherein the vector segment corresponding to the all-zero cyclic matrix does not participate in the XOR operation, A2,jIs calculated as qjIs stored in a register R2,jIn (1). Fig. 8 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 11, and k is more than or equal to 1<j,0≤sj,k<127;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 10 times, and finally, obtaining a register R2,1,R2,2,…,R2,11Stored are respectively vector segments q1,q2,…,q11They 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,…,y9) And initialized to all zeros. First, y1Is the 1 st block row of matrix Y and vector px y]TThe product of the two. Second, y2Is the 2 nd block row of matrix Y and vector px y]TThe product of the two. Repeating the above process until y is calculated9Up to this point, a type II backward iteration circuit as shown in fig. 9. The type II backward iterative circuit consists of 11 127 bit registers R4,1,R4,2,…,R4,11And 9 multiple-input modulo-2 adders A4,1,A4,2,…,A4,9And (4) forming. The calculation of vector y takes 9 clock cycles in total. Since matrix Y has 27 non-zero circulant matrices in common, the backward iteration circuit of type II needs to use (ξ -2 c +2u) b 1143 two-input xor gates. The matrix Y is composed of 9 × 11 cyclic matrices Y of 127 × 127 ordersj,k(j is more than or equal to 1 and less than or equal to 9, and k is more than or equal to 1 and less than or equal to 11). Non-zero circulant matrix Yj,kThe number of cyclic right shifts relative to an identity matrix of order 127 × 127 is sj,k,0≤sj,k<127. Fig. 10 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 p1,p2Store them in the register R respectively4,10,R4,11Performing 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 A4,jIn the process, an XOR operation is performed, and the result y of the XOR operationjIs stored in a register R4,jWherein j is more than or equal to 1 and less than or equal to 9, and k is more than or equal to 1<1+j,0≤sj,k<127;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 9 times, and finally, obtaining a register R4,1,R4,2,…,R4,9Stored are respectively vector segments y1,y2,…,y9They constitute a vector y.
The invention provides a high-speed QC-LDPC coding method based on a four-level pipeline, which is suitable for 4/5 code rate QC-LDPC codes in a DTMB system, and the coding 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 iteration circuit;
step 3, calculating partial check vector p by using multiplier of high density matrix and vectorx
And 4, 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. 11 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. 11, when the pipeline is full, the whole encoding process needs 175 clock cycles of max (t-c + b, c, u + b), which is less than 6096 clock cycles needed by the serial encoding method based on 11 SRAA-I circuits. The former has a coding speed 34.8 times that of the latter.
The existing solution of 4/5 code rate QC-LDPC encoder in DTMB standard requires 2794 registers, 1397 two-input AND gates and 1397 two-input XOR gates, and 67056 bit ROM to store the generator polynomial of the circulant matrix. The invention requires 11121 registers, 0 two-input and gates and 3933 two-input xor gates, and only 1016 bits of ROM are required.
In conclusion, compared with the conventional serial SRAA method, the method has the advantages of high coding speed, low memory consumption 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 (7)

1. A high-speed QC-LDPC encoder based on four-stage pipeline in DTMB, the check matrix H of 4/5 code rate QC-LDPC code is an array formed by c x t b-order cyclic matrixes, wherein c is 11, t is 59, b is 127, e is t-c is 48, 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 matrix composed of 9 × 48B × B-order cyclic matrices, B is a matrix composed of 9 × 02B × 1B-order cyclic matrices, T is a lower triangular matrix composed of 9 × 9B × B-order cyclic matrices, C is a matrix composed of 2 × 48B × B-order cyclic matrices, D is a matrix composed of 2 × 2B × B-order cyclic matrices, E is a matrix composed of 2 × 9B × B-order cyclic matrices, and Φ ═ is (ET)-1B+D)-1Is composed of 2 × 2 b-order cyclic matrices, phijIs formed by phiTAll circulant matrix generator polynomials in the jth block column of (2 x b), wherein superscriptΤAnd-1respectively representing transposition and inversion, j is more than or equal to 1 and less than or equal to 2, Q = T 0 E I is composed of 11 × 11 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 11,1 is equal to or more than k is equal to or less than 11, 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 9 × 11 b × b order cyclic matrices Yj,kWherein j is more than or equal to 1 and less than or equal to 9, k is more than or equal to 1 and less than or equal to 11, 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 48 segments with b bits as one segment, i.e. a ═ a1,a2,…,a48) The check vector p is equally divided into 11 segments, i.e. p ═ p (p)1,p2,…,p11),px=(p1,p2),py=(p3,p4,…,p11) The vector f is equally divided into 9 segments, i.e. f ═ f (f)1,f2,…,f9) The vector w is equally divided into 2 segments, i.e. w ═ f10,f11),[f w]=(f1,f2,…,f11) The vector q is equally divided into 9 segments, i.e. q ═ q (q)1,q2,…,q9) The vector x is equally divided into 2 segments, i.e. x ═ p10,p11),[q x]=(q1,q2,…,q11) The vector y is equally divided into 9 segments, i.e. y ═ y (y)1,y2,…,y9) Characterised in that the encoder comprises the following components:
the sparse matrix and vector multiplier consists of 59 127-bit registers R1,1,R1,2,…,R1,59And 11 multiple input XOR gates X1,1,X1,2,…,X1,11A component for calculating vectors f and w;
the I-type backward iterative circuit consists of 11 127-bit registers R2,1,R2,2,…,R2,11And 10 multiple input modulo-2 adders A2,2,A2,3,…,A2,11A component for computing vectors q and x;
the multiplier of high-density matrix and vector is composed of 2 lookup tables L1,L24 127 bit registers R3,1,R3,2,…,R3,4And 2 127 bit two-input XOR gates X3,1,X3,2Composition for calculating partial check vector pxLook-up table L1,L2Storing variable 2-bit vectors and fixed matrices phi, respectively12All possible products of (c);
a type II backward iterative circuit consisting of 11 127-bit registers R4,1,R4,2,…,R4,11And 9 multiple-input modulo-2 adders A4,1,A4,2,…,A4,9Composition 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 according to claim 1, wherein said row-column switching process is as follows:
step 1, exchanging block columns, wherein the front 9 block columns and the rear 48 block columns are exchanged;
step 2, block line exchange is carried out, and the first line is moved to the last line;
and step 3, circularly and leftwards shifting all permutation matrixes by 1 bit respectively.
3. The high-speed QC-LDPC encoder according to claim 1, wherein said sparse matrix and vector multiplier is configured to compute vectors f and w as follows:
step 1, input information segment a1,a2,…,a48Store them in the register R respectively1,1,R1,2,…,R1,48Performing the following steps;
step 2, register R1,1,R1,2,…,R1,48Simultaneously circulating left for 1 time, XOR gate X1,1,X1,2,…,X1,11Shift the XOR result to the left into register R, respectively1,49,R1,50,…,R1,59Performing the following steps;
step 3, repeating step 2 127 times, and after finishing, the register R1,49,R1,50,…,R1,59The contents of the memory are respectively vector segments f1,f2,…,f11They constitute vectors f and w.
4. The high-speed QC-LDPC encoder according to claim 1, wherein said type I backward iterative circuit calculates vectors q and x as follows:
step 1, inputting vector segment f1Will beVector 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 11, and k is more than or equal to 1<j,0≤sj,k<127;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 10 times, and finally, obtaining a register R2,1,R2,2,…,R2,11Stored are respectively vector segments q1,q2,…,q11They constitute vectors q and x.
5. The high-speed QC-LDPC encoder according to claim 1, wherein said high density matrix and vector multiplier calculates vector pxThe steps are as follows:
step 1, zero clearing register R3,3,R3,4Input vector segment x1,x2Store them in the register R respectively3,1,R3,2Performing the following steps;
step 2, register R3,1,R3,2Simultaneously circulating left for 1 time, XOR gate X3,1,X3,2Respectively to the lookup table L1,L2Output of and register R3,3,R3,4The contents of (A) are XOR-ed, and the XOR results are circularly left-shifted 1 time and then stored back to the register R respectively3,3,R3,4
Step 3, repeating step 2 127 times, and after finishing, the register R3,3,R3,4The contents of the storage are respectively the check segment p1,p2Which form part of a check vector px
6. The high-speed QC-LDPC encoder based on four-stage pipeline in DTMB according to claim 1, wherein said type II backward iterative circuit calculates vector y as follows:
step 1, inputting a check segment p1,p2Store them in the register R respectively4,10,R4,11Performing 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 A4,jIn the process, an XOR operation is performed, and the result y of the XOR operationjIs stored in a register R4,jWherein j is more than or equal to 1 and less than or equal to 9, and k is more than or equal to 1<2+j,0≤sj,k<127;
Step 3, gradually changing the value of j by taking 1 as a step length, repeating the step 2 for 9 times, and finally, obtaining a register R4,1,R4,2,…,R4,9Stored are respectively vector segments y1,y2,…,y9They constitute a vector y.
7. A high-speed QC-LDPC coding method based on four-stage pipeline in DTMB, the check matrix H of 4/5 code rate QC-LDPC code is an array formed by c x t b-order cyclic matrixes, wherein c is 11, t is 59, b is 127, e is t-c is 48, 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 composed of 9 × 48B × B-order cyclic matrices, B is composed of 9 × 02B × B-order cyclic matrices, lower triangular matrix T is composed of 9 × 9B × B-order cyclic matrices, C is composed of 2 × 48B × B-order cyclic matrices, D is composed of 2 × 2B × B-order cyclic matrices, and E is composed of 2 × 9B × B-order cyclic matricesb × b order circulant matrix, phi ═ ET-1B+D)-1Is composed of 2 × 2 b-order cyclic matrices, phijIs formed by phiTAll circulant matrix generator polynomials in the jth block column of (2 x b), wherein superscriptΤAnd-1respectively representing transposition and inversion, j is more than or equal to 1 and less than or equal to 2, Q = T 0 E I is composed of 11 × 11 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 11,1 is equal to or more than k is equal to or less than 11, 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 9 × 11 b × b order cyclic matrices Yj,kWherein j is more than or equal to 1 and less than or equal to 9, k is more than or equal to 1 and less than or equal to 11, 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 48 segments with b bits as one segment, i.e. a ═ a1,a2,…,a48) The check vector p is equally divided into 11 segments, i.e. p ═ p (p)1,p2,…,p11),px=(p1,p2),py=(p3,p4,…,p11) The vector f is equally divided into 9 segments, i.e. f ═ f (f)1,f2,…,f9) The vector w is equally divided into 2 segments, i.e. w ═ f10,f11),[f w]=(f1,f2,…,f11) The vector q is equally divided into 9 segments, i.e. q ═ q (q)1,q2,…,q9) The vector x is equally divided into 2 segments, i.e. x ═ p10,p11),[q x]=(q1,q2,…,q11) The vector y is equally divided into 9 segments, i.e. y ═ y (y)1,y2,…,y9) 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 iteration circuit;
step 3, calculating partial check vector p by using multiplier of high density matrix and vectorx
And 4, 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)。
CN201510049687.2A 2015-01-30 2015-01-30 High speed QC-LDPC encoders based on four level production lines in DTMB Expired - Fee Related CN104539297B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510049687.2A CN104539297B (en) 2015-01-30 2015-01-30 High speed QC-LDPC encoders based on four level production lines in DTMB

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510049687.2A CN104539297B (en) 2015-01-30 2015-01-30 High speed QC-LDPC encoders based on four level production lines in DTMB

Publications (2)

Publication Number Publication Date
CN104539297A true CN104539297A (en) 2015-04-22
CN104539297B CN104539297B (en) 2018-06-19

Family

ID=52854783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510049687.2A Expired - Fee Related CN104539297B (en) 2015-01-30 2015-01-30 High speed QC-LDPC encoders based on four level production lines in DTMB

Country Status (1)

Country Link
CN (1) CN104539297B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122963A (en) * 2011-04-08 2011-07-13 中国传媒大学 Encoder and encoding method for Quasic-low-density parity-check (QC-LDPC) codes in digital television terrestrial multimedia broadcasting (DTMB) system
CN102843147A (en) * 2012-09-27 2012-12-26 苏州威士达信息科技有限公司 LDPC (Low-Density Parity-Check) encoder and encoding method in DTMB (Digital Terrestrial Multimedia Broadcasting) based on cycle right shift accumulation
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
CN102868412A (en) * 2012-09-27 2013-01-09 苏州威士达信息科技有限公司 Parallel filtering based LDPC (low-density parity-check) encoder and encoding method in deep space communication
CN102932009A (en) * 2012-11-21 2013-02-13 苏州威士达信息科技有限公司 Lookup-table based method for parallel encoding of QC-LDPC (quasi-cyclic low-density parity-check) codes in DTMB system
CN103929199A (en) * 2014-04-23 2014-07-16 荣成市鼎通电子信息科技有限公司 Full parallel input quasi-cyclic matrix multiplier based on ring shift left in DTMB

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122963A (en) * 2011-04-08 2011-07-13 中国传媒大学 Encoder and encoding method for Quasic-low-density parity-check (QC-LDPC) codes in digital television terrestrial multimedia broadcasting (DTMB) system
CN102843147A (en) * 2012-09-27 2012-12-26 苏州威士达信息科技有限公司 LDPC (Low-Density Parity-Check) encoder and encoding method in DTMB (Digital Terrestrial Multimedia Broadcasting) based on cycle right shift accumulation
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
CN102868412A (en) * 2012-09-27 2013-01-09 苏州威士达信息科技有限公司 Parallel filtering based LDPC (low-density parity-check) encoder and encoding method in deep space communication
CN102932009A (en) * 2012-11-21 2013-02-13 苏州威士达信息科技有限公司 Lookup-table based method for parallel encoding of QC-LDPC (quasi-cyclic low-density parity-check) codes in DTMB system
CN103929199A (en) * 2014-04-23 2014-07-16 荣成市鼎通电子信息科技有限公司 Full parallel input quasi-cyclic matrix multiplier based on ring shift left in DTMB

Also Published As

Publication number Publication date
CN104539297B (en) 2018-06-19

Similar Documents

Publication Publication Date Title
JP4320418B2 (en) Decoding device and receiving device
CN103248372A (en) Quasi-cyclic LDPC serial encoder based on ring shift left
CN107786211A (en) A kind of Algebraic Structure acquisition methods, coding method and the encoder of IRA QC LDPC codes
CN105099467B (en) The coding method of QC-LDPC code and code device
CN104579366B (en) High speed QC-LDPC encoder in WPAN based on three class pipeline
CN103902509A (en) ROL quasi-cyclic matrix multiplier for full parallel input in WPAN
CN103929199A (en) Full parallel input quasi-cyclic matrix multiplier based on ring shift left in DTMB
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
CN105141319A (en) High-speed QC-LDPC encoder based on three-stage pipeline in deep space communication
CN104579364B (en) High speed QC-LDPC encoders based on four level production lines in CDR
CN104518803B (en) High speed QC-LDPC encoders based on four level production lines in CMMB
CN106982063A (en) Quasi-cyclic LDPC encoder based on check matrix in WPAN
CN106972864A (en) Quasi-cyclic LDPC encoder based on check matrix in deep space communication
CN106953646A (en) Quasi-cyclic LDPC encoder based on shared mechanism
CN105245237A (en) High-speed QC-LDPC encoder based on three-level pipeline in DTMB
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
CN105356889A (en) High-speed QC-LDPC (quasi-cyclic low-density parity check) encoder based on three-stage pipeline in CDR (China Digital Radio)
US8583994B2 (en) Coding apparatus and method for handling quasi-cyclical codes
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)
CN104518804A (en) High-speed QC-LDPC encoder based on three-stage assembly line
CN105141320A (en) High-speed QC-LDPC encoder based on three-stage pipeline
CN110324048A (en) The coding method of RA-LDPC-CC and encoder in a kind of communication modulation systems
CN106982062A (en) Quasi-cyclic LDPC encoder based on shared mechanism in WPAN
CN106982064A (en) Quasi-cyclic LDPC encoder based on check matrix in CDR

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

Granted publication date: 20180619

Termination date: 20190130

CF01 Termination of patent right due to non-payment of annual fee