OFDM transmission: stepbystep example
This OFDM tutorial walks through an example transmission via a frequencyselective channel and illustrates an ISI free detection. This practical course aims to illustrate OFDM basics leaving aside the complexity of multi carrier theory. The mission is to process a simple example of data transfer.
Channel estimation
Before data can be transmitted a pilot sequence is sent to initialize the equalizer according to the channel.
We step through the transmit chain following the parallel signal blocks.
 $d\left(i\right)$ : The pilot sequence is a series of real constant symbols.
 $u\left(i\right)$ : It IFFTtransforms to an OFDM symbol, in this case an impulse symbol.
 $s\left(i\right)$ : The guard interval (GI) is added, i.e. the OFDM symbol is extended by a cyclic prefix containing the last single symbols.
 $r\left(i\right)$ : The received symbol is degenerated by the channel. The echo of the example channel has a relative power of 0.9.
 $v\left(i\right)$ : The OFDM symbol is obtained by removing the guard interval, i.e. the first two single symbols.
 $w\left(i\right)$ : It FFTtransforms to the spectral representation of the OFDM symbol $w\left(i\right)$ , i.e. the channel transfer function ${H}_{C,i}$ .
Each flatfading sub channel can be equalized by a complex factor (single tap equalization). The equalizer coefficients are the reciprocals of the channel transfer function: ${H}_{E,i}=\frac{1}{{H}_{C,i}}$ .
Endtoend data transmission
Now a data sequence is processed in the same way but the detected signal is equalized.
Again, we step through the transmit chain following the parallel signal blocks.
 $d\left(i\right)$ : A random data sequence.
 $u\left(i\right)$ : It IFFTtransforms to an OFDM symbol.
 $s\left(i\right)$ : The guard interval (GI) is added, i.e. the OFDM symbol is extended by a cyclic prefix containing the last single symbols.
 $r\left(i\right)$ : The received symbol is degenerated by the channel.
 $v\left(i\right)$ : The OFDM symbol is obtained by removing the guard interval, i.e. the first two single symbols.
 $w\left(i\right)$ : It FFTtransforms to the spectral representation of the OFDM symbol.
 ${d}^{\prime}\left(i\right)$ : The signal is equalized: ${d}^{\prime}\left(i\right)=w\left(i\right)\cdot {H}_{E,i}$ . The equalizer adjusted to the channel allows ISI free detection: ${d}^{\prime}\left(i\right)=d\left(i\right)$
Now carry out the OFDM stepbystep lab experiment.
In this experiment an OFDM data transmission via a frequencyselective channel is established. Using example values we walk through the signal chain, OFDM symbols and equalizer coefficients. Finally a data sequence can be detected ISIfree. Check the tutorial.
Channel estimation
Initially a pilot sequence $d(i)$ is sent for channel estimation and equalizer initialization.
 The app stops after the first symbol $\mathrm{s(0)}$ is sent.
 Send the next symbol by pressing key "1" (or Run  1 Step).
 Continue till the first OFDM symbol is completely received (further 9 steps).
 Look at $w\left(i\right)$ , the spectral representation of this OFDM symbol.
The equalizer coefficients are the reciprocal of $w(i)$ .
 Regard the equalizer coefficients by clicking on the Equalizer box and then on Coefficients.
Endtoend data transmission
Now a data sequence is sent. Continue the simulation (6 steps). Step through the transmit chain:
$d(i)$  A block containing 8 data symbols (representing 16 bits) is generated and serialtoparallel converted. 
$u(i)$  It IFFTtransforms to an OFDM symbol. 
$s(i)$  The guard interval (GI) is added, i.e. the OFDM symbol is extended by a cyclic prefix containing the last single symbols. 
$r(i)$  The received symbol is degenerated by the channel. 
$v(i)$  The OFDM symbol is obtained by removing the guard interval, i.e. the first two single symbols. 
$w(i)$  (After further 8 steps.) It FFTtransforms to the spectral representation of the OFDM symbol. 
${d}^{\prime}(i)$  The equalized signal represents the 8 data symbols. 
Note that in this case no noise is present.
Next steps
The app recurrently transmits a fixed data sequence.
 Confirm the ISI free detection for random data sequences. Switch the digital source to Random.
 Modify the channel and simulate time selective channel variation. Channel parameters (delay and amplitude) can be adjusted in real time.
Note that ISI occurs when there's a mismatch of the channel transfer function and the equalizer coefficients.  Modify the initial echo delay of the channel: Simulation  Setup (F12).
Repeat the same flow as outlined above. Note that after clicking on OK the simulation restarts and the pilot sequence is sent via this channel. Therefore the channel estimation and equalizer initialization work properly.
Approve that ISI free detection requires a channel maximum delay spread (Echo delay) lower than the guard interval length (i.e. the adjustable discrete Prefix length times the sampling time of e.g. 1,6 $\mu s$ ).
This simulation app implements a simple OFDM data transmission over a frequencyselective channel.
The app stops after the first symbol of the pilot sequence is sent.
 Press key "1" to send the next symbol.
 Repeat till the first OFDM symbol is completely received.
 Left click on Equalizer and then on Coefficients to view how the equalizer has been initialized.
Now a data sequence $d\left(i\right)$ is sent.
 Continue pressing key "1" to perform single simulation steps and track how the data symbol is transmitted.
 Finally the detected data symbol ${d}^{\prime}\left(i\right)$ is error and ISI free as no noise is present.
Key  Action 

Key "1"  Process one simulation step. 
Key "2"  Process 10 simulation steps. 
Mouse  Action 

Left click on Equalizer. 

Left click on Coefficients. 

Right click on ${d}^{\prime}\left(i\right)$


Select Constellation diagram. 

Left click on bullet representing the digital source. And switch to Random. 

Left click on Twopath channel. 
Modify the channel to simulate time selective channel variation. 
Simulation  Setup (F12) 
Modify the initial echo delay of the channel and press OK to restart the simulation. 