Professional Documents
Culture Documents
Lecture Notes
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 175 / 385
History of Concatenated Codes
• Conventional codes like convolutional and simple block codes
cannot approach Shannon’s capacity limit
• Concatenated codes have potential to reach capacity limit with
moderate decoding complexity
1963 Gallager invented LDPC codes
[D. Gallager: “Low Density Parity Check Codes”, The M.I.T. Press, Cambridge, MA]
1966 Forney’s work on concatenated codes
[G. Forney: “Concatenated Codes”, The M.I.T. Press, Cambridge, MA]
• Limited attention due to missing computational power
1993 Breakthrough by turbo codes approaching capacity limit by 0.5 dB
[C. Berrou, G. Glavieux, P. Thitimajshima: “Near Shannon Limit Error-Correcting
Coding and Decoding: Turbo-Codes”, Proc. IEEE ICC, pp. 1064-1070 ]
100
Lc =3
• Turbo code with
optimized interleaver of
Lc =5
length 65384 bit
10−1 =7
Lc
Lc =9
• Gain of nearly 3 dB
compared to
uncoded
10−2 convolutional code with
BER →
TC
constraint length Lc = 9
10−3
RA
• Gap to Shannon’s
channel capacity only
0.5 dB
10−4 • Former world record:
0.1 dB gap to Shannon
capacity by Stephan ten
10−5
0 2 4 6 Brink’s repeat
accumulate (RA) code
10 log10 (Eb /N0 ) in dB →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 177 / 385
Serial and Parallel Code Concatenation
• Serial Concatenated Code (SCC)
C1 C2 D2 D1
inner code
outer code
C1 P
CL S
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 178 / 385
Serial Code Concatenation
First Attempt: Concatenation of (3,2,2) SPC and (4,3,2) SPC codes
u c1 c2
C1 C2
u c1 c2 wH (c2 )
00 000 0000 0
01 011 0110 2
10 101 1010 2
11 110 1100 2
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 179 / 385
Serial Code Concatenation: Second Attempt
Concatenation of (4,3,2) SPC code and (7,4,3) Hamming code
u c1 c2 wH (c2 ) copt
2 wH (copt
2 )
000 0000 0000 000 0 0000000 0
001 0011 0011 001 3 0001111 4
010 0101 0101 010 3 0110011 4
011 0110 0110 011 4 0111100 4
100 1001 1001 100 3 1010101 4
101 1010 1010 101 4 1011010 4
110 1100 1100 110 4 1100110 4
111 1110 1111 111 7 1101001 4
dmin = d−
|
min · dmin
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 181 / 385
Product Codes
Examples 1: (12,6,4) Product Code
dmin = 2 · 2 = 4 x3 x7 x11
• 1 error correctable
• Coding gain dmin · Rc = 2
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 182 / 385
Product Codes
Examples 2: (28,12,6) Product Code
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 183 / 385
Parallel Concatenation of 2 Linear Block Codes
• Information bits arranged in k | · k − matrix
Rc = k− ·k|
n− n| −(n− −k− )(n| −k| )
k| u p− C−
1
=
1/Rc− +1/Rc −1
|
n| − k | p|
• Minimum Hamming distance
dmin = d−
min + dmin − 1
| C|
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 184 / 385
Parallel Concatenation of 2 Linear Block Codes
Example with two SPC Codes
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 185 / 385
Parallel Concatenation of 2 Linear Block Codes
Example with Hamming and SPC Code
x0 x7 x14 x21
• Horizontal: (4,3,2) SPC code
• Vertical: (7,4,3) Hamming code x1 x8 x15 x22
• Code rate:
12 x3 x9 x16 x23
Rc =
25 x3 x10 x17 x24
• Minimum Hamming distance
x4 x11 x18
dmin = 2 + 3 − 1 = 4 x5 x12 x19
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 186 / 385
Interleaving is crucial: Simple block interleaver
write
read
x0 x3 x6 x9 x12
x2 x5 x8 x11 x14
• input sequence:
x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12 , x13 , x14
• output sequence:
x0 , x3 , x6 , x9 , x12 , x1 , x4 , x7 , x10 , x13 , x2 , x5 , x8 , x11 , x14
• Turbo codes require (pseudo) random interleaving
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 187 / 385
Concatenation of 2 Constituent Codes
Parallel Concatenated Code (PCC), Turbo Code
u
u = u1 c2
C1 c
P
Π
u2 c1
C2
u c1 c̃1 c2
C1 Π C2
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 189 / 385
Turbo Codes: Example 1
Recursive convolutional encoders with Lc = 3, code rate Rc = 2/3
u
c1
C1
u = u1
1 1 1 1
D D c
P = 1 0 0 0
0 0 1 0
Π
c2
C2
u2
D D
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 190 / 385
Turbo Codes: Example 2
Recursive convolutional encoders with Lc = 5, code rate Rc = 1/2
u
c1
C1
u = u1
1 1
D D D D c
P = 1 0
0 1
Π
c2
C2
u2
D D D D
[C. Berrou, G. Glavieux, P. Thitimajshima: “Near Shannon Limit Error-Correcting Coding and
Decoding: Turbo-Codes”, IEEE ICC, pp. 1064-1070, Geneva, Switzerland, 1993]
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 191 / 385
Serial Concatenated Code: Example 1
Repeat Accumulate code by ten Brink with code rate Rc = 1/2
u repatition c1 c̃1 c2
Π D D D P
code
C1
outer repetition encoder, C2
code rate 1/2 inner recursive encoder:
g1 = 1, g2 = 178 /178
[S. ten Brink: "Rate one-half code for approachingthe Shannon limit by 0.1 dB", Electronics Letter,
20th July 2000, Vol. 36, No. 15]
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 192 / 385
Serial Concatenated Code: Example 2
Convolutional encoders with Lc = 4, entire code rate Rc = 1/2
C1
c2
c̃1 P2
D D D
inner recursive encoder:
g1 = 1, g2 = 158 /178
C2
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 193 / 385
Analysis of Code Performance via Distance Properties
• First attempts to understand amazing performance of turbo codes
considered distance properties of concatenated codes
Pb ∼ L1−w
π
min
Lπ : interleaver size
wmin : minimum input weight of constituent encoders for finite output
weight
• Block codes and non-recursive convolutional encoders: wmin = 1
→ Pb ∼ L0π → no gain for enlarging interleaver
• Recursive convolutional encoders: wmin = 2 → Pb ∼ L−1
π
• Turbo codes employ systematic recursive convolutional encoders
Serial concatenation:
• Inner encoder should be recursive convolutional encoder, outer
encoder can be non-recursive
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 195 / 385
Union Bound on Error Rates for Half-Rate SCCs
• Serially concatenated code with
• Outer non-recursive encoder with g1 = 178 , g2 = 158
100 NSC, Lc = 9
n = 120
10−5 n = 1200
n = 12000
Pb →
10−10
10−15
10−20
0 2 4 6 8 10
10 log10 (Eb /N0 ) in dB →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Concatenated Codes 196 / 385
Preliminary Summary
Analysis via Distance Properties
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 198 / 385
General Concept of Turbo Decoding
D1 D2
6
4
2
L(x) →
0
−2
−4
−6
0 0.2 0.4 0.6 0.8 1
Pr{X = +1} →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 200 / 385
Probability of Correct and Wrong Decision
e|L(x|y)|
Pr{x
b is correct} = Pr{x
b = x} =
1 + e|L(x|y)|
1
Pr{x
b is wrong} = Pr{x
b ̸= x} = 1 − Pr{x
b = x} =
1 + e|L(x|y)|
100
b is wrong} →
10−1
10−2
Pr{x
10−3
10−4
0 2 4 6 8 10
|L(x | y)| →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 201 / 385
Log-Likelihood Ratios for AWGN Channels
Pr{y|x = +1} Es
L(y|x) = log =4 · y = Lch · y
Pr{y|x = −1} N0
50
L(y | x) →
0
0 dB
2 dB
4 dB
6 dB
−50 8dB
" #
log 1−P e
for y = +1 1 − Pe
L(y|x) = Pe = y · log
log 1−Pe
Pe
for y = −1 Pe
1 − Pe 4
X0 Y0 |L(y | x)| →
2
0
−2
−4
X1 Y1
1 − Pe 0 0.2 0.4 0.6 0.8 1
Pe →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 203 / 385
Log-Likelihood Ratios for Further Channel Models
Binary Erasure Channel (BEC)
1−Pe
log 0 = +∞ for y = +1
L(y|x) = log PPee = 0 for y = 0
log 0 = −∞ for y = −1
1−Pe
1 − Pe
X0 Y0
Pe Y2
X1 Y1
1 − Pe
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 204 / 385
Soft-Output Decoding of Binary Repetition Code
• Binary repetition code: Γ = {[1 . . . 1], [0 . . . 0]}
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 205 / 385
L-Algebra
LLR of modulo-2-sum of two bit
L(x0 )
tanh(x/2)
x̄0
x̄p Le (xp )
2 artanh(x)
L(x1 ) x̄1
tanh(x/2)
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 206 / 385
L-Algebra
Generalization to n − 1 information bits and its approximation
• Approximation
n−2
Y
Le (p) = L(u0 ⊕ · · · ⊕ un−2 ) ≈ min{|L(xi )|} · sgn[L(xi )]
i=0
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 207 / 385
Example: Soft-Output Decoding for (4,3,2) SPC Code
encoding + approximation
HD error detected
y ≠0.8 +1.1 +0.3 +0.4 ≠1 +1 +1 +1
but not corrected
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 208 / 385
Turbo Decoding of (24,16,3) Product Code (1)
1. vertical extrinsic
decoding information
(1) (1)
La,≠(u) = Le,| (u)
(1) (1)
-1.3 -1.3 -3.8 -0.6 L| (u) -0.7 6.3 -2.5 -3.8 Le,| (u) -1.3 -1.3 -3.8 -0.6
-0.6 1.3 -1.3 -3.2 4.5 -3.1 2.5 -3.8 -0.6 1.3 -1.3 -3.2
0.6 -1.3 1.3 0.6 -7.0 1.9 -4.4 8.2 0.6 -1.3 1.3 0.6
(1)
Lch · y + Le,| (û)
-0.6 3.2 -1.3 -0.6 0.7 1.9 6.9 -10.1 -0.6 3.2 -1.3 -0.6
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 209 / 385
Turbo Decoding of (24,16,3) Product Code (2)
(1)
Lch · y + La,≠(u)
(1) (1)
-0.7 6.3 -2.5 -3.8 6.3 Le,≠(u) 2.5 -0.7 0.7 0.7 L≠ (u) 1.8 5.6 -1.8 -3.1
4.5 -3.1 2.5 -3.8 -9.5 1. horizontal -2.5 2.5 -3.1 2.5 2.0 -0.6 -0.6 -1.3
(2)
Lch · y + La,| (u) (1)
Le,≠ (u)
(2)
3.1 6.9 2.1 -2.5 6.3 = La,| (u) û(1) 0 0 1 1
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 210 / 385
Turbo Decoding of (24,16,3) Product Code (3)
(2)
Lch · y + La,| (u)
(2)
3.1 6.9 2.1 -2.5 6.3 û(2) 1 0 0 1 L≠ (u) -1.9 7.6 2.1 -1.9
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 211 / 385
Turbo Decoding of (24,16,3) Product Code (4)
(3)
Lch · y + La,| (u)
(3)
0.0 8.2 2.6 -3.8 6.3 û(3) 1 0 0 1 L≠ (u) -1.9 6.3 1.9 -2.7
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 212 / 385
Turbo Decoding for Parallel Concatenated Codes
La,1 (u) = Le,2 (u) ≠1 .
≠
Lch · y ≠
D1 . D2
L2 (u) = Lch · ys
L1 (u) = Lch · ys
Lch · ys +
(2)
La (u) +La,2 (u)
+La,1
e,1 (u)
+Le,2 (u)
+Le,1 (u)
+Le,2 (c̃1 )
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 217 / 385
Symbol-by-Symbol Decoding for Convolutional Codes
• Log-Likelihood ratio: P
p(s′ , s, y)
Pr{ul = 0 | y} (s′ ,s),uℓ =0
L(uℓ | y) = log = log P
Pr{ul = 1 | y} p(s′ , s, y)
(s′ ,s),uℓ =1
10 u` = 1
u` = 0
01
11
`−1 `
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 218 / 385
BCJR Algorithm for Convolutional Codes
Foward and Backward Recursions
• Probabilities αℓ−1 (s′ ), βℓ (s), and γℓ (s′ , s) can be computed
recursively
• State transitions
γℓ (s′ , s) = p(yℓ | s′ , s) · Pr{uℓ = u(s′ , s)}
| {z } | {z }
likelihood p(yℓ |x(s′ ,s)) a priori
• Forward recursion
X
αℓ (s) = γℓ (s′ , s) · αℓ−1 (s′ )
s′
• Backward recursion
X
βℓ−1 (s′ ) = γℓ (s′ , s) · βℓ (s)
s
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 219 / 385
BCJR Algorithm for Convolutional Codes
LLR calculations in trellis diagram
P
(s′ ,s),uℓ =0 αℓ−1 (s
′)
· γℓ (s′ , s) · βℓ (s)
L(uℓ | y) = log P
(s′ ,s),uℓ =1 αℓ−1 (s ) · γℓ (s , s) · βℓ (s)
′ ′
10 γ3 (1, 0)
γ2 (2, 1) γL−1 (2, 1)
α0 (1) = 0 α1 (1) α2 (1) α3 (1) βL−2 (1) βL−1 (1) βL (1)
01
γ2 (2, 3) γL−1 (3, 1)
α0 (3) = 0 α1 (3) α2 (3) α3 (3) βL−2 (3) βL−1 (3) βL (3)
11
`=0 `=1 `=2 `=3 `=L−2 `=L−1 `=L
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 220 / 385
BCJR Implementation in Log-Domain
• State transitions
γ̄ℓ (s′ , s) = log γℓ (s′ , s) = log p(yℓ |s′ , s) + log Pr{uℓ = u(s′ , s)}
• Forward recursion
X X
ᾱℓ (s) = log γℓ (s′ , s) · αℓ−1 (s′ ) = log eγ̄ℓ (s ,s)+ᾱℓ−1 (s )
′ ′
s′ s′
• Backward recursion
X X
β̄ℓ−1 (s′ ) = log γℓ (s′ , s) · βℓ (s) = log eγ̄ℓ (s ,s)+β̄ℓ (s)
′
s s
• Jacobi logarithm
log(ex1 + ex2 ) = max(x1 , x2 ) + log(1 − e−|x1 −x2 | ) ≈ max(x1 , x2 )
| {z }
correction term
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 221 / 385
Max-Log-MAP (BCJR without Correction Term)
• State transitions
∥yℓ − x(s′ , s)∥2
γ̄ℓ (s′ , s) = 2 + log Pr{uℓ = u(s′ , s)}
2σW
• Forward recursion ᾱℓ (s) = max(γ̄ℓ (s′ , s) + ᾱℓ−1 (s′ ))
s′
(
0 s′
• Initialization: ᾱ0 (s) =
−∞ s′ =
̸ 0
100
it. 1
it. 2
10−1 it. 3
it. 4
10−2 10 x 10 block interleaver it. 6
BER →
10−3
10−5
0 1 2 3 4 5 6
10 log10 (Eb /N0 ) in dB →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 223 / 385
Simulation Results for Turbo Codes
Recursive convolutional codes with Lc = 3, Rc = 1/2 and Lπ = 900
100
RIL it. 1
RIL it. 2
10−1 RIL it. 3
RIL it. 5
10−2 RIL it. 6
BER →
BIL it. 1
10−3 BIL it. 2
BIL it. 3
BIL it. 4
10−4 BIL it. 6
10−5
0 1 2 3 4 5 6
10 log10 (Eb /N0 ) in dB →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 224 / 385
Simulation Results for Turbo Codes
Recursive convolutional codes with Lc = 3 with block and random Π
100
BIL Lπ = 100
BIL Lπ = 400
10−1 BIL Lπ = 900
RIL Lπ = 900
10−2 RIL Lπ = 900 (Rc = 1/3)
BER →
CC
10−3
10−4
10−5
0 1 2 3 4 5 6
10 log10 (Eb /N0 ) in dB →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 225 / 385
Simulation Results for Turbo Codes (Lc = 4)
Parallel concatenation, code rate Rc = 1/2
100
recursive encoders
g1 = 1, g2 = 178 /158
10−1
random interleaver: Lπ = 6000
10−2
BER →
10−3
10−4
1.3 dB
10−5
0 1 2 3 4 5 6
10 log10 (Eb /N0 ) in dB →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 226 / 385
Repeat Accumulate Code by ten Brink
Outer half-rate repetition and inner rate-one recursive conv. encoder
100
10−1 it. 10
it. 20
10−2 it. 30
BER →
it. 40
it. 50
10−3 it. 60
it. 70
10−4 it. 80
it. 90
it. 100 approx. 100 decoding iterations needed
10−5
0 0.1 0.2 0.3 0.4 0.5 0.6
10 log10 (Eb /N0 ) in dB →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 227 / 385
Comparison of Serial and Parallel Concatenation (2) 14
14
[ten Brink: Rate one-half code for approaching the Shannon limit by 0.1 dB, Electronics Letters,
Vol. 36, No. 15, 2000]
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Turbo Decoding Principle 228 / 385
Error Control Coding
Table of Contents
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 229 / 385
EXIT Chart Analysis of Turbo Decoding
proposed by Stephan ten Brink
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 230 / 385
Mutual Information for Turbo Decoder
Parallel Concatenation
Le,2 (u)
La,1 (u) Q−1
−
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 231 / 385
Mutual Information for Single Decoder
La (u)
Le (u)
w −
u x Lch y
C BPSK D L(û)
C
Ia = I(u; La (u))
Ie = I(u; Le (u))
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 232 / 385
EXIT-Chart Analysis of Turbo Decoding
• Exchange of extrinsic information between decoders in iterative
process analyzed by semi-analytic approach
0.8
0.6
Ia →
0.4
0.2
0
0 5 10 15 20 25 30 35 40
σa2 →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 234 / 385
Transfer Characteristic of Decoder
Mutual information between decoder input and output
ˆ 1X L
1 2 1 2
Ie = ·log2 + ·log2
L i=1 1 + e|Le,i | 1+e |Le,i | 1+e−|Le,i | 1 + e−|Le,i |
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 235 / 385
Extrinsic and Total Mutual Information
• Only a-priori information at decoder input La Le
DEC.
• Extrinsic and a priori information do not sum up Lt
1 1
0.8 0.8
0.6 0.6
Ie →
0.4 Lc = 3 It → 0.4 Lc = 3
Lc = 5 Lc = 5
0.2 Lc = 7 0.2 Lc = 7
uncoded uncoded
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Ia → Ia →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 236 / 385
Comparison of MAP and Max-Log-MAP
1 La Le
DEC.
0.8 Lch y
extrinsic information
0.4 10 log10 (Eb /N0 ) = −1 dB • Large a-priori
10 log10 (Eb /N0 ) = 0 dB information
10 log10 (Eb /N0 ) = 1 dB
0.2 compensates bad
10 log10 (Eb /N0 ) = 2 dB
10 log10 (Eb /N0 ) = 3 dB channel conditions
0 • Max-Log-MAP performs
0 0.2 0.4 0.6 0.8 1
nearly as good as
Ia →
optimal MAP
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 237 / 385
EXtrinsic Information Transfer (EXIT) Charts
• Serial concatenation of inner recursive convolutional encoder and
outer non-recursive convolutional encoder
• Extrinsic information of inner decoder is a priori information for outer
decoder and vice versa
• Drawing trajectories of both decoders into one diagram and flipping
abscissa and ordinate for outer convolutional code leads to EXIT
charts
Ie,1 =Ia,2
−
Lch · y −
D2 D1
Ie,2 =Ia,1
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 238 / 385
EXIT Charts for Serial Concatenation
1
Outer non-recursive
0.8 convolutional encoder
g1 = 158
Ia,1 = Ie,2 →
0.6 g2 = 138
10 log10 (Eb /N0 ) = −1 dB Rc = 3/4
0.4 10 log10 (Eb /N0 ) = 0 dB
10 log10 (Eb /N0 ) = 1 dB
Inner recursive
10 log10 (Eb /N0 ) = 1.2 dB
0.2 10 log10 (Eb /N0 ) = 2 dB
convolutional encoder
10 log10 (Eb /N0 ) = 3 dB g1 = 18
0
outer decoder D1
g2 = 138 /158
0 0.2 0.4 0.6 0.8 1 Rc = 2/3
Ia,2 = Ie,1 →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 239 / 385
EXIT Charts for Serial Concatenation
1
Outer non-recursive
0.8 convolutional encoder
g1 = 158
Ia,1 = Ie,2 →
0.6 g2 = 138
Rc = 3/4
0.4
Inner recursive
0.2 convolutional encoder
g1 = 18
0 g2 = 138 /158
0 0.2 0.4 0.6 0.8 1 Rc = 2/3
Ia,2 = Ie,1 →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 240 / 385
Further Results on EXIT Charts
V. Kühn | Error Control Coding | Modern Error Correcting Codes → EXIT Charts 241 / 385
Code Design for Half-Rate Repeat-Accumulate Code
Signal-to-Noise ratio 10 log10 (Es /N0 ) = 0.5 dB
1
0.8
Outer repetition code
Ia,1 = Ie,2 →
0.6 Rc = 1/2