channel coding in ieee802.16e

30
1 Channel Coding in IEEE802.16e Student: Po-Sheng Wu Advisor: David W. Lin

Upload: willa

Post on 12-Jan-2016

69 views

Category:

Documents


0 download

DESCRIPTION

Channel Coding in IEEE802.16e. Student: Po-Sheng Wu Advisor: David W. Lin. Reference. IEEE Std 802.16a-2003, April 2003 IEEE Std 802.16-2004, October 2004 IEEE Std 802.16e™-2005 and IEEE Std 802.16™-2004/Cor1-2005 IEEE Std 802.16e/D9, June 2005. Outline. Overview RS code - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Channel Coding in IEEE802.16e

1

Channel Coding in IEEE802.16e

Student: Po-Sheng Wu

Advisor: David W. Lin

Page 2: Channel Coding in IEEE802.16e

2

Reference

IEEE Std 802.16a-2003, April 2003 IEEE Std 802.16-2004, October 2004 IEEE Std 802.16e™-2005 and IEEE Std

802.16™-2004/Cor1-2005 IEEE Std 802.16e/D9, June 2005

Page 3: Channel Coding in IEEE802.16e

3

Outline

Overview RS code Convolution code LDPC code Future Work

Page 4: Channel Coding in IEEE802.16e

4

Overview

Page 5: Channel Coding in IEEE802.16e

5

RS code

The RS code in 802.16a is derived from a systematic RS (N=255, K=239, T=8) code on GF(2^8)

Page 6: Channel Coding in IEEE802.16e

6

RS code

Page 7: Channel Coding in IEEE802.16e

7

RS code

This code then is shortened and punctured to enable variable block size and variable error-correction capability.

Shorten : (n, k) → (n-l, k-l) Punctured : (n, k) → (n-l, k) In general, the generator polynomial

in IEEE802.16a h=0

Page 8: Channel Coding in IEEE802.16e

8

RS code

They are shortened to K’ data bytes and punctured to permit T’ bytes to be corrected.

When a block is shortened to K’, the first 239-K’ bytes of the encoder input shall be zero

When a codeword is punctured to permit T’ bytes to be corrected, only the first 2T’ of the total 16 parity bytes shall be employed.

Page 9: Channel Coding in IEEE802.16e

9

RS code

When shortened and punctured to (48,36,6) the first 203(239-36) information bytes are assigned 0.

And only the first 12(2*6) bytes of R(X) will be employed in the codeword.

Page 10: Channel Coding in IEEE802.16e

10

Shortened and Punctured

Page 11: Channel Coding in IEEE802.16e

11

RS code

Page 12: Channel Coding in IEEE802.16e

12

RS code

Decoding : The Euclid’s (Berlekamp) algorithm is a common decoding algorithm for RS code.

Four step:

-compute the syndrome value

-compute the error location polynomial

-compute the error location

-compute the error value

Page 13: Channel Coding in IEEE802.16e

13

Convolution code

Each RS code is encoded by a binary convolution encoder, which has native rate of ½, a constraint length equal to 7.

Page 14: Channel Coding in IEEE802.16e

14

Convolution code

“1” means a transmitted bit and “0” denotes a removed bit, note that the has been changed from that of the native convolution code with rate ½ .

Page 15: Channel Coding in IEEE802.16e

15

Convolution code

Decoding: Viterbi algorithm

Page 16: Channel Coding in IEEE802.16e

16

Convolution code

The convolution code in IEEE802.16a need to be terminated in a block, and thus become a block code.

Three method to achieve this termination Direct truncation Zero tail Tail biting

Page 17: Channel Coding in IEEE802.16e

17

RS-CC code

Outer code: RS code Inner code: convolution code Input data streams are divided into RS blocks,

then each RS block is encode by a tail-biting convolution code.

Between the convolution coder and modulator is a bit interleaver.

Page 18: Channel Coding in IEEE802.16e

18

RS-CC code

Page 19: Channel Coding in IEEE802.16e

19

LDPC code

low density parity checks matrix LDPC codes also linear codes. The codewor

d can be expressed as the null space of H, Hx=0

Low density enables efficient decoding Better decoding performance to Turbo code Close to the Shannon limit at long block length

Page 20: Channel Coding in IEEE802.16e

20

LDPC code

n is the length of the code, m is the number of parity check bit

Page 21: Channel Coding in IEEE802.16e

21

LDPC code

Base model

Page 22: Channel Coding in IEEE802.16e

22

LDPC code

if p(f,i,j) = -1 replace by z*z zero matrix

else p(f,i,j) is the circular shift size

f

0

( , ), p(i,j) 0

, , p(i,j)z, p(i,j)>0

p i j

p f i j

z

Page 23: Channel Coding in IEEE802.16e

23

LDPC code

Encoding

[u p1 p2]

Page 24: Channel Coding in IEEE802.16e

24

LDPC code

Decoding Tanner GraphTanner Graph Sum Product Algorithm

Page 25: Channel Coding in IEEE802.16e

25

LDPC code

Tanner GraphTanner Graph

Page 26: Channel Coding in IEEE802.16e

26

LDPC code

Sum Product Algorithm

Page 27: Channel Coding in IEEE802.16e

27

LDPC code

Page 28: Channel Coding in IEEE802.16e

28

LDPC code

Page 29: Channel Coding in IEEE802.16e

29

Future Work

Realize these algorithm in computer Find some decoding algorithm to speed up

Page 30: Channel Coding in IEEE802.16e

30

Thanks for your attention