Mare Artico
Universit degli Studi di Padova
Dipartimento di Ingegneria dell'Informazione
Corso di Laurea in Ingegneria delle Telecomunicazioni
(IEEE 802.16)
AN LDPC ENCODER AND MESSAGE PASSING DECODER IMPLEMENTATION
Channel Coding Valentina Vadori
Section 1:
IEEE 802.16
IEEE Standard for Air Interface for Broadband Wireless Access SystemsIt aims at providing: broadband connectivity across cities and countries to fixed and mobile users .
a wireless alternative to cable and digital subscriber line (DSL) for "last mile" broadband access.
data, telecommunications (VoIP) and IPTV services (triple play).
SYSTEM ARCHITECTURE
- base stations and subscriber stations -
SPECIFICATIONS
RANGE - 50-km radius from base station
SPEED - 70 Mb/s
LINE OF SIGHT - not needed between user and base station
FREQUENCY BANDS - 2 to 11 GHz and 10 to 66 GHz (licensed and unlicensed bands)
OFDM-MIMO
AMC (Adaptive Modulation and Coding), ARQ and FEC
FORWARD ERROR CORRECTION
The PHY LAYER must provide convolutional coding (CC). Many others are optional:Block turbo coding (BTC)
Convolutional turbo codes (CTCs)
Low density parity check (LDPC) codes
Section 2:
THE LDPC ENCODER
LDPC codes (Gallager codes) arelinear error correcting codes defined by a sparse parity-check matrix H such that
capacity-approaching codes
decodable with low complexity-iterative algorithms
IEEE 802.16 LDPC CODES
Binary and irregular codes
Can accomodate various code rates and packet sizes starting from a set of foundamental sistematic codes
Parity check matrix H is expanded from a base model matrix Hbm
mb x nb
m x n = (n-k) x n
z x z
= (z*mb)x(z*nb)
IEEE 802.16 LDPC CODES
19 codeword lengths, from n = 576 to n = 2304
4 code rates: 1/2, 2/3, 3/4, 5/6
6 code classes: 1/2, 2/3A, 2/3B, 3/4A, 3/4B, 5/6.
Hbm defined for each class for n = 2304, nb = 24, z = 96 (in general z = n/24)
THE LDPC ENCODER
- Method 1a -
Parity check bits p = [p0 pm-1] from the information block s = [s0 sk-1]1. s grouped by z to get u = [u(0) u(kb-1)] where each u(i) is a column vector2. p grouped by z to get v = [v(0) v(mb-1)] 3. INITIALIZATION to determine v(0) :
4. RECURSION to determine v(i+1), i = 0,...,mb-2
i = 1,..., mb-2
Codeword c = [s p]
i = 0
THE LDPC DECODER
- Forney style FG representation -
Section 3:
VARIABLE
NODES
(n)
CHECK
NODES
(m = n-k)
======+++
c0= u0
cn
Bipartite graph
One variable node for each codeword symbol
One check node for each row of H
Edges connect each variable node to check nodes representing constraints involving it
c1= u1
ck= uk
THE LDPC DECODER
- Logarithmic version of the Sum-product algorithm for a binary PAM
in an AWGN channel -
cjvi
vicj
givi
c0
cm
======+++
g0g1gngk
vigi
v0
v1
vk
vn
THE LDPC DECODER
- Logarithmic version of the Sum-product algorithm for a binary PAM
in an AWGN channel -
cjvi
======+++
g0g1gngk
vigi
vicj
givi
v0
v1
vk
vn
c0
cm
1. Define givi2. Initialize cjvi = 03. Update vicj
4. Update cjvi 5. Marginalize
6. Repeat 3-5 until H 0 or a maximum number of iterations Nit is reached
MODULATION PROFILES
IN IEEE 802.16
4-QAM, 16-QAM, 64-QAM
Gray mapping
Normalization factor to get Es = 1
THE LDPC DECODER
- Modified Forney style FG representation
for a 4-QAM -
vicj
giWi(a)
WiviWivi(b)
c0
cm
g0
======+++
W1
viWiviWi(c)
v0
v1
v3
vn
W0
g1
v2
cjvi
THE LDPC DECODER
- Logarithmic version of the Sum-product algorithm for a QAM in an
AWGN channel -
vicj
giWi(a)
WiviWivi(b)
c0
cm
g0
======+++
W1
viWiviWi(c)
v0
v1
v3
vn
W0
g1
v2
cjvi
1. Define giWi(a) for each a
2. Initialize cjvi = 0 and viWi(c) = 0.5 for each c3. Update Wivi(b) and compute
4. Update vicj and cjvi 5. Marginalize6. Repeat 3-5 until H 0 or a maximum number of iterations Nit is reached
IMPLEMENTATION
- Some details -
Parity check matrix H defined by base model matrix expansion
Efficient storage of H (sparse) as a an array of lists (cells in Matlab)
Encoding process managed by a dedicated function in Matlab
Modulation process managed by dedicated functions in Matlab
Decoding managed by a C subroutine called by Matlab
Simulations run on sequences of input bits segmented into blocks and then coded, modulated, transmitted (AWGN channel) and decoded
Performance results plotted for various values of Nit, code rates, codeword lengths and modulation profiles.
Section 4:
Section 5
RESULTS
- BER for n = 2304, R = 1/2, different Nit -
RESULTS
- BER for n = 2304, Nit = 50, different code rates -
RESULTS
- BER for R = 1/2, Nit = 50, different codeword lengths -
RESULTS
- BER for R = 1/2, Nit = 100, n = 2304, different modulation
profiles -
SPECTRAL EFFICIENCY
- varying Nit, code rate, codeword length, modulation profile -
Target BER = 10-5 -
CONCLUSIONS
Since I do not implement the whole PHY scheme prescribed by the standard, my performance results can be considered as a lower bound to the effective WiMAX
Codes are not so long (nmax = 2304). The gap between them and the Shannon bound can be further reduce with longer codewords.
QAM modulations achieve higher spectral efficiency, but they require higher SNRs for a target BER
IEEE 802.16 support adaptive coding and modulation to cope with time varying channels
Top Related