Principle of Communications, Fall 2017
Lecture 04 Reliable Communication
I-Hsiang Wang
ihwang@ntu.edu.tw National Taiwan University 2017/10/25,26
Lecture 04 Reliable Communication I-Hsiang Wang ihwang@ntu.edu.tw - - PowerPoint PPT Presentation
Principle of Communications, Fall 2017 Lecture 04 Reliable Communication I-Hsiang Wang ihwang@ntu.edu.tw National Taiwan University 2017/10/25,26 Channel Coding Binary Interface x ( t ) { c i } { u m } x b ( t ) ECC Symbol Pulse Up { b
Principle of Communications, Fall 2017
ihwang@ntu.edu.tw National Taiwan University 2017/10/25,26
2
{bi} {ˆ bi}
{ci} {ˆ ci} {um} {ˆ um} xb(t) yb(t)
x(t) y(t)
ECC Encoder Symbol Mapper Pulse Shaper Filter + Sampler + Detection Symbol Demapper ECC Decoder
coded bits discrete sequence
Binary Interface
Channel Coding
Information bits Up Converter Down Converter
baseband waveform
Noisy Channel
passband waveform
3
4
{bi} {ˆ bi}
{ci} {ˆ ci} {um} {ˆ um} xb(t) yb(t)
x(t) y(t)
ECC Encoder Symbol Mapper Pulse Shaper Filter + Sampler + Detection Symbol Demapper ECC Decoder
coded bits discrete sequence
Binary Interface
Channel Coding
Information bits Up Converter Down Converter
baseband waveform
Noisy Channel
passband waveform
5
Equivalent Discrete-time Complex Baseband Channel
ECC Encoder Digital Modulator
b [b1 b2 ... bk] c [c1 c2 ... cn] c b V = u + Z u [u1 u2 ... u˜
n]
u
˜ n = n/
V
Detection + Decoder
ˆ b
Soft decision: jointly consider detection and decoding; directly work on the demodulated symbols Hard decision: only consider decoding; directly work on the detected bit sequences
Equivalent Discrete-time Complex Baseband Channel
ECC Encoder Digital Modulator
b [b1 b2 ... bk] c [c1 c2 ... cn] c b V = u + Z u [u1 u2 ... u˜
n]
u
˜ n = n/
V
ECC Decoder
ˆ b
Detection
d
6
7
8
coded bit seq. 1 coded bit seq. 2
b1 b2 b4 b3 b5
b1 b2 b3 b4 b5 b1 b2 b3 b4 b5 b1 b2 b3 b4 b5 b1 b2 b3 b4 b5
Many ways for repetition
Equivalent Discrete-time Complex Baseband Channel
Repetition Digital Modulator
b [b1 b2 ... bk] c [c1 c2 ... cn] c b V = u + Z u [u1 u2 ... u˜
n]
u
˜ n = n/
V
Detection + Decoder
ˆ b
b1 ∼ b b1 ∼ b
repeat N times
b+1 ∼ b2
n = kN : # of bits in a symbol
9
b1 ∼ b b1 ∼ b
repeat N times
b+1 ∼ b2
u
mod mod mod mod
u2 uN
= Q
2N0
N0
10
i.i.d.
∼ CN(0, N0) Equivalent constellation set: u ∈ {a0, a1}
a0 = −
P(N)
e
= Q
2√ N0/2
total noise variance per symbol
= d2
N0
= Q √ N2SNR . = exp(−NSNR)
11
12
i.i.d.
∼ CN(0, N0) Equivalent constellation set: Probability of error (take M-ary PAM as an example): u ∈ {a1, ..., aM} M = 2 P(N)
e
= 2(1 − 2−ℓ)Q
6 4ℓ−1SNR
= 2(1 − 2−NR)Q
4NR−16SNR
e
= 0 ⇐ ⇒ limN→∞ 4NR−1
N
= 0 Energy per bit:
Eb N0 = N ℓ SNR = SNR R
→ ∞ as N → ∞ → 0 as N → ∞ it is necessary that limN→∞ R = 0
13
14
15
Equivalent Discrete-time Complex Baseband Channel
Encoder + Modulation
b [b1 b2 ... bk] b V = u + Z u [u1 u2 ... u˜
n]
u V
Detection + Decoder
ˆ b
here we jointly consider coding and modulation
{dei | i = 1, ..., N}, ei(j) = {i = j}
16
17
i.i.d.
∼ CN(0, N0) Equivalent constellation set: Probability of error: Rate: Energy per bit: → 0 as N → ∞ u ∈ {dei | i = 1, ..., N} R = log2 N/N Eb = d2/ log2 N P(N)
e
≤ (N − 1)Q
min
2N0
N0
√ 2d
≤ NQ
N0
≤ 1
2 exp
(2 ln 2)N0 − 1
N0 > 2 ln 2
Eb > (2 ln 2)N0
achievable rate follows (bits per channel use)
18
R < C log2(1 + P
N0 )
Eb = P/R = ⇒ R < log2(1 + R Eb
N0 ) Eb N0 > E∗
b(R)
N0
2R−1
R
E∗
b
N0 inf
R>0
E∗
b(R)
N0 = lim
R↓0
2R − 1 R = ln 2
19
20
Equivalent Discrete-time Complex Baseband Channel
ECC Encoder Digital Modulator
b [b1 b2 ... bk] c [c1 c2 ... cn] c b V = u + Z u [u1 u2 ... u˜
n]
u
˜ n = n/
V
Detection + Decoder
ˆ b
Linear Block Code Binary PAM Modulator
= 1 R = k/n
21
g ∈ {0, 1}k×n b [b1 b2 ... bk] ∈ {0, 1}k c [c1 c2 ... cn] ∈ {0, 1}n
codeword
1 1 1 1 1 g
generator matrix
message
Cg
Z ∼ N(0, N0
2 In)
22
V = u + Z
ML Decoder u ∈ A {ab1,b2,...,bk | b ∈ {0, 1}k}
(bg)i = 1 −√Es, (bg)i = 0 i-th symbol represents the BPSK modulated outcome of the i-th bit
constellation point codeword
b=b
Pb,g
b
generator matrix g!
23
24
= ⇒ P{G = g} =
1 2nk , ∀ g ∈ {0, 1}k×n
Gi,j
i.i.d.
∼ Ber( 1
2),
∀ i = 1, ..., k, j = 1, ..., n 1 1 1 1 1 g
generator matrix
(n)(R) EG,B [Pe(φML; B, G)]
Pe
(n)(R)
n → ∞
made random
25
Pe
(n)(R) EG,B [Pe(φML; B, G)]
Pb,g
b
u ˜ u 2N0
u∥ = 2d √ # of 1's in c ⊕ ˜ c
= Q √ 2SNR
c)
c
≤ 1 2 exp (−SNR w(c ⊕ ˜ c))
˜ b̸=b Pb,g
b
Pe
(n)(R) EG,B [Pe(φML; B, G)] ≤
b=b
1 2nk 1 2k 1 2 exp (−SNR w(c ⊕ ˜ c))
c = bg
26
=
b=b
1 2k 1 2
1 2nk exp (−SNR w(c ⊕ ˜ c))
b=b
1 2nk 1 2k 1 2 exp (−SNR w(c ⊕ ˜ c))
f(x) = P {w(xG) = } For a fixed pair of , scanning through all possible matrices g, let’s find the fraction of g such that and denote it as (b, ˜ b) w((b ⊕ ˜ b)g) = f(b ⊕ ˜ b) Pe
(n)(R) EG,B [Pe(φML; B, G)] ≤
b=b
1 2nk 1 2k 1 2 exp (−SNR w(c ⊕ ˜ c))
27
i.i.d.
∼ Binom(n, 1
2)
≤
b=b
1 2k 1 2
n
f(b ⊕ ˜ b) exp (−SNR ) Pe
(n)(R) EG,B [Pe(φML; B, G)]
=
b=b n
1 2k 1 2 n
2n exp (−SNR ) = ⇒ fℓ(x) = P {w(y) = ℓ} = n
ℓ
1
2n
28
≤
b=b
1 2k 1 2
n
f(b ⊕ ˜ b) exp (−SNR ) Pe
(n)(R) EG,B [Pe(φML; B, G)]
=
b=b n
1 2k 1 2 n
2n exp (−SNR ) = 2k − 1 2
n
n
2n exp (−SNR ) = 2k − 1 2n+1 (1 + exp (−SNR))n ≤ 2n{R−1− 1
n +log2(1+exp(−SNR)}
29
Pe
(n)(R) EG,B [Pe(φML; B, G)]
n +log2(1+exp(−SNR)}
Pe
(n)(R) EG,B [Pe(φML; B, G)] ≤ 2−nδ → 0
as n → ∞ Hence, when R < R*, there exists at least one sequence of generator matrices with strictly positive rate R and vanishing probability of error! Meanwhile, energy per bit is finite, too!
Eb N0 = nd2 kN0 = SNR R
30
31
32
message bit sequence coded bit sequence
message bit sequence
{h(1)
` }
{h(2)
` }
merge coded bit sequence
c(1)
1 c(2) 1 c(1) 2 c(2) 2 c(1) 3 c(2) 3 ...
{bm, m ∈ N} {cm, m ∈ N} {cm, m ∈ N} {bm, m ∈ N}
{c(1)
m }
{c(2)
m }
33
1
... h(j)
L−1
... i The output bit sequence of one branch is the input convolve with the IR More generally, there can be K input sequences and N output sequences, and the code rate is R = K/N j-th branch:
binary field arithmetic coefficients of filter taps are ±1
c(j)
m = (h ∗ b)m , ∞
X
`=−∞
h(j)
` bm−` = L−1
X
`=0
h(j)
` bm−`
m , K
X
i=1 L−1
X
`=0
h(i,j)
`
b(i)
m−`,
j = 1, ..., N
34
h(1) = 1 1 L = 3 h(2) = 1 1 1 bm bm−1 bm−2
register 1 register 2
c(1)
m = bm ⊕ bm−2
c(2)
m = bm ⊕ bm−1 ⊕ bm−2
D D
input State (before) State (after) Output Output 1 00 10 1 1 10 01 1 01 00 1 1 1 00 10 1 1 c(1)
m
c(2)
m
finite state machine! K = 1, N = 2
35
h(1) = 1 1 h(2) = 1 1 1 bm bm−1 bm−2
register 1 register 2
c(1)
m = bm ⊕ bm−2
c(2)
m = bm ⊕ bm−1 ⊕ bm−2
D D
11 00 01 10 0/11 0/00 0/10 1/11 1/10 1/01 1/00 0/01 11 00 01 10 11 00 10 11 10 01 00 01
Transition: 0 1
36
11 00 01 10 11 00 10 11 10 01 00 01
Transition: 0 1
11 00 01 10 0/11 0/00 0/10 1/11 1/10 1/01 1/00 0/01 10 00 01 11 10 00 01 11 10 00 01 11
time
00 11 01 10 11 00 10 01
37
10 00 01 11 10 00 01 11 10 00 01 11
time
10 00 01 11 10 00 01 11 10 00 01 11
00 11 01 10 11 00 10 01
Transition: 0 1 message: 1 1 codeword: 11 01 11 11
38
Equivalent Discrete-time Complex Baseband Channel
ECC Encoder Digital Modulator
b [b1 b2 ... bk] c [c1 c2 ... cn] c b V = u + Z u [u1 u2 ... u˜
n]
u
˜ n = n/
V
ECC Decoder
ˆ b
Detection
d
39
Equivalent Discrete-time Complex Baseband Channel
ECC Encoder Digital Modulator
b [b1 b2 ... bk] c [c1 c2 ... cn] c b V = u + Z u [u1 u2 ... u˜
n]
u
˜ n = n/
V
Detection + Decoder
ˆ b Equivalent Discrete-time Complex Baseband Channel
ECC Encoder Digital Modulator
b [b1 b2 ... bk] c [c1 c2 ... cn] c b V = u + Z u [u1 u2 ... u˜
n]
u
˜ n = n/
V
ECC Decoder
ˆ b
Detection
d
Decode b from V Decode b from D
Vi = ui + Zi, Zi
Di = ci ⊕ Ei, Ei
D = c ⊕ E
40
ML Decoder
ˆ B = φML(D) Equivalently, finding a length-k path on the trellis diagram such that the likelihood is maximized Likelihood (conditional pmf of D given c): PD|C(d|c) = (1 − p)n−w(d⊕c)pw(d⊕c) = (1 − p)n(
p 1−p)w(d⊕c)
WLOG p < 1/2
φML(d) = argmax
c∈C
P D|C(d|c) = argmin
c∈C
w(d ⊕ c) dH(d, c)
# of locations where d and c disagree
41
dH(d, c) = n
i=1 dH(di, ci) = k m=1 dH(dm, cm)
decompose into stages of the encoding finite state machine
m = 1
message:
1 1
codeword:
11 01 11 11 m = 2 m = 3 m = 4 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11
42
10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 m = 1
received:
10 00 11 00
codeword:
11 01 11 11 m = 3 m = 4 m = 2
cost: (distance)
1 1 2
dH(d, c) = 4
43
44
00 10 01 11 State 1 Transition:
45
00 10 01 11 State 1 Transition:
46
00 10 01 11 State 1 Transition:
47
00 10 01 11 State d 1 Transition:
01 10 11 01 10 00
48
00 10 01 11 State
00 11
d 1 Transition:
V = 1 p = 00 V = 1 p = 00
01 10 11 01 10 00
49
00 10 01 11 State
00 11
d 1 Transition:
V = 1 p = 00 V = 1 p = 00
01 10
V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10
01 10 11 01 10 00
50
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10
00 11 00 11
V = 3 p = 01 V = 2 p = 00
01 10 11 01 10 00
51
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10
10 01
V = 3 p = 01 V = 2 p = 00
10 01
V = 2 p = 11 V = 2 p = 11
01 10 11 01 10 00
52
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11
00 11 00 11
V = 3 p = 01 V = 3 p = 01
01 10 11 01 10 00
53
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11
01
V = 3 p = 01 V = 3 p = 01
10 10 01
V = 2 p = 10 V = 2 p = 11
01 10 11 01 10 00
54
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11 V = 3 p = 01 V = 3 p = 01 V = 2 p = 10 V = 2 p = 11
00 11 01 10
V = 3 p = 01 V = 2 p = 11
01 10 11 01 10 00
55
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11 V = 3 p = 01 V = 3 p = 01 V = 2 p = 10 V = 2 p = 11 V = 3 p = 01 V = 2 p = 11 V = 3 p = 00
00 11 01 10 11 01 10 00
56
00 10 01 11 State d
01 10 11 01 10 00
1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11 V = 3 p = 01 V = 3 p = 01 V = 2 p = 10 V = 2 p = 11 V = 3 p = 01 V = 2 p = 11 V = 3 p = 00
57
00 10 01 11 State d
01 10 11 01 10 00
1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11 V = 3 p = 01 V = 3 p = 01 V = 2 p = 10 V = 2 p = 11 V = 3 p = 01 V = 2 p = 11 V = 3 p = 00
b = 001000 c = 000011011100
58
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11 V = 3 p = 01 V = 3 p = 01 V = 2 p = 10 V = 2 p = 11
01 10 11 01 10 00
59
00 10 01 11 State d 1 Transition:
V = 1 p = 00 V = 1 p = 00 V = 2 p = 00 V = 2 p = 00 V = 3 p = 10 V = 1 p = 10 V = 3 p = 01 V = 2 p = 00 V = 2 p = 11 V = 2 p = 11 V = 3 p = 01 V = 3 p = 01 V = 2 p = 10 V = 2 p = 11
01 10 11 01 10 00
b = 111100 c = 111001011011
60
larger than the # of output streams.
sequence at the non-erased locations