Specific embodiment
Disclosure of the invention includes the decoding circuit and its method of quasi-cyclic low-density parity check codes.It is being embodied as
Under the premise of possible, the art tool usually intellectual can select equivalent element according to the disclosure of this specification
Or step realizes the present invention, that is, implementation of the invention be not limited to after the embodiment chatted.
Under the considering of decoding efficiency, LDPC decoder mostly uses greatly the framework of parallel calculation.For example, quasi- circulation is low
The check matrix of density parity check code (Quasi-Cyclic Low-Density Parity-Check, QC-LDPC) includes more
A submatrix is the unit matrix (identity matrix) of 360*360, therefore QC-LDPC decoder mostly uses 360 groups
Identical decoding circuit carries out parallel decoding operation to check matrix.
Referring to Fig. 1, Fig. 1 is the decoding circuit 100 in the LDPC decoder according to depicted in one embodiment of the invention
Schematic diagram.As shown in Figure 1, decoding circuit 100 includes a memory 101, a controller 102 and 360 groups of decoding units
103-1~103-360.Memory 101 stores a check matrix H and more transmission data, and controller 102 is according to check matrix
H, once by correspond to a submatrix 360 transmission data input respectively 360 groups of decoding unit 103-1~103-360 into
Row decoding is to generate revised data;Then, revised transmission data is stored back to memory 101 again by controller 102, with complete
Secondary amendment of this 360 transmission data in pairs.Decoding unit 103-1~103-360 can be multiple processing cores or one
Multiple engines of a special application integrated circuit (application-specific integrated circuit, ASIC)
(engine), but not limited to this.About the implementation of controller 102, how transmission data is carried out with decoding unit 103
Decoding and implementation are known technology, and are not described in detail herein.
For example, referring to Fig. 2, the decoding that Fig. 2 is a check matrix H according to depicted in one embodiment of the invention is arranged
Journey schematic diagram.As shown in Fig. 2, check matrix H can be divided into 10 column in the longitudinal direction as unit of submatrix, check matrix H is with son
Matrix is that each column of unit include 4 submatrixs, and wherein submatrix can be unit matrix (shifted identity after a displacement
matrix).For example, the 1st column in check matrix H as unit of submatrix (that is, the 0th~359 column of check matrix H)
Comprising submatrix I1-1~I1-4, the 2nd column in check matrix H as unit of submatrix (that is, the 360th of check matrix H~
719 column) it include submatrix I2-1~I2-4, and so on.In other words, it includes 10*4 submatrix that check matrix H, which has altogether,
His element is " 0 ".In the present embodiment, controller 102 can be according to decoding scheduling { an I1-1~I1-4, I2-1~I2-
4 ..., I10-1~I10-4 }, 360 transmission data corresponding to submatrix are inputted into 360 groups of decoding unit 103- respectively every time
1~103-360 is decoded, to complete primary amendment to transmission data.
After transmission data has been corrected once according to above-mentioned decoding scheduling, decoding circuit 100 exports revised transmission
Data a to checking circuit (is not painted), to judge whether revised transmission data restrains.If not converged, decoding circuit 100
Transmission data is modified again according to above-mentioned decoding scheduling, until the convergence of revised transmission data.
In one embodiment, the quantity of the decoding unit in decoding circuit is smaller than 360, to reduce the manufacture of decoding circuit
Cost.For example, referring to Fig. 3, Fig. 3 is the decoding in the LDPC decoder according to depicted in another embodiment of the present invention
The schematic diagram of circuit 300.As shown in figure 3, decoding circuit 300 includes a memory 301, a controller 302 and w (w < 360)
Group decoding unit 303-1~303-w.In one embodiment, the quantity of the decoding unit in decoding circuit 300 is decoding circuit
The q/p of the quantity of decoding unit in 100, i.e. w=360 × q/p, wherein p, q are relatively prime, q/p < 1, and p is 360 factor.
However, the decoding scheduling of check matrix must especially be set when the quantity of decoding unit in decoding circuit is less than 360
Meter, otherwise will affect decoding efficiency.For example, Fig. 4 A~4C is please referred to, Fig. 4 A~4C is according to one embodiment of the invention
The decoding scheduling schematic diagram of a depicted check matrix H.Assuming that w=240 (that is, q=2 and p=3), then such as Fig. 4 A~4C institute
Show, the one first block B1 (as shown in the oblique line block of Fig. 4 A) of each submatrix includes the 1st~240 column of submatrix, each
The one second block B2 (as shown in the oblique line block of Fig. 4 B) of submatrix includes the 121st~360 column of submatrix, each submatrix
A third block B3 (as shown in the oblique line block of Fig. 4 C) include submatrix the 1st~120 and the 241st~360 arrange.
In the present embodiment, controller 302 is a processor, but the present invention is not limited thereto, in other embodiments,
Controller 302 also can for a special application integrated circuit (Application-specific integrated circuit,
ASIC), a programmable gate array (Field Programmable Gate Array, FPGA) or a Digital Signal Processing
Device, (digital signal processor, DSP).Fig. 5 is the coding/decoding method of quasi-cyclic low-density parity check codes of the present invention
An embodiment flow chart.Below in conjunction with the decoding scheduling of Fig. 5 explanatory diagram 4A~4C.Firstly, controller 302 chooses first
Block B1 (step S510), then controller 302 according to one decoding scheduling I1-1~I1-4, I2-1~I2-4 ..., I10-1~
I10-4 }, 240 transmission data corresponding to the first block B1 by submatrix input 240 groups of decoding unit 303- respectively every time
1~303-240 is decoded (step S520~S540 is executed 40 times).Then, controller 302 is decoded according to not completing still
The second block B2 (step S510) is chosen in one judgement (step S550) of block, and further in accordance with a decoding scheduling { I1-1~I1-
4, I2-1~I2-4 ..., I10-1~I10-4 }, 240 transmission data corresponding to the second block B2 by submatrix are divided every time
240 groups of decoding unit 303-1~303-240 are not inputted is decoded (i.e. step S520~S540 is executed 40 times).Then, it controls
Device 302 chooses third block B3, and further in accordance with a decoding according to still there is the judgement (step S550) for not completing decoded block
Scheduling { I1-1~I1-4, I2-1~I2-4 ..., I10-1~I10-4 }, every time corresponding to the third block B3 by submatrix
240 transmission data input 240 groups of decoding unit 303-1~303-240 respectively and are decoded (i.e. step S520~S540 execution
40 times), it finally exports revised transmission data (step S560) a to checking circuit and (is not painted), to judge revised biography
Send whether data restrains.If not converged, decoding circuit 100 is again modified transmission data according to above-mentioned decoding scheduling, directly
Until the convergence of revised transmission data.
It is worth noting that, just being exported revised after the primary amendment of completion every compared to 102 pairs of transmission data of controller
Transmission data carries out convergent judgement, and controller 302 is just exported revised after to the every completion modified twice of transmission data
Transmission data carries out convergent judgement, in this way, which convergent judgement number can be reduced, accelerates the convergence rate of transmission data,
Improve decoding efficiency.
In addition, will not continuously be decoded for the transmission data corresponding to identity element in check matrix H " 1 "
(such as 240 groups of decoding unit 303-1~303-240 first sequentially respectively to the first, second, third block B1 of submatrix I1-1,
240 transmission data corresponding to B2, B3 are decoded, then sequentially respectively to the first, second, thirdth area of submatrix I1-2
240 transmission data corresponding to block B1, B2, B3 are decoded, and so on), lead to invalid decoding.
Furthermore every time when decoding, controller 302 will not input the transmission data corresponding to different submatrixs to 240 groups of solutions
Code unit 303-1~303-240 (such as input corresponding to matrix I1-1 120 transmission data to decoding unit 303-1~
303-120, input correspond to 120 transmission data of matrix I1-2 to decoding unit 303-121~303-240, come while right
Transmission data corresponding to different submatrixs is decoded), to improve decoding efficiency.In more detail, since transmission data exists
The location mode of memory 301 is designed, when reading or being stored in transmission data corresponding to same submatrix, it is only necessary to storage
Device 301 carries out primary access, and when taking out or being stored in transmission data corresponding to different submatrixs, need to memory 301 into
The access of row more than once.Therefore, if 240 groups of decoding unit 303-1~303-240 are simultaneously to biography corresponding to 2 submatrixs
Data is sent to be decoded, controller 302 must carry out 4 accesses to memory 301 and (access 2 times when reading, when deposit accesses 2
It is secondary), in this way, lessen the decoding efficiency of decoding circuit 300.
The columns of above-mentioned check matrix H and each submatrix number for including that arranges are non-for limiting this hair only to illustrate
It is bright.
Due to the art, tool usually intellectual can understand this case by the disclosure of the device inventions of this case
Method invention implementation detail and variation, thus while the embodiment of the present invention as described above, however these embodiments be not
For limiting the present invention, the art tool usually intellectual according to the present invention can express or implicit content is to the present invention
Technical characteristic impose variation, all this kind variation may belong to patent protection scope sought by the present invention, in other words, this
The scope of patent protection of invention must regard subject to the claim institute defender of this specification.