Thesis for the degree of Licentiate Engineering
Some Concatenated and Iterative Decoding Approaches for Continuous Phase Modulation Ming Xiao
Department of Computer Engineering CHALMERS UNIVERSITY OF TECHNOLOGY G¨oteborg, Sweden 2004
Some Concatenated and Iterative Decoding Approaches for Continuous Phase Modulation c 2004 by Ming Xiao. MING XIAO Copyright
All rights reserved.
Technical report No. 41L ISSN 1651-4963 School of Computer Science and Engineering Chalmers University of Technology SE-412 96 G¨ oteborg Sweden Telephone: +46 (0)31-772 1000
Contact Information: Telecommunication Theory Group Department of Computer Engineering Chalmers University of Technology SE-412 96 G¨ oteborg Sweden Telephone: Fax: E-mail: URL:
+46 (0)31-772 1000 +46 (0)31-772 3663
[email protected] http://www.ce.chalmers.se/TCT
This thesis was prepared with LATEX and reproduced by Chalmers Reproservice from camera-ready copy supplied by the author. G¨ oteborg, Sweden, December 2004
Some Concatenated and Iterative Decoding Approaches for Continuous Phase Modulation MING XIAO Department of Computer Engineering, Chalmers University of Technology
Abstract Several concatenated and iterative decoding approaches are used to improve the power efficiency of continuous phase modulation (CPM). First a symbol interleaver is used for serially concatenated CPM (SCCPM). Convergence of iterative decoding for this scheme can be earlier (lower SNR: Signal-to-Noise-Ratio) compared to bit interleaved SCCPM. Then a ring convolutional code (CC) is used as the outer code in this symbol interleaved SCCPM. By setting the denominator of the CPM modulation index equal to the alphabet size of the system (CPM, interleaver and ring CC), a natural combination of them is achieved. Further improvements on earlier convergence or error floors are achieved with this scheme. Finally, irregular repeat accumulate (IRA) codes with CPM (IRCPM) are considered. CPM now takes the role of the accumulator. This scheme shows even earlier convergence than SCCPM. To analyze the error floor performance, we derive the union bound for symbol interleaved SCCPM. In this bound analysis, we have to consider the order of nonzero permuted difference symbols that are not identical. We also derive the union bound for IRCPM from its equivalent structure. This structure introduces a virtual interleaver before CPM. Thus, the union bound analysis for SCCPM is now applicable. Keywords: Continuous phase modulation, serially concatenated codes, iterative decoding, irregular repeat accumulate code, union bound, error floor, EXIT chart, convergence threshold.
iv
Contents
Contents Acknowledgments
vii
Acronyms
ix
1 Introduction 1.1 Background . . . . . . . . . . . . 1.2 Current Problems . . . . . . . . . 1.3 Thesis Outline . . . . . . . . . . 1.4 New Results . . . . . . . . . . . . 1.5 Published and Submitted Papers
. . . . .
. . . . .
1 1 4 5 6 7
2 Serially Concatenated CPM with a Symbol Interleaver 2.1 System Description . . . . . . . . . . . . . . . . . . . . . . 2.2 Performance Analysis Methods . . . . . . . . . . . . . . . 2.2.1 Convergence Threshold . . . . . . . . . . . . . . . 2.2.2 Union Bound . . . . . . . . . . . . . . . . . . . . . 2.3 A Deeper Investigation of Symbol Interleaved Systems . . 2.3.1 Comparisons between symbol and bit interleavers . 2.3.2 Maximum Interleaver Gain . . . . . . . . . . . . . 2.3.3 Mapping Rules . . . . . . . . . . . . . . . . . . . . 2.4 Numerical Results and Conclusions . . . . . . . . . . . . .
. . . . . . . . .
9 9 11 11 14 26 27 29 31 32
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
3 Serially Concatenated CPM with Ring Convolutional Codes 33 3.1 System Description . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.1 A Brief Introduction to CC over Rings . . . . . . . . 34 3.1.2 System Schematic . . . . . . . . . . . . . . . . . . . 34 3.1.3 SISO over Rings . . . . . . . . . . . . . . . . . . . . 35 v
vi
Contents 3.2
3.3
3.4 3.5
System Analysis . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Convergence Threshold . . . . . . . . . . . . . . . . 3.2.2 Union Bound . . . . . . . . . . . . . . . . . . . . . . System Properties . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Interleaver Gain and Free Distances . . . . . . . . . 3.3.2 Search for good outer codes . . . . . . . . . . . . . . 3.3.3 Comparisons between Ring CC and Binary CC Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . Design Principles . . . . . . . . . . . . . . . . . . . . . . . . Numerical Results and Conclusion . . . . . . . . . . . . . .
4 Irregular Repeat CPM with Iterative Decoding 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Irregular Repeat CPM . . . . . . . . . . . . . . . . . . 4.3 System Properties . . . . . . . . . . . . . . . . . . . . 4.4 EXIT Chart/Function Analysis . . . . . . . . . . . . . 4.5 Union Bound . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Equivalent Structure . . . . . . . . . . . . . . . 4.5.2 Weight Function for Irregular Repetition Codes 4.5.3 Effects of Check Nodes . . . . . . . . . . . . . . 4.5.4 An Example . . . . . . . . . . . . . . . . . . . 4.6 Design Considerations . . . . . . . . . . . . . . . . . . 4.7 Numerical Results and Conclusions . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
37 37 38 39 39 43 46 50 51 53 53 54 58 60 64 64 65 68 71 72 73
5 Conclusions and Suggestions for Future Work
75
A Abstract Algebra Basics
79
B Difference Symbol Spectrum Search Algorithm for the Outer Codes of the General SCC 81 C Maximal Interleaver Gain Search Algorithm
85
D More Numerical Results for SCCPM
87
References
91
Acknowledgments I am deeply grateful to many people for assisting me. It would be impossible for me to finish this work without them. First of all, I would like to thank my supervisor professor Tor Aulin for giving me the chance to do this interesting research. His patient guidance, sound knowledge on this field and insight on the research has been invaluable to me throughout my work here. Further, I would like to thank my previous and current colleagues at the TCT group and computer engineering department for their kind help, invaluable discussions and timely support. I also feel very indebted to my friends and the people who have helped me when I was in difficulties. Finally, I would like to thank my family: Yuan and parents for their love, understanding and support.
vii
viii
Acknowledgments
Acronyms CC MAP CPM SCCPM MSK APP SCC SCCC SISO AWGN BER NSED RA LDPC IRA IRCPM LLR EXIT MI SNR GF IG FSM CEWF MM CPE BPSK
convolutional codes maximum a posteriori continuous phase modulation serially concatenated continuous phase modulation minimum shift keying a posteriori probability serially concatenated codes serially concatenated convolutional codes soft-in and soft-out additive white Gaussian noise bit error rate normalized squared Euclidean distance repeat accumulate low-density parity check irregular repeat accumulate irregular repeat continuous phase modulation log-likelihood ratio extrinsic information transfer mutual information signal to noise ratio Galois field Interleaver Gain finite state machine conditional weight enumerating function memoryless modulator continuous phase encoder binary phase shift keying ix
x
Acronyms BCJR QPSK QAM FSK LDGM UEP DS PM CT SPC
Bahl-Cocke-Jelinek-Raviv quadrature phase shift keying quadrature amplitude modulation frequency shift keying low-density generating matrix uniform error property difference sequence phase modulation convergence threshold single parity check
Chapter 1
Introduction The work described in this thesis treats some aspects of digital information transmission over noise-disturbed wireless channels. The focus is on continuous phase modulation (CPM). Especially, we have investigated some concatenated systems and iterative decoding methods that can improve the power efficiency of a given CPM system.
1.1
Background
Digital communications has experienced a tremendous development over the past decades. This is mainly due to the continuously increasing demand on the high-speed voice and data services. In a practical digital communication process, a discrete information source is usually encoded and modulated before transmission. The use of an encoder is to protect the transmitting signals from the disturbance of the channel noise. Among various noise sources, we only consider the thermal noise that exists in all electrical circuits and can be modelled as the additive white Gassuian noise (AWGN) [48]. Due to the distortion from this noise, an essential aspect of digital communications is to transmit information reliably and efficiently. The performance is mainly measured by the power efficiency of the systems, or the bit error rate (BER) at a given signal-to-noise ratio (SNR) (or vice versa). On the other hand, the main purpose of the modulation is to make the transmitting signals suitable for transmission over various channels. In the modulator, codewords from the encoder are mapped into channel symbols. These can e.g. be waveforms for a radio channel. 1
2
Chapter 1
Common modulation techniques include amplitude modulation (AM), frequency modulation (FM), phase modulation (PM) and continuous phase modulation (CPM) etc. At the receiver side, demodulation and decoding is taking place. The process is described in Figure 1.1. information source
-
- modulating
encoding
noise output information
decoding
demodulation
? -L
Figure 1.1: A common digital communication process. In his landmark paper, Shannon showed that, by proper encoding, errors induced by a noisy channel can be reduced to any level without sacrificing the rate of information transmission, as long as the information rate is less than a certain value [58]. The value (ηmax in bits/second/Hz) is called the channel capacity and determined by the SNR. If expressed in SNR, it must be larger than a minimum value for reliable communications over a noisy channel. Equation (1.1) shows this. The minimum SNR is usually called the Shannon limit [48], [57]: SN R ,
Eb 2ηmax − 1 ≥ N0 ηmax
(1.1)
where Eb denotes the information bit energy. By this is meant the energy expended at any information bit. We assume that a noisy channel has a double-sided power spectral density (PSD) N0 /2 [48]. After Shannon’s work, much effort has been done on coding techniques for efficient and reliable digital communications in noisy environments. Concatenated codes, first addressed by Forney [19], is a powerful way to improve the power efficiency on AWGN channel with manageable decoding complexity. In this scheme, more than one encoder is used to serially encode the information bits. Information bits are first encoded by the outer code, then these outer codewords are interleaved and feed to the inner codes. The outer code, interleaver and inner code can be seen as one overall
3 code. At the receiver side, however, optimal decoding is impractical in general because the complexity of the overall code increases exponentially with interleaver size. Here optimal decoding means that the probability of decoding correctly is maximized [67]. Thus, a suboptimal approach is used in practice: the inner decoder produces a posteriori probabilities (APP) [67] of inner information bits, then they are deinterleaved and feed to outer decoder for final decoding. The invention of turbo codes (parallel concatenation of two recursive convolutional codes) in 1993 [14] opened a new era in coding research. It showed that near Shannon limit performance is possible. Since then, lots of research has been carried out on concatenated codes separated by a pseudorandom interleaver. The main difference between turbo codes and Forney’s concatenated codes is the decoding approach. In turbo codes, iterative decoding approach is used. Two soft-in soft-out (SISO) processors separately calculate extrinsic information that is exchanged between the component decoders [14]. In [11], serially concatenated codes (SCC, see Figure 1.2) with iterative decoding showed comparable performance to the original turbo code. The excellent performance of these concatenated systems is achieved at the price of increasing system complexity compared to traditional non-concatenated systems. Yet due to iterative decoding, complexity is still manageable. An important feature of SCC is that it can be efficiently combined with traditional coded modulation by taking the latter to be the inner code. These coded modulation schemes can be trellis coded modulation (TCM) [9], differential phase modulation [27] or CPM [43], [46]. As a class of excellent digital modulation schemes, CPM has constantenvelope and carries information in the phase trajectories of the channel symbols [6], [2]. Also, in the modulation process, CPM signals can have a trellis coding structure by using a phase state memory (or a phase accumulator). Thus, it can be treated as a form of the trellis coded modulation. This phase memory also avoids any sharp phase changes and makes CPM signals compact in frequency spectrum. Thus, CPM is both power efficient and bandwidth efficient. These advantages make CPM especially suitable for wireless digital communication systems that employ inexpensive nonlinear power amplifiers. In [2], [51], it was showed that a CPM scheme with a modulation index h = K P (K and P are relatively prime positive integers) can be decomposed into a continuous phase encoder (CPE) followed
4
Chapter 1 source bits - outer encoder
- interleaver
- inner encoder noise
output bits
outer decoder
deinterleaver
? -L
inner decoder
- interleaver
Figure 1.2: Serially concatenated codes with iterative decoding. by a memoryless modulator (MM), where the CPE is linear over the ring of integers modulo P . In order to obtain a further improvement in power efficiency, CPM was combined with an external binary convolutional code (CC) in [2], [34]. In this scheme, if the alphabet size of CPM is not binary, a binary-to-M -ary mapper is usually used to transfer the information bits to the CPM input symbols. Motivated by SCC codes and by exploring the built-in coding property in CPM, serially concatenated CPM (SCCPM), i.e., coded and interleaved CPM with iterative decoding was proposed and showed significant improvements in power efficiency [43], [46]. In this scheme, bit interleaving and a binary CC were used as SCC [11]. The CPM modulator is used as the inner encoder and no extra inner convolutional codes are used. Thus the power efficiency of CPM can be improved significantly while the system complexity is controlled under a reasonable level.
1.2
Current Problems
With the success of SCCPM, two questions come naturally: 1. How to improve the SCCPM scheme? 2. Is this the ultimate solution to the power efficiency of the CPM scheme? Are there any other better schemes?
5 In trying to answer these two questions, we notice the following related facts: Though SCC improves greatly the power efficiency of transmitting signals, the convergence threshold for SCC coded systems are still substantially higher than the Shannon limit [17]. Here the convergence threshold means the lowest SNR at which the information BER can be made arbitrarily small by increasing the interleaver size and number of iterations. On the other hand, some technologies can improve the convergence thresholds of SCC coded systems. These include symbol interleaving and using a non-binary outer codes etc. Further, some other concatenated and iterative decoding schemes, such as irregular repeat accumulate (IRA) codes, show superior performance to SCC in low SNR regions. These performance improving approaches have not been used for CPM. Finding the Shannon limit [58] for CPM is an unsolved problem. Yet due to the similarity between SCC and SCCPM, these facts remind us that we still can improve the power efficiency of CPM from SCCPM. If we use these performance improving approaches in CPM, then lower convergence thresholds may be achieved for CPM systems. Thus, we can answer these two questions in some sense.
1.3
Thesis Outline
In trying to answer these two questions above, we will not only show that SCCPM itself can be improved substantially but also propose a new scheme that can have better results in this thesis. We will now outline the structure of the thesis: In Chapter 2, we will investigate SCCPM with symbol interleavers. This is motivated by several previous papers [20], [25], [56]. In their results, SCC with symbol interleavers shows much lower convergence thresholds compared to bit interleaved system when other conditions are same. In these papers, however, there is no explanation on the underlying reason and how to design systems. We will show that this principle also applies for SCCPM. Further, we will unravel the reasons through error event analysis, and some principal properties are identified. We shall also generalize the union bound for bit interleavers to the case of non-binary interleavers. The analysis is very general, and it can be used in many other symbol
6
Chapter 1
interleaved systems. In Chapter 3, we not only change the interleaver type, but also the outer code type. We use convolutional codes over the integer ring moduloP . In [37], a ring CC and PM were first combined to encode and modulate information symbols, respectively. The scheme is motivated by the fact that PM and ring CC both work on the integer ring. In [52], [71], a ring CC was combined with CPM and extra performance improvements were reported. The combination with CPM was mostly motivated from the observation that the CPE is a ring CC over the integers P . Thus, this produces a natural combination of the two if M = P . In this chapter, we extend this idea to SCCPM and get the performance improvement too. To better explore the systems, some design principles are proposed. In Chapter 4, we apply the principle of IRA [29] coding to CPM and propose irregular repeat CPM (IRCPM). By exploring the phase accumulate property in CPM, we use it as the accumulator of IRA codes. Thus, the convergence thresholds of CPM can be further improved compared to SCCPM. We use the extrinsic information transfer (EXIT) chart [61] to optimize the system structure. Some interleaver designing principles and necessary conditions for successful decoding are discussed too. To analyze the performance in the high SNR region, we derive the union bound by using an equivalent system structure that introduces a virtual interleaver.
1.4
New Results
The main contributions of the thesis are briefly listed as follows: 1. Using a symbol interleaver for SCCPM. 2. Deriving the union bound for symbol interleaved SCCPM. 3. Investigating different properties between symbol interleaved SCCPM and bit interleaved SCCPM. 4. Using a ring CC for SCCPM. 5. Combining CPM with IRA codes. 6. Deriving the union bound for IRCPM.
7
1.5
Published and Submitted Papers
This thesis is partly based on the following publications and submissions: • M. Xiao and T. Aulin, “Serially Concatenated Continuous Phase Modulation with Ring Convolution Codes,” submitted to IEEE Transactions on Communications, Apr. 2004. • M. Xiao and T. Aulin, “Serially Concatenated Continuous Phase Modulation with Ring Convolution Codes,” in Proc. IEEE International Symposium on Information Theory, Chicago, USA, June 2004, p. 513. • M. Xiao and T. Aulin, “Irregular Repeat Continuous Phase Modulation,” submitted to IEEE Communications Letters, Sep. 2004. • M. Xiao and T. Aulin, “Serially Concatenated Continuous Phase Modulation with Symbol Interleavers: Performances, Properties and Design Principles,” to appear Proc. IEEE Global Telecommunications Conference, Dallas, USA, Nov. 2004. • M. Xiao and T. Aulin, “Serially Concatenated Continuous Phase Modulation with Symbol Interleavers: Performances, Properties and Design Principles,” submitted to European Transactions on Telecommunications. • M. Xiao and T. Aulin, “Design of Irregular Repeat Continuous Phase Modulation,” submitted to IEEE International Conference on Communications, 2005.
8
Chapter 1
Chapter 2
Serially Concatenated CPM with a Symbol Interleaver In this chapter, we will investigate SCCPM with a symbol interleaver. We first introduce its structure. Then we consider its performance using the union bound and EXIT charts. After that, we analyze and explain the properties of symbol interleaved systems by their error event analysis. Finally, we give the numerical results. 1 The readers are referred to [6] for the detailed terminology specifying CPM. Here we give a brief introduction to the notation that will appear in this chapter. It is customary to name the CPM scheme by the order of its alphabet size, frequency pulse length and type. For example, Q2RC is the name for CPM using the quadrature alphabet size, the frequency pulse length 2 and type raised cosine. In this thesis, we use octal notation to name the encoding matrix of the binary CC. For example, the binary CC (7, 5) is the octal encoding matrix of the binary CC [1 + D + D2 , D2 + 1] or (111, 101), D is the delay cells of CC [31], [8]. In the same way, (3, 2) is the octal form encoding matrix of the binary CC [1 + D, 1].
2.1
System Description
A schematic of a serially concatenated CPM system with a symbol interleaver is shown in Figure 2.1. 1
Part of this chapter will appear in [69].
9
10
Chapter 2 bits input - CC
- mapper
-
- CPM
π
i
P (C , O) bits output
P (C o , I) SISO for π −1 CC P (C o , O) P (U o , I) = 1/2 -
L ?
AWGN
SISO for CPM P (U i , I) P (U i , O)
π
Figure 2.1: Serially concatenated CPM with binary CC and symbol interleaver. Here π and π −1 denote the symbol interleaver and deinterleaver, respectively. It consists of a CPM modulator having alphabet size M , a symbol interleaver over M , a mapper to transfer the binary output from the CC to symbols ranging from 0 to M − 1, a binary CC and iterative decoders. Here we limit the denominator of the modulation index of the CPM scheme equivalent to M . With this limit, the weight-1 error event of SCCPM can be avoid by the result of [40]. It is well-known that the weight-1 error event is quite harm to serially concatenated systems. The received CPM signals have passed an AWGN channel whose noise has the double sided power spectral density N0 /2 [48]. Compared to the SCCPM in [41], [43], the position of the mapper is moved in front of the interleaver (towards the outer codes), and a symbol interleaver (size N symbols) over M is used. In this thesis, we use M = 2n+1 and n is a natural number. The sizes of symbol interleavers are measured in symbols in this thesis. At the receiver side, iterative decoding is used as in [11], [43] to decode this serially concatenated code. Two SISO (soft-in soft-out) [10] modules are used as a posteriori probability (APP) processors to decode CPM and CC, respectively. Compared to [41], the output from the CPM SISO (and input to the outer code) is extrinsic information for the outer codeword symbols (P (C o , O)) ( also denoted by P (U i , O) where U i s are symbols
11 instead of bits) [10]. Since the input extrinsic values for the outer SISO (P (C o , I)) are obtained directly from P (U i , O) through deinterleaving, no demapper is needed. This decreases the system complexity. Also, from [10], the calculation of the symbol probability has lower complexity than that of bit probabilities. Thus the overall system complexity is lower than that in [41], [43]. Here we assume that the font end CPM receiver (which produces sufficient statistics [64]) is coherent with known symbol timing.
2.2 2.2.1
Performance Analysis Methods Convergence Threshold
As stated in [41], the convergence threshold is one of the most important design parameters for SCCPM. The convergence threshold in the coding literature means the lowest signal-to-noise ratio (SNR) at which the information bit error rate (BER) can be made arbitrarily small by increasing the interleaver size and number of iterations [61]. Unfortunately, there is no direct mathematical approach to calculate the convergence threshold for a given concatenated system. Thus, either the density evolution method [50], [17] or the EXIT chart approach [60], [61] is used. They both are actually based on simulations. The density evolution method tracks the probability density function (PDF) of the extrinsic information messages that are passed between the component SISO modules. However, to track the true densities is a difficult task for concatenated codes with iterative decoding. In [14], the extrinsic information was observed to approach a Gaussian distribution after a number of iterations. This fact was utilized to simplify the density evolution method by tracking a single-parameter evolution in iterative decoding [23]. This Gaussian approximation is also noted and has been used in SCCPM with a bit interleaver [41], [45]. From simulations, we find that Gaussian approximation also holds for SCCPM with a symbol interleaver. An example is shown in Figure 2.2. On the other hand, the EXIT chart approach predicts convergence thresholds by using mutual information (MI) values in iterative decoding. The MI is defined as [8]:
12
Chapter 2 0.025
0.02
LLR density
← no iteration 0.015
0.01
30 iteration →
0.005
0 −15
−10
−5
0
5
10
LLR values
Figure 2.2: The log-likelihood ratio (LLR) density evolution of the iterative decoding process for SCCPM with a symbol interleaver. The CPM scheme is Q2RC and h = 14 . Here the LLR is defined as L = log PP0s (4 > s > 0 but fixed) if the transmitted symbols are 0s. Ps and P0 denote probability of a symbol equalling to s and 0, respectively. The interleaver size is 200, 000 symbols and the outer coder has the encoding matrix (7,5). The SNR is 1.2 dB.
Iπ = J(σ) = 1 −
Z
+∞
−∞
2
2
2
e−(y−σ /2) /2σ √ log2 1 + e−y dy 2πσ 2
(2.1)
where y is the observation of outer codewords (input to the inner code) at the receiver side and σ is its variance. As stated in [60], [61], the robustness of using the MI is that we do not need to make the Gaussian assumption that is short of a strict mathematical proof. Another advantage of the EXIT chart is that it is easier to implement: it is more robust against changes in the actual density [60] and its numerical values are confined to a pre-known range: [0, log2 M ]. Hence, we use EXIT charts in our systems to predict convergence thresholds. To calculate EXIT charts, two sequences of MI values are calculated during the iterative decoding process for the inner and outer decoder, respectively. Then, these MI values are drawn in a single figure to form two
13 decoding trajectories. The convergence threshold is determined when the trajectories just meet each other. For a concatenated system with a symbol interleaver, the calculation is based on symbol probabilities as in [56]. We now state the procedure as follows: first, the mutual information (MI) [8] between input symbols of the inner CPM and their corresponding random variables in the iterative decoding procedure are calculated. In practice, it is complex to use (2.1) directly to calculate the quantities of the MI. The practical approach is to evaluate the MI from simulations of the iterative decoding procedure for SCCPM using the following equation [56], [8]:
Iπ =
1 e N
N X
i=1,Si =0
M −1 X Pi,k (xi |Si = k) log2 M − log2 1 + Pi,0 (xi |Si = 0)
(2.2)
k=1
e denotes the number of the symbol 0 from the output of the outer where N codeword. N is the interleaver size. Pi,k (.), Pi,0 (.) denote the probability of a variable symbol being equal to k, k > 0 and 0, respectively, when the actual transmitted symbol is 0. With this approach, we can omit the tedious histogram calculation (for the variance in (2.1)) and operate directly on the simulation process [32]. Because CPM does not have the uniform error property (UEP) [2], [41], we can not use the all zero sequence alone as the transmitted sequence in the simulations. Therefore we can only make statistics from a special kind of outer codeword symbols, say symbol 0. We calculate the MI values between codewords of the outer code and corresponding random variables during every iteration. The MI values are evaluated twice after decoding of the CPM SISO and outer SISO processor in every iteration, respectively. Then these sequences of pairs of numbers are put in one figure as ordinate and abscissa points, respectively, to make the decoding trajectory for the inner CPM system. After that we reverse the abscissa and ordinate to get the decoding trajectory for the outer CC. Because the MI values may vary from one simulation to another (though with large interleaver sizes, the variation is quite small), we calculate the average MI by simulating multiple blocks and averaging these values to get the final results as in [61]. An example is shown in Figure 2.3 for CPM Q2RC. For comparison, we show the EXIT chart for the corresponding bit
14
Chapter 2 2 decoding trajectory for Q2RC with SNR 1.12dB decoding trajectory for Q2RC with SNR 1.14dB decoding trajectory for (7,5) code
1.8
I(CPM) in, I(CPM)out
1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
0
0.5
1 I((7,5)CC ) in, I((7,5)CC) out
1.5
2
Figure 2.3: EXIT charts for SCCPM with outer CC (7,5) (in octal form) and a symbol interleaver with size 200, 000 symbols. The CPM scheme is Q2RC and has modulation index h = 14 . interleaved SCCPM in Figure 2.4. We can see that the outer and inner decoding trajectories for symbol interleaved systems do match much better (The area between them is smaller). Since the area between the outer and inner decoding trajectories is proportional to the SNR loss between the convergence threshold and Shannon limit [3], this illustrates the earlier convergence property of symbol interleaved SCCPM. Simulation results showing the BER are in Figure 2.5. We can see that the simulation results also show the earlier convergence property of symbol interleaved SCCPM systems.
2.2.2
Union Bound
In addition to the convergence threshold, there are many other design parameters in SCCPM that we have to consider. Among them, the error floor is another key design parameter. Here the error floor means a part of the simulation curve in the BER vs SNR figure of the turbo-like codes
15 1 decoding trajectory for Q2RC decoding trajectory for (7,5) code
0.9
I(CPM) in, I(CPM)out
0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.2
0.4 0.6 I((7,5)CC ) in, I((7,5)CC) out)
0.8
1
Figure 2.4: Exit charts for SCCPM: (7,5) coded Q2RC with a bit interleaver. The interleaver size is 200, 000. CPM modulation index h = 41 . The SNR value is 1.95dB.
(concatenated codes with iterative decoding), and this part of the curve is flat at quite low BER (say lower than 10−4 ) [33]. The cause of the error floor is relatively small minimum distance of the turbo-like codes. The importance of investigating the error floor is because in practical systems, we can not have an infinite interleaver size (the decoding delay and complexity increase with the interleaver size) and an arbitrary number of iterations. Thus, we must know what our system’s BER performance will be for a given interleaver size and a finite number of iterations. This can be achieved from simulations or an analytic bound. The latter is more reliable and can predict the performance in the very low BER region where it is hard to do simulations. The union bound, as a commonly used upper bound for the coding technique, is composed of an addition of the probabilities of individual error events [67]. These probabilities are usually called terms of the union bound. Though the union bound actually assumes maximum likelihood sequence detection (MLSD), it still works well for iterative decoding sys-
16
Chapter 2 Comparsion of SCCPM with symbol and bit int.
0
10
symbol int. 500 bit int 1000 −1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
1
1.5
2 2.5 3 SNR: signal−to−noise [dB]
3.5
4
Figure 2.5: Simulations showing the BER for SCCPM: (7,5) coded Q2RC with bit and symbol interleaver. CPM modulation index h = 14 . The size of bit interleaver is log2 M times of that of symbol interleaver. Thus they have the same input information length. tems in medium to high SNR regions (error floor regions) from the general observation [11], [41]. Therefore, we use it for our system analysis. A Brief Introduction The union bound for the bit interleaved SCC was derived in [11] and bit interleaved SCCPM in [42]. The union bound for a nonbinary uniform interleaver was presented in [13]. Unfortunately we can not use it here since it is only applicable to the case of parallel concatenated codes having the uniform error property (UEP). Yet the condition for producing an error event is quite different between the serially concatenated code and the parallel concatenated code. In the parallel concatenated code, an error event is formed when the input nonzero sequence (denotes the error symbols) is able to form error events for both codes. For a serially concatenated code, however, an error event forms when the input nonzero sequence form a
17 nonzero output sequence of the outer code, and this nonzero sequence is able to form an error event for the inner code (CPM in our system). Moreover, since CPM does not have the UEP, we can not assume the all zero sequence to be the correct sequence. Thus, the calculation of outer code error events is quite different from the system having the UEP property. The latter can use e.g. the transfer function [8]. Yet the former has to use the exhaustive search. We will discuss the searching approach in detail later. Hence, we have to derive the bound analysis approach for our systems. By the error event producing process of SCCPM, we start the analysis from the error event analysis of CPM. Decomposed Model for CPM To facilitate the analysis, we first briefly recall some basics for CPM. From [2], [52], the CPM transmitted signal can be described as p (2.3) s(t, U ) = 2Es /Ts cos(2πf0 t + ψ(t, U ) + ψ0 ), t ≥ 0 where
ψ(t, U ) = 4πh
∞ X i=0
Ui f (t − iTs ), t ≥ 0
(2.4)
is the information-carrying phase. Es , Ts , f (t), f0 and ψ0 denote symbol energy, symbol transmission time, phase response, carrier frequency and the initial phase shift, respectively. The parameter h = K/P is referred to as the modulation index. U = {U0 , · · · , U∞ } is the CPM input symbol sequence with Ui ∈ {0, 1, · · · , M − 1}. It has been shown in [2], [51] that the transmitted signal does not ¯ U ) for ψ(t, U ) in (2.3), where change if we substitute ψ(t, # " L−1 n−L X X ¯ + nT, U ) = 2πh Un−i f (τ + iT ) mod.2π, 0 ≤ τ ≤ T Ui + 4πh ψ(τ i=0
i=P
(2.5) and L is the CPM frequency pulse length. We can see that the transmitted signal inthe nth interval is completely determined by a finite state machine Pn−L (FSM) Un , · · · , Un−L+1 , [ i=0 Ui ]mod.P . The FSM can be taken as a linear CC over the ring of integers modulo P . Hence CPM can be decomposed into a continuous phase encoder (CPE) and a memoryless modulator (MM).
18
Chapter 2
Error Events for CPM For numerical calculation of the union bound, we must know how an error event is formed in CPM. According to the definition in [2], [4], an CPM error event starts when the detected path through the trellis leaves that given by the transmitter. It ends when the two meet again and can follow each other ever after. Since CPM does not have UEP, to make statistic for CPM error events, we have to consider all possible pairs of detected and transmitted paths. Thus, it is more convenient to use the difference symbol sequence instead since the normalized squared Euclidean distance (NSED) produced by the error events in CPM is only determined by the difference symbol sequence [2], [4]. The difference symbol sequence is defined as e l = {e ln−L+1 , · · · , e ln−1 } where e li = Ui − U¯i has the range ¯ {−M + 1, · · · , 0, · · · , M − 1}, and Ui , Ui denote the transmitted symbol and the detected symbol in receiver sides, respectively. From [2], NSED can be calculated as:
d
2
=
1 2Eb
Z
N eT 0
h
e
i2 e ¯0N e ) dτ s(t, U0N ) − s(t, U
= log2 M N − 0≤τ ≤T
e −1 Z NX (i+1)T
i=0
iT
L−1 n−L X X e e ln−i f (τ + iT ) dτ , li + 4πh cos 2πh i=0
i=P
(2.6)
where N e is the error event length, Es is the transmitted symbol energy and Eb is the information bit energy. Thus, expressed in the difference symbol sequence, an error event begins when a difference sequence leaves the all-zero path, and finishes when its path merges with the all zeros path for the first time. The calculation of the difference symbols for the outer code will be discussed later. Using the decomposed model of CPM in (2.5), we have the following simple criterion for CPM error events that can be easily used for symbol interleaved SCCPM: 2 Theorem: A sufficient and necessary condition for a non-zero difference symbol sequence e l to form CPM error events (single or compound) is: [sum(e l)]mod.P = 0.
(2.7)
2 A related theorem on how the single difference symbol forms a CPM weight-1 error event was shown in [40]. Yet we emphasize the difference symbol sequence.
19 We assume that the interleaver is much longer than the error event. This condition is normally satisfied. Therefore the L − 1 zeros after the last non-zero symbol are always available. The compound error event for CPM is defined as a concatenation of several CPM single error events. As in the SCC [11] error event definition, the concatenation means that another error event starts immediately after the finish of one error event and there is no interval between them. Proof: From the FSM of the previous section, we define the difference symbol FSM of CPM as: n−L n o X e e e σn = ln−L+1 , · · · , ln−1 , [( li )mod.P ]
(2.8)
i=0
where P is the denominator of the CPM modulation index h. The all zero path has the state σn = {0, 0, · · · , 0, 0}. To meet this condition, P e [( n−L i=0 l)mod.P ] has to be equal to zero. The final difference input symbols e ln−L+1 , · · · , e ln−1 are all zero by assumption. QED. From now on, we call the outer code error event who leads to the difference sequence satisfying (2.7) as the effective outer error event and call the difference sequence as the effective sequence of the CPM scheme. Interleaver Gain The interleaver gain is defined as the exponent by which the BER in the error floor region (the medium to high SNR region) is decreased with the interleaver length. In [11], it was shown that for a serially concatenated system the terms with the smallest interleaver gain dominate the union bound. Thus, we start the bound analysis with the interleaver gain. The interleaver gain for a random bit interleaved system can be calculated using the following equation3 [11], [40]. α2,max = −⌊
dof + 1 2
⌋
(2.9)
where dof denotes the minimal Hamming distance of the outer binary code. This equation is a simplified version of 3
It is customary to call the absolute value of α as interleaver gain.
20
Chapter 2
α2,max = max{nin + nout − l − 1}
(2.10)
where l, nin , nout denote the Hamming weight of the outer code, number of inner and outer concatenated error events, respectively. However, there is no equation for calculating the interleaver gain for a symbol interleaved system. To analyze the performance of our systems, we make a generalization of (2.10) to the non-binary interleaver case. The interleaver gain of the symbol interleaved systems can be calculated from the following equation: αM,max = max{nin + nout − |e l| − 1}
(2.11)
where |e l| > 0 denotes the number of non-zero symbols of the CPM effective sequence. We now derive this interleaver gain equation and show how it works as follows.
[1,-2,1,0]
- Uniform
Interleaver
[1,1,-2,0], d2 = 5.9655 can not merge! [1,-2,1,0], d2 = 1.7879 . . . . R [1,-2,0,1], d2 = 3.7787 can not merge! ^ [1,1,0,-2], d2 = 10
fr = P
1 24
Figure 2.6: Schematic of a non-binary uniform interleaver for SCCPM with size 4 and |e lo | = 3. These pairs of permuted non-zero symbols (denoted by the } symbol) have the same positions but different order. This makes them have different NSED. Thus we can not merge them into one term in the union bound as in a bit interleaved system. To simplify the derivation, we use the mathematic model of a uniform interleaver that was used for SCC in [11]. It is defined as a probabilistic device that maps a given input sequence e l into all distinct permutations fr. This model is a good approximation of a of it with equal probability P purely random interleaver. Since we also use a random interleaver in this paper, the mathematic model of a uniform interleaver is applicable here. In
21 a binary interleaver, all the non-zero symbols are identical: 1s. Thus, only N f the positions of 1s need to be considered. Hence P r = 1/ |elo | . For a fr = 1/(N ) eo . Here (N ) eo is the number of symbol interleaved system, P |l | |l | permutations of |e lo | non-zero symbols in N positions . The reason is that after permutation we have to consider both the order and positions of the non-zero symbols in the sequences. This is based on the observation that the input sequence to CPM with the same non-zero symbols and positions but in a different order will lead to different NSED [5], [2]. For example, the difference sequence [1, 1, −2] and [1, −2, 1] for Q2RC with h = 41 has NSED [2], [41] 5.9655, 1.7879, respectively. The example is shown in Figure 2.6. Since we must consider the order of permuted symbol sequences, we also have to consider the order of the inner CPM error event when it is composed of several single error events. Thus, the number of inner error in events must be (N )nin (N )in is the number of permutations of (N ) error events in N positions instead of nNin . Therefore, with an analysis procedure similar to that in [11], the bit error probability bound is calculated as: Pb (e) ≤
XXXXX w
where M
nin ,nout w,e lin ,e lout
=
e lo
e lin
w×
nin
nout
N nout
q in out M n ein,neout Q d2in Rco SN R
(2.12)
w,l ,l
× (N )nin
N × Rco × log2 M × (N )|elo | in
Aow,elo ,nout Aein lin ,d2
in in ,n
.
(2.13)
out
Using the notation in [10], we call M n ein,neout the multiplier for the union w,l ,l
bound. The Q(.)-function is the error function defined in [8], [67] and its arguments are called the exponents for the union bound. w is the error information bit number for the error event, Rco is the outer code rate and d2in is the NSED for the error event. e lin is the permuted version of e lo . The in e sum for the l s does not exist in the binary case [11]. This is because for a non-binary interleaver, e lo will produce multiple e lin after permutation. in e As is shown in Figure 2.6, these l will produce different NSED with a high probability and thus can not merge even if they have the same nonzero positions. Ao eo out is the number of the outer error event that is w,l ,n
22
Chapter 2
concatenated with nout single error events and has w error information bits and e lo error codeword bits. Aeinin 2 in is the number of the CPM l ,din ,n with nin single
error event that is concatenated error events and has e lin in error outer codeword bits and NSED din . To evaluate the interleaver gain, we need only to concentrate on the factors related to the interleaver size N . Since |e l| = |e lin | = |e lo |, (2.11) follows after simplification. Unfortunately, further simplification on (2.11) seems impossible. A similar result to (2.9) is incorrect. The example will be given in Chapter 3 when we discuss the ring CC with the parallel trellis. Difference Symbol Calculation for the Outer CC
Up to now, we know how to identify the union bound of symbol interleaved SCCPM. Yet this is based on the assumption that the difference sequences are available. Thus, we need to know how these difference sequences can be produced by the outer codes and mappers. Since the outer codes are binary CCs, their output will be bit sequences. To facilitate our analysis, we introduce the difference bit, which is defined as the transmitted codeword bit minus the assumed codeword bit at the receiver side. Denoting by the mathematic notation, it is n ei = mi − m ¯ i and mi , m ¯ i denote transmitted bit and the assumed bit, respectively. Obviously, the difference bit has a range {−1, 0, 1}. While an error event happens, the difference bits will not be all zeros. At the mapper, the difference bits are mapped to the difference symbols. The mapping rules are as follows: every difference bit is separately mapped to a difference symbol while keeping the sign of the difference bit. The absolute values are determined by the position and value of bits as normal mapping. Finally, all these symbols for the difference bits are added together to get the final difference symbol. For example, if we have difference bit sequence {−1, 1} and use natural mapping, the first bits will be mapped to −2 and the second 1, thus the final result (difference symbol) is their sum l = −2 + 1 = −1. An example is shown in Figure 2.7. Truncated Distance Spectra To calculate union bounds for the considered SCCPM systems, we have to find their distance spectra using the aforementioned calculation method. For this purpose, we need the difference sequence spectrum of the outer
23
00
0/00 0/11
00
states
0/10
01
0/01
10
1/10
difference bits: 1, −1 difference symbols: 1
0/01
11
1/10 1, 0 2
0/00 0/11
00
1/11 01
0/10
01
1/00 10
0/01
10
1/01
1/01
1/01 11
0/10
1/00
1/00 10
00
1/11
1/11 01
0/00 0/11
11
1/10
11
−1, −1 −3
Figure 2.7: The difference symbol (bits) calculation process for the CC (7,5). The dotted line denotes the transmitted sequence and the dashed line the detected sequence. They diverge at the first trellis section and converge at the final section. Thus this is an error event for the CC. The numbers on the trellis branch denote input/output bit. We use the mapping rule after the CC.
codes. This can be accomplished by searching their trellises. Since CPM does not have UEP, we have to search all pairs of the outer code trellis and get the difference symbol sequence. Then the corresponding difference sequences are permuted and used as input sequences to CPM to calculate the NSED of the concatenated system using (2.12). This is a very complex task since the searching effort increases exponentially with the trellis depth. Fortunately, the NSED of CPM is additive with respect to the sequence length from (2.6). Thus we can limit our search to a finite trellis depth. In practice, we can limit the search depth by setting the maximum length (|e lo |) of effective non-zero difference sequences which is in turn an additive function with respect to the trellis search depth. Our search algorithm is a modified version of the method in [12] for general codes (GC). Briefly, the algorithm exhaustively searches distance spectrum pairs by tracking all encoding trellis state pairs (super-states) and their accumulated e lo . The algorithm is presented in Appendix B.
Even if we know the outer difference sequences, it is still difficult to calculate the distance spectra; how to permute these difference symbol
24
Chapter 2
sequences is another complicated problem. Obviously there is a total of |e lo |! (means the factorial of |e lo | ) ways to permute for a non-zero difference sequence. In its multiple permuted sequences of a outer code difference symbol sequence, we need only consider the ones with the largest inner error event number (nin ) which lead the error event smallest interleaver gain (α = αmax ). For example, given the sequence {2, −2, 1, −1} and h = 14 CPM, the permuted sequence {2, 1, −2, −1} can be ignored since its nin = 1. Yet at most, this sequence can lead to two CPM error events (nin = 2) when the permuted sequence is {1, −1, 2, −2}. By now we can see that the evaluation of the true union bound is extremely complex to find using (2.12). Thus we have to turn to a truncated distance spectrum. The principle of truncating is to keep dominant terms while ignoring relatively small contribution terms. For our systems, the truncated bound still works well since the following truncation principles are used: 1. Due to the dominant effect of the interleaver gain, we only consider the terms with minimal interleaver gain, i.e., terms with α = αmax . This is because all our systems have interleaver sizes above several hundreds. Thus, other terms of (2.12) are negligible at least when the SNR is not extremely high (e.g. corresponding to BER below 10−10 ), where the overall free distance (d2min ) dominates the performance. Here the overall free distance means the free distance without considering its corresponding error event’s interleaver gain. In some cases, the overall free distance will differ from the effective free distance. 2. Since the Q(.)-function decreases exponentially with distance d2 , we only consider the terms with relatively small distances, say, terms with distances less than 4 times the effective free distance d2min (αmax ), which is defined as the minimal distance under the constraint α = αmax . After searching and merging, we obtain the truncated distance spectra. Thus truncated union bounds can be calculated immediately. In Table 2.1, we list the dominating distance spectra for symbol interleaved SCCPM. The outer codes are CC (7, 5) and (3, 2), respectively. The simulation and bound numerical results are shown in Figure 2.8 and 2.9. We can see that
25 the bounds and simulations match very well in the medium to high SNR region. More numerical results will be given in Appendix D. System description (7,5) coded Q2RC
4
(3,2) coded Q2RC
Truncated Distance Spec2 trum Pairs: (d2 , Adm )
NSED: (d2min,ef f , d2min )
(1.788, N12 ), (2.6554, N42 ), (3.8892, N32 ), (4.8856, N12 ) (5.2608, N1 ),(10.5216, N4 )
(1.788, 1.788) (5.2608, 1.788)
Table 2.1: Truncated distance spectra and minimal distances for symbol interleaved SCCPM. N is the interleaver size. CPM has the modulation index 1/4 and the alphabet size 4.
0
Simulation and bound for (7,5) coded Q2RC with symbol Interleaver
10
Int. size 1000 Int. size 125 Int. size 250 Int. size 500
−1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
−7
10
1
1.5
2
2.5 3 3.5 4 SNR: signal−to−noise [dB]
4.5
5
Figure 2.8: Simulation results and bounds for (7,5) CC coded SCCPM with a symbol interleaver, the inner CPM system is Q2RC with the modulation index 41 . Number of iterations: 50. Interleavers size 1000,125, 250 and 500 symbols have been used. 4
All mapping rules in this paper are natural unless state otherwise.
26
Chapter 2 Simulation and bound for SCCPM with Q2RC and (3,2) CC
0
10
Interleaver size 100000 Interleaver size 10000 Interleaver size 1000
−1
10
−2
10
−3
Bit Error Rate
10
−4
10
−5
10
−6
10
−7
10
−8
10
0.5
1
1.5
2
2.5
3
3.5
4
SNR: signal−to−noise [dB]
Figure 2.9: Simulation results and performance bounds for (3,2) CC coded SCCPM with symbol interleaver. 50 iterations are made in the decoder. The CPM system is Q2RC and modulation index 14 . Interleavers size 1, 000, 10, 000 and 100, 000 symbols have been used.
2.3
A Deeper Investigation of Symbol Interleaved Systems
So far, we found the expected results for symbol interleaved SCCPM: an earlier convergence and a higher error floor (a higher error floor will be defined below) compared to bit intereleaved SCCPM. These results coincide with previous principal results for symbol interleaved systems [20], [25], [56]. However, these papers did not give any explanation on these results. If we can understand the underlying reasons, then we can make better use of it. Thus the sections below are mainly on this topic. From the error event and distance spectrum analysis procedure above, we obtain some general properties of the symbol interleaved system though we still concentrate on SCCPM.
27
2.3.1
Comparisons between symbol and bit interleavers
By analyzing the distance spectra, we first investigate why SCCPM systems with symbol and bit interleavers behave in very different ways. Definition. Counterpart SCCPM systems: These SCCPM systems have the same CPM type, outer code, and only different interleavers. Using this definition, we have the following result. Theorem: SCCPM with a bit interleaver have all types of error events happening in their counterpart systems with a symbol interleaver. These error events generally occur with smaller probabilities (smaller multipliers in (2.12)). Here we assume that the interleavers are all uniform interleavers. This theorem certainly holds for SCCPM whose CPM has alphabet size M = 2k+1 (k is a natural number) and the outer code is a binary code. For any other alphabet size, say M = 3, there is no point in using a bit interleaver since no meaningful binary-to-ternary mapper exists. Thus we will not discuss here. Proof: We can see a symbol interleaver as a bit interleaver with an additional constraint. It requires that the neighbor bits in a symbol should still be neighbors and in the same order after the permutation. When the outer encoder produces an error event, it will generate a difference bit sequence. Then the bit sequence is mapped to the difference symbol sequence and sent to the symbol interleaver. Obviously, the symbol interleaver will not change the difference symbols. Thus the difference symbols entering CPM are determined before interleaving. However, for bit interleaved systems, the interleaver can randomly combine difference bits. After interleaving, the difference bits are mapped to form the difference symbols. Due to this random combination, the bit interleaved system is able to produce all the symbol difference sequence pairs of its symbol counterpart. The error event of CPM, thus the error event of the whole SCCPM system, is determined by these input difference symbols. Thus bit interleaved SCCPM can produce all error events of symbol counterparts. On the other hand, when calculating multipliers in (2.12), for the same error events using bit and symbol interleavers, all factors are the same expect |e lo |. A bit interleaver in general has larger |e l| (number of non-zero interleaving elements) than a symbol interleaver, i.e., one difference symbol may have more than one difference bit. We can take the difference
28
Chapter 2
symbol 3 as an example. With natural mapping, there will be two difference bits: two 1s. From (2.12), we can easily find that the multipliers of a bit interleaver will usually be smaller than multipliers of their symbol counterparts. QED. From this theorem, we immediately see the different properties of the distance spectra. Compared to their counterpart systems with a bit interleaver, the spectra of the symbol interleaved system will be sparser and shifted up (larger multipliers). This sparser property is because the bit interleaved system is more flexible and thus generally can produce some error events that will not happen in the symbol interleaved one. For example, when the outer code is a (3,2) binary CC, an error event of duration two trellis sections may produce a binary difference codeword {1, 1, 1, 0}. With natural mapping, the symbol interleaver will feed CPM with the difference symbol sequence {3, 2}. Obviously, this is not an effective difference sequence for CPM with h = 14 . However, the bit interleaver may change the difference codeword to {1, 1, 0, 1}. After mapping, it becomes the difference symbol {3, 1}, which is an effective difference sequence for this CPM system. These differences in distance spectra are illustrated in Figure 2.10. This distance spectrum sketch lists dominant terms in the union bounds. With the theorem and (2.12), we can conclude that compared to bit interleavers, the symbol interleaved system will usually have a lower convergence threshold and a higher error floor. The proof is direct: in the low distance part of the distance spectrum, the spectrum of symbol interleaver systems will be sparser (and usually starting later). In (2.12), if the BER values are fixed, the increase of d2 will lead to SN R values decreasing and thus the convergence thresholds decreasing. Yet the increase of spectrum line height will lead to the multipliers (Abd2 ) increasing and thus the error floor increasing. This can be illustrated by an example of SCCPM with (3, 2) CC as the outer code as shown in Figure 2.11. Another result from this theorem is that the free distances (effective one d2ef f,min or overall one d2min ) for bit interleaved systems will not be larger than that of their symbol counterparts. The proof is very simple: the latter might have no error events that produce the free distance of the former; while the former must have the error event that produces the free distance of the latter.
29 Distance spectrum outline of symbol vs bit Interleaver for (3,2) coded Q2RC 0.1
0.09
0.08
0.07
Multipliers
0.06
0.05
0.04
0.03
0.02
0.01
0
0
2
4
6 Normalized Distance
8
10
12
Figure 2.10: The distance spectrum sketch for SCCPM. are for the symbol interleaver, and * are for the bit interleaver. Interleaver sizes are 50 symbols. CPM type is Q2RC with the modulation index 1/4. The outer encoder is CC (3,2).
2.3.2
Maximum Interleaver Gain
Using SCCPM with M = 4, a rate 1/2 binary CC and a symbol interleaver, a property on its maximum interleaver gain can be derived: Theorem: If the outer binary CC has m memory cells, the interleaver gain of this SCCPM will be less than m + 1, i.e., αmax ≥ −m. Proof: Since the memory size of the outer CC is m, its minimal trellis lengths for an error event is m + 1. This shortest error event can occur when the CC leaves the all zero state by a non-zero symbol input, and comes back to the zero state again with subsequent m input zeros (or other suitable m inputs if the code has feedback). Then we can always find the concatenated error event shown in Figure 2.12. For this error event, the two concatenated error events have reverse assumed and actual trellis paths. Thus, its difference sequence is [x1 , x2 , ..., xm , xm+1 , −x1 , −x2 , ..., , −xm , −xm+1 ]. Since the sum of the difference sequence is |e l| = 0, the sequence is an effective difference sequence. We
30
Chapter 2 Comparison of the convergence threshold and error floor of bit vs sym. Int.
0
10
Symbol Interleaver size 1000 Bit Interleaver size 2000 −1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
−7
10
0.5
1
1.5
2
2.5
3
3.5
SNR: signal−to−noise [dB]
Figure 2.11: Comparison of simulation results for SCCPM systems with (3,2) CC. The CPM system is Q2RC with the modulation index 1/4. Both systems have the same input length 1000 information bits.
0 ⊙
Trans. Seq. m + 1 -⊙
2m -⊙+ 2
Tentative Sequence
Figure 2.12: The error event with interleaving gain −m, the single line denotes the transmitted trellis paths and parallel lines tentative trellis. The error event is concatenated with two single error events whose output difference symbols have the inverse sign.
can calculate the interleaving gain α of the error event from the equation α = nin + nout − (2(m + 1) + 2) − 1. We can easily see that nin = (m + 1) (every [xi , −xi ] pair can be an effective sequence) and nout = 2, therefore α = 2 + (m + 1) − (2m + 4) − 1 = −m. QED.
31 0
10
Grey mapping natural mapping −1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
1
1.5
2
2.5 3 3.5 SNR: signal−to−noise [dB]
4
4.5
5
Figure 2.13: Simulation result comparisons for symbol interleaver SCCPM with different mapping rules. Interleave size are 126 symbols. The CPM type is Q2RC with a modulation index 1/4. The encoding matrix of the outer CC is (7,5).
2.3.3
Mapping Rules
Obviously, the difference symbols will not be changed by the symbol interleaver (except for their order of entering CPM). For example in Figure 2.6, the nonzero permuted difference symbols are [1, 1, −2], the same as before the permutation. Thus, a non effective difference sequence (such as {3, 2} for h = 1/4 CPM) is still non effective after being permuted (still symbol 3 and 2). Thus, the mapping rule has the significant effect on the performance. An example is shown in Figure 2.13. Their significant distance spectra are shown in Figure 2.14. We can see that the Gray mapping is significantly better in the error floor region than the natural mapping. This is mainly due to the existence of low distance error events of the natural mapping as shown in Figure 2.14. From this example, we can see that a careful choice of mapping rule by checking its distance spectrum is important for the system design. Especially, we can pay attention to the effect of the mapping rule on the effective free distances.
32
Chapter 2 Significant Distance Spectra for (7,5) coded Q2RC with diff. mapping 25 Gray mapping Natural mapping
Normalized Multipliers
20
15
10
5
0
0
2
4 6 8 Normalized Squared Euclidean Distance
10
Figure 2.14: Significant distance spectra for symbol interleaved SCCPM with different mapping rules. The ordinate is normalized. The CPM type is Q2RC with a modulation index 1/4.
2.4
Numerical Results and Conclusions
Computer simulations have been performed for the above described SCCPM systems with some typical CCs. Appendix table D.1 lists more numerical results. The free distances are results of a trellis search for distance spectra. This search procedure for the outer code is described in Appendix B. After getting the outer difference sequences, we try all orders of their entering CPM using the short length sequences. Then we can determine the free distances. From the numerical results, we can see that for SCCPM systems, a symbol interleaved system in general converges earlier than a bit interleaved system. Yet they have higher error floors when other conditions are the same. The maximum interleaver gains of symbol interleaved SCCPM systems are limited by the memory size of the outer binary CC. The free distances of symbol interleaved systems are not smaller than those of bit interleaved systems. Hence in the extremely high SNR region, symbol interleaved SCCPM might have better BER performance.
Chapter 3
Serially Concatenated CPM with Ring Convolutional Codes From Figure 2.1 we can see that even with a symbol interleaver it might not be a natural way to combine a binary CC when the CPM alphabet size M > 2. We have to depend on the mapper for transferring bits to symbols after the outer encoding. Since the CPE is a CC over the ring of integers modulo-P , this motivates us to think that a more natural way to combine CPM with an outer CC is to use a ring CC besides a symbol interleaver. Since the CC and CPE are over the same algebra, no mapper will be needed. In [71], [53], extra performance improvements were reported as compared to using a binary CC with the ring CC. Can we also get some extra gains in the power efficiency with the ring CC as outer codes in the SCCPM systems? We will investigate this in the current chapter. For readers’ convenience, we give some basic background on integer rings and finite fields in Appendix A. The underlying theory is referred to as Abstract Algebra. 1
1
Part of this chapter was presented in [68].
33
34
3.1 3.1.1
Chapter 3
System Description A Brief Introduction to CC over Rings
CCs over rings (briefly called ring CCs) were first introduced in [37]. The motivation for going from the usual GF(2) to integer rings is to explore a natural relation between M -ary phase modulation and codes over integer rings. They have the same algebra concerning addition and multiplication operations by labelling the signal points of M -ary phase modulation by the ring elements 0, 1, · · · , M − 1. Some properties on ring CCs were investigated in [38], [30]. Letting R = ZM , it has been shown that in analogy with the GF(2) case, all ring CCs can be generated by some encoding matrix G(D) ∈ R(D), where R(D) is the ring of rational functions over R, and the rows of G(D) are linearly independent. Here D denotes the memory cell capable of storing elements over the integer ring ZM . Example: A rate-1/2 CC over the integer ring Z4 with the encoding matrix [3D+3,1] can use the obvious realization in Figure 3.1. This is a systematic and thus non-catastrophic code by [38], [30]. The trellis of this encoder is shown in Figure 3.2.
Symbol input
⊕
⊗ 3 -
3
- C 1
-⊗
D -C
2
Figure 3.1: The G(D) = [3D+3,1] ring CC realization. The sign ⊗ and ⊕ denote addition and multiplication over integer ring Z4 , respectively. D is the memory cell that can store 4 symbols. C1 and C2 are its two output codeword symbols.
3.1.2
System Schematic
The schematic of the serially concatenated CPM system with ring CCs is shown in Figure 3.3. It consists of a convolutional encoder over the
35
0
0/00
0
1/31
0
0/30 1
2/12
1/21 1/11 1/01
1
1 0/20
0/10 2
2/02 2/32
2
2/22
3/33 3
3/23
3
2
3/03 3/13
3
Figure 3.2: Trellis for CC [3D+3,1] over integer ring Z4 . The number in the boxes show its states. The numbers in the trellis edges show input(output) symbols. The numbers in the circle show the encoder states. The code rate is 1/2, so there are two output symbols per one input symbol. ring of integers modulo-M (ZM ), a symbol interleaver over M , a CPM modulator and iterative decoders. The CPM system has the alphabet size M and the modulation index h = K P . Here we set P = M . Compared to the systems in [41], the binary CCs are substituted by CCs over the integer ring ZM . Thus, a symbol interleaver over M is used instead of a bit interleaver. There is no mapper in this concatenated scheme. The reason why we choose M = P is to utilize the linear property of the CPE (over ZM ) as in [52], [71]. Therefore, the outer encoder, interleaver and CPM are all over the same algebra: the integer ring ZM . This produces a natural combination of them to form a SCCPM system. At the receiver side iterative decoding method is used. Two SISO (softin soft-out) [10] modules are used as APP processors to decode CPM and the ring CC, respectively.
3.1.3
SISO over Rings
The SISO processor, based on the a posteriori probability (APP) algorithm, is a forward and backward recursive algorithm that is widely used in iterative decoding [7]. However, the previously existing SISO algorithm is for use over GF(2). Here we do some modifications to make it work on the integer ring ZM . There are similar results on a MAP decoding algorithm for nonbinary turbo codes [55], [13]. Here we present the algorithm
36
Chapter 3
symbol input
- CC over ring
symbol output
-
π
P (C i , O)
P (C o , I)
SISO over ring
π −1
L ?
AWGN
SISO for CPM P (U i , I)
P (U i , O)
P (C o , O) P (U o , I) = 1/M -
- CPM
π
Figure 3.3: Schematic of SCCPM with convolutional codes over integer rings. Here interleaver (π) and deinterleaver (π −1 ) both are symbol-wise. that can be used for our system. Like a SISO module working on GF(2) [10], a SISO over the ring is also a four port device, and it also works on the edge e of an encoder trellis. It accepts the probability distributions of the information as inputs and code symbols (over ZM ) labelling the edges of the code trellis, and forms an update of these distributions based upon the code constraints as outputs. We omit a detailed description and concentrate on the modifications. The readers are referred to [10] for details for a SISO over GF(2). We use similar notations as in [10] for convenience. 1. Input/output. Similar to a SISO module over GF(2), the SISO module over ZM computes an input symbol probability (Pk (U, O)) and an output codeword probability (Pk (C, O)) from the a priori probability coming from the last iteration (Pk (U, I)) and trellis branch transition probability (Pk (C, I)). We assume that the code rate of the ring o 1 , · · · , cno }. InCC is k o/no . Thus U = {u1 , · · · , uk }, and C = {c stead of 0, 1 as in GF(2), the range of the uj is 0, · · · , (M − 1) for j ∈ {1, · · · , k 0 }, so is the cj for j ∈ {1, · · · , n0 }. Thus the input/output is the probability vectors. 2. Computation. We compute extrinsic information over ZM as follows:
37
j
Pk,j (u ; o) = Huj
X
S
E
Ak−1 [S (e)]Pk [c(e); I]Bk [S (e)]
e:e(Ukj )=uj
ko Y
Pk,j (ui ; I)
i=1,i6=j
(3.1)
and
j
Pk,j (c ; o) = Hcj
X
S
E
Ak−1 [S (e)]Bk [S (e)]
e:e(cjk )=cj
no Y
Pk,j (ci ; I)
i=1,i6=j
(3.2)
where Huj , Hcj are normalization constants such that H uj →
P
Hcj →
P
and
uj ∈0,1,...,(M −1) Pk,j (u
cj ∈0,1,...,(M −1) Pk,j (c
j ; o)
j ; o)
=1
= 1.
In these equations, we use Ak−1 [S S (e)] and Bk [S E (e)] to denote the forward and backward accumulated metrics of the code trellis as defined in [7], [10]. To get Pk [c(e); I], we multiply the symbol probabilities coming from the CPM SISO module (after deinterleaving) according to the codeword constraint of the outer code and normalize them in all trellis edges at the discrete time interval k.
3.2 3.2.1
System Analysis Convergence Threshold
Just as for symbol interleaved SCCPM, the convergence threshold is also one of the most important design parameters for SCCPM with ring CCs. We still use the EXIT chart approach to predict threshold values. Since the calculation procedure is the same as Chapter 2.1, we omit any detailed description. An example is shown in Figure 3.4. For convenience, the encoding matrix with [ ] denotes a ring CC and with ( ) denotes a binary CC.
38
Chapter 3 2 decoding trajectory for (7,5) code decoding trajectory for [3D+3,1] code decoding trajectory for Q2RC with SNR 1.04dB
1.8
I(CPM,in),I(CPM,out)
1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
0
0.5
1 I(cc,in),I(cc,out)
1.5
2
Figure 3.4: EXIT chart for SCCPM with Ring CC and symbol interleavers. The ring CC has the encoding matrix [3D+3,1]. Thin lines are the decoding trajectories of the inner CPM with SNR 1.04 (Eb /N0 ). The CPM system is Q2RC with h = 14 . For comparison, the decoding trajectory for the binary CC (7,5) with a symbol interleaver is also drawn in the same figure as the solid heavy line.
3.2.2
Union Bound
For the same reason as in Chapter 2, we use the union bound to analyze the system BER performance. Again we omit the details of the calculation procedures that have already been presented in Chapter 2. An example is shown in Figure 3.5. In this example, the most significant terms for the system with CPM Q2RC (assuming the modulation index 1/4) are listed in Table 3.1. The error event that produces the effective free distance term for the union bound can occur when the assumed transmitted state sequence and actual state sequence of the ring CC [3D+3,1] are [0, 1, 2, 0] and [0, 2, 1, 0], respectively. Thus, the output difference sequence of the ring CC will be [1, −1, 1, −1] (see Figure 3.2). Using the error event determining criterion in (2.7), this is an effective error event. After padding one 0 symbol, we find the free distance (NSED) to be 2.6554. The multipliers of the union bound terms also come from exhaustive trellis search. The
39 search procedure in Appendix B can be used to perform the outer code trellis searches. The only difference from the binary CC search process is that there are two outputs per trellis section (please refer to Figure 3.2) and no mapping is needed. System description
Truncated Distance Spec2 trum Pairs: (d2 , Adm )
NSED: (d2min,ef f , d2min )
[3+3D,1] Q2RC
(2.6554, N272 ), (4.6939, N252 ), (6.7324, N272 ), (7.2994, N32 ), (7.9688, N62 ), (8.138, N122 ). 1 1 (3.9332, 2N ), (4.0690, 2N ), 1 3 (7.8664, 2N ), (8.1380, N ), (12.2070, N4 ), (16.2760, N5 )
(2.6554, 2.6554)
coded
[2+D,1] coded Q2RC
(3.9332, 1.788)
Table 3.1: Truncated Distance Spectrum and Minimal Distance for ring CC coded CPM. N measured in symbols denotes the interleaver size. From the distance spectrum, truncated union bounds can be calculated immediately. The simulation and bound results for the examples in the table 3.1 are listed in Figure 3.5 and 3.6, respectively. In the figures, we can see that bounds and simulations coincide well in the medium to high signal-to-noise ratio (SNR) region.
3.3 3.3.1
System Properties Interleaver Gain and Free Distances
From the error event and distance spectrum analysis, we have two observations concerning the system interleaver gain. Minimal Interleaver Gain For a SCCPM system with a ring CC, whose alphabet size M equals to the denominator of the modulation index of the CPM scheme, we have the following property for its interleaver gain: Theorem: Any SCCPM with a non-catastrophic ring convolutional code over ZM has the interleaver gain if the ring CC has no parallel paths in
40
Chapter 3 Simulations and bounds for SCCPM with ring CC [3D+3,1] and Q2RC
0
10
Interleaver size 1000 Interleaver size 125 Interleaver size 500 −1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
−7
10
0.5
1
1.5
2
2.5 3 3.5 SNR: signal−to−noise [dB]
4
4.5
5
Figure 3.5: Simulation result and performance bound for Ring CC coded SCCPM. CPM is Q2RC and modulation index h = 14 . The number of iterations is 50. The outer code is [3D+3,1]. Simulation and union bound for SCCPM with ring CC [2+D,1]
0
10
Int. size 10000 Int. size 100000 Int. size 1000 −1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
−7
10
0.5
1
1.5
2 2.5 SNR: signal−to−noise [dB]
3
3.5
Figure 3.6: Simulation result and performance bound for Ring CC [2+D,1]. The number of iterations is 50. The CPM system is Q2RC and h = 41 .
41 the trellis. Proof: For a non-catastrophic CC over a ring, we have |e l| 2
|e l| 2 N out
≥ N in (due
≥ (or the CC to the recursiveness of the CPM scheme.) and will become a catastrophic code) [71], [31]. According to (2.11), we can have α ≤ −1. Again |e l| denotes the length of non-zero effective difference sequence entering CPM. QED. For a ring CC with parallel trellis paths, say [2D, 1], the SCCPM system might have no interleaver gain. For example, if M = 4 and the parallel trellis of a ring CC with a symbol difference sequence {0, 2} entering CPM in an error event, it can produce an effective difference sequence when two such single events are concatenated. Using (2.11), we can easily get α = 0! Thus this kind of ring CC is not suited for use in a SCCPM system. Maximal Interleaver Gain On the other hand, we have found that the interleaver gains for SCCPM systems with the ring CC over Z4 having one or two memory cells is one less than the largest possible interleaver gains of SCCPM with a binary CC and bit interleaver. Here of course, we compare the binary CC and the ring CC with the same state complexity: for memory 1 and 2 ring CC systems, it has 4 and 16 states. From the exhaustive search, the largest interleaver gains are −2 and −3, respectively. However, for a binary CC and binary interleaver systems, the largest interleaver gains are −3 and −4, corresponding to the generating matrix in the octal forms (7, 5) and (23, 35), respectively [41]. The search is carried out within trellises of all possible codes for memory 1 or 2 ring CCs over Z4 . In the search, we used a simplified approach. Since the ring CC itself is linear over the ring ZM , its output will be the same after a modulo-M operation for all kinds of reference sequence. From (2.11) we know that the interleaving gain is determined only by the length (|e l|) of non-zero difference sequence symbols and the the maximal number (nin max ) of error events caused by it (when nout is given). nin is only determined by how these non-zero difference max symbols combine to form error events. Thus we do not need to consider the CPM continuous phase effect on NSED which makes the CPM system lose the uniform error property. According to the error event determining criterion in (2.7), this number will not change after the modulo-M add operation for the difference symbols. Now we take the difference sequence
42
Chapter 3
{1, −1, 3, 1} for illustration. We assume that h = 41 . It will lead to at most two error events in (nmax = 2), say, with the sequences {1, −1} and {3, 1}, respectively. After the modulo-4 addition operation applied to the second symbol. Thus the sequence will be {1, 3, 3, 1}, and the maximum error event number for this sequence is still two (nin max = 2)! They can be caused by the sequences {1, 3} and {3, 1}, respectively. Therefore, to compute the interleaving gain, we can take the all-zero sequence as the reference sequence. This simplification greatly facilitates searching for good codes with a large interleaving gain or good codes with an early convergence threshold and comparable error floors. Our search algorithm is based on the recursive algorithm that checks if the maximum interleaving gain (αmax ) of the system is smaller than assumed one (αass ). The interleaving gain for the special error event generally increases with its non-zero difference symbol length |e l|. Obviously, e |l| increases with the trellis depth. If we set a maximal acceptable nonzero difference trellis length, we can continuously cut the over length possible branches. Thus, the complexity will not increase exponentially with the searching depth. The algorithm will converge if the outer code is noncatastrophic. The algorithm is shown in Appendix C and numerical results are shown in Appendix D. Free Distance In Table 3.1 and Appendix D, we list the effective free distances (d2min,ef f ) of some systems. It is also an essential parameter for SCCPM [41] since it determines the slope of the union bound in the medium to high SNR region. The larger effective free distance, this will lead to the BER-toSNR curve decreasing faster. Here we borrow the concept of the slope to express how fast the BER curve decreases. This slope does not have a strict mathematics definition. The overall free distances of SCCPM systems are listed for comparison. This is defined as the minimal NSED of the SCCPM system without considering the interleaver gain. These numerical values come directly from searching the code trellis for distance spectra. The overall free distance is important for applications requiring extremely low BER ( less than 10−8 or 10−9 for a medium size interleaver ) [24]. From the Tables, we can see that these two free distances are not the same
43 in many systems. If they are different, each of them will dominate in a certain region of the SNR-to-BER figure. The curves will cross each other eventually. The position of the cross point is mainly depending upon the interleaver size if the distances are fixed. An example is shown if Figure 3.7. The effective free distance and overall distance are produced by error events whose difference sequences of the outer codeword are [2, −2] and [1, −2, 1], respectively. From (2.11), the interleaver gains are −1 and −2, respectively. From this Figure we can see that in the BER region that we are interested in (larger than 10−8 ), we really can ignore the contribution of the overall free distance to the union bound. The longer the interleaver size, the larger the difference of the overall and effective free distance (if they are different). This also verifies our truncation principles. Bound line for effective and overall free distance, interleaver size 500 or 2000
−4
10
−5
10
−6
10
−7
Bit Error Rate
10
−8
10
−9
10
−10
10
Bound line for overall free distance, Int. Size 2000 Bound line for effective free distance Int. Size 2000 Bound line for overall free distance Int. size 500 Bound line for effective free distance Int. size 500
−11
10
−12
10
0
2
4
6
8
10
12
SNR: signal−to−noise [dB]
Figure 3.7: Contribution comparison of the effective and overall free distance to the union bound. The SCCPM system is composed of a [2+D,1] ring CC as the outer code, Q2RC and symbol interleaver (M = 4). The modulation index of the CPM system is 41 .
3.3.2
Search for good outer codes
The convergence threshold and error floor (which indicates the system convergence speed at the high SNR regions) are both important for SCCPM. It is still not quite evident what determines the former. The latter is mainly
44
Chapter 3
determined by the interleaver gain and the effective free distance. Now we present some practical search methods for good outer codes by these parameters. From Chapter 2, we know that in a symbol interleaved SCCPM system, there is usually a tradeoff between the convergence threshold and the convergence speed. Systems that converge earlier usually have the slower convergence speeds (higher error floors). This is also true for SCCPM with a ring CC as the outer code. An example is shown in Figure 3.8. It is hard to claim that one code is definitely better than another if only one parameter is considered. It is also very hard to predict the convergence thresholds for all codes since no analytical method (mathematics equations) can be used. Thus our approach is to search the code with one best parameter while fixing another. We call the results good codes. For example, we search the earliest convergence outer code among the ones with the largest interleaver gain. These codes have comparable error floors, and the search complexity using the cumbersome EXIT chart approach can be substantially reduced. Search for Low Error Floor Codes The good match between simulation error floors and the union bound makes searching for low error floor codes practical. We can accurately predict error floors by the union bound. Since the interleaver gain has a dominating effect on the SCCPM errors, we first search the codes with the largest interleaver gain by the algorithm in Appendix C. Without loss of generality, we do not consider CCs with feedback. One reason for this is that all feedback CCs can be transferred to a feedback free CC by pre-coding with its feedback polynomial matrix (and recovery information symbols by dividing this polynomial matrix at the receiver side) [48], [31]. For symmetric codes, say [3D+3,1] and [1,3D+3], we only consider one of them since they performance is the same. This can be seen from the trellis of ring CCs. Please refer the Figure 3.2, the output difference symbols will be the same if we exchange C1 and C2 . Though the output difference symbols will be in different order, it will not affect the performance of the SCCPM system due to the random permutation of the interleaver. For the ring CC over Z4 , memory one and four states, the largest interleaver gain is 2 from previous results. Their encoding matric are: [1+D,1], [1+D,3], [3+D,1], [3+D,3], [1+3D,1], [1+3D,3], [3+3D,1], [3+3D,3], [3D+1,D+2],
45 SCCPM with ring CC, interleaver 125 symbols
0
10
outer CC [2+D,1] outer CC [3D+1,D+2] −1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
1
1.5
2
2.5 3 3.5 SNR: signal−to−noise [dB]
4
4.5
5
Figure 3.8: Simulation results for SCCPM systems with different ring CCs. The figure shows tradeoffs between the convergence threshold and error floor. The CPM system is Q2RC with the modulation index 1/4. The interleaver has the size 125 symbols. Both ring CCs have one memory cell and thus the same complexity. [2+D,1+D],[1+D,3D], [1+D,D], [3D + 1,D], [3D + 1,3D], [3+3D,3D] and [3+3D,D], respectively. Among these codes, using Q2RC (or Q2REC) CPM and a random symbol interleaver, [3D+1,D+2] is the ring CC over Z4 having the lowest error floor. Their bounds are shown in Figure 3.9. The simulation results are also shown for comparison. Search for Earlier Convergence Ring CCs The tradeoff between the convergence threshold and the error floor often makes it difficult to choose even though we want them both to be good. If we consider both the convergence threshold and error floor, we can search for earlier convergence codes among those with the largest comparable error floors (with the largest interleaver gain) using the EXIT chart. For example, for a memory one code over Z4 , we only consider interleaver gain 2 codes. After comparison, we observe that the earliest convergence code
46
Chapter 3 Simulations and bounds for Error floor of Q2RC 0
10
Simulation for [2+D,D+1] coded Q2RC Bound for [2+D,D+1] coded Q2RC Simulation for (5,2) coded Q2RC Bound for (5,2) coded Q2RC Simulation for [3D+1,D+2] coded Q2RC Bound for [3D+1,D+2] coded Q2RC
−1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
−7
10
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
SNR: signal−to−noise [dB]
Figure 3.9: The simulations and bounds for SCCPM with different outer codes. The figure shows the lowest error floors with binary CC and ring CC. The interleaver length is 125 symbols. The CPM system type is Q2RC with a modulation index 1/4. among them is the code [3D+3,3D] for Q2REC CPM. Its convergence threshold is 1.74 dB. Simulations for the examples are shown in Figure 3.10. On the other hand, if we only consider the convergence threshold, some high error floor codes (with interleaver gain one in the example) can be considered. For example, the earliest memory one code over Z4 for Q2RC CPM is [1,2+D] with interleaver gain 1. Its convergence threshold is 0.94 dB using the EXIT chart approach.
3.3.3
Comparisons between Ring CC and Binary CC Systems
A search method similar to the last section concerning error floors and convergence properties can be used for binary CCs. From the search re-
47 0
10
(7,5) with symb. int. 1000 (6,1) with symb. int. 1000 (7,5) with bit int. 2000 [3D+3,3D] with symb. int. 1000
−1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
1.5
2
2.5
3 3.5 4 SNR: signal−to−noise [dB]
4.5
5
Figure 3.10: The simulations for SCCPM with Q2REC (CPM with alphabet size 4, rectangular frequency pulse having length 2). The number of iterations for all simulations are 50. The modulation index h = 1/4. Vertical lines are their convergence thresholds, respectively. sults, we are able to compare the performance of the ring CC and the binary CC coded SCCPM systems. We investigate the underlying causes by comparing their difference trellises. Convergence Thresholds Compared to traditional binary CCs, the ring CCs improve the convergence threshold with a comparable error floor in many SCCPM systems. This improvement is more obvious in SCCPM systems with a long frequency pulse CPM. For example, the convergence threshold for Q3REC with the ring CC [3D +3, 1] is 3.15 dB, the best binary CC with the same constraint is (6, 1) whose convergence threshold is 3.45 dB. They both have α = −2 with the same state complexity. An example for the Q2REC CPM system is shown in Figure 3.10 and Figure 3.11. In these figures, [3D + 3, 3D] and (6, 1) are the earliest converging codes for Q2REC with 4 states for a ring CC and a binary CC, respectively.
48
Chapter 3 Decoding traj. comp. for Q2REC with diff. outer code, SNR = 1.98 dB 2 1.8 1.6
I(CPM) in, I(CPM)out
1.4 1.2 1 0.8 0.6 0.4
Decoding traj. for [3D+3,3D] Decoding traj. for CPM Decoding traj. for (6,1) Decoding traj. for (7,5)
0.2 0
0
0.2
0.4
0.6
0.8 1 1.2 Icc in, Icc out
1.4
1.6
1.8
2
Figure 3.11: EXIT chart for Q2REC with different outer codes. The CPM system type is Q2REC with the modulation index h = 1/4. Error Floors Figure 3.12 shows error floors for the SCCPM systems with Q2REC (Q1REC) CPM and a symbol interleaver through their bounds. Here, [3D+1,D+2] and (5,2) are the codes with the lowest error floor for the 4 state ring CC and binary CC with a symbol interleaver, respectively. All codes in the Figure have interleaver gain α = −2. The ring CC has a lower error floor for these CPM systems. The results also hold for Q2RC and Q1RC since they only differ from Q2REC (Q1REC) in the frequency pulse type and the underlying FSM is the same. Free Euclidean Distance From Appendix Table D.1, we know that ring CC systems have larger effective free distances in many SCCPM systems, such as in Q2REC and Q2RC. Yet this is not necessarily true for the overall free distances. The binary CCs may have larger overall free distances.
49 Performance bounds of different systems
−5
10
Bound for Q2REC with (5,2) Bound for Q2REC with [3D+1,D+2] Bound for Q1REC with [3D+1,D+2] Bound for Q1REC with (5,2)
−6
10
−7
10
−8
Bit Error Rate
10
−9
10
−10
10
−11
10
−12
10
−13
10
−14
10
2
3
4
5 6 7 SNR: signal−to−noise [dB]
8
9
10
Figure 3.12: The bounds for SCCPM with different CPM and outer code with symbol interleaver size 1000. Analysis from the difference trellis By comparison, we see that in many cases the ring CC coded SCCPM systems improve performance of binary CC coded SCCPM systems. This improvement can be in the convergence threshold or error floors, of course, with different codes in each aspect. After analyzing their code trellises, we find a cause for this improvement. In every trellis section, an error event of the ring CC usually produces two difference symbols while that of the binary CC produces only one. This will make the error events of ring CC having more nonzero difference symbols and thus larger distance in SCCPM compared to the binary CC. Hence, in the low distance region (the region dominating the BER performance) of the distance spectrum, the ring CC coded system is better than the binary CC coded system in many cases. From the previous bound analysis, we know that the BER performance for SCCPM with a symbol interleaver is mainly determined by the difference sequence l with a minimal nonzero length |e l| = |e lmin | and effective distance 2 dmin,ef f . For example, we consider M = 4 SCCPM systems. Using a good ring CC, say [3D+3,3D], this sequence is [2, −2, 2, −2, · · · ]. Using a good binary CC, this sequence is usually [1, −1, 2, −2, · · · ] or [1, −1, 1, −1, · · · ].
50
Chapter 3
Obviously, the former sequence will produce a larger NSED for these CPM systems. Thus the error floor for ring CC systems will quickly be lower than those for binary CC systems with increasing SNR. This is especially obvious in systems with a full response CPM as is shown the Appendix Table D.1. On the other hand, the trellis of the four state ring CC is more flexible than that of the four state binary CC in the sense of its full trellis property (in the trellis, all states connect each other). It can produce some small NSED error events that rarely occur in the binary CC. Thus a ring CC may have smaller overall free distance (usually with a much smaller probability).
3.4
Design Principles
Based on the analysis above, we propose some design principles for SCCPM with a ring CC. Most of them are applicable for SCCPM with a binary CC and a symbol interleaver too. 1. To achieve a larger interleaving gain, we should choose outer codes with the minimal effective sequences length |e lmin | as large as possible. e For the same |lmin |, we should choose codes leading to nout as small as possible. 2. From (2.12) we know that just as for SCC [11], the terms with maximal interleaver gain and effective free distance d2min,ef f dominate the performance. Therefore we should make their coefficients as small as possible, i.e., minimize the number of input sequences generating this term and its input weights. 3. We need to balance the convergence threshold and the convergence according to the application. When we only consider the convergence threshold or the interleaver size is very large, low interleaver gain codes can be used, such as the ones listed in the Appendix Table D.1. Instead, we can choose low error floor codes with a high convergence thresholds. 4. For the applications requiring extremely low BER and short interleavers, the overall free (of the SCCPM) distances have to be considered.
51
3.5
Numerical Results and Conclusion
Computer simulations have been performed for the above described SCCPM systems over an AWGN channel. We have tried both full response and partial response CPM systems (with the RC or REC frequency pulses). We used principal component decomposed signals for CPM signal space [44]. This signal space method for CPM is efficient in the number of frontend receiver filters and optimal in power saving. More simulations will be performed later for other CPM systems such as other modulation indexes and CCs over the ring Z6 (or Z8 ). In Z6 , the binary CCs are not practical since there is no useful mapping to translate bits to alphabet size 6 symbols. Thus a ring CC is a very natural choice. The rate of the current systems is 1 information bit/transmitted symbol. Appendix table D.1 lists numerical results for different systems. From the analysis and numerical results, we see that for SCCPM systems, a symbol interleaved system in general converges substantially earlier than a bit interleaved system. They might have a higher error floor. With the same state (decoding) complexity [53], the ring CC coded system converges even earlier while maintaining the same interleaving gain for many SCCPM systems compared to a binary CC coded system with symbol interleaver systems. These effects are more pronounced in SCCPM systems with a REC frequency pulse than a RC pulse or a longer frequency pulse (larger L) than a shorter one. As shown in [41], [17], concerning the outer code, the convergence threshold will be larger if it has a higher state complexity. The benefit is of course a larger interleaving gain. Thus it is no use to compare a binary CC with two states (memory one) with a ring CC because the ring CC over Z4 has at least 4 states due to its alphabet size limit. 2 Even so, some integer ring CC coded systems do have the same convergence threshold as two states binary CC. The examples are shown in Appendix Table D.1. Moreover, if we do not consider decoding complexity, some ring CC systems converge much earlier and have the same interleaving gain compared to the best binary CC with a bit interleaver! 1+D For example, the 16 states (memory two) ring CC [ 1+D+D 2 , 1] is compared with the (7,5) coded with a bit interleaver: both have memory two and interleaver gain −3 while the ring CC converges approximately 0.25 dB 2 There are some two state ring CCs, but they have parallel trellis branches, which make them have higher complexity and might have no interleaver gain.
52
Chapter 3
earlier for Q2RC CPM. We find that when other conditions are the same, the best ring CC system in many cases has a lower error floor than the best binary CC system with symbol interleavers. This is mainly because the ring CC coded systems have larger effective free distances. Thus a ring CC is a good choice for SCCPM systems in many situations. The conclusion holds at least for the class of SCCPM systems discussed in these two chapters: alphabet size of CPM equals to the denominator of the modulation index, i.e., h = k/P and M = P .
Chapter 4
Irregular Repeat CPM with Iterative Decoding So far, we have shown approaches that can improve the power efficiency of SCCPM. Thus, we gave positive answers to the first question of Chapter 1. In this chapter, we will investigate the second question. A new scheme for improving the power efficiency of CPM will be proposed.
4.1
Introduction
Since the invention of turbo codes [14], there are several other random-like codes showing comparable performance and attracting intense research interests. These codes include the low-density parity-check (LDPC) codes and the repeat accumulate (RA) codes. The LDPC code was invented in the 1962 [22] but forgotten after that. In 1996, the LDPC code was independently rediscovered by both MacKay and Neal [36] and Wiberg [66]. As an extension to LDPC codes, the irregular LDPC codes were shown to achieve good performance in rates very near the Shannon limit for many channels [15], [49]. A common analysis and decoding approach for the LDPC code is the Tanner graph [59]. In this graph, the variable node (denote codeword) and check node (denotes the coding constrain) are drawn in two sides. The variable node and check node are connected by edges. The number of edges connecting to one variable node or one check node is called the 53
54
Chapter 4
degree of the node. The connection rule of the edge usually are randomly produced. All variable nodes connected to one check node are constrained by this check node. If the variable or check node has no identical degree, the code is called irregular. In [18], the RA code was proposed for the propose of theoretical analysis due to its simplicity. Partly motivated by the irregular LDPC codes, the RA codes were extended to the irregular repeat accumulate (IRA) codes and showed similar performance to the irregular LDPC codes: superior performance to SCC at rates close to the channel capacity [29], [28]. Another significant advantage of IRA is its simplicity: it is encoded and decoded in linear time and composed of simple component codes: repetition codes, single parity check (SPC) codes and an accumulator. On the other hand, almost at the same time as the RA code, the concatenated Zig-Zag code proposed by Li Ping etc actually has a similar structure as the IRA code [47]. In this scheme, a Zig-Zag figure is used to perform performance analysis. As shown in [28], the IRA code is actually a serial concatenation of two code families: a low-density generator-matrix (LDGM) as the outer code and an accumulator as the inner code. Yet the interleaver between these two codes is excluded since its randomness is already present in LDGM (random permutation of check code positions). The LDGM is composed of repetition codes and SPC codes. Information bits are repeated by the degree of repetition codes. The resulting bits are then permuted by the random interleaver 1 and then put into the SPC encoders in groups (by the check code degree) to perform modulo-2 addition. If the degrees of repetition codes or check codes are not identical, the LDGM is irregular. The serially concatenated structure of IRA codes is shown in Figure 4.1.
4.2
Irregular Repeat CPM
In Chapters 2 and 3, we showed how to improve the power efficiency of SCCPM by using symbol interleavers and ring CCs. However, there are still many limitations for these schemes. First, there are still large areas between the inner and outer decoding trajectories in their EXIT charts. Second, these schemes only apply to the CPM systems with high alphabet 1
By the traditional of LDPC codes, it is called the edge interleaver.
55
Input info.-
LDGM
-
acc.
output -
Figure 4.1: The serially concatenated structure for IRA codes. LDGM is taken as the outer code and the accumulator as the inner code. The dashed line denotes the systematic bits of IRA codes. The nonsystematic structure of IRA codes has no dashed line.
sizes. These facts show that we need a more powerful coding structure for a further improvement. One way is to use more than one outer CCs for SCCPM. This is actually a kind of irregular turbo-like code [21]. As is shown in [17], the mixture of suitable CCs will improve the convergence threshold since the mixed codes have a better match to the inner CC. Yet this scheme is difficult to use when more than two outer CCs are needed. This is mainly due to the complexity of CCs. Thus, we need a set of simple codes to form the mixed outer code and these codes should have different properties in the iterative decoding process. The repetition code can meet these requirements: It is quite simple; further, it behaves quite different with the different degree. We now show how it combines with the CPM system. From Figure 4.1, we can see that if we replace the accumulator of IRA with CPM, then the principle of the IRA codes can be applied to CPM. This scheme will not further increase decoding complexity compared to IRA codes. Similar to SCCPM, this is based on the observation that CPM is actually a phase accumulator (phase encoder) [5]. Using a notation similar to IRA, we call this scheme irregular repeat CPM (IRCPM). The schematic of the IRCPM system is shown in Figure 4.2. On the transmitter side, it consists of repetition encoders with different degrees (variable nodes, the information bits are repeated at least 2 times), a random edge interleaver, SPC encoders in check nodes (only the parity bits are output, the input bits are ignored.) and a CPM modulator as the ac-
56
Chapter 4 Edge Interleaver Info. bits- * -⊞ ⊕ : z j . dv,1 dc,1 . . . π . . -⊕ * j dv,k
w CPM 7
j *⊞
?
dc,n
AWGN
Repetition Codes SPC Codes
⊞ . - BCJR . π for . CPM I * R⊞ Y j
Y Output i q j 1 *⊕ )
. . .
Y i q j⊕ 1 * )
-
Sum-product Decoding
Figure 4.2: Schematic of IRCPM over the AWGN channel. cumulator to perform the differential (relative) encoding. 2 Similar to the definition of IRA codes, this scheme has a kind of nonsystematic structure [29], [28]. The main reason for using this structure is that the systematic bits are not available at the receiver side due to the built-in coding property of the CPM scheme[5]. Moreover, this nonsystematic realization is simple and efficient for IRCPM as we will show later. Similar to IRA codes, the interleaver will avoid duplicated edges (two edges connecting the same variable and check node). The transmitted signals are disturbed by the additive white Gaussian noise (AWGN). At the receiver side, iterative detection approach is used: the BCJR [7] algorithm is used for CPM decoding (similar to [62] for the accumulator) and the sum-product algorithms for the repetition and SPC codes [66]. The extrinsic information is first passed from the BCJR processor 2 A mapper is needed when the CPM alphabet size is M = 2q+1 and q is a natural number.
57 to check nodes for decoding, then to the variable nodes after deinterleaving. The extrinsic information from the variable nodes is sent back to the check nodes after interleaving, finally back to the BCJR processor. This finishes one iteration of the decoding process. The sum-product decoding algorithm at the check and variable nodes use [62], respectively,
Li,out = log2
1− 1+
and Li,out =
Qdc,i
1−2Lj,in j=1,j6=i 1+2Lj,in Qdc,i 1−2Lj,in j=1,j6=i 1+2Lj,in dv,i X
Lj,in
(4.1)
(4.2)
j=1,j6=i
where the L−value is the log-likelihood values of codeword bits. It is defined as L(y) = log2 PP (y|x=0) (y|x=1) , where x and y denote the transmitted bit and its observation at the receiver side, respectively. From the definition, we can see that a zero for the L−value denotes equal probabilities for 0 and 1 and thus no information for decoding. Hence, we call an L−value meaningful when it is nonzero. After the final round iteration, the decoding decision is based on the sign of the L-value [26]. From the description of the decoding process, we can see that the decoding scheduling of IRCPM is actually a kind of turbo-like scheduling for IRA codes. There are two kinds of schedulings for IRA codes: one is the LDPC-like scheduling and another is the turbo-like scheduling [54]. The latter applies locally the forward-backward APP (BCJR) algorithm over the entire accumulator trellis. The scheduling activates all the variable nodes in parallel with the accumulator for the systematic IRA codes or only activates the accumulator first for the nonsystematic IRA codes. This means that the check nodes do not send messages to the variable nodes until the BCJR iteration is completed. On the other hand, the LDPC-like scheduling activates all variable nodes and all check nodes alternately and in parallel. Every time a node is activated, it sends outgoing messages to all its neighbors. Here neighbors of a node denote the nodes connecting to it by edges in the Tanner graph. A decoding iteration consists of the activation of all variable nodes and all check nodes. Thus, systematic information is necessary in this scheduling. We can see that the LDPC-like
58
Chapter 4
scheduling will not use a BCJR algorithm for the accumulator. Yet this does not mean it more efficient. The LDPC-like scheduling will increase the check nodes decoding complexity since it will introduce an extra edge from the Zig - Zag realization of the accumulator [29]. Also, the LDPClike scheduling is not suitable for the nonsystematic IRA codes. In this scheduling, the accumulator and the SPC codes are decoded jointly. This is also the starting point of the iteration. A check node can not be decoded if its degree is larger than one. Yet the check nodes have to be decoded one after another due to its Zig-Zag structure. Hence, parts of degree-one check nodes can not be decoded if their decoding scheduling comes after these failed decoding check nodes. This will lead to the whole decoding procedure failing even if the check nodes have enough doping [62] (we will discuss this issue later). Therefore, the turbo-like scheduling is a natural choice for IRCPM.
4.3
System Properties (1) ⊕ (2) ⊕ (3) ⊕
⊞
(a) ⊞ (b) q⊞ ~ (c)
L-value from CPM
variable nodes check nodes
Figure 4.3: The channel L-value propagation process for IRCPM: dashed lines denote the permuting rule of the edge interleaver and arrow lines show the channel information propagation directions. Check node (a) and (b) have degree-1, so they can be decoded directly. The L-values first proceed with (a)-(1) and (b)-(2) edges. Then they propagate along (1)-(c) and (2)-(c) edges, respectively. Thus, the edge (c)-(3) can be decoded by (4.1) in the next iteration. From (4.1), we can see that for the check nodes, a necessary condition for an edge to produce a meaningful (non-zero) output L-value is that all
59
(1) ⊕ (2) ⊕ (3) ⊕
⊞
(a) ⊞ (b) ⊞ (c)
L-value from CPM
variable nodes check nodes
Figure 4.4: This permuting rule of the edge interleaver will lead to decoding failure in check nodes (b), (c). The output L-value of the edge (2)-(b) always 0 since the input L-value of the edge (3)-(b) is zero; On the other hand the L-value of the edge (3)-(b) always 0 since the L-value of the edge (2)-(b) is zero. The same as edges (3)-(c) and (2)-(c). other edges connecting to this node have non-zero input L−values. Yet due to the non-systematic structure of IRCPM, all the channel information in the variable nodes comes from the check nodes. Moreover, since we have to initialize the L-values for all edges to zeros before decoding (we assume that the bit values have equal probabilities for being 0 and 1 ), part of the edges connecting to the check nodes that has degree larger than 1 can not be decoded during the first iteration. Decoding has to rely on these degree1 check nodes until nonzero L-values propagate to other check nodes from the variable nodes connecting to the degree-1 check nodes. This is called doping in [62]. The appropriate interleaver rule must ensure non-zero Lvalues propagated to every check node. Figure 4.3 shows an example of the correct L-value propagation process and Figure 4.4 shows a permutation rule that can not propagate correctly and thus should be avoided. To analyze numerically, we define the variable nodes connecting to the degree-1 check nodes as active nodes and the edges connecting these active nodes and degree-k (k > 1) check nodes as active edges. Then we have the following result: Theorem: For a decodable nonsystematic IRCPM system, the ratio Y of degree-1 check nodes (doping nodes) must satisfy: Cc − 1 n ≤ = Y. Cv,max + Cc − 1 N
(4.3)
60
Chapter 4
Now N denotes the check node number, n the doping node number and Cv,max the maximum variable node degree. We assume that the check nodes have only two degrees: 1 and Cc (Cc > 1). Proof: From the decoding procedure, we know that a degree-Cc check node can own at most 1 edge which does not connect to the active nodes for its successful decoding. Otherwise, we can assume that there are two edges of the check node having no connections to active nodes without loss of generality. As shown in Figure 4.4, none of these two edges can decode due to the zero L−value of the another edge. Thus, if M denotes the number of active edges of this check node, we have Cc − 1 ≤ M . We assume that the check nodes have only two degrees: 1 and Cc . As is shown in [62] and examples below in this paper, two degree types for check nodes are sufficient. We define X to be the number of total active edges, according to the definitions of the active nodes and active edges, we have: (N − n) · (Cc − 1) ≤ X.
(4.4)
If we define Cv,max as the maximum degree of variable nodes, then we have: X ≤ n · (Cv,max − 1).
(4.5)
Inserting (4.5) into (4.4) and doing some algebra, we can get (4.3). QED. This theorem can be illustrated using the examples in Figure 4.3 and Cc −1 1 4.4. In Figure 4.4, Y = 31 and Cv,max +Cc −1 = 2 . Thus, we can immediately conclude that it is impossible to successfully decode with this degree profile. Cc −1 2 In Figure 4.3, Cv,max +Cc −1 = 3 = Y , it is possible to successfully decode with this doping ratio. We call the doping satisfying (4.3) sufficient doping.
4.4
EXIT Chart/Function Analysis
A suitable degree profile (degree and ratio) for both check and variable nodes is a necessary condition for IRCPM to achieve good performance. In [62], the degree profile design problem of the IRA codes is solved by finding the degree profile that can produce a good match of the inner and outer decoding trajectory of EXIT charts. We use this approach in our analysis because of the similarity of IRA and IRCPM.
61 The approach to calculate EXIT charts through simulations was presented in Chapter 2. The numerical values are most easily evaluated from simulations if the system structure (degree profile) is fixed. The EXIT chart for CPM is shown in Figure 4.5. More specifically, the system is actually MSK, i.e. M = 2, 1REC with h = 1/2. From this figure, we can see that the decoding trajectory for CPM is indeed similar to the decoding trajectory for the original accumulator in [62] (recursive CC with transfer function 1/(1+D) [18]). This supports the feasibility of replacing the accumulator of IRA with CPM. Exit chart for MSK with different SNR 1 Eb/No −1dB Eb/No −2dB Eb/No −3dB Eb/No −4dB Eb/No −5dB
0.9 0.8 0.7
Ia,msk
0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.2
0.4
0.6
0.8
1
Ie,msk
Figure 4.5: EXIT charts for CPM (MSK) with different SNR values. Though the simulation is a straightforward approach to calculate EXIT charts, it is very difficult to used in searching for good degree profiles. To find EXIT charts for every possibly good degree profile by simulations is obviously a prohibitive task. Thus the benefit of an algebraic approach is very obvious. If we can find a EXIT function using the MI (IE ) as output and the MI (IA ) as input [62], [3], the decoding trajectories can be calculated. As shown in [62], [54], for the AWGN channel, the closed form MI equations for repetition codes can be closely approximated by: p IE,Rep = J (dv − 1) · J −1 (IA ) (4.6) where dv is the degree of the repetition codes. The function J(σ) and its
62
Chapter 4
inverse J −1 (σ) are shown in [63]. For SPC codes, the EXIT function of the SPC-to-CPM direction is: p dc · J −1 (1 − IA ) (4.7) IE,SP C−CP M = 1 − J
where dc means the degree of the check nodes. the SPC-to-repeat codes direction is: √ σ IE,SP C−Rep = 1 − J (4.8)
where σ = (dc − 1 · [J −1 (1 − IA,SP C )]2 + [J −1 (1 − IA,CP M )]2 , IA,SP C and IA,CP M are the IA coming from the SPC and CPM nodes, respectively. For CPM, the function of IE = f (IA ) can be accurately approximated by higher order polynomials. For example, the EXIT function for uncoded MSK with Eb /N0 = −2.6dB can be expressed as: 3 2 − + 5.0629IA IE,CP M = 0.2818 + 0.1939IA − 0.1296IA
4 5 6 7 19.2363IA + 33.4637IA − 27.3931IA + 8.7564IA .
(4.9)
The coefficients of the polynomial come from curve fitting of the decoding trajectories for CPM. This can be found from simulations. For every SNR value, these coefficients are fixed. Thus, we do simulation once with the SNR value of interest to determine these coefficients and save them for the whole search process. We combine (4.6)-(4.9) by setting the output IE of one code as input IA of the subsequent code in the order of the decoding round for this degree profile. Then the decoding trajectory can be calculated numerically. In our system, since we use an edge interleaver, the decoding trajectory of the check nodes and CPM is jointly considered as the inner code curve, and the repetition code trajectory is considered as the outer code curve. It was shown in [3] and [65] that the EXIT curve of a mixed code is the average of the component EXIT curves. The average is carried out according to the ratio of the edges of different degree nodes [62]. For example, we have a degree profile with about 20% degree-1 nodes and 80% degree-3 nodes. If we assume that the total node number is N , then the total edge number is X = 0.2N + 0.8N × 3 = 2.6N . The edge amount of degree-1 nodes is 0.2N . Thus the mixed ratio for degree-1 nodes is
63 Inner Decoding trajectory mixture: degree−1 20%, degree−3 80% 1 Trajectory from simulation, N:199990 Trajectory from degree−3 EXIT function Trajectory from degree−1 EXIT function Trajectory from mixed EXIT function
0.9 0.8
Ie,spc−msk
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.2
0.4 0.6 Ia,spc−msk Eb/No−0.4 dB
0.8
1
Figure 4.6: Calculated EXIT charts for SPC-CPM with different check node profiles and the mixing result. SPC has two degrees: 1 (with about 20% nodes) and 3 (with about 80% nodes). CPM type is MSK. CPM SNR = −2.6 dB. In the figure, the dashed line denotes the decoding trajectory from the simulation with the check node profile.
Y1 = 0.2N 2.6N = 7.69%. The mixed ratio for degree-3 nodes is Y3 = 92.31%. We multiply the calculated IE values of the degree-1 and degree-3 with these ratios and summarize the results. This result is mixed IE ! In this way, we can get the EXIT chart of mixed repetition codes and SPC-CPM codes. The component and mixed EXIT charts are shown in Figures 4.6 and 4.7. In these Figures, the calculated EXIT charts match the simulation EXIT charts very well. This algebraic approach greatly facilitates our search for good degree profiles. The degree profile and corresponding EXIT chart of the currently found earliest convergence IRCPM with rate 1/2 coded MSK is shown in Figure 4.8. The close match between inner and outer decoding trajectories shows excellent performance of IRCPM. The simulation results are shown in Figure 4.9. From these figures, we can see that the simulations match the results from the EXIT charts well.
64
Chapter 4 Decoding trajectory for mixed repeat code 1 Decoding trajectory from simulation Decoding trajectory from calculation Repeat code rate 1/15, 18.33% Repeat code rate 1/4, 2.4% Repeat code rate 1/3, 76.9% Repeat code rate 1/2, 2.37%
0.9 0.8
Ia(rep) in
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.2
0.4
0.6
0.8
1
Ia,rep(out)
Figure 4.7: Calculated EXIT charts for the repetition codes with different degrees and the mixed result. In the figure, the dashed line denotes the decoding trajectory from the simulation with the mixed variable node profile.
4.5 4.5.1
Union Bound Equivalent Structure
In the previous section, we showed that IRCPM works well in the low SNR region. Yet it is still of great value to investigate its performance in the high SNR region. This is especially true when we wish to have a very low BER or the a finite length interleaver. The bound technique is a good approach for this purpose. However, there is no BER bound analysis for the IRA codes that we can use directly for IRCPM. The union bound for bit interleaved SCCPM systems was derived in [40]. In Chapters 2 and 3, we have derived the union bound for symbol interleaved SCCPM. Due to the successful result for SCCPM, it is natural to explore the similarity between SCCPM and IRCPM for a bound analysis. Then we can make use of the analytical results from SCCPM. From the definition of IRCPM, we can get its equivalent structure in Figure 4.10. Here we introduce a virtual interleaver (the middle dashed
65 Exit chart for rate 1/2 IRCPM, interleaver size 519990; N:199990.K:100000
I(SPC−MSK) in, I(SPC−MSK)out
1 Variable node degree: 15 4 3 2 0.024 0.769 0.9 Corresponding ratio: 0.1833 Check node degree: 1 3 0.8 Corresponding ratio: 0.19996 0.80004
0.0237
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.2 0.4 0.6 0.8 I(repetition) in, I(repetition) out−0.4 dB−Iteration:154−times.
1
Figure 4.8: EXIT charts for a rate one half IRCPM. N is check node number and K is variable node number. SNR = 0.4 dB. CPM type is MSK. The degree profile is shown in the figure. The number of iterations is 154. 199990 CPM channel symbols are transmitted. box) for our analysis. This bit-wise interleaver is redundant because its randomness is already realized by the random permutation of check nodes [28]. Thus, it is neglected for the conciseness. Obviously, adding it back here will not change system performance. Hence, if we take the left dashed box (LDGM) as a single outer code, IRCPM now becomes SCCPM! The union bound analytical approach for SCCPM can be directly used here if we know the conditional weight enumerating function (CEWF) [8] of LDGM.
4.5.2
Weight Function for Irregular Repetition Codes
For the time being, we omit the effects of the check nodes and analyze the bounds first. When the repetition code is regular, say, consistently repeat m times, its CWEF is [18], [28]: Am w,L =
mk X h=0
Aw,l Ll
(4.10)
66
Chapter 4 −1
10
−2
Bit error ratio
10
−3
10
−4
10
−5
10
(3,2) coded SCCPM info. length 10000 IRCPM with info. length 10000
−6
10
0.4
0.6
0.8 1 Signal−to−noise ratio: dB
1.2
1.4
Figure 4.9: Simulations for a rate one half IRCPM and the SCCPM. The CPM type is MSK. The outer CC for SCCPM has the encoding matrix (3,2). By the result of [41], this scheme has the earliest convergence for the coded rate one half SCCPM when the CPM type is MSK. They both have information bit length 10000. edge interleaver Info. bits- * j ⊕ : z *⊞ j . dc,1 . dv,1
. .
π
. .
w π - CPM 7 6
-⊕ * -⊞ j * j dc,n dv,k repetition codes spc codes outer code, LDGM
-
inner code
Figure 4.10: Equivalent structure of IRCPM. where k is the input information length, w is the input weight and l = mw k is the output wight. Aw,l = w represents the number of codewords with input/output weight w/l. The irregular repeat (IR) code is nothing more than the composition of several types of regular repeat codes (component codes). We again call the
67 result IR code a mixed code. Assuming that the information bit length of the mixed code is k, then the information bit length of the ith component code is ki = k · Ri . Here Ri is the ratio of the ith code (with degree i for convenience). Thus, if assume that the input weight of ith component code is wi , the total input weight will be: w=
X
wi .
(4.11)
i
The same equation holds for its output weight: X l= li .
(4.12)
i
For convenience, we call these two equations the weight constraints of the component codes. For every component code, (4.10) can be used to evaluate the CWEF due to its regularity. The overall codeword number (Aw,l ) can be evaluated by enumerating component CWEF that satisfies the weight constraints. Further, the component codes are independent and thus have no effect on the output weight of each other by the definition. Hence, for a mixed code, its error event can be seen as the sequential connection of component codes’ error events whose input/output weights satisfy the weight constraints. Within every component code, the error event with input/output weight wi /li can be seen as the parallel connection. Thus, to a special component code weight sequence satisfying the weight constraints, the mixed codeword number is the product of its component code codeword number. Therefore, Aw,l =
XXY wi
li
i
Aiwi ,li
(4.13)
i P P kR i = is the component where l = l and w = w . A i i wi i i wi ,li code error event number with input/output weight wi /li . Obviously, the interleaver will not change the output weight. Hence, we can find the CWEF for IR codes. With the concept of a uniform interleaver and the same derivation process as in [11], [43], we can get the BER bound as: q XXXX Pb (e) ≤ M ·Q (4.14) d2in Rco SN R w
l
nin d2in
68
Chapter 4 P
P Q“
kRi “ wi N N ·Rco · l
”“ · ”
N nin
”
P Ain with l = i li and w = where M = l,d2in ,nin P i wi , and the Q(.)-function is the error function. Using the same notation as [11], [41], Rco denotes the outer code rate, d2in the distance (NSED) for CPM error events, nin the number of inner error events, and Ain lin ,d2in ,nin are the error sequence numbers for CPM. This inequality is very complex to evaluate. Thus we turn to the truncated one, i.e., we only consider its dominating terms. The validity of the truncated bounds has been widely verified in [11], [43] and previous chapters. Two truncation principles are used for our systems: w
wi
li
i
1. We only keep the terms with minimal interleaver gain which is defined in [11]. With the same approach as in Chapter 2, it is easy to show that the interleaver gain can be calculated using: α2,max = max{nin + nout − l − 1}.
(4.15)
Here l is the output weight of the IR codes. From this equation, we can see that the error events produced by the minimum degree variable nodes have the minimal interleaver gain and dominate the union bound. 2. We only consider the terms with relatively small distance for CPM, i.e. terms with small d2in .
4.5.3
Effects of Check Nodes
So far, we can calculate the union bound without considering the check nodes. Yet the check nodes may change the output weight of IR codes. This change sometime has severe effects on the union bound. Now we discuss this issue. Without loss of generality, we assume that the inner CPM type is MSK. Hence, the effective input weight for CPM must be even. When two or more 1s (denote error bits of the IR codeword) enter the same check node, we call these 1s meeting. The meeting will change the output weight of LDGM. Using an example in Figure 4.11 for illustration. 0s denotes the correct bits and 1s error bits (error weight). d1 and d2 denote the degrees of the variable nodes. In the figure, the input weight is
69
output bits
0 6
6
(a) ⊞
⊕ (1)⊕ d1 input bits
6
(b) ⊞ ···
LDGM
1(0)
0
6
6
0
1
(c) ⊞ ···
· · · (2) ⊕ d2 (3) ⊕ 6
1
6
1(0)
Figure 4.11: Effect of check nodes on the CWEF of LDGM. The check node (a) or (b) denotes two output weight (1s) of IR codes meeting. The check node (c) denotes three output weight of IR codes meeting. The node (1) and (2) are called the neighbor nodes that are defined as the variable nodes connecting to the same check node. 2 (now we assume input to (3) is 0) and the output weight is l = d1 + d2 if no permuted 1s meet. If there is one pair of 1s from these two error events meeting, the output weight will be lc = d1 + d2 − 2. From this example, we know that meeting will decrease the output weight. Throughout the analysis process, we use N to denote the number of check nodes (the virtual interleaver length). We are still using the example in Figure 4.11 for illustration. Since there is no duplicated edge in the system, the variable node (1) will connect to d1 check nodes. Thus, the probability for one of the edges connecting to the variable node (2) permuted to these d1 check node is P1 = dN1 . The probabilities for the other −d1 d2 −1 edges not being permuted to these d1 check nodes is Pd2 −1 ≈ ( N N ) . When N ≫ d1 , Pd2 −1 ≈ 1. Thus, the probability for one pair of 1s connecting to these two variable nodes to meet is: d1 · d2 1 d1 = ∼ O( ) (4.16) N N N where Cd12 comes from the fact that there are Cd12 possibilities of choosing any one from d2 edges. In the same way, if n (n < min{d1 , d2 }) pairs of 1s P12 = Cd12 ·
70
Chapter 4
meet in the n check nodes, the output weight will be lc = d1 + d2 − 2 · n = l − 2 · n, and the probability is: Pn2 ≈ Cdn2 · (
d1 d1 − 1 d1 − n + 1 1 )·( )···( ) ∼ O( n ). N N N N
(4.17)
Without meeting, the interleaver gain of the error events is α2 = max{nin + nout − l − 1}. Since the CPM type is MSK, nin = 2l if l is even. Otherwise, if l is odd, this can not produce an error event in MSK and we can ignore this weight. Thus, α2 = max{nout − 2l − 1}. With meetings, the out − l − 1 − n} = interleaver gain of the error events is αc = max{nin c c +n max{nout − l2c − 1 − n}. Here the −n comes from the probability of this meeting, see (4.17). Using the equation lc = l − 2 · n, we can get αc = max{nout − 2l − 1} = α2 . Thus the pairs of meeting will not affect the interleaver gain of the error event. Hence, if the error event without meeting has minimal interleaver gain, then the error events produced from its pairs of meeting also have minimal interleaver gain. We have to consider this type of meetings in the union bound analysis. Using the same analysis approach, we know that the probability for three 1s meeting in the same check node is: d1 1 ∼ O( 2 ). (4.18) 2 N N The IR output weight after this meeting is lc = l − 2. An example is shown in Figure 4.11 at the check node (c) when the input at the variable node (3) is 1. With the same calculation process, we know that the meeting will increase the interleaver gain of the error event (αc = max{nout − 2l − 2} = α2 − 1). Thus, we can ignore this kind of meeting error events by the truncation principles. In the same way, if there is a meeting composed of n 1s (n is even integer and n ≥ 2), the output weight is lc = l −n. The probability of this meeting 1 n in is P n ∼ O( N n−1 ). The inner error event number will be nin c = n − 2. Thus, the interleaver gain after meeting is αc = max{nout + nin − n2 − (l − n) − 1 − (n − 1)} = max{nout + nin − n2 − l} < α. The same result holds when n is odd. Hence, the meeting of more than 2 1s will increase the interleaver gain when the interleaver size (check node number) is large. Yet there is another question on check nodes: will check nodes produce some new effective weight sequences for LDGM (new error events for IRP 3 ≈ Cd22 ·
71 CPM)? The answer is negative. By (2.7), whether an error sequence of LDGM is effective or not for CPM (MSK in this section) depends on its number of 1s: effective for even 1s and ineffective for odd 1s. Obviously, if odd 1s meet in a check node, the output will be odd 1 and if even 1s meet in a check node, output will be even 1. Hence, there are no new error events produced by the check nodes. Therefore, we have the following conclusions of the affect of the check node on the union bound. 1. The check nodes will not decrease the interleaver gain. This means that the check nodes have no severe effects on the union bounds. 2. The second conclusion is that we only need consider the meeting composed of pairs of 1s for the error event having minimal interleaver gain.
4.5.4
An Example
We use the example in Figure 4.8 for illustration. The CPM type is MSK. From the degree profile, we know that the minimal output weight for LDGM is 2 produced from weight 1 input of the degree-2 variable node. It is an effective input weight for MSK. Thus the minimal NSED of MSK is 2 by (2.6). This minimal distance is produced by the MSK input sequence {· · · , 0, 1, 1, 0, · · · }. By (4.14), its interleaver gain is α = −1 and 2 2 the multiplier is M = 2·R N . Here R is the ratio of the degree-2 variable nodes. Also, after being permuted by the virtual interleaver, these two 1s will produce sequences like {· · · , 0, 1, 0, · · · , 0, 1, 0, · · · }. These sequences are also effective for MSK error events and with the same multipliers and different NSED. The error events produced by degree-n (n ≥ 3) have interleaver gains α ≤ −2, and can be ignored when the interleaver size is not small, say, N ≥ 1, 000. The error events produced by more than one error bit from degree-2 variable nodes also have interleaver gain α = −1. Thus, we have to consider these error events. Further, the output weight of these error events may meet in pairs. We have to consider these situations. In an extreme case, these error events may produce zero weight output. As shown in Figure 4.11. If d1 = d2 = 2, and the output weight of variable nodes (1) and (2) meeting in check nodes (a) and (b), the output weight for LDGM will be zero. Even though the probability of this event is very
72
Chapter 4
small (P ∼ O( N12 )), it is quite harmful to the systems. Yet this can be avoided by removing the length-4 cycles in LDGM. We will discuss this issue later. The simulation and bound results are shown in Figure 4.12. We can see that the bound and simulation results match very well for medium to high SNRs. The free distance (minimal NSED) of IRCPM is 2. It is a quite small distance (minimum distance of MSK). This is the main reason for why the error floor in Figure 4.12 is quite flat. 0
10
simulations for information bit 2000 simulations for information bit 5000 simulations for information bit 10000 bound for information bit 10000 bound for information bit 5000 bound for information bit 2000
−1
10
−2
Bit Error Rate
10
−3
10
−4
10
−5
10
−6
10
−7
10
0
0.5
1 1.5 2 SNR: signal−to−noise [dB]
2.5
3
Figure 4.12: Simulations and bounds for IRCPM. The CPM type is MSK. The overall code rate is one half. Thus, the virtual interleaver size is two times of the information bit length. The degree profile is the same as in Figure 4.8.
4.6
Design Considerations
Based on the union bound analysis process, we have some design considerations for IRCPM. These considerations are mainly on approaches for lowering the error floor of IRCPM. 1. For the variable nodes, we should avoid degree-2 nodes. From the bound analysis, the error events from the degree-2 repetition codes
73 will dominate the union bound. If we have to use the degree-2 repetition code (for earlier convergence thresholds), its ratio should not be large. 2. For MSK, the odd input weight (odd input 1s) is not an effective error event. Thus, we should use more odd degree variable nodes. Especially, we should try to use the degree profile that has the odd minimum variable node degree. 3. The length-4 cycle, defined as a closed cycle composed of four interleaver edges, two check nodes and two variable nodes, is shown to have severe effects on the performance of LDPC codes in high SNR regions [49], [57]. It has severe effects on the error floor of IRCPM too. An example is shown in Figure 4.11. The route (1)-(a)-(2)-(b)(1) forms a length-4 circle. It decreases the output weight of LDGM by 4. More severely, if d1 = d2 = 2, there might be an undetected error: an input weight 2 in variable node (1) and (2) but output weight 0! Thus, we should avoid the permuting rule having length-4 cycle, at least, avoid the length-4 cycle within degree-2 variable nodes. In our interleaver design, we actually avoid the length-4 cycle within degree-2 variable nodes. This can be achieved by setting the neighbor nodes of these small degree nodes exhaustively to large degree nodes.
4.7
Numerical Results and Conclusions
In addition to MSK, we have tried some other CPM systems. The degree profile optimization is based on the EXIT chart curve fitting approach. We limit the maximum degree of variable nodes to 20. The numerical results are listed in Table 4.1. In this chapter, we combine IRA with CPM and propose the IRCPM scheme. The results show substantial improvements on convergence thresholds compared to the best CC (usually with the generating matrix (3,2)) coded SCCPM. Here we only discuss recursive CPM since recursiveness of the inner encoder is a necessity for concatenated codes to achieve low error floors [11]. Better results are possible to achieve by using more complex degree profiles which can be found using a the linear programming
74
Chapter 4 CPM type
Earliest CT (dB) for IRCPM
Check node profile: degree(ratio)
Variable node profile: degree(ratio)
Earliest CT (dB) for SCCPM
MSK
0.4 0.45
Q2REC, h = 1/4
1.3
Q1REC, h = 1/4
0.5
1(20%), 3(80%)
Q1RC, h = 1/4
0.5
1(20%), 3(80%)
Q2RC, h = 1/4
0.7
1(20%), 3(80%)
15(18.33%), 4(2.4%), 3(76.9%), 2(2.37%) 15(17.93%), 4(6.1%), 3(74.7%), 2(1.27%) 20(11.7%), 16(2.33%), 10(8.3%), 3(10.37%), 2(67.3%) 20(1.79%), 15(19.26%), 10(0.98%), 3(29.55%), 2(48.42%) 20(5.9%), 15(11.57%), 10(4.61%), 3(26.5%), 2(51.42%) 16(21.03%), 10(1.3%), 4(2.4%), 3(10.03%), 2(64.9%)
0.88
B2RC, h = 1/2
1(20%), 3(80%) 1(20%), 3(80%) 1(20%), 3(80%)
0.88 1.6
0.85
0.88
0.94
Table 4.1: Convergence thresholds (CT) for IRCPM. All systems have outer code rates 1/2. h is the modulation index of CPM. The CT numerical values of SCCPM systems with the binary alphabet size come from [41]. approach [29]. This, however, will increase the system complexity. The union bound, system properties and design considerations discussed here are quite general and can be used in the original IRA codes.
Chapter 5
Conclusions and Suggestions for Future Work In this thesis, we have used some concatenated and iterative decoding approaches to improve the power efficiency of CPM. These approaches are shown chapter by chapter in an order of improving performance and increasing complexity. First, we used a symbol interleaver for SCCPM when the alphabet size for CPM M = 2n+1 (n is a natural number). Compared to the previous bit interleaved SCCPM systems, this scheme can substantially improve the power efficiency of CPM at the low SNR regions. The improvement, as analyzed in thesis, is mainly because the symbol interleaved SCCPM systems have less error events compared to bit interleaved SCCPM systems. Further, this scheme has lower complexity than bit interleaved SCCPM in the sense that the symbol-wise APP algorithm has lower computational complexity than the bit-wise one. Yet in high SNR regions, the symbol interleaved SCCPM systems have higher error floors. In the second approach, we use a CC over integer ring modulo-M as the outer codes for symbol interleaved SCCPM systems. We set M equal to the denominator of the modulation index for the CPM scheme. This SCCPM scheme constitutes a natural combination of CPM, the interleaver and the outer CC. They all work on the same algebra: integer ring modulo-M . For many CPM systems, this scheme shows earlier convergence thresholds or lower error floors than binary CC coded SCCPM when other conditions are the same. 75
76
Chapter 5
Finally, we combined the IRA codes with CPM. Now CPM is the accumulator of the IRA codes and this is referred to as IRCPM. This scheme will not limit the alphabet size or the modulation index of CPM. IRCPM systems have earlier convergence thresholds than SCCPM mainly due to its irregular coding structure. The price of this, however, is an increased system complexity. However, IRCPM has all merits of IRA codes: simple component codes, encodable in linear time and easy to optimize the degree profile etc. The IRCPM discussed in this thesis has a nonsystematic structure. The check node doping (or bi-regular) approach proposed by ten Brink etc [62] makes this nonsystematic code possible to be decoded. Yet before this, it was usually thought that systematic information is necessary for decoding [28]. In the performance analysis process, we derive the union bound for symbol interleaved SCCPM. In this bound, we have to consider the order of nonzero permuted difference symbols since they are not equivalent. To collect the difference symbols of the outer codes, we modify the distance spectrum search approach for general codes. We also derive the union bound for IRCPM by using its equivalent structure. This structure introduces a virtual interleaver before CPM. Thus, the union bound analysis for SCCPM is applicable. In the derivation process, we show that the check nodes will not decrease the interleaver gain of IRCPM and we only need to consider the pairs of 1s (denotes error weight) meeting in check nodes. Concerning future work, we suggest extending the algebra of IRA codes to the integer ring modulo-M and combine this ring IRA with CPM when the CPM alphabet size M > 2. There are two reasons for this proposal: (1) from the equivalent structure of IRCPM in Figure 4.10, the virtual interleaver between LDGM and CPM is a bit-wise interleaver. Thus, if we use ring IRCPM, the interleaver will become symbol-wise. We anticipate the a similar improvement to symbol interleaved SCCPM. (2) In some recent publications, LDPC codes [16] or RA codes [70] are extended to nonbinary level and better performance is achieved. Due to the close relation of IRCPM with them, these facts motivate us to extend IRA codes to the non-binary level. Thus, we think that a similar improvement is possible if we extend IRA codes to this ring and combine with CPM. Once again, we will explore the ring CC property of the CPM scheme. Another suggestion for future work is to combine IRA codes with differential phase modulation, which is suitable for non-coherent channels. It
77 is also a well-known fact that differential phase modulation can be seen as a phase accumulator and thus has the same FSM as a full response CPM systems. Actually, differential (or relative) phase shift keying also is a member of the CPM family. Now this can be referred to as instantaneous phase modulation. The frequency pulse is now an impulse. This corresponds to the phase response being a step function. Finally, we also suggest combining the systematic version of IRA with CPM by taking the systematic bits as part of input to CPM. These bits is not real systematic information after CPM encoding. The scheduling of this scheme will become more complex. Yet it is still worth trying since doping is unnecessary. Hence, the degree optimization is easier.
78
Chapter
Appendix A
Abstract Algebra Basics In this appendix, we give a informal brief introduction to the concept of an integer ring and a Galois field. They both are algebras widely used in coding techniques. Readers preferring a strict treatment should consult [1] and [39]. An integer ring modulo-P (Zp ) is a set of finite integers endowed with binary addition and multiplication operations that are subject to the associative, commutative, and distributive laws [1]. The operation of integer rings that we usually use in phase modulation is the ordinary addition and multiplication operation modulo-p. Normally, p is not a prime number. For example, when we consider Z4 , then its 4 elements are 0, 1, 2 and 3 that denote bit pairs 00, 01, 10 and 11, respectively. If 1 + 1, the calculation will be (1 + 1) modulo-4, then we get the result 2. In the same way, 3 × 3 modulo-4, given 1. Thus, we can see that the integer ring has the same addition and multiplication operations as the phase modulations. A Galois field (GF(q)) is a finite set of q elements. It has the binary addition and multiplication operation and is subject to distributive laws [39]. Here q is a prime or q = pm and p is a prime number and m is a positive integer. When q is a prime, the addition and multiplication rules are those for ordinary addition and multiplication, modulo-q. When q = pm (m > 1), the rules for GF(q) are different from the ordinary addition and multiplication. For example, when q = 4 (GF(4)), 1 + 1 = 0. The elements of GF(pm ) can be related to polynomials whose coefficients are from GF(p). The addition and multiplication operation can be calculated by a polynomial modulo operation. Still using GF(4) as the example, its 79
80
Chapter A
4 elements are described by polynomials 0, 1, x and x + 1 that can denote bit pairs 00, 01, 10 and 11, respectively. The modulo polynomial can be x2 + x + 1. If we want to calculate 11 × 11, the polynomial operation is (x + 1) × (x + 1) = x2 + 2x + 1, after modulo by x2 + x + 1, the result is x = 10. 1
1
Part of this example comes from [35].
Appendix B
Difference Symbol Spectrum Search Algorithm for the Outer Codes of the General SCC In this Appendix, we show a trellis searching algorithm that can perform the difference symbol spectrum (DSS, see below) search for the outer code of the general SCC. The general SCC has two properties making it different from the normal SCC (e.g. SCC in [11]). First, the inner code does not have the uniform error property (UEP). Thus, the all zero sequence can not be considered as the actually transmitted sequence. Second, the interleaver is symbol-wise. Hence, we have to consider the order of permuted elements entering the inner codes. When the DSS of the outer code is available, it can be used for calculating the distance spectra (DS) of the general SCC. One example of general SCC is the symbol interleaved SCCPM system. Its DS calculation approach (after outer DSS is ready) is shown in Chapter 2. The DSS denotes the pairs of difference symbol sequences and their amounts: (e lo , N ), which is similar to the conditional weight enumerate function (CWEF). The difference symbol sequences denote the results of the detected trellis minus the actually transmitted trellis. When an outer code error event happens, the sequence will not be all zero. The main 81
82
Chapter B
difference between the DSS and CWEF is that the difference sequence replace the bit weight since the symbol interleaver is considered in the general SCC. Also, since our system does not have the UEP, the calculation has to rely on exhaustive search. The definition and calculation for difference symbol sequences of the binary CC is shown in Chapter 2 and the ring CC in Chapter 3. The algorithm is a modified version of the general code search shown in [12]. The algorithm works on a trellis having N 2 super-states (ij). i and j are the assumed encoder state in the detector and actual encoder state, respectively. Here N is the number of encoder states. We use Mk (S(ij)) to denote all the nonzero difference sequences at time k. S(ij) denotes the sequences ending with the encoder state i and j (or super-state (ij)). The modifications compared to [12] are the following: 1. The search process not only considers the outer binary CC themselves but also the mapper. This means that we consider the mapped results of the CC output. For example, if the actual trellis section outputs two bits “1, 1 ”and we use natural mapping, the output symbol will be 3. If the assumed output symbol is 1 (corresponding to the bits “0, 1”) in this trellis section, the difference symbol will be 2. Since the outer codewords are integer valued, the real value distance terms in [12] are replaced by integer difference symbols with range {−M + 1, · · · , 0, · · · , M − 1}. 2. The stopping threshold of the searching process is the maximum distance (Dmax ) in [12]. We now replace it by the maximum length o (|e lmax |) of effective non-zero difference sequences. eo | 3. When an error event’s |e lo | ≤ |lmax 2 , there is an effective compound error event with difference sequence {e lo , −e lo } that we can put in our DSS. The amount of this compound event, of course, is the multiplying result of the single error events. The trellis of this compound error event is the same as that of Figure 2.12.
The algorithm is shown as follows:
83
Algorithm B.0.1 (Difference symbol search algorithm for the outer codes of the general SCC) • Initialization: Get the encoding matrix (and the mapping rule if the binary o |. Compute CC) and set the maximum nonzero difference symbol length |e lmax and store Mk (S(ij)) when k = 1. Consider only super state pairs diverging from the same common encoder states. This means that we only consider the error events beginning at time 0. • While: All accumulated nonzero difference symbol length (the length of seo quences in Mk (S(ij))) smaller than |e lmax |. 1. Set k = k + 1. Compute and update Mk (S(ij)). For each super-state, we consider all possible previous super-states by exhaustively enumerating all possible previous encoder states. For example, consider super-state (03), if encoder state 0 and 3 have previous states {2,1} and {0,3}, respectively, the previous super-state of {03} will be {20,23,10,13}. The updating of the difference sequence is achieved by adding the output difference symbol (produced at time k to k +1) to the previous super-state difference symbol sequences. Updating path number Nk+1 (l(ij)) (number of sequences) by setting them as their previous super-state sequence’s Nk (L(ij)). 2. Eliminate path pairs with nonzero difference symbol length greater than o |) for each S(ij). thresholds (|e lmax 3. Check in every super-state, if the difference sequence is the same, the only keep one and merge their Nk+1 (l(ij)). 4. If Mk (S(jj)) is not empty, there are paths merging (denoting an error event), then add them to the output difference sequence (DS). Their path number Nk+1 (l(ij)) are normalized by the total path number from time 0 to time k + 1. Clear Mk (S(jj)). • EndWhile. • End: Merge identical terms in DS and output results.
84
Chapter B
Appendix C
Maximal Interleaver Gain Search Algorithm This Appendix treats the maximal IG search algorithm for SCCPM. Here the maximal value means the largest in numerical value. The IG values are usually negative when calculated by (2.11). From (2.11), we know that the error event leading to maximal IG has large nin , nout and small |l|. Meanwhile, we have nin < |l| 2 , i,e,, |l| nonzero symbols can lead to at most |l| 2 error events by our structure limit (limit for alphabet size, modulation index). Thus we can safely conclude that an error event can not lead to maximal IG if its |l| > |l|o . Again, |l| denotes the nonzero difference symbol of an error event and |l|o is a predetermined threshold and can be gotten by some training approaches (or by experience). Thus, the algorithm will converge if the outer code is non-catastrophic (no infinitely long zero weight error event).
85
86
Chapter C
Algorithm C.0.2 (Maximal interleaver gain search algorithm) • Initialization: Set the current state (CS) zero; set outer coder states transfer matric and corresponding input/output; set quitting sign zero; set output sequence empty; set the assumed |l|o suitable values (usually large enough); set αass a suitable value (usually a small enough negative value). • While: Quitting sign is zero – FOR: all next state (NS) of CS (in the first time interval the NS not include zero) ∗ If: NS is zero Calculate output by all CS/NS pairs, add it to output sequence. check if the output sequence is effective, if so calculate α by (2.11). If α is larger than αass , quitting sign = 1 and return last recursive procedure. ∗ ELSE: set CS to the NS, recursively call this procedure; calculate the length of the nonzero difference trellis |l|; ∗ Endif ∗ If: |l| > |l|o return to last recursive procedure. ∗ Endif – Endfor • Endwhile. • If: the algorithm finish with quitting sign equals to zero αass = αass + 1 and go back to Initialization. • Endif • output: αmax = αass
Appendix D
More Numerical Results for SCCPM System description: (CC type, Int. type, CPM type) (3,2) binary CC, Symbol Int.,Q2RC (3,2) binary CC, bit Int.,Q2RC (5,2) binary CC, Symbol Int.,Q2RC (7,5) binary CC, Symbol Int.,Q2RC (7,5) binary CC, Bit Int.,Q2RC [1,3+3D] Ring CC, Symbol Int.,Q2RC [1,2+D] Ring CC, Symbol Int.,Q2RC
Conv. threshold (dB) 0.94
Interleaver Gain α −1
Free Distance (d2min,ef f , d2min ) (5.2608,1.788)
CC State number 2
1.25
−2
(1.788,1.788)
2
2.35
−2
(5.2609,3.5758)
4
1.14
−2
(1.7879,1.7879)
4
1.95
−3
(1.7879,1.7879)
4
1.04
−2
(2.6554,2.6554)
4
0.94
−1
(3.9332,1.788)
4
87
88
System description: (CC type, Int. type, CPM type) [3+3D,3D] Ring CC, Sym. Int.,Q2RC (5,2) binary CC, Symbol Int.,Q2REC (7,5) binary CC, Symbol Int.,Q2REC (3,2) binary CC, Symbol Int.,Q2REC (3,2) binary CC, bit Int.,Q2REC (6,1) binary CC, Symbol Int.,Q2REC [1,2+D] Ring CC, Symbol Int.,Q2REC [3,3+3D] Ring CC, Symbol Int.,Q2REC [3+3D,3D] Ring CC, Sym. Int.,Q2REC [1,3+3D] Ring CC, Sym. Int.,Q2REC [1+3D,2+D] Ring CC, Sym. Int.,Q2REC [1+3D,2+D] Ring CC, Sym. Int.,Q2RC
Chapter D
Conv. threshold (dB) 1.03
Interleaver Gain α −2
Free Distance (d2min,ef f , d2min ) (2.6554,2.6554)
CC State number 4
2.35
−2
(4.4388,1.5957)
4
2.18
−2
(0.7978,0.7978)
4
1.60
−1
(4.4388,0.7978)
2
2.15
−2
(0.7978,0.7978)
2
1.98
−2
(0.7978,0.7978)
4
1.75
−1
(3.4541,0.7978)
4
1.76
−2
(1.9694,1.9694)
4
1.74
−2
(1.9694,1.9694)
4
1.76
−2
(1.9694,1.9694)
4
2.3
−2
(6.9081,1.7826)
4
1.27
−2
(7.8663,3.1156)
4
89
System description: (CC type, Int. type, CPM type) [1+D,2+D] Ring CC, Sym. Int.,Q2REC [1,3+3D] Ring CC, Symbol Int.,Q1REC (7,5) binary CC, Symbol Int.,Q1REC (6,1) binary CC, Symbol Int.,Q1REC [1,3+3D] Ring CC, Symbol Int.,Q3REC (7,5) binary CC, Symbol Int.,Q3REC (6,1) binary CC, Symbol Int.,Q3REC 1+D [1, 1+D+D Ring 2] CC, Sym. Int.,Q2RC 1+D [1, 1+D+D 2] Ring CC, Sym. Int.,Q2REC
Conv. threshold (dB) 2.32
Interleaver Gain α −2
Free Distance (d2min,ef f , d2min ) (6.9081,1.7826)
CC State number 4
0.88
−2
(3.3254,3.3254)
4
0.95
−2
(2.1821,2.1821)
4
0.90
−2
(2.1821,2.1821)
4
3.15
−2
(5.8962,5.8962)
4
3.8
−2
(4.4436,4.4436)
4
3.45
−2
(4.4436,4.4436)
4
1.7
−3
(11.7995,3.5758) 16
3
−3
(10.3622,1.5956) 16
Table D.1: Key performance parameters for different systems. All CPM has modulation index h = 41 . Q2REC means CPM with length 2 rectangular frequency impulse.
90
Chapter D
References [1] R. B. Allenby, Rings, Fields, and Groups: An Introduction to Abstract Algebra, second edition, Oxford University Press, Oxford, England, 1991. [2] J. B. Anderson, T. Aulin, and C.-E. Sundberg, Digital Phase Modulation, Plenum Press, New York, NY, 1986. [3] A. Ashikhmin, S. ten Brink, and G. Kramer, “Extrinsic information transfer functions: model and erasure channel properties,” IEEE Transactions on Information Theory, vol. 50, pp. 2657–2673, Nov. 2004. [4] T. Aulin, CPM—A Power and Bandwidth Efficient Digital Constant Envelope Modulation Scheme, Ph.D. thesis, University of Lund, Lund, Sweden, Nov. 1979. [5] T. Aulin, “A modified model for the fading signal at a mobile radio channel,” IEEE Transactions on Vehicular Technology, vol. 28, no. 3, pp. 182–203, Aug. 1979. [6] T. Aulin, N. Rydbeck, and C.-E. Sundberg, “Continuous phase modulation (CPM). part I and part II,” IEEE Transactions on Communications, vol. 29, pp. 196–225, Mar. 1981. [7] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes for minimizing symbol error rate,” IEEE Transactions on Information Theory, vol. 20, no. 2, pp. 284–287, Mar. 1974. [8] S. Benedetto and E. Biglieri, Principles of Digital Transmission: With Wireless Applications, Kluwer Academic / Plenum Publishers, New York, NY, 1999. 91
92
References
[9] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serially concatenated trellis coded modulation with iterative decoding,” in Proc. IEEE International Symposium on Information Theory, 1997, p. 8. [10] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “A softinput soft-output APP module for iterative decoding of concatenated codes,” IEEE Communications Letters, vol. 1, no. 1, pp. 22–24, Jan. 1997. [11] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial concatenation of interleaved codes: Performance analysis, design, and iterative decoding,” IEEE Transactions on Information Theory, vol. 44, no. 3, pp. 909–926, May 1998. [12] S. Benedetto, M. Mondin, and G. Montorsi, “Performance evaluation of trellis-coded modulation schemes,” Proceedings of IEEE, vol. 82, no. 6, pp. 833–855, June 1994. [13] J. Berkmann, Iterative Decoding of Nonbinary Codes, Ph.D. thesis, Institute for Communications Engineering (LNT), University of Southern California, Munich, Germany, Aug. 1995. [14] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo codes,” in Proc. IEEE International Conference on Communications, Geneva, Switzerland, May 1993, pp. 1064–1070. [15] S. Chung, D. Forney, T. Richardson, and R. Urbanke, “On the design of low-density parity-check codes within 0.0045 db of the shannon limit,” IEEE Communications Letters, vol. 5, 2001. [16] M. C. Davey and D. MacKay, “Low-density parity check codes over gf(q),” IEEE Communications Letters, vol. 2, no. 6, pp. 165–167, June 1998. [17] D. Divsalar, S. Dolinar, and F. Pollara, “Iterative turbo decoder analysis based on density evolution,” IEEE Journal on Selected Areas in Communications, vol. 19, no. 5, pp. 891–907, May 2001.
93 [18] D. Divsalar, H. Jin, and R. McEliece, “Coding theorems for ”turbolike” codes,” Proc. 36nd. Allerton Conference, 1998. [19] G. D. Forney, Jr., Concatenated Codes, MIT Press, Cambridge, MA, 1966. [20] C. Fragouli and R. D. Wesel, “Bit vs. symbol interleaving for parallel concatenated trellis coded modulation,” Proc. IEEE Global Telecommunications Conference, pp. 931–935, Nov. 2001. [21] B. Frey and D. Mackay, “Irregular turbo codes,” Proc. 37nd. Allerton Conf. Commun., Control, Computing, 1999. [22] R. Gallager, “Low density parity check codes,” IRE Trans. Inform. Theory, vol. 8, pp. 21–28, Jan 1962. [23] H. El Gamal and Jr. A. R. Hammons, “Analyzing the turbo decoder using the gaussian approximation,” IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 671–686, Feb. 2001. [24] R. Garello, P. Pierleoni, and S. Benedetto, “Computing the free distance of turbo codes and serially concatenated codes with interleavers: Algorithm and applications,” IEEE Journal on Selected Areas in Communications, vol. 19, no. 5, pp. 800–812, May 2001. [25] A. Grant, “Convergence of non-binary iterative decoding,” Proc. IEEE Global Telecommunications Conference, pp. 1058–1062, Nov. 2001. [26] P. Hoeher, Ingmar Land, and U. Sorger, “Log-likelihood values and Monte Carlo simulation - some fundamental results,” in Proc. International Symposium on Turbo Codes & Related Topics, Brest, France, Sept. 2000, pp. 43–46. [27] P. Hoeher and J. Lodge, “turbo dpsk: iterative differential PSK demodulation and channel decoding,” IEEE Transactions on Communications, vol. 47, pp. 837–843, jun 1999. [28] H. Jin, Analysis and Design of Turbo-like Codes, Ph.D. thesis, California Institute of Technology, Pasadena, California, USA, May 2001.
94
References
[29] H. Jin, A. Khandekar, and R. McEliece, “Irregular repeat-accumulate codes,” Proc. 2nd. Int. Symp. Turbo Codes, Sept. 2000. [30] R. Johannesson, Zhe-Xian Wan, and E. Wittenmark, “Some structural properties of convolutional codes over rings,” IEEE Transactions on Information Theory, pp. 839–845, Mar. 1998. [31] R. Johannesson and K. Zigangirov, Fundamentals of Convolutional Coding, IEEE Press, Piscataway, N.J, 1999. [32] Ingmar Land, P. Hoeher, and S. Gligorevic, “Computation of symbolwise mutual information in transmission systems with logAPP decoders and application to EXIT charts,” Proc. Int. ITG Conf. on Source and Channel Coding, 2004. [33] S. Lin and D. Costello, Error Control Coding, Prentice Hall, 2nd edition, 2004. [34] G. Lindell, C. E. Sundberg, and T. Aulin, “Minimum euclidean distance for combiations of short rate 1/2 convolutional codes and CPFSK modulation,” IEEE Transactions on Communications, vol. 30, May 1984. [35] D. MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, Cambridge, England, 2003. [36] D. MacKay and R. M. Neal, “Near Shannon limit performance of low density parity check codes,” Electronics Letters, vol. 32, no. 18, pp. 1645–1646, Aug. 1996. [37] J. L. Massey and T. Mittelholzer, “Convolutional codes over rings,” Proc. 4th Joint Swedish-USSR Int. Workshop Inform. Theory, pp. 14–18, Aug. 1989. [38] J. L. Massey and T. Mittelholzer, “Systematicity and rotational invariance of convolutional codes over rings,” Proc. 2nd Int. workshop algebraic and combinatorial coding theory, 1990. [39] R. McEliece, Finite Fields for Computer Scientists and Engineers., Kluwer Academic publishers, Boston, USA, 1987.
95 [40] P. Moqvist, “Serially concatenated systems: An iterative decoding approach with application to continuous phase modulation,” Technical Report No. 331L, Chalmers University of Technology, Gothenburg, Sweden, Nov. 1999. [41] P. Moqvist, Multiuser Serially Concatenated Continuous Phase Modulation, Ph.D. thesis, Chalmers University of Technology, Gothenburg, Sweden, Oct. 2002. [42] P. Moqvist and T. Aulin, “Power and bandwidth efficient serially concatenated CPM with iterative decoding,” in Proc. IEEE Global Telecommunications Conference, San Francisco, CA, Nov./Dec. 2000, pp. 790–794. [43] P. Moqvist and T. Aulin, “Serially concatenated continuous phase modulation with iterative decoding,” IEEE Transactions on Communications, vol. 49, no. 11, pp. 1901–1915, Nov. 2001. [44] P. Moqvist and T. Aulin, “Orthogonalization by principal components applied to CPM,” IEEE Transactions on Communications, vol. 51, no. 11, pp. 1838–1845, Nov. 2003. [45] K. R. Narayanan, I. Altunbas, and R.S. Narayanaswami, “Design of serial concatenated MSK schemes based on density evolution,” IEEE Transactions on Communications, vol. 51, 2003. [46] K. R. Narayanan and G. L. Stuber, “Performance of trellis coded CPM with iterative demodulation and decoding,” Proc. IEEE Global Telecommunications Conference, 1999. [47] Li Ping, X. Huang, and N. Phamdo, “Zigzag codes and concatenated zigzag codes,” IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 800–807, Feb. 2001. [48] J. G. Proakis, Digital Communications, McGraw-Hill, New York, NY, 3rd edition, 1995. [49] T. Richardson, M. Shokrollahi, and R. Urbanke, “Design of capacityapproaching irregular low-density parity-check codes,” IEEE Transactions on Information Theory, vol. 47, 2001.
96
References
[50] T. Richardson and R. Urbanke, “The capacity of low density parity check codes under message passing decoding,” IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 599–618, Feb. 2001. [51] B. Rimoldi, “A decomposition approach to CPM,” IEEE Transactions on Information Theory, vol. 34, no. 2, pp. 260–270, Mar. 1988. [52] B. Rimoldi and Q. Li, “Coded continuous phase modulation using ring convolutional codes,” IEEE Transactions on Communications, vol. 43, pp. 2714–2720, Nov. 1995. [53] B. Rimoldi and Q. Li, “Coded continuous phase modulation using ring convolutional codes,” IEEE Transactions on Communications, vol. 43, pp. 2714–2720, Nov. 1995. [54] A. Roumy, S. Guemghar, G. Caire, and S. Verd´ u, “Design methods for irregular repeataccumulate codes,” IEEE Transactions on Information Theory, vol. 50, no. 8, pp. 1711–1727, Aug. 2004. [55] A. Ruscitto and E. Biglieri, “Joint source and channel coding using turbo codes over rings,” IEEE Transactions on Communications, vol. 46, no. 8, pp. 981–984, Aug. 1998. [56] B. Scanavino, G. Montorsi, and S. Benedetto, “Convergence properties of iterative decoders working at bit and symbol level,” Proc. IEEE Global Telecommunications Conference, pp. 1037–1041, Nov. 2001. [57] C. Schlegel and L. Perez, Trellis and Turbo Coding, IEEE Press, Piscataway, NJ, 2004. [58] C. E. Shannon, “A mathematical theory of communication,” Bell System Technical Journal, vol. 27, no. 3, pp. 379–423 and 623–656, July and Oct. 1948. [59] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on Information Theory, vol. 27, no. 5, pp. 533–547, Sept. 1981. [60] S. ten Brink, “Convergence of iterative decoding,” Electronics Letters, vol. 35, no. 13, pp. 1117–1118, June 1999.
97 [61] S. ten Brink, “Convergence behavior of iteratively decoded parallel concatenated codes,” IEEE Transactions on Communications, vol. 49, no. 10, pp. 1727–1737, Oct. 2001. [62] S. ten Brink and G. Kramer, “Design of repeat-accumulate codes for iterative detection and decoding,” IEEE Transactions on Signal Processing, vol. 51, pp. 2764–2772, nov 2003. [63] S. ten Brink, G. Kramer, and A. Ashikhmin, “Design of low-density parity-check codes for modulation and detection,” IEEE Transactions on Communications, 2004. [64] H. L. Van Trees, Detection, Estimation, and Modulation Theory, Part I, John Wiley & Sons, New York, NY, 1968. [65] M. Tuechler and J. Hagenauer, “EXIT charts and irregular codes,” Proc. 36nd. Annu. Conf. Inform. Science syst., 2002. [66] N. Wiberg, Codes and Decoding on General Graphs, Ph.D. thesis, Link¨oping University, Link¨oping, Sweden, Apr. 1996. [67] J. M. Wozencraft and I. M. Jacobs, Principles of Communication Engineering, John Wiley & Sons, New York, NY, 1965. [68] M. Xiao and T. Aulin, “Serially concatenated continuous phase modulation with ring convolutional codes,” in Proc. IEEE International Symposium on Information Theory, Chicago, USA, June 2004, p. 513. [69] M. Xiao and T. Aulin, “Serially concatenated continuous phase modulation with symbol interleavers: Performances,properties and design principles,” accepted for publication in the IEEE Global Telecommunications Conference, 2004. [70] K. Yang, “Weighted nonbinary repeat accumulate codes,” IEEE Transactions on Information Theory, vol. 50, no. 3, pp. 527–531, Mar. 2004. [71] R. H. Yang and D. P. Taylor, “Trellis coded continuous phase frequency shift keying with ring convolutional codes,” IEEE Transactions on Information Theory, vol. 40, pp. 1057–1067, June 1994.