Channel Coding in IEEE802.16e
description
Transcript of Channel Coding in IEEE802.16e
![Page 1: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/1.jpg)
1
Channel Coding in IEEE802.16e
Student: Po-Sheng Wu
Advisor: David W. Lin
![Page 2: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/3.jpg)
3
Outline
Overview RS code Convolution code LDPC code Future Work
![Page 4: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/4.jpg)
4
Overview
![Page 5: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/6.jpg)
6
RS code
![Page 7: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/10.jpg)
10
Shortened and Punctured
![Page 11: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/11.jpg)
11
RS code
![Page 12: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/15.jpg)
15
Convolution code
Decoding: Viterbi algorithm
![Page 16: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/18.jpg)
18
RS-CC code
![Page 19: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/21.jpg)
21
LDPC code
Base model
![Page 22: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/23.jpg)
23
LDPC code
Encoding
[u p1 p2]
![Page 24: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/24.jpg)
24
LDPC code
Decoding Tanner GraphTanner Graph Sum Product Algorithm
![Page 25: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/25.jpg)
25
LDPC code
Tanner GraphTanner Graph
![Page 26: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/26.jpg)
26
LDPC code
Sum Product Algorithm
![Page 27: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/27.jpg)
27
LDPC code
![Page 28: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/28.jpg)
28
LDPC code
![Page 29: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/29.jpg)
29
Future Work
Realize these algorithm in computer Find some decoding algorithm to speed up
![Page 30: Channel Coding in IEEE802.16e](https://reader035.fdocuments.in/reader035/viewer/2022081504/56814553550346895db222d1/html5/thumbnails/30.jpg)
30
Thanks for your attention