Channel coding

36
Introduction to Information theory channel capacity and models A.J. Han Vinck University of Essen May 2011

description

 

Transcript of Channel coding

Page 1: Channel coding

Introduction to Information theorychannel capacity and models

A.J. Han VinckUniversity of Essen

May 2011

Page 2: Channel coding

This lecture

Some models Channel capacity

Shannon channel coding theorem converse

Page 3: Channel coding

some channel models

Input X P(y|x) output Y

transition probabilities

memoryless:

- output at time i depends only on input at time i

- input and output alphabet finite

Page 4: Channel coding

Example: binary symmetric channel (BSC)

Error Source

+

E

X

OutputInput

EXY

E is the binary error sequence s.t. P(1) = 1-P(0) = p

X is the binary information sequence

Y is the binary output sequence

1-p

0 0

p

1 1

1-p

Page 5: Channel coding

from AWGN to BSC

Homework: calculate the capacity as a function of A and 2

p

Page 6: Channel coding

Other models

0

1

0 (light on)

1 (light off)

p

1-p

X Y

P(X=0) = P0

0

1

0

E

1

1-e

e

e

1-e

P(X=0) = P0

Z-channel (optical) Erasure channel (MAC)

Page 7: Channel coding

Erasure with errors

0

1

0

E

1p

pe

e

1-p-e

1-p-e

Page 8: Channel coding

burst error model (Gilbert-Elliot)

Error Source

RandomRandom error channel; outputs independent P(0) = 1- P(1);

BurstBurst error channel; outputs dependent

Error SourceP(0 | state = bad ) = P(1|state = bad ) = 1/2;

P(0 | state = good ) = 1 - P(1|state = good ) = 0.999

State info: good or bad

good bad

transition probability Pgb

Pbg

PggPbb

Page 9: Channel coding

channel capacity:

I(X;Y) = H(X) - H(X|Y) = H(Y) – H(Y|X) (Shannon 1948)

H(X) H(X|Y)

notes:capacity depends on input probabilities

because the transition probabilites are fixed

channelX Y

capacity)Y;X(Imax)x(P

Page 10: Channel coding

Practical communication system design

message estimate

channel decoder

n

Code word in

receive

There are 2k code words of length nk is the number of information bits transmitted in n channel uses

2k

Code book

Code bookwith errors

Page 11: Channel coding

Channel capacity

Definition:

The rate R of a code is the ratio k/n, where

k is the number of information bits transmitted in n channel uses

Shannon showed that: :

for R C

encoding methods exist

with decoding error probability 0

Page 12: Channel coding

Encoding and decoding according to Shannon

Code: 2k binary codewords where p(0) = P(1) = ½

Channel errors: P(0 1) = P(1 0) = p

i.e. # error sequences 2nh(p)

Decoder: search around received sequence for codeword

with np differences

space of 2n binary sequences

Page 13: Channel coding

decoding error probability

1. For t errors: |t/n-p|> Є

0 for n (law of large numbers)

2. > 1 code word in region (codewords random)

nand

)p(h1n

kRfor

022

2

2)12()1(P

)RBSCC(n)R)p(h1(n

n

)p(nhk

Page 14: Channel coding

channel capacity: the BSC

1-p

0 0

p

1 1

1-p

X Y

I(X;Y) = H(Y) – H(Y|X)

the maximum of H(Y) = 1

since Y is binary

H(Y|X) = h(p)

= P(X=0)h(p) + P(X=1)h(p)

Conclusion: the capacity for the BSC CBSC = 1- h(p)Homework: draw CBSC , what happens for p > ½

Page 15: Channel coding

channel capacity: the BSC

0.5 1.0

1.0

Bit error p

Cha

nnel

cap

acit

y

Explain the behaviour!

Page 16: Channel coding

channel capacity: the Z-channel

Application in optical communications

0

1

0 (light on)

1 (light off)

p

1-p

X Y

H(Y) = h(P0 +p(1- P0 ) )

H(Y|X) = (1 - P0 ) h(p)

For capacity, maximize I(X;Y) over P0

P(X=0) = P0

Page 17: Channel coding

channel capacity: the erasure channel

Application: cdma detection

0

1

0

E

1

1-e

e

e

1-e

X Y

I(X;Y) = H(X) – H(X|Y)

H(X) = h(P0 )

H(X|Y) = e h(P0)

Thus Cerasure = 1 – e

(check!, draw and compare with BSC and Z)P(X=0) = P0

Page 18: Channel coding

Erasure with errors: calculate the capacity!

0

1

0

E

1p

pe

e

1-p-e

1-p-e

Page 19: Channel coding

example

Consider the following example

1/3

1/3

0

1

2

0

1

2

For P(0) = P(2) = p, P(1) = 1-2p

H(Y) = h(1/3 – 2p/3) + (2/3 + 2p/3); H(Y|X) = (1-2p)log23

Q: maximize H(Y) – H(Y|X) as a function of pQ: is this the capacity?

hint use the following: log2x = lnx / ln 2; d lnx / dx = 1/x

Page 20: Channel coding

channel models: general diagram

x1

x2

xn

y1

y2

ym

:

:

:

:

:

:

P1|1

P2|1P1|2P2|2

Pm|n

Input alphabet X = {x1, x2, …, xn}

Output alphabet Y = {y1, y2, …, ym}

Pj|i = PY|X(yj|xi)

In general:

calculating capacity needs more theory

The statistical behavior of the channel is completely defined by the channel transition probabilities Pj|i = PY|X(yj|xi)

Page 21: Channel coding

* clue:

I(X;Y)

is convex in the input probabilities

i.e. finding a maximum is simple

Page 22: Channel coding

Channel capacity: converse

For R > C the decoding error probability > 0

k/n

C

Pe

Page 23: Channel coding

Converse: For a discrete memory less channel

1 1 1 1

( ; ) ( ) ( | ) ( ) ( | ) ( ; )n n n n

n n n

i i i i i i ii i i i

I X Y H Y H Y X H Y H Y X I X Y nC

Xi Yi

m Xn Yn m‘encoder channel

channel

Source generates one

out of 2k equiprobable

messages

decoder

Let Pe = probability that m‘ m

source

Page 24: Channel coding

converse R := k/n

Pe 1 – C/R - 1/nR

Hence: for large n, and R > C,

the probability of error Pe > 0

k = H(M) = I(M;Yn)+H(M|Yn)

Xn is a function of M Fano

I(Xn;Yn) + 1 + k Pe

nC + 1 + k Pe

1 – C n/k - 1/k Pe

Page 25: Channel coding

We used the data processing theorem Cascading of Channels

I(X;Y)X Y

I(Y;Z)Z

I(X;Z)

The overall transmission rate I(X;Z) for the cascade cannot be larger than I(Y;Z), that is:

)Z;Y(I)Z;X(I

Page 26: Channel coding

Appendix:

Assume:

binary sequence P(0) = 1 – P(1) = 1-p

t is the # of 1‘s in the sequence

Then n , > 0

Weak law of large numbers

Probability ( |t/n –p| > ) 0

i.e. we expect with high probability pn 1‘s

Page 27: Channel coding

Appendix:

Consequence:

n(p- ) < t < n(p + ) with high probability

1.

2.

3.

)p(nh)p(n

)p(n2n2

pn

nn2

t

n

)p(hpn

nn2loglim 2n

1

n

)p1(log)p1(plogp)p(h 22

Homework: prove the approximation using ln N! ~ N lnN for N large.

Or use the Stirling approximation: ! 2 N NN NN e

Page 28: Channel coding

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

p

h

Binary Entropy: h(p) = -plog2p – (1-p) log2 (1-p)

Note:

h(p) = h(1-p)

Page 29: Channel coding

Input X Output Y

Noise

)]Noise(H)Y(H[sup:Cap

W2/S2x

)x(p

Input X is Gaussian with power spectral density (psd) ≤S/2W;

Noise is Gaussian with psd = 2noise

Output Y is Gaussian with psd = y2 = S/2W + 2

noise

Capacity for Additive White Gaussian Noise

W is (single sided) bandwidth

For Gaussian Channels: y2 =x

2 +noise2

Page 30: Channel coding

X Y X Y

Noise

.sec/bits)W2/S

(logWCap

.trans/bits)(log

.trans/bits)e2(log))(e2(logCap

2noise

2noise

2

2noise

2x

2noise

221

2noise22

12noise

2x22

1

bits)e2(log)Z(H;e2

1)z(p 2

z2212/z

2z

2z

2

Page 31: Channel coding

Middleton type of burst channel model

Select channel k with probability Q(k)

Transition probability P(0)

0

1

0

1

channel 1

channel 2

channel k has transition probability p(k)

Page 32: Channel coding

Fritzman model:

multiple states G and only one state B

Closer to an actual real-world channel

Gn B1-p

Error probability 0 Error probability h

…G1

Page 33: Channel coding

Interleaving: from bursty to random

Message interleaver channel interleaver -1 message

encoder decoder

bursty

„random error“

Note: interleaving brings encoding and decoding delay

Homework: compare the block and convolutional interleaving w.r.t. delay

Page 34: Channel coding

Interleaving: block

Channel models are difficult to derive:

- burst definition ?

- random and burst errors ?

for practical reasons: convert burst into random error

read in row wise

transmit

column wise

1

0

0

1

1

0

1

0

0

1

1

0

0

0

0

0

0

1

1

0

1

0

0

1

1

Page 35: Channel coding

De-Interleaving: block

read in column wisethis row contains 1 error

1

0

0

1

1

0

1

0

0

1

1

e

e

e

e

e

e

1

1

0

1

0

0

1

1

read out

row wise

Page 36: Channel coding

Interleaving: convolutional

input sequence 0

input sequence 1 delay of b elements

input sequence m-1 delay of (m-1)b elements

Example: b = 5, m = 3

in

out