CN100499379C - A coding method of convolution code - Google Patents

A coding method of convolution code Download PDF

Info

Publication number
CN100499379C
CN100499379C CNB2006100875136A CN200610087513A CN100499379C CN 100499379 C CN100499379 C CN 100499379C CN B2006100875136 A CNB2006100875136 A CN B2006100875136A CN 200610087513 A CN200610087513 A CN 200610087513A CN 100499379 C CN100499379 C CN 100499379C
Authority
CN
China
Prior art keywords
path
constantly
difference
global optimum
moment
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
CNB2006100875136A
Other languages
Chinese (zh)
Other versions
CN1968024A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006100875136A priority Critical patent/CN100499379C/en
Publication of CN1968024A publication Critical patent/CN1968024A/en
Application granted granted Critical
Publication of CN100499379C publication Critical patent/CN100499379C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention relates to a convolutional code decode method, which comprises: based on Viterbi algorithm, obtaining globe optimized path, obtaining decode data; checking the decode data; if the code is right, outing code, ending; or else, searching for other globe optimized paths and decode data, as based on known globe optimized paths, separating from selected path at each time of each globe optimized path, searching for local sub-optimized path, obtaining the difference between relative globe optimized path and optimized path, obtaining one globe optimized path, obtaining relative decode data; checking the decode data, if the check is wrong, searching for other globe optimized paths.

Description

A kind of coding method of convolution code
Technical field
The present invention relates to the interpretation method field, specifically relate to a kind of coding method of convolution code of communication field.
Background technology
Convolution code is because encoder is simple, and coding gain is high and have very strong correction random error ability, therefore obtains very using widely in communication system.Viterbi algorithm (Viterbi Algorithms based on a kind of maximum-likelihood criterion on the grid chart basis of sign indicating number, be called for short VA) be the coding method of convolution code of performance the best under additive white Gaussian noise channel, owing to have efficient height, fast, the decoding characteristic of simple of speed, therefore be widely used in the various communication systems simultaneously.
Nambirajian Seshadri and Carl-Erik W.Sundberg are at U.S.'s electronic motor Ssociety of engineers journal of communicating by letter, 1994, February, March, April, the 42nd volume, the exercise question of 313-323 page or leaf is " tabulation Viterbi decoding algorithm and application " document (Nambirajan Seshadri and Carl-Erik W.Sundberg, List Viterbi Decoding Algorithms with Applications, IEEE Trans.on Comm., Vol.42, No.2/3/4, Feb./March/April 1994, proposed a kind of tabulation viterbi algorithm (generally being also referred to as sub-optimal path algorithm (List VA is called for short LVA)) in 313-323.).This method specifically is by in grid chart, seeks L globally-optimal selection path and improves decoding performance.Fig. 1 is a LVA decoding architecture schematic diagram, and as shown, the LVA algorithm from L globally-optimal selection path, is selected most possible correct path according to the result of error checking and correction in decode procedure.Because the relative VA of LVA has increased (L-1) individual preferred path in the search procedure, has improved the probability that finds correct decoding, is widely used in comprising in the decoding system of convolution code and check code.
LVA has following two kinds: parallel sub-optimal path algorithm (Parallel LVA is called for short PLVA) and serial sub-optimal path algorithm (Serial LVA is called for short SLVA).Below respectively these two kinds of methods are introduced:
For PLVA, PLVA is according to VA, by a grid search, obtains L globally-optimal selection path simultaneously.Owing to all find L the local preferred path that enters this state for each each state constantly in the grid chart, PLVA is at each each state constantly, calculate 2 branch metrics and 2L path metric, finally once obtain needed L globally-optimal selection path.The step of PLVA algorithm and LVA algorithm is basic identical, and just each each state constantly all has 2L path and enters, and selection has obtained the individual local preferred path of L in 2L path.Special when L=1, be exactly VA.But PLVA needs to calculate 2 branch metrics and 2L path metric at each each state constantly, also needs the matrix of L M * N (M is the convolutional encoding block length, and N is the state number) to store L preferred path respectively simultaneously.Compare with the VA algorithm, the PLVA algorithm needs the individual path metric of extra computation (2L-2), additionally takies (L-1) individual MN matrix stores preferred path.The amount of calculation of PLVA algorithm and memory space approximately are L times of VA algorithm, and therefore the linear growth relation of basic and L need take huge memory space.In addition, because the PLVA algorithm all will expend L amount of calculation doubly, so in fact the PLVA method has been wasted many unnecessary calculating no matter finally select which bar preferred path.
For SLVA, SLVA is at first according to VA, in forward calculation, every state point in per moment, calculate 2 branch metrics, and accumulative total branch optimal path tolerance, and the path of branch metric that the storage optimal path is measured, optimal path tolerance is corresponding and optimal path tolerance.Begin to recall from the most last moment of convolution code and obtain the global optimum path, and the decoding data in global optimum path, and decoding data is carried out error checking and correction,, export this correct decoding data, finish decoding if verification is correct; Otherwise, respectively with on the global optimum path the state point in the last moment begin to recall, separate with optimal path in different moment respectively in every trace-back process, begin constantly to recall in next of separating constantly according to the optimal path of every state point storage, obtain the sub-optimal path path candidate, according to what stored when the forward calculation, this separates the not path metric of the state point on the global optimum path constantly, separate not another state point on the global optimum path of previous moment constantly, to the branch metric that separates the state point on the global optimum path constantly, the optimal path tolerance of the state point constantly of the separation on the global optimum path, obtain the path metric of each sub-optimal path path candidate, perhaps each sub-optimal path path candidate is with respect to the difference of the path metric in global optimum path, choose path metric near the path candidate in global optimum path (, choosing the path candidate of difference minimum so) if what obtain is path metric difference values as overall sub-optimal path.Obtain overall sub-optimal path, and decoding that should overall situation sub-optimal path carries out error checking and correction, if check results is correct, the decoding of exporting overall sub-optimal path finishes decoding; Otherwise continue on overall sub-optimal path, global optimum's path basis, to obtain the overall situation the 3rd shortest path, in like manner, up to obtaining L path.
The advantage of SLVA is to have only when before finding the overall situation (l-1) when preferred path is judged as mistake, just needs to calculate overall l preferred path.Thereby relative PLVA, reduced many in fact also unwanted calculating, significantly reduced computation complexity.
But, in SLVA, because need be in the forward calculation process, arrive 1 branch metric, optimal path tolerance and the optimal path of this state point for each each the state point storage constantly in the grid chart, need take more memory cell, for the convolutional encoding block length is M, the state number is the convolution code of N, specifically be M*N tolerance memory cell, the memory cell that wherein every tolerance memory cell and path memory cell specifically take need be determined according to the bit number of expression tolerance.Though the minimizing that SLVA can be to a certain extent for PLVA convolution code decipher needed amount of calculation and memory space, yet this method needed memory space in forward calculation is still very big, the excessive problem of memory space that this needs, still the day of one's doom must have been limited to its application in practice.
At SLVA, Christiane Nill and Carl-Erik W.Sundberg are at U.S.'s electronic motor Ssociety of engineers journal of communicating by letter, nineteen ninety-five, February, March, April, the 43rd volume, 277-287 page or leaf, exercise question are document (the Christiane Nill andCarl-Erik W.Sundberg of " tabulation and soft symbol output viterbi algorithm: expansion and contrast ", List and SoftSymbol Output Viterbi Algorithms::Extensions and Comparisons, IEEE Trans.On Comm., Vol 43,2/3/4, Feb./March/April 1995, proposed a kind of viterbi algorithm of simplification in 277-287).This method is for every state point in per moment, enter the optimal path of this state and the path metric difference values between the sub-optimal path by storage, computational process when having simplified the recalling of SLVA, but the relative prior art of this method, just the variable shortest path of storage tolerance has become the tolerance difference, and the memory space that need take does not change.Therefore this method still because algorithm stores takes up room excessively, has limited application in practice greatly.
Summary of the invention
The technical problem to be solved in the present invention provides a kind of coding method of convolution code, to solve the problem that prior art SLVA takies excessive memory space.
In order to solve the problems of the technologies described above, the objective of the invention is to be achieved through the following technical solutions:
A kind of coding method of convolution code may further comprise the steps:
A, according to viterbi algorithm, obtain the global optimum path, obtain decoding data, and the path metric in storage global optimum path;
B, described decoding data is carried out error checking and correction, if error checking and correction is correct, then output decoding finishes decoding, otherwise execution in step C;
C, recall according to each known globally-optimal selection path respectively, constantly separate in each of described known globally-optimal selection path respectively with described known globally-optimal selection path, from described separation constantly, retrospective search is with respect to the local sub-optimal path in described known globally-optimal selection path, in trace-back process, obtain the tolerance difference of the global path at described local sub-optimal path place with respect to the global optimum path, according to described tolerance difference, obtain a globally-optimal selection path, and the decoding data of the path correspondence of obtaining, return step B.
The method of the invention, described step B further may further comprise the steps:
If the B1 error checking and correction is incorrect, whether further more known globally-optimal selection path number searches the total number in globally-optimal selection path less than default need, if less than, execution in step C then; Otherwise the result of output decoding failure finishes decoding.
The method of the invention, described steps A be the state of each state point constantly in the described global optimum of storage path further.
The method of the invention, described steps A further comprises:
A2, on the global optimum path each constantly, accumulative total and storage path metric from the state point of the zero hour in described global optimum path to described each state point constantly.
The method of the invention, obtaining of tolerance difference described in the step C, be specially: the tolerance of recalling the local path that is separated with the global optimum path on the path subtracts the tolerance of the local path that is separated with recalling path on the global optimum path, obtains described tolerance difference.
The method of the invention, described step C specifically may further comprise the steps:
C11, l add up 1, and wherein said l is one greater than 0, the sum in the globally-optimal selection path of searching less than default need, and be initialized as the natural number variable of l=1;
C12, default variable j constantly, and determine the scope of j constantly, initialization is j constantly; Described j is a natural number;
C13, recall according to the path register value in each known globally-optimal selection path respectively, and after dating back to constantly j, another path inequality, known globally-optimal selection path of getting Yu recalling institute's basis;
C14, in the state point of (j-1) and later recalling constantly, recall according to optimal path, and each moment of recalling, accumulative total and stores branch tolerance, and relatively whether state is identical at the state in the described moment with the global optimum path, if it is identical, then stop to recall, obtain recall the path separate with the global optimum path constantly and stop to recall constantly between, recall local path on the path with respect to the tolerance difference of the local path on the global optimum path, if j in the scope that described step C12 sets, updated time j then, and return step C13; If j not in the scope that described step C12 sets, according to the difference of being obtained, obtains overall l shortest path, and the decoding data of overall l shortest path, return step B.
The method of the invention, obtaining of the tolerance difference described in the step C14 specifically may further comprise the steps:
If the current globally-optimal selection path of recalling institute's basis of C141 is the global optimum path, described difference equals: stop to recall the accumulative total branch metric of the moment with respect to moment j, deduct the accumulative total branch metric of the moment j on the global optimum path and the described accumulative total branch metric that stops to recall place state point constantly poor; Otherwise, described difference equals: stop to recall the accumulative total branch metric of the moment with respect to moment j, add, current accumulative total branch metric of recalling the globally-optimal selection path of institute's basis at the state point of moment j, deduct the accumulative total branch metric of the moment j on the global optimum path and describedly stop to recall the poor of accumulative total branch metric constantly.
The method of the invention, obtaining of the tolerance difference described in the step C is specially: recall the path metric of the global path at place, path, subtract the tolerance in global optimum path, obtain described tolerance difference.
The method of the invention, described step C specifically may further comprise the steps:
C21, l=l+1, wherein l is a sum greater than the 0 globally-optimal selection path of searching less than default need, and the natural number variable of initialization l=1;
C22, a natural number variable j is set, initialization is j constantly;
C23, recall according to the path register value in each known globally-optimal selection path respectively, add up branch metric constantly in each that recall, and when dating back to constantly j, another path inequality, known globally-optimal selection path of getting Yu recalling institute's basis;
C24, in the state point of (j-1) and later recalling constantly, recall according to optimal path, date back to the zero hour of convolution code always, obtain recall the path metric in path, calculating obtain recall the path metric difference values in path and global optimum path, if j is in the moment of convolution code scope constantly, then updated time j returns step C23; According to the difference of being obtained, obtain overall l shortest path, and the decoding data of described overall l shortest path, return step B.
The method of the invention, described according to the difference of being obtained, obtain overall l shortest path, specifically may further comprise the steps:
C3, from the difference of being obtained, choose, greater than the difference of the overall situation (l-1) shortest path with respect to the difference of the path metric in global optimum path, further, all greater than the overall situation (l-1) shortest path all differences with respect to the difference of the path metric in global optimum path in, choose minimum difference, the path of the difference correspondence of described minimum is overall l shortest path.
The method of the invention, step C3 further may further comprise the steps:
C31, the tolerance difference of being obtained is compared with the tolerance difference of having stored, storage is greater than the overall situation (l-1) shortest path (L-l+1) individual tolerance difference with respect to minimum in all differences of the path metric difference values in global optimum path, and the path register value of this difference correspondence, wherein L is the sum in the default need globally-optimal selection path of searching.
The method of the invention is describedly obtained overall l shortest path according to described tolerance difference, specifically:
The path of the tolerance difference correspondence that (l-1) is little in the tolerance difference of all storages is overall l shortest path.
The method of the invention, step C3 further may further comprise the steps:
C32, the tolerance difference of being obtained is compared with the tolerance difference of having stored, storage is greater than the tolerance difference of the overall situation (l-1) shortest path with respect to minimum in all differences of the path metric difference values in global optimum path, and the path register value of this difference correspondence.
The method of the invention is describedly obtained overall l shortest path according to described tolerance difference, and specifically: the path of the tolerance difference correspondence of the minimum of obtaining and storing is overall l shortest path.
The method of the invention, described initialization is j constantly, and specifically: making constantly, j equals the interior minimum moment of scope constantly.
The method of the invention, described updated time j, specifically: making constantly, j increases progressively.
The method of the invention, described initialization is j constantly, and specifically: making constantly, j equals the interior maximum moment of scope constantly.
The method of the invention, described updated time j, specifically: making constantly, j successively decreases.
Above technical scheme as can be seen, compared with prior art, the present invention has following advantage:
At first, the present invention has used the basic principle of SLVA, search optimal path according to VA, search overall sub-optimal path according to optimal path then, seek the 3rd shortest path according to global optimum and sub-optimal path again, the rest may be inferred, seek the excellent path of l according to the overall situation 1,2,3... (l-1) shortest path in a word, and, as long as the decoding data in the globally-optimal selection path that searches out is correct through error checking and correction, then export this correct decoding data, stop decoding.Therefore the present invention has kept the calculating characteristic of simple of SLVA.
The present invention is when searching L preferred path, by recalling according to known globally-optimal selection path respectively, constantly separate in each of each globally-optimal selection path respectively with the globally-optimal selection path of institute basis, search the local sub-optimal path in the globally-optimal selection path of basis with respect to recalling, obtain the tolerance difference of the global path at described local sub-optimal path place, obtain the globally-optimal selection path according to described tolerance difference with respect to the global optimum path.While obtains at described tolerance difference, and the present invention also provides two kinds of solutions:
Scheme one: directly recall the path metric of the global path at place, path by calculating, the tolerance that subtracts the global optimum path is obtained described tolerance difference.Under this programme, two kinds of memory mechanisms have been proposed: first kind, in the forward calculation process when searching the global optimum path, preserve the optimal path of every state point in per moment, and the path metric in global optimum path, in other globally-optimal selection path processes of searching except that the global optimum path, if the path number in current globally-optimal selection path of searching is l, preserve in the path metric difference values of global path of being recalled with respect to the global optimum path, satisfied tolerance difference is greater than the overall situation (l-1) shortest path (L-l+1) individual tolerance difference with respect to minimum in all tolerance differences of the path metric difference values in global optimum path, and the global path of being somebody's turn to do (L-l+1) individual tolerance difference correspondence.
Second kind, in the forward calculation process when searching the global optimum path, preserve the optimal path of every state point in per moment, and the path metric in global optimum path, in other globally-optimal selection path processes of searching except that the global optimum path, if the path number in current globally-optimal selection path of searching is l, preserve in the path metric difference values of global path of being recalled with respect to the global optimum path, satisfy the tolerance difference greater than a minimum tolerance difference in overall (l-1) shortest path all tolerance differences with respect to the path metric difference values in global optimum path, and the global path that should measure the difference correspondence.
For length is that M, status number are the convolution code of N, adopt first kind of memory mechanism, needed memory space is specifically: M*N be used for save mesh figure each constantly, the path register of the optimal path of each state, L tolerance memory cell that is used for store path tolerance or path metric difference values, and L the shared path register in globally-optimal selection path (is specially (L*M) individual path register.Adopt second kind of memory mechanism, needed store storage space is specifically: M*N be used for save mesh figure each constantly, the path memory cell of each state, 3 tolerance memory cell, 1 path metric that is used to store the global optimum path wherein, wherein 2 are used for storage tolerance difference, and L the shared path register in globally-optimal selection path (is specially (L*M) individual path register.And the memory cell that prior art needs is specifically: M*N be used for each constantly, the state storage unit of each state, the 1 optimal path tolerance (or path metric difference values) of 2M*N every state that is used to store per moment and the tolerance memory cell of 1 branch metric.The concrete size of concrete each state storage unit and tolerance memory cell is determined according to the bit number of expression state, tolerance in the decoding system.Therefore this programme has been saved memory space in terms of existing technologies greatly.
Scheme two: can recall the tolerance of the local path that path and global optimum path be separated by calculating, subtract the global optimum path and recall the local path that the path is separated tolerance obtain described tolerance difference.With known globally-optimal selection path after separating, at per moment accumulative total branch metric of recalling, and whether the state of state point identical with the state of state point in the corresponding moment on the global optimum path relatively constantly, if different, continues to recall; Otherwise, show to recall and got back on the global optimum path, stop to recall, the path metric of the local path that path that calculating is recalled and global optimum path are separated, this path metric is deducted the partial path metric between the corresponding value punctum on the global optimum path, obtain this difference.
Scheme two times, have two kinds of memory mechanisms equally, first kind, in searching global optimum's path process, the state of every state in per moment and optimal path among the save mesh figure, per moment on the global optimum path is with respect to the code block path metric of the zero hour, and in other globally-optimal selection path processes of searching except that the global optimum path, in each trace-back process, and the globally-optimal selection path of institute's basis is separated afterwards to each partial path metric with respect to this moment that is separated constantly of getting back between the global optimum path, and in the path of recalling and the tolerance difference of local path that the global optimum path is separated with respect to the local path of global optimum path in identical moment section, satisfied tolerance difference is greater than the overall situation (l-1) shortest path (L-l+1) individual tolerance difference with respect to minimum in all tolerance differences of the path metric difference values in global optimum path, and the global path of being somebody's turn to do (L-l+1) individual tolerance difference correspondence.Wherein L is the sum in the globally-optimal selection path that need search, and l is the path number in the current need globally-optimal selection path of searching.
Second kind of memory mechanism, a kind of different is with the enemy, in other globally-optimal selection path processes of searching except that the global optimum path, in each trace-back process, need the globally-optimal selection path of storage and institute's basis be separated after to path metric of getting back to each moment between the global optimum path with respect to this moment that is separated, and the local path that is separated of the path of recalling and global optimum path, in the tolerance difference with respect to the local path of global optimum path in identical moment section, satisfy the tolerance difference greater than 1 minimum tolerance difference in the overall situation (l-1) shortest path all tolerance differences with respect to the path metric difference values in global optimum path, and the global path of this minimum metric difference correspondence.Wherein l is the path number in the current need globally-optimal selection path of searching.
Therefore, for length is that M, status number are the convolution code of N, in scheme two, adopt first kind of memory mechanism, needed memory space is specially: M*N be used for save mesh figure each constantly, the state storage unit of each state and M*N be used for save mesh figure each constantly, the path register of the optimal path of each state and be used to store the path register in L globally-optimal selection path, maximum (L*M+L) individual tolerance memory cell.And adopt second kind of memory mechanism, since needs store the local path that the path recall and global optimum path are separated, in the tolerance difference with respect to the local path of global optimum path in identical moment section, satisfy the tolerance difference greater than 1 minimum tolerance difference in the overall situation (l-1) shortest path all tolerance differences with respect to the path metric difference values in global optimum path, and the global path of this minimum metric difference correspondence, so second kind of memory mechanism, relative second kind of memory mechanism, the memory space that need take relatively reduces, concrete minimizing situation, inequality according to concrete decoding
As seen, scheme two for the solution of the present invention one, obviously need take more memory space, but this programme can significantly reduce the metric calculation that repeats in the trace-back process; In addition, this programme has still been saved memory space in terms of existing technologies greatly.
Description of drawings
Fig. 1 is LVA decoding architecture figure;
Fig. 2 is the inventive method decoding schematic flow sheet;
Fig. 3 is the elementary cell of grid chart---the butterfly diagram schematic diagram;
Fig. 4 is a preferred path schematic diagram of the present invention;
Fig. 5 embodiment 1 described interpretation method schematic diagram;
Fig. 6 embodiment 2 described interpretation method schematic diagrames;
Fig. 7 embodiment 3 described interpretation method schematic diagrames;
Fig. 8 embodiment 4 described interpretation method schematic diagrames.
Embodiment
Core concept of the present invention is: according to VA, obtains the global optimum path, obtains decoding data, and the path metric in storage global optimum path, and the path register value; The decoding data that is obtained is carried out error checking and correction, if describedly be decoded as correct decoding, then output decoding finishes decoding; Otherwise continue to search other globally-optimal selection path, and the decoding data of this globally-optimal selection path correspondence, its lookup method is specifically: recall according to known globally-optimal selection path respectively, constantly separate in each of each globally-optimal selection path respectively with the globally-optimal selection path of institute basis, search the local sub-optimal path in the globally-optimal selection path of basis with respect to recalling, obtain the path metric difference values of the global path at described local sub-optimal path place with respect to the global optimum path, obtain the globally-optimal selection path according to described path metric difference values, and the decoding data in described globally-optimal selection path.Whenever get access to the decoding data of a globally-optimal selection path correspondence, all this decoding data is carried out error checking and correction, if check results shows that decoding data is correct decoding data, export this correct decoding data so, otherwise continue to search other globally-optimal selection path.
Further, in order to help the control of decode procedure more, to avoid because the interference of convolution code in transmission channel, decay or other, the imperfect or distortion of convolution code data itself is seriously, cause and to obtain correct decoding data according to the convolution code that receives.In this case, total number of paths by the globally-optimal selection path that need search according to ordinary circumstance, and when each decoding data to the current globally-optimal selection path correspondence of obtaining carries out error checking and correction, if current decoding data still is not correct decoding data, then further, judge the sum in the current globally-optimal selection path that has obtained, the sum in the globally-optimal selection path of searching less than default need whether, if less than, then continue to search other globally-optimal selection path, and decoding data; Otherwise, finish decoding, make the judgement of decoding failure, so that communication system is made data re-transmission or other strategy.
Further, only be separated according to every globally-optimal selection path in one period continuous moment and global optimum path, all coincide with the characteristics in global optimum path in other all moment, can recall the path metric of the global path at place, path by calculating, subtract the path metric in global optimum path, obtain the tolerance difference of the global path at described local sub-optimal path place with respect to the global optimum path.This method is owing to the path metric in the globally-optimal selection path in the path metric that only needs storage global optimum path and every globally-optimal selection path and the path register value in each path, so the memory space that this method need take significantly reduces.
In addition, can also recall the path metric of the local path that path and global optimum path be separated by calculating, subtract the path metric of global optimum path and the recall local path that the path is separated, obtain the tolerance difference of the global path at described local sub-optimal path place with respect to the global optimum path.This method is with after separate in known globally-optimal selection path, per moment accumulative total branch metric of recalling, and whether the state of state point is identical with the state of state point in the corresponding moment on the global optimum path relatively constantly, if it is different, then continue to recall, otherwise, show to recall and got back on the global optimum path, stop to recall.Calculate recall the path metric of the local path that path and global optimum path be separated, this path metric is deducted the path metric on the local road between the corresponding value punctum on the global optimum path, obtain described tolerance difference.
In order to allow those skilled in the art better understand summary of the invention of the present invention, be described in further detail below in conjunction with accompanying drawing and specific embodiment:
At first introduce the basic principle of the LVA of institute of the present invention basis, Fig. 1 is a LVA decoding architecture schematic diagram, as shown, at first from channel, receive convolution code, and convolution code carried out demodulation, convolution code after the demodulation is input to the LVA decoder, decipher, obtain decoding data, and the decoding data that is obtained is carried out CRC (Cyclic Redundancy Check, be called for short CRC check), if CRC check is incorrect, and the total number of paths L in the current path number globally-optimal selection path of searching less than default need, next path then asked, proceed LVA decoding, obtain the decoding data of this next path correspondence; If CRC check is correct, then output decoding; If CRC check is incorrect, and current path number is not less than the total number of paths L in the globally-optimal selection path that default need search, then finish decoding, output decoding failure result, system can make data retransmission, forward error correction, hybrid error correction or other Control on Communication strategy according to this result.
Fig. 2 is the schematic flow sheet of the inventive method, and as shown: this method comprises the steps:
Step S201: according to VA, obtain the global optimum path, obtain decoding data, and the path metric in storage global optimum path, and the path register value.
VA is actually the algorithm that the status switch of first-order Markov process is carried out maximal possibility estimation.Any finite state Markov process can be described by grid chart.Realize for simplifying, usually grid chart is resolved into the basic composition unit: butterfly diagram, as shown in Figure 3, Fig. 3 has provided the butterfly diagram of 1/n code check, and the left side of Fig. 1 is a start node, marks state i and state i+N/2 respectively, here N is total status number, has also marked branch metric BM among the figure in the branch i,-BM i, each stage of grid chart is made up of N/2 such butterfly diagram.
VA determines the maximum likelihood path of grid chart according to the band measured value of making an uproar, and implementation procedure can be divided into 3 parts, and the path metric of branch metric calculation, state upgrades and recalls.
Branch metric calculation is with each bit metric addition, and bit metric has maximum likelihood function to derive., reach according to the still minimum metric of maximum metric and select survivor path each bit metric addition as for how, depend on that then the decoder input is hard decision or soft-decision.When the input hard decision, branch metric is exactly a Hamming distance, and selects survivor path according to minimal path; Soft-decision is better than hard decision, because it provides extra reliability information.The branch metric of soft-decision input is that the Euclidean distance between incoming symbol (incoming symbol is defined as the vector that n quantized value formed) and the branch's output obtains after simplifying, and computational methods are as follows:
BM i = Σ i = 0 N SD i × ( 2 X i - 1 ) - - - ( 1 )
Wherein, n is the code check inverse, SD iBe the quantized components of incoming symbol, X i{ 0,1} is branch's output to ∈.At this moment, measure according to maximum path and to select survivor path, given incoming symbol, formula (1) has only 2n kind possible values, by the symmetry of butterfly diagram, the branch metric absolute value of each 4 branch of butterfly diagram is identical as can be known, and 2 branches that are connected with certain state node, its tolerance symbol is just in time opposite, utilizes this characteristics, when all butterfly diagrams of every grade are measured renewal, only need to calculate 2 N-1Individual branch metric, thus the calculating of branch metric reduced greatly.Branch metric directly is stored in the register.
The path metric of state upgrades and once carries out according to butterfly diagram, once upgrade 2 states, as shown in Figure 4, this tolerance is upgraded and is actually the process of a by-election than (ACS), promptly calculates the branch metric of 2 branches of certain state of remittance earlier, on this basis, with 2 branch metrics respectively with the path metric addition of the state of front, if the result of 2 additions relatively during the input hard decision, then selects the smaller to store as the new tolerance of this state; And if input selects the greater to store during soft-decision, as the new path metric of this state, it is the largest portion of VA operand that the path metric of state upgrades.
Recalling is the process of reconfiguration information bit from state-transition table back to front.In mobile communcations system, such as GSM, 3G network, convolutional encoding begins with " 0 " usually, and finishes with " 0 ", so its decode procedure specifically is that " 0 " state from end begins to recall, to " 0 " state end at top.And in the computer system, the unfixed convolution code decoding of code length when promptly deciphering continuously, in order to reduce time delay and to save internal memory, is recalled handling grid chart and is carried out after some stages.By the character of convolution code, N dAfter stage, S bar survivor path will merge in same start node, generally get Nd=6 * Ki, and wherein Ki is the constraint length of convolution coder.Each node before this common start node all belongs to maximum likelihood path.
Utilize above-mentioned VA principle, after obtaining the global optimum path, the path metric and the path register value in storage global optimum path, the memory cell of storing the path metric in global optimum path is called the first tolerance memory cell, the path register value memory cell of storing the global optimum path is called the first path register value memory cell.The path register value of being stored according to the first path register value memory cell carries out the path recalls, and obtains the decoding data in global optimum path.
Step S202: described decoding data is carried out error checking and correction.
Because signal carries out in the transmission course in channel, because the interference in the channel and the existence of decay, causing signal to produce wrong possibility increases, reliability for the guarantee information transmission, often pass through error checking and correction, communication process is carried out error control, and the method for the existing error checking and correction that can adopt specifically has: CRC check, parity check, duplication code verification, constant ratio code verification etc.Specifically be when chnnel coding, when channel transmission data is encoded, in data, insert error check code, make check code send to the channel receiving terminal with data.The channel receiving terminal carries out demodulation to received signal, after the decoding, obtain decoding data, according to chnnel coding being adopted different error checking and correction coded systems, when decoding data is carried out error checking and correction, corresponding error checking and correction mode when adopting with chnnel coding.Such as, if when chnnel coding, employing be the CRC check sign indicating number, when so error checking and correction is carried out in decoding, corresponding employing CRC check mode.
Step S203: according to the error checking and correction result, judge whether decoding is correct, if correct, execution in step S205 then; Otherwise execution in step S204.
Step S204: if the sum of judging current known globally-optimal selection path less than execution in step S205, otherwise returns step S207 whether less than the sum in default globally-optimal selection path.
Step S205: recall according to each known globally-optimal selection path respectively, constantly separate in each of described known globally-optimal selection path respectively with described known globally-optimal selection path, from described separation constantly, retrospective search is with respect to the local sub-optimal path in described known globally-optimal selection path, in trace-back process, obtain the tolerance difference of the global path at described local sub-optimal path place with respect to the global optimum path, according to described tolerance difference, obtain another globally-optimal selection path, and the decoding data of the path correspondence of obtaining, and return step S202.
On the basis that obtains the global optimum path, if the decoding data error checking and correction result in global optimum path is incorrect, then according to the overall sub-optimal path of searching of global optimum path.Specifically be according to the global optimum path, recall the different moment on the global optimum path respectively at every turn, separate with the global optimum path, date back on another state point different separating previous moment constantly with the state on the global optimum path, from this some beginning and more preceding moment, recall the difference of the global path at place, path that calculating is recalled with respect to the tolerance in global optimum path according to global optimum according to VA.Serve as after separation is recalled constantly with all moment respectively, recall the global path of respectively recalling the place, path obtained difference with respect to the tolerance in global optimum path according to each time, choose minimum difference as overall sub-optimal path, and obtain the decoding data of overall sub-optimal path, return step S202.If among the step S202 decoding is carried out the error checking and correction result for incorrect, and the sum in required path of searching is then further searched the overall situation the 3rd shortest path greater than the sum in current known globally-optimal selection path.
In like manner, search the decoding data of the overall situation the 3rd shortest path and the overall situation the 3rd shortest path correspondence according to global optimum path and overall sub-optimal path.In like manner obtain for the overall situation the 4th the excellent the 5th excellent other globally-optimal selection path.
Fig. 4 is the schematic diagram of the correlation in each globally-optimal selection path, and as shown, the length of convolution code is M, and the state number is N, and the path metric in global optimum path is LM.If global optimum path and overall sub-optimal path are disconnected from each other to the moment (I+4) at moment I, the overall situation the 3rd shortest path and global optimum path are disconnected from each other to the moment (I+4) in the moment (I-2), in a word, all globally-optimal selection paths are separated in one section continuous moment section and global optimum path, and all coincide with the global optimum path constantly at other.
Step S206: output decoding failure result, finish decoding.
Communication system can be carried out corresponding error control strategy according to this decoding failure result, such as: automatic repeat request, forward error correction or hybrid error correction etc.
Step S207: export this correct decoding data, finish decoding.
Below further specify the inventive method with regard to preferred implementation of the present invention:
Embodiment 1:
The method flow diagram of present embodiment shown in Figure 5 as shown, may further comprise the steps:
Step S501: initialization path l=1, moment j=1, the total number of paths L that need search, code block length M.
Step S502: according to VA, obtain the global optimum path, obtain decoding data, and the path metric BM in storage global optimum path, and the path register value.
Step S503: error checking and correction.
The decoding data that obtains is carried out error checking and correction, the error checking and correction coded system difference that the error checking method that is adopted adopts during according to signal encoding.
Step S504: if the error checking and correction among the step S503 is correct, execution in step S513 then; Otherwise further adjudicate the total number of paths L whether current path number searches less than default need, if be not less than L, execution in step S513 then, if less than L, execution in step S505 then.
Step S505:l=l+1.
Make path number add 1, search next globally-optimal selection path.
Step S506: definite scope of j constantly: j is less than or equal to and te more than or equal to ts constantly, and wherein ts represents minimum value constantly, and te represents maximum constantly, and initialization moment j.
If current path number l is not more than 2, the overall situation (l-1) shortest path promptly is the global optimum path so as can be known, and under this situation, the scope of j is that ts is the zero hour of code block constantly: in the moment 1, te is the last moment of code block: moment M.
If current path number l is greater than 2, so with the burble point in the overall situation (l-1) shortest path and global optimum path constantly as te, with merging point moment in the overall situation (l-1) shortest path and global optimum path as ts.If current path number l is 3, as shown in Figure 4, the burble point of global optimum path and overall sub-optimal path is the moment (i+4) for the A moment corresponding, the merging point of global optimum path and overall sub-optimal path is E, moment corresponding is moment i, when searching the overall situation the 3rd shortest path so, the scope of determined moment j is that i arrives (i+4) constantly constantly.
Initialization j constantly equals ts; Perhaps, initialization constantly j equal te.
Step S507: updated time j.
Updated time j makes moment j equal the different value of another one, chooses another constantly for separating constantly, this upgrades principle, usually selecting following two kinds of schemes for use: if in the initialization moment, adopted initialization j=ts constantly, then make j=j+1 constantly, the scheme that adopts moment j to increase progressively; If in initialization constantly, adopted initialization j=te constantly, mode, order j=j-1 constantly then, the scheme that adopts j constantly to successively decrease.
Step S508: recall according to the overall situation (l-1) shortest path, when recall in the path, another path inequality, known globally-optimal selection path of getting Yu recalling institute's basis at moment j, remember that this moment j point is path burble point jd, j-1 constantly and later path recall according to optimal path and recall, stop to recall the zero hour of dating back to code block, and in whole trace-back process per moment accumulative total branch metric, obtain the path metric BMj that recalls the path.
Whenever recall last moment M in this step by code block, date back to till the zero hour 1 of code block always, and add up branch metric constantly in each that recall, when dating back to constantly 1, get access to the path metric of the global path of recalling the path, establishing corresponding j constantly is BMj for separating the path metric of constantly recalling.
Step S509: computation measure difference: δ j=BMj-BM.
The path metric BM in the global optimum path that obtains among the read step S502 and store, according to δ j=BMj-BM, obtaining with moment j serves as to recall the tolerance difference of path with respect to the global optimum path when separating constantly.
Step S510: the path register value that relatively also upgrades tolerance difference and this difference correspondence, storage is greater than the overall situation (l-1) shortest path (L-l+1) individual tolerance difference with respect to minimum in all differences of the path metric difference values in global optimum path, and the path register value of this difference correspondence.
When searching overall l shortest path, with the difference whenever obtained with compare with the difference of storage, and upgrade difference and the path register value of being stored greater than the overall situation (l-1) shortest path with respect to the principle of the path register value of (L-l+1) individual tolerance difference minimum in all differences of the path metric difference values in global optimum path and this difference correspondence according to storage.
Step S511: judge that constantly j is whether in the scope of moment step S506.
If current moment j is not in the determined moment scope of step S506, promptly current time j is less than ts, and perhaps, current time j is greater than te, then execution in step S512; Otherwise return step S507.
If general in step S506, employing be initialization j=ts, and in step S507, adopt the scheme of the updated time j of j=j+1 constantly, then only needing relatively in this step, whether j gets final product greater than te; If in step S506, employing be initialization j=te, and in step S507, adopt the scheme of the updated time j of j=j-1 constantly, then only needing relatively in this step, whether j gets final product less than ts.
Step S512: the path of the difference correspondence that (l-1) is little is overall l shortest path, obtains the decoding data of overall l shortest path correspondence.
The path of the difference correspondence that (l-1) is little in the difference of all storages is overall l shortest path, obtain the decoding data of overall l shortest path correspondence after, return step S503.
Step S513: output decode results
If it is correct judging the error checking and correction result among the step S504, then Shu Chu decode results is: decoding is correct, and the output decoding data, finishes decoding; If judge the error checking and correction mistake among the step S504, and current path number is not less than the path that need default among the step S501 search and always recalls L, then exports decode results and is: decoding failure, finish decoding.
What deserves to be explained is: in the present embodiment because in step S510, except storage search overall l shortest path needed greater than the overall situation (l-1) shortest path with respect to minimum in all differences of the path metric difference values in global optimum path the difference, only big than this difference other (L-l) individual difference has also prestored, use in order to searching follow-up globally-optimal selection path, make when searching the overall situation (l+1) shortest path, do not need repetition according to the global path of when searching overall l shortest path, having recalled, carry out retrospective search, and only need be according to overall l shortest path, with the moment that does not coincide with other known globally-optimal selection path statuss on this path for separating constantly, recall, and, search and to obtain the overall situation (l+1) shortest path in conjunction with the tolerance difference that prestores and the path register value of each difference correspondence.Obviously, this mechanism of prestoring has been saved the retrospective search number of times of searching the overall situation (l+1) shortest path.
The memory space analysis of present embodiment: in the total number of paths of searching is under the situation of L, the memory cell that present embodiment need take is: L tolerance memory cell, one of them is used to store optimal path tolerance, other (L-1) individual store path tolerance difference that is used for; And M*N is used to store the path register of optimal path of every state in per moment, and L*M is used to store the path register in L globally-optimal selection path.As seen present embodiment has significantly reduced memory space with respect to prior art.
Embodiment 2:
In embodiment 1, when searching overall l shortest path, adopted the mechanism of prestoring, though prestoring, this can reduce the retrospective search number of times of searching the overall situation (l+1) shortest path, searching of conveniently follow-up globally-optimal selection path, but increased the data computation amount of searching current l shortest path accordingly, particularly, when if the decoding error checking and correction result of the current overall situation of searching l path correspondence is correct, then no longer need to continue to search follow-up globally-optimal selection path, this data pre-storage mechanism not only can not work, and has increased decoding time on the contrary.
Present embodiment has proposed another coding method of convolution code for this reason, is illustrated in figure 6 as the method flow schematic diagram of present embodiment, and as shown, this method may further comprise the steps:
Step S601: initialization path l=1, moment j=1, the total number of paths L that need search, code block length M.
Step S602: according to VA, obtain the global optimum path, obtain decoding data, and the path metric BM in storage global optimum path, and the path register value.
Step S603: error checking and correction.
Step S604: if the mistake among step S603 judgement is correct, execution in step S613 then; Otherwise further adjudicate the total number of paths L whether current path number searches less than default need, if be not less than L, execution in step S613 then, if less than L, execution in step S605 then.
Step S605:l=l+1.
Above-mentioned step S601, S602, S603, S605 are identical with step, S502, S503, S505 among the embodiment 1 respectively, therefore do not give unnecessary details at this.
Step S606: the scope of determining j is greater than 1 natural number less than M, and wherein M is the beginning moment j of convolution code block.
Can adopt two kinds initialization mode in this step: the initialization moment, j equaled the zero hour 1 of code block; Perhaps, initialization moment j equals the last moment M of code block.
Step S607: updated time j.
Updated time j makes moment j equal the different value of another one, chooses another constantly for separating constantly, this upgrades principle, usually selecting following two kinds of schemes for use: if in the initialization moment, adopted initialization j=1 constantly, then make j=j+1 constantly, the scheme that adopts moment j to increase progressively; If in initialization constantly, adopted initialization j=M constantly, mode, order j=j-1 constantly then, the scheme that adopts j constantly to successively decrease.
Step S608: recall according to known globally-optimal selection path respectively, when recall in the path, get and another path inequality, known globally-optimal selection path of recalling institute's basis at the state point of moment j, remember that this moment j point is path burble point jd, j-1 constantly and later path recall according to optimal path and recall, stop to recall the zero hour of dating back to code block, and in whole trace-back process per moment accumulative total branch metric, obtain the path metric BMj that recalls the path.
What this step was different with embodiment step S508 is, whenever searches a globally-optimal selection path in the present embodiment, respectively according to all known globally-optimal selection paths, separates constantly to recall respectively with the moment j in each path.Other are in like manner in embodiment 1, whenever recall last moment M by code block, date back to till the zero hour 1 of code block always, and add up branch metric constantly in each that recall, when dating back to constantly 1, get access to the path metric of the global path of recalling the path, establishing corresponding j constantly is BMj for separating the path metric of constantly recalling.
Step S609: computation measure difference: δ j=BMj-BM.
The path metric BM in the global optimum path that obtains among the read step S602 and store, according to δ j=BMj-BM, obtaining with moment j serves as to recall the tolerance difference of path with respect to the global optimum path when separating constantly.
Step S610: the path register value that relatively also upgrades tolerance difference and this difference correspondence, storage greater than the overall situation (l-1) shortest path with respect to tolerance difference minimum in all differences of the path metric difference values in global optimum path, and the path register value of tolerance difference correspondence that should minimum.
When searching overall l shortest path, whenever the difference of obtaining is compared with the difference of having stored, if this difference is not more than obtaining the overall situation (l-1) shortest path that the overall situation stored during (l-1) shortest path path metric difference values with respect to the global optimum path, then do not do any processing; Otherwise further relatively whether this difference is the tolerance difference of the minimum obtained when searching current overall l shortest path, if then store this difference and this difference respective path register value.In a word, make the difference of being stored at last be: with respect to tolerance difference minimum in all differences of the path metric difference values in global optimum path, the path register value of being stored is: this pairing path of difference of storing register value greater than the overall situation (l-1) shortest path.
Step S611: judge that constantly j is whether in the determined moment scope of step S606.
If current moment j is not in the determined moment scope of step S606, promptly current time j is less than 1, and perhaps current time j is greater than M, then execution in step S612; Otherwise return step S607.
If general in step 606, employing be initialization j=1, and in step S607, adopt the scheme of the updated time j of j=j+1 constantly, then only needing relatively in this step, whether j gets final product greater than M; If in step S606, employing be initialization j=M, and in step S607, adopt the scheme of the updated time j of j=j-1 constantly, then only needing relatively in this step, whether j gets final product less than 1.
Step S612: under the current same l, the path of the tolerance difference correspondence of obtaining and finally storing is overall l shortest path, obtains the decoding data of overall l shortest path correspondence.
Under the current same l, the path of tolerance difference correspondence of final storage be overall l shortest path, the path register value of final storage be the path register value of overall l shortest path, recall the path according to the path register value, obtain the decoding data of overall l shortest path correspondence.Return step S603.
To the concrete storage of tolerance difference, can adopt following scheme:
Whenever find a globally-optimal selection path, and the path number in this globally-optimal selection path only stored the tolerance difference of this path with respect to the global optimum path greater than 2 o'clock, discharge the tolerance difference of other known preferred paths with respect to the globally-optimal selection path.Adopt this method can discharge useless memory contents, further reduce memory space, adopt this scheme, deciphering the required memory space that takies is: finding overall L path with needs is example: 3 path metric memory cell, a path metric that is used to store the global optimum path, one is used for the storage overall situation (L-1) shortest path and goes tolerance difference in the global optimum path relatively, another be used for storing current L down storage go relatively in the minimum difference of all differences of the tolerance difference in global optimum path greater than the overall situation (L-1) shortest path; L path register memory cell.
Step S613: output decode results.
If it is correct judging the error checking and correction result among the step S604, then Shu Chu decode results is: decoding is correct, and the output decoding data, finishes decoding; If judge the error checking and correction mistake among the step S604, and current path number is not less than the path that need default among the step S601 search and always recalls L, then exports decode results and is: decoding failure, finish decoding.
Embodiment 3:
Be illustrated in figure 7 as the method flow schematic diagram of present embodiment, as shown, this method may further comprise the steps:
Step S701: initialization path l=1, moment j=1, the total number of paths L that need search, code block length M.
Step S702: according to VA, obtain the global optimum path, obtain decoding data, and the cumulative metrics in per moment on the storage global optimum path, and the state of all per moment, every state point in the grid chart.
Step S703: error checking and correction.
Step S704: if check results be correct or path number greater than L, execution in step S713 then, otherwise execution in step S705.
Step S705:l=l+1.
Step S706: determine that the scope of j is greater than moment ts and less than moment te constantly, wherein ts represents minimum value constantly, and te represents maximum constantly, and initialization is j constantly.
Step S707: updated time j.
Step S701, S702, S703, S704, S705, S706, S707 are identical with step S501, S502, S503, S504, S505, S506, S507 among the embodiment 1 respectively.
Step S708: recall according to the overall situation (l-1) shortest path, when recall in the path, another path inequality, known globally-optimal selection path of getting Yu recalling institute's basis at moment j, remember that this moment j point is path burble point jd, j-1 constantly and later path recall according to optimal path and recall, and constantly and later recall at moment j-1, the branch metric in per moment of accumulative total, and whether the path in more per moment is identical with the state of corresponding moment point on the global optimum path, if different, continues to recall, if it is identical, then write down this moment, be designated as a merging point js, and stop to recall.Calculate institute recall path and global optimum path be separated the time be carved into and merge a partial path metric of putting the moment, be designated as BMjs.
If search overall sub-optimal path, with certain moment point on the global optimum path is burble point, as shown in Figure 4, if the state point A with the moment (i+4) is a burble point, at constantly (i+3) and later add up branch metric respectively in recalling, and the state in the more per moment whether state with the state point in corresponding moment in global optimum path is identical, if when dating back to moment i, the state of the point of recalling is identical with the state of the moment i in global optimum path, recall so as can be known and got back to the global optimum path, write down this point, establish this point and be an E, and stop to recall.Obviously, in the trace-back process, (i+4) adds up branch metric respectively to moment i constantly, specifically as shown: (i+3) state point B has write down in the moment: state point A is to the branch metric of state point B, be made as Lab, (i+2) moment point C has write down constantly: state point A arrives the path metric of state point C again to state point B, be made as Lac, (i+1) state point D has write down constantly: state point A is via B, C, to the path metric of state point D, be made as Lad, (i+1) state point E has write down constantly: state point A is made as Lae via B, C, the D path metric to E.Obviously, this institute recall path and global optimum path be separated the time be carved into that to merge a some partial path metric BMjs constantly be Lae.
If the path number in the globally-optimal selection path of searching greater than 2, is an example to search the overall situation the 3rd shortest path, other path number are identical with the situation of searching the overall situation the 3rd shortest path greater than 3 path.Depositing storage according to the path of overall sub-optimal path recalls, with on the overall sub-optimal path, and the moment on state point and the global optimum path is for separating constantly, as shown in Figure 4, the set up an office path at A, B, C, D, E place is overall sub-optimal path, obviously searches the overall situation the 3rd shortest path and should be respectively with state point B, C on the sub-optimal path, D moment corresponding (i+3), (i+2), (i+1) and separate scope constantly.With constantly (i+2) is that example describes: the path register according to overall sub-optimal path is recalled, behind the due in (i+2), recall in (i+1) moment and later path, according to VA, recall according to optimal path, and in per moment relatively whether the state of the current time state point of recalling identical with the state of state point in the corresponding moment on the global optimum path, till arriving a state point identical, stop to recall with the state of the corresponding moment point in global optimum path.If date back to (i-2) constantly always, the state point of recalling is identical with the state of the state point in the moment (i-1) in global optimum path, promptly dates back on the global optimum path.As shown in Figure 4, if constantly after (i+2), recalling the local optimum path that obtains according to VA is: C--F--G--H--I, obtained branch metric at (i+1) state point F constantly from a C to F, be made as Lcf, obtained from a C via the path metric of a F at moment i state point G to a G, be made as Lcg, (i-1) state point H has obtained from a C via a F, the G path metric to a H in the moment, be made as Lch, moment i state point I obtain from a C via a F, G, H path metric to an I, be made as Lci.In addition when searching overall sub-optimal path, stored the accumulative total branch metric of the burble point A that starts from this sub-optimal path and optimal path that A, B, C, D order respectively.Therefore this institute recall path and global optimum path be separated the time be carved into and merge a partial path metric BMjs who puts the moment and can obtain by BMjs=Lci+Lac.
Step S709: computation measure difference: δ j=BMjs-BMjg, wherein to be the global optimum path be carved into when the separating of recalling path and global optimum path BMjg merges point constantly, two partial path metrics between constantly.
Each cumulative metrics constantly according to the global optimum path of storing among the step S702, obtain the cumulative metrics in two moment, if separating constantly is moment h, the cumulative metrics of this point is BMh, merging constantly is k, the cumulative metrics of this point is BMk, so with the global optimum path constantly the cumulative metrics of h correspondence deduct constantly that the cumulative metrics of h obtains on the overall global optimum path, be carved into the cumulative metrics BMjg=BMh-BMk of the local path between merging constantly during separation.
Basis again: δ j=BMjs-BMjg, obtain required tolerance difference.
Step S710: the path register value that relatively also upgrades tolerance difference and this difference correspondence, storage is greater than the overall situation (l-1) shortest path (L-l+1) individual tolerance difference with respect to minimum in all differences of the path metric difference values in global optimum path, and the path register value of this difference correspondence.
When searching overall l shortest path, with the difference whenever obtained with compare with the difference of storage, and upgrade difference and the path register value of being stored greater than the overall situation (l-1) shortest path with respect to the principle of the path register value of (L-l+1) individual tolerance difference minimum in all differences of the path metric difference values in global optimum path and this difference correspondence according to storage.
Step S711: judge that j is whether in moment scope.
If current moment j is not in the determined moment scope of step S706, promptly current time j is less than ts, and perhaps current time j is greater than te, then execution in step S712; Otherwise return step S707.
If general in step S706, employing be initialization j=ts, and in step S507, adopt the scheme of the updated time j of j=j+1 constantly, then only needing relatively in this step, whether j gets final product greater than te; If in step S506, employing be initialization j=te, and in step S707, adopt the scheme of the updated time j of j=j-1 constantly, then only needing relatively in this step, whether j gets final product less than ts.
Step S712: the path of the difference correspondence that (l-1) is little is overall l shortest path, obtains the decoding data of overall l shortest path correspondence.
The path of the difference correspondence that (l-1) is little in the difference of all storages is overall l shortest path, obtain the decoding data of overall l shortest path correspondence after, return step S503.
Step S713: output decode results
If it is correct judging the error checking and correction result among the step S704, then Shu Chu decode results is: decoding is correct, and the output decoding data, finishes decoding; If judge the error checking and correction mistake among the step S704, and current path number is not less than the path that need default among the step S701 search and always recalls L, then exports decode results and is: decoding failure, finish decoding.
As seen, present embodiment has adopted the data pre-storage mechanism identical with embodiment 1, helps reducing searching the needed retrospective search number of times in follow-up other globally-optimal selection paths.But, the more important thing is, present embodiment is with respect to embodiment 1,2, recall the tolerance difference of the global path at place, path with respect to the global optimum path to calculating, different computational methods have been adopted, present embodiment is recalled the do not coincide tolerance of local path of path and global optimum path by calculating, deduct, the global optimum path and recall the path do not coincide local path tolerance and obtain.Adopt the described method of present embodiment, can reduce metric calculation unnecessary in the trace-back process, reduce the speed of at every turn recalling with respect to embodiment 1,2.
By top description as seen, establishing for length is M, and status number is the convolution code of N, and the preferred path that need search add up to L, the needed memory space of present embodiment is as follows: M*N state storage unit that is used to store every state in per moment; Certain respectively state of the state point in the moment comprising the global optimum path; M*N is used to store the path register of optimal path of every state point in per moment, and L*M is used to store the path register in L globally-optimal selection path; Maximum L*M tolerance memory cell, M each cumulative metrics constantly that is used to store the global optimum path wherein, other be used for being stored in and search the cumulative metrics that the globally-optimal selection path obtained and measure difference.Though as seen the relative embodiment 1 and 2 of present embodiment need take more memory space, in terms of existing technologies, has still significantly reduced the memory space that need take.
Embodiment 4:
Be illustrated in figure 8 as the method flow schematic diagram of present embodiment, as shown, this method may further comprise the steps:
Step S801: initialization path l=1, moment j=1, the total number of paths L that need search, code block length M.
Step S802: according to VA, obtain the global optimum path, obtain decoding data, and the path metric BM in storage global optimum path, and the path register value.
Step S803: error checking and correction.
Step S804: if check results be correct or path number greater than L, execution in step S813 then, otherwise execution in step S805.
Step S805:l=l+1.
Step S806: determine that the scope of j is constantly: 1<=j<=M, wherein M is the last moment of convolution code block, initialization is j constantly.
Step S807: updated time j.
Step S801, S802, S803, S805, S806 are identical with S601, S602, S603, S605, S606, S607 among the embodiment 2 respectively.
Step S808: recall according to known globally-optimal selection path, when recall in the path, another path inequality, known globally-optimal selection path of getting Yu recalling institute's basis at moment j, remember that this moment j point is path burble point jd, j-1 constantly and later path recall according to optimal path and recall, and constantly and later recall at moment j-1, the branch metric in per moment of accumulative total, and whether the path in more per moment is identical with the state of corresponding moment point on the global optimum path, if different, continues to recall, if it is identical, then write down this moment, be designated as a merging point js, and stop to recall.Calculate institute recall path and global optimum path be separated the time be carved into and merge a partial path metric of putting the moment, be designated as BMjs.
This step difference from Example 3 is, only need recall by the path among the embodiment 3 and get final product according to the overall situation (l-1), in the present embodiment, except needs are recalled by the path according to the overall situation (l-1), also need to recall according to other known globally-optimal selection paths respectively.
Identical among the acquisition methods of BMjs and the embodiment 3.
Step S809: computation measure difference: δ j=BMjs-BMjg, wherein to be the global optimum path be carved into when the separating of recalling path and global optimum path BMjg merges point constantly, two partial path metrics between constantly.
This step is identical with step S709 among the embodiment 3.
Step S810: the path register value that relatively also upgrades tolerance difference and this difference correspondence, storage greater than the overall situation (l-1) shortest path with respect to minimum metric difference in all differences of the path metric difference values in global optimum path, and the path register value of this difference correspondence.
When searching overall l shortest path, whenever the difference of obtaining is compared with the difference of having stored, if this difference is not more than obtaining the overall situation (l-1) shortest path that the overall situation stored during (l-1) shortest path path metric difference values with respect to the global optimum path, then do not do any processing; Otherwise further relatively whether this difference is, when searching current overall l shortest path, the tolerance difference of the minimum of being obtained is if then store this difference and this difference respective path register value.Make the difference of being stored at last be in a word: with respect to tolerance difference minimum in all differences of the path metric difference values in global optimum path, the path register value of being stored is: this pairing path of difference of storing register value greater than the overall situation (l-1) shortest path.
Step S811: judge that j is whether in moment scope.
If current moment j is not in the determined moment scope of step S806, promptly current time j is less than 1, and perhaps current time j is greater than M, then execution in step S812; Otherwise return step S807.
If general in step S806, employing be initialization j=1, and in step S807, adopt the scheme of the updated time j of j=j+1 constantly, then only needing relatively in this step, whether j gets final product greater than M; If in step S806, employing be initialization j=M, and in step S807, adopt the scheme of the updated time j of j=j-1 constantly, then only needing relatively in this step, whether j gets final product less than 1.
Step S812: the path of the difference correspondence that (l-1) is little is overall l shortest path, obtains the decoding data of overall l shortest path correspondence.
The path of the difference correspondence that (l-1) is little in the difference of all storages is overall l shortest path, obtain the decoding data of overall l shortest path correspondence after, return step S803.
Step S813: output decode results
If it is correct judging the error checking and correction result among the step S804, then Shu Chu decode results is: decoding is correct, and the output decoding data, finishes decoding; If judge the error checking and correction mistake among the step S804, and current path number is not less than the path that need default among the step S801 search and always recalls L, then exports decode results and is: decoding failure, finish decoding.
As seen, the basic skills of present embodiment is substantially the same manner as Example 3, different is, present embodiment is in searching overall l shortest path process, only store the needed tolerance value of delta of overall l shortest path j, reduced the computation complexity of current globally-optimal selection path searching relatively, but, if to the decoding error checking and correction of current path when incorrect, so when searching follow-up path, need be according to all known globally-optimal selection paths, each moment with each path serves as to separate constantly to carry out retrospective search respectively, has increased the number of times of retrospective search relatively.
Can select diverse ways for use according to actual conditions, such as, under the good environment of channel, the method for present embodiment is selected in suggestion for use, under the good environment of channel, selects embodiment 3 described methods for use
By top description as seen, establishing for length is M, and status number is the convolution code of N, and the preferred path that need search add up to L, the needed memory space of present embodiment is basic identical with embodiment 3.
More than a kind of coding method of convolution code provided by the present invention is described in detail, used specific case herein principle of the present invention and execution mode are set forth, the explanation of above embodiment just is used for helping to understand method of the present invention and core concept thereof; Simultaneously, for one of ordinary skill in the art, according to thought of the present invention, the part that all can change in specific embodiments and applications, in sum, this description should not be construed as limitation of the present invention.

Claims (18)

1, a kind of coding method of convolution code is characterized in that, may further comprise the steps:
A, according to viterbi algorithm, obtain the global optimum path, obtain decoding data, and the path metric in storage global optimum path;
B, described decoding data is carried out error checking and correction, if error checking and correction is correct, then output decoding finishes decoding, otherwise execution in step C;
C, recall according to each known globally-optimal selection path respectively, constantly separate in each of described known globally-optimal selection path respectively with described known globally-optimal selection path, from described separation constantly, retrospective search is with respect to the local sub-optimal path in described known globally-optimal selection path, in trace-back process, obtain the tolerance difference of the global path at described local sub-optimal path place with respect to the global optimum path, according to described tolerance difference, obtain a globally-optimal selection path, and the decoding data of the path correspondence of obtaining, return step B.
2, coding method of convolution code according to claim 1 is characterized in that, described step B further may further comprise the steps:
If the B1 error checking and correction is incorrect, whether further more known globally-optimal selection path number searches the total number in globally-optimal selection path less than default need, if less than, execution in step C then; Otherwise the result of output decoding failure finishes decoding.
3, coding method of convolution code according to claim 1 and 2 is characterized in that, described steps A is the state of each state point constantly in the described global optimum of storage path further.
4, coding method of convolution code according to claim 3 is characterized in that, described steps A further comprises:
A2, on the global optimum path each constantly, accumulative total and storage path metric from the state point of the zero hour in described global optimum path to described each state point constantly.
5, coding method of convolution code according to claim 4, it is characterized in that, obtaining of tolerance difference described in the step C, be specially: the tolerance of recalling the local path that is separated with the global optimum path on the path subtracts the tolerance of the local path that is separated with recalling path on the global optimum path, obtains described tolerance difference.
6, coding method of convolution code according to claim 5 is characterized in that, described step C specifically may further comprise the steps:
C11, l add up 1, and wherein said l is one greater than 0, the sum in the globally-optimal selection path of searching less than default need, and be initialized as the natural number variable of l=1;
C12, default variable j constantly, and determine the scope of j constantly, initialization is j constantly; Described j is a natural number;
C13, recall according to the path register value in each known globally-optimal selection path respectively, and after dating back to constantly j, another path inequality, known globally-optimal selection path of getting Yu recalling institute's basis;
C14, in the state point of (j-1) and later recalling constantly, recall according to optimal path, and each moment of recalling, accumulative total and stores branch tolerance, and relatively whether state is identical at the state in the described moment with the global optimum path, if it is identical, then stop to recall, obtain recall the path separate with the global optimum path constantly and stop to recall constantly between, recall local path on the path with respect to the tolerance difference of the local path on the global optimum path, if j in the scope that described step C12 sets, updated time j then, and return step C13; If j not in the scope that described step C12 sets, according to the difference of being obtained, obtains overall l shortest path, and the decoding data of overall l shortest path, return step B.
7, coding method of convolution code according to claim 6 is characterized in that, obtaining of the tolerance difference described in the step C14 specifically may further comprise the steps:
If the current globally-optimal selection path of recalling institute's basis of C141 is the global optimum path, described difference equals: stop to recall the accumulative total branch metric of the moment with respect to moment j, deduct the accumulative total branch metric of the moment j on the global optimum path and the described accumulative total branch metric that stops to recall place state point constantly poor; Otherwise, described difference equals: stop to recall the accumulative total branch metric of the moment with respect to moment j, add, current accumulative total branch metric of recalling the globally-optimal selection path of institute's basis at the state point of moment j, deduct the accumulative total branch metric of the moment j on the global optimum path and describedly stop to recall the poor of accumulative total branch metric constantly.
8, coding method of convolution code according to claim 1 and 2, it is characterized in that obtaining of the tolerance difference described in the step C is specially: recall the path metric of the global path at place, path, subtract the tolerance in global optimum path, obtain described tolerance difference.
9, coding method of convolution code according to claim 8 is characterized in that, described step C specifically may further comprise the steps:
C21, l=l+1, wherein l is a sum greater than the 0 globally-optimal selection path of searching less than default need, and the natural number variable of initialization l=1;
C22, a natural number variable j is set, initialization is j constantly;
C23, recall according to the path register value in each known globally-optimal selection path respectively, add up branch metric constantly in each that recall, and when dating back to constantly j, another path inequality, known globally-optimal selection path of getting Yu recalling institute's basis;
C24, in the state point of (j-1) and later recalling constantly, recall according to optimal path, date back to the zero hour of convolution code always, obtain recall the path metric in path, calculating obtain recall the path metric difference values in path and global optimum path, if j is in the moment of convolution code scope constantly, then updated time j returns step C23; According to the difference of being obtained, obtain overall l shortest path, and the decoding data of described overall l shortest path, return step B.
10, according to claim 7 or 9 described coding method of convolution code, it is characterized in that, described according to the difference of being obtained, obtain overall l shortest path, specifically may further comprise the steps:
C3, from the difference of being obtained, choose, greater than the difference of the overall situation (l-1) shortest path with respect to the difference of the path metric in global optimum path, further, all greater than the overall situation (l-1) shortest path all differences with respect to the difference of the path metric in global optimum path in, choose minimum difference, the path of the difference correspondence of described minimum is overall l shortest path.
11, coding method of convolution code according to claim 10 is characterized in that, step C3 further may further comprise the steps:
C31, the tolerance difference of being obtained is compared with the tolerance difference of having stored, storage is greater than the overall situation (l-1) shortest path (L-l+1) individual tolerance difference with respect to minimum in all differences of the path metric difference values in global optimum path, and the path register value of this difference correspondence, wherein L is the sum in the default need globally-optimal selection path of searching.
12, coding method of convolution code according to claim 11 is characterized in that, describedly obtains overall l shortest path according to described tolerance difference, specifically:
The path of the tolerance difference correspondence that (l-1) is little in the tolerance difference of all storages is overall l shortest path.
13, coding method of convolution code according to claim 10 is characterized in that, step C3 further may further comprise the steps:
C32, the tolerance difference of being obtained is compared with the tolerance difference of having stored, storage is greater than the tolerance difference of the overall situation (l-1) shortest path with respect to minimum in all differences of the path metric difference values in global optimum path, and the path register value of this difference correspondence.
14, coding method of convolution code according to claim 13 is characterized in that, describedly obtains overall l shortest path according to described tolerance difference, specifically:
The path of the tolerance difference correspondence of the minimum of obtaining and storing is overall l shortest path.
According to claim 6 or 9 described coding method of convolution code, it is characterized in that 15, described initialization is j constantly, specifically: making constantly, j equals the interior minimum moment of scope constantly.
16, coding method of convolution code according to claim 15 is characterized in that, described updated time j, and specifically: making constantly, j increases progressively.
According to claim 6 or 9 described coding method of convolution code, it is characterized in that 17, described initialization is j constantly, specifically: making constantly, j equals the interior maximum moment of scope constantly.
18, coding method of convolution code according to claim 17 is characterized in that, described updated time j, and specifically: making constantly, j successively decreases.
CNB2006100875136A 2006-06-13 2006-06-13 A coding method of convolution code Active CN100499379C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100875136A CN100499379C (en) 2006-06-13 2006-06-13 A coding method of convolution code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100875136A CN100499379C (en) 2006-06-13 2006-06-13 A coding method of convolution code

Publications (2)

Publication Number Publication Date
CN1968024A CN1968024A (en) 2007-05-23
CN100499379C true CN100499379C (en) 2009-06-10

Family

ID=38076610

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100875136A Active CN100499379C (en) 2006-06-13 2006-06-13 A coding method of convolution code

Country Status (1)

Country Link
CN (1) CN100499379C (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101321035B (en) * 2008-07-09 2012-03-21 上海华为技术有限公司 Difference value toplimit acquiring method, point fixing method and apparatus
CN101662293B (en) * 2009-08-26 2014-02-19 华为终端有限公司 Method and device for decoding
CN102624404B (en) * 2011-01-31 2014-04-30 中兴通讯股份有限公司 Tail-biting convolutional code decoding checking method and apparatus thereof
WO2016090557A1 (en) * 2014-12-09 2016-06-16 华为技术有限公司 Method for detecting sending sequence, receiver and receiving device
CN105281787B (en) * 2015-11-19 2019-01-01 张波 A method of improving Viterbi decoding performance
CN108471341B (en) * 2018-03-26 2020-11-24 西安电子科技大学 Method for convolutional encoding and decoding

Also Published As

Publication number Publication date
CN1968024A (en) 2007-05-23

Similar Documents

Publication Publication Date Title
CA2180311C (en) Soft-decision receiver and decoder for digital communication
KR101143695B1 (en) Trellis-based receiver
US6484285B1 (en) Tailbiting decoder and method
US7765459B2 (en) Viterbi decoder and viterbi decoding method
US6697443B1 (en) Component decoder and method thereof in mobile communication system
CN101997553B (en) Method and device for decoding convolution code
US5802116A (en) Soft decision Viterbi decoding with large constraint lengths
CN100499379C (en) A coding method of convolution code
JP2009535939A (en) Viterbi decoding apparatus and technology
US7277507B2 (en) Viterbi decoder
JPH09507634A (en) Transmission system for soft output decoding when the required memory capacity is reduced
US7237180B1 (en) Symbol-level soft output Viterbi algorithm (SOVA) and a simplification on SOVA
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
EP3996285A1 (en) Parallel backtracking in viterbi decoder
KR20070073648A (en) Transport format detecting apparatus and method
KR100336246B1 (en) Integrated circuit with digital processor and co-processor
KR101212856B1 (en) Method and apparatus for decoding data in communication system
JPH09232971A (en) Viterbi decoding method and viterbi decoding circuit
EP2605410B1 (en) Channel decoding method and tail biting convolutional decoder
CN108768412B (en) Low-delay Viterbi decoding method and system
US6690737B1 (en) Device and method for determining maximum likelihood state in a decoding device
KR100262303B1 (en) Survivor path trace back method in decoding with viterbi algorithm and apparatus thereof
KR100564757B1 (en) Low power Viterbi decoder and trace-back method
KR100491016B1 (en) Trace-Back Viterbi Decoder with Consecutive Control of Backward State Transition and Method thereof
Chandel et al. Viterbi decoder plain sailing design for TCM decoders

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