CN104579362B - Partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system - Google Patents

Partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system Download PDF

Info

Publication number
CN104579362B
CN104579362B CN201410841848.7A CN201410841848A CN104579362B CN 104579362 B CN104579362 B CN 104579362B CN 201410841848 A CN201410841848 A CN 201410841848A CN 104579362 B CN104579362 B CN 104579362B
Authority
CN
China
Prior art keywords
addr
msub
information
mtd
submatrix
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.)
Active
Application number
CN201410841848.7A
Other languages
Chinese (zh)
Other versions
CN104579362A (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

Landscapes

  • Error Detection And Correction (AREA)

Abstract

The present invention relates to partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system, the system architecture includes iteration control unit, channel information memory, main storage, variable node processing module, code check node processing module, court verdict output buffer cell;Main-memory structures are simple, corresponded with non-zero submatrices in check matrix structure chart;The address processing unit of reading data is simple in construction from main storage, be easily achieved;The Partly parallel decoding structure design is out of the line several parallel code check node processing units, super columns a parallel variable node processing unit, and the implementation complexity of node messages more new algorithm is low, and institute's cost source is few.

Description

Partially-parallel architecture LDPC code decoding system and its method 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 skill Art field.
Background technology
In space communication system, the signal that receiver is received is subjected to the influence such as fading channel and interference noise.In this regard, Space communication system improves information transfer frequently with LDPC (low density parity check code) codes with high channel coding gain Reliability, the bit error rate is reduced and shannon limit is approached.At present, LDPC code is used as CCSDS (Aerospace Data Systems information The committee), one of recommendation channel coding schemes of the communication system of tissue such as Europe DVB (DVB).LDPC code is normal It is described with check matrix or graph model, Tanner figure expressions are wherein relatively directly perceived, convenient a kind of, include two nodes Set, variable node (variable node) set and check-node (check node) set.Each variable node correspondence In a code element of code word, each check-node corresponds to a parity check constraint relation.Lead between two node sets Side (edge) is crossed to be attached, and without the connection of any side inside node set.Tanner, which schemes to exist with check matrix, to be corresponded Relation, i.e. variable node is corresponding with the row in check matrix, check-node with it is capable corresponding in check matrix, and side then with school The nonzero element tested in matrix is corresponding.The number on the side being connected in Tanner figures with node is referred to as the degree (degree) of node, The degree of node and the row weight (row weight) of check matrix are consistent.
The decoding algorithm of LDPC code has a lot, conventional belief propagation (BP) decoding algorithm log-likelihood ratio (LLR) table Show probability messages, its algorithm steps is summarized as follows,
(1) initialize, it is P to calculate channel transfer to the probability of variable nodei, and corresponding likelihood ratio message count According to for D (Pi), then set each variable node i and be transmitted to check-node j, j adjacent thereto span for j ∈ Mi, just Beginning information is D(0)(qi→j)=D (Pi), N in formulajFor variable node i adjacent each check-node j set.
(2) check-node updates, and calculates variable node and is transmitted to the message of check-node for D(l)(rj→i), NjFor j-th of school The adjacent variable node set of node is tested,
In formula, i' ∈ NjI represent set NjThe middle set for removing at i-th point, l represents this iterative decoding of l, and l-1 is represented The l-1 times iterative decoding.
(3) variable node updates, during the l times iteration, calculates check-node and is transmitted to the message of variable node for D(l)(qi→j),
(4) decoding judgement, the hard decision information for calculating all variable nodes is D(l)(qi→j),
If D(l)(qi)>0, then 1 is judged to, is otherwise 0.The sequence that judgement is obtained is metH represents verification in formula Matrix,The transposition of judgement data is represented, or reaches maximum iteration, then terminates decoding, otherwise goes to 1).
Minimum and (MS) algorithm can be derived from BP decoding algorithms.Its check-node, which updates, to be expressed as
In formula, sgn represents to take symbol bit manipulation.
It is minimum and with offset minimum-sum algorithm etc. in addition with the normalization to minimum and (MS) algorithm amendment, although with The upper decoding algorithm passes through various simplification, and the realizations of LDPC decoding algorithms generally requires very complicated in digital receiver Calculating and more resource consumption.So with greater need for simple, the efficient decoder of design in broadband spatial communication system.
The content of the invention
Present invention solves the technical problem that being:Overcome prior art not enough there is provided part in a kind of space communication system simultaneously Row structure LDPC code decoding system, for code check R=1/2 in CCSDS (the Aerospace Data Systems information committee) system (8192,4096) LDPC code designs partially-parallel architecture LDPC code interpretation method in a kind of space communication system, and the present invention has It is distributed simple main storage, the address process being easily achieved and the low node messages updating block of implementation complexity, the design The ldpc decoder design of other code checks of CCSDS deep space communication standards can be flexibly applied to.
The technical scheme that the present invention is solved is:Partially-parallel architecture LDPC code decoding system in a kind of space communication system, Including iteration control unit, channel information memory, main storage, variable node processing module, code check node processing module, sentence Certainly result exports buffer cell;
Channel information memory includes 4 dual port RAMs, and each RAM depth is L=2048, and main storage includes 15 Memory RAM, i.e. main storage RAM1, RAM2 ..., RAM15, for storing what is transmitted between variable node and check-node Side information, the verification for the quasi-cyclic LDPC code that code efficiency of each memory RAM correspondence defined in CCSDS standards is R=1/2 Each non-zero submatrices in matrix H, each memory RAM depth is L=2048, i.e. main storage RAM1, RAM2 ..., RAM15 respectively correspond to it is as follows:
The super row S1 of RAM1 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S1 of RAM2 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The super row S2 of RAM3 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S2 of RAM4 correspondences submatrix Πs corresponding with the H3 that is out of the line5
The super row S2 of RAM5 correspondences submatrix Πs corresponding with the H3 that is out of the line6
The super row P1 of RAM6 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P2 of RAM7 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row P2 of RAM8 correspondences submatrix Πs corresponding with the H3 that is out of the line7
The super row P2 of RAM9 correspondences submatrix Πs corresponding with the H3 that is out of the line8
The super row P3 of RAM10 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P3 of RAM11 correspondences submatrix Πs corresponding with the H1 that is out of the line1
The super row P3 of RAM12 correspondences submatrix Πs corresponding with the H2 that is out of the line2
The super row P3 of RAM13 correspondences submatrix Πs corresponding with the H2 that is out of the line3
The super row P3 of RAM14 correspondences submatrix Πs corresponding with the H2 that is out of the line4
The super row P3 of RAM15 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The row of check matrix H is divided into 3 be out of the line respectively H1, H2, H3, H1 be 0-2047 rows, H2 be 2048-4095 rows, H3 is 4096-6143 rows;The row of check matrix H are divided into 5 super row S1, S2, P1, P2, P3, S1 is that 0-2047 is arranged, S2 is 2048-4095 row, P1 are that 4096-6143 is arranged, P2 is that 6144-8191 is arranged, P3 is 8192-10239 row, and this matrix divides such as Fig. 1 It is shown;
Variable node processing module includes this 5 variable node processing units of VNU1, VNU2, VNU3, VNU4 and VNU5, becomes It is that 5 tunnels are parallel to measure endpoint processing unit;
Check-node address processing module includes CNU1, CNU2, CNU3 these three code check node processing units, CNU1, CNU2, CNU3 are that 3 tunnels are parallel;
Channel information memory cell receives and stores this current frame likelihood information data of digital receiver demodulation, and will In 4 RAM for storing to the likelihood information data order channel information memory cell, a frame likelihood information data are 8192 Individual, after the frame is received, channel information memory cell generation one receives signal and is sent to iteration control unit, believes Road information memory cell receives 8192 data of next frame by ping-pong operation simultaneously;
Iteration control unit receives to receive after signal sends decoding commencing signal, channel to channel information memory cell Information memory cell receives decoding commencing signal, by the ground of the likelihood information data order in the 4 RAM circuit-switched data of parallel output 4 D_llr gives variable node processing module,
4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, 4 circuit-switched data D_llr is divided VNU1, VNU2, VNU3, VNU4 are not delivered to, 0 value is delivered into VNU5, while variable node processing module is from main storage RAM1, RAM2 ..., in RAM15 according to the RAM1 in memory, RAM2 ..., RAM15 reading address Addr_VN order Read RAM1, RAM2 ..., the side information D_a1 in RAM15, if the 1st iteration, the then side taken out from main storage Information D_a1=0, by iteration control unit define the order for reading address Addr_VN for 0,1,2 ..., 2047, divide in the following manner Side information D_a1 VNU1, VNU2, VNU3, VNU4, VNU5 are not delivered into:
RAM1, RAM2 data are sequentially read out according to Addr_VN and give VNU1;
RAM3~RAM5 data are sequentially read out according to Addr_VN and give VNU2;
RAM6 data are sequentially read out according to Addr_VN and give VNU3;
RAM7~RAM9 data are sequentially read out according to Addr_VN and give VNU4;
RAM10~RAM15 data are sequentially read out according to Addr_VN and give VNU5;
The likelihood information updated, the side information D_e1 after being updated are calculated according to D_llr and D_a1;By the side after renewal Information D_e1 according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN and write ground Location Addr_VN numerical value is identical, and difference is that allocating time is different, is generated by iteration control unit, be sequence address 0,1,2 ..., 2047;
Iteration control unit produces the reading address Addr_CN of check-node address processing module, and Addr_CN includes Addr_ CN1, Addr_CN2 ..., Addr_CN15, Addr_CN1, Addr_CN2 ..., Addr_CN15 pass through step (3) main storage RAM1, RAM2 ..., the corresponding submatrixs of RAM15 calculate and obtain;
Code check node processing module according to reading address Addr_CN, from main storage RAM1, RAM2 ..., press in RAM15 In the following manner reads side information D_e1, is designated as side information D_a2, the CNU1 delivered in check-node address processing module, CNU2, CNU3;
RAM10, RAM11 data are read according to Addr_CN10, Addr_CN11 and give CNU1;
By RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 data respectively according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 read and give CNU2;
By RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 data respectively according to Addr_CN2, Addr_CN4, Addr_ CN5, Addr_CN8, Addr_CN9, Addr_CN15 read and give CNU3;
The likelihood information updated, the side information D_e2 after being updated again are calculated according to obtained side information D_a2;
Side information D_e2 after renewal is respectively written into master according to address Addr_CN1, Addr_CN2 ..., Addr_CN15 RAM1, RAM2 in memory ..., after RAM15, send this time iteration to iteration control unit and complete signal, read address Addr_CN is identical with write address Addr_CN numerical value, and difference is that allocating time is different, is generated by iteration control unit;
Iteration control unit receives this time iteration and completes signal, starts next iteration, until reaching the frame of setting Maximum iteration M, produce decoding termination signal Dec_E, then, by the side information D_ obtained after the completion of last time iteration E1 ' be that 0 and 1, i.e. D_e1 ' are that just it is negative to adjudicate as 1, D_e1 ' according to positive and negative judgement, is adjudicated as 0, this court verdict is by sentencing Certainly result output buffer cell exports court verdict, and this frame coding is finished, and then carries out the decoding of next frame, until digital received All frame likelihood information data decodings of machine demodulation are completed.
The verification square for the quasi-cyclic LDPC code that the check matrix H is R=1/2 for the code check defined in CCSDS standards Battle array, the code word size N of the quasi-cyclic LDPC code is that 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as:
I in matrix HLWith 0LRespectively 2048 × 2048 dimension unit matrixs and 0 matrix, Πk(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, displacement battle array ΠkT rows (t=0,1,2 ..., 2047) nonzero element column position πk(t) For:
In formula, L=2048, mod represents modular arithmetic,Expression is rounded downwards to 4t/L, column position πk(t) letter in Number θkWithValue see table 3-3, table 3-4 in CCSDS standard CC SDS 131.1-O-2, it is special with quasi- circulation Property.
Described Addr_CN is according to check matrix of the code check in CCSDS standards for R=1/2 (8192,4096) LDPC code H is calculated and obtained.
The D_llr and D_a1 calculate the likelihood information updated, as follows the step of side information D_e1 after being updated:
If n-th, n is 1,2,3,4,5, variable node processing unit reads m information D_a1, m from main storage and is Positive integer, m ' is 1,2 ... m, m ' represents the sequence number of the individual information of m ' in m information, and the individual information D_a1 (m ') of m ' are corresponding Fresh information D_e1 is equal to the channel likelihood information D_llr read from channel information memory plus the individual information D_ of removing m ' Other m-1 information D_a1 outside a1 (m ').
The D_a2 calculates the likelihood information updated, as follows the step of side information D_e2 after being updated:
(1) set p-th, p is 1,2,3, code check node processing unit reads k information D_a2, k for just from main storage The sequence number of k, k ' represent kth in k information ' individual information that integer, k ' is 1,2 ..., kth ' individual information D_a2 (k ') is corresponding more Fresh information D_e2 symbol bit manipulation is:Remove kth ' k-1 D_a2 sign bit outside individual fresh information D_a2 (k ') it is different Or;
(2) k information D_a2 amplitude is compared, tries to achieve amplitude min value and amplitude sub-minimum, the two values are led to Cross correction value multiplier and be multiplied by normalization factor α, by amplitude min value and kth ' amplitude of individual information compares, if identical, Sub-minimum is exported, if it is different, then exporting minimum value, α scope 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 being updated.
When the information D_e1 ' for being used to adjudicate output obtained after the completion of the last time iteration is equal to last time iteration The channel likelihood information D_llr read from channel information memory plus m information D_a1 (m) and value.
Partially-parallel architecture LDPC code interpretation method in a kind of space communication system, including divide LDPC check matrix rank Section and pipeline system Partly parallel decoding stage:
The division LDPC check matrix stage etch is as follows:
(1) code check defined in CCSDS standards is R=1/2 quasi-cyclic LDPC code, the code word of the quasi-cyclic LDPC code Length N is that 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as
I in matrix HLWith 0LRespectively 2048 × 2048 dimension unit matrixs and 0 matrix, Πk(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, displacement battle array ΠkT rows (t=0,1,2 ..., 2047) nonzero element column position πk(t) For:
In formula, L=2048, mod represents modular arithmetic,Expression is rounded downwards to 4t/L, column position πk(t) letter in Number θkWithValue see table 3-3, table 3-4 in CCSDS standard CC SDS 131.1-O-2, it is special with quasi- circulation Property;
(2) row of the check matrix H of step (1) is divided into 3 to be out of the line respectively:H1 (0-2047 rows), H2 (2048- 4095 rows), H3 (4096-6143 rows);It is respectively S1 (0-2047 row), S2 (2048- that the row of check matrix H are divided into 5 super row 4095 row), P1 (4096-6143 row), P2 (6144-8191 row), P3 (8192-10239 row);
(3) data storage needed for defining decoding includes:Channel information memory, main storage and decoding output caching Unit;Channel information memory is used to cache channel likelihood information, comprising 4 dual port RAMs, and each RAM depth is 2048;It is main Memory includes 15 memory RAMs, i.e. main storage RAM1, RAM2 ..., RAM15, for storing variable node and verification Each non-zero submatrices in the side information transmitted between node, each memory RAM correspondence check matrix H, each storage Device RAM depth is 2048, i.e. main storage RAM1, RAM2 ..., RAM15 corresponds to respectively:
The super row S1 of RAM1 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S1 of RAM2 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The super row S2 of RAM3 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S2 of RAM4 correspondences submatrix Πs corresponding with the H3 that is out of the line5
The super row S2 of RAM5 correspondences submatrix Πs corresponding with the H3 that is out of the line6
The super row P1 of RAM6 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P2 of RAM7 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row P2 of RAM8 correspondences submatrix Πs corresponding with the H3 that is out of the line7
The super row P2 of RAM9 correspondences submatrix Πs corresponding with the H3 that is out of the line8
The super row P3 of RAM10 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P3 of RAM11 correspondences submatrix Πs corresponding with the H1 that is out of the line1
The super row P3 of RAM12 correspondences submatrix Πs corresponding with the H2 that is out of the line2
The super row P3 of RAM13 correspondences submatrix Πs corresponding with the H2 that is out of the line3
The super row P3 of RAM14 correspondences submatrix Πs corresponding with the H2 that is out of the line4
The super row P3 of RAM15 correspondences submatrix Is corresponding with the H3 that is out of the lineL
Decoding output buffer unit is used to export decoding result;
The pipeline system Partly parallel decoding stage etch is as follows:
(4) channel information memory cell receives and stores this current frame likelihood information data of digital receiver demodulation, And store the likelihood information data order in 4 RAM of channel information memory cell, a frame likelihood information data are 8192 Individual, after the frame is received, channel information memory cell generation one receives signal and is sent to iteration control unit, believes Road information memory cell receives 8192 data of next frame by ping-pong operation simultaneously;
(5) iteration control unit sends decoding commencing signal to channel information memory cell;Channel information memory cell connects Receive decoding commencing signal, by the likelihood information data order in 4 RAM the circuit-switched data D_llr of parallel output 4 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 mould Block includes this 5 variable node processing units of VNU1, VNU2, VNU3, VNU4 and VNU5, and 4 circuit-switched data D_llr is delivered to respectively VNU1, VNU2, VNU3, VNU4, VNU5 is delivered to by 0 value, at the same variable node processing module from the RAM1 in main storage, RAM2 ..., in RAM15 according to the RAM1 in memory, RAM2 ..., RAM15 reading address Addr_VN order reads RAM1, RAM2 ..., the side information D_a1 in RAM15, if the 1st iteration, then the side information taken out from main storage D_a1=0, by iteration control unit define the order for reading address Addr_VN for 0,1,2 ..., 2047, respectively will in the following manner Side information D_a1 delivers to VNU1, VNU2, VNU3, VNU4, VNU5, and variable node processing unit is that 5 tunnels are parallel:
RAM1, RAM2 data are sequentially read out according to Addr_VN and give VNU1;
RAM3~RAM5 data are sequentially read out according to Addr_VN and give VNU2;
RAM6 data are sequentially read out according to Addr_VN and give VNU3;
RAM7~RAM9 data are sequentially read out according to Addr_VN and give VNU4;
RAM10~RAM15 data are sequentially read out according to Addr_VN and give VNU5;
(7) likelihood information updated is calculated according to the D_llr and D_a1 obtained in step (6), the side letter after being updated Cease D_e1;
(8) by the side information D_e2 after updating in step (7) according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN it is identical with write address Addr_VN numerical value, difference be allocating time difference, by Iteration control unit generate, be sequence address 0,1,2 ..., 2047;
(9) iteration control unit produces the reading address Addr_CN of code check node processing module, and Addr_CN includes Addr_ CN1, Addr_CN2 ... Addr_CN15, Addr_CN1, Addr_CN2 ... Addr_CN15 by step (3) main storage RAM1, RAM2 ..., the corresponding submatrixs of RAM15 calculate and obtain;
Code check node processing module include CNU1, CNU2, CNU3, code check node processing module according to read address Addr_CN, From main storage RAM1, RAM2 ..., the side information D_e1 in RAM15 in the following manner in reading step (8), be designated as side letter Cease D_a2, CNU1, CNU2, the CNU3 delivered in code check node processing module, the CNU1 of code check node processing module, CNU2, CNU3 is that 3 tunnels are parallel;
RAM10, RAM11 data are read according to Addr_CN10, Addr_CN11 and give CNU1;
By RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 data respectively according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 read and give CNU2;
By RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 data respectively according to Addr_CN2, Addr_CN4, Addr_ CN5, Addr_CN8, Addr_CN9, Addr_CN15 read and give CNU3;
(10) likelihood information updated, the side information D_e2 after being updated are calculated according to the D_a2 obtained in step (9);
(11) by the side information D_e2 after being updated in step (10) according to address Addr_CN1, Addr_CN2 ... Addr_ CN15 be respectively written into the RAM1 in main storage, RAM2 ..., after RAM15, send this time iteration to iteration control unit complete Into signal, reading address Addr_CN is identical with write address Addr_CN numerical value, and difference is that allocating time is different, by iteration control list Member generation;
(12) iteration control unit receives this time iteration completion signal of step (11), starts next iteration, that is, weighs Multiple step is according to step (5)~step (12), until reaching the maximum iteration M of the frame of setting, produces decoding and terminates letter Number Dec_E, according to positive and negative judgement be that 0 and 1, i.e. D_e1 ' are just, to sentence by the D_e1 ' obtained after the completion of last time iteration then Certainly 1, D_e1 ' be negative, adjudicate as 0, this court verdict is translated by court verdict output buffer cell output court verdict, this frame Code is finished, and is then returned to the decoding that step (4) carries out next frame, until all frame likelihood information data that digital receiver is demodulated Decoding is completed.
Addr_CN described in the step (9) and (11) according to code check in CCSDS standards for R=1/2 (8192, 4096) H-matrix of LDPC code is calculated and obtained.
:D_llr and D_a1 calculates the likelihood information updated in the step (7), the side information D_e1's after being updated Step is as follows:
If n-th, n is 1,2,3,4,5, variable node processing unit reads m information D_a1, m from main storage and is Positive integer, m ' is 1,2 ... m, m ' represents the sequence number of the individual information of m ' in m information, and the individual information D_a1 (m ') of m ' are corresponding Fresh information D_e1 is equal to the channel likelihood information D_llr read from channel information memory plus the individual information D_ of removing m ' Other m-1 information D_a1 outside a1 (m ').
The step of D_a2 calculates the likelihood information updated, side information D_e2 after being updated in the step (10) is such as Under:
(1) set p-th, p is 1,2,3, code check node processing unit reads k information D_a2, k for just from main storage The sequence number of k, k ' represent kth in k information ' individual information that integer, k ' is 1,2 ..., kth ' individual information D_a2 (k ') is corresponding more Fresh information D_e2 symbol bit manipulation is:Remove kth ' k-1 D_a2 sign bit outside individual fresh information D_a2 (k ') it is different Or;
(2) k information D_a2 amplitude is compared, tries to achieve amplitude min value and amplitude sub-minimum, the two values are led to Cross correction value multiplier and be multiplied by normalization factor α, by amplitude min value and kth ' amplitude of individual information compares, if identical, Sub-minimum is exported, if it is different, then exporting minimum value, α scope 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 being updated.
The information D_e1 ' for being used to adjudicate output obtained in the step (12) after the completion of last time iteration is equal to finally The channel likelihood information D_llr read during an iteration from channel information memory plus m information D_a1 (m) and value.
The advantage of the present invention compared with prior art is:
(1) the check matrix structure of code check R=1/2 (8192,4096) LDPC code in CCSDS systems is directed in the present invention Figure has the characteristics of being out of the line, surpass row, main storage simple in construction is devised, with non-zero submatrices one in check matrix structure chart One correspondence;The address processing unit of reading data is simple in construction from main storage, be easily achieved.
(2) Partly parallel decoding structure design of the invention several parallel code check node processing units that are out of the line, super row Several parallel variable node processing units, the implementation complexity of node messages more new 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 is up to 9dB.Meanwhile, the part Parallel decoding structure extends to other code efficiency LDPC code words.
Brief description of the drawings
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;
The schematic diagram for the address Addr_CN that Fig. 3 uses for code check node processing in the structure of interpretation method of the present invention;
Fig. 4 is subframe Π in the structure of interpretation method of the present invention1The read/write address Addr_CN signals of corresponding main storage Figure.
Embodiment
The present invention is described in further detail with specific embodiment below in conjunction with the accompanying drawings:
As shown in Fig. 2 partially-parallel architecture LDPC code decoding system in a kind of space communication system, including iteration control list Member, channel information memory, main storage, variable node processing module, code check node processing module, court verdict output buffering Unit;
Channel information memory includes 4 dual port RAMs, and each RAM depth is L=2048, and main storage includes 15 Memory RAM, i.e. main storage RAM1, RAM2 ..., RAM15, for storing what is transmitted between variable node and check-node Side information, the verification for the quasi-cyclic LDPC code that code efficiency of each memory RAM correspondence defined in CCSDS standards is R=1/2 Each non-zero submatrices in matrix H, each memory RAM depth is L=2048, i.e. main storage RAM1, RAM2 ..., RAM15 respectively correspond to it is as follows:
The super row S1 of RAM1 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S1 of RAM2 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The super row S2 of RAM3 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S2 of RAM4 correspondences submatrix Πs corresponding with the H3 that is out of the line5
The super row S2 of RAM5 correspondences submatrix Πs corresponding with the H3 that is out of the line6
The super row P1 of RAM6 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P2 of RAM7 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row P2 of RAM8 correspondences submatrix Πs corresponding with the H3 that is out of the line7
The super row P2 of RAM9 correspondences submatrix Πs corresponding with the H3 that is out of the line8
The super row P3 of RAM10 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P3 of RAM11 correspondences submatrix Πs corresponding with the H1 that is out of the line1
The super row P3 of RAM12 correspondences submatrix Πs corresponding with the H2 that is out of the line2
The super row P3 of RAM13 correspondences submatrix Πs corresponding with the H2 that is out of the line3
The super row P3 of RAM14 correspondences submatrix Πs corresponding with the H2 that is out of the line4
The super row P3 of RAM15 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The row of check matrix H is divided into 3 be out of the line respectively H1, H2, H3, H1 be 0-2047 rows, H2 be 2048-4095 rows, H3 is 4096-6143 rows;The row of check matrix H are divided into 5 super row S1, S2, P1, P2, P3, S1 is that 0-2047 is arranged, S2 is 2048-4095 row, P1 are that 4096-6143 is arranged, P2 is that 6144-8191 is arranged, P3 is 8192-10239 row, and this matrix divides such as Fig. 1 It is shown;
Variable node processing module includes this 5 variable node processing units of VNU1, VNU2, VNU3, VNU4 and VNU5, becomes It is that 5 tunnels are parallel to measure endpoint processing unit;
Check-node address processing module includes CNU1, CNU2, CNU3 these three code check node processing units, CNU1, CNU2, CNU3 are that 3 tunnels are parallel;
Channel information memory cell receives and stores this current frame likelihood information data of digital receiver demodulation, and will In 4 RAM for storing to the likelihood information data order channel information memory cell, a frame likelihood information data are 8192 Individual, after the frame is received, channel information memory cell generation one receives signal and is sent to iteration control unit, believes Road information memory cell receives 8192 data of next frame by ping-pong operation simultaneously;
Iteration control unit receives to receive after signal sends decoding commencing signal, channel to channel information memory cell Information memory cell receives decoding commencing signal, by the ground of the likelihood information data order in the 4 RAM circuit-switched data of parallel output 4 D_llr gives variable node processing module,
4 circuit-switched data D_llr of variable node processing module receiving channel information memory cell, 4 circuit-switched data D_llr is divided VNU1, VNU2, VNU3, VNU4 are not delivered to, 0 value is delivered into VNU5, while variable node processing module is from main storage RAM1, RAM2 ..., in RAM15 according to the RAM1 in memory, RAM2 ..., RAM15 reading address Addr_VN order Read RAM1, RAM2 ..., the side information D_a1 in RAM15, if the 1st iteration, the then side taken out from main storage Information D_a1=0, by iteration control unit define the order for reading address Addr_VN for 0,1,2 ..., 2047, divide in the following manner Side information D_a1 VNU1, VNU2, VNU3, VNU4, VNU5 are not delivered into:
RAM1, RAM2 data are sequentially read out according to Addr_VN and give VNU1;
RAM3~RAM5 data are sequentially read out according to Addr_VN and give VNU2;
RAM6 data are sequentially read out according to Addr_VN and give VNU3;
RAM7~RAM9 data are sequentially read out according to Addr_VN and give VNU4;
RAM10~RAM15 data are sequentially read out according to Addr_VN and give VNU5;
The likelihood information updated, the side information D_e1 after being updated are calculated according to D_llr and D_a1;By the side after renewal Information D_e1 according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN and write ground Location Addr_VN numerical value is identical, and difference is that allocating time is different, is generated by iteration control unit, be sequence address 0,1,2 ..., 2047;
Iteration control unit produces the reading address Addr_CN of check-node address processing module, and Addr_CN includes Addr_ CN1, Addr_CN2 ..., Addr_CN15, Addr_CN1, Addr_CN2 ..., Addr_CN15 pass through step (3) main storage RAM1, RAM2 ..., the corresponding submatrixs of RAM15 calculate and obtain;
Code check node processing module according to reading address Addr_CN, from main storage RAM1, RAM2 ..., press in RAM15 In the following manner reads side information D_e1, is designated as side information D_a2, the CNU1 delivered in check-node address processing module, CNU2, CNU3;
RAM10, RAM11 data are read according to Addr_CN10, Addr_CN11 and give CNU1;
By RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 data respectively according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 read and give CNU2;
By RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 data respectively according to Addr_CN2, Addr_CN4, Addr_ CN5, Addr_CN8, Addr_CN9, Addr_CN15 read and give CNU3;
The likelihood information updated, the side information D_e2 after being updated again are calculated according to obtained side information D_a2;
Side information D_e2 after renewal is respectively written into master according to address Addr_CN1, Addr_CN2 ..., Addr_CN15 RAM1, RAM2 in memory ..., after RAM15, send this time iteration to iteration control unit and complete signal, read address Addr_CN is identical with write address Addr_CN numerical value, and difference is that allocating time is different, is generated by iteration control unit;
Iteration control unit receives this time iteration and completes signal, starts next iteration, until reaching the frame of setting Maximum iteration M, produce decoding termination signal Dec_E, then, by the side information D_ obtained after the completion of last time iteration E1 ' be that 0 and 1, i.e. D_e1 ' are that just it is negative to adjudicate as 1, D_e1 ' according to positive and negative judgement, is adjudicated as 0, this court verdict is by sentencing Certainly result output buffer cell exports court verdict, and this frame coding is finished, and then carries out the decoding of next frame, until digital received All frame likelihood information data decodings of machine demodulation are completed.
The verification square for the quasi-cyclic LDPC code that the check matrix H is R=1/2 for the code check defined in CCSDS standards Battle array, the code word size N of the quasi-cyclic LDPC code is that 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as:
I in matrix HLWith 0LRespectively 2048 × 2048 dimension unit matrixs and 0 matrix, Πk(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, displacement battle array ΠkT rows (t=0,1,2 ..., 2047) nonzero element column position πk(t) For:
In formula, L=2048, mod represents modular arithmetic,Expression is rounded downwards to 4t/L, column position πk(t) letter in Number θkWithValue see table 3-3, table 3-4 in CCSDS standard CC SDS 131.1-O-2, it is special with quasi- circulation Property.
Described Addr_CN is according to check matrix of the code check in CCSDS standards for R=1/2 (8192,4096) LDPC code H is calculated and obtained.
The D_llr and D_a1 calculate the likelihood information updated, as follows the step of side information D_e1 after being updated:
If n-th, n is 1,2,3,4,5, variable node processing unit reads m information D_a1, m from main storage and is Positive integer, m ' is 1,2 ... m, m ' represents the sequence number of the individual information of m ' in m information, and the individual information D_a1 (m ') of m ' are corresponding Fresh information D_e1 is equal to the channel likelihood information D_llr read from channel information memory plus the individual information D_ of removing m ' Other m-1 information D_a1 outside a1 (m ').
The D_a2 calculates the likelihood information updated, as follows the step of side information D_e2 after being updated:
(1) set p-th, p is 1,2,3, code check node processing unit reads k information D_a2, k for just from main storage The sequence number of k, k ' represent kth in k information ' individual information that integer, k ' is 1,2 ..., kth ' individual information D_a2 (k ') is corresponding more Fresh information D_e2 symbol bit manipulation is:Remove kth ' k-1 D_a2 sign bit outside individual fresh information D_a2 (k ') it is different Or;
(2) k information D_a2 amplitude is compared, tries to achieve amplitude min value and amplitude sub-minimum, the two values are led to Cross correction value multiplier and be multiplied by normalization factor α, by amplitude min value and kth ' amplitude of individual information compares, if identical, Sub-minimum is exported, if it is different, then exporting minimum value, α scope 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 being updated.
When the information D_e1 ' for being used to adjudicate output obtained after the completion of the last time iteration is equal to last time iteration The channel likelihood information D_llr read from channel information memory plus m information D_a1 (m) and value.
Partially-parallel architecture LDPC code interpretation method in a kind of space communication system, including divide LDPC check matrix rank Section and pipeline system Partly parallel decoding stage:
Divide LDPC check matrix stage etch as follows:
(1) code check defined in CCSDS standards is R=1/2 quasi-cyclic LDPC code, the code word of the quasi-cyclic LDPC code Length N is that 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as
I in matrix HLWith 0LRespectively 2048 × 2048 dimension unit matrixs and 0 matrix, Πk(k=1,2 ..., 8) be 2048 × 2048 dimension displacement battle arrays, displacement battle array ΠkT rows (t=0,1,2 ..., 2047) nonzero element column position πk(t) For:
In formula, L=2048, mod represents modular arithmetic,Expression is rounded downwards to 4t/L, column position πk(t) letter in Number θkWithValue see table 3-3, table 3-4 in CCSDS standard CC SDS 131.1-O-2, it is special with quasi- circulation Property;
(2) row of the check matrix H of step (1) is divided into 3 to be out of the line respectively:H1 (0-2047 rows), H2 (2048- 4095 rows), H3 (4096-6143 rows);It is respectively S1 (0-2047 row), S2 (2048- that the row of check matrix H are divided into 5 super row 4095 row), P1 (4096-6143 row), P2 (6144-8191 row), P3 (8192-10239 row), this matrix division as shown in Figure 1;
(3) data storage needed for defining decoding includes:Channel information memory, main storage and decoding output caching Unit;Channel information memory is used to cache channel likelihood information, comprising 4 dual port RAMs, and each RAM depth is 2048;It is main Memory includes 15 memory RAMs, i.e. main storage RAM1, RAM2 ..., RAM15, for storing variable node and verification Each non-zero submatrices in the side information transmitted between node, each memory RAM correspondence check matrix H, each storage Device RAM depth is 2048, i.e. main storage RAM1, RAM2 ..., RAM15 corresponds to respectively:
The super row S1 of RAM1 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S1 of RAM2 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The super row S2 of RAM3 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S2 of RAM4 correspondences submatrix Πs corresponding with the H3 that is out of the line5
The super row S2 of RAM5 correspondences submatrix Πs corresponding with the H3 that is out of the line6
The super row P1 of RAM6 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P2 of RAM7 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row P2 of RAM8 correspondences submatrix Πs corresponding with the H3 that is out of the line7
The super row P2 of RAM9 correspondences submatrix Πs corresponding with the H3 that is out of the line8
The super row P3 of RAM10 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P3 of RAM11 correspondences submatrix Πs corresponding with the H1 that is out of the line1
The super row P3 of RAM12 correspondences submatrix Πs corresponding with the H2 that is out of the line2
The super row P3 of RAM13 correspondences submatrix Πs corresponding with the H2 that is out of the line3
The super row P3 of RAM14 correspondences submatrix Πs corresponding with the H2 that is out of the line4
The super row P3 of RAM15 correspondences submatrix Is corresponding with the H3 that is out of the lineL
Decoding output buffer unit is used to export decoding result;
Pipeline system Partly parallel decoding stage etch is as follows:
(4) channel information memory cell receives and stores this current frame likelihood information data of digital receiver demodulation, And store the likelihood information data order in 4 RAM of channel information memory cell, a frame likelihood information data are 8192 Individual, after the frame is received, channel information memory cell generation one receives signal and is sent to iteration control unit, believes Road information memory cell receives 8192 data of next frame by ping-pong operation simultaneously;
(5) iteration control unit sends decoding commencing signal to channel information memory cell;Channel information memory cell connects Receive decoding commencing signal, by the likelihood information data order in 4 RAM the circuit-switched data D_llr of parallel output 4 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 mould Block includes this 5 variable node processing units of VNU1, VNU2, VNU3, VNU4 and VNU5, and 4 circuit-switched data D_llr is delivered to respectively VNU1, VNU2, VNU3, VNU4, VNU5 is delivered to by 0 value, at the same variable node processing module from the RAM1 in main storage, RAM2 ..., in RAM15 according to the RAM1 in memory, RAM2 ..., RAM15 reading address Addr_VN order reads RAM1, RAM2 ..., the side information D_a1 in RAM15, if the 1st iteration, then the side information taken out from main storage D_a1=0, by iteration control unit define the order for reading address Addr_VN for 0,1,2 ..., 2047, respectively will in the following manner Side information D_a1 delivers to VNU1, VNU2, VNU3, VNU4, VNU5, and variable node processing unit is that 5 tunnels are parallel:
RAM1, RAM2 data are sequentially read out according to Addr_VN and give VNU1;
RAM3~RAM5 data are sequentially read out according to Addr_VN and give VNU2;
RAM6 data are sequentially read out according to Addr_VN and give VNU3;
RAM7~RAM9 data are sequentially read out according to Addr_VN and give VNU4;
RAM10~RAM15 data are sequentially read out according to Addr_VN and give VNU5;
(7) likelihood information updated is calculated according to the D_llr and D_a1 obtained in step (6), the side letter after being updated Cease D_e1;
(8) by the side information D_e2 after updating in step (7) according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN it is identical with write address Addr_VN numerical value, difference be allocating time difference, by Iteration control unit generate, be sequence address 0,1,2 ..., 2047;
(9) iteration control unit produces the reading address Addr_CN of code check node processing module, and Addr_CN includes Addr_ CN1, Addr_CN2 ... Addr_CN15, Addr_CN1, Addr_CN2 ... Addr_CN15 by step (3) main storage RAM1, RAM2 ..., the corresponding submatrixs of RAM15 calculate and obtain;
Code check node processing module include CNU1, CNU2, CNU3, code check node processing module according to read address Addr_CN, From main storage RAM1, RAM2 ..., the side information D_e1 in RAM15 in the following manner in reading step (8), be designated as side letter Cease D_a2, CNU1, CNU2, the CNU3 delivered in code check node processing module, the CNU1 of code check node processing module, CNU2, CNU3 is that 3 tunnels are parallel;
RAM10, RAM11 data are read according to Addr_CN10, Addr_CN11 and give CNU1;
By RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 data respectively according to Addr_CN1, Addr_CN3, Addr_CN7, Addr_CN12, Addr_CN13, Addr_CN14 read and give CNU2;
By RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 data respectively according to Addr_CN2, Addr_CN4, Addr_ CN5, Addr_CN8, Addr_CN9, Addr_CN15 read and give CNU3;
(10) likelihood information updated, the side information D_e2 after being updated are calculated according to the D_a2 obtained in step (9);
(11) by the side information D_e2 after being updated in step (10) according to address Addr_CN1, Addr_CN2 ... Addr_ CN15 be respectively written into the RAM1 in main storage, RAM2 ..., after RAM15, send this time iteration to iteration control unit complete Into signal, reading address Addr_CN is identical with write address Addr_CN numerical value, and difference is that allocating time is different, by iteration control list Member generation;
(12) iteration control unit receives this time iteration completion signal of step (11), starts next iteration, that is, weighs Multiple step is according to step (5)~step (12), until reaching the maximum iteration M of the frame of setting, produces decoding and terminates letter Number Dec_E, according to positive and negative judgement be that 0 and 1, i.e. D_e1 ' are just, to sentence by the D_e1 ' obtained after the completion of last time iteration then Certainly 1, D_e1 ' be negative, adjudicate as 0, this court verdict is translated by court verdict output buffer cell output court verdict, this frame Code is finished, and is then returned to the decoding that step (4) carries out next frame, until all frame likelihood information data that digital receiver is demodulated Decoding is completed.
Addr_CN described in step (9) and (11) is according to (8192,4096) that code check in CCSDS standards is R=1/2 The H-matrix of LDPC code is calculated and obtained.For example for the H1 that is out of the line submatrix Is corresponding with super row P3L、Π1It is respectively as shown in Figure 4.That Address Addr_CN value is 1644,1645 ..., 2047,1536,1537 ..., 1643,0,1 ..., 1535.It can similarly obtain To other addresses, all address Addr_CN are as shown in Figure 3.
D_llr and D_a1 calculate the likelihood information updated in step (7), the step of side information D_e1 after being updated such as Under:
If n-th, n is 1,2,3,4,5, variable node processing unit reads m information D_a1, m from main storage and is Positive integer, m ' is 1,2 ... m, m ' represents the sequence number of the individual information of m ' in m information, and the individual information D_a1 (m ') of m ' are corresponding Fresh information D_e1 is equal to the channel likelihood information D_llr read from channel information memory plus the individual information D_ of removing m ' Other m-1 information D_a1 outside a1 (m ').
For example, during for n=2, correspondence VNU2 units read 1 channel likelihood information D_ from channel information memory Llr, reads m=3 information D_a1 from RAM3~RAM5 of main storage.So m '=1 information D_a1 (1) is corresponding Fresh information D_e1=D_llr+D_a1 (2)+D_a1 (3);The corresponding fresh information D_e1=of m '=2 information D_a1 (2) D_llr+D_a1(1)+D_a1(3);The corresponding fresh information D_e1=D_llr+D_a1 (1) of m '=3 information D_a1 (3)+ D_a1(2);
The information D_e1 ' for being used to adjudicate output obtained in step (12) after the completion of last time iteration is equal to last time The channel likelihood information D_llr read during iteration from channel information memory plus m information D_a1 (m) and value.For example, During for n=2, correspondence VNU2 units read 1 channel likelihood information D_llr, from main storage from channel information memory RAM3~RAM5 in read m=3 information D_a1.So D_e1 '=D_llr+D_a1 (1)+D_a1 (2)+D_a1 (3), Realize in structure, combined here by fresh information D_e1 computational items corresponding with the individual information D_a1 of m ', only need to first be calculated D_e1 ' and then D_a1 (m ') is subtracted so as to overall reduction implementation complexity.
Corresponding fresh information the D_e1=D_e1 '-D_a1 (1) of so m '=1 information D_a1 (1);Believe m '=2 Cease corresponding fresh information the D_e1=D_e1 '-D_a1 (2) of D_a1 (2);The corresponding fresh informations of m '=3 information D_a1 (3) D_e1=D_e1 '-D_a1 (3);
The step of D_a2 calculates the likelihood information updated, side information D_e2 after being updated in step (10) is as follows:(1) If p-th, p is 1,2,3, it is positive integer that code check node processing unit reads k information D_a2, k from main storage, and k ' is 1, 2 ... k, k ' represent the corresponding fresh information D_e2's of the individual information D_a2 (k ') of the kth sequence number of individual information ', kth ' in k information Symbol bit manipulation is:Remove kth ' XOR of k-1 D_a2 sign bit outside individual fresh information D_a2 (k ').(2) by k letter Breath D_a2 amplitude compares, and tries to achieve amplitude min value and amplitude sub-minimum, the two values are multiplied by by correction value multiplier The amplitude of the individual information of normalization factor α, by amplitude min value and kth ' compares, if identical, exports sub-minimum, if it is different, Minimum value is then exported, α scope is 0~1.(3) according to the sign bit of step (1) and the range value of step (2), obtain after renewal Side information D_e2.For example, for p=3, correspondence CNU3 units, from the RAM2 of main storage, RAM4, RAM5, RAM8, RAM9, The corresponding fresh information D_e2 computational methods of the individual information D_a2 (k ') of the k=6 data D_a2 that RAM15 is read, then kth ' are:
Compare k=6 data D_a2 size, obtain minimum value D_a2 (min1) and sub-minimum D_a2 (min2), then For kth '=corresponding fresh information the D_e2 of 1 information D_a2 (k ') sign bit sgn (1 ')=XOR { sgn [D_a2 (2)], sgn [D_a2 (3)], sgn [D_a2 (4)], sgn [D_a2 (5)], sgn [D_a2 (6)] }, then if D_a2 (1)=D_ A2 (min1), D_e2=sgn (1 ') × D_a2 (min2), otherwise D_e2=sgn (1 ') × D_a2 (min1);For kth '=2 The corresponding fresh information D_e2 of individual information D_a2 (k ') sign bit sgn (2 ')=XOR { sgn [D_a2 (1)], sgn [D_a2 (3)], sgn [D_a2 (4)], sgn [D_a2 (5)], sgn [D_a2 (6)] }, then if 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 similarly can be with Obtain.
Embodiment:
Carry out upper plate test on modem platform, FPGA model xc6slx150, using ISE13.4 and ModelSim6.5g developing instruments, quasi-cyclic LDPC (8192,4096) code is completed by Verilog HDL hardware description languages The design of decoder.
When data rate is 4Mbps, modulation system is BPSK, during selection 1/2 code check (8192,4096) LDPC code, system Test result is:When decoding iteration number of times maximum is set to M=45, correspondence BER=1-10-7Demodulation threshold be 2.2dB, phase The coding gain answered is 9dB.
The resource requirement of the decoder is as follows:Register number:2221, LUT numbers:2119;18k memory RAMs:29;
Non-elaborated part of the present invention belongs to techniques well known.

Claims (10)

1. partially-parallel architecture LDPC code decoding system in a kind of space communication system, it is characterised in that:Including iteration control list Member, channel information memory, main storage, variable node processing module, code check node processing module, court verdict output buffering Unit;
Channel information memory includes 4 dual port RAMs, and each RAM depth is L=2048, and main storage includes 15 storages Device RAM, i.e. main storage RAM1, RAM2 ..., RAM15, transmitted for storing between variable node and check-node side letter Breath, the check matrix for the quasi-cyclic LDPC code that code efficiency of each memory RAM correspondence defined in CCSDS standards is R=1/2 Each non-zero submatrices in H, each memory RAM depth is L=2048, i.e. main storage RAM1, RAM2 ..., RAM15 corresponds to as follows respectively:
The super row S1 of RAM1 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S1 of RAM2 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The super row S2 of RAM3 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S2 of RAM4 correspondences submatrix Πs corresponding with the H3 that is out of the line5
The super row S2 of RAM5 correspondences submatrix Πs corresponding with the H3 that is out of the line6
The super row P1 of RAM6 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P2 of RAM7 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row P2 of RAM8 correspondences submatrix Πs corresponding with the H3 that is out of the line7
The super row P2 of RAM9 correspondences submatrix Πs corresponding with the H3 that is out of the line8
The super row P3 of RAM10 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P3 of RAM11 correspondences submatrix Πs corresponding with the H1 that is out of the line1
The super row P3 of RAM12 correspondences submatrix Πs corresponding with the H2 that is out of the line2
The super row P3 of RAM13 correspondences submatrix Πs corresponding with the H2 that is out of the line3
The super row P3 of RAM14 correspondences submatrix Πs corresponding with the H2 that is out of the line4
The super row P3 of RAM15 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The row of check matrix H is divided into 3 be out of the line respectively H1, H2, H3, and H1 is that 0-2047 rows, H2 are that 2048-4095 rows, H3 are 4096-6143 rows;The row of check matrix H are divided into 5 super row S1, S2, P1, P2, P3, S1 is that 0-2047 is arranged, S2 is 2048- 4095 row, P1 are that 4096-6143 is arranged, P2 is that 6144-8191 is arranged, P3 is 8192-10239 row;
Variable node processing module includes VNU1, VNU2, VNU3, VNU4 and VNU5 this 5 variable node processing units, variable section Point processing unit is that 5 tunnels are parallel;
Check-node address processing module includes CNU1, CNU2, CNU3 these three code check node processing units, CNU1, CNU2, CNU3 is that 3 tunnels are parallel;
Channel information memory receives and stores this current frame likelihood information data of digital receiver demodulation, and by the likelihood Information data is stored sequentially in 4 RAM of channel information memory, and a frame likelihood information data are 8192, when the frame After receiving, channel information memory generation one receives signal and is sent to iteration control unit, channel information storage Device receives 8192 data of next frame by ping-pong operation simultaneously;
Iteration control unit receives to receive after signal sends decoding commencing signal to channel information memory, and channel information is deposited Reservoir receives decoding commencing signal, by the likelihood information data order in 4 RAM the circuit-switched data D_llr of parallel output 4 to become Measure node processing module,
4 circuit-switched data D_llr of variable node processing module receiving channel information memory, 4 circuit-switched data D_llr is delivered to respectively VNU1, VNU2, VNU3, VNU4, VNU5 is delivered to by 0 value, at the same variable node processing module from the RAM1 in main storage, RAM2 ..., in RAM15 according to the RAM1 in memory RAM, RAM2 ..., RAM15 reading address Addr_VN order reads Take RAM1, RAM2 ..., the side information D_a1 in RAM15, if the 1st iteration, then the side letter taken out from main storage Cease D_a1=0, by iteration control unit define the order for reading address Addr_VN for 0,1,2 ..., 2047, distinguish in the following manner Side information D_a1 is delivered into VNU1, VNU2, VNU3, VNU4, VNU5:
RAM1, RAM2 data are sequentially read out according to Addr_VN and give VNU1;
RAM3~RAM5 data are sequentially read out according to Addr_VN and give VNU2;
RAM6 data are sequentially read out according to Addr_VN and give VNU3;
RAM7~RAM9 data are sequentially read out according to Addr_VN and give VNU4;
RAM10~RAM15 data are sequentially read out according to Addr_VN and give VNU5;
The likelihood information updated, the side information D_e1 after being updated are calculated according to D_llr and D_a1;By the side information after renewal D_e1 according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN and write address Addr_VN numerical value is identical, and difference is that allocating time is different, is generated by iteration control unit, be sequence address 0,1,2 ..., 2047;
Iteration control unit produce check-node address processing module reading address Addr_CN, Addr_CN include Addr_CN1, Addr_CN2 ..., Addr_CN15, Addr_CN1, Addr_CN2 ..., Addr_CN15 by main storage RAM1, RAM2 ..., the corresponding submatrixs of RAM15 calculate and obtain;
Code check node processing module according to reading address Addr_CN, from main storage RAM1, RAM2 ..., in RAM15 by following Mode reads side information D_e1, is designated as side information D_a2, CNU1, CNU2, the CNU3 delivered in check-node address processing module;
RAM10, RAM11 data are read according to Addr_CN10, Addr_CN11 and give CNU1;
By RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 data respectively according to Addr_CN1, Addr_CN3, Addr_ CN7, Addr_CN12, Addr_CN13, Addr_CN14 read and give CNU2;
By RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 data respectively according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 read and give CNU3;
The likelihood information updated, the side information D_e2 after being updated again are calculated according to obtained side information D_a2;
Side information D_e2 after renewal is respectively written into primary storage according to address Addr_CN1, Addr_CN2 ..., Addr_CN15 RAM1, RAM2 in device ..., after RAM15, send this time iteration to iteration control unit and complete signal, read address Addr_ CN is identical with write address Addr_CN numerical value, and difference is that allocating time is different, is generated by iteration control unit;
Iteration control unit receives this time iteration and completes signal, starts next iteration, until reaching the frame of setting most Big iterations M, produces decoding termination signal Dec_E, then, by the side information D_e1 ' obtained after the completion of last time iteration Be 0 and 1, i.e. D_e1 ' for just, it be negative to adjudicate as 1, D_e1 ' according to positive and negative judgement, adjudicate as 0, this court verdict passes through judgement knot Fruit output buffer cell output court verdict, this frame coding is finished, and the decoding of next frame is then carried out, until digital receiver solution All frame likelihood information data decodings adjusted are completed.
2. partially-parallel architecture LDPC code decoding system, its feature in a kind of space communication system according to claim 1 It is:The check matrix for the quasi-cyclic LDPC code that the check matrix H is R=1/2 for the code check defined in CCSDS standards, The code word size N of the quasi-cyclic LDPC code is that 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as:
<mrow> <mi>H</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>I</mi> <mi>L</mi> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>&amp;Pi;</mi> <mn>2</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>3</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>4</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>&amp;Pi;</mi> <mn>5</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>6</mn> </msub> </mrow> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>&amp;Pi;</mi> <mn>7</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>8</mn> </msub> </mrow> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
I in matrix HLWith 0LRespectively 2048 × 2048 dimension unit matrixs and 0 matrix, Πk(k=1,2 ..., 8) for 2048 × 2048 dimension displacement battle arrays, displacement battle array ΠkT rows (t=0,1,2 ..., 2047) nonzero element column position πk(t) it is:
In formula, L=2048, mod represents modular arithmetic,Expression is rounded downwards to 4t/L, θkWithFor row position Put πk(t) function in.
3. partially-parallel architecture LDPC code decoding system, its feature in a kind of space communication system according to claim 2 It is:Described Addr_CN is according to check matrix H meter of the code check in CCSDS standards for R=1/2 (8192,4096) LDPC code Obtain.
4. partially-parallel architecture LDPC code decoding system, its feature in a kind of space communication system according to claim 1 It is:The D_llr and D_a1 calculate the likelihood information updated, as follows the step of side information D_e1 after being updated:
If n-th, n is 1,2,3,4,5, it is just whole that variable node processing unit reads m information D_a1, m from main storage Number, m ' be 1,2 ... m, m ' represent m information in the individual information of m ' sequence number, the individual information D_a1 (m ') of m ' it is corresponding renewal Information D_e1 is equal to the channel likelihood information D_llr read from channel information memory plus the individual information D_a1 of removing m ' Other m-1 information D_a1 outside (m ').
5. partially-parallel architecture LDPC code decoding system, its feature in a kind of space communication system according to claim 1 It is:The D_a2 calculates the likelihood information updated, as follows the step of side information D_e2 after being updated:
(1) set p-th, p is 1,2,3, it is just whole that code check node processing unit reads k information D_a2, k from main storage The sequence number of k, k ' represent kth in k information ' individual information that number, k ' is 1,2 ..., kth ' the corresponding renewal of individual information D_a2 (k ') Information D_e2 symbol bit manipulation is:Remove kth ' XOR of k-1 D_a2 sign bit outside individual fresh information D_a2 (k ');
(2) k information D_a2 amplitude is compared, tries to achieve amplitude min value and amplitude sub-minimum, by the two values by repairing Normalization factor α being multiplied by the occasion of multiplier, by amplitude min value and kth ' amplitude of individual information compares, if identical, exports Sub-minimum, if it is different, then exporting minimum value, α scope 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 being updated.
6. partially-parallel architecture LDPC code decoding system, its feature in a kind of space communication system according to claim 1 It is:Obtained after the completion of the last time iteration be used for adjudicate output information D_e1 ' be equal to last time iteration when from The channel likelihood information D_llr read in channel information memory plus m information D_a1 (m) and value.
7. partially-parallel architecture LDPC code interpretation method in a kind of space communication system, it is characterised in that:Including dividing LDPC code Check matrix stage and pipeline system Partly parallel decoding stage:
The division LDPC check matrix stage etch is as follows:
(1) code check defined in CCSDS standards is R=1/2 quasi-cyclic LDPC code, the code word size of the quasi-cyclic LDPC code N is that 8192, information bit length K is 4096, and the check matrix H of this yard is expressed as
<mrow> <mi>H</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>I</mi> <mi>L</mi> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>&amp;Pi;</mi> <mn>2</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>3</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>4</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>&amp;Pi;</mi> <mn>5</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>6</mn> </msub> </mrow> </mtd> <mtd> <msub> <mn>0</mn> <mi>L</mi> </msub> </mtd> <mtd> <mrow> <msub> <mi>&amp;Pi;</mi> <mn>7</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>&amp;Pi;</mi> <mn>8</mn> </msub> </mrow> </mtd> <mtd> <msub> <mi>I</mi> <mi>L</mi> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
I in matrix HLWith 0LRespectively 2048 × 2048 dimension unit matrixs and 0 matrix, Πk(k=1,2 ..., 8) for 2048 × 2048 dimension displacement battle arrays, displacement battle array ΠkT rows (t=0,1,2 ..., 2047) nonzero element column position πk(t) it is:
In formula, L=2048, mod represents modular arithmetic,Expression is rounded downwards to 4t/L, θkWithFor row position Put πk(t) function in;
(2) row of the check matrix H of step (1) is divided into 3 to be out of the line respectively:H1 (0-2047 rows), H2 (2048-4095 OK), H3 (4096-6143 rows);It is respectively S1 (0-2047 row), S2 (2048-4095 that the row of check matrix H are divided into 5 super row Row), P1 (4096-6143 row), P2 (6144-8191 row), P3 (8192-10239 row);
(3) data storage needed for defining decoding includes:Channel information memory, main storage and decoding output caching are single Member;Channel information memory is used to cache channel likelihood information, comprising 4 dual port RAMs, and each RAM depth is 2048;Host Reservoir includes 15 memory RAMs, i.e. main storage RAM1, RAM2 ..., RAM15, saved for storing variable node and verification Each non-zero submatrices in the side information transmitted between point, each memory RAM correspondence check matrix H, each memory RAM depth is 2048, i.e. main storage RAM1, RAM2 ..., RAM15 corresponds to respectively:
The super row S1 of RAM1 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S1 of RAM2 correspondences submatrix Is corresponding with the H3 that is out of the lineL
The super row S2 of RAM3 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row S2 of RAM4 correspondences submatrix Πs corresponding with the H3 that is out of the line5
The super row S2 of RAM5 correspondences submatrix Πs corresponding with the H3 that is out of the line6
The super row P1 of RAM6 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P2 of RAM7 correspondences submatrix Is corresponding with the H2 that is out of the lineL
The super row P2 of RAM8 correspondences submatrix Πs corresponding with the H3 that is out of the line7
The super row P2 of RAM9 correspondences submatrix Πs corresponding with the H3 that is out of the line8
The super row P3 of RAM10 correspondences submatrix Is corresponding with the H1 that is out of the lineL
The super row P3 of RAM11 correspondences submatrix Πs corresponding with the H1 that is out of the line1
The super row P3 of RAM12 correspondences submatrix Πs corresponding with the H2 that is out of the line2
The super row P3 of RAM13 correspondences submatrix Πs corresponding with the H2 that is out of the line3
The super row P3 of RAM14 correspondences submatrix Πs corresponding with the H2 that is out of the line4
The super row P3 of RAM15 correspondences submatrix Is corresponding with the H3 that is out of the lineL
Decoding output buffer unit is used to export decoding result;
The pipeline system Partly parallel decoding stage etch is as follows:
(4) channel information memory receives and stores this current frame likelihood information data of digital receiver demodulation, and should The storage of likelihood information data order is arrived in 4 RAM of channel information memory, and a frame likelihood information data are 8192, when this After frame is received, channel information memory generation one receives signal and is sent to iteration control unit, and channel information is deposited Reservoir receives 8192 data of next frame by ping-pong operation simultaneously;
(5) iteration control unit sends decoding commencing signal to channel information memory;Channel information memory receives decoding Commencing signal, by the likelihood information data order in 4 RAM the circuit-switched data D_llr of parallel output 4 give variable node handle mould Block;
(6) 4 circuit-switched data D_llr of variable node processing module receiving channel information memory, variable node processing module includes This 5 variable node processing units of VNU1, VNU2, VNU3, VNU4 and VNU5, by 4 circuit-switched data D_llr deliver to respectively VNU1, VNU2, VNU3, VNU4, VNU5 is delivered to by 0 value, at the same variable node processing module from the RAM1 in main storage, RAM2 ..., in RAM15 according to the RAM1 in memory RAM, RAM2 ..., RAM15 reading address Addr_VN order reads Take RAM1, RAM2 ..., the side information D_a1 in RAM15, if the 1st iteration, then the side letter taken out from main storage Cease D_a1=0, by iteration control unit define the order for reading address Addr_VN for 0,1,2 ..., 2047, distinguish in the following manner Side information D_a1 is delivered into VNU1, VNU2, VNU3, VNU4, VNU5, variable node processing unit is that 5 tunnels are parallel:
RAM1, RAM2 data are sequentially read out according to Addr_VN and give VNU1;
RAM3~RAM5 data are sequentially read out according to Addr_VN and give VNU2;
RAM6 data are sequentially read out according to Addr_VN and give VNU3;
RAM7~RAM9 data are sequentially read out according to Addr_VN and give VNU4;
RAM10~RAM15 data are sequentially read out according to Addr_VN and give VNU5;
(7) likelihood information updated, the side information D_ after being updated are calculated according to the D_llr and D_a1 obtained in step (6) e1;
(8) by the side information D_e2 after updating in step (7) according to write address Addr_VN write main storage RAM1, RAM2 ..., RAM15, read address Addr_VN it is identical with write address Addr_VN numerical value, difference be allocating time difference, by Iteration control unit generate, be sequence address 0,1,2 ..., 2047;
(9) iteration control unit produce code check node processing module reading address Addr_CN, Addr_CN include Addr_CN1, Addr_CN2 ... Addr_CN15, Addr_CN1, Addr_CN2 ... Addr_CN15 by step (3) main storage RAM1, RAM2 ..., the corresponding submatrixs of RAM15 calculate and obtain;
Code check node processing module includes CNU1, CNU2, CNU3, and code check node processing module is according to address Addr_CN is read, from master Memory RAM 1, RAM2 ..., the side information D_e1 in RAM15 in the following manner in reading step (8), be designated as side information D_ A2, CNU1, CNU2, the CNU3 delivered in code check node processing module, CNU1, CNU2, CNU3 of code check node processing module are 3 Road is parallel;
RAM10, RAM11 data are read according to Addr_CN10, Addr_CN11 and give CNU1;
By RAM1, RAM3, RAM7, RAM12, RAM13, RAM14 data respectively according to Addr_CN1, Addr_CN3, Addr_ CN7, Addr_CN12, Addr_CN13, Addr_CN14 read and give CNU2;
By RAM2, RAM4, RAM5, RAM8, RAM9, RAM15 data respectively according to Addr_CN2, Addr_CN4, Addr_CN5, Addr_CN8, Addr_CN9, Addr_CN15 read and give CNU3;
(10) likelihood information updated, the side information D_e2 after being updated are calculated according to the D_a2 obtained in step (9);
(11) by the side information D_e2 after being updated in step (10) according to address Addr_CN1, Addr_CN2 ... Addr_CN15 points RAM1 that Xie Ru be in main storage, RAM2 ..., after RAM15, send this time iteration to iteration control unit and complete to believe Number, reading address Addr_CN is identical with write address Addr_CN numerical value, and difference is that allocating time is different, is given birth to by iteration control unit Into;
(12) iteration control unit receives this time iteration completion signal of step (11), starts next iteration, that is, repeats to walk Suddenly according to step (5)~step (12), until reaching the maximum iteration M of the frame of setting, decoding termination signal is produced Dec_E, then, by the D_e1 ' obtained after the completion of last time iteration according to positive and negative judgement be 0 and 1, i.e. D_e1 ' just, to adjudicate It is negative for 1, D_e1 ', adjudicates as 0, this court verdict, which passes through court verdict and exports buffer cell, exports court verdict, this frame coding Finish, be then returned to the decoding that step (4) carries out next frame, until all frame likelihood information data that digital receiver is demodulated are translated Code is completed.
8. partially-parallel architecture LDPC code interpretation method, its feature in a kind of space communication system according to claim 7 It is:Addr_CN described in step (9) and (11) is according to (8192,4096) LDPC that code check in CCSDS standards is R=1/2 The H-matrix of code is calculated and obtained.
9. partially-parallel architecture LDPC code interpretation method, its feature in a kind of space communication system according to claim 7 It is:D_llr and D_a1 calculate the likelihood information updated in the step (7), the step of side information D_e1 after being updated It is as follows:
If n-th, n is 1,2,3,4,5, it is just whole that variable node processing unit reads m information D_a1, m from main storage Number, m ' be 1,2 ... m, m ' represent m information in the individual information of m ' sequence number, the individual information D_a1 (m ') of m ' it is corresponding renewal Information D_e1 is equal to the channel likelihood information D_llr read from channel information memory plus the individual information D_a1 of removing m ' Other m-1 information D_a1 outside (m ').
10. partially-parallel architecture LDPC code interpretation method, its feature in a kind of space communication system according to claim 7 It is:The step of D_a2 calculates the likelihood information updated, side information D_e2 after being updated in the step (10) is as follows:
(1) set p-th, p is 1,2,3, it is just whole that code check node processing unit reads k information D_a2, k from main storage The sequence number of k, k ' represent kth in k information ' individual information that number, k ' is 1,2 ..., kth ' the corresponding renewal of individual information D_a2 (k ') Information D_e2 symbol bit manipulation is:Remove kth ' XOR of k-1 D_a2 sign bit outside individual fresh information D_a2 (k ');
(2) k information D_a2 amplitude is compared, tries to achieve amplitude min value and amplitude sub-minimum, by the two values by repairing Normalization factor α being multiplied by the occasion of multiplier, by amplitude min value and kth ' amplitude of individual information compares, if identical, exports Sub-minimum, if it is different, then exporting minimum value, α scope 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 being updated.
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 CN104579362A (en) 2015-04-29
CN104579362B true 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)

Families Citing this family (5)

* 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
CN108092673B (en) * 2018-02-10 2021-04-16 中国传媒大学 BP iterative decoding method and system based on dynamic scheduling
CN109495115B (en) * 2018-11-01 2022-08-09 哈尔滨工业大学 LDPC decoder based on FPGA and decoding method
US11996862B2 (en) 2022-09-07 2024-05-28 Seagate Technology Llc High performance decoder
US11929761B1 (en) 2022-10-07 2024-03-12 Seagate Technology Llc Low latency decoder

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
A Highly Parallel Design for Irregular LDPC Decoding on GPGPUs;Tsou-Han Chiu et al.;《Signal & Information Processing Association Annual Summit and Conference (APSIPA ASC),2012 Asia-Pacific》;20121206;全文 *
Parallel Nonbinary LDPC Decoding on GPU;Guohui Wang et al.;《Signals, Systems and Computers (ASILOMAR), 2012 Conference Record of the Forty Sixth Asilomar Conference on》;20121107;全文 *
基于GPU的LDPC存储优化并行译码结构设计;葛帅 等;《北京航空航天大学学报》;20130331;第39卷(第3期);全文 *
数字可变符号率调制器设计;周三文;《遥测遥控》;20130531;第34卷(第3期);全文 *

Also Published As

Publication number Publication date
CN104579362A (en) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104579362B (en) Partially-parallel architecture LDPC code decoding system and its method in a kind of space communication system
CN101534166B (en) Quasi-cyclic low-density parity-check code decoder and decoding method
CN103259545B (en) Quasi-cyclic low density odd-even check code belief propagation decoding method based on oscillation
CN101212277A (en) Multi-protocol supporting LDPC decoder
CN101350625A (en) High-efficiency all-purpose decoder for QC-LDPC code and decoding method thereof
US9825650B2 (en) Decoder architecture for cyclically-coupled quasi-cyclic low-density parity-check codes
CN106936446A (en) A kind of high speed decoder and its interpretation method based on Non-Binary LDPC Coded
CN101345532B (en) Decoding method for LDPC channel code
CN100425000C (en) Double-turbine structure low-density odd-even check code decoder
US20060031744A1 (en) Method and apparatus for encoding and decoding data
US7493548B2 (en) Method and apparatus for encoding and decoding data
CN103199874B (en) Low density parity check code decoding method
CN105680879B (en) The ldpc decoder design method of compatible with DVB-S2X standard
CN107204780B (en) Merging BP decoding algorithm and device of polar-LDPC (Low Density parity check) concatenated code
CN103929210B (en) Hard decision decoding method based on genetic algorithm and neural network
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
CN109981112A (en) A kind of sequencing statistical decoding method of partial cyclic redundancy check auxiliary
CN100542049C (en) A kind of decoder device and interpretation method of LDPC sign indicating number of multi code Rate of Chinese character
CN106571829A (en) FPGA-based high-speed adaptive DVB-S2 LDPC decoder and decoding method
CN101232288A (en) Decoding method of LDPC code based on parity check matrix and decoder thereof
CN101273531B (en) Improved TURBO-decoding information transmission method, apparatus and system of low density parity check code
CN105227191B (en) Based on the quasi-cyclic LDPC code coding method for correcting minimum-sum algorithm
CN101207386A (en) Constitution method of binary low density parity check code
CN103023603B (en) Method for realizing bit-interleaved coded modulation based on low-density parity-check (LDPC) matrix
KR101657912B1 (en) Method of Decoding Non-Binary Low Density Parity Check Codes

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