Summary: Once we've obtained our complex baseband data we need to recover the subcarriers. Because they were created using the Inverse Fast Fourier Transform (IFFT), we simply need to reverse the operation by taking the FFT. Once this is done, we will generally have a certain number of transmitted zeros between the positive and negative frequency bins that need to be removed to output our received data symbols.
| Input/Outputs and Help |
|---|
![]() |
Shown above is the sub-VI to be discussed next. Once we receive our time domain signal, we need to recover the subcarriers and ultimately the data they contain. We took the IFFT at the transmitter, and so it is a simple matter of taking the FFT and removing the padded zeros.
| Block Diagram Layout |
|---|
![]() |
Figure 2 shows the block diagram of our implementation available for download below. After taking the FFT, we simply determine how much of the spectrum should be data, and remove it from the rest of the array. While we transmitted a specific number of zeros in between the positive and negative frequencies, they will no doubt take on some small non-zero value after realistic travel through a non-software medium.
The only real logic is in dividing the number of subcarriers by 2 to determine if we have an even or odd number of subcarriers. If even, we can throw away the first data point as it is simply an injected carrier (or nothing). However, if odd, it instead contains a data point for the odd subcarrier and must be preserved in the output. For additional information, check out the tutorial video in Figure 3, the example video in Figure 4, or email the author with any questions.
| Instructional Video |
|---|
| Example Video |
|---|