OFDM Modem Library with Hopping for FPGA


Orthogonal frequency-division multiplexing (OFDM) is a method of encoding digital data on multiple carrier frequencies. OLYMP Engineering LLC has developed Orthogonal Frequency-Division Multiplexing (OFDM) Library for FPGA. OFDM is a frequency-division multiplexing (FDM) scheme used as a digital multi-carrier modulation method. OFDM works by splitting the radio signal into multiple smaller sub-signals that are then transmitted simultaneously at different frequencies to the receiver.
The OFDM transmitter consists of 8 main parts, including data acquisition, modulation, creating OFDM symbols, GPS synchronization etc. By using NI adapter module for FlexRIO you can transmit data from any external source.
The OFDM receiver consists of 11 main parts, including receive data from RF analyzer, decimation and center frequency estimation, packet detection using autocorrelation method, Fourier transform, demodulation, etc.
With the addition of NI VST module it is possible to add additional features such as: Reed-Solomon coding and decoding, Convolution coding and Viterbi decoding, Interleaving and deinterleaving.


The advantages of OFDM:

  • High spectral efficiency as compared to other double sideband modulation schemes, spread spectrum, etc.
  • Can easily adapt to severe channel conditions without complex time-domain equalization.
  • Robust against narrow-band co-channel interference.
  • Robust against intersymbol interference (ISI) and fading caused by multipath propagation.
  • Efficient implementation using Fast Fourier Transform (FFT).
  • Low sensitivity to time synchronization errors.
  • Tuned sub-channel receiver filters are not required (unlike conventional FDM).
  • Facilitates single frequency networks (SFNs); i.e., transmitter macrodiversity.

Technical Specifications

Full implementation


Full duplex Tx/Rx

on 2 FPGAs 


up to 26 MHz

Frequency hopping

up to 400 hop/s (requires GPS synchronized pps)

TDMA implementation

for bandwidth efficient usage 

Supported modulation schemes


Supported subcarriers

64, 128, 256, 512, 1024 and 2048

Supported data throughput

16 Mb for BPSK