CN1463084A - Method and device of iterative demodulation and decode for BPSK modulating system by Turbo encoding - Google Patents
Method and device of iterative demodulation and decode for BPSK modulating system by Turbo encoding Download PDFInfo
- Publication number
- CN1463084A CN1463084A CN 03137079 CN03137079A CN1463084A CN 1463084 A CN1463084 A CN 1463084A CN 03137079 CN03137079 CN 03137079 CN 03137079 A CN03137079 A CN 03137079A CN 1463084 A CN1463084 A CN 1463084A
- Authority
- CN
- China
- Prior art keywords
- mrow
- module
- sub
- msub
- decoder
- 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 33
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000005259 measurement Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 abstract description 12
- 238000004422 calculation algorithm Methods 0.000 description 59
- 101150045592 RSC1 gene Proteins 0.000 description 15
- 101100094096 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RSC2 gene Proteins 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 229910052717 sulfur Inorganic materials 0.000 description 3
- 229910052770 Uranium Inorganic materials 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
The split signal received in the channel is transferred to two sub decoders. With the channel receiving signal being received, the subdecoder 1 calculates out the external information and the information bits size of the equivalent system by using the module in soft-in and sort-out. The sub decoder 2 receives the said information from the output of the decoder 1. Then, the sub decoder 2 calculates and outputs the external information, transferring the information to the decoder 1. Thus, one time of iteration is completed. When the number of iteration reaches a preset value, with the interlacement of the external information output from the decoder 2 being removed, the hard decision is carried out to obtain a estimate value for each information bit, and the decoding procedure is completed. The invention features simple, practical and easy to implement in digital format, suitable to wireless and satellite communications area.
Description
The technical field is as follows:
the invention relates to the field of communication, in particular to an iterative demodulation decoding method and device for Turbo codes modulated by BPSK in wireless and satellite communication systems.
Background art:
in wireless and satellite communication systems, transmitted bits are subject to channel random noise and random errors are generated. Theory and practice prove that an error correction coding method for providing transmission reliability by introducing redundancy is an effective means. The recently introduced Turbo code is one of the coding schemes with the strongest error correction capability discovered so far.
Turbo codes were proposed by c.berrou equals 1993 [ c.berrou, a.glavieux, and p.thitimajshima, "Near Shannon limit error-correcting and decoding: turbo-codes, "in ICC' 93, Geneva, Swithzerland, May, 1993, pp.1064-1070]It is considered to be one of the largest advances made in coding theory in recent years. Turbo code with error rate of 10 under White Gaussian Noise (Additive White Gaussian Noise-AWGN) channel-5Time approaches the Shannon (Shannon) capacity limit with a signal-to-noise ratio of 0.7 dB. For satellite channels, because the power is limited, the reduction of the working signal-to-noise ratio of a satellite communication system is undoubtedly of great importance, and the defect of the limited power of the satellite channels can be well solved by introducing the Turbo coding and decoding technology.
Berrou considers only the decoding Algorithm of White Gaussian Noise (AWGN) channel, which is not sufficient in practical wireless and satellite communications. In practical channels, the coded digital signal is generally transmitted by modulation, which requires the same frequency generator at both ends of the transceiver. However, due to the non-ideal characteristics of the actual device, especially due to the time-varying fading characteristics of the transmission medium, the frequency offset and phase of the modulation signal to be transmitted and received are largely unknown in practice, which requires the receiver to perform channel estimation and tracking to eliminate the influence of the unknown frequency offset and phase on the transmitted signal. Therefore, how to remove the influence of unknown channel parameters to decode the Turbo code is a research hotspot which is receiving much attention. The difficulty with this problem is that: turbo codes work with much lower snr than under normal conditions, and in fact how to accurately estimate and track channel parameters at low snr is a big problem in itself.
In satellite and wireless communications, typical channel unknown parameters are frequency offset (frequency offset) and carrier phase. The conventional channel estimation technique uses a phase-locked loop technique. Conventional algorithms generally do not work due to the particularity of communications at very low signal-to-noise ratios (e.g., the signal-to-noise ratio at which Turbo codes can work under AWGN). A possible solution is to give up the separate characteristics of the previous channel estimation and channel decoding and replace them with joint iterative demodulation decoding, so that the channel estimation can take full advantage of the redundancy provided by the encoding.
The method for demodulating and decoding the Turbo code under the unknown phase channel mainly comprises 5 methods by combining the current research dynamics at home and abroad:
method I [ Wuxianfu, Lingcong, Lvjing, iterative demodulation decoding algorithm of Turbo coding under unknown phase channel, electronics declaration, first phase 2002]: the system adopts a scheme of Turbo code plus differential phase modulation, and can improve the performance along with iteration by using an idea of iterative demodulation and decoding based on the proposed optimal incoherent MAP algorithm of differential phase modulation under an unknown phase channel. When the system is under the following conditions: BDPSK modulation is adopted, the number of incoherent MAP states is 32, a Turbo code adopts a 16-state classical structure, the frame length is 2048, and simulation shows that 17 iterations of the system can reach 10 in 3.2dB-5Hereinafter, the algorithm has better robustness (Robust) to frequency offset. But the defect is that the scheme of adopting differential coding and Turbo code serial cascade partially destroys the structure of the Turbo code, so that the system performance is greatly reduced, and the realization is complex and difficult to realize by the existing FPGA device.
Method two [ g.colavope, "non-coherent Iterative (Turbo) Decoding," IEEE trans. command, vol.48, No.9, sept.2000, pp.1488-1498 ]: iterative detection of the Turbo code incoherent sequence under the unknown phase channel proposed by the Colavolpe. The algorithm does not introduce a differential structure, but directly adopts an incoherent MAP algorithm for received Turbo code signals (BPSK modulation), and compared with the incoherent MAP algorithm which is proposed by us, the algorithm is further simplified, namely a soft incoherent sequence detection algorithm. The algorithm does not damage the structure of the Turbo code, so that the performance is better. But has the disadvantages that the frequency offset effect is not considered and the complexity is still high in implementation.
Method three [ a.antassoulos, and k.m.chung, "Adaptive Iterative Detection for phased tracking in Turbo-Coded Systems," IEEE trans.commun., vol.49, No.12, dec.2001, pp.2135-2144 ]: the Anastasopoulos provides an iterative detection algorithm for phase tracking of a Turbo coding modulation system, and tracks a phase parameter of each path by utilizing a PSP (Per-Survivor-Processing) algorithm, wherein an initial phase is obtained by sending a pilot frequency code. The algorithm is relatively simple to implement and has good performance, but the influence caused by frequency offset is not considered. This algorithm generally does not work well due to the non-linear nature of the frequency offset (the original algorithm was based primarily on the linear nature of the phase).
Method four [ w.oh, and k.cheun, "Joint decoding and carrier phase recovery algorithm for turbo codes," ieee.Commun.Lett., vol.5, No.9, 2001, pp375-377 ]: the joint phase recovery decoding algorithm proposed by wangerok quantizes the channel phase, so that the channel estimation problem is converted into a detection problem, and the detection of the unknown channel phase can be completed by using the principle of the maximum absolute value of soft information (log-likelihood ratio (LLR)) output by Turbo code decoding under the optimal quantization phase. The algorithm is simple to implement and good in performance, and the author also provides a frequency offset estimation algorithm based on interframes. But the tolerated frequency offset is 100ppm of the transmission code rate, and the phase is kept constant in one frame, which obviously hardly meets the requirements of satellite and wireless communication.
Method five [ I.Bar-David, and A.Elia, "Augmented APP (A)2P2)Module for a PosterioriProbability Calculation and Channel Parameter Tracking,”IEEE Commun.Lett.,vol.3,no.1,Jan.,1999,pp.18-20]: Bar-David proposes a demodulation and decoding method of a Turbo coding system under the condition that unknown frequency offset and unknown phase exist in a channel. The structure is that the channel tracking module is organically combined on the basis of the original Turbo code subcode APP module to form the so-called enhanced APP (A)2P2) And a decoding module. The algorithm is simple to implement and good in performance. But the disadvantage is that many key techniques in the original literature are ambiguous and the problem of initial estimation of channel parameters is not well solved. In addition, for the second sub-code, because of the intervention of the interleaver and the deinterleaver, the influence of the channel parameters on the transmitted system information bits is no longer equal to that of the first sub-code (i.e., the system information bits are disturbed by interleaving), and how to calculate the metric of the coded system information bits is to the A of the second sub-code2P2The decoding module is of vital importance to operate, but the literature is silent.
Analysis of the above schemes shows that the problem of Turbo code demodulation and decoding under the condition of fully considering channel frequency offset and unknown phase is not well solved. The frequency offset and realizability (considering existing hardware FPGA, CPLD support) issues are key. The fifth scheme is a preferred choice, which fully considers the tracking problems of frequency offset and phase, and is realizable with the existing FPGA or CPLD device in terms of implementation complexity. The remaining problems are the problem of capturing the initial parameters and how to calculate the metric corresponding to the system information bits, which must be solved by the operation of the second subcode-enhanced APP module, which will be further explained later.
A typical encoder structure of Turbo-code is shown in fig. 1. It is usually composed of two identical Recursive Systematic Convolutional (RSC) codes (usually called subcodes), which RSC1 directly encodes the incoming information sequence to obtain a check sequence y1k(ii) a At the same time, the information sequence dkSequence d interleaved by interleavernSending the data to RSC2 for encoding to obtain check bit y2kThe Turbo-code word is composed of information sequence xkFormed by two paths of check sequences. Check bits (y) generated by the sub-encoder1k,y2k) Turbo codes with different code rates can be obtained after the Turbo codes are punctured by different puncturing matrixes.
The Turbo-code iterative decoding structure is shown in fig. 2, and mainly comprises two soft-in soft-out modules (sub-decoders of Turbo codes) for decoding RSC sub-codes in selected Turbo codes. The sub-decoder 1 converts the information bit d obtained by the sub-decoder 2kExternal information ofAs dkA priori information is used to decode RSC1 to obtain information about dkImproved extrinsic information Λ1e(dk) Are interwoven to obtainAs a priori information for the sub-decoder 2 to decode RSC 2. The sub-decoder 2 regenerates the extrinsic information a of the information bit improvement in the same manner as the sub-decoder 12e(dj) Is subject to de-interlacing to obtainAs the a priori soft values for the sub-decoder 1 in the next iteration. Thus, after a number of iterations, the output Λ produced by sub-decoder 22(dj) After de-interleaving, hard decision is carried out to obtain each information bit dkEvaluation of
As can be known from the decoding structure, the key point of decoding the Turbo code in the AWGN channel is the soft-in and soft-out module of the sub-decoder, and in literature, the module has various names, such as BCJR algorithm, MAP algorithm, and APP algorithm. The following adopts the description method of the APP algorithm. A derivation of grid Edge (Edge) based APP algorithms is described in the literature [ Benedetto, "A Soft-Input Soft-Output APP Module for Iterative Decoding of coordinated codes," IEEE Commun. Lett., vol.1, No.1, Jan., 1997, pp.22-24 ].
The documents [ P.Robertson, E.Villebrun, and P.Hoeher, "A compare of optional and sub-optional MAP decoding algorithm in the Log domain," in IEEE int. Conf. on communications (Seatle, WA, June 1995), and pp.1009-1013] show that the MAP algorithm steps can be transferred to the Log domain (so-called Log-MAP algorithm), so that a large number of multiplications in the original MAP algorithm can be replaced by additions and look-up tables, and currently, the actual FPGA implementation commonly adopts the Log domain-based algorithm.
The principle of the APP algorithm based on the Log domain is explained by interpreting Benedetto, and on this basis, the decoding algorithm of the Turbo coding BPSK modulation system under the actual parameter channel is explained.
The RSC sub-code is assumed to be k0/n0The binary convolutional code of (1). The following conventions: capital U, C, S, E represent random variables, and lower U, C, S, E represent corresponding implementations each time; using a lower case K to represent discrete time, wherein the time is taken as a discrete time set K; letters I, O represent input and output of the APP module.
Thus, the Log domain based APP module can be described as follows:
1. inputting U ═ U (U)k)k∈KRepresenting a sequence of input symbols corresponding to input information bits of a Turbo code subcode encoder (e.g., for an RSC1 subcode, corresponding to d in FIG. 1)n). For code rate of k0/n0Each input symbol UkFrom k to k0A bit of information constituting Uk j,j=1,2,Λ,k0Which realizes ujE { +1, -1 }. Thus, the Log domain of the prior information distribution of the symbol sequence is denoted as Λ (u; I) ═ Λk(u;I))k∈KWherein <math> <mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>u</mi> <mo>;</mo> <mi>I</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>Σ</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>k</mi> <mn>0</mn> </msub> </msubsup> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>u</mi> <mi>j</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> this value is typically derived from the output extrinsic information of another APP module.
2. Output C ═ Ck)k∈KRepresenting a sequence of output symbols (i.e., code) corresponding to the output information bits of a Turbo code subcode encoder (e.g., for an RSC1 subcode, corresponding to the encoded output (x)k,y1k)). For code rate of k0/n0Each output symbol CkFrom n to0Bit component Ck j,j=1,2,Λ,n0Which achieves cjE { +1, -1 }. Thus, the Log domain of the prior probability distribution of the symbol sequence is denoted as Λ (c; I) ═ Λk(c;I))k∈KWherein <math> <mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>c</mi> <mo>;</mo> <mi>I</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>Σ</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mn>0</mn> </msub> </msubsup> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>c</mi> <mi>j</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> this value is a so-called branch metric and is typically calculated from the received samples.
3. Grid description (Trellis Section): as shown in fig. 3, a grid segment from time k to k +1 is taken to illustrate, and state space S ═ S1,...sNE.g. state S at time kkS, S ∈ S), the edges of the mesh segments are given by the product of chi-squared <math> <mrow> <mi>E</mi> <mo>=</mo> <mi>S</mi> <mo>×</mo> <mi>U</mi> <mo>=</mo> <mo>{</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>,</mo> <mi>Λ</mi> <mo>,</mo> <msub> <mi>e</mi> <mrow> <mi>N</mi> <mo>-</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> </mrow> </msub> <mo>}</mo> </mrow> </math> All possibilities of transition between states at two adjacent times are indicated. In this way, for each edge: initial state sS(e) End state sE(e) Input symbols u (e) and output symbols c (e). The specific relationship between these symbols depends on the given recursive convolutional subcode.
4. The purpose of the APP algorithm is to calculate the extrinsic information Λ (u; O) and Λ (c; O) from the input prior information Λ (u; I) and branch metrics Λ (c; I). The state-dependent metrics (Log domain) are first computed backward and forward:
forward metric (FSM): <math> <mrow> <msub> <mi>A</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>Σ</mi> <mrow> <msup> <mrow> <mi>e</mi> <mo>:</mo> <mi>s</mi> </mrow> <mi>E</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>s</mi> </mrow> </munder> <mo>⊕</mo> <mo>{</mo> <msub> <mi>A</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>+</mo> <msub> <mi>PR</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>BM</mi> <mi>k</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
backward metric (RSM): <math> <mrow> <msub> <mi>B</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>Σ</mi> <mrow> <mi>e</mi> <mo>:</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>s</mi> </mrow> </munder> <mo>⊕</mo> <mo>{</mo> <msub> <mi>B</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>E</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>+</mo> <msub> <mi>PR</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>BM</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein, <math> <mrow> <msub> <mi>PR</mi> <mi>k</mi> </msub> <mo>=</mo> <munderover> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>k</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>u</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>u</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> </mrow> </math> a metric representing a priori information is provided, <math> <mrow> <msub> <mi>BM</mi> <mi>k</mi> </msub> <mo>=</mo> <munderover> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>c</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>c</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> </mrow> </math> represents Branch Metric (BM) and operates <math> <mrow> <munderover> <mi>Σ</mi> <mrow> <mi>e</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mo>⊕</mo> <mo>{</mo> <msub> <mi>Λ</mi> <mi>e</mi> </msub> <mo>}</mo> <mo>=</mo> <mi>E</mi> <mrow> <mo>(</mo> <msub> <mi>Λ</mi> <mn>1</mn> </msub> <mo>,</mo> <munderover> <mi>Σ</mi> <mrow> <mi>e</mi> <mo>=</mo> <mn>2</mn> </mrow> <mi>N</mi> </munderover> <mo>⊕</mo> <mo>{</mo> <msub> <mi>Λ</mi> <mi>e</mi> </msub> <mo>}</mo> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> And E (Λ)1,Λ2)=max(Λ1,Λ2)+fc(|Λ1-Λ2I), hereafter we call the E operator, and fc(x)=log(1+e-x) The method can be simply realized by a table look-up method. The initial values are set as: S0as an initial state of the convolutional code, SnIs the final state of the convolutional code. Finally, a backward metric B is calculatedkSimultaneous output of extrinsic information (APP) of(s):
Λk(cj;O)=LPk(cj=+1;O)-LPk(cj=-1;O) (3)
Λk(uj;O)=LPk(uj=+1;O)-LPk(uj-1; o) (4) wherein, <math> <mrow> <mrow> <msub> <mi>LP</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>c</mi> <mi>j</mi> </msup> <mo>;</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>Σ</mi> <mrow> <mi>e</mi> <mo>:</mo> <msubsup> <mi>C</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>c</mi> <mi>j</mi> </msup> </mrow> </munder> <mo>⊕</mo> <mo>{</mo> <msub> <mi>A</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>+</mo> <munderover> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>k</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>u</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>u</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> <mo>+</mo> <munderover> <munder> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> </munder> <mrow> <mi>i</mi> <mo>≠</mo> <mi>j</mi> </mrow> <msub> <mi>n</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>c</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>c</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> <mo>+</mo> <msub> <mi>B</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>E</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>}</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow> </math> <math> <mrow> <mrow> <msub> <mi>LP</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>u</mi> <mi>j</mi> </msup> <mo>;</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>Σ</mi> <mrow> <mi>e</mi> <mo>:</mo> <msubsup> <mi>C</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>c</mi> <mi>j</mi> </msup> </mrow> </munder> <mo>⊕</mo> <mo>{</mo> <msub> <mi>A</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>+</mo> <munderover> <munder> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> </munder> <mrow> <mi>i</mi> <mo>≠</mo> <mi>j</mi> </mrow> <msub> <mi>k</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>u</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>u</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> <mo>+</mo> <munderover> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>c</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>c</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> <mo>+</mo> <msub> <mi>B</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>E</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>}</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow> </math>
as can be seen from (1-6), Λ is required to be determinedk(uj;O),Λk(cj(ii) a O), must know Λk(uj;I),Λk(cj(ii) a I) In that respect Wherein Λk(uj(ii) a I) Actually, the Prior Information (Prior Information) of the Information bits, and the external Information provided by the decoding module of the upper-stage RSC during iteration, what needs to be calculated is the branch metric Λk(cj(ii) a I) This can be provided directly from the received channel samples in an AWGN channel, for example, for a Turbo code with a final rate k formed by a sub-code rate of 1/2 without puncturing the Turbo code0/n0(k0=1,n03), assuming that the system employs BPSK modulation, the coded bits shown in fig. 1 are output (x)k,y1k,y2k) Multiplexing into BPSK Signal stream ck jJ is 1, 2, 3 (corresponding relationship is The effect of the received BPSK signal due to AWGN may be expressed as <math> <mrow> <msub> <mi>r</mi> <mi>v</mi> </msub> <mo>=</mo> <msubsup> <mi>c</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mo>+</mo> <msub> <mi>w</mi> <mi>v</mi> </msub> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mi>Λ</mi> <msub> <mi>n</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>v</mi> <mo>=</mo> <msub> <mi>kn</mi> <mn>0</mn> </msub> <mo>+</mo> <mi>j</mi> <mo>;</mo> <mi>k</mi> <mo>∈</mo> <mi>K</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow> </math> Wherein wvIs a mean of 0 and a variance of σ2White gaussian noise. Is provided with Lc=2/σ2Then, then
Λk(cj;I)=Lcrv,j=1,2,Λ n0;v=kn0+j;k∈K。 (8)
Now consider the actual channel with unknown parameters, assuming that the system still uses BPSK modulation, and because the frequency offset and phase are unknown, the received signal is matched filtered (sampled once per symbol) and then the optimal sampled complex output is ( The number of the I-branch is represented,representing the Q branch) and can be represented as: <math> <mrow> <msub> <mover> <mi>r</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>=</mo> <msub> <mi>h</mi> <mi>v</mi> </msub> <msubsup> <mi>c</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mo>+</mo> <msub> <mi>w</mi> <mi>v</mi> </msub> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mi>Λ</mi> <msub> <mi>n</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>v</mi> <mo>=</mo> <msub> <mi>kn</mi> <mn>0</mn> </msub> <mo>+</mo> <mi>j</mi> <mo>;</mo> <mi>k</mi> <mo>∈</mo> <mi>K</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow> </math>
hv=exp(jvΩ+Φ0) Wherein, Ω and Φ0Respectively representing the channel frequency offset and the initial phase. In general, the channel frequency offset and phase are slowly changing over time (i.e., not only initial estimation but also tracking is needed). Obviously, how to calculate (8) is a problem to be solved, and one approach to solve is to introduce a parameter estimation and tracking mechanism under the framework of APP algorithm.
A proposed by Bar2P2The module well solves the joint parameter tracking and soft-in and soft-out functions of the RSC sub-code under BPSK modulation. Enhanced APP Module (A)2P2) The working principle can be illustrated with fig. 5:
1. channel parameter tracking (CPE) module
The cpe (channel Parameter estimation) module performs a continuous update of the channel parameters by processing the incoming channel samples and outputs to the CSM module. In practical implementation, the CPE is embedded in the APP module, and operates on all Edges (Edges) in the grid graph, the CPE tracks channel parameters on each grid edge and has an operating frequency consistent with the transmission frequency of the coded bits, and the update frequency of each grid edge of the APP is the transmission frequency of the information bits. For code rate of k0/n0In the convolutional code, the update frequency of the information outside the APP module is consistent with the update frequency of the grid edge, and is set as a reference working timing sequence k (i.e., a state update timing sequence in the grid), so that the update timing sequence of the CPE in the grid along with the state is also k.For convenience, let us now assume that the value of the channel parameter (frequency offset and phase) estimate at time k state s in the trellis is denoted as χk(s)=(Φv(s),Ωv(s)). In addition, the CPE updates n on a certain edge0Next, the process is carried out. The update timing of the channel parameter with respect to the edge is thus v-kn0+j,j=1,2,Λ,n0. In the following description it is assumed that the channel parameters (frequency offset and phase) estimated at time v with respect to a certain edge e (forward or backward) are (for forward use) <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mover> <mi>Φ</mi> <mi>ρ</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mover> <mi>Ω</mi> <mi>ρ</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> For backward use <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ω</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mover> <mi>Φ</mi> <mi>ω</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mover> <mi>Ω</mi> <mi>ω</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </math> Representation).
The CPE's workflow is to update n for each edge on the grid segment first0Next, since multiple edges eventually enter the same final state, the parameters of the final state are based on the metrics on each edge (forward use)For backward useMeans) selecting the best side-estimated channel parameters: ( ) As the channel estimation parameter for that state. We now describe in detail.
The CPE is operated according to the following steps:
1) removing (Wipe off operation) the modulation data (i.e. c) corresponding to a certain edge firstv(e),v=kn0+j,j=1,2,Λ,n0) Thus obtaining (suppose c)v(e)∈{+1,-1}) <math> <mrow> <msub> <mi>r</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>r</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>·</mo> <msup> <mi>c</mi> <mi>v</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>iy</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> </mrow> </math>
Based on the last tracked parameter estimate phiv′=ΩvTs+ΦvIs subjected to phase rotation to obtain
rv′(e)=rv(e)·exp(-iΦv′)=xv′(e)+yv' (e), obviously
2) Forward and backward update of channel parameters based on mesh Edges (Edges)
Forward iteration of parameters <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mover> <mi>Φ</mi> <mi>ρ</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mover> <mi>Ω</mi> <mi>ρ</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </math> Can be written in functional form <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mi>v</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>CPE</mi> <mrow> <mo>(</mo> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>r</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Specifically, the following functions are realized:
backward iteration of parameters <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ω</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mover> <mi>Φ</mi> <mi>ω</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mover> <mi>Ω</mi> <mi>ω</mi> </mover> <mi>v</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </math> The updating of (d) is accomplished by:wherein, <math> <mrow> <msub> <mi>ΔΩ</mi> <mi>v</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>y</mi> <mi>v</mi> <mo>′</mo> </msubsup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>a</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>v</mi> <mo>′</mo> </msubsup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>b</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> </mrow> </math> ΔΦv=aΔΩv l/4, L is a parameter indicating the memory length of the channel parameter estimation.
It should be noted that the initial channel parameters at each trellis edge are determined by the initial state of the edge, that is: <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <msub> <mi>kn</mi> <mn>0</mn> </msub> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>χ</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>|</mo> <mi>e</mi> <mo>:</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>s</mi> <mo>;</mo> <mo>,</mo> </mrow> </math> <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ω</mi> </mover> <mrow> <msub> <mi>kn</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>n</mi> <mn>0</mn> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>χ</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>|</mo> <mi>e</mi> <mo>:</mo> <msup> <mi>s</mi> <mi>E</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>s</mi> <mo>;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow> </math>
3) for simplicity of implementation, we take:
backward direction: <math> <mrow> <msub> <mi>χ</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>χ</mi> <mi>ω</mi> </mover> <mrow> <msub> <mi>kn</mi> <mn>0</mn> </msub> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>e</mi> <mi>ω</mi> </mover> <mi>max</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> wherein, <math> <mrow> <msub> <mover> <mi>e</mi> <mi>ω</mi> </mover> <mi>max</mi> </msub> <mo>=</mo> <mi>max</mi> <mo>{</mo> <msub> <mover> <mi>m</mi> <mi>ω</mi> </mover> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>e</mi> <mo>:</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>s</mi> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow> </math> <math> <mrow> <msub> <mover> <mi>m</mi> <mi>ω</mi> </mover> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>B</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>E</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>+</mo> <munderover> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>k</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>u</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>u</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> <mo>+</mo> <munderover> <munder> <mi>Σ</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> </munder> <mrow> <mi>i</mi> <mo>≠</mo> <mi>j</mi> </mrow> <msub> <mi>n</mi> <mn>0</mn> </msub> </munderover> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>c</mi> <mi>i</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>c</mi> <mi>i</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> </mrow> </math>
2. channel sampling parameter modification (CSM) module
The function of the csm (channel Signal modifier) module is to correct the original sampling of the input channel according to the channel parameter value output by the current CPE module, remove the influence of the channel parameter, and thus output a Signal sampling value equivalent to the AWGN channel. In particular, the CSM module is not an independent module, and its function is still embedded in the APP implementation, in fact, compared with the APP algorithm under AWGN, the only difference of the APP algorithm with CSM is that an operation of removing unknown channel parameters must be performed on each edge, and the CPE module functions to obtain updated channel parameters along the edge, so that only corresponding phase rotation is performed on each edge. Is also taken immediately
Re[rv(e)·exp(-iΦv(e))]As input along edges of APP (whereTo take its real part). Others were not as different from standard APP.
3. APP (a) module
The module is basically the same as the APP module of the subcode under AWGN, and the basic function of the moduleIs based on the input Λk(uj;I),Λk(cj(ii) a I) Calculating Lambdak(uj;O),Λk(cj(ii) a O). The difference lies in the branch metric Λk(cj(ii) a I) And (4) calculating. In detail, this module executes the CPE and CSM modules on the grid graph and on that basis executes equations (1-6), but the branch metrics Λ in (1-6)k(cj(ii) a I) Is calculated as follows:
Λk(cj;I)=LcRe[rv(e)·exp(-iΦv(e))],j=1,2,Λn0;v=kn0+ j; k is e.K (16) where Re [ r ]v(e)·exp(-iΦv(e))]Provided by CSM, CPE module.
Following discussion Turbo code usage A in frequency offset and phase unknown channels2P2The problem with module decoding. A as described above2P2The module can be applied to APP decoding when the RSC subcode adopts BPSK modulation under the condition of unknown frequency offset and phase in principle. However, for the demodulation and decoding of Turbo codes, the following two problems still exist:
1)A2P2the module can be directly applied to decoding Turbo code sub-code RSC1, but the application of sub-code RSC2 requires that the interleaved information symbol sequence is also transmitted to the channel (if the system performance is not deteriorated correspondingly), which is different from AWGN channel because: with respect to the RSC2, the received channel samples contain the portion of the system information bits (i.e., the information symbol sequence x)kSee fig. 2) no longer corresponds to h due to the effect of interleavingv=exp(jvΩ+Φ0) Because RSC2 sees the relationship at time v as being interleaved, a2P2Necessary for module calculation and corresponding to the first k in RSC code word0Branch metric a of system information bitsk(cj;I),j=1,2,Λk0It cannot be calculated. The effectiveness of communication transmission is undoubtedly greatly reduced by additionally transmitting the interleaved information symbol sequence;
2)A2P2the module can only be used for iterative decoding under the condition of parameter tracking, and when the unknown channel frequency offset and phase are larger, simulation shows that A is adopted2P2The algorithm of the module fails.
The invention content is as follows:
the invention aims to provide a method for solving the problem of how to calculate A2P2The iterative demodulation decoding method and device for Turbo code of the measurement problem of the system information symbol sequence of the second sub-code of the module.
Another object of the present invention is to provide a simple and practical iterative demodulation and decoding method and apparatus for Turbo coding BPSK communication system under the channel with unknown parameters.
The invention relates to an iterative demodulation decoding method of a Turbo coding BPSK modulation system, which comprises the following steps:
1) splitting a channel receiving signal and transmitting the split channel receiving signal to two corresponding sub-decoders, namely a sub-decoder 1 and a sub-decoder 2;
2) after receiving the channel receiving signal, the sub-decoder 1 executes a CPE module on the basis of the grid through a soft-in soft-out module thereof to obtain demodulated side estimation channel parameters; executing a CSM module to obtain an equivalent AWGN channel signal; then the obtained equivalent AWGN channel signal is transmitted to an APP module of the soft-in soft-out module, the APP module calculates branch measurement, forward state measurement and backward state measurement, and then output external information and equivalent system information bit measurement are calculated;
3) after receiving the channel signal, the sub-decoder 2 executes a CPE module and a CSM module on the received signal on the basis of a grid through a soft-in soft-out module thereof, transmits the obtained equivalent AWGN channel signal (only corresponding to check bits) to an APP module of the soft-in soft-out module, receives the equivalent AWGN channel signal, the external information output by the sub-decoder 1 and the bit measurement of the interleaved equivalent system information, calculates the output external information, transmits the output external information to the sub-decoder 1, and completes one iteration;
4) the sub-decoder 1 receives the output extrinsic information of the sub-decoder 2, calculates the bit metrics of the output extrinsic information and the equivalent system information again, and the sub-decoder 2 receives the output of the sub-decoder 1, calculates the output extrinsic information again, transmits the output extrinsic information to the sub-decoder 1, and completes the iteration again;
5) after the iteration times reach the preset value, the output external information of the sub-decoder 2 is deinterleaved and then hard decision is carried out to obtain the estimated value of each information bit, and decoding is completed.
The invention carries out initial frequency offset estimation and initial phase estimation on the channel receiving signal and respectively transmits the estimated values to the two sub-decoders.
The iterative demodulation decoding device of the Turbo coding BPSK modulation system comprises two sub-decoders, a sub-decoder 1 and a sub-decoder 2, wherein each sub-decoder comprises a CPE module and calculates demodulated edge estimation channel parameters; a CSM module for calculating equivalent AWGN channel signals; the APP module executes the CPE module and the CSM module on the grid side, receives the outputs of the CPE module and the CSM module, calculates branch metric, forward state metric and backward state metric, and then calculates and outputs external information; the sub-decoder 1 also has an equivalent system information bit metric output end, the sub-decoder 2 has an equivalent system information bit metric input end, and the equivalent system information bit metrics output by the equivalent system information bit metric output end of the sub-decoder 1 are interleaved and input to the equivalent system information bit metric input end of the sub-decoder 2.
The device also comprises an initial frequency offset estimation module and an initial phase estimation module, wherein the initial frequency offset estimation module and the initial phase estimation module are used for respectively calculating an initial estimation value of frequency offset and an initial estimation value of phase and inputting the initial estimation values to the two sub-decoders.
The APP module comprises a BMC module and calculates and outputs branch measurement; the FSMC module receives the output of the BMC module, calculates and outputs forward state measurement; the RSMC module receives the output of the BMC module, calculates and outputs backward state measurement; and the LLR module receives the outputs of the BMC module, the FSMC module and the RSMC module, calculates and outputs the external information and the equivalent system information bit metric for the sub-decoder 1, calculates and outputs the external information for the sub-decoder 2, and calculates and outputs an LLR in the last iteration.
The initial frequency offset estimation module and the initial phase estimation module are solidified on a DSP chip, CPE modules, CSM modules and APP modules of the two sub-decoders are all solidified on a main CPLD chip, and the DSP chip transmits the calculation results of the initial frequency offset estimation module and the initial phase estimation module to the main CPLD chip through an RAM.
The original estimation process of the initial channel parameters of the invention is as follows:
and (3) setting the received baseband complex signal to be given by (9), and comprising the following steps:
1. initial frequency offset estimation
1) First a transformation is made to remove the modulation information: <math> <mrow> <msub> <mi>ρ</mi> <mi>v</mi> </msub> <mo>=</mo> <mi>φ</mi> <mrow> <mo>(</mo> <msub> <mover> <mi>r</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>r</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>·</mo> <msub> <mover> <mi>r</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>=</mo> <msup> <mi>e</mi> <mrow> <mi>i</mi> <mrow> <mo>(</mo> <mn>2</mn> <mi>vΩ</mi> <mo>+</mo> <mn>2</mn> <mi>φ</mi> <mo>)</mo> </mrow> </mrow> </msup> <mo>+</mo> <msub> <mover> <mi>w</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow> </math>
the above transformation phi is taken as a square, and other transformations are possible, such as phi (x) ═ x | exp (i (2arg (x)), | x | y
Being the modulus of the complex number x, arg (x) denotes the angle at which the complex number x is taken.
2) Performing Fast Fourier Transform (FFT) and searching for frequency offset values
Taking N baseband complex signals, taking 2-power of each complex signal, and finally performing FFT of PN point on the power signals
(PN ═ P × N, P > 1), (P-1) N indicates the number of 0 complements, and thus the frequency offset estimation is obtained by the following equation. <math> <mrow> <msub> <mi>v</mi> <mi>m</mi> </msub> <mo>=</mo> <munder> <mi>max</mi> <mi>v</mi> </munder> <mo>{</mo> <mo>|</mo> <mi>FFT</mi> <mo>{</mo> <msubsup> <mrow> <mo>{</mo> <msub> <mi>ρ</mi> <mi>v</mi> </msub> <mo>}</mo> </mrow> <mrow> <mi>v</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <mo>,</mo> <mi>PN</mi> <mo>}</mo> <mo>|</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow> </math>
max { | FFT () | } represents the point with maximum amplitude after search FFT transformation, and the sequence number is taken as vmThen, then
Ωm=2πvm/N。
3) And finally obtaining an initial estimation value of the frequency deviation by using the knowledge of the initial range of the frequency deviation.
Omega calculated by step (2)mEstimate omega from the final desired initial frequency offset0There may still be a 180 degree phase jump
Turning to, consider the present frequency offset range Ω0< 0.1 x 2x pi (this condition is generally satisfied), and finally:
2. initial phase estimation
Conditions are as follows: a small number of pilot symbols are added.
Assume that the system continuously transmits P Pilot Symbols (Pilot Symbols) before the beginning of each frame, which for convenience can be considered to be all 1 codes. The received signal is <math> <mrow> <msub> <mover> <mi>r</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>=</mo> <msup> <mi>e</mi> <mrow> <mi>i</mi> <mrow> <mo>(</mo> <mi>vΩ</mi> <mo>+</mo> <mi>φ</mi> <mo>)</mo> </mrow> </mrow> </msup> <mo>+</mo> <msub> <mi>w</mi> <mi>v</mi> </msub> <mo>,</mo> <mi>v</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mi>Λ</mi> <mo>,</mo> <mi>P</mi> </mrow> </math> The initial phase is estimated as <math> <mrow> <msub> <mi>Φ</mi> <mn>0</mn> </msub> <mo>=</mo> <mi>angle</mi> <mrow> <mo>(</mo> <munderover> <mi>Σ</mi> <mrow> <mi>v</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>P</mi> </munderover> <msub> <mover> <mi>r</mi> <mo>~</mo> </mover> <mi>v</mi> </msub> <mo>·</mo> <msup> <mi>e</mi> <msub> <mrow> <mo>-</mo> <mi>ivΩ</mi> </mrow> <mn>0</mn> </msub> </msup> <mo>)</mo> </mrow> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>20</mn> <mo>)</mo> </mrow> </mrow> </math>
Therefore, the whole algorithm is simple to realize and can be realized by the current FPGA hardware; particularly in situations where the frequency offset and phase of the channel are unknown. For a typical constant parameter satellite channel, the performance of the Turbo code under an ideal AWGN channel can be obtained.
The iterative demodulation decoding algorithm of the Turbo code under the condition of unknown channel parameters is based on an enhanced APP module, and mainly solves the problems of initial estimation of frequency offset and phase and iterative decoding of a second subcode RSC 2. To solve the iterative decoding of the second subcode RSC2, the present invention proposes an enhanced APP module (hereinafter referred to as ES-A) that provides equivalent system information bit metric output2P2A module).
ES-A2P2Module and A2P2The module principle is basically the same, and the difference is that one more input and one more output are provided. The additional input Λ (s; I) corresponds to an equivalent system information bit metric input. The extra output terminal is equivalent system information bit degreeOutput of quantity, i.e. { Λk(sj;O),j=1,2,Λ,k0(ii) a K is equal to K }, as shown in FIG. 6, the sub-code RSC1 adopts the module to decode and output equivalent system information bit metrics, and after interleaving, the equivalent system information bit metrics are transmitted to an equivalent system information bit metric input end Λ (s; I) of the sub-code RSC2 decoding module, so that ES-A of RSC22P2The module may use this equivalent information to directly calculate the first k in the codeword corresponding to RSC20A of systematic information bitsk(cj;I),j=1,2,Λk0。
ES-A2P2The module is executed as follows:
1) same as A2P2Modules performing the functions of CPE and CSM modules on a grid basis, see A above2P2Modular principle.
2) APP (a) module
a) Like A2P2And executing (1-6) corresponding modules of the modules. Different points lie in the lambdak(cj;I)j=1,2,Λk0(ii) a Is calculated ifk(cj;I)j=1,2,Λk0(ii) a Which can be directly calculated by equation (16) from the sampled samples from the channel, the equivalent system information bit metric input Λ (s; I) is discarded (corresponding to the sub-code RSC1 for Turbo codes). Otherwise, executing Λk(cj;I)=Λk(sj;I)j=1,2,Λk0(the sub-code RSC2 corresponding to the Turbo code).
b) Calculating an equivalent system information bit metric output { Lambda ] using the following algorithmk(sj;O),j=1,2,Λ,k0;k∈K}:
Λk(sj;O)=LPk(sj=+1;O)-LPk(sj=-1;O)。 (21)
Wherein <math> <mrow> <msub> <mi>LP</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mi>j</mi> </msup> <mo>=</mo> <msup> <mi>c</mi> <mi>j</mi> </msup> <mo>;</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>Σ</mi> <mrow> <mi>e</mi> <mo>:</mo> <msubsup> <mi>C</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>c</mi> <mi>j</mi> </msup> </mrow> </munder> <mo>⊕</mo> <mo>{</mo> <msub> <mi>A</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>c</mi> <mi>j</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <msub> <mi>Λ</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>c</mi> <mi>j</mi> </msup> <mo>;</mo> <mi>I</mi> <mo>]</mo> <mo>+</mo> <msub> <mi>B</mi> <mi>k</mi> </msub> <mo>[</mo> <msup> <mi>s</mi> <mi>E</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>]</mo> <mo>}</mo> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>22</mn> <mo>)</mo> </mrow> </mrow> </math>
The invention mainly solves the problem of iterative demodulation and decoding of the Turbo coding system adopting BPSK modulation under the unknown frequency offset and phase channels. A proposed based on Bar-David2P2Module [ I.Bar-David, and A.Elia, "" Augmented APP (A)2P2)Module for a Posteriori Probability Calculation andChannel Parameter Tracking,″IEEE Commun.Lett.,vol.3,no.1,Jan.,1999,pp.18-20]The invention provides ES-A2P2The module solves the measurement calculation problem of the system information bits required by decoding the second sub code RSC2 of the Turbo code. In addition, the present invention solves the problem of initial parameter estimation. So that ES-A2P2The tracking algorithm of the module can work reliably.
The ES-A provided by the invention2P2Module, compare with A2P2And the module is provided with an additional input end and an additional output end. The method is used for solving the problem of measurement calculation of the system information bit of the second subcode brought by a Turbo code interleaver. Due to the effect of interlacing, A2P2The CSM block of the modules is unable to complete the code word corresponding to RSC2 by effectively removing the effect of the channel parameters (frequency offset and phase)0Metric Λ of individual system information bitsk(cj;I),j=1,2,Λk0The computational problem of (2). And ES-A2P2The modules provide additional outputs to compute metrics corresponding to the system information bits, and thus the additional metrics computed by the RSC1 subcode for the system information bits are interleaved and sent to the equivalent system information bit additional inputs of the RSC2 subcode to compute metric problems for the system information bits that are difficult to compute over the channel. Inventive ES-A2P2The module has strong parameter tracking capability, thereby relaxing the requirement on the initial channel parameter estimation precision. Inventive ES-A2P2The module is simple to realize and can be realized by the existing FPGA technical hardware.
The invention provides a channel parameter initial estimation algorithm which can be effectively used for the problems of frequency deviation and phase estimation under an extremely low signal-to-noise ratio. For frequency offset estimation, the method does not need pilot frequency symbols, improves the utilization rate of a channel, and overcomes the defect that the common frequency offset estimation is difficult to work under low signal-to-noise ratio (lower than 0 dB). A small number of pilot frequency symbols are utilized, and an initial estimation algorithm of a channel phase is provided on the basis of frequency offset estimation. The estimation accuracy of the parameters can generally ensure the ES-A of the invention2P2The module can operate reliably on typical satellite channels.
The advantages and positive effects of the invention are summarized as follows:
1. the invention provides an ES-A (extended sequence-adaptive) adaptive to iterative demodulation and decoding of A Turbo coding BPSK (binary phase shift keying) system under frequency offset and phase unknown channels2P2Module, compare with A2P2And the module is provided with two additional input and output ends. Can be used to effectively solve the problem of the second sub-code brought by the Turbo code interleaverMetric computation problem of system information bits. (ii) a
2. ES-A of the present invention2P2The module is simple and practical when aiming at the special input conditions in the step 1 and is easy to realize digitally;
3. the initial frequency offset estimation algorithm can effectively work under the condition of low signal-to-noise ratio (lower than 0dB), and is easy to rapidly realize by adopting a digital signal processing technology;
4. the initial phase estimation algorithm of the invention adopts A small amount of pilot frequency symbols on the basis of initial frequency offset estimation, the realization is simple, and the estimation precision can meet the requirement of ES-A2P2The need for module tracking;
description of the drawings:
FIG. 1Turbo-code encoder architecture;
FIG. 2Turbo-code iterative decoder architecture;
FIG. 3 is a trellis coded diagram;
edges of the grid of FIG. 4 (An Edge of the trellis section);
FIG. 5 enhanced APP Module (A)2P2);
Wherein: CPE: a channel parameter estimation module; CSM: a channel parameter removing module for the channel input signal;
APP (a): a soft-in soft-out module of the subcodes; r iskBaseband complex signal representing input
FIG. 6 is a block diagram of an iterative decoding algorithm of a Turbo code BPSK system under unknown channel frequency offset and phase according to the present invention;
FPGA development structure schematic diagram of FIG. 7 example
Din denotes raw data, Ain denotes a priori information, Aout denotes extrinsic information, and Px0 denotes equivalent bit output. If ES-A2P2The module needs to average the estimated phases of FSMC and RSMC, then the portion shown in dashed box is added. In actual implementation, FSMC and BMC are calculated together, and RSMC and BMC are the same.
FIG. 8 illustrates an RSC encoder used in the example;
FIG. 9 is a schematic block diagram of a decoding hardware implementation;
FIG. 10 is a FSMC module implementation cell;
FIG. 11 a BMC module implementation unit;
FIG. 12LLR module unit;
FIG. 13 is a trellis diagram of the RSC used in the example;
FIG. 14 is a system performance diagram of an example
The abscissa of the graph is the signal-to-noise ratio Eb/N0, the ordinate is the Bit Error Rate (BER), and 4 curves in the graph represent the performance after the 1 st to 4 th iterative decoding from top to bottom respectively
The implementation scheme is as follows:
the overall scheme of the iterative demodulation decoding method of the present invention is shown in fig. 6.
The embodiment provides a development example of a Turbo code demodulation and decoding algorithm which is proposed in the third generation mobile communication system IMT-2000 high-speed service and is based on a CPLD chip EP20K400EBC652-2X of the Alter company under a typical frequency offset and phase unknown channel. The FPGA implementation of this example is shown in fig. 7, implementing a master clock of 32MHz, allowing a decoding rate of 115.2 kbps. The system has 5 additional external RAM blocks and one DSP chip (TMSC5402) where initial frequency offset and phase estimation is done. The division operation in the CPE module is realized by using a table lookup. Before further explanation of fig. 7, we first give specific coding parameters for the Turbo code chosen in the example.
The embodiment selects the channel coding of the third generation mobile communication system IMT-2000 high-rate service.The Turbo code of the preferred proposal consists of two identical recursive convolutional subcodes whose generator polynomials are (13, 15, 17)8Information frame length 2280, interleaving length 2298, total length 2304, and coding rate 1/2. The 1/2 rate Turbo code is obtained by concatenating two RSC mother codes and deleting it, as suggested by IMT 2000. The mother code selected for this example is shown in fig. 8.
The code rate adjustment in the Turbo code encoder is to adjust the code rate by deleting some check bits. In table 1, "1" indicates output, and "0" indicates deletion; (X, Y)0,Y1) Representing the output of a first RSC encoder, where X is an information bit and Y is0And Y1Is check digit, (X ', Y'0,Y’1) Representing the output of the second RSC encoder, X 'being information bit, Y'0And Y'1Is a check bit.
Note that for the 1/2 rate Turbo code, the Y1 and Y' 1 bit spaces are not used, and the scope of erasures is not included in the following description of this example. The erasure indication p is used only to tailor the erasure case for the Y0 and Y' 0 bits (p-0 means the bit is erased and p-1 means the bit is not erased).
Code rate R | |||
Output of | 1/2 | 1/3 | 1/4 |
X | 11 | 11 | 11 |
Y0 | 10 | 11 | 11 |
Y1 | 00 | 00 | 10 |
X’ | 00 | 00 | 00 |
Y’0 | 01 | 11 | 01 |
Y’1 | 00 | 00 | 11 |
Code rate adjustment for non-return-to-zero bits in a table
Note: for each code rate, the table is read from top to bottom and from left to right
Assuming in this example that the channel is a typical satellite constant reference channel, the initial normalized frequency offset (relative to the symbol transmission rate) of the channel is assumed to be randomly chosen at Δ fT ∈ (0, 0.1), while the unknown phase of the channel is the phase between the randomly chosen (0, 2 π).
Selecting algorithm parameters:
(1) to estimate the initial phase, the number of pilots transmitted is 20 per frame.
(2) Initial frequency offset estimation (22-23) the algorithm, the FFT length is selected to be N1024, and P is 1;
(3) the iterative decoding of the system adopts the algorithm shown in fig. 5, wherein the CPE module parameters are selected as: channel with a plurality of channels
Memory length L128;
the overall framework of demodulation decoding for the above scenario is shown in fig. 6.
FIG. 9 is A schematic block diagram of an iterative decoding algorithm hardware implementation of A CPLD for implementing A Turbo code under unknown frequency offset and phase, in order to save on-chip resources, and according to the practical situation of the algorithm-two ES-A2P2The sub-decoders can not work simultaneously, and the same ES-A is time division multiplexed when the hardware is realized2P2And (5) modules.
The key in this decoder is ES-A2P2The CPLD implementation structure of the sub-decoder is shown in FIG. 7. The main chip consists of a piece of EP20K400EBC652-2X of Altera company, a piece of DSP chip TMSC5402 of TI company and 6 external RAM chips. The DSP chip is used for estimating initial frequency deviation and carrier phase, works only at the beginning of each frame, and transmits the result to the main CPLD chip through the RAM to start ES-A2P2And a core decoding algorithm module.
And ES-A2P2There are four main parts in the algorithm module: forward state metric calculation module (FSMC), backward state metric calculation module (RSMC), log likelihood ratio calculationA module (LLR) and a branch metric calculation module (BMC). And 6 pieces of external RAM (A, B, C, D, E, F) are used to store intermediate calculation results for the FSMC module and the RSMC module. Where an external RAM-F is used to store frame data (received samples) from the channel, the initial parameter estimates computed by the DSP chip are also stored on the chip RAM.
The computing structures of the specific FSMC and the RSMC are very similar, and the computing process is described by taking the FSMC as an example. For FSMC, there are two options: parallel computation and serial computation. If parallel computing is adopted, the clock needed by computing an FSM is less, but the hardware resource needed by computing is more than that of serial computing, and the computed data needs to be stored in an off-chip RAM at the same time and read at the same time, so that the requirements on the size of the off-chip RAM and the hardware control are higher. We use serial calculations (as in fig. 10).
As can be seen from FIG. 10, the implementation flow of FSMC is not much different from the implementation flow of corresponding FSMC in the general APP decoding algorithm, and ES-A is actually used2P2The difference from APP is mainly reflected in BMC. ES-A2P2In BMC (as shown in FIG. 11), the influence of frequency offset and phase offset is removed, so that ES-A2P2The FSMC module in (1) is the same as the FSMC in the common APP.
We perform LLR calculation serially as well, as in fig. 12. In RSC1, we need to compute the equivalent output bit metrics (PS0) and the extrinsic information is supplied to RSC2 for use, in RSC2 we need only compute the extrinsic information if it is not the last iteration; if it is the last iteration, we only need to calculate the final log-likelihood ratio LLR.
And grid-based ES-A2P2The execution timing of the modules is shown in fig. 10. The method comprises the following specific steps:
1. calculating initial frequency offset omega of channel by using formula (22-25) for each framecAnd initial phase phicThe specific implementation can be implemented on a Digital Signal Processing (DSP) chip, and the calculated parameter is set to χc=(Φc,Ωc). This parameter is sent to ES-A of RSC12P2A module;
2. the decoder performs iterative decoding based on the framework of fig. 6 (and based on fig. 9 in hardware implementation), and in one iteration, the RSC1 subcode is decoded first, and then the RSC2 subcode is decoded, so that the next iterative decoding is continued after one iteration is completed;
3. when the iteration time t is 1, the ES-A of RSC1 subcode is executed2P2And (5) modules. The ES-A2P2The modules proceed based on the trellis timing as in fig. 13, and for an RSC subcode with code rate 1/2, trellis time k is 0, 1, 2. And code words (X, Y) on the edges (Edge) between two adjacent states0,Y1) Has a bit timing of 2k + j, j being 1, 2.
1) At grid time k 0, ES-A2P2The module performs the following initialization tasks: performing parameter assignment χ on all states0(s0)=χc,s0=0,1,2,...,7。
2) At the grid time k is 0, the forward iteration metric A is takenkThe initial values of(s) are set to:S0is the initial state of the convolutional code;
3) from the grid time k-1 to the grid time k, based on the Edge (Edge), from Ak-1(s) calculation of Ak(s). As in fig. 13, for a certain state s at the time k of the trelliskIt is assumed that it can be represented by two states s at trellis time k-1k-1 1And sk-2 2Transfer to obtain the corresponding edge as e1And e2(ii) a Opposite edge e1;
(a) First setting an initial value <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>χ</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>s</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math>
(b) CPE module works based on bit timing of code word on edge, calculates in succession <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>CPE</mi> <mrow> <mo>(</mo> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>p</mi> <mo>·</mo> <msub> <mi>r</mi> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1,2</mn> <mo>;</mo> </mrow> </math> Wherein p ═ 1 represents the compound
The corresponding bit of the RSC subcode is not deleted, and p is 0 to indicate that the bit is deleted;
(c) calculating the forward metric for each edge according to equations (14) (16)Find outThen updates the corresponding state s at the grid time kkIs/are as follows
(d) While calculating a forward metric A according to equations (1) (16)k(s)。
4) At grid time k 2298, the forward iteration ends and the backward iteration begins. Backward iterative metric BkInitial value setting of(s):Snis the final state of the convolutional code;
5) from grid time k +1 to grid time k, based on Edge (Edge), from Bk+1(s) calculation of Bk(s); as in fig. 13, for a certain state s at the time k of the trelliskSuppose it can be represented by two states s at trellis time k +1k+1 1And sk+2 2Transfer to obtain the corresponding edge as e1And e2(ii) a Opposite edge e1。
(e) First setting an initial value <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mn>2</mn> <mi>k</mi> <mo>+</mo> <mn>2</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>χ</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>s</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math>
(f) CPE module works based on bit timing of code word on edge, calculates in succession <math> <mrow> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>CPE</mi> <mrow> <mo>(</mo> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>j</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>p</mi> <mo>·</mo> <msub> <mi>r</mi> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1,2</mn> <mo>.</mo> </mrow> </math> Wherein p ═ 1 represents
The corresponding bit of the RSC subcode is not deleted, and p is 0 to indicate that the bit is deleted;
(g) calculating a backward measure for each edge according to equations (15) (16) <math> <mrow> <msub> <mover> <mi>m</mi> <mi>σ</mi> </mover> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mover> <mi>m</mi> <mi>σ</mi> </mover> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Find out <math> <mrow> <msub> <mi>e</mi> <mi>max</mi> </msub> <mo>=</mo> <munder> <mi>max</mi> <mi>e</mi> </munder> <mo>{</mo> <msub> <mover> <mi>m</mi> <mi>σ</mi> </mover> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>e</mi> <mo>:</mo> <msup> <mi>s</mi> <mi>S</mi> </msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>s</mi> <mo>}</mo> <mo>,</mo> </mrow> </math> Then updates the corresponding state s at the grid time kkIs/are as follows
Parameter(s) <math> <mrow> <msub> <mi>χ</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>s</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>χ</mi> <mi>ρ</mi> </mover> <mrow> <mn>2</mn> <mi>k</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>e</mi> <mi>σ</mi> </mover> <mi>max</mi> </msub> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math>
(h) Calculating the backward measure B according to the formulas (2) and (16)k(s);
(i) Calculating Lambda according to equations (4), (6) and (16)k(uj(ii) a O) and output, calculating Lambda from (21), (22) and (16)k(sj;O)
And outputting;
6) and (5) the backward iteration is finished until the grid time k is equal to 0.
4. When the iteration time t is 1, the ES-A of RSC2 subcode is executed2P2And (5) modules. The ES-A2P2The module proceeds based on the grid timing as in fig. 13, except with respect to Λk(cj(ii) a I) Calculation of j-1, which implements ES-A completely analogous to RSC1 described in step 32P2Module, and Λk(cj(ii) a I) The calculation of j-1 cannot be performed by (16) since the channel does not provide a corresponding sample of the system information bits of RSC1, but instead the Λ output by the RSC1 subcode is changed herek(sj(ii) a O) providing, the output is set to be Lambda after interleavingk(sj(ii) a I) Put Λk(cj;I)=Ak(sj(ii) a I) J is 1, the calculation can be completed;
5. if the iteration time t is equal to the preset iteration time, outputting a decoding value, otherwise, setting t to t +1, and going to 3 to continue execution.
The performance of this example over 4 iterations under a typical constant reference channel is shown in fig. 14, from which fig. 14 can be seen:
1. BPSK modulation is adopted, under 4 iterations, the performance difference between the text algorithm under unknown frequency offset and phase and the performance under AWGN is only within 0.4 dB;
2. the algorithm complexity is as follows: the algorithm complexity of the invention is about 2 times of that of the decoding algorithm under AWGN.
While the invention has been shown and described with reference to certain particular embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (7)
1. An iterative demodulation decoding method of a Turbo coding BPSK modulation system comprises the following steps:
1) splitting a channel receiving signal and transmitting the split channel receiving signal to two corresponding sub-decoders, namely a sub-decoder 1 and a sub-decoder 2;
2) after receiving the channel receiving signal, the sub-decoder 1 executes a CPE module on the basis of a grid through a soft-in soft-out module thereof to obtain demodulated side estimation channel parameters, executes a CSM module to obtain an equivalent AWGN channel signal, then transmits the obtained equivalent AWGN channel signal to an APP module of the soft-in soft-out module, and the APP module calculates branch metric, forward state metric and backward state metric, and then calculates output external information and equivalent system information bit metric;
3) after receiving the channel signal, the sub-decoder 2 executes a CPE module and a CSM module on the received signal on the basis of a grid through a soft-in soft-out module thereof, transmits the obtained equivalent AWGN channel signal to an APP module of the soft-in soft-out module, receives the equivalent AWGN channel signal, the external information output by the sub-decoder 1 and the bit measurement of the interleaved equivalent system information, calculates and outputs the external information, and transmits the external information to the sub-decoder 1 to finish one iteration;
4) the sub-decoder 1 receives the output extrinsic information of the sub-decoder 2, calculates the bit metrics of the output extrinsic information and the equivalent system information again, and the sub-decoder 2 receives the output of the sub-decoder 1, calculates the output extrinsic information again, transmits the output extrinsic information to the sub-decoder 1, and completes the iteration again;
5) after the iteration times reach the preset value, the output external information of the sub-decoder 2 is deinterleaved and then hard decision is carried out to obtain the estimated value of each information bit, and decoding is completed.
2. The iterative demodulation and decoding method for a Turbo encoded BPSK modulation system as claimed in claim 1, wherein an initial frequency offset estimation and an initial phase estimation are performed on the channel received signal, and the estimated values are transmitted to the two sub-decoders, respectively.
3. An iterative demodulation decoding device of a Turbo coding BPSK modulation system comprises two sub-decoders, a sub-decoder 1 and a sub-decoder 2, wherein each sub-decoder comprises a CPE module and calculates demodulated edge estimation channel parameters; a CSM module for calculating equivalent AWGN channel signals; and an APP module, executing the CPE module and the CSM module on the grid edge, receiving the output of the CSM module of the CPE module, calculating branch metric, forward state metric and backward state metric, and then calculating output external information; the method is characterized in that the sub-decoder 1 is also provided with an equivalent information bit output end, the sub-decoder 2 is provided with an equivalent information bit input end, and equivalent information bits output by the equivalent information bit output end of the sub-decoder 1 are input to the equivalent information bit input end of the sub-decoder 2 after being interleaved.
4. The iterative demodulation and decoding apparatus for a Turbo encoded BPSK modulation system as claimed in claim 3, further comprising an initial frequency offset estimation module and an initial phase estimation module for calculating an initial estimation value of frequency offset and an initial estimation value of phase, respectively, and inputting the initial estimation values to the two sub-decoders.
5. The iterative demodulation and decoding apparatus for Turbo encoded BPSK modulation system of claim 3 or 4, wherein said APP module comprises a BMC module, which calculates and outputs branch metrics; the FSMC module receives the output of the BMC module, calculates and outputs forward state measurement; the RSMC module receives the output of the BMC module, calculates and outputs backward state measurement; and the LLR module receives the outputs of the BMC module, the FSMC module and the RSMC module, calculates and outputs the external information and the equivalent information bit for the sub-decoder 1, calculates and outputs the external information for the sub-decoder 2, and calculates and outputs an LLR in the last iteration.
6. The iterative demodulation and decoding device of Turbo coding BPSK modulation system according to claim 5, wherein the initial frequency offset estimation module and the initial phase estimation module are fixed on a DSP chip, the CPE module, the CSM module and the APP module of the two sub-decoders are fixed on a main CPLD chip, the DSP chip transmits the calculation results of the initial frequency offset estimation module and the initial phase estimation module to the main CPLD chip through RAM; the intermediate calculation results of the respective modules are stored in the RAM.
7. The iterative demodulation and decoding apparatus for a Turbo encoded BPSK modulation system as claimed in claim 5, wherein the sub-decoder 1 and the sub-decoder 2 are the same decoder time-division multiplexed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03137079 CN1209885C (en) | 2003-06-18 | 2003-06-18 | Method and device of iterative demodulation and decode for BPSK modulating system by Turbo encoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03137079 CN1209885C (en) | 2003-06-18 | 2003-06-18 | Method and device of iterative demodulation and decode for BPSK modulating system by Turbo encoding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1463084A true CN1463084A (en) | 2003-12-24 |
CN1209885C CN1209885C (en) | 2005-07-06 |
Family
ID=29748533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03137079 Expired - Fee Related CN1209885C (en) | 2003-06-18 | 2003-06-18 | Method and device of iterative demodulation and decode for BPSK modulating system by Turbo encoding |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1209885C (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045842A1 (en) * | 2008-10-23 | 2010-04-29 | 华为技术有限公司 | A method for calculating extrinsic information during decoding, a decoder and a turbo decoder |
CN101854229A (en) * | 2010-05-14 | 2010-10-06 | 中国人民解放军理工大学 | Iteration demodulation decoding method of encoded modulation signals based on climax frequency deviation compensation |
CN101286817B (en) * | 2008-04-03 | 2011-07-20 | 浙江大学 | General decoding method for conventional binary and double-binary Turbo code |
CN101179354B (en) * | 2006-11-09 | 2011-11-16 | 凌阳科技股份有限公司 | Method and system for decoding instant estimation of wireless channel |
CN102437995A (en) * | 2012-01-31 | 2012-05-02 | 电子科技大学 | Iterative carrier synchronizing method and system based on code-by-code iterative detection |
CN105490775A (en) * | 2015-11-30 | 2016-04-13 | 桂林电子科技大学 | Multilevel-quadrature amplitude modulation (M-QAM) signal based bit log-likelihood ratio quantification method |
CN109286588A (en) * | 2017-07-21 | 2019-01-29 | 北京遥感设备研究所 | A kind of binary phase shift keying signal initial phase estimation method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8548000B2 (en) * | 2006-04-04 | 2013-10-01 | Samsung Electronics Co., Ltd. | Dual transmission stream generating device and method |
-
2003
- 2003-06-18 CN CN 03137079 patent/CN1209885C/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179354B (en) * | 2006-11-09 | 2011-11-16 | 凌阳科技股份有限公司 | Method and system for decoding instant estimation of wireless channel |
CN101286817B (en) * | 2008-04-03 | 2011-07-20 | 浙江大学 | General decoding method for conventional binary and double-binary Turbo code |
WO2010045842A1 (en) * | 2008-10-23 | 2010-04-29 | 华为技术有限公司 | A method for calculating extrinsic information during decoding, a decoder and a turbo decoder |
CN101854229A (en) * | 2010-05-14 | 2010-10-06 | 中国人民解放军理工大学 | Iteration demodulation decoding method of encoded modulation signals based on climax frequency deviation compensation |
CN101854229B (en) * | 2010-05-14 | 2013-04-24 | 中国人民解放军理工大学 | Iteration demodulation decoding method of encoded modulation signals based on climax frequency deviation compensation |
CN102437995A (en) * | 2012-01-31 | 2012-05-02 | 电子科技大学 | Iterative carrier synchronizing method and system based on code-by-code iterative detection |
CN105490775A (en) * | 2015-11-30 | 2016-04-13 | 桂林电子科技大学 | Multilevel-quadrature amplitude modulation (M-QAM) signal based bit log-likelihood ratio quantification method |
CN105490775B (en) * | 2015-11-30 | 2019-01-18 | 桂林电子科技大学 | A kind of quantization method of the bit log-likelihood ratio value based on M-QAM signal |
CN109286588A (en) * | 2017-07-21 | 2019-01-29 | 北京遥感设备研究所 | A kind of binary phase shift keying signal initial phase estimation method |
CN109286588B (en) * | 2017-07-21 | 2021-02-26 | 北京遥感设备研究所 | Method for estimating initial phase of binary phase shift keying signal |
Also Published As
Publication number | Publication date |
---|---|
CN1209885C (en) | 2005-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6298461B1 (en) | Encoding and decoding methods and apparatus | |
JP4092352B2 (en) | Decoding device, decoding method, and receiving device | |
US8751907B2 (en) | Joint encoding and decoding methods for improving the error rate performance | |
US8352840B2 (en) | Event cleanup processing for improving the performance of sequence-based decoders | |
CN1557052A (en) | Appartaus and method for reducing bit error rates (BER) and frame error rates (FER) using turbo decoding in a digital communication system | |
US6393076B1 (en) | Decoding of turbo codes using data scaling | |
CN1711712A (en) | Iterative decoding with likelihood weighting | |
JP4229948B2 (en) | Decoding device, decoding method, and receiving device | |
US8413021B2 (en) | Efficient soft value generation for coded bits in a turbo decoder | |
Thobaben et al. | Robust decoding of variable-length encoded Markov sources using a three-dimensional trellis | |
Shaheen et al. | Performance analysis of high throughput map decoder for turbo codes and self concatenated convolutional codes | |
CN1463084A (en) | Method and device of iterative demodulation and decode for BPSK modulating system by Turbo encoding | |
CN1710815A (en) | Non-logarithm-domain high-speed maximum posteroir probability Turbo decoding method | |
CN1294706C (en) | Iterative demodulating-decoding method and apparatus for code modulation system having output external information | |
Yue et al. | On the FER performance and decoding complexity of turbo codes | |
JP3624855B2 (en) | Normalization device, method, program, recording medium recording the program, and communication terminal device | |
CN1221113C (en) | Method and device of chennel decoding based on reliability enhanced deleting convolution code and QAM modulated code | |
Gracie et al. | Performance of an MLSE-based early stopping technique for turbo codes | |
US8924811B1 (en) | Fast, efficient architectures for inner and outer decoders for serial concatenated convolutional codes | |
CN1614897A (en) | MAP decoder having a simple design and decoding method thereof | |
Chemak et al. | Near Shannon limit for turbo code with short frames | |
CN1561056A (en) | Digital demodulated bit flow soft information acquiring method of multi-level adjusting mode | |
Thangarajah et al. | A novel simplified Log-MAP algorithm suitable for hardware implementation of turbo decoding | |
Papaharalabos et al. | Modified log-MAP algorithm for simplified decoding of turbo and turbo TCM codes | |
EP0949779A2 (en) | Encoding methods and apparatus |
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |