240 likes | 491 Views
IEEE802.16d Simulator WirelessMAN-OFDM-PHY layer. Rev-s3 24 Sept 2004. Mohamad Charafeddine. Introduction. The Matlab’s Simulink simulation work is for the broadband wireless standard IEEE802.16d [and subsequently for the IEEE802.16-2004 once it is published]
E N D
IEEE802.16dSimulatorWirelessMAN-OFDM-PHY layer Rev-s3 24 Sept 2004 Mohamad Charafeddine
Introduction • The Matlab’s Simulink simulation work is for the broadband wireless standard IEEE802.16d [and subsequently for the IEEE802.16-2004 once it is published] • Currently the mandatory channel coding scheme is used (Reed-Solomon/ convolutional code), 16-QAM modulation, RS(64,48,8), CC rate=2/3 • A state machine can be implemented on top of the current model to take into account adaptive rate modulation.
Randomization • PRBS generator: 1 + x14 + x15 • On DL: the scrambler is re-initialized at start of each frame with the vector: 100101010000000
Reed-Solomon coding • Tail byte appended at end of the scrambled data • For the 16-QAM mode selected, RS(64,48,8) is used, with: • A primitive GF polynomial of: p(x) = x8 + x4 + x3 + x2 + 1 • And a code generator polynomial of:g(x)=(x+λ0) (x+λ1) (x+λ2).. (x+λ2T-1), λ=02Hex
Convolutional Coding & Puncturing • Convolutional coding with a native rate of ½ • Constraint length of 7 • Generated with the following 2 generator polynomials: • G1=171oct=1111001 For X • G2=133oct=1011011 For Y • Puncturing of 4/3: X1Y1Y2; thus overall CC rate of ½*4/3 = 2/3
2-steps Interleaver (I) • Define: • Ncpc the number of coded bits per carrier (i.e. 2,4,6 for QPSK, 16QAM, 64QAM respectively) • s = Ncpc/2 • k: the index of the coded bit before the first implementation • m: the index after first permutation • j: the index after the second permutation • ---------------------------------------------------------------------------- • 1st permutation [for carriers] • m = (Ncbps/16)*mod(k,16)+floor(k/16); • 2nd permutation [for bits constellation mapping on carriers] • j=s*floor(m/s)+mod((m+Ncbps-floor(16*m/Ncbps)),s);
16-QAM modulation • 16-QAM modulation • Gray mapped • Normalized constellation average power
OFDM Transmitter: Data&Pilots, Zero Padding, Shaping, Cyclic Prefix (I) • 192 Data carriers • 8 Pilot carries • 0 DC carrier • 55 zero carriers added
PRBS for pilot modulation Sample of a DL sequence: Corresponding sample of an UL sequence: OFDM Transmitter: Pilots (II) • Pilots BPSK modulated • Uses a PRBS generator of x11 + x9 + 1 • Initialized in DL with the vector: [1 1 1 1 1 1 1 1 1 1 1] • Why can’t we always transmit all 1s on the pilots without the need of the PRBS generator?
OFDM Transmitter: Zero Padding (II) Freq axis: 0 → Fs • 55 zeros carriers are padded. • They will take the guard bands role. • Reshaping is done to ensure the spectrum falls off on both sides when plotted from –Fs/2 to Fs/2 Freq axis: -Fs/2 → Fs/2
OFDM Transmitter: IFFT & Cyclic Prefix (III) After IFFTbefore CP • Tg/Tb ratio of ¼ used. Thus CP is 1/fourth the length of data time • Tg/Tb ratios specified by the protocol are: ¼, 1/8, 1/16, 1/32. Question: it does not specify when to use them. After CP Received Spectrum after the AWGN channel
OFDM receiver • Reciprocal work of the OFDM transmitter: • Remove Cyclic Prefix (assuming synchronization) • Perform the FFT • Remove the zero padding and reorder • Separate the data carriers from the pilot carriers
Received signal • AWGN channel is used • If a Rayleigh channel is to be used, the receiver side would need a channel equalization section with the usage of the pilots in the channel estimation (currently pilots are ignored after being removed from the received OFDM frame).
Viterbi decoding • Using a trellis generated from the polynomial of constraint length 7, and the polynomials G1=171oct, and G2=133oct. • Traceback depth specified to be equal to 34. • It can be possible if the future to use soft decisions, LLRs, in decoding.
Reed Solomon decoding • Some work is needed to compensate for the delay introduced by the Viterbi decoder. • Reed Solomon decoding is done, and tail byte removed. • Num of corrected is also outputted, with a -1 when the errors exceeding the max allowed bit errors; in this case equals to T =8.
De-randomization • Same operation as in the Randomization • XORing with the same PRBS generator will retrieve back the data
Bit Error Rate • Bit Error Rate is displayed, along with, • Number of bits in error, and • The total number of bits compared with the original stream of raw data.
Generated BER curve for theIEEE 802.16d, 256-FFT, 16QAM, RS(64,48,8) & CC rate of 2/3
BER curves over AWGN channel; incremental effects of channel coding