optic.comm.ofdm.demodulateOFDM
- demodulateOFDM(sig, param=None)
Demodulate OFDM signal.
- Parameters:
sig (np.np.array) – Complex-valued array representing the OFDM signal sequence received at one sample per symbol.
param (optic.utils.parameters object, optional) –
Parameters for OFDM demodulation.
param.Nfft : scalar, optional. Size of the FFT [default: 512].
param.G : scalar, optional. Cyclic prefix length [default: 4].
param.hermitSymmetry : bool, optional. If True, indicates real OFDM symbols; if False, indicates complex OFDM symbols [default: False].
param.pilot : complex-valued scalar, optional. Pilot symbol [default: 1 + 1j].
param.pilotCarriers : np.array, optional. Indexes of pilot subcarriers [default: an empty array].
param.nullCarriers : np.array, optional. Indexes of null subcarriers [default: an empty array].
param.returnChannel : bool, optional. If True, return the estimated channel [default: False].
- Returns:
If returnChannel is False, returns a complex-valued array representing the demodulated symbols sequence received. If returnChannel is True, returns a tuple containing the demodulated symbols sequence received and the estimated channel.
- Return type:
np.array or tuple
Notes
The input signal must be sampled at one sample per symbol.
This function performs demodulation of the OFDM signal according to the provided parameters, including channel estimation and single tap equalization.
References
[1] Proakis, J. G., & Salehi, M. Digital Communications (5th Edition). McGraw-Hill Education, 2008.