300 likes | 469 Views
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
E N D
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 • Convolution code • LDPC code • Future Work
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)
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
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.
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.
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
Convolution code • Each RS code is encoded by a binary convolution encoder, which has native rate of ½, a constraint length equal to 7.
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 ½ .
Convolution code • Decoding: Viterbi algorithm
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
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.
LDPC code • low density parity checks matrix • LDPC codes also linear codes. The codeword 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
LDPC code • n is the length of the code, m is the number of parity check bit
LDPC code • Base model
LDPC code • if p(f,i,j) = -1 • replace by z*z zero matrix else • p(f,i,j) is the circular shift size
LDPC code • Encoding [u p1 p2]
LDPC code • Decoding • Tanner Graph • Sum Product Algorithm
LDPC code • Tanner Graph
LDPC code • Sum Product Algorithm
Future Work • Realize these algorithm in computer • Find some decoding algorithm to speed up