7 | | '''Important:''' this script is not intended as a tutorial of OFDM. If you're not already familiar with the basics of OFDM please start with one of the many good [https://www.google.com/search?q=ofdm+tutorial OFDM tutorials] available online. You will need to know the basics of OFDM before understanding the Tx and Rx processing in this example. |
8 | | |
9 | | == Transmitter == |
10 | | [[Image(wl_ofdm_blkDiag_Tx.png, nolink)]] |
11 | | |
12 | | The OFDM transmitter code implements the following functions: |
13 | | * Random data generation |
14 | | * Modulation of random data to complex constellation symbols |
15 | | * Mapping of symbols to data-bearing subcarriers |
16 | | * Insertion of pilot tones in pilot subcarriers |
17 | | * Inverse fast Fourier transform (IFFT) |
18 | | * Cyclic prefix insertion |
19 | | * Preamble construction and insertion |
20 | | * Interpolation by 2x |
21 | | |
22 | | |
23 | | == Receiver == |
24 | | [[Image(wl_ofdm_blkDiag_Rx.png, nolink)]] |
25 | | |
26 | | The OFDM receiver code implements the following functions: |
27 | | * LTS correlation for synchronization |
28 | | * CFO estimation and correcting use time-domain estimation from LTS |
29 | | * Cyclic prefix removal |
30 | | * Fast Fourier transform (FFT) |
31 | | * Channel estimation from frequency-domain LTS |
32 | | * Residual phase error estimation from frequency-domain pilot tones |
33 | | * Equalization of data-bearing subcarriers using channel estimates and phase error estimates |
34 | | * Demodulation of complex symbols to data values |
| 7 | This example extends the [wiki:WARPLab/Examples/OFDM SISO OFDM example]. Users are encouraged to read and test that example before moving on to this MIMO variant. |