CN101834614B - Multielement LDPC code coding method and device capable of saving storage resource - Google Patents

Multielement LDPC code coding method and device capable of saving storage resource Download PDF

Info

Publication number
CN101834614B
CN101834614B CN 201010137864 CN201010137864A CN101834614B CN 101834614 B CN101834614 B CN 101834614B CN 201010137864 CN201010137864 CN 201010137864 CN 201010137864 A CN201010137864 A CN 201010137864A CN 101834614 B CN101834614 B CN 101834614B
Authority
CN
China
Prior art keywords
module
information
check
node
variable node
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.)
Expired - Fee Related
Application number
CN 201010137864
Other languages
Chinese (zh)
Other versions
CN101834614A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN 201010137864 priority Critical patent/CN101834614B/en
Publication of CN101834614A publication Critical patent/CN101834614A/en
Application granted granted Critical
Publication of CN101834614B publication Critical patent/CN101834614B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a multielement LDPC code coding device which mainly solves the problem that the existing multielement LDPC code coding device has high complexity and occupies more storage resources. The device comprises a load module, a variable node updating module, a verification node updating module, a route module, an unload module and a control logic module, wherein the load module receives and stores a demodulation information vector output by a demodulator; the variable node updating module reads data from the load module and the route module and updates all variable nodes; the verification node updating module reads an information vector from the route module and updates a verification node; the route module stores the mutually transmitted information of the variable node and the verification node as well as the interconnection relation between the variable node and the verification node; the unload module verifies the coding result and outputs information; and the control logic module sends a control signal to each module. The invention utilizes iteration time differences to save 50% of overall storage resources so as to realize low requirement and high efficiency of the coding device for the storage resources.

Description

Save the multielement LDPC code coding method and the device of storage resources
Technical field
The present invention relates to communication system; Belong to the fec arrangement in the digital communication system; A kind of interpretation method of multielement LDPC code particularly is provided; Can in channel coding method is the communication system of multielement LDPC code, adopt, being particularly useful for the adaptive coding modulation is the system of broadband wireless communication of core, to satisfy the requirement of high-speed and high-efficiency.
Background technology
The LDPC sign indicating number is one type of linear block codes that check matrix is a sparse matrix, is proposed in 1962 by Gallager the earliest, and decoder has used the iterative decoding algorithm of low complex degree.Owing to receive the restriction of computing capability at that time, the LDPC sign indicating number once once had been considered to a kind of impracticable sign indicating number, was ignored by people in very long a period of time.To the develop rapidly of appearance, particularly level of hardware of Turbo code at the beginning of the nineties in last century, the excellent properties of LDPC sign indicating number just is familiar with by people again.1996, the LDPC long code that MacKay and Neal point out to have the random configuration of linear decoding complexity can be equal to Turbo code.Luby in 1997 etc. have expanded the regular LDPC sign indicating number of Gallager, have proposed the more superior irregular LDPC codes of performance.At present, most of research work and patent of invention are to binary LDPC sign indicating number.Some structural type binary ldpc decoders with high speed, fast decoding algorithm, low memory demands have been widely applied in the various communication systems, like 3GPP2,802.16e, 802.11n or the like.
1998, Davey and MacKay studied multielement LDPC code, and the result shows that its performance is better than binary LDPC sign indicating number, but this is to exchange for bigger coding and decoding complexity.2005, people such as Shu Lin proposed several kinds and have constructed the method for polynary quasi-cyclic LDPC code based on finite field, and its coding gain surpasses the RS sign indicating number that adopts identical code length and code check under the algebraic decoding algorithm.
Compare with binary LDPC sign indicating number, multielement LDPC code not only have a better error-correcting performance, and the antiburst error ability strong, be fit to high rate data transmission.But the research work of existing multielement LDPC is done lessly relatively, has a lot of problems: comprise higher memory space and complicated aspects such as cataloged procedure.Especially on the decoding problem of multielement LDPC code, the territory at multielement LDPC symbol place is GF (q), wherein q=2 mBecause the multielement LDPC code decoding algorithm is on symbol level, so the implementation complexity of the sum-product algorithm of standard can increase sharply along with the increase of m.On the other hand,, hope to increase m again, therefore just formed the disequilibrium of multielement LDPC code between decoding algorithm complexity and error-correcting performance for improving the burst-correcting ability of multielement LDPC code.
Summary of the invention
The objective of the invention is in order to overcome the deficiency of prior art; A kind of multielement LDPC code coding method and equipment of saving storage resources is provided; Balance with decoding complexity and error-correcting performance in the realization multielement LDPC code; Under the decoding complexity fixing situation, reduce high power capacity demand, so that make the multielement LDPC code on GF (q) territory in real system, obtain better application to memory space in the decoding equipment.
For realizing above-mentioned purpose, the present invention proposes a kind of multielement LDPC decoder of saving storage resources, comprising:
Load-on module is used for receiving and storing soft information;
The variable node update module, be used to receive the check-node information transmitted and with it by ultra column operations, upgrade the information of variable node, and the self information after will upgrading is transferred to the check-node update module;
The check-node update module, be used to receive the variable node information transmitted and with it by the computing of being out of the line, upgrade the information of check-node, and the message transmission after will upgrading is to the variable node update module;
Routing module, the interconnected information that is used for storing check matrix H variable node and check-node, the operation relation when being transferred to variable node update module and check-node update module as iteration;
Unload module is used to receive and adjudicate every information sequence c that takes turns after variable node update module interative computation is accomplished, if cH T=0 sets up, and then the information bit among the decode results c is exported; If reach maximum iteration time, cH no matter TWhether=0 set up, and all will the information bit among the decode results c be exported;
Control logic module is used for to described each module communicating control information it being under the normal work schedule, guarantees the correctness that data flow.
For realizing above-mentioned purpose, a kind of multielement LDPC interpretation method of saving storage resources that the present invention proposes comprises the steps:
(1) load-on module receives and stores the demodulating information vector of transferring device output;
(2) the variable node update module reads the demodulating information vector from load-on module, and with the n in the vector mIndividual big real-valued and corresponding thresholding passes to check-node, n m≤q, q are the size in GF (q) territory at multielement LDPC code place;
(3) the check-node update module reads information vector from routing module; At first information vector is done the thresholding displacement; Do contrary thresholding displacement afterwards to the information vector computing of being out of the line, and to operation result, at last operation result is inserted the memory space in the routing module;
(4) the variable node update module reads information vector from routing module, surpass column operations after, operation result is inserted the memory space in the routing module, and will upgrade the back all the decoding sequence c that forms of variable node information pass to Unload module;
(5) Unload module is adjudicated decoding sequence c, if satisfy cH T=0 or reach maximum iteration time, then will decipher the information bit output in the sequence, and write down current round iterations; Otherwise, forward step (3) to.
Technological merit of the present invention is:
1) between initializing variable node updates module and check-node update module, during the memory space depth vector, only stores the part value m in the confinement exponent number q value, can save very big storage resources.Utilize method of the present invention, be reduced to originally 1/2 like the degree of depth that will store vector, can save 25% of total storage resources.
2) utilize variable node update module and the iteration time of check-node update module in the process of iterative computation poor, can only need a memory space to be used for the operation result of storage of variables node updates module and check-node update module in realization.Any module with the data in the single port memory space take out carry out related operation after, the data that computing draws are backfilled to respectively in the identical address in the former same memory space, can be used for another module and carry out next interative computation and insert data.Because variable node update module and check-node update module need data quantity stored very big in the process of iterative computation, adopt method of the present invention can reduce the required storage resources of interative computation greatly.Under the situation that storage resources is fixed, can the storage resources under practicing thrift be distributed to the table tennis memory space in the load-on module, so that receive and store the softer information of multiframe.If do not distribute to load-on module, single the method can reduce 25% of total storage resources again.
In sum, adopt decoding equipment proposed by the invention and implementation method can save 50% of storage resources aggregate demand, therefore implementation method of the present invention has bigger practical significance.
Description of drawings
Fig. 1 is a multielement LDPC code translator general structure sketch map of the present invention;
Fig. 2 is the load-on module memory construction sketch map in the multielement LDPC code translator of the present invention;
Fig. 3 is a variable node update module structural representation in the multielement LDPC code translator of the present invention;
Fig. 4 is a descending device structural representation in the multielement LDPC code translator of the present invention;
Fig. 5 is a verification node updates modular structure sketch map in the multielement LDPC code translator of the present invention;
Fig. 6 is that there is storage organization sketch map in the module on the road in the multielement LDPC code translator of the present invention;
Fig. 7 is a multielement LDPC interpretation method flow chart of the present invention;
Fig. 8 is the multielement LDPC code check matrix partitioned organization sketch map that the present invention adopts.
Embodiment
With reference to Fig. 1, multielement LDPC code translator of the present invention mainly is made up of load-on module, variable node update module, check-node update module, routing module, control logic module and Unload module.Wherein:
Load-on module is used for receiving and storing soft information, supplies the variable node update module to read.The structure of this module is as shown in Figure 2; Its memory space zone is divided into two parts RAM1 and the RAM2 of identical size; Distinguish the highest order that these two parts mainly depend on write address W_ADD or read address R_ADD, highest order is 0 o'clock, is illustrated in RAM1 is partly carried out the write or read operation; Otherwise, then be illustrated in RAM2 partly carried out the write or read operation.When RAM1 is partly write data buffering, read the RAM2 partial data and decipher; When RAM2 is partly write data buffering, read the RAM1 partial data and decipher; The work of reading when so alternately accomplishing buffer-stored and the iterative decoding of data.Here be noted that decoding, need be to writing memory space again to liking the multielement LDPC code on GF (q) territory after the data descending.Accomplish frame data buffering, promptly write the RAM1 part after, send a memory location address information and reception and finish signal to control logic module.Send the decoding commencing signal by control logic module; Simultaneously write address is pointed to RAM2, be about to the soft information cache of an ensuing frame and go into the RAM2 part; Read the address and point to RAM1, promptly wait for the soft information of next frame and begin the decoding of the soft information of this frame.
The variable node update module; Be used to realize that initialization, variable node upgrade and three functions of decoding judgement; The data that it needs are the initial soft information of storing in the load-on module from two aspects on the one hand, are the information that check-node passes to variable node on the other hand.This variable node update module is only being carried out initialization in the iteration first, and each iteration is afterwards only carried out variable node renewal and decoding judgement.Described function of initializing only need be with the n in the initial soft information vector mIndividual big real-valued and corresponding thresholding passes to check-node, wherein, and n m≤q, q are the size in GF (q) territory at multielement LDPC code place.Described variable node update functions need calculate the information vector that all variable nodes pass to check-node; The calculating that wherein a certain variable node passes to the information vector of coupled check-node needs two parts information vector; A part is the information vector that the check-node that except that this check-node, links to each other with this variable node transmits, and another part is an initial solution adjusting information vector vector.The process that these information vectors is surpassed column operations is: at first therefrom optional two information vectors are as the input of ultra column operations; Two result and any information vectors that had neither part nor lot in computing that are input as previous operation of each ultra column operations afterwards; So all participated in ultra column operations, and the result of ultra column operations for the last time passes to corresponding check-node until all information vectors.The structure of ultra column operations is as shown in Figure 3, and its two input vector MEM_VI and MEM_VA comprise real-valued vectorial R respectively VIAnd R VAAnd corresponding thresholding vector α VIAnd α VA, be output as vectorial R VBAnd corresponding thresholding vector α VB, all vector lengths are n m, n m≤q, q are the size in GF (q) territory at multielement LDPC code place, and concrete operation is following:
for?all(j?from?0?to?n m-1)do
if(α VI[j]∈α VA)then
k:α VA[k]=α VI[j]
S ⇐ { R VI [ j ] + R VA [ k ] , α VI [ j ] }
else
S ⇐ { R VI [ j ] + γ , α VI [ j ] }
end?if
end?for
for?all(i?from?0?to?n m-1)do
if ( α VA [ i ] ∉ S ) then
S ⇐ { R VA [ i ] + γ , α VA [ i ] }
end?if
end?for
Figure GSA00000071683800055
is meant data sent into sorting unit in the following formula.The structure of this sorting unit is as shown in Figure 4, and it comprises n m≤q comparator and register; Q is the size in GF (q) territory at multielement LDPC code place; Whether each register root is upgraded according to the real-valued comparative result decision of the real-valued and register of input; If the real-valued of input then is updated to input the value of this register greater than the real-valued of this register and less than the value of its left side register, if input is real-valued greater than the real-valued of this register and greater than the value of its left side register; Then the value with its left side register is updated to the value of this register, otherwise does not upgrade this register.Described decoding decision function is that the information vector of all check-node transmission that link to each other with variable node and demodulating information vector vector are surpassed among the result of column operations maximum real-valued corresponding thresholding as court verdict c, and c is passed to Unload module.
The check-node update module; Be used to accomplish thresholding displacement, check-node renewal and three functions of contrary thresholding displacement; The thresholding that it at first docks in the breath vector of collecting mail is done the thresholding displacement; Calculate the information vector that check-node passes to variable node afterwards, finally the thresholding in the information vector of transmitting is done contrary thresholding displacement.Described thresholding permutation function is that the thresholding that receives in the vector is done territory comultiplication computing with its thresholding corresponding in check matrix; And cover the thresholding that receives in the vector with operation result; In order to reduce territory comultiplication computing, thresholding in the check matrix and all elements on the territory are done the territory comultiplication one by one, the result is stored among the ROM; Then thresholding displacement only need be read the value of storing among the ROM, ROM to read the address identical with the thresholding size that needs to replace.Described check-node update functions need calculate the information vector that all check-nodes pass to variable node; Wherein a certain check-node passes to the calculating of the information vector of coupled variable node, the information vector that the variable node that only needs to link to each other with this check-node outside this variable node transmits.To the be out of the line process of computing of these information vectors be: at first therefrom optional two information vectors are as the input of the computing of being out of the line; Two result and any information vectors that had neither part nor lot in computing that are input as previous operation of the computing of at every turn being out of the line afterwards so pass to the relevant variable node until all information vectors all participated in being out of the line result of the computing and the computing of will being out of the line for the last time.The computing of being out of the line is as shown in Figure 5, and its two input vector MEM_CI and MEM_CA comprise real-valued vectorial R respectively CIAnd R CAAnd corresponding thresholding vector α CIAnd α CA, be output as real-valued vectorial R CBAnd corresponding thresholding vector α CB, all vector lengths are n m, n m≤q, q are the size in GF (q) territory at multielement LDPC code place, and concrete operation adopts the following computing of being out of the line:
for?all(i?from?0?to n m-1)do
S ⇐ { R CA [ i ] + R CI [ 0 ] , α CA [ i ] ⊕ α CI [ 0 ] , i , 0 }
end?for
for?all(i?from?0?to?n m-1)do
i=indexA[0]
j=indexI[0]+1
if ( α CA [ i ] ⊕ α CI [ j ] ∉ B ) then
S ⇐ { R CA [ i ] + R CI [ j ] , α CA [ i ] ⊕ α CI [ j ] , i , j }
end?if
end?for
is meant data sent into order module in the following formula.Described contrary thresholding permutation function is to division arithmetic on the territory of transmitting thresholding and its corresponding thresholding in check matrix in the information vector; And operation result covers the thresholding of transmitting in the information vector; In order to reduce division arithmetic on the territory, thresholding in the check matrix and all elements on the territory are done division on the territory one by one, and the result is stored among the ROM; Then contrary thresholding displacement only need be read the value of storing among the ROM, and the thresholding size of reading in address and the transmission information vector of ROM is identical.
Routing module is used for accomplishing the interconnected information of transmission and two functions in memory allocated space.The function of the interconnected information of said transmission is that the interconnected information between variable node and the check-node is passed to variable node update module and check-node update module respectively.The interconnected information that this routing module passes to the variable node update module comprises two aspect contents, is the check-node number that links to each other with each variable node on the one hand, is the position of each check-node in check matrix H on the other hand; The interconnected information that this routing module passes to the check-node update module comprises two aspect contents, is the variable node number that links to each other with each check-node on the one hand, is the position of each variable node in check matrix H on the other hand.The function in said memory allocated space is to be all the information vector memory allocated zones in the iterative process; Concrete rule is: several information vectors that check-node passes to same variable node must be stored in different storage regions; Simultaneously, variable node several information vectors of passing to same check-node must be stored in different storage regions.In order to save storage resources, this routing module is stored in identical storage area with the operation result of variable node update module and check-node update module.Storage organization is as shown in Figure 6, and storage area is divided into continuous basic unit of storage, and the degree of depth of each basic unit of storage is n m, n m≤q; Q is the size in GF (q) territory at multielement LDPC code place; To reading with storing process of basic unit of storage be: the variable node update module reads information vector and is used for computing from basic unit of storage, and the information vector that computing draws is backfilled to same basic unit of storage, and the check-node update module just can directly read information vector and carries out computing from basic unit of storage like this; Computing is backfilled to same basic unit of storage with operation result after finishing equally.
Control logic module is used for the work of each module of scheduling decoder.This Logic control module receives the status signal that other module is returned, and sends control signal corresponding according to different state information to other module.After one frame demodulating information vector finished receiving, this Logic control module sent " iteration first " signal to the variable node update module; After the variable node update module was accomplished and upgraded, this Logic control module sent " verification decode results " signal to Unload module; After the check-node update module was accomplished and upgraded, this Logic control module sent " beginning to upgrade " signal to the variable node update module; If Unload module is returned " verification is unsuccessful " signal, this Logic control module sends " beginning computing " signal to check-node, if Unload module is returned " verification succeeds " signal, this Logic control module begins the next frame data are deciphered.
Unload module is used to judge cH TWhether=0 set up, if cH T=0 sets up perhaps, and the current iteration number of times is a maximum iteration time, then exports the information bit among the c; Otherwise output information not.
With reference to Fig. 7, interpretation method of the present invention comprises the steps:
Step 1, load-on module receive and store the demodulating information vector of transferring device output.
1.1 load-on module receives N demodulating information vector, each demodulating information vector comprises q real number value and corresponding thresholding thereof, and N is the code length of multielement LDPC code, and q is the size in GF (q) territory at multielement LDPC code place;
1.2 load-on module is before storage demodulating information vector, q the real number value that will the demodulating information vector be comprised earlier put into storage area again according to descending.
Step 2, initialization, promptly the variable node update module passes to check-node with the demodulating information vector;
2.1 the variable node update module reads the n of demodulating information vector from load-on module mIndividual big real-valued and corresponding thresholding, n m≤q, q are the size in GF (q) territory at multielement LDPC code place;
2.2 the variable node update module is put into the information vector of reading the storage area of routing module.
Step 3, the check-node update module is accomplished the renewal of all check-nodes.
3.1; The check-node update module reads j≤N the information vector that check-node is required simultaneously from routing module; J the information vector that check-node is required read in completion to be updated once more simultaneously; All information vectors of in routing module, storing are all read, and N is the code length of multielement LDPC code;
3.2; The check-node update module is done displacement to the thresholding in the information vector that reads; At first information vector in check matrix corresponding thresholding as multiplier, afterwards with information vector in each thresholding on the territory, multiply each other, use the thresholding in the multiplied result coverage information vector at last;
3.3 the check-node update module is calculated the information vector that j check-node passes to variable node simultaneously.A certain check-node passes to the calculating of the information vector of coupled variable node, the information vector that the variable node that only needs to link to each other with this check-node outside this variable node transmits.To the be out of the line process of computing of these information vectors be: at first therefrom optional two information vectors are as the input of the computing of being out of the line; Two result and any information vectors that had neither part nor lot in computing that are input as previous operation of the computing of at every turn being out of the line afterwards so all participated in being out of the line the result of the computing and the computing of will being out of the line for the last time as the information vector that passes to variable node until all information vectors;
3.4; The check-node update module is done contrary thresholding displacement to the information vector that passes to variable node; At first this information vector in check matrix corresponding thresholding as divisor; Afterwards with information vector in each thresholding on the territory, be divided by, at last with the thresholding in the vector of coverage information as a result that is divided by;
3.5 the check-node update module is put into the memory space of routing module to the information vector that passes to variable node, the information vector that passes to the different check node is put into different storage regions.
Step 4, the variable node update module is accomplished the renewal of variable node.
4.1; The variable node update module reads i≤N the information vector that variable node is required simultaneously from routing module; I the information vector that check-node is required read in completion to be updated once more simultaneously; All information vectors of in routing module, storing are all read, and N is the code length of multielement LDPC code;
4.2 the variable node update module is upgraded the information vector that i variable node passes to check-node simultaneously.The calculating that wherein a certain variable node passes to the information vector of coupled check-node needs two parts information vector; A part is the information vector that the check-node that except that this check-node, links to each other with this variable node transmits, and another part is an initial solution adjusting information vector vector.The process that these information vectors is surpassed column operations is: at first therefrom optional two information vectors are as the input of ultra column operations; Two result and any information vectors that had neither part nor lot in computing that are input as previous operation of each ultra column operations afterwards; So all participated in ultra column operations, and the result of ultra column operations for the last time is as the information vector that passes to check-node until all information vectors.
4.3 the variable node update module is put into routing module to the information vector that passes to variable node, and will decipher sequence c and pass to Unload module;
Step 5, verification and output.
5.1, calculate cH TAnd judgement cH TWhether=0 set up;
5.1, if cH T=0 sets up or reaches maximum iteration time, and the information bit that then will decipher in the sequence is exported, and writes down current round iterations; Otherwise, forward step 3 to.
Embodiment
With reference to Fig. 8, the check matrix of the multielement LDPC code on the GF that the embodiment of the invention adopted (64), the code length of this multielement LDPC code are 174 symbols, and code check is 1/2, and oblique line is wherein represented non-zero entry in the matrix.
This check matrix H is divided into 18 identical 29*29 basic matrixs, wherein has the non-zero entry on GF (64) territory in 14 basic matrixs, and the non-zero entry in same basic matrix is unique, and non-zero entry is arranged with accurate loop structure in matrix.
Variable node is divided into six: P0, P1, P2, S0, S1 and S2.Wherein P0, P1 and P2 are check part, and their degree is respectively 2,2 and 1; S0, S1 and S2 are message part, and degree is 3; Non-zero entry on GF (64) territory of P0 correspondence is 1 and 2; Non-zero entry on GF (64) territory of P1 correspondence is 1 and 2; Non-zero entry on GF (64) territory of P2 correspondence is 1; Non-zero entry on GF (64) territory of S0 correspondence is 6,12 and 5; Non-zero entry on GF (64) territory of S1 correspondence is 32,48 and 40; Non-zero entry on GF (64) territory of S2 correspondence is 3,5 and 15.
Check-node is divided into three: H0, H1 and H2, its degree is respectively 4,5 and 5.
The iterative decoding step:
A receives 174 demodulating information vectors by load-on module, and each demodulating information vector comprises 64 real-valued and 64 thresholdings, with real-valued corresponding one by one with thresholding; And 64 real number values that the demodulating information vector is comprised are put into storage area again according to descending;
B, the variable node update module reads 32 big real-valued and corresponding thresholdings of demodulating information vector from load-on module, and the information vector of reading is put into the storage area of routing module;
C; The check-node update module reads the information vector that 3 check-nodes need simultaneously; And 3 check-nodes belong to H0, H1 and H2 respectively, read the information vector that 3 check-nodes need after the completion to be updated again, and all information vectors of in routing module, storing are all read;
D; The check-node update module is partly done the thresholding displacement to the thresholding in the information vector that reads; Here be that example is explained only with the information vector of transmitting between check-node among the H0 and the variable node among the P0; Non-zero entry on GF (64) territory in check-node among the H0 and the variable node corresponding check matrix among the P0 is 1, the thresholding in the information vector that the check-node update module reads all with 1 multiplication done on GF (64) territory, the thresholding in the multiplied result coverage information vector;
E; The check-node update module is upgraded the check-node among H0, H1 and the H2 simultaneously; Here only with degree be among 4 the H0 check-node be updated to example explanation; The renewal of this check-node need calculate the information vector that passes to variable node among P0, S0, S1 and the S2 respectively; For example, the computational process that this check-node passes to the information vector of variable node among the P0 is: at first accomplish the computing of being out of the line from the information vector of S0 and S1, afterwards with operation result with from the information vector of S2 do be out of the line computing and with its result as the information vector that passes to the variable node among the P0;
F; The check-node update module is done contrary thresholding displacement to the information vector that check-node passes to variable node; Here the information vector that only passes to the variable node transmission among the P0 with the check-node among the H0 is that example is explained; Non-zero entry on GF (64) territory in check-node among the H0 and the variable node corresponding check matrix among the P0 is 1, and all thresholdings in the information vector are all done the division on a GF (64) territory with this non-zero entry, and with original thresholding in the vector of coverage information as a result that is divided by;
G; The check-node update module is put into the renewal result of check-node the memory space of routing module; Here only with the check-node among the H0 pass to variable node information vector be stored as example explanation; Check-node among the H0 variable node in P0, S0, S1 and S2 respectively respectively transmits an information vector, and the check-node update module is put into the routing module different storage regions to these information vectors, and covers the information vector that the check-node update module has read;
H; The variable node update module reads the information vector that the check-node update module is transmitted from memory space; The check-node update module reads the information vector that 6 variable nodes need simultaneously; And 6 variable nodes belong to P0, P1, P2, S0, S1 and S2 respectively, read the information vector that 6 check-nodes need after the completion to be updated again, and all information vectors of in routing module, storing are all read;
I; The variable node update module is calculated the information vector that above-mentioned 6 variablees pass to check-node simultaneously; Here only with degree be 3 S0 in variable node be that example is explained; The renewal of this variable node need calculate the information vector that passes to the check-node among H0, H1, the H2 respectively, and for example, the computational process that this check-node passes to the information vector of check-node among the H0 is: at first accomplish the computing of being out of the line from the information vector of H1 and H2; Afterwards with operation result and demodulating information vector do be out of the line computing and with its result as the information vector that passes to the variable node among the H0; Accomplish at last from the information vector of H0 and transmission be out of the line computing and with maximum real-valued corresponding thresholding among the result as the decoding court verdict;
J; The variable node update module is put into the renewal result of variable node the memory space of routing module; Here only with the variable node among the S0 pass to check-node information vector be stored as example explanation; Variable node among the S0 check-node in H0, H1, H2 respectively respectively transmits an information vector, and the check-node update module is put into the routing module different storage regions to these information vectors, and covers the information vector that has read; The decoding sequence c that the variable node update module is formed the decoding court verdict of all variable nodes passes to Unload module;
K calculates cH by Unload module TAnd judgement cH TWhether=0 set up, if cH T=0 sets up or reaches maximum iteration time, and the information bit that then will decipher among the sequence c is exported, and writes down current round iterations; Otherwise iteration is proceeded.

Claims (5)

1. multielement LDPC code translator comprises:
Load-on module be used to receive and store the demodulating information vector of demodulator output, and the soft information that will receive is sent into memory by the numerical value descending;
The variable node update module, be used to receive the check-node information transmitted and with it by ultra column operations, operation result deposits memory space in, the depth vector of this memory space is lower than the exponent number of finite field gf (q); Upgrade the information of variable node, and the self information after will upgrading is transferred to the check-node update module;
The check-node update module, be used to receive the variable node information transmitted and with it by the computing of being out of the line, operation result deposits memory space in, the depth vector of this memory space is lower than the exponent number of finite field gf (q); Upgrade the information of check-node, and the self information after will upgrading is transferred to the variable node update module;
Routing module, the interconnected information that is used for storing check matrix H variable node and check-node, the operation relation when being transferred to variable node update module and check-node update module as iteration;
Unload module is used to receive and adjudicate every decoding sequence c that takes turns after variable node update module interative computation is accomplished, if cH T=0 sets up, and then will decipher the information bit output among the sequence c; If reach maximum iteration time, cH no matter TWhether=0 set up, all will be with the information bit output among the decoding sequence c;
Control logic module is used for to described each module communicating control information it being under the normal work schedule, guarantees the correctness that data flow.
2. a multielement LDPC interpretation method comprises the steps:
(1) load-on module receives and stores the demodulating information vector of transferring device output, and the soft information that will receive is sent into memory by the numerical value descending;
(2) the variable node update module reads the demodulating information vector from load-on module, and with the n in the vector mIndividual big real-valued and corresponding thresholding passes to check-node, n m≤q, q are the size in GF (q) territory at multielement LDPC code place;
(3) the check-node update module reads information vector from routing module; At first information vector is done the thresholding displacement; Do contrary thresholding displacement afterwards to the information vector computing of being out of the line, and to operation result, at last operation result is inserted the memory space in the routing module;
(4) the variable node update module reads information vector from routing module, surpass column operations after, operation result is inserted the memory space in the routing module, and will upgrade the back all the decoding sequence c that forms of variable node information pass to Unload module;
(5) Unload module is adjudicated decoding sequence c, if satisfy cH T=0 or reach maximum iteration time, then will decipher the information bit output in the sequence, and write down current round iterations; Otherwise, forward step (3) to.
3. multielement LDPC interpretation method according to claim 2 is characterized in that the described check-node update module of step (3) by the computing of being out of the line, and adopts the multidiameter delay structure.
4. multielement LDPC interpretation method according to claim 2 is characterized in that the described variable node update module of step (4) by ultra column operations, adopts the multidiameter delay structure.
5. multielement LDPC interpretation method according to claim 2 is characterised in that described check-node update module of step (3) and the described variable node update module of step (4) insert memory space with operation result, fills in by following rule:
After arbitrary folk prescription module arithmetic is accomplished, operation result is backfilled to the data address of participating in the node updates computing in the same memory space;
After arbitrary folk prescription module finished to upgrade computing, the opposing party wiped the content in the memory space and continues to use same memory space to deposit in.
CN 201010137864 2010-04-02 2010-04-02 Multielement LDPC code coding method and device capable of saving storage resource Expired - Fee Related CN101834614B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010137864 CN101834614B (en) 2010-04-02 2010-04-02 Multielement LDPC code coding method and device capable of saving storage resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010137864 CN101834614B (en) 2010-04-02 2010-04-02 Multielement LDPC code coding method and device capable of saving storage resource

Publications (2)

Publication Number Publication Date
CN101834614A CN101834614A (en) 2010-09-15
CN101834614B true CN101834614B (en) 2012-12-26

Family

ID=42718567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010137864 Expired - Fee Related CN101834614B (en) 2010-04-02 2010-04-02 Multielement LDPC code coding method and device capable of saving storage resource

Country Status (1)

Country Link
CN (1) CN101834614B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852746B (en) * 2015-05-27 2017-11-03 北京邮电大学 The decoder and interpretation method of LDPC code
CN105024705B (en) * 2015-08-19 2018-06-19 西安电子科技大学 The multielement LDPC code coding method and decoder of a kind of low complex degree
CN107612559B (en) * 2017-09-11 2019-10-08 西安电子科技大学 Generation method based on the duplicate polynary polarization code of multiplying property
CN108092672B (en) * 2018-01-15 2021-03-19 中国传媒大学 BP decoding method based on folding scheduling
CN110474647B (en) * 2019-07-03 2023-05-23 深圳市通创通信有限公司 Decoding method, device, decoder and storage medium for LDPC code with finite field structure

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335528A (en) * 2008-08-07 2008-12-31 中山大学 Construction method and encoding method for multiple LDPC code
CN101442314A (en) * 2007-11-19 2009-05-27 电子科技大学 Encoding/decoding method suitable for distribution synergic system element-changing self-adapting multiple LDPC code

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442314A (en) * 2007-11-19 2009-05-27 电子科技大学 Encoding/decoding method suitable for distribution synergic system element-changing self-adapting multiple LDPC code
CN101335528A (en) * 2008-08-07 2008-12-31 中山大学 Construction method and encoding method for multiple LDPC code

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李丹等.多元LDPC码与二元LDPC码的性能比较.《无线通信技术》.2007,(第3期),第1-6页. *

Also Published As

Publication number Publication date
CN101834614A (en) 2010-09-15

Similar Documents

Publication Publication Date Title
CN102394661B (en) LDPC (low density parity check) decoder and decoding method based on layer decoding processing
CN101834614B (en) Multielement LDPC code coding method and device capable of saving storage resource
US20060015802A1 (en) Layered decoding approach for low density parity check (LDPC) codes
CN102439853B (en) Belief propagation processor
CN106936444B (en) Set decoding method and set decoder
EP3639374B1 (en) Low latency polar coding and decoding by merging of stages of the polar code graph
CN100547935C (en) Decoding device and coding/decoding method
CN102412847A (en) Method and apparatus for decoding low density parity check code using united node processing
CN100517984C (en) Unified viterbi/turbo decoder for mobile communication systems
CN100553155C (en) Support the series low-density even-odd check code decoder of the many code lengths of many speed
Bengough et al. Sorting-based VLSI architectures for the M-algorithm and T-algorithm trellis decoders
CN102217200A (en) Decoding circuit and encoding circuit
CN106856406B (en) Method for updating check node in decoding method and decoder
CN102739261A (en) Multiple phase addition-comparison-selection pre-traceback Viterbi decoder
CN1983827A (en) Component coder and coding method, double-output Turbo coder and coding method
CN1805291B (en) Parallel low intensity parity code encoding method and encoding apparatus
CN101090274A (en) Viterbi decoder and its backtrack decoding method and device
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
CN100593911C (en) Method and system for decoding the layer data received by communication system
JPH09266448A (en) Device and method for viterbi decoding
CN111384970A (en) Decoding method, device and communication equipment
CN100505557C (en) Viterbi decoding based multi-path parallel loop block back tracing method
US7561641B2 (en) Method of Viterbi decoding with reduced butterfly operation
CN102624402A (en) LDPC (low density parity check) decoder
CN101789794A (en) Decoding method of low-density parity check code and circuit thereof

Legal Events

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

Granted publication date: 20121226

Termination date: 20180402

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