1 channel coding in ieee802.16e student: po-sheng wu advisor: david w. lin

Post on 17-Dec-2015

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Channel Coding in IEEE802.16e

Student: Po-Sheng Wu

Advisor: David W. Lin

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

3

Outline

Overview RS code Convolution code LDPC code Future Work

4

Overview

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)

6

RS code

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

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.

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.

10

Shortened and Punctured

11

RS code

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

13

Convolution code

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

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 ½ .

15

Convolution code

Decoding: Viterbi algorithm

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

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.

18

RS-CC code

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

20

LDPC code

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

21

LDPC code

Base model

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

23

LDPC code

Encoding

[u p1 p2]

24

LDPC code

Decoding Tanner GraphTanner Graph Sum Product Algorithm

25

LDPC code

Tanner GraphTanner Graph

26

LDPC code

Sum Product Algorithm

27

LDPC code

28

LDPC code

29

Future Work

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

30

Thanks for your attention

top related