The method of low-density checksum iterative decoding premature termination
Technical field
The present invention relates to the method for low-density checksum iterative decoding premature termination.
Background technology
Along with development of Communication Technique, error correction coding has become an indispensable key technology of modern communications field.Along with fields such as wideband digital communication are more and more higher to the requirement of its error correction coding that adopts, LDPC (low-density checksum iterative decoding) chnnel coding is subjected to the attention of industry with its good decoding performance.
LDPC decoding utilizes iterative feedback to decipher, the iterative decoding step of common LDPC comprises: utilize the contact between information node and the check-node, iterate information between this two category node with the renewal of information node reliability standard, finally reaches convergence.Convergence is by iteration, and the confidence level of each information node can become greatly, after confidence level increases to a certain degree, just tends towards stability and can not continue to increase, and this is referred to as convergence.Iteration stops strategy has key to the design of LDPC decoding system effect.In hardware designs, signal is all with binary representation, and the holding wire width that carries each signal is limited, if the numerical value of signal is too big, this signal just can not correctly be expressed with this holding wire, and this situation is called fixed point and overflows.Good iteration terminating method can effectively prevent from taking place fixed point and overflow in iterative process, and plays important effect to improving throughput of system.
The iteration terminating method mainly comprises at present:
(1) fixing iterations is set.This method does not have the function of self adaptation premature termination iteration.Its shortcoming is: 1) may be too high because iterations is set, in the fixed-point calculation process, overflow; 2) may because of iterations set low excessively, decoding does not recover initial data as yet and namely finishes decoding, makes decoding performance reduce; 3) the too high throughput of LDPC decoding system that also can cause of iterations setting descends.
(2) premature termination iterative decoding.As shown in Figure 1, iterative process is whenever finished in LDPC decoding one time, calculates its check matrix (H*v
T=0), when check matrix checking set up or after iterations reaches iteration thresholding (n=max_iter) termination of iterations, will decipher output.This method has the function of self adaptation premature termination iteration, but conventional calculation check matrix is a very complicated process, and needs to consume a large amount of resources.Relatively the variation of code word needs could obtain correct stopping criterion for iteration through complex calculations, thereby makes code word read very big time delay also because of the very long cycle of needs.
(3) whether change by two more continuous code words, judge whether termination of iterations.But this method still can be read because of code word and be taken too many duration, causes the throughput of LDPC decoding system low.
Summary of the invention
Too loaded down with trivial details and cause it to expend a large amount of resources and time at the process of present low-density checksum iterative decoding (LDPC), the invention provides the method for a kind of low-density checksum iterative decoding (LDPC), this method has the premature termination iterative strategy, and method realizes simple, hardware realizes easily, resource consumption seldom, the judgement after each iteration is finished does not almost have time delay, save a large amount of time, improved the actual throughput rates of system greatly.
The method of low-density checksum iterative decoding of the present invention (LDPC) premature termination comprises step:
A. the digital information that receives is carried out initialization by check matrix;
B. check-node upgrades;
C. information node upgrades;
D. to the thresholding assignment that adds up; The setting variable that adds up, the value of the variable that will add up when each iteration begins makes zero;
E. the confidence level absolute value after information node being upgraded adds up, and gives the variable that adds up with accumulated value;
Whether the value of f. judging the variable that adds up reaches the thresholding that adds up, if reach the thresholding that adds up, and termination of iterations then, and information exported behind hard decision; If do not reach the thresholding that adds up, iteration is carried out to step b.
The LDPC iterative decoding algorithm mainly is based on confidence spread (BP claims the Sum-Product minimum-sum algorithm again) algorithm, and the each iteration of this algorithm mainly comprised for two steps: the renewal of check-node and the renewal of information node.This mode is general to all algorithms in the LDPC iterative decoding, wherein step a to step c can be by existing mode to realize.The confidence level of information is added up be used to judge whether can correct decoding, and its principle is to have utilized the convergence of information confidence level in the iterative decoding algorithm.Under the condition of correct decoding, after each iteration is finished, the confidence level absolute value of correct information node can increase, the confidence value of the information node of mistake can increase progressively to correct direction, the confidence level absolute value of all information nodes is added up, when accumulated value reaches predetermined condition, namely can judge can correct decoding.Expressed the confidence level of each information node before the LDPC iteration among Fig. 3, this moment, the absolute value of confidence level was very low.As shown in Figure 4, if the least absolute value of each information node confidence level is predefined for 20 and gets final product correct decoding, in process several times iteration, the absolute value of each node confidence level all is improved, wherein least absolute value (information node 10) has reached 20 level, the absolute value addition that be about to all information node confidence levels this moment is made as the thresholding that adds up, as judgement can correct decoding condition.Hard decision is that the Algebraic Structure according to signal decision space or signal is treated as centrifugal pump with signal data, as " 0 " and " 1 ", this be a kind of be common algorithm in decoding.
Further scheme is, iteration thresholding and iterations variable are set in the system, and to iterations variable initialize, every iteration once adds 1 with the value of iterations variable, if the value that the iterations variable adds after 1 has reached the iteration thresholding, just information is exported behind hard decision.If the transmission environment of signal is very poor, ldpc decoder may occur can not correct decoding situation, the confidence level of all information nodes can not increase in the process of iteration, but swings in a certain scope, can not reach convergence.In order to save resource such as power consumption, avoid meaningless waste, the iteration thresholding can be set in system, with maximum number of times of iteration in the restriction decoding, also should be provided with the iterations variable simultaneously and be used for the record iterations.Problems such as null pointer appear for fear of the iterations variable, reply iterations variable initialize (being generally 0), value with the iterations variable when each iteration adds up 1, after finishing, each iteration judges, if the value of iterations variable has reached the iteration thresholding, just information is exported behind hard decision, also do not reached the thresholding that adds up if the value of iterations variable reaches the value of iteration thresholding and the variable that adds up, just proceed iterative decoding.
Further scheme is, the described information node of step c is updated to the layering update mode, and each layer information node is back to step b after upgrading, and all is updated up to all information nodes.Usually the renewal of full detail node is not disposable unified the renewal, but the layering renewal, namely upgrade a part of information node at every turn, through just the full detail node updates being finished after the renewal iteration repeatedly, enter steps d again.
A kind of preferred scheme is that the described thresholding that adds up of steps d is set by emulation testing.The thresholding that adds up has determined the minimum accumulated value of the confidence level of all information nodes that can correct decoding, when the value of decode results meets or exceeds when adding up thresholding, and namely can correct decoding.If add up thresholding arrange too high, just iterations can roll up in decoding, waste power consumption, resource and the time, arranged low then can not correct decoding.Therefore it is extremely important to the optimization of system the suitable thresholding that adds up to be set.The thresholding that adds up that draws by a large amount of emulation testings is to obtain after combining a large amount of test datas at concrete environment and equipment in approximate true environment, and its accuracy is very high, is conducive to save system resource.The setting average confidence level of information node that the another kind of mode of thresholding can be by estimated expected that adds up, according to the quantity of information node the average confidence level read group total that adds up is obtained then, but because the level of confidence of each point is different, the threshold value that calculates need be passed through simulating, verifying.
A kind of optimal way of the thresholding of determining to add up is, before iterative decoding by emulation testing, after finishing, the iteration of each emulation testing checks the confidence level absolute value of each node, if the confidence level absolute value of all nodes has all reached predetermined value, then the absolute value accumulated value with each node confidence level is made as the thresholding that adds up.Emulation testing is carried out at emulation platform, and emulation platform is by developer's exploitation of decoding algorithm, carries out hardware designs again according to this platform then.
A kind of optimal way of establishing the iteration thresholding is, the iteration thresholding of setting and the maximum throughput rate of system adapt, and when can correct decoding, according to the iterations that reaches the thresholding that adds up the iteration thresholding be carried out the convergent-divergent adjustment.Different systems is to the maximum throughput rate difference of amount of information.The iteration thresholding was set conference and was carried out unnecessary iteration when can not correct decoding, and the iteration thresholding is set too small meeting termination of iterations when also not translating yard.Default iteration thresholding at concrete more can meet concrete environment, avoids resource and waste of time.The size of thresholding of adding up has determined number of iterations, when can correct decoding, according to the iterations that reaches the thresholding that adds up the iteration thresholding be carried out the convergent-divergent adjustment, can the more efficient use resource, raise the efficiency.
Hence one can see that, method by low-density checksum iterative decoding of the present invention (LDPC), this method has the premature termination iterative strategy, and method realizes simple, hardware realizes easily, resource consumption seldom because the judgement of each iteration after finishing almost do not have time delay, save a large amount of time, therefore improved the actual throughput rates of system greatly.
Below in conjunction with the embodiment by the accompanying drawing illustrated embodiment, foregoing of the present invention is described in further detail again.But this should be interpreted as that the scope of the above-mentioned theme of the present invention only limits to following example.Do not breaking away under the above-mentioned technological thought situation of the present invention, various replacements or change according to ordinary skill knowledge and customary means are made all should comprise within the scope of the invention.
Description of drawings
Fig. 1 is the flow chart of traditional LDPC decoding premature termination.
Fig. 2 is the flow chart of the method for low-density checksum iterative decoding of the present invention.
Fig. 3 is the LDPC iteration schematic diagram of each information node confidence level before.
Fig. 4 is the LDPC iteration schematic diagram of each information node confidence level afterwards.
Embodiment
As shown in Figure 2, the method for low-density checksum iterative decoding of the present invention (LDPC) premature termination comprises step:
A. the digital information that receives is carried out initialization by check matrix;
B. check-node upgrades;
C. information node upgrades;
D. to the thresholding iter_limit assignment that adds up; The setting variable ets_reg that adds up, the value of the variable that will add up when each iteration begins makes zero;
E. the confidence level absolute value after all information nodes being upgraded adds up, and gives the variable that adds up with accumulated value;
Whether the value of f. judging the variable that adds up reaches the thresholding iter_limit that adds up, if reach the thresholding iter_limit that adds up, and termination of iterations then, and information exported behind hard decision; If do not reach the thresholding iter_limit that adds up, iteration is carried out to step b.
Also be provided with iteration thresholding max_iter and iterations variable i ter in system, iteration thresholding max_iter determines according to the maximum throughput rate of system.To iterations variable i ter initialize (being generally 0), avoid occurring null pointer error earlier.Every iteration once adds 1 with the value of iterations variable i ter, if the value that iterations variable i ter adds after 1 has reached iteration thresholding max_iter, just information is exported behind hard decision.
If the transmission environment of signal is very poor, ldpc decoder may occur can not correct decoding situation, the confidence level of all information nodes can not increase in the process of iteration, but swings in a certain scope, can not reach convergence.In order to save resource such as power consumption, avoid meaningless waste, in system, be provided with iteration thresholding max_iter, with maximum number of times of iteration in the restriction decoding, be provided with iterations variable i ter simultaneously and be used for the record iterations.Problems such as null pointer appear in ter for fear of the iterations variable i, reply iterations variable i ter initialize (being generally 0).Value with iterations variable i ter when each iteration adds up 1, after finishing, each iteration judges, if the value of iterations variable i ter=iteration thresholding max_iter, just information is exported behind hard decision, if the value of the value of iterations variable i ter<iteration thresholding max_iter and the variable ets_reg that adds up does not reach the thresholding iter_limit that adds up yet, just proceed iterative decoding.
Method principle shown in Figure 2 is to utilize the convergence of information confidence level in the iterative decoding algorithm.Before iterative decoding by carrying out emulation testing at emulation platform, after finishing, the iteration of each emulation testing checks the confidence level absolute value of each node, if the confidence level absolute value of all nodes has all reached a certain predetermined value, then the absolute value accumulated value with each node confidence level is made as the thresholding iter_limit that adds up.Under the condition of correct decoding, after each iteration is finished, the confidence level absolute value of correct information node can increase, the confidence value of the information node of mistake can increase progressively to correct direction, the confidence level absolute value of all information nodes is added up, when accumulated value reaches predetermined condition, namely can judge can correct decoding.
Expressed the confidence level of each information node before the LDPC iteration among Fig. 3, this moment, the absolute value of confidence level was very low.As shown in Figure 4, if the least absolute value of each information node confidence level is predefined for 20 and gets final product correct decoding, in process several times iteration, the absolute value of each node confidence level all is improved, wherein least absolute value (information node 10) has reached 20 level, the absolute value addition that be about to all information node confidence levels this moment is made as the thresholding iter_limit that adds up, as judgement can correct decoding condition.
Obtain adding up after the thresholding iter_limit, begin to carry out iterative decoding.Wherein the step a of iterative decoding, step b and step c can utilize traditional method to carry out, and the variable that wherein needs to use comprises:
L (u
n): the initialization information (likelihood ratio information) that passes to the LDPC information node.
M (n): the set of the check-node that links to each other with information node n.
M (n) m: the set of the check-node that links to each other with information node n, but do not comprise m check-node.
N (m): the set of the information node that links to each other with check-node m.
N (m) n: the set of the information node that links to each other with check-node m, but do not comprise n information node.
q
N → m(x), { 0,1}: information is imported the probability of check-node m into to x ∈ from information node n.
r
M → n(x), { 0,1}: information is imported the probability of information node n into to x ∈ from check-node m.
Data message is used for the renewal of check-node from the likelihood ratio information that information node n imports check-node m into.
Data message is used for the renewal of information node from the likelihood ratio information that check-node m imports information node n into.
Among the step a, according to check matrix, finish initialization:
λ
n→m(u
n)=L(u
n)
Λ
m→n(u
n)=0;
The renewal of check-node has a lot of algorithms among the step b, can pass through computing formula:
Or
Or
Step c carries out the renewal of information node afterwards:
Usually the renewal of full detail node is not disposable unified the renewal, but the layering renewal, namely upgrade a part of information node, through just the full detail node updates being finished after the renewal iteration repeatedly at every turn.Therefore after step c has upgraded every layer of information node, be back to the renewal that step b descends one deck, all be updated up to all information nodes, enter steps d again.
Confidence level after all information nodes are upgraded is added to the variable ets_reg that adds up, and after the value of iterations variable i ter added 1, judges.The value of variable ets_reg if add up in the judgement>thresholding iter_limit that adds up thinks that then the confidence level of all information nodes has all reached the level of correct decoding, just termination of iterations carries out decoding to export behind the hard decision.
When because the reasons such as transmission environment difference of signal, ldpc decoder can not correct decoding, if judge value=iteration thresholding max_iter of iterations variable i ter, carries out subsequent treatment just codeword information exported behind hard decision.