Demodulation & Bit Error Rate Testing ELEC 433 - Spring 2013 Michael Wu & Evan Everett
Demodulation • Assumes mapping & constellation known at receiver • Simply de-maps constellation points to bits • Needs to know transmitter’s mapping • I/Q can be de-mapped independently • Thresholds define boundaries between symbols
Demodulation - 16 QAM Q 1 1/3 I -1/3 -1
Demodulation - 16 QAM Q 1 1/3 I -1/3 -1
Demodulation - 16 QAM Q 1/2 0 I -1/2 -1/2 0 1/2
Amplitude Offsets Q I
Amplitude Offsets Q I
Amplitude Offsets Q I
Phase Offset Q I 64 QAM
Phase Offset Q I 64 QAM
Demodulation - QPSK • QPSK is very easy to demodulate • You’ve already built the slicer (in the Costas loop) • Amplitude offsets can’t cause errors • Huge phase error tolerance
Demodulation - QPSK Q 11 00 I
Demodulation - QPSK Q 11 00 I
Demodulation - QPSK Q 11 I 00
Demodulation - QPSK • Phase ambiguity is only problem • QPSK and (QPSK ± N π /2) are identical • Resolve with training or differential encoding
Differential Encoding • Encode data in phase transition • Performance hit due to memory • One error screws up two symbol periods • Required at both Tx and Rx +0 00 10 00 - π /2 10 + π /2 + π 01 11 01 11 Normal Mapping Differential Mapping
Differential Encoding Example 01 00 10 11 10 11 10 User Data: + π /2 - π /2 π - π /2 π - π /2 0 Phase Transition: Symbol to Send: A C C A D C B D + π /2 0 - π /2 π - π /2 π - π /2 Phase Difference: 01 00 10 11 10 11 10 Received Data: +0 00 - π /2 C A 10 + π /2 + π 01 D B 11
Differential Encoding Example 01 00 10 11 10 11 10 User Data: + π /2 0 - π /2 π - π /2 π - π /2 Phase Transition: Symbol to Send: C D D C B D A B + π /2 0 - π /2 π - π /2 π - π /2 Phase Difference: 01 00 10 11 10 11 10 Received Data: +0 00 - π /2 C A 10 + π /2 + π 01 D B 11
Differential Encoding data bits Tx Symbol prev symbol Concatenate LUT Modulation Encoding Rx data Slice data bits Concatenate LUT z-1 Decoding Suggested Implementations
Bit Error Rate Testing • Transmitter sends periodic frames • Frame = Header Pseudo-Random bits • ROM of bits indexed by counter works for this • Receiver knows same bit sequence • Correlator looks for header to find beginning of frame • Counters track total bits and bits in error • Don’t do division (error/total) in hardware
Header Correlation Received Signal Header Random bits 0 Threshold Correlator Header Random bits Reference Frame • Header needs good autocorrelation characteristic • High autocorrelation when aligned, low when not • Delta function would be ideal autocorrelation • Barker codes and MLS well-suited
Header Correlation Received Signal Random bits Header Random bits 1 Threshold Correlator Header Random bits Reference Frame • Header needs good autocorrelation characteristic • High autocorrelation when aligned, low when not • Delta function would be ideal autocorrelation • Barker codes and MLS well-suited
Header Correlation Received Signal Header Random bits Header Random bits 0 Threshold Correlator Header Random bits Reference Frame • Header needs good autocorrelation characteristic • High autocorrelation when aligned, low when not • Delta function would be ideal autocorrelation • Barker codes and MLS well-suited
Autocorrelation Example Length-13 Barker Code Length-63 MLS 1 1 x[n] 0 x[n] 0 − 1 − 1 0 20 40 60 80 0 5 10 15 n 1.2 1.2 1 1 Sample Autocorrellation Sample Autocorrellation 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 − 0.2 − 0.2 − 20 − 10 0 10 20 − 40 − 20 0 20 40 Lag (samples) Lag (samples)
Lab 9 Summary • Implement differential encoded QPSK modulator/ demodulator • Implement BER testing subsystem • Correllator to align transmitted and received frames for bitwise comparison • Simulink AWGN channel between Tx and RX to verify • Characterize over-the-air BER performance of your design
Recommend
More recommend