comnum.Ufmc#
- class comnum.Ufmc(n_fft, n_subbands, subband_size, filter_len, *, sidelobe_db=40.0)#
Universal filtered multicarrier (Schaich & Wild 2014): OFDM filtered per sub-band by Dolph–Chebyshev filters, no cyclic prefix,
n_fft + filter_len - 1samples per symbol.- Parameters:
- Raises:
ValueError – for an invalid parameter (the message names it).
Examples
>>> import comnum, numpy as np >>> u = comnum.Ufmc(64, 4, 12, 16, sidelobe_db=40.0) >>> d = np.exp(2j * np.pi * np.arange(96) / 5) >>> np.allclose(u.demodulate(u.modulate(d)), d) True
- demodulate(samples)#
Demodulate whole symbols (zeros to
2N, DFT, even bins, divided by the filters).- Parameters:
samples (array_like) – the received samples.
- Returns:
the symbols (complex128).
- Return type:
- Raises:
ValueError – for an invalid parameter or input (the message names it).
- modulate(data)#
Modulate
K = B Qsymbols per UFMC symbol.- Parameters:
data (array_like) – the symbols.
- Returns:
the samples (complex128).
- Return type:
- Raises:
ValueError – for an invalid parameter or input (the message names it).