3.2 Concatenated Coding System Under an Unknown Fading Channel
3.2.2 Non-Coherent Convolutional Code and Exhausted Decoder
Figure 3.2: Architecture of the turbo encoder 0 according to the log-likelihood ratio (LLR):
Λ(i) = logPr(ci = 1| r)
where r is the received vector, andBi(k) denotes the set of all transitions from nodes at level i−1 to nodes at level i corresponding to input ci = k ∈ {0, 1}. Again, we remind the readers that Swi means the trellis state at level i. Apparently, the decision rule shall be ˆmi = 1 if Λ(i) > 0, and ˆmi = 0, otherwise.
3.2.2 Non-Coherent Convolutional Code and Exhausted Decoder
The non-coherent convolutional codes that we designed and tested in this thesis have three different codeword lengths: six, eight, and ten. For convenience, we will refer to them as type 3, type 2 and type 1 in the figures. Using the selection approach we propose, we found that the best type 1, type 2 and type 3 (3, 2) non-coherent convolutional codes are [5 6 0 ; 0 7 5], [5 6 0 ; 0 7 5] and [7 6 0 ; 0 7 5] (in octal) under unknown fading channels. As an example, the structure of the type 1 non-coherent convolution code is depicted in Fig. 3.3.
Since the codeword length of our designed code is small, we propose to use the exhaustive
+h
+h
+h
-
--
-1 i
z ?1 6i
z 9
-z−1 z−1
z−1 z−1
Figure 3.3: The (3,2) non-coherent convolutional code which generating polynomial [5 6 0 ; 0 7 5].
decoder to secure the optimal performance for the adopted code. The simulation results of the designed codes of all three types will be provided and remarked in the next chapter.
Chapter 4
Simulation Results
In this chapter, we will examine how well our proposed method can locate a non-coherent con-volutional code with acceptably good performance. Simulations on the found non-coherent convolutional codes concatenated with turbo codes will follow. For clarity, basic simulation results are provided in Section 4.1, and discussions on them as well as additional simulations to verify our interpretation will be placed in Section 4.2.
4.1 System Settings
In finding the optimal convolutional coding structure that gives the minimum decoding error, we first examine the relation between the convolutional code structures and corresponding minimum pair-wise non-coherent distances defined in (2.11).
In Figure 4.1, the legend mark “5-1;0.94” means that the convolutional code structure is defined via generator matrix
[
1 + D2 D2 ]
and its resulting minimum pairwise non-coherent distance is 0.94. Similarly, the codes marked 2”, 3”, 4”, 5”, 6” and “5-7” are defined via the generator matrices
[
, respectively. The simu-lation result shows that the minimum pairwise non-coherent distance may not be a good
decisive factor for performance. In particular, the one with the largest minimum pairwise non-coherent distance, i.e., “5-5”, turns out to have the worst performance. Numbers of codeword pairs that result in the respective non-coherent distances should be taken into consideration.
For this reason, we examine in Figure 4.2 the so-called cumulative distance function (CDF) of the codes simulated in Figure 4.1. The y-axis in Figure 4.2 indicates the cumulative number of codeword pairs whose non-coherent distance is below the quantity indicated by the x-axis.
For a more well-rounded understanding of the relation between the CDFs of non-coherent convolutional codes and their performances, another set of convolutional codes is tested.
The codes are structured as [ marked as “7-1”, . . . “7-7” in the legends of the respective figures. The results are summarized in Figures 4.3 and 4.4. Same notations, for example, “7-1;0.92”, are used in these two figures.
With the CDFs, we can locate good convolutional codes (termed type 1, type 2 and type 3 in Section 3.2.2) using the approach proposed in the previous chapter.
As previously mentioned, the convolutional code that we design is used as an inner code to combat the channel fading. An outer code such as the turbo code will be concate-nated with it. Thus, our next focus is to examine the system performance of the proposed concatenated coding system. Three turbo codes are tested. They are the (37, 21) turbo code [7], the 3GPP/LTE specified turbo code [12], and the turbo code with generator matrix [
1 (1 + D + D2+ D4)/(1 + D3+ D4) ]
[11]. The results for these three turbo codes are respectively illustrated in Figures 4.5–4.7.
Finally, Figures 4.8, 4.9 and 4.10 show the performances of a traditional system struc-ture that replaces our non-coherent inner convolutional code with a least square channel estimators. In these figures, “H′” means the estimated channel matrix by the LS channel
estimator.
0 5 10 15 10−3
10−2 10−1 100
Eb/N0 (dB)
BER
Convolutional codes with structure 5−1 to 5−7
5−1;0.94 5−2;0.94 5−3;1.01 5−4;1.02 5−5;1.16 5−6;0.75 5−7;0.97
Figure 4.1: Performances of non-coherent convolutional codes under blind fading channels.
Here, the codeword length N = 10 and the channel memory order is ν = 2. The code rate is 1/2.
0 1 2 3 4 5 6
N=10 v=2 convolutional code 5−1 to 5−7
5−1
N=10 v=2 convolutional code 5−1 to 5−7
5−1
Figure 4.2: Cumulative distance function (CDF) of the convolutional codes under test. Here, we provide two plots that have different x-axis ranges to facilitate our interpretation of the results. The code rate is 1/2.
0 5 10 15 10−4
10−3 10−2 10−1 100
Eb/N0 (dB)
BER
Convolutional codes with structure 7−1 to 7−7
7−1;0.92 7−2;0.95 7−3;0.99 7−4;1.73 7−5;1.63 7−6;1.72 7−7;1.56
Figure 4.3: Performances of non-coherent convolutional codes under blind fading channels.
Here, the codeword length N = 10 and the channel memory order is ν = 2. The code rate is 1/2.
0 1 2 3 4 5 6
N=10 v=2 convolutional code 7−1 to 7−7
7−1
N=10 v=2 convolutional code 7−1 to 7−7
7−1
Figure 4.4: Cumulative distance function (CDF) of the convolutional codes under test. Here, we provide two plots that have different x-axis ranges to facilitate our interpretation of the results. The code rate is 1/2.
8 8.5 9 9.5 10 10.5 10−4
10−3 10−2 10−1 100
Eb/N0 (dB)
BER
(37,21) turbo code with type 1, 2 and 3 convolutional codes
type1 type2 type3
Figure 4.5: Performances of the concatenated coding system. The turbo code used is the (37, 21) code proposed by Berrou and Glavieux in [7]. The codeword lengths of the type 1, 2 and 3 convolutional codes are ten, eight and six, respectively. The inner convolutional code rate is 2/3 and the outer turbo code rate is 1/3.
8 8.5 9 9.5 10 10.5 10−4
10−3 10−2 10−1 100
Eb/N0 (dB)
BER
3GPP/LTE specified turbo code with type 1, 2 and 3 convolutional codes
type1 type2 type3
Figure 4.6: Performances of the concatenated coding system. The turbo code used is the one specified in 3GPP/LTE. The codeword lengths of the type 1, 2 and 3 convolutional codes are ten, eight and six, respectively. The inner convolutional code rate is 2/3 and the outer turbo code rate is 1/3.
8 8.5 9 9.5 10 10.5 11 10−4
10−3 10−2 10−1 100
Eb/N0 (dB)
BER
Turbo code in Shu Lin’s book with type 1, 2 and 3 convolutional codes
type1 type2 type3
Figure 4.7: Performances of the concatenated coding system. The turbo code used is the one specified in [11]. The codeword lengths of the type 1, 2 and 3 convolutional codes are ten, eight and six, respectively. The inner convolutional code rate is 2/3 and the outer turbo code rate is 1/3.
8 9 10 11 12 13 14 15 10−4
10−3 10−2 10−1 100
Eb/N0 (dB)
BER
(37,21) turbo code with convolutional codes and a LS channel estimator
type1 type2 type3 type1 with H’
type2 with H’
type3 with H’
Figure 4.8: Performances of a conventional system that employs the (37, 21) turbo code [7]
with a least square (LS) channel estimator instead of our non-coherent convolutional code.
Here, type 1, type 2 and type 3 similarly denote the sizes of the LS estimator, i.e., 10, 8 and 6. The inner LS channel estimator rate is 2/3 and the outer turbo code rate is 1/3. The curves in Figure 4.5 are also illustrated for comparison.
8 9 10 11 12 13 14 15 16 10−4
10−3 10−2 10−1 100
Eb/N0 (dB)
BER
3GPP/LTE specified turbo code with convolutional codes and a LS channel estimator
type1 type2 type3 type1 with H’
type2 with H’
type3 with H’
Figure 4.9: Performances of a conventional system that employs the 3GPP/LTE specified turbo code [12] with a least square (LS) channel estimator instead of our non-coherent convolutional code. Here, type 1, type 2 and type 3 similarly denote the sizes of the LS estimator, i.e., 10, 8 and 6. The inner LS channel estimator rate is 2/3 and the outer turbo code rate is 1/3. The curves in Figure 4.6 are also illustrated for comparison.
8 9 10 11 12 13 14 15 16 10−4
10−3 10−2 10−1 100
Eb/N0 (dB)
BER
Shu Lin’s turbo code with convolutional codes and a LS channel estimator
type1 type2 type3 type1 with H’
type2 with H’
type3 with H’
Figure 4.10: Performances of a conventional system that employs the turbo code from [11]
with a least square (LS) channel estimator instead of our non-coherent convolutional code.
Here, type 1, type 2 and type 3 similarly denote the sizes of the LS estimator, i.e., 10, 8 and 6. The inner LS channel estimator rate is 2/3 and the outer turbo code rate is 1/3. The curves in Figure 4.7 are also illustrated for comparison.