CN101286817A - General decoding method for conventional binary and double-binary Turbo code - Google Patents
General decoding method for conventional binary and double-binary Turbo code Download PDFInfo
- Publication number
- CN101286817A CN101286817A CNA2008100603215A CN200810060321A CN101286817A CN 101286817 A CN101286817 A CN 101286817A CN A2008100603215 A CNA2008100603215 A CN A2008100603215A CN 200810060321 A CN200810060321 A CN 200810060321A CN 101286817 A CN101286817 A CN 101286817A
- Authority
- CN
- China
- Prior art keywords
- external information
- app
- prime
- turbo code
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 238000005259 measurement Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 abstract description 26
- 238000003860 storage Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000012467 final product Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- URWAJWIAIPFPJE-YFMIWBNJSA-N sisomycin Chemical compound O1C[C@@](O)(C)[C@H](NC)[C@@H](O)[C@H]1O[C@@H]1[C@@H](O)[C@H](O[C@@H]2[C@@H](CC=C(CN)O2)N)[C@@H](N)C[C@H]1N URWAJWIAIPFPJE-YFMIWBNJSA-N 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
The invention relates to a general decoding method applied to traditional binary Turbo codes and duobinary Turbo codes. At present, no Turbo code decoding device can decode traditional binary Turbo codes as well as duobinary Turbo codes. The general decoding method for Turbo codes provided by the invention adopts enhanced Max-Log-MAP algorithm, makes use of Max-Sum semiring property in the generalized distribution law and combines and simplifies measure and calculation of forward and backward status of traditional binary Turbo codes, which means combining grid graph of traditional binary Turbo codes in nature to ensure that the status measure and calculation of the traditional binary Turbo codes have the same calculation expression way with that of the duobinary Turbo codes so that a general decoding device can both decode the traditional binary Turbo codes and duobinary Turbo codes. The method of the invention gives full consideration to the four indexes, namely, good generality, decoding performance, decoding complexity and resource occupation.
Description
Technical field
What the present invention relates to is a kind of decoding scheme that is used for communication technical field, is a kind of traditional binary Turbo code and duobinary system Turbo code general decoding method of being applied to specifically.
Background technology
Founder's Shannon of modern digital communication was just pointed out in channel coding theorem as far back as 1948, as long as the code length of random coded is enough big, just can infinitely approaches the communication of channel capacity C and make error probability arbitrarily small.But Shannon has just proved the existence of the coding limit theoretically, does not but construct a kind of coding and decoding structure and approaches this limit.After Shannon, the sign indicating number of many excellent performances occurs in succession, BCH code, RS sign indicating number and convolution code etc., and they can both obtain good performance, but limit with the performance that Shannon proposes, and also have many gaps.
Up to the discovery of Turbo code, just make channel coding theorem step major step approaching on the road of shannon limit.1993, Berrou, Glavieux and Thitimajshima proposed Turbo code first in the meeting of ICC, realized the coding of big constraint length by the pseudo random interleaving to subcode, adopted soft inputting and soft output iterative decoding to approach maximum-likelihood decoding.Simulation result shows, is under the awgn channel condition of 0.7dB in signal to noise ratio, adopts (21,37) recursive systematic convolutional code as component code, interleave depth 65536, and the error rate drops to 10 after the iteration 18 times
-5Below, only have only 0.7dB from shannon limit.
Berrou had proposed the duobinary system Turbo code in 1996, compared with the traditional binary Turbo code, and the duobinary system Turbo code has the following advantages: interleave depth is half of classical Turbo code, and decoding delay reduces; Interweaving by intersymbol increases minimum free distance, eliminates the error code flat bed; Under the identical complexity decoder, the error-correcting performance of duobinary system Turbo code is better than traditional Turbo code; Code check is deleted surplus performance impact for the duobinary system Turbo code less than traditional Turbo code; Adopt the circulation recursive systematic convolutional code to do subcode, it does not need " ending bit " just can make each frame have identical initial condition and state of termination.Because its outstanding performance, the duobinary system Turbo code has been widely used in the standard of a lot of radio communications at present, has all adopted the duobinary system Turbo code as WiMAX (IEEE 802.16) and European satellite network standard (DVB-RCS).
From the decoding algorithm angle, the Turbo code decoding algorithm is divided into two classes: a class is to be developed and next SOVA algorithm by the Viterbi algorithm, one class is based on the MAP algorithm of posterior probability, and by extended Log-MAP algorithm of MAP algorithm and correction Max-Log-MAP algorithm.The algorithm decoding performance of Log-MAP is relatively good, but needs a large amount of exponential sum logarithms to calculate the complexity height; And the Max-Log-MAP algorithm substitutes logarithm operation with addition and maximizing fully, and complexity is low, helps the realization on the hardware.From the way of output, duobinary decoding can be divided into again based on symbol with based on the decoded mode of the posterior probability log-likelihood ratio of bit.
The duobinary system Turbo code is compared with traditional binary system Turbo code a lot of outstanding performances, but the Turbo code that at present a lot of communication standards adopt still is the traditional binary Turbo code, what communication protocol that some are newer such as 3GPP-LTE, UMB etc. also adopted is the traditional binary Turbo code.And present Turbo code decoder all is special-purpose Turbo code decoder, can either not decipher the traditional binary Turbo code for one, also can be to the Turbo code decoder of duobinary system Turbo code decoding.
Figure 1 shows that the Log-MAP algorithm forward state metric α of traditional binary Turbo code
k(s) basic module ACSO (Add-Compare-Select-Offset) structure of recursion calculating.The forward recursion α of duobinary system Turbo code
k(s) basic structure owing to be that four numbers are got peaked structure, therefore can add that a CSO module forms by two ACSO modules as shown in Figure 2.Traditional binary Turbo code and the most basic recursion construction module of duobinary system Turbo code can't be shared as can be seen by Fig. 1 and 2.This is the principal element of the general Turbo code design of encoder of restriction.
Summary of the invention
The object of the present invention is to provide a kind of general configurable Turbo code interpretation method, make decoder both can decipher to the traditional binary Turbo code, also can decipher simultaneously, and general configurable Turbo code code translator when deciphering traditional Turbo code, special-purpose Turbo code decoder can reduce by one times of time delay the duobinary system Turbo code.
The Turbo code general decoding method that the present invention proposes adopts the Max-log-MAP algorithm of enhancement mode, approaches the Log-MAP algorithm on its performance, but has saved correction function when computing mode is measured, and has simplified decoding algorithm, has reduced the time delay of decoding.
The Turbo code general decoding method that the present invention proposes utilizes the Max-Sum semi-ring character in the broad sense apportionment ratio, forward direction and back to the traditional binary Turbo code merge simplification to state metric calculation, from just the grid chart of traditional binary Turbo code being merged in essence, make the state measurement of traditional binary Turbo code have the calculation expression the same, thereby general decoding method all can be realized to traditional binary Turbo code and duobinary system Turbo code with the duobinary system Turbo code.
In the enhancement mode Max-Log-MAP algorithm forward direction and the back to the state measurement recurrence formula as shown in the formula shown in (1) and the formula (2):
Definition "+" is
, " max " is
, the max-sum computing is an exchange semi-loop so, uses
Represent
Come rewriting formula (1) with symbol defined above, then obtain formula (3), wherein M is the coder state number:
According to formula (3) forward recursion of Turbo code is converted into the matrix-vector product form:
Wherein, forward state metric vector A
kFor:
A
k=(α
k(0),α
k(1),…,α
k(M-1))
T (5)
M * M rank matrix-vector Г
kAll branched measurement value γ have been comprised
k(s ', s), multiplication identical element Q=0 represents that branch metric is 0 γ
k(s ', s), matrix-vector Г
kThe corresponding branch metric of the same state s of k constantly of row vector, the corresponding branch metric of the same state s ' of k-1 constantly of column vector.The branch metric matrix of a four condition encoder is
Because backward recursion computing formula and forward recursion computing formula are similar, equally also represent with the form of matrix-vector product:
Wherein, the back is to state measurement vector B
kFor:
B
k=(β
k(0),β
k(1),…,β
k(M-1))
T (8)
The method for expressing of matrix-vector product makes us all computings of semi-ring can be used for the reckoning of forward recursion and backward recursion, finally merges grid chart.
Can represent with the form of the matrix-vector product of recurrence because forward direction and backward recursion calculate, therefore formula (9) is updated in the formula (10) and can obtain formula (11):
That is to say only needs to merge the branch metric matrix, and just two step forward recursion can be merged becomes the single step forward recursion.Definition
Each element is in the single step forward recursion metric matrix after the merging:
More generally, following formula can be expanded to and L is gone on foot forward recursion merge into the single step recursion:
Wherein L goes on foot the branch metric matrix
LГ
k(L 〉=2) are defined as:
By the matrix-vector multiplication on the Max-Sum semi-ring, L is gone on foot forward recursion merge into the single step forward recursion, can be by all branch metrics on asking from k moment state s to k+L moment state s ' mesh wiring
LГ
k(s ', s) and α
k(s) maximum of sum is calculated α
K+L(s ').
General Turbo code interpretation method and device that the present invention proposes have following steps:
Step (1) is with the Input Data Buffer that stores into of the sequence order that receives, and the capacity of Input Data Buffer is two frames, when carrying out frame coding operation, receives the next frame data;
Step (2) control module control address generator produces sequence address, first subcode information position and the check digit sequence that receive in the input data buffer zone are read in the component decoder address in order, simultaneously with the external information in the external information memory also in order the address read in the component decoder, the external information initial value in the external information memory is 0;
Step (3-1) component decoder through type (1) calculates the branch metric of first component code;
Wherein m=2 represents the quantity of information bit, and w=2 represents the quantity of check digit, x
KlExpression information bit and check digit, span be+1 ,-1}, L
a(AB) expression prior information; Four symbol prior informations of duobinary system Turbo code L
a(AB) calculate by formula (2):
L
a(00)=0
L
a(01)=L
e(01) (2)
L
a(10)=L
e(10)
L
a(11)=L
e(11)
And four bit prior informations of traditional binary Turbo code L
a(AB) calculate by formula (3):
L
a(00)=0
L
a(01)=L
e(B)=L
e(10) (3)
L
a(10)=L
e(A)=L
e(01)
L
a(11)=L
e(A)+L
e(B)=L
e(01)+L
e(10)
L wherein
e(u
k) be the external information that the component decoder receives, realize the switching that traditional binary and duobinary system Turbo code prior information are calculated by control module;
Step (3-2) component decoder through type (4) calculates forward state metric, and the mould normalized is adopted to state in the back;
Step (3-3) component decoder through type (5) calculates the back to state measurement, and adopts the mould normalized; To the metric calculation module, in the time of one of them output valid data, another carries out the calculating of pre-thermal window after adopting two simultaneously;
Step (3-4) component decoder through type (6), (7) compute sign external information, the bit external information is calculated in through type (6), (8); For the duobinary system Turbo code, the is-symbol external information of transmitting, and for the traditional binary Turbo code, what transmit is the bit external information, and each two bit external informations or three shared three data lines of outer symbol information of transmitting are selected bit external information and outer symbol information by two data selectors;
APP
e(u
k=i) expression u
k=i, i ∈ 00,01,10, the probability likelihood ratio of the external information of 11} correspondence;
L
e(u
k=00)=0
L
e(u
k=01)=APP
e(u
k=01)-APP
e(u
k=00) (7)
L
e(u
k=10)=APP
e(u
k=10)-APP
e(u
k=00)
L
e(u
k=11)=APP
e(u
k=11)-APP
e(u
k=00)
L
e(A)=max(APP
e(u
k=10),APP
e(u
k=11))
-max(APP
e(u
k=00),APP
e(u
k=01)) (8)
L
e(B)=max(APP
e(u
k=01),APP
e(u
k=11))
-max(APP
e(u
k=00),APP
e(u
k=10))
Step (4) control module control address generator produces sequence address, and three external information values that step (3-4) is calculated store in the external information memory address in order;
Step (5) control module control address generator produces interleaving address, second subcode information bit and check digit sequence that input is received in the data buffer zone read in the component decoder according to interleaving address, simultaneously the external information in the external information memory are read into the component decoder according to interleaving address;
The branch metric of second component code of step (6) component decoder calculating, forward state metric, back are to state measurement and external information, and concrete grammar and step are with (3-1)~(3-4) identical;
Step (7) control module control address generator produces interleaving address, and three external information values that step (6) is calculated store in the external information memory according to interleaving address, and method is identical with step (5), and once complete iterative decoding finishes;
The bit external information that step (8) component decoder calculates according to step (6) is carried out the iterative decoding arrest of judgement, if do not satisfy the iterative decoding stopping criterion, forwards step (9) to; Otherwise, forward step (10) to; Described iterative decoding stopping criterion is based on the judgement of bit external information;
Step (9) is judged the maximum iteration time whether current iterations equals to preset, if then forward step (10) to, otherwise, then forward step (1) to;
Step (10) is calculated three symbol posterior probability likelihood ratios according to formula (9), will 0, LLR (u
k=1), LLR (u
k=2), LLR (u
k=3) u of maximum posterior probability likelihood ratio correspondence }
kAs decoding output, wherein that 0 correspondence is u
k=0; Control module control address generator produces interleaving address, will decipher the u of coming out
kSequence is written in the output buffer according to interleaving address;
Step (11) control module control address generator produces sequence address, with the address output in order of the information sequence in the output buffer.
The present invention proposes a kind of general configurable Turbo code decoding scheme that is applicable to traditional binary Turbo code and the decoding of duobinary system Turbo code, well taken into account four indexs of versatility, decoding performance, decoding complexity and resource occupation.
Description of drawings
Fig. 1 is a traditional binary Turbo code decoder forward recursion modular structure;
Fig. 2 is a duobinary system Turbo code decoder forward recursion modular structure;
Fig. 3 is the grid chart of (13,15) component code;
Fig. 4 is the grid chart after merging in two steps of (13,15) component code;
Fig. 5 is general Turbo code decoder The general frame;
Fig. 6 is the component code decoder architecture block diagram in the general Turbo code decoder;
Fig. 7 is the input buffer write operation schematic diagram of general Turbo code decoder;
Fig. 8 is the input buffer read operation schematic diagram of general Turbo code decoder;
Fig. 9 is the branch metric calculation modular structure block diagram in the general Turbo code decoder;
Figure 10 is the state metric calculation modular structure block diagram in the general Turbo code decoder;
Figure 11 is the external information computing module structured flowchart in the general Turbo code decoder;
Figure 12 is general Turbo code decoder external information RAM reading and writing structure chart;
Figure 13 for grid chart merge before and after the error rate of Log-MAP and enhancement mode MAX-Log-MAP algorithm (simulated environment: frame length is 1504,3GPP (15,13) component code encoder, code check 1/2, awgn channel, QPSK modulation, greatest iteration decoding number of times is 8 times, adopts the interleaver of 3GPP standard);
Figure 14 is four tunnel parallel real-time interleaver structure charts of general Turbo code decoder.
Embodiment
The general Turbo code interpretation method that the present invention proposes adopts the Max-log-MAP algorithm of enhancement mode, adopt two step forward directions, backward recursion to calculate to traditional Turbo code decoding and merge into single step forward direction, backward recursion calculating, be about to the state transitions merging of the step of two in traditional Turbo code grid chart and become a step state transitions, make traditional Turbo code and duobinary system Turbo code have identical grid chart structure, thus can be simultaneously to duobinary system and the decoding of traditional binary Turbo code.Traditional Turbo code encoder grid figure of one 8 state as shown in Figure 3, the traditional Turbo code encoder grid figure after merging through grid chart is as shown in Figure 4.
Among the present invention general configurable Turbo code code translator structure as shown in Figure 5, it is by Input Data Buffer, the component code decoder, the external information memory RAM, output data buffer, address generator, controller is formed.In order to reduce resource occupation, reduce energy loss, only use one-component code decoder module.What dotted line was represented among Fig. 5 is the address.General Turbo code code translator adopts corresponding configuration according to different Turbo codes, therefore increases some gating modules and carry out the allotment of intermodule on duobinary system Turbo code code translator.For the duobinary system Turbo code, do not have too big increase on the resource.With respect to the traditional binary Turbo code, have a certain amount of increase on the resource, but, therefore on the memory space that takies the main resource of Turbo code decoder, do not have great increase owing to adopt same sliding window algorithm.Trace increase on the SISO operand and the increase on the control module are compared with the big memory space of Turbo code, almost can ignore.The Resources Consumption of grid chart folding increase has also been brought very big benefit concerning the traditional binary Turbo code in addition.Merge by grid chart, make two bits decipher simultaneously, greatly reduce decoding delay.Increase certain resource, obtain the reduction of decoding delay.
Component decoder in the general Turbo code code translator is a part the most complicated, core, and what its adopted is the sliding window mode, based on the enhancement mode Max-Log-MAP decoding algorithm of symbol, stops iteration decision rule based on bit.The code translator structure as shown in Figure 6, the component code decoder is by the branch metric calculation module, the state metric calculation module, the external information computing module, judgement output judging module, RAM and selector are formed.
General Turbo code interpretation method and device that the present invention proposes have following steps:
Step (1): with the data buffer that stores into of the sequence order that receives.
In order to reduce time delay, the capacity of Input Data Buffer should be designed to the size of two frames, when carrying out frame coding operation, receives the next frame data.
Step (2): control module control address generator produces sequence address, first subcode information position and check digit sequence that input is received in the data buffer zone read in the component decoder address in order, simultaneously with the external information in the external information memory also in order the address read into (the external information initial value in the external information memory is 0) in the component decoder.
For the decoding of traditional binary Turbo code, the read and write operation of input buffer is at each bit, and for the decoding of duobinary system Turbo code, the read and write of input and output buffer operation is at each symbol.The write operation storage principle of input buffer as shown in Figure 7, the read operation principle is as shown in Figure 8.
Step (3-1): the component decoder calculates the branch metric of first component code.
Since the enhancement mode Max-Log-MAP decoding algorithm that decoder adopts, branch metric γ
k(s ', s) be expressed as:
Wherein m=2 represents the quantity of information bit, and w=2 represents the quantity of check digit, x
KlCorresponding to information bit and check digit, span be+1 ,-1}, L
a(AB) Dai Biao is-symbol prior information.
Four symbol prior informations of duobinary system Turbo code L
a(AB) calculate by following formula:
L
a(00)=0
L
a(01)=L
e(01)
L
a(10)=L
e(10)
L
a(11)=L
e(11)
And to the traditional binary Turbo code, the external information transmission be two bit external information L
e(A) and L
eSo four symbol prior informations of traditional binary Turbo code L (B),
a(AB) calculate by following formula:
L
a(00)=0
L
a(01)=L
e(B)=L
e(10)
L
a(10)=L
e(A)=L
e(01)
L
a(11)=L
e(A)+L
e(B)=L
e(01)+L
e(10)
L wherein
e(u
k) be the external information that the component decoder receives, realize the switching that traditional binary and duobinary system Turbo code prior information are calculated by control module;
For each moment k branch metric γ
k(s ', s) there are 32, two registers need 64 memory space stores branch tolerance altogether.Examine and to find γ
k s(s ', s) have only 4 kinds of possible values for two component code decoders, relevant with information symbol.And γ
k e(s ', s) also have only 4 kinds of possible values for each component code decoder, relevant with check digit, two component code decoders just have only 8 kinds of possible values.If therefore only store γ at each moment k
k s(s ', s) and γ
k e(s ', s) just only need 12 memory spaces to get final product, this will save more space than direct stores branch tolerance.
To γ
k s(s ', s) and γ
k e(s ', need calculate in real time according to grid chart when s) selecting.In fact, we only need to calculate a relative γ
k s(s ', s) and γ
k e(s ', s):
Therefore for two component code decoder γ
k s(s ', s) only need 3 numerical value of storage, γ
k e(s ', s) only need 6 numerical value of storage to get final product.The computing module structure as shown in Figure 9.Represented the joint account of traditional binary Turbo code in the frame of broken lines.Can realize the switching of traditional binary and duobinary system Turbo code by the options of control module change selector.
Step (3-2): the component decoder calculates the forward state metric of first component code.
According to the forward state metric calculation formula, can release:
The forward state metric calculation module is the recursion structure just, and the forward state metric structure as shown in figure 10.Because what general decoder all adopted is the grid chart of 8 states, so is one 8 on the output state tolerance bus and selects 1 selector.Thick line among the figure represents it is one group of data, selects correspondingly data to be input among the ACS according to selector and goes.Each basic module can be finished in a clock cycle among Figure 10, reduces decoding delay greatly.The input of each ACS all is three inputs among the figure, and corresponding addition is exactly a three-input adder.Forward state metric calculation adopts the mould normalized.
Step (3-3): the component decoder calculates the back to state measurement of first component code.
β
k(s) structure and α
k(s) similar substantially, but, as shown in Figure 6, two β are arranged because what adopt is the sliding window algorithm
k(s) computing module, one of them β
kWhen (s) exporting valid data, another β
k(s) computing module carries out the calculating of pre-thermal window, reduces the wait of pre-thermal window like this by the mode that increases module, reduces time-delay.By the mould normalized, can omit the normalization module, simplify the calculating of state measurement, the calculating of acceleration mode tolerance.
Step (3-4): the component decoder calculates the outer symbol information and the bit external information of first component code respectively by following three formulas:
APP
e(u
k=i) expression u
kI, i ∈ 00,01,10, the probability likelihood ratio of the external information of 11} correspondence;
L
e(u
k=00)=0
L
e(u
k=01)=APP
e(u
k=01)-APP
e(u
k=00)
L
e(u
k=10)=APP
e(u
k=10)-APP
e(u
k=00)
L
e(u
k=11)=APP
e(u
k=11)-APP
e(u
k=00)
L
e(A)=max(APP
e(u
k=10),APP
e(u
k=11))
-max(APP
e(u
k=00),APP
e(u
k=01))
L
e(B)=max(APP
e(u
k=01),APP
e(u
k=11))
-max(APP
e(u
k=00),APP
e(u
k=10))
For the duobinary system Turbo code, the is-symbol external information of transmitting, and for the traditional binary Turbo code, what transmit is the bit external information, and each two bit external informations or three shared three data lines of outer symbol information of transmitting are selected bit external information and outer symbol information by two data selectors.
External information L
e(u
k=i) computing module structure as shown in figure 11.Wherein on behalf of the extra bit external information of traditional binary Turbo code, the empty frame in the right calculate.And we only need get final product by transmitting three external informations after the simple subtraction for the duobinary system Turbo code.The empty frame table on the left side shows the computing module of external information probability, and is similar in input mode and the state measurement, adopts selector to select input.Owing to adopt enhancement mode Max-Log-MAP algorithm, therefore Fig. 6 can see external information the output termination multiply by the process of verification factor sf.Sf gets 0.75 in the reality, only need be shifted and can realize from adding by displacement.No matter last point is owing to be to decipher to the traditional binary Turbo code or to the duobinary system Turbo code, the external information transmission all is public three data wires, therefore also needs two data selectors that bit external information and outer symbol information are selected.
Step (4): control module control address generator produces sequence address, and three external information values that step (3-4) is calculated store in the external information memory address in order.
The external information memory as shown in figure 12.For the decoding of traditional Turbo code, owing to interweave and deinterleaving is not that each symbol after merging at grid carries out, but carry out, so external information RAM storage is the external information of bit at each bit.No longer distinguishing among the external information RAM is A bit or B bit, and two bit external informations promptly deciphering out simultaneously in external information RAM are not carried out the cluster storage.What subscript was represented is that the bit external information is stored in the position among the external information RAM.Same when from external information RAM, reading the bit external information when, once from RAM, read two bit external informations according to two bit addresses of interleaver generation; For duobinary system Turbo code decoding because interweave and deinterleaving at each symbol, so is-symbol external information of external information RAM storage.Three outer symbol information of each symbol are the cluster storages.What subscript was represented is the relative position of this symbol in external information RAM.Same when from external information RAM, reading outer symbol information when, read three outer symbol information according to a symbolic address of interleaver generation is once continuous from RAM.Two bit external informations or three outer symbol information of being noted that each transmission at last are shared three data lines, need controller that the data that write or read are selected before the storage.
Step (5): control module control address generator produces interleaving address, second subcode information bit and check digit sequence that input is received in the data buffer zone read in the component decoder according to interleaving address, simultaneously the external information in the external information memory are also read in the component decoder according to interleaving address.
Step (6-1): the component decoder calculates the branch metric of second component code.
Step (6-2): the component decoder calculates the forward state metric of second component code.
Step (6.3): the component decoder calculates the back to state measurement of second component code.
Step (6-4): the component decoder calculates the symbol and the bit external information of second component code.
The method of step (6-1)~(6-4) is the same with step with (3-1)~(3-4).
Step (7): control module control address generator produces interleaving address, and step (6-4) is stored in the external information memory according to interleaving address through three external information values after selecting.In the same step of its method (5) is the same.This moment, once complete iterative decoding finished.
Step (8): the bit external information that the component decoder calculates according to step (6-4) is carried out the iteration stopping judgement.Because in step (6-4), no matter be duobinary system or traditional binary Turbo code, all calculated their bit external information, so the iteration stopping criterion adopt based on bit the arrest of judgement method.If stopping criterion does not satisfy, forward step (9) to; Otherwise stop iteration, forward step (10) to.
Step (9): judge the maximum iteration time whether current iterations equals to preset, if then forward step (10) to; Otherwise, then forward step (1) to.
Step (10) is calculated three symbol posterior probability likelihood ratios according to following formula, will 0, LLR (u
k=1), LLR (u
k=2), LLR (u
k=3) u of maximum posterior probability likelihood ratio correspondence }
kAs decoding output, wherein that 0 correspondence is u
k=0; Control module control address generator produces interleaving address, will decipher the u of coming out
kSequence is written in the output buffer according to interleaving address;
Step (11): control module control address generator produces sequence address, with the address output in order of the information sequence in the output buffer.
With existing hardware technology, the floating-point of Turbo code decoding realizes it being almost impossible, therefore adopts fixed-point calculation here.Find by emulation, adopt the decoding architecture of duobinary system Turbo code, input The data 5bit quantizes, and branch metric adopts 8bit, state measurement adopts 9bit, and the fixed point under the external information employing 8bit quantification quantizes can obtain the performance of approaching and floating-point emulation.
Here providing a traditional binary Turbo code analogous diagram and an experimental result that is suitable for the general decoding method of the present invention's proposition compares.Figure 13 is a frame length 1504,3GPP (15,13) component code encoder, the error rate of Log-MAP and enhancement mode MAX-Log-MAP algorithm before and after traditional Turbo code grid chart of code check 1/2 merges, simulated environment adopts awgn channel, the QPSK modulation, and greatest iteration decoding number of times is 8 times, the interleaver of 3GPP standard, the structure chart of interleaver as shown in figure 14.
As shown in figure 13 when low signal-to-noise ratio, under the Log-MAP algorithm, the performance that two steps merged is than the decreased performance of nonjoinder 0.04dB only, and enhancement mode MAX-Log-MAP algorithm, decreased performance is still less.And in the high s/n ratio zone, the performance under four kinds of conditions does not almost have difference.What the reason of decreased performance was that above-mentioned derivation uses is the max-sum semi-ring, does not add correction term.Tradition Turbo code complexity is more as shown in table 1.
In sum, based on symbol and based on the bit stopping criterion increasing under the few situation of resource, can both obtain well to stop effect.
The realization result relatively
Operand relatively before and after table 1 grid chart merged
Turbo code after traditional binary Turbo code grid chart merges
Add operation comparison operation add operation comparison operation
γ
k(s’,s) 10 0 26 0
α
k(s) 32 16 32 24
β
k(s) 32 16 32 24
L(u
k) 66 28 66 32
Once decipher two bits because grid chart merges, therefore reasonably manner of comparison is that the operand of two bits of traditional binary Turbo code is added up, and the operand after merging with grid chart more relatively.Table 1 is per two the bit operands statistics of following each the component decoder of two kinds of methods of 8 states.
The basic module of traditional binary Turbo code state measurement only needs an ACSO module, and the basic module of the traditional binary Turbo code state measurement after the grid chart merging equally needs two ACSO modules to add a CSO module with duobinary system Turbo, so the resource of SISO computing module has increased by one times.And as can be seen from Table 1, in fact, from the operand angle, the operand increase seldom before and after grid chart merged.
Claims (1)
1, traditional binary and duobinary system Turbo code general decoding method is characterized in that the concrete steps of this method comprise:
Step (1) is with the Input Data Buffer that stores into of the sequence order that receives, and the capacity of Input Data Buffer is two frames, when carrying out frame coding operation, receives the next frame data;
Step (2) control module control address generator produces sequence address, first subcode information position and the check digit sequence that receive in the input data buffer zone are read in the component decoder address in order, simultaneously with the external information in the external information memory also in order the address read in the component decoder, the external information initial value in the external information memory is 0;
Step (3-1) component decoder through type (1) calculates the branch metric of first component code;
Wherein m=2 represents the quantity of information bit, and w=2 represents the quantity of check digit, x
KlExpression information bit and check digit, span be+1 ,-1}, L
a(AB) expression prior information; Four symbol prior informations of duobinary system Turbo code L
a(AB) calculate by formula (2):
L
a(00)=0
L
a(01)=L
e(01) (2)
L
a(10)=L
e(10)
L
a(11)=L
e(11)
And four bit prior informations of traditional binary Turbo code L
a(AB) calculate by formula (3):
L
a(00)=0
L
a(01)=L
e(B)=L
e(10) (3)
L
a(10)=L
e(A)=L
e(01)
L
a(11)=L
e(A)+L
e(B)=L
e(01)+L
e(10)
L wherein
e(u
k) be the external information that the component decoder receives, realize the switching that traditional binary and duobinary system Turbo code prior information are calculated by control module;
Step (3-2) component decoder through type (4) calculates forward state metric, and the mould normalized is adopted to state in the back;
Step (3-3) component decoder through type (5) calculates the back to state measurement, and adopts the mould normalized; To the metric calculation module, in the time of one of them output valid data, another carries out the calculating of pre-thermal window after adopting two simultaneously;
Step (3-4) component decoder through type (6), (7) compute sign external information, the bit external information is calculated in through type (6), (8); For the duobinary system Turbo code, the is-symbol external information of transmitting, and for the traditional binary Turbo code, what transmit is the bit external information, and each two bit external informations or three shared three data lines of outer symbol information of transmitting are selected bit external information and outer symbol information by two data selectors;
APP
e(u
k=i) expression u
k=i, i ∈ 00,01,10, the probability likelihood ratio of the external information of 11} correspondence;
L
e(u
k=00)=0
L
e(u
k=01)=APP
e(u
k=01)-APP
e(u
k=00) (7)
L
e(u
k=10)=APP
e(u
k=10)-APP
e(u
k=00)
L
e(u
k=11)=APP
e(u
k=11)-APP
e(u
k=00)
L
e(A)=max(APP
e(u
k=10),APP
e(u
k=11))
-max(APP
e(u
k=00),APP
e(u
k=01)) (8)
L
e(B)=max(APP
e(u
k=01),APP
e(u
k=11))
-max(APP
e(u
k=00),APP
e(u
k=10))
Step (4) control module control address generator produces sequence address, and three external information values that step (3-4) is calculated store in the external information memory address in order;
Step (5) control module control address generator produces interleaving address, second subcode information bit and check digit sequence that input is received in the data buffer zone read in the component decoder according to interleaving address, simultaneously the external information in the external information memory are read into the component decoder according to interleaving address;
The branch metric of second component code of step (6) component decoder calculating, forward state metric, back are to state measurement and external information, and concrete grammar and step are with (3-1)~(3-4) identical;
Step (7) control module control address generator produces interleaving address, and step (6) is stored in the external information memory according to interleaving address through three external information values after selecting, and method is identical with step (5), and once complete iterative decoding finishes;
The bit external information that step (8) component decoder calculates according to step (6) is carried out the iterative decoding arrest of judgement, if do not satisfy the iterative decoding stopping criterion, forwards step (9) to; Otherwise, forward step (10) to; Described iterative decoding stopping criterion is based on the judgement of bit external information;
Step (9) is judged the maximum iteration time whether current iterations equals to preset, if then forward step (10) to, otherwise, then forward step (1) to;
Step (10) is calculated three symbol posterior probability likelihood ratios according to formula (9), will 0,
LLR (u
k=1), LLR (u
k=2), LLR (u
k=3) u of maximum posterior probability likelihood ratio correspondence }
kAs decoding output, wherein that 0 correspondence is u
k=0; Control module control address generator produces interleaving address, will decipher the u of coming out
kSequence is written in the output buffer according to interleaving address;
Step (11) control module control address generator produces sequence address, with the address output in order of the information sequence in the output buffer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100603215A CN101286817B (en) | 2008-04-03 | 2008-04-03 | General decoding method for conventional binary and double-binary Turbo code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100603215A CN101286817B (en) | 2008-04-03 | 2008-04-03 | General decoding method for conventional binary and double-binary Turbo code |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101286817A true CN101286817A (en) | 2008-10-15 |
CN101286817B CN101286817B (en) | 2011-07-20 |
Family
ID=40058805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100603215A Expired - Fee Related CN101286817B (en) | 2008-04-03 | 2008-04-03 | General decoding method for conventional binary and double-binary Turbo code |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101286817B (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523076A (en) * | 2012-01-04 | 2012-06-27 | 西安电子科技大学 | Universal and configurable high-speed Turbo code decoding system and method thereof |
CN102594507A (en) * | 2012-02-24 | 2012-07-18 | 缪蔚 | High-speed parallel Turbo decoding method and system in software radio system |
CN101777926B (en) * | 2010-01-12 | 2014-04-16 | 浙江大学 | General decoder of Turbo product code and method thereof |
CN105515591A (en) * | 2014-09-23 | 2016-04-20 | 中国科学院计算技术研究所 | Turbo code decoding system and method |
CN107147401A (en) * | 2017-03-31 | 2017-09-08 | 西安电子科技大学 | Based on the interpretation method for simplifying dual binary turbo code metric |
CN111211792A (en) * | 2018-11-22 | 2020-05-29 | 北京松果电子有限公司 | Turbo decoding method, device and system |
CN112202456A (en) * | 2020-10-24 | 2021-01-08 | 青岛鼎信通讯股份有限公司 | Turbo decoding method for broadband power line carrier communication |
CN113114278A (en) * | 2021-03-07 | 2021-07-13 | 西安电子科技大学 | Duobinary Turbo decoding implementation method, system, equipment and application |
CN113258937A (en) * | 2021-06-08 | 2021-08-13 | 上海矽久微电子有限公司 | Component decoder, extrinsic information storage unit, and Turbo code decoder |
CN113644919A (en) * | 2021-08-11 | 2021-11-12 | 成都中科微信息技术研究院有限公司 | Method for improving Turbo decoding performance in DVB-RCS2 and decoding structure |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104779962B (en) * | 2015-04-02 | 2018-03-02 | 西安交通大学 | The minimum segment vectors of Max Log MAP decoding algorithm complexities efficiently produce method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1209885C (en) * | 2003-06-18 | 2005-07-06 | 中国人民解放军理工大学通信工程学院 | Method and device of iterative demodulation and decode for BPSK modulating system by Turbo encoding |
CN101026439B (en) * | 2007-02-07 | 2012-08-29 | 重庆重邮信科通信技术有限公司 | Decoding method for increasing Turbo code decoding rate |
-
2008
- 2008-04-03 CN CN2008100603215A patent/CN101286817B/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777926B (en) * | 2010-01-12 | 2014-04-16 | 浙江大学 | General decoder of Turbo product code and method thereof |
CN102523076A (en) * | 2012-01-04 | 2012-06-27 | 西安电子科技大学 | Universal and configurable high-speed Turbo code decoding system and method thereof |
CN102523076B (en) * | 2012-01-04 | 2014-05-14 | 西安电子科技大学 | Universal and configurable high-speed Turbo code decoding method |
CN102594507A (en) * | 2012-02-24 | 2012-07-18 | 缪蔚 | High-speed parallel Turbo decoding method and system in software radio system |
CN102594507B (en) * | 2012-02-24 | 2015-09-23 | 因诺微科技(天津)有限公司 | High-speed parallel Turbo interpretation method in a kind of software radio system and system |
CN105515591B (en) * | 2014-09-23 | 2019-10-25 | 中国科学院计算技术研究所 | A kind of Turbo code decoding system and method |
CN105515591A (en) * | 2014-09-23 | 2016-04-20 | 中国科学院计算技术研究所 | Turbo code decoding system and method |
CN107147401A (en) * | 2017-03-31 | 2017-09-08 | 西安电子科技大学 | Based on the interpretation method for simplifying dual binary turbo code metric |
CN107147401B (en) * | 2017-03-31 | 2019-06-21 | 西安电子科技大学 | Based on the interpretation method for simplifying dual binary turbo code metric |
CN111211792A (en) * | 2018-11-22 | 2020-05-29 | 北京松果电子有限公司 | Turbo decoding method, device and system |
CN112202456A (en) * | 2020-10-24 | 2021-01-08 | 青岛鼎信通讯股份有限公司 | Turbo decoding method for broadband power line carrier communication |
CN113114278A (en) * | 2021-03-07 | 2021-07-13 | 西安电子科技大学 | Duobinary Turbo decoding implementation method, system, equipment and application |
CN113114278B (en) * | 2021-03-07 | 2023-03-14 | 西安电子科技大学 | Duobinary Turbo decoding implementation method, system, equipment and application |
CN113258937A (en) * | 2021-06-08 | 2021-08-13 | 上海矽久微电子有限公司 | Component decoder, extrinsic information storage unit, and Turbo code decoder |
CN113258937B (en) * | 2021-06-08 | 2022-02-01 | 上海矽久微电子有限公司 | Component decoder, extrinsic information storage unit, and Turbo code decoder |
CN113644919A (en) * | 2021-08-11 | 2021-11-12 | 成都中科微信息技术研究院有限公司 | Method for improving Turbo decoding performance in DVB-RCS2 and decoding structure |
CN113644919B (en) * | 2021-08-11 | 2024-04-16 | 成都中科微信息技术研究院有限公司 | Method for improving Turbo decoding performance in DVB-RCS2 and decoding structure |
Also Published As
Publication number | Publication date |
---|---|
CN101286817B (en) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101286817B (en) | General decoding method for conventional binary and double-binary Turbo code | |
US7441174B2 (en) | Embedded state metric storage for MAP decoder of turbo codes | |
CN101777924B (en) | Method and device for decoding Turbo codes | |
US9048877B2 (en) | Turbo code parallel interleaver and parallel interleaving method thereof | |
CN102111162B (en) | Turbo component decoding method, component decoder, branch calculator and Turbo decoder | |
CN105634508B (en) | A kind of implementation method of the Turbo decoder of the nearly performance limit of low complex degree | |
CN101373978B (en) | Method and apparatus for decoding Turbo code | |
CN104092470B (en) | A kind of Turbo code code translator and method | |
US7584389B2 (en) | Turbo decoding apparatus and method | |
CN103354483A (en) | General high-performance Radix-4SOVA decoder and decoding method | |
CN102404011B (en) | Method and device for achieving Viterbi decoding | |
WO2012146124A1 (en) | Turbo decoding method and device | |
CN102835062B (en) | Initializing decoding metrics | |
CN102739261B (en) | Multi-additive comparing and selecting forward traceback Viterbi decoder | |
US20060039509A1 (en) | Method for decoding data using windows of data | |
CN101882934A (en) | Arithmetic circuit | |
CN100581089C (en) | Woven convolutional code error detection and correction coder, and encoder in TD-SCDMA system | |
CN100589329C (en) | Duo-binary system CTC code translator | |
US9325351B2 (en) | Adaptive multi-core, multi-direction turbo decoder and related decoding method thereof | |
CN1133276C (en) | Decoding method and decoder for high-speed parallel cascade codes | |
CN103916141B (en) | Turbo code interpretation method and device | |
CN102571107A (en) | System and method for decoding high-speed parallel Turbo codes in LTE (Long Term Evolution) system | |
CN105589082A (en) | Viterbi decoding device and method of Beidou navigation system | |
Lin et al. | High-throughput 12-mode CTC decoder for WiMAX standard | |
CN113992213B (en) | Dual-path parallel decoding storage device and method |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110720 Termination date: 20140403 |