CN104579362A - System and method for decoding LDPC code of partially-parallel decoding architecture in space communication system - Google Patents

System and method for decoding LDPC code of partially-parallel decoding architecture in space communication system Download PDF

Info

Publication number
CN104579362A
CN104579362A CN201410841848.7A CN201410841848A CN104579362A CN 104579362 A CN104579362 A CN 104579362A CN 201410841848 A CN201410841848 A CN 201410841848A CN 104579362 A CN104579362 A CN 104579362A
Authority
CN
China
Prior art keywords
addr
information
submatrix
row
data
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
CN201410841848.7A
Other languages
Chinese (zh)
Other versions
CN104579362B (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.)
Aerospace Long March Launch Vehicle Technology Co Ltd
Beijing Institute of Telemetry Technology
Original Assignee
Aerospace Long March Launch Vehicle Technology Co Ltd
Beijing Institute of Telemetry Technology
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 Aerospace Long March Launch Vehicle Technology Co Ltd, Beijing Institute of Telemetry Technology filed Critical Aerospace Long March Launch Vehicle Technology Co Ltd
Priority to CN201410841848.7A priority Critical patent/CN104579362B/en
Publication of CN104579362A publication Critical patent/CN104579362A/en
Application granted granted Critical
Publication of CN104579362B publication Critical patent/CN104579362B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention relates to a system and a method for decoding an LDPC (low density parity check) code of a partially-parallel decoding architecture in a space communication system. The system structurally comprises an iteration control unit, a channel information memory, a main memory, a variable node processing module, a check node processing module and a judgment result output buffering unit, wherein the main memory is simple in structure and is in one-to-one correspondence to a non-zero submatrix in a check matrix structure diagram; an address processing unit capable of reading data from the main memory is simple in structure and easy to implement. The partially-parallel decoding architecture is provided with a hyper-row plurality of parallel check node processing units and a hyper-column plurality of parallel variable node processing units; a node message updating algorithm is low in implementation complexity and low in resource consumption.

Description

Partially-parallel architecture LDPC code decoding system and method thereof in a kind of space communication system
Technical field
The present invention relates to partially-parallel architecture LDPC code decoding system in a kind of space communication system, belong to parallel decoding technical field.
Background technology
In space communication system, the signal that receiver receives often is subject to the impact such as fading channel and interference noise.To this, space communication system often adopts LDPC (low density parity check code) code with high channel coding gain to improve the reliability of information transmission, the error rate is reduced and approaches shannon limit.At present, LDPC code is by one of recommendation channel coding schemes of communication system of organizing as CCSDS (the Aerospace Data Systems information committee), European DVB (digital video broadcasting) etc.LDPC code commonly uses check matrix or graph model is described, Tanner figure expression be wherein more intuitively, a kind of easily, comprise two node set, variable node (variable node) set and check-node (check node) set.Each variable node corresponds to a code element of code word, and each check-node corresponds to a parity check constraint relation.Connected by limit (edge) between two node set, and node set inside connects without any limit.There is relation one to one with check matrix in Tanner figure, namely variable node is corresponding with the row in check matrix, and capable corresponding with check matrix of check-node, limit is then corresponding with the nonzero element in check matrix.The number on the limit be connected with node in Tanner figure is called the degree (degree) of node, and the degree of node is consistent with the row heavy (column weight) of check matrix.
The decoding algorithm of LDPC code has a lot, and conventional belief propagation (BP) decoding algorithm represents probability messages with log-likelihood ratio (LLR), and its algorithm steps is summarized as follows,
(1) initialization, calculating channel transfer is P to the probability of variable node i, and the likelihood ratio message data of correspondence is D (P i), then set each variable node i and be transmitted to the check-node j be adjacent, the span of j is j ∈ M i, initial information be D (0)(q i → j)=D (P i), N in formula jfor the set of the adjacent variable node i of each check-node j.
(2) check-node upgrades, and the message that calculating variable node is transmitted to check-node is D (l)(r j → i), N jfor the variable node set that a jth check-node is adjacent,
D ( l ) ( r j → i ) = 2 tanh - 1 ( Π i ′ ∈ N j \ i tanh ( D ( l - 1 ) ( q i ′ → j ) 2 ) ) - - - ( 1 )
In formula, i' ∈ N ji represent set N jthe set of middle removing i-th point, l represents this iterative decoding of l, and l-1 represents the l-1 time iterative decoding.
(3) variable node upgrades, and during the l time iteration, the message that calculation check node is transmitted to variable node is D (l)(q i → j),
D ( l ) ( q i → j ) = D ( P i ) + Σ j ′ ∈ M i \ j D ( l ) ( r j ′ → i ) - - - ( 2 )
(4) decoding judgement, the hard decision information calculating all variable nodes is D (l)(q i → j),
D ( l ) ( q i → j ) = D ( P i ) + Σ j ∈ M i D ( l ) ( r j → i ) - - - ( 3 )
If D (l)(q i) >0, be then judged to 1, otherwise be 0.Meet adjudicating the sequence obtained in formula, H represents check matrix, represent the transposition of judgement data, or reach maximum iteration time, then terminate decoding, otherwise forward 1 to).
Minimum and (MS) algorithm can be derived from BP decoding algorithm.Its check-node upgrades and can be expressed as
D ( l ) ( r j → i ) = ( Π i ′ ∈ N j \ i sgn ( D ( l - 1 ) ( q i ′ → j ) 2 ) ) · min i ′ ∈ N j \ i ( | D ( l - 1 ) ( q i ′ → j ) ) - - - ( 4 )
In formula, sgn represents that getting sign bit operates.
In addition also have minimum to minimum and normalization that the is correction of (MS) algorithm and and side-play amount minimum-sum algorithm etc., although the above decoding algorithm is through various simplification, the realization of LDPC decoding algorithm often needs very complicated calculating and more resource consumption in digital receiver.So more need simplicity of design, efficiently decoder in broadband spatial communication system.
Summary of the invention
The technical problem that the present invention solves is: overcome prior art deficiency, partially-parallel architecture LDPC code decoding system in a kind of space communication system is provided, for (8192 of code check R=1/2 in CCSDS (the Aerospace Data Systems information committee) system, 4096) LDPC code designs partially-parallel architecture LDPC code interpretation method in a kind of space communication system, the present invention has the simple main storage of distribution, be easy to the address process that realizes and the low node messages updating block of implementation complexity, this design can be applied to the ldpc decoder design of other code checks of CCSDS deep space communication standard neatly.
The technical scheme that the present invention solves is: partially-parallel architecture LDPC code decoding system in a kind of space communication system, comprises iteration control unit, channel information memory, main storage, variable node processing module, code check node processing module, court verdict output buffer cell;
Channel information memory comprises 4 dual port RAMs, the degree of depth of each RAM is L=2048, main storage comprises 15 memory RAM, namely main storage RAM1, RAM2 ..., RAM15, for the side information transmitted between storage of variables node and check-node, the code efficiency that each memory RAM correspondence defines in CCSDS standard is each non-zero submatrices in the check matrix H of the quasi-cyclic LDPC code of R=1/2, each memory RAM degree of depth is L=2048, namely main storage RAM1, RAM2 ..., RAM15 is respectively corresponding as follows:
The submatrix I that RAM1 correspondence super row S1 is corresponding with the H2 that is out of the line l;
The submatrix I that RAM2 correspondence super row S1 is corresponding with the H3 that is out of the line l;
The submatrix I that RAM3 correspondence super row S2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM4 correspondence super row S2 is corresponding with the H3 that is out of the line 5;
The submatrix Π that RAM5 correspondence super row S2 is corresponding with the H3 that is out of the line 6;
The submatrix I that RAM6 correspondence super row P1 is corresponding with the H1 that is out of the line l;
The submatrix I that RAM7 correspondence super row P2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM8 correspondence super row P2 is corresponding with the H3 that is out of the line 7;
The submatrix Π that RAM9 correspondence super row P2 is corresponding with the H3 that is out of the line 8;
The submatrix I that RAM10 correspondence super row P3 is corresponding with the H1 that is out of the line l;
The submatrix Π that RAM11 correspondence super row P3 is corresponding with the H1 that is out of the line 1;
The submatrix Π that RAM12 correspondence super row P3 is corresponding with the H2 that is out of the line 2;
The submatrix Π that RAM13 correspondence super row P3 is corresponding with the H2 that is out of the line 3;
The submatrix Π that RAM14 correspondence super row P3 is corresponding with the H2 that is out of the line 4;
The submatrix I that RAM15 correspondence super row P3 is corresponding with the H3 that is out of the line l;
The row of check matrix H is divided into 3 to be out of the line being respectively H1, H2, H3, and H1 is that 0-2047 is capable, H2 is that 2048-4095 is capable, H3 is that 4096-6143 is capable; The row of check matrix H are divided into 5 super row S1, S2, P1, P2, P3, S1 is that 0-2047 arranges, S2 is 2048-4095 row, P1 is 4096-6143 row, P2 is 6144-8191 row, P3 is 8192-10239 row, and this matrix trace inequality as shown in Figure 1;
Variable node processing module comprises these 5 variable node processing unit of VNU1, VNU2, VNU3, VNU4 and VNU5, and variable node processing unit is that 5 roads walk abreast;
Check-node address processing module comprises these three code check node processing unit of CNU1, CNU2, CNU3, and CNU1, CNU2, CNU3 are that 3 roads walk abreast;
Channel information memory cell receives and stores these frame likelihood information data current of digital receiver demodulation, and this likelihood information data sequence is stored in 4 RAM of channel information memory cell, one frame likelihood information data are 8192, after this frame receives, channel information memory cell produces one and receives signal and send to iteration control unit, and channel information memory cell receives 8192 data of next frame simultaneously by ping-pong operation;
Iteration control unit sends decoding commencing signal to channel information memory cell after receiving and receiving signal, channel information memory cell receives decoding commencing signal, by the likelihood information data sequence ground parallel output 4 circuit-switched data D_llr in 4 RAM to variable node processing module
4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, this 4 circuit-switched data D_llr is delivered to VNU1 respectively, VNU2, VNU3, VNU4, 0 value is delivered to VNU5, variable node processing module is from the RAM1 main storage simultaneously, RAM2, according to the RAM1 in memory in RAM15, RAM2, the order reading address Addr_VN of RAM15 reads RAM1, RAM2, side information D_a1 in RAM15, if the 1st iteration, the side information D_a1=0 then taken out from main storage, defining by iteration control unit the order reading address Addr_VN is 0, 1, 2, 2047, respectively side information D_a1 is delivered to VNU1 in the following manner, VNU2, VNU3, VNU4, VNU5:
The data of RAM1, RAM2 are sequentially read according to Addr_VN and gives VNU1;
The data of RAM3 ~ RAM5 are sequentially read according to Addr_VN and gives VNU2;
The data of RAM6 are sequentially read according to Addr_VN and gives VNU3;
The data of RAM7 ~ RAM9 are sequentially read according to Addr_VN and gives VNU4;
The data of RAM10 ~ RAM15 are sequentially read according to Addr_VN and gives VNU5;
Calculate the likelihood information upgraded according to D_llr and D_a1, obtain the side information D_e1 after upgrading; By the side information D_e1 after upgrading according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN identical with write address Addr_VN numerical value, difference is that allocating time is different, generates by iteration control unit, for sequence address 0,1,2 ..., 2047;
What iteration control unit produced check-node address processing module reads address Addr_CN, Addr_CN comprises Addr_CN1, Addr_CN2 ..., Addr_CN15, Addr_CN1, Addr_CN2 ..., Addr_CN15 by step (3) main storage RAM1, RAM2 ..., submatrix that RAM15 is corresponding calculates;
Code check node processing module according to reading address Addr_CN, from main storage RAM1, RAM2 ..., read side information D_e1 in the following manner in RAM15, be designated as side information D_a2, deliver to CNU1, CNU2, CNU3 in check-node address processing module;
Data by RAM10, RAM11 give CNU1 according to Addr_CN10, Addr_CN11 reading;
The data of RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 are read according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 respectively and gives CNU2;
The data of RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 are read according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 respectively and gives CNU3;
The likelihood information upgraded is calculated, the side information D_e2 after again being upgraded according to the side information D_a2 obtained;
By the side information D_e2 after renewal according to address Addr_CN1, Addr_CN2 ..., Addr_CN15 write respectively RAM1 in main storage, RAM2 ..., after RAM15, this time iteration settling signal is sent to iteration control unit, read address Addr_CN identical with write address Addr_CN numerical value, difference is that allocating time is different, generates by iteration control unit;
Iteration control unit receives this time iteration settling signal, start next iteration, until reach the maximum iteration time M of this frame of setting, produce decoding termination signal Dec_E, then, the side information D_e1 ' obtained after last iteration being completed is 0 and 1 according to positive and negative judgement, namely D_e1 ' is just, judgement is 1, D_e1 ' is negative, judgement is 0, this court verdict exports buffer cell by court verdict and exports court verdict, this frame coding is complete, carry out the decoding of next frame subsequently, until all frame likelihood information data decodings of digital receiver demodulation complete.
The check matrix of described check matrix H to be the code check defined in CCSDS standard the be quasi-cyclic LDPC code of R=1/2, the code word size N of this quasi-cyclic LDPC code is 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as:
H = 0 L 0 L I L 0 L I L ⊕ Π 1 I L I L 0 L I L Π 2 ⊕ Π 3 ⊕ Π 4 I L Π 5 ⊕ Π 6 0 L Π 7 ⊕ Π 8 I L
I in matrix H lwith 0 lbe respectively 2048 × 2048 dimension unit matrix and 0 matrixes, Π k(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, this displacement battle array Π kt capable (t=0,1,2 ..., 2047) the column position π of nonzero element k(t) be:
In formula, L=2048, mod represent modular arithmetic, represent and 4t/L is rounded downwards, column position π kfunction # in (t) kwith value see in CCSDS standard CC SDS 131.1-O-2 show 3-3, table 3-4, there is accurate cycle characteristics.
Described Addr_CN is that the check matrix H of (8192,4096) LDPC code of R=1/2 calculates according to code check in CCSDS standard.
Described D_llr and D_a1 calculates the likelihood information upgraded, and the step obtaining the side information D_e1 after upgrading is as follows:
If n-th, n is 1,2,3,4,5, it is positive integer that variable node processing unit reads m information D_a1, m from main storage, m ' is 1,2 ... m, m ' represent the sequence number of the individual information of m ' in m information, the individual information D_a1 of m ' (m ') the corresponding lastest imformation D_e1 channel likelihood information D_llr that equals to read from channel information memory adds other m-1 information D_a1 outside the individual information D_a1 of removing m ' (m ').
Described D_a2 calculates the likelihood information upgraded, and the step obtaining the side information D_e2 after upgrading is as follows:
(1) p is established, p is 1,2,3, it is positive integer that code check node processing unit reads k information D_a2, k from main storage, k ' is 1,2 ... the sequence number of k, k ' represent kth ' in k information individual information, kth ' individual information D_a2 (k ') sign bit of corresponding lastest imformation D_e2 is operating as: removing kth ' individual lastest imformation D_a2 (k ') outside the XOR of k-1 D_a2 sign bit;
(2) amplitude of k information D_a2 is compared, try to achieve amplitude min value and amplitude sub-minimum, these two values are multiplied by normalization factor α by correction value multiplier, by amplitude min value and kth ' compared with the amplitude of individual information, if identical, then export sub-minimum, if different, then export minimum value, the scope of α is 0 ~ 1;
(3) according to the sign bit of step (1) and the range value of step (2), the side information D_e2 after upgrading is obtained.
Obtain after described last iteration completes equal last iteration for the information D_e1 ' adjudicating output time the channel likelihood information D_llr that reads from channel information memory add m information D_a1's (m) and value.
Partially-parallel architecture LDPC code interpretation method in a kind of space communication system, comprises and divides LDPC check matrix stage and pipeline system Partly parallel decoding stage:
Described division LDPC check matrix stage etch is as follows:
(1) code check defined in CCSDS standard is the quasi-cyclic LDPC code of R=1/2, and the code word size N of this quasi-cyclic LDPC code is 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as
H = 0 L 0 L I L 0 L I L ⊕ Π 1 I L I L 0 L I L Π 2 ⊕ Π 3 ⊕ Π 4 I L Π 5 ⊕ Π 6 0 L Π 7 ⊕ Π 8 I L
I in matrix H lwith 0 lbe respectively 2048 × 2048 dimension unit matrix and 0 matrixes, Π k(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, this displacement battle array Π kt capable (t=0,1,2 ..., 2047) the column position π of nonzero element k(t) be:
In formula, L=2048, mod represent modular arithmetic, represent and 4t/L is rounded downwards, column position π kfunction # in (t) kwith value see in CCSDS standard CC SDS 131.1-O-2 show 3-3, table 3-4, there is accurate cycle characteristics;
(2) be divided into 3 to be out of the line the row of the check matrix H of step (1) to be respectively: H1 (0-2047 is capable), H2 (2048-4095 is capable), H3 (4096-6143 is capable); 5 super row are divided into by the row of check matrix H to be respectively S1 (0-2047 row), S2 (2048-4095 row), P1 (4096-6143 row), P2 (6144-8191 row), P3 (8192-10239 row);
(3) data storage of definition needed for decoding comprises: channel information memory, main storage and decoding export buffer unit; Channel information memory is used for buffer memory channel likelihood information, and comprise 4 dual port RAMs, the degree of depth of each RAM is 2048; Main storage comprises 15 memory RAM, namely main storage RAM1, RAM2 ..., RAM15, for the side information transmitted between storage of variables node and check-node, each non-zero submatrices in the corresponding check matrix H of each memory RAM, each memory RAM degree of depth is 2048, namely main storage RAM1, RAM2 ..., RAM15 is respectively corresponding:
The submatrix I that RAM1 correspondence super row S1 is corresponding with the H2 that is out of the line l;
The submatrix I that RAM2 correspondence super row S1 is corresponding with the H3 that is out of the line l;
The submatrix I that RAM3 correspondence super row S2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM4 correspondence super row S2 is corresponding with the H3 that is out of the line 5;
The submatrix Π that RAM5 correspondence super row S2 is corresponding with the H3 that is out of the line 6;
The submatrix I that RAM6 correspondence super row P1 is corresponding with the H1 that is out of the line l;
The submatrix I that RAM7 correspondence super row P2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM8 correspondence super row P2 is corresponding with the H3 that is out of the line 7;
The submatrix Π that RAM9 correspondence super row P2 is corresponding with the H3 that is out of the line 8;
The submatrix I that RAM10 correspondence super row P3 is corresponding with the H1 that is out of the line l;
The submatrix Π that RAM11 correspondence super row P3 is corresponding with the H1 that is out of the line 1;
The submatrix Π that RAM12 correspondence super row P3 is corresponding with the H2 that is out of the line 2;
The submatrix Π that RAM13 correspondence super row P3 is corresponding with the H2 that is out of the line 3;
The submatrix Π that RAM14 correspondence super row P3 is corresponding with the H2 that is out of the line 4;
The submatrix I that RAM15 correspondence super row P3 is corresponding with the H3 that is out of the line l;
Decoding exports buffer unit for exporting decode results;
Described pipeline system Partly parallel decoding stage etch is as follows:
(4) channel information memory cell receives and stores these frame likelihood information data current of digital receiver demodulation, and this likelihood information data sequence is stored in 4 RAM of channel information memory cell, one frame likelihood information data are 8192, after this frame receives, channel information memory cell produces one and receives signal and send to iteration control unit, and channel information memory cell receives 8192 data of next frame simultaneously by ping-pong operation;
(5) iteration control unit sends decoding commencing signal to channel information memory cell; Channel information memory cell receives decoding commencing signal, by the likelihood information data sequence ground parallel output 4 circuit-switched data D_llr in 4 RAM to variable node processing module;
(6) 4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, variable node processing module comprises VNU1, VNU2, VNU3, these 5 variable node processing unit of VNU4 and VNU5, this 4 circuit-switched data D_llr is delivered to VNU1 respectively, VNU2, VNU3, VNU4, 0 value is delivered to VNU5, variable node processing module is from the RAM1 main storage simultaneously, RAM2, according to the RAM1 in memory in RAM15, RAM2, the order reading address Addr_VN of RAM15 reads RAM1, RAM2, side information D_a1 in RAM15, if the 1st iteration, the side information D_a1=0 then taken out from main storage, defining by iteration control unit the order reading address Addr_VN is 0, 1, 2, 2047, respectively side information D_a1 is delivered to VNU1 in the following manner, VNU2, VNU3, VNU4, VNU5, variable node processing unit is that 5 roads walk abreast:
The data of RAM1, RAM2 are sequentially read according to Addr_VN and gives VNU1;
The data of RAM3 ~ RAM5 are sequentially read according to Addr_VN and gives VNU2;
The data of RAM6 are sequentially read according to Addr_VN and gives VNU3;
The data of RAM7 ~ RAM9 are sequentially read according to Addr_VN and gives VNU4;
The data of RAM10 ~ RAM15 are sequentially read according to Addr_VN and gives VNU5;
(7) calculate the likelihood information upgraded according to D_llr and D_a1 obtained in step (6), obtain the side information D_e1 after upgrading;
(8) by the side information D_e2 after upgrading in step (7) according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN identical with write address Addr_VN numerical value, difference is that allocating time is different, generate by iteration control unit, for sequence address 0,1,2 ..., 2047;
(9) what iteration control unit produced code check node processing module reads address Addr_CN, Addr_CN comprises Addr_CN1, Addr_CN2 ... Addr_CN15, Addr_CN1, Addr_CN2 ... Addr_CN15 by step (3) main storage RAM1, RAM2 ..., submatrix that RAM15 is corresponding calculates;
Code check node processing module comprises CNU1, CNU2, CNU3, code check node processing module is according to reading address Addr_CN, from main storage RAM1, RAM2 ..., side information D_e1 in RAM15 in the following manner in reading step (8), be designated as side information D_a2, deliver to CNU1, CNU2, the CNU3 in code check node processing module, CNU1, CNU2, CNU3 of code check node processing module are that 3 roads walk abreast;
Data by RAM10, RAM11 give CNU1 according to Addr_CN10, Addr_CN11 reading;
The data of RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 are read according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 respectively and gives CNU2;
The data of RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 are read according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 respectively and gives CNU3;
(10) calculate the likelihood information upgraded according to the D_a2 obtained in step (9), obtain the side information D_e2 after upgrading;
(11) by the side information D_e2 after upgrading in step (10) according to address Addr_CN1, Addr_CN2 ... Addr_CN15 write respectively RAM1 in main storage, RAM2 ..., after RAM15, this time iteration settling signal is sent to iteration control unit, read address Addr_CN identical with write address Addr_CN numerical value, difference is that allocating time is different, generates by iteration control unit;
(12) iteration control unit receives this time iteration settling signal of step (11), start next iteration, namely step is repeated according to step (5) ~ step (12), until reach the maximum iteration time M of this frame of setting, produce decoding termination signal Dec_E, then, the D_e1 ' obtained after last iteration being completed is 0 and 1 according to positive and negative judgement, namely D_e1 ' is just, judgement is 1, D_e1 ' is negative, judgement is 0, this court verdict exports buffer cell by court verdict and exports court verdict, this frame coding is complete, return the decoding that step (4) carries out next frame subsequently, until all frame likelihood information data decodings of digital receiver demodulation complete.
Described step (9) and the Addr_CN described in (11) are that the H matrix computations of (8192,4096) LDPC code of R=1/2 obtains according to code check in CCSDS standard.
: in described step (7), D_llr and D_a1 calculates the likelihood information upgraded, and the step obtaining the side information D_e1 after upgrading is as follows:
If n-th, n is 1,2,3,4,5, it is positive integer that variable node processing unit reads m information D_a1, m from main storage, m ' is 1,2 ... m, m ' represent the sequence number of the individual information of m ' in m information, the individual information D_a1 of m ' (m ') the corresponding lastest imformation D_e1 channel likelihood information D_llr that equals to read from channel information memory adds other m-1 information D_a1 outside the individual information D_a1 of removing m ' (m ').
In described step (10), D_a2 calculates the likelihood information upgraded, and the step obtaining the side information D_e2 after upgrading is as follows:
(1) p is established, p is 1,2,3, it is positive integer that code check node processing unit reads k information D_a2, k from main storage, k ' is 1,2 ... the sequence number of k, k ' represent kth ' in k information individual information, kth ' individual information D_a2 (k ') sign bit of corresponding lastest imformation D_e2 is operating as: removing kth ' individual lastest imformation D_a2 (k ') outside the XOR of k-1 D_a2 sign bit;
(2) amplitude of k information D_a2 is compared, try to achieve amplitude min value and amplitude sub-minimum, these two values are multiplied by normalization factor α by correction value multiplier, by amplitude min value and kth ' compared with the amplitude of individual information, if identical, then export sub-minimum, if different, then export minimum value, the scope of α is 0 ~ 1;
(3) according to the sign bit of step (1) and the range value of step (2), the side information D_e2 after upgrading is obtained.
The channel likelihood information D_llr that what in described step (12), last iteration obtained after completing read when equaling last iteration for the information D_e1 ' adjudicating output from channel information memory add m information D_a1's (m) and value.
The present invention's advantage is compared with prior art:
(1) in the present invention for (8192 of code check R=1/2 in CCSDS system, 4096) the check matrix structure chart of LDPC code has the advantages that to be out of the line, to surpass row, devise the simple main storage of structure, with non-zero submatrices one_to_one corresponding in check matrix structure chart; The address processing unit structure reading data from main storage is simple, be easy to realize.
(2) Partly parallel decoding structural design of the present invention several parallel code check node processing unit that is out of the line, a super columns parallel variable node processing unit, the implementation complexity of node messages update algorithm is low, and institute's cost source is few.
(3) decoding performance of the Partly parallel decoding designed by the present invention is good, and coding gain can reach 9dB.Meanwhile, this Partly parallel decoding structure extends to other code efficiency LDPC code words.
Accompanying drawing explanation
Fig. 1 is the check matrix structure chart of LDPC code word in interpretation method of the present invention;
Fig. 2 is the system block diagram of the partially-parallel architecture of interpretation method of the present invention;
Fig. 3 is the schematic diagram of the address Addr_CN that in the structure of interpretation method of the present invention, code check node processing is used;
Fig. 4 is subframe Π in the structure of interpretation method of the present invention 1the read/write address Addr_CN schematic diagram of corresponding main storage.
Embodiment
Below in conjunction with the drawings and specific embodiments, the present invention is described in further detail:
As shown in Figure 2, partially-parallel architecture LDPC code decoding system in a kind of space communication system, comprises iteration control unit, channel information memory, main storage, variable node processing module, code check node processing module, court verdict output buffer cell;
Channel information memory comprises 4 dual port RAMs, the degree of depth of each RAM is L=2048, main storage comprises 15 memory RAM, namely main storage RAM1, RAM2 ..., RAM15, for the side information transmitted between storage of variables node and check-node, the code efficiency that each memory RAM correspondence defines in CCSDS standard is each non-zero submatrices in the check matrix H of the quasi-cyclic LDPC code of R=1/2, each memory RAM degree of depth is L=2048, namely main storage RAM1, RAM2 ..., RAM15 is respectively corresponding as follows:
The submatrix I that RAM1 correspondence super row S1 is corresponding with the H2 that is out of the line l;
The submatrix I that RAM2 correspondence super row S1 is corresponding with the H3 that is out of the line l;
The submatrix I that RAM3 correspondence super row S2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM4 correspondence super row S2 is corresponding with the H3 that is out of the line 5;
The submatrix Π that RAM5 correspondence super row S2 is corresponding with the H3 that is out of the line 6;
The submatrix I that RAM6 correspondence super row P1 is corresponding with the H1 that is out of the line l;
The submatrix I that RAM7 correspondence super row P2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM8 correspondence super row P2 is corresponding with the H3 that is out of the line 7;
The submatrix Π that RAM9 correspondence super row P2 is corresponding with the H3 that is out of the line 8;
The submatrix I that RAM10 correspondence super row P3 is corresponding with the H1 that is out of the line l;
The submatrix Π that RAM11 correspondence super row P3 is corresponding with the H1 that is out of the line 1;
The submatrix Π that RAM12 correspondence super row P3 is corresponding with the H2 that is out of the line 2;
The submatrix Π that RAM13 correspondence super row P3 is corresponding with the H2 that is out of the line 3;
The submatrix Π that RAM14 correspondence super row P3 is corresponding with the H2 that is out of the line 4;
The submatrix I that RAM15 correspondence super row P3 is corresponding with the H3 that is out of the line l;
The row of check matrix H is divided into 3 to be out of the line being respectively H1, H2, H3, and H1 is that 0-2047 is capable, H2 is that 2048-4095 is capable, H3 is that 4096-6143 is capable; The row of check matrix H are divided into 5 super row S1, S2, P1, P2, P3, S1 is that 0-2047 arranges, S2 is 2048-4095 row, P1 is 4096-6143 row, P2 is 6144-8191 row, P3 is 8192-10239 row, and this matrix trace inequality as shown in Figure 1;
Variable node processing module comprises these 5 variable node processing unit of VNU1, VNU2, VNU3, VNU4 and VNU5, and variable node processing unit is that 5 roads walk abreast;
Check-node address processing module comprises these three code check node processing unit of CNU1, CNU2, CNU3, and CNU1, CNU2, CNU3 are that 3 roads walk abreast;
Channel information memory cell receives and stores these frame likelihood information data current of digital receiver demodulation, and this likelihood information data sequence is stored in 4 RAM of channel information memory cell, one frame likelihood information data are 8192, after this frame receives, channel information memory cell produces one and receives signal and send to iteration control unit, and channel information memory cell receives 8192 data of next frame simultaneously by ping-pong operation;
Iteration control unit sends decoding commencing signal to channel information memory cell after receiving and receiving signal, channel information memory cell receives decoding commencing signal, by the likelihood information data sequence ground parallel output 4 circuit-switched data D_llr in 4 RAM to variable node processing module
4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, this 4 circuit-switched data D_llr is delivered to VNU1 respectively, VNU2, VNU3, VNU4, 0 value is delivered to VNU5, variable node processing module is from the RAM1 main storage simultaneously, RAM2, according to the RAM1 in memory in RAM15, RAM2, the order reading address Addr_VN of RAM15 reads RAM1, RAM2, side information D_a1 in RAM15, if the 1st iteration, the side information D_a1=0 then taken out from main storage, defining by iteration control unit the order reading address Addr_VN is 0, 1, 2, 2047, respectively side information D_a1 is delivered to VNU1 in the following manner, VNU2, VNU3, VNU4, VNU5:
The data of RAM1, RAM2 are sequentially read according to Addr_VN and gives VNU1;
The data of RAM3 ~ RAM5 are sequentially read according to Addr_VN and gives VNU2;
The data of RAM6 are sequentially read according to Addr_VN and gives VNU3;
The data of RAM7 ~ RAM9 are sequentially read according to Addr_VN and gives VNU4;
The data of RAM10 ~ RAM15 are sequentially read according to Addr_VN and gives VNU5;
Calculate the likelihood information upgraded according to D_llr and D_a1, obtain the side information D_e1 after upgrading; By the side information D_e1 after upgrading according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN identical with write address Addr_VN numerical value, difference is that allocating time is different, generates by iteration control unit, for sequence address 0,1,2 ..., 2047;
What iteration control unit produced check-node address processing module reads address Addr_CN, Addr_CN comprises Addr_CN1, Addr_CN2 ..., Addr_CN15, Addr_CN1, Addr_CN2 ..., Addr_CN15 by step (3) main storage RAM1, RAM2 ..., submatrix that RAM15 is corresponding calculates;
Code check node processing module according to reading address Addr_CN, from main storage RAM1, RAM2 ..., read side information D_e1 in the following manner in RAM15, be designated as side information D_a2, deliver to CNU1, CNU2, CNU3 in check-node address processing module;
Data by RAM10, RAM11 give CNU1 according to Addr_CN10, Addr_CN11 reading;
The data of RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 are read according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 respectively and gives CNU2;
The data of RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 are read according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 respectively and gives CNU3;
The likelihood information upgraded is calculated, the side information D_e2 after again being upgraded according to the side information D_a2 obtained;
By the side information D_e2 after renewal according to address Addr_CN1, Addr_CN2 ..., Addr_CN15 write respectively RAM1 in main storage, RAM2 ..., after RAM15, this time iteration settling signal is sent to iteration control unit, read address Addr_CN identical with write address Addr_CN numerical value, difference is that allocating time is different, generates by iteration control unit;
Iteration control unit receives this time iteration settling signal, start next iteration, until reach the maximum iteration time M of this frame of setting, produce decoding termination signal Dec_E, then, the side information D_e1 ' obtained after last iteration being completed is 0 and 1 according to positive and negative judgement, namely D_e1 ' is just, judgement is 1, D_e1 ' is negative, judgement is 0, this court verdict exports buffer cell by court verdict and exports court verdict, this frame coding is complete, carry out the decoding of next frame subsequently, until all frame likelihood information data decodings of digital receiver demodulation complete.
The check matrix of described check matrix H to be the code check defined in CCSDS standard the be quasi-cyclic LDPC code of R=1/2, the code word size N of this quasi-cyclic LDPC code is 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as:
H = 0 L 0 L I L 0 L I L ⊕ Π 1 I L I L 0 L I L Π 2 ⊕ Π 3 ⊕ Π 4 I L Π 5 ⊕ Π 6 0 L Π 7 ⊕ Π 8 I L
I in matrix H lwith 0 lbe respectively 2048 × 2048 dimension unit matrix and 0 matrixes, Π k(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, this displacement battle array Π kt capable (t=0,1,2 ..., 2047) the column position π of nonzero element k(t) be:
In formula, L=2048, mod represent modular arithmetic, represent and 4t/L is rounded downwards, column position π kfunction # in (t) kwith value see in CCSDS standard CC SDS 131.1-O-2 show 3-3, table 3-4, there is accurate cycle characteristics.
Described Addr_CN is that the check matrix H of (8192,4096) LDPC code of R=1/2 calculates according to code check in CCSDS standard.
Described D_llr and D_a1 calculates the likelihood information upgraded, and the step obtaining the side information D_e1 after upgrading is as follows:
If n-th, n is 1,2,3,4,5, it is positive integer that variable node processing unit reads m information D_a1, m from main storage, m ' is 1,2 ... m, m ' represent the sequence number of the individual information of m ' in m information, the individual information D_a1 of m ' (m ') the corresponding lastest imformation D_e1 channel likelihood information D_llr that equals to read from channel information memory adds other m-1 information D_a1 outside the individual information D_a1 of removing m ' (m ').
Described D_a2 calculates the likelihood information upgraded, and the step obtaining the side information D_e2 after upgrading is as follows:
(1) p is established, p is 1,2,3, it is positive integer that code check node processing unit reads k information D_a2, k from main storage, k ' is 1,2 ... the sequence number of k, k ' represent kth ' in k information individual information, kth ' individual information D_a2 (k ') sign bit of corresponding lastest imformation D_e2 is operating as: removing kth ' individual lastest imformation D_a2 (k ') outside the XOR of k-1 D_a2 sign bit;
(2) amplitude of k information D_a2 is compared, try to achieve amplitude min value and amplitude sub-minimum, these two values are multiplied by normalization factor α by correction value multiplier, by amplitude min value and kth ' compared with the amplitude of individual information, if identical, then export sub-minimum, if different, then export minimum value, the scope of α is 0 ~ 1;
(3) according to the sign bit of step (1) and the range value of step (2), the side information D_e2 after upgrading is obtained.
Obtain after described last iteration completes equal last iteration for the information D_e1 ' adjudicating output time the channel likelihood information D_llr that reads from channel information memory add m information D_a1's (m) and value.
Partially-parallel architecture LDPC code interpretation method in a kind of space communication system, comprises and divides LDPC check matrix stage and pipeline system Partly parallel decoding stage:
Divide LDPC check matrix stage etch as follows:
(1) code check defined in CCSDS standard is the quasi-cyclic LDPC code of R=1/2, and the code word size N of this quasi-cyclic LDPC code is 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as
H = 0 L 0 L I L 0 L I L ⊕ Π 1 I L I L 0 L I L Π 2 ⊕ Π 3 ⊕ Π 4 I L Π 5 ⊕ Π 6 0 L Π 7 ⊕ Π 8 I L
I in matrix H lwith 0 lbe respectively 2048 × 2048 dimension unit matrix and 0 matrixes, Π k(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, this displacement battle array Π kt capable (t=0,1,2 ..., 2047) the column position π of nonzero element k(t) be:
In formula, L=2048, mod represent modular arithmetic, represent and 4t/L is rounded downwards, column position π kfunction # in (t) kwith value see in CCSDS standard CC SDS 131.1-O-2 show 3-3, table 3-4, there is accurate cycle characteristics;
(2) be divided into 3 to be out of the line the row of the check matrix H of step (1) to be respectively: H1 (0-2047 is capable), H2 (2048-4095 is capable), H3 (4096-6143 is capable); Be divided into by the row of check matrix H 5 super row to be respectively S1 (0-2047 row), S2 (2048-4095 row), P1 (4096-6143 row), P2 (6144-8191 row), P3 (8192-10239 row), this matrix trace inequality as shown in Figure 1;
(3) data storage of definition needed for decoding comprises: channel information memory, main storage and decoding export buffer unit; Channel information memory is used for buffer memory channel likelihood information, and comprise 4 dual port RAMs, the degree of depth of each RAM is 2048; Main storage comprises 15 memory RAM, namely main storage RAM1, RAM2 ..., RAM15, for the side information transmitted between storage of variables node and check-node, each non-zero submatrices in the corresponding check matrix H of each memory RAM, each memory RAM degree of depth is 2048, namely main storage RAM1, RAM2 ..., RAM15 is respectively corresponding:
The submatrix I that RAM1 correspondence super row S1 is corresponding with the H2 that is out of the line l;
The submatrix I that RAM2 correspondence super row S1 is corresponding with the H3 that is out of the line l;
The submatrix I that RAM3 correspondence super row S2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM4 correspondence super row S2 is corresponding with the H3 that is out of the line 5;
The submatrix Π that RAM5 correspondence super row S2 is corresponding with the H3 that is out of the line 6;
The submatrix I that RAM6 correspondence super row P1 is corresponding with the H1 that is out of the line l;
The submatrix I that RAM7 correspondence super row P2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM8 correspondence super row P2 is corresponding with the H3 that is out of the line 7;
The submatrix Π that RAM9 correspondence super row P2 is corresponding with the H3 that is out of the line 8;
The submatrix I that RAM10 correspondence super row P3 is corresponding with the H1 that is out of the line l;
The submatrix Π that RAM11 correspondence super row P3 is corresponding with the H1 that is out of the line 1;
The submatrix Π that RAM12 correspondence super row P3 is corresponding with the H2 that is out of the line 2;
The submatrix Π that RAM13 correspondence super row P3 is corresponding with the H2 that is out of the line 3;
The submatrix Π that RAM14 correspondence super row P3 is corresponding with the H2 that is out of the line 4;
The submatrix I that RAM15 correspondence super row P3 is corresponding with the H3 that is out of the line l;
Decoding exports buffer unit for exporting decode results;
Pipeline system Partly parallel decoding stage etch is as follows:
(4) channel information memory cell receives and stores these frame likelihood information data current of digital receiver demodulation, and this likelihood information data sequence is stored in 4 RAM of channel information memory cell, one frame likelihood information data are 8192, after this frame receives, channel information memory cell produces one and receives signal and send to iteration control unit, and channel information memory cell receives 8192 data of next frame simultaneously by ping-pong operation;
(5) iteration control unit sends decoding commencing signal to channel information memory cell; Channel information memory cell receives decoding commencing signal, by the likelihood information data sequence ground parallel output 4 circuit-switched data D_llr in 4 RAM to variable node processing module;
(6) 4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, variable node processing module comprises VNU1, VNU2, VNU3, these 5 variable node processing unit of VNU4 and VNU5, this 4 circuit-switched data D_llr is delivered to VNU1 respectively, VNU2, VNU3, VNU4, 0 value is delivered to VNU5, variable node processing module is from the RAM1 main storage simultaneously, RAM2, according to the RAM1 in memory in RAM15, RAM2, the order reading address Addr_VN of RAM15 reads RAM1, RAM2, side information D_a1 in RAM15, if the 1st iteration, the side information D_a1=0 then taken out from main storage, defining by iteration control unit the order reading address Addr_VN is 0, 1, 2, 2047, respectively side information D_a1 is delivered to VNU1 in the following manner, VNU2, VNU3, VNU4, VNU5, variable node processing unit is that 5 roads walk abreast:
The data of RAM1, RAM2 are sequentially read according to Addr_VN and gives VNU1;
The data of RAM3 ~ RAM5 are sequentially read according to Addr_VN and gives VNU2;
The data of RAM6 are sequentially read according to Addr_VN and gives VNU3;
The data of RAM7 ~ RAM9 are sequentially read according to Addr_VN and gives VNU4;
The data of RAM10 ~ RAM15 are sequentially read according to Addr_VN and gives VNU5;
(7) calculate the likelihood information upgraded according to D_llr and D_a1 obtained in step (6), obtain the side information D_e1 after upgrading;
(8) by the side information D_e2 after upgrading in step (7) according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN identical with write address Addr_VN numerical value, difference is that allocating time is different, generate by iteration control unit, for sequence address 0,1,2 ..., 2047;
(9) what iteration control unit produced code check node processing module reads address Addr_CN, Addr_CN comprises Addr_CN1, Addr_CN2 ... Addr_CN15, Addr_CN1, Addr_CN2 ... Addr_CN15 by step (3) main storage RAM1, RAM2 ..., submatrix that RAM15 is corresponding calculates;
Code check node processing module comprises CNU1, CNU2, CNU3, code check node processing module is according to reading address Addr_CN, from main storage RAM1, RAM2 ..., side information D_e1 in RAM15 in the following manner in reading step (8), be designated as side information D_a2, deliver to CNU1, CNU2, the CNU3 in code check node processing module, CNU1, CNU2, CNU3 of code check node processing module are that 3 roads walk abreast;
Data by RAM10, RAM11 give CNU1 according to Addr_CN10, Addr_CN11 reading;
The data of RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 are read according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 respectively and gives CNU2;
The data of RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 are read according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 respectively and gives CNU3;
(10) calculate the likelihood information upgraded according to the D_a2 obtained in step (9), obtain the side information D_e2 after upgrading;
(11) by the side information D_e2 after upgrading in step (10) according to address Addr_CN1, Addr_CN2 ... Addr_CN15 write respectively RAM1 in main storage, RAM2 ..., after RAM15, this time iteration settling signal is sent to iteration control unit, read address Addr_CN identical with write address Addr_CN numerical value, difference is that allocating time is different, generates by iteration control unit;
(12) iteration control unit receives this time iteration settling signal of step (11), start next iteration, namely step is repeated according to step (5) ~ step (12), until reach the maximum iteration time M of this frame of setting, produce decoding termination signal Dec_E, then, the D_e1 ' obtained after last iteration being completed is 0 and 1 according to positive and negative judgement, namely D_e1 ' is just, judgement is 1, D_e1 ' is negative, judgement is 0, this court verdict exports buffer cell by court verdict and exports court verdict, this frame coding is complete, return the decoding that step (4) carries out next frame subsequently, until all frame likelihood information data decodings of digital receiver demodulation complete.
Step (9) and the Addr_CN described in (11) are that the H matrix computations of (8192,4096) LDPC code of R=1/2 obtains according to code check in CCSDS standard.Such as with super, submatrix I corresponding to P3 is arranged for the H1 that is out of the line l, Π 1be respectively as shown in Figure 4.So the value of address Addr_CN is 1644,1645 ..., 2047,1536,1537 ..., 1643,0,1 ..., 1535.In like manner can obtain other address, all address Addr_CN as shown in Figure 3.
In step (7), D_llr and D_a1 calculates the likelihood information upgraded, and the step obtaining the side information D_e1 after upgrading is as follows:
If n-th, n is 1,2,3,4,5, it is positive integer that variable node processing unit reads m information D_a1, m from main storage, m ' is 1,2 ... m, m ' represent the sequence number of the individual information of m ' in m information, the individual information D_a1 of m ' (m ') the corresponding lastest imformation D_e1 channel likelihood information D_llr that equals to read from channel information memory adds other m-1 information D_a1 outside the individual information D_a1 of removing m ' (m ').
Such as, during for n=2, corresponding VNU2 unit, reads 1 channel likelihood information D_llr, reads m=3 information D_a1 from the RAM3 ~ RAM5 of main storage from channel information memory.Lastest imformation D_e1=D_llr+D_a1 (the 2)+D_a1 (3) that so a m '=1 information D_a1 (1) is corresponding; Lastest imformation D_e1=D_llr+D_a1 (the 1)+D_a1 (3) that a m '=2 information D_a1 (2) are corresponding; Lastest imformation D_e1=D_llr+D_a1 (the 1)+D_a1 (2) that a m '=3 information D_a1 (3) are corresponding;
The channel likelihood information D_llr that what in step (12), last iteration obtained after completing read when equaling last iteration for the information D_e1 ' adjudicating output from channel information memory add m information D_a1's (m) and value.Such as, during for n=2, corresponding VNU2 unit, reads 1 channel likelihood information D_llr, reads m=3 information D_a1 from the RAM3 ~ RAM5 of main storage from channel information memory.So D_e1 '=D_llr+D_a1 (1)+D_a1 (2)+D_a1 (3), in implementation structure, here combined by the lastest imformation D_e1 computational item corresponding with the individual information D_a1 of m ', only first need calculate D_e1 ' and then deduct D_a1 (m ') thus overall reduction implementation complexity.
Lastest imformation the D_e1=D_e1 '-D_a1 (1) that so a m '=1 information D_a1 (1) is corresponding; Lastest imformation the D_e1=D_e1 '-D_a1 (2) that a m '=2 information D_a1 (2) are corresponding; Lastest imformation the D_e1=D_e1 '-D_a1 (3) that a m '=3 information D_a1 (3) are corresponding;
In step (10), D_a2 calculates the likelihood information upgraded, the step obtaining the side information D_e2 after upgrading is as follows: (1) establishes p, p is 1,2,3, code check node processing unit reads k information D_a2 from main storage, k is positive integer, k ' is 1,2 ... k, the sign bit of the lastest imformation D_e2 that k ' represents the kth in k information the sequence number of the individual information ', kth ' individual information D_a2 (k ') is corresponding is operating as: removing kth ' individual lastest imformation D_a2 (k ') outside the XOR of k-1 D_a2 sign bit.(2) amplitude of k information D_a2 is compared, try to achieve amplitude min value and amplitude sub-minimum, these two values are multiplied by normalization factor α by correction value multiplier, by amplitude min value and kth ' compared with the amplitude of individual information, if identical, then export sub-minimum, if different, then export minimum value, the scope of α is 0 ~ 1.(3) according to the sign bit of step (1) and the range value of step (2), the side information D_e2 after upgrading is obtained.Such as, for p=3, corresponding CNU3 unit, k=6 data D_a2, so kth from RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 of main storage read ' individual information D_a2 (k ') corresponding lastest imformation D_e2 computational methods are:
The relatively size of k=6 data D_a2, obtain minimum value D_a2 (min1) and sub-minimum D_a2 (min2), so for kth '=1 information D_a2 (k ') sign bit sgn (1 ')=XOR { sgn [D_a2 (2)] of corresponding lastest imformation D_e2, sgn [D_a2 (3)], sgn [D_a2 (4)], sgn [D_a2 (5)], sgn [D_a2 (6)] }, if so D_a2 (1)=D_a2 (min1), D_e2=sgn (1 ') × D_a2 (min2), otherwise D_e2=sgn (1 ') × D_a2 (min1), for kth '=2 information D_a2 (k ') sign bit sgn (2 ')=XOR { sgn [D_a2 (1)] of corresponding lastest imformation D_e2, sgn [D_a2 (3)], sgn [D_a2 (4)], sgn [D_a2 (5)], sgn [D_a2 (6)] }, if so D_a2 (2)=D_a2 (min1), D_e2=sgn (1 ') × D_a2 (min2), otherwise D_e2=sgn (1 ') × D_a2 (min1), for kth '=3,4,5,6 in like manner can to obtain.
Embodiment:
Modem platform carries out upper plate test, FPGA model is xc6slx150, use ISE13.4 and ModelSim6.5g developing instrument, completed the design of quasi-cyclic LDPC (8192,4096) code decoder by Verilog HDL hardware description language.
When data rate is 4Mbps, modulation system is BPSK, and when selecting 1/2 code check (8192,4096) LDPC code, system test result is: when decoding iteration number of times maximum is set to M=45, corresponding BER=1-10 -7demodulation threshold be 2.2dB, corresponding coding gain is 9dB.
The resource requirement of this decoder is as follows: register number: 2221, LUT number: 2119; 18k memory RAM: 29;
Non-elaborated part of the present invention belongs to techniques well known.

Claims (10)

1. a partially-parallel architecture LDPC code decoding system in space communication system, is characterized in that: comprise iteration control unit, channel information memory, main storage, variable node processing module, code check node processing module, court verdict output buffer cell;
Channel information memory comprises 4 dual port RAMs, the degree of depth of each RAM is L=2048, main storage comprises 15 memory RAM, namely main storage RAM1, RAM2 ..., RAM15, for the side information transmitted between storage of variables node and check-node, the code efficiency that each memory RAM correspondence defines in CCSDS standard is each non-zero submatrices in the check matrix H of the quasi-cyclic LDPC code of R=1/2, each memory RAM degree of depth is L=2048, namely main storage RAM1, RAM2 ..., RAM15 is respectively corresponding as follows:
The submatrix I that RAM1 correspondence super row S1 is corresponding with the H2 that is out of the line l;
The submatrix I that RAM2 correspondence super row S1 is corresponding with the H3 that is out of the line l;
The submatrix I that RAM3 correspondence super row S2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM4 correspondence super row S2 is corresponding with the H3 that is out of the line 5;
The submatrix Π that RAM5 correspondence super row S2 is corresponding with the H3 that is out of the line 6;
The submatrix I that RAM6 correspondence super row P1 is corresponding with the H1 that is out of the line l;
The submatrix I that RAM7 correspondence super row P2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM8 correspondence super row P2 is corresponding with the H3 that is out of the line 7;
The submatrix Π that RAM9 correspondence super row P2 is corresponding with the H3 that is out of the line 8;
The submatrix I that RAM10 correspondence super row P3 is corresponding with the H1 that is out of the line l;
The submatrix Π that RAM11 correspondence super row P3 is corresponding with the H1 that is out of the line 1;
The submatrix Π that RAM12 correspondence super row P3 is corresponding with the H2 that is out of the line 2;
The submatrix Π that RAM13 correspondence super row P3 is corresponding with the H2 that is out of the line 3;
The submatrix Π that RAM14 correspondence super row P3 is corresponding with the H2 that is out of the line 4;
The submatrix I that RAM15 correspondence super row P3 is corresponding with the H3 that is out of the line l;
The row of check matrix H is divided into 3 to be out of the line being respectively H1, H2, H3, and H1 is that 0-2047 is capable, H2 is that 2048-4095 is capable, H3 is that 4096-6143 is capable; The row of check matrix H are divided into 5 super row S1, S2, P1, P2, P3, S1 is 0-2047 row, S2 is 2048-4095 row, P1 is 4096-6143 row, P2 is 6144-8191 row, P3 is 8192-10239 row;
Variable node processing module comprises these 5 variable node processing unit of VNU1, VNU2, VNU3, VNU4 and VNU5, and variable node processing unit is that 5 roads walk abreast;
Check-node address processing module comprises these three code check node processing unit of CNU1, CNU2, CNU3, and CNU1, CNU2, CNU3 are that 3 roads walk abreast;
Channel information memory cell receives and stores these frame likelihood information data current of digital receiver demodulation, and this likelihood information data sequence is stored in 4 RAM of channel information memory cell, one frame likelihood information data are 8192, after this frame receives, channel information memory cell produces one and receives signal and send to iteration control unit, and channel information memory cell receives 8192 data of next frame simultaneously by ping-pong operation;
Iteration control unit sends decoding commencing signal to channel information memory cell after receiving and receiving signal, channel information memory cell receives decoding commencing signal, by the likelihood information data sequence ground parallel output 4 circuit-switched data D_llr in 4 RAM to variable node processing module
4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, this 4 circuit-switched data D_llr is delivered to VNU1 respectively, VNU2, VNU3, VNU4, 0 value is delivered to VNU5, variable node processing module is from the RAM1 main storage simultaneously, RAM2, according to the RAM1 in memory in RAM15, RAM2, the order reading address Addr_VN of RAM15 reads RAM1, RAM2, side information D_a1 in RAM15, if the 1st iteration, the side information D_a1=0 then taken out from main storage, defining by iteration control unit the order reading address Addr_VN is 0, 1, 2, 2047, respectively side information D_a1 is delivered to VNU1 in the following manner, VNU2, VNU3, VNU4, VNU5:
The data of RAM1, RAM2 are sequentially read according to Addr_VN and gives VNU1;
The data of RAM3 ~ RAM5 are sequentially read according to Addr_VN and gives VNU2;
The data of RAM6 are sequentially read according to Addr_VN and gives VNU3;
The data of RAM7 ~ RAM9 are sequentially read according to Addr_VN and gives VNU4;
The data of RAM10 ~ RAM15 are sequentially read according to Addr_VN and gives VNU5;
Calculate the likelihood information upgraded according to D_llr and D_a1, obtain the side information D_e1 after upgrading; By the side information D_e1 after upgrading according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN identical with write address Addr_VN numerical value, difference is that allocating time is different, generates by iteration control unit, for sequence address 0,1,2 ..., 2047;
What iteration control unit produced check-node address processing module reads address Addr_CN, Addr_CN comprises Addr_CN1, Addr_CN2 ..., Addr_CN15, Addr_CN1, Addr_CN2 ..., Addr_CN15 by step (3) main storage RAM1, RAM2 ..., submatrix that RAM15 is corresponding calculates;
Code check node processing module according to reading address Addr_CN, from main storage RAM1, RAM2 ..., read side information D_e1 in the following manner in RAM15, be designated as side information D_a2, deliver to CNU1, CNU2, CNU3 in check-node address processing module;
Data by RAM10, RAM11 give CNU1 according to Addr_CN10, Addr_CN11 reading;
The data of RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 are read according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 respectively and gives CNU2;
The data of RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 are read according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 respectively and gives CNU3;
The likelihood information upgraded is calculated, the side information D_e2 after again being upgraded according to the side information D_a2 obtained;
By the side information D_e2 after renewal according to address Addr_CN1, Addr_CN2 ..., Addr_CN15 write respectively RAM1 in main storage, RAM2 ..., after RAM15, this time iteration settling signal is sent to iteration control unit, read address Addr_CN identical with write address Addr_CN numerical value, difference is that allocating time is different, generates by iteration control unit;
Iteration control unit receives this time iteration settling signal, start next iteration, until reach the maximum iteration time M of this frame of setting, produce decoding termination signal Dec_E, then, the side information D_e1 ' obtained after last iteration being completed is 0 and 1 according to positive and negative judgement, namely D_e1 ' is just, judgement is 1, D_e1 ' is negative, judgement is 0, this court verdict exports buffer cell by court verdict and exports court verdict, this frame coding is complete, carry out the decoding of next frame subsequently, until all frame likelihood information data decodings of digital receiver demodulation complete.
2. partially-parallel architecture LDPC code decoding system in a kind of space communication system according to claim 1, it is characterized in that: the check matrix of described check matrix H to be the code check defined in CCSDS standard the be quasi-cyclic LDPC code of R=1/2, the code word size N of this quasi-cyclic LDPC code is 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as:
H = 0 L 0 L I L 0 L I L ⊕ Π 1 I L I L 0 L I L Π 2 ⊕ Π 3 ⊕ Π 4 I L Π 5 ⊕ Π 6 0 L Π 7 ⊕ Π 8 I L
I in matrix H lwith 0 lbe respectively 2048 × 2048 dimension unit matrix and 0 matrixes, Π k(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, this displacement battle array Π kt capable (t=0,1,2 ..., 2047) the column position π of nonzero element k(t) be:
In formula, L=2048, mod represent modular arithmetic, represent and 4t/L is rounded downwards, θ kwith for column position π kfunction in (t).
3. partially-parallel architecture LDPC code decoding system in a kind of space communication system according to claim 2, it is characterized in that: described Addr_CN is that the check matrix H of (8192,4096) LDPC code of R=1/2 calculates according to code check in CCSDS standard.
4. partially-parallel architecture LDPC code decoding system in a kind of space communication system according to claim 1, is characterized in that: described D_llr and D_a1 calculates the likelihood information upgraded, and the step obtaining the side information D_e1 after upgrading is as follows:
If n-th, n is 1,2,3,4,5, it is positive integer that variable node processing unit reads m information D_a1, m from main storage, m ' is 1,2 ... m, m ' represent the sequence number of the individual information of m ' in m information, the individual information D_a1 of m ' (m ') the corresponding lastest imformation D_e1 channel likelihood information D_llr that equals to read from channel information memory adds other m-1 information D_a1 outside the individual information D_a1 of removing m ' (m ').
5. partially-parallel architecture LDPC code decoding system in a kind of space communication system according to claim 1, is characterized in that: described D_a2 calculates the likelihood information upgraded, and the step obtaining the side information D_e2 after upgrading is as follows:
(1) p is established, p is 1,2,3, it is positive integer that code check node processing unit reads k information D_a2, k from main storage, k ' is 1,2 ... the sequence number of k, k ' represent kth ' in k information individual information, kth ' individual information D_a2 (k ') sign bit of corresponding lastest imformation D_e2 is operating as: removing kth ' individual lastest imformation D_a2 (k ') outside the XOR of k-1 D_a2 sign bit;
(2) amplitude of k information D_a2 is compared, try to achieve amplitude min value and amplitude sub-minimum, these two values are multiplied by normalization factor α by correction value multiplier, by amplitude min value and kth ' compared with the amplitude of individual information, if identical, then export sub-minimum, if different, then export minimum value, the scope of α is 0 ~ 1;
(3) according to the sign bit of step (1) and the range value of step (2), the side information D_e2 after upgrading is obtained.
6. partially-parallel architecture LDPC code decoding system in a kind of space communication system according to claim 1, is characterized in that: obtain after described last iteration completes equal last iteration for the information D_e1 ' adjudicating output time the channel likelihood information D_llr that reads from channel information memory add m information D_a1's (m) and value.
7. a partially-parallel architecture LDPC code interpretation method in space communication system, is characterized in that: comprise and divide LDPC check matrix stage and pipeline system Partly parallel decoding stage:
Described division LDPC check matrix stage etch is as follows:
(1) code check defined in CCSDS standard is the quasi-cyclic LDPC code of R=1/2, and the code word size N of this quasi-cyclic LDPC code is 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as
H = 0 L 0 L I L 0 L I L ⊕ Π 1 I L I L 0 L I L Π 2 ⊕ Π 3 ⊕ Π 4 I L Π 5 ⊕ Π 6 0 L Π 7 ⊕ Π 8 I L
I in matrix H lwith 0 lbe respectively 2048 × 2048 dimension unit matrix and 0 matrixes, Π k(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, this displacement battle array Π kt capable (t=0,1,2 ..., 2047) the column position π of nonzero element k(t) be:
In formula, L=2048, mod represent modular arithmetic, represent and 4t/L is rounded downwards, θ kwith for column position π kfunction in (t);
(2) be divided into 3 to be out of the line the row of the check matrix H of step (1) to be respectively: H1 (0-2047 is capable), H2 (2048-4095 is capable), H3 (4096-6143 is capable); 5 super row are divided into by the row of check matrix H to be respectively S1 (0-2047 row), S2 (2048-4095 row), P1 (4096-6143 row), P2 (6144-8191 row), P3 (8192-10239 row);
(3) data storage of definition needed for decoding comprises: channel information memory, main storage and decoding export buffer unit; Channel information memory is used for buffer memory channel likelihood information, and comprise 4 dual port RAMs, the degree of depth of each RAM is 2048; Main storage comprises 15 memory RAM, namely main storage RAM1, RAM2 ..., RAM15, for the side information transmitted between storage of variables node and check-node, each non-zero submatrices in the corresponding check matrix H of each memory RAM, each memory RAM degree of depth is 2048, namely main storage RAM1, RAM2 ..., RAM15 is respectively corresponding:
The submatrix I that RAM1 correspondence super row S1 is corresponding with the H2 that is out of the line l;
The submatrix I that RAM2 correspondence super row S1 is corresponding with the H3 that is out of the line l;
The submatrix I that RAM3 correspondence super row S2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM4 correspondence super row S2 is corresponding with the H3 that is out of the line 5;
The submatrix Π that RAM5 correspondence super row S2 is corresponding with the H3 that is out of the line 6;
The submatrix I that RAM6 correspondence super row P1 is corresponding with the H1 that is out of the line l;
The submatrix I that RAM7 correspondence super row P2 is corresponding with the H2 that is out of the line l;
The submatrix Π that RAM8 correspondence super row P2 is corresponding with the H3 that is out of the line 7;
The submatrix Π that RAM9 correspondence super row P2 is corresponding with the H3 that is out of the line 8;
The submatrix I that RAM10 correspondence super row P3 is corresponding with the H1 that is out of the line l;
The submatrix Π that RAM11 correspondence super row P3 is corresponding with the H1 that is out of the line 1;
The submatrix Π that RAM12 correspondence super row P3 is corresponding with the H2 that is out of the line 2;
The submatrix Π that RAM13 correspondence super row P3 is corresponding with the H2 that is out of the line 3;
The submatrix Π that RAM14 correspondence super row P3 is corresponding with the H2 that is out of the line 4;
The submatrix I that RAM15 correspondence super row P3 is corresponding with the H3 that is out of the line l;
Decoding exports buffer unit for exporting decode results;
Described pipeline system Partly parallel decoding stage etch is as follows:
(4) channel information memory cell receives and stores these frame likelihood information data current of digital receiver demodulation, and this likelihood information data sequence is stored in 4 RAM of channel information memory cell, one frame likelihood information data are 8192, after this frame receives, channel information memory cell produces one and receives signal and send to iteration control unit, and channel information memory cell receives 8192 data of next frame simultaneously by ping-pong operation;
(5) iteration control unit sends decoding commencing signal to channel information memory cell; Channel information memory cell receives decoding commencing signal, by the likelihood information data sequence ground parallel output 4 circuit-switched data D_llr in 4 RAM to variable node processing module;
(6) 4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, variable node processing module comprises VNU1, VNU2, VNU3, these 5 variable node processing unit of VNU4 and VNU5, this 4 circuit-switched data D_llr is delivered to VNU1 respectively, VNU2, VNU3, VNU4, 0 value is delivered to VNU5, variable node processing module is from the RAM1 main storage simultaneously, RAM2, according to the RAM1 in memory in RAM15, RAM2, the order reading address Addr_VN of RAM15 reads RAM1, RAM2, side information D_a1 in RAM15, if the 1st iteration, the side information D_a1=0 then taken out from main storage, defining by iteration control unit the order reading address Addr_VN is 0, 1, 2, 2047, respectively side information D_a1 is delivered to VNU1 in the following manner, VNU2, VNU3, VNU4, VNU5, variable node processing unit is that 5 roads walk abreast:
The data of RAM1, RAM2 are sequentially read according to Addr_VN and gives VNU1;
The data of RAM3 ~ RAM5 are sequentially read according to Addr_VN and gives VNU2;
The data of RAM6 are sequentially read according to Addr_VN and gives VNU3;
The data of RAM7 ~ RAM9 are sequentially read according to Addr_VN and gives VNU4;
The data of RAM10 ~ RAM15 are sequentially read according to Addr_VN and gives VNU5;
(7) calculate the likelihood information upgraded according to D_llr and D_a1 obtained in step (6), obtain the side information D_e1 after upgrading;
(8) by the side information D_e2 after upgrading in step (7) according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN identical with write address Addr_VN numerical value, difference is that allocating time is different, generate by iteration control unit, for sequence address 0,1,2 ..., 2047;
(9) what iteration control unit produced code check node processing module reads address Addr_CN, Addr_CN comprises Addr_CN1, Addr_CN2 ... Addr_CN15, Addr_CN1, Addr_CN2 ... Addr_CN15 by step (3) main storage RAM1, RAM2 ..., submatrix that RAM15 is corresponding calculates;
Code check node processing module comprises CNU1, CNU2, CNU3, code check node processing module is according to reading address Addr_CN, from main storage RAM1, RAM2 ..., side information D_e1 in RAM15 in the following manner in reading step (8), be designated as side information D_a2, deliver to CNU1, CNU2, the CNU3 in code check node processing module, CNU1, CNU2, CNU3 of code check node processing module are that 3 roads walk abreast;
Data by RAM10, RAM11 give CNU1 according to Addr_CN10, Addr_CN11 reading;
The data of RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 are read according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 respectively and gives CNU2;
The data of RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 are read according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 respectively and gives CNU3;
(10) calculate the likelihood information upgraded according to the D_a2 obtained in step (9), obtain the side information D_e2 after upgrading;
(11) by the side information D_e2 after upgrading in step (10) according to address Addr_CN1, Addr_CN2 ... Addr_CN15 write respectively RAM1 in main storage, RAM2 ..., after RAM15, this time iteration settling signal is sent to iteration control unit, read address Addr_CN identical with write address Addr_CN numerical value, difference is that allocating time is different, generates by iteration control unit;
(12) iteration control unit receives this time iteration settling signal of step (11), start next iteration, namely step is repeated according to step (5) ~ step (12), until reach the maximum iteration time M of this frame of setting, produce decoding termination signal Dec_E, then, the D_e1 ' obtained after last iteration being completed is 0 and 1 according to positive and negative judgement, namely D_e1 ' is just, judgement is 1, D_e1 ' is negative, judgement is 0, this court verdict exports buffer cell by court verdict and exports court verdict, this frame coding is complete, return the decoding that step (4) carries out next frame subsequently, until all frame likelihood information data decodings of digital receiver demodulation complete.
8. partially-parallel architecture LDPC code interpretation method in a kind of space communication system according to claim 7, it is characterized in that: step (9) and the Addr_CN described in (11) are that the H matrix computations of (8192,4096) LDPC code of R=1/2 obtains according to code check in CCSDS standard.
9. partially-parallel architecture LDPC code interpretation method in a kind of space communication system according to claim 7, it is characterized in that: in described step (7), D_llr and D_a1 calculates the likelihood information upgraded, the step obtaining the side information D_e1 after upgrading is as follows:
If n-th, n is 1,2,3,4,5, it is positive integer that variable node processing unit reads m information D_a1, m from main storage, m ' is 1,2 ... m, m ' represent the sequence number of the individual information of m ' in m information, the individual information D_a1 of m ' (m ') the corresponding lastest imformation D_e1 channel likelihood information D_llr that equals to read from channel information memory adds other m-1 information D_a1 outside the individual information D_a1 of removing m ' (m ').
10. partially-parallel architecture LDPC code interpretation method in a kind of space communication system according to claim 7, is characterized in that: in described step (10), D_a2 calculates the likelihood information upgraded, and the step obtaining the side information D_e2 after upgrading is as follows:
(1) p is established, p is 1,2,3, it is positive integer that code check node processing unit reads k information D_a2, k from main storage, k ' is 1,2 ... the sequence number of k, k ' represent kth ' in k information individual information, kth ' individual information D_a2 (k ') sign bit of corresponding lastest imformation D_e2 is operating as: removing kth ' individual lastest imformation D_a2 (k ') outside the XOR of k-1 D_a2 sign bit;
(2) amplitude of k information D_a2 is compared, try to achieve amplitude min value and amplitude sub-minimum, these two values are multiplied by normalization factor α by correction value multiplier, by amplitude min value and kth ' compared with the amplitude of individual information, if identical, then export sub-minimum, if different, then export minimum value, the scope of α is 0 ~ 1;
(3) according to the sign bit of step (1) and the range value of step (2), the side information D_e2 after upgrading is obtained.
CN201410841848.7A 2014-12-30 2014-12-30 Partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system Active CN104579362B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410841848.7A CN104579362B (en) 2014-12-30 2014-12-30 Partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410841848.7A CN104579362B (en) 2014-12-30 2014-12-30 Partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system

Publications (2)

Publication Number Publication Date
CN104579362A true CN104579362A (en) 2015-04-29
CN104579362B CN104579362B (en) 2017-10-24

Family

ID=53094693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410841848.7A Active CN104579362B (en) 2014-12-30 2014-12-30 Partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system

Country Status (1)

Country Link
CN (1) CN104579362B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141317A (en) * 2015-08-28 2015-12-09 中南民族大学 Two-stage selective flipping decoding method for reducing LDPC error floor
CN108092673A (en) * 2018-02-10 2018-05-29 中国传媒大学 A kind of BP iterative decoding method and system based on dynamic dispatching
CN109495115A (en) * 2018-11-01 2019-03-19 哈尔滨工业大学 A kind of ldpc decoder and interpretation method based on FPGA
US11929761B1 (en) 2022-10-07 2024-03-12 Seagate Technology Llc Low latency decoder

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040187129A1 (en) * 2003-02-26 2004-09-23 Tom Richardson Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US7454693B2 (en) * 2004-06-22 2008-11-18 Stmicroelectronics S.A. LDPC decoder
CN101471673A (en) * 2007-12-28 2009-07-01 三星电子株式会社 Method for dividing LDPC code memory unit and LDPC code memory
CN102075197A (en) * 2010-12-29 2011-05-25 北京遥测技术研究所 LDPC (low-density parity-check) decoding method
US8327221B2 (en) * 2006-10-02 2012-12-04 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040187129A1 (en) * 2003-02-26 2004-09-23 Tom Richardson Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US7454693B2 (en) * 2004-06-22 2008-11-18 Stmicroelectronics S.A. LDPC decoder
US8327221B2 (en) * 2006-10-02 2012-12-04 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
CN101471673A (en) * 2007-12-28 2009-07-01 三星电子株式会社 Method for dividing LDPC code memory unit and LDPC code memory
CN102075197A (en) * 2010-12-29 2011-05-25 北京遥测技术研究所 LDPC (low-density parity-check) decoding method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GUOHUI WANG ET AL.: "Parallel Nonbinary LDPC Decoding on GPU", 《SIGNALS, SYSTEMS AND COMPUTERS (ASILOMAR), 2012 CONFERENCE RECORD OF THE FORTY SIXTH ASILOMAR CONFERENCE ON》 *
TSOU-HAN CHIU ET AL.: "A Highly Parallel Design for Irregular LDPC Decoding on GPGPUs", 《SIGNAL & INFORMATION PROCESSING ASSOCIATION ANNUAL SUMMIT AND CONFERENCE (APSIPA ASC),2012 ASIA-PACIFIC》 *
周三文: "数字可变符号率调制器设计", 《遥测遥控》 *
葛帅 等: "基于GPU的LDPC存储优化并行译码结构设计", 《北京航空航天大学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141317A (en) * 2015-08-28 2015-12-09 中南民族大学 Two-stage selective flipping decoding method for reducing LDPC error floor
CN108092673A (en) * 2018-02-10 2018-05-29 中国传媒大学 A kind of BP iterative decoding method and system based on dynamic dispatching
CN108092673B (en) * 2018-02-10 2021-04-16 中国传媒大学 BP iterative decoding method and system based on dynamic scheduling
CN109495115A (en) * 2018-11-01 2019-03-19 哈尔滨工业大学 A kind of ldpc decoder and interpretation method based on FPGA
CN109495115B (en) * 2018-11-01 2022-08-09 哈尔滨工业大学 LDPC decoder based on FPGA and decoding method
US11929761B1 (en) 2022-10-07 2024-03-12 Seagate Technology Llc Low latency decoder

Also Published As

Publication number Publication date
CN104579362B (en) 2017-10-24

Similar Documents

Publication Publication Date Title
CN101534166B (en) Quasi-cyclic low-density parity-check code decoder and decoding method
CN100486118C (en) Minimal sum decoding method based on grading excursion correction
CN103259545B (en) Quasi-cyclic low density odd-even check code belief propagation decoding method based on oscillation
CN107204780B (en) Merging BP decoding algorithm and device of polar-LDPC (Low Density parity check) concatenated code
CN102545913A (en) Iterative decoding method and iterative decoding system
CN100539440C (en) Low density odd-even check code iterative sequencing statistical decoding method
CN104579362A (en) System and method for decoding LDPC code of partially-parallel decoding architecture in space communication system
CN101212277A (en) Multi-protocol supporting LDPC decoder
CN103199874B (en) Low density parity check code decoding method
CN103929210B (en) Hard decision decoding method based on genetic algorithm and neural network
CN106936446A (en) A kind of high speed decoder and its interpretation method based on Non-Binary LDPC Coded
CN106330203A (en) Decoding method for LDPC (Low Density Parity Check Code)
CN104639178A (en) Dynamic column updating and decoding method based on LDPC (low-density parity-check) code
CN102664638A (en) FPGA (Field Programmable Gate Array) realization method for multi-code-length LDPC (Low Density Parity Check) code decoder on basis of hierarchical NMS (Network Management System) algorithm
CN101345532A (en) Decoding method for LDPC channel code
CN104702292A (en) Implementation method for partially-parallel LDPC decoder
CN102412843A (en) Adaptive normalized minimum sum LDPC (Low Density Parity Check Code) decoding method and decoder
EP3364578A1 (en) Decoding method and decoder for low-density parity check code
CN102594367A (en) Low-complexity dynamic asynchronous BP decoding method
CN103220002A (en) Quasi-cyclic low-density parity-check (LDPC) code construction method capable of eliminating decoder access conflict
CN102412844B (en) Decoding method and decoding device of IRA (irregular repeat-accumulate) series LDPC (low density parity check) codes
CN101753150B (en) Decoding check method and device of low-density parity check code
CN103152057A (en) Low density parity check code (LDPC) decoder and decoding method based on double normalization correction factors
CN102801432B (en) A kind of serial FHT-BP interpretation method and device of m-ary LDPC
CN102064837B (en) Partially parallel decoding method of quasi-cyclic low density parity check (QC-LDPC) code based on first in first out (FIFO) fragmentation

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