640 likes | 997 Views
OFDM Implementation in GNU Radio. Matt Ettus, Thomas W. Rondeau, and Robert McGwier Wireless@VT Symposium, 2007. OFDM: Basic Principles. Transmitter Flow Graph. Receive Flow Graph. Signal Acquisition. Signal Detection. Two methods implemented: Maximum Likelihood
E N D
OFDM Implementation in GNU Radio Matt Ettus, Thomas W. Rondeau, and Robert McGwier Wireless@VT Symposium, 2007
Signal Detection • Two methods implemented: • Maximum Likelihood • Correlate with cyclic prefix • J. van de Beek, M. Sandell, P. Ola. Borjesson, “ML Estimation of Time and Frequency Offset in OFDM Systems,” IEEE Trans. On Signal Processing, vol. 45, no. 7, pp. 1800—1805, July 1997. • PN Sequence correlation • Transmit known symbol with repetition in the time domain • T. M. Schmidl and D. C. Cox, “Robust Frequency and Timing Synchronization for OFDM,” IEEE Trans. Communications, vol. 45, no. 12, pp. 1613—1621, Dec. 1997.
ML Estimation Delay to CP Peak to 0 Gate symbol Correlate to delayed CP Hold angle for frequency correction
ML Performance Correlation Peaks Correlations occur every OFDM symbol
ML Performance Correlation Peaks Peaks should occur every FFT length + CP length
ML Performance Histogram of Peak Timing Missing a peak inside a packet will cause a rotation in versus the other symbols
PN Correlation Create sample in frequency with 0’s in every other bin: IFFT Repeated Known Symbol in time: ABCDABCD
Synchronizer Flow Graph Delay first half Detects edge Signal Power Regenerate for each symbol Hold angle for frequency correction Correlate to preamble Gate symbol
PN Sync Performance Correlation Match Filtered Regen. Peaks Correlations occur every packet
PN Sync Performance Correlation Match Filtered Regen. Peaks Regenerating peaks by a known amount
PN Sync Comparison Noise and multipath affects against a perfect signal
PN Sync Performance Histogram of Peak Timing Differences do not affect this method as much because the rotation is constant in the packet
Frame Detection • Uses known symbols to correlate and find beginning of frame • Once correlated, use the known symbols and receive symbols to generate a 1-tap equalizer • Use the equalizer to correct phase shifts and multipath
Fine Frequency compensation PN Frequency ambiguity -0.5 -3.5 -2.5 -1.5 0.5 1.5 2.5 3.5 Frequency ML Frequency ambiguity
Coarse Frequency compensationcorrected in frame detector Shifted full FFT bin -0.5 -3.5 -2.5 -1.5 0.5 1.5 2.5 3.5 Frequency
Fine Frequency Error from PN Sync Frequency error calculated once per packet; does not fix for clock offset drift throughout packet.
QPSK Repeated Preamble (1/13)FFT length=512, Occupied Tones=200, CP Length=128
QPSK Known Preamble 1 (2/13)FFT length=512, Occupied Tones=200, CP Length=128
QPSK Known Preamble 3 (3/13)FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (4/13)FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (5/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (6/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (7/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (8/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (9/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (10/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (11/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Data (12/13) FFT length=512, Occupied Tones=200, CP Length=128
QPSK Repeated Preamble (13/13) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128
QAM16 Repeated Preamble (1/1) FFT length=512, Occupied Tones=200, CP Length=128