Expand description
Universal filtered multicarrier (UFMC): OFDM filtered per sub-band.
§Model
$K = BQ$ contiguous subcarriers centred on the carrier, out of a grid of $N$, are grouped in $B$ sub-bands of $Q$ subcarriers. Every sub-band is brought to the time domain by an IDFT of size $N$ (no cyclic prefix) and filtered by a filter of $L$ taps centred on it; the symbol is the sum of the $B$ filtered components, $N + L - 1$ samples, and consecutive symbols do not overlap (Schaich & Wild 2014, Sec. 3):
$$ \mathbf{x} = \sum_{i=1}^{B} \mathbf{F}{i} \mathbf{V}{i} \mathbf{s}_{i}, $$
with $\mathbf{V}{i}$ the columns of the IDFT of the sub-band and $\mathbf{F}{i}$ the
Toeplitz matrix of the filter $f_{i}[l] = w[l], e^{j 2\pi c_{i} l / N}$, $w$ a
Dolph–Chebyshev window (comnum_dsp::window::chebyshev) normalised to unit energy and
$c_{i}$ the centre of the sub-band. The receiver appends zeros up to $2N$ samples and
takes the DFT: the even bins $2k$ carry the subcarriers $k$, $\mathbf{s}_{k}$ times the
response of its filter at $k/N$, which a one-tap equaliser removes. The other
sub-bands vanish there exactly (the IDFT of a sub-band is zero at the bins of the
others): UFMC is orthogonal in the complex sense, unlike FBMC/OQAM, and needs no
prefix; the filters lower the sidelobes between sub-bands.
The symbols on the subcarriers have unit energy: the IDFT is scaled by
$1/\sqrt{K}$ as in crate::ofdm.
§Examples
use comnum_waveform::ufmc::Ufmc;
use comnum_math::C64;
// 4 sub-bands of 12 subcarriers on a grid of 64, L = 16
let u = Ufmc { n_fft: 64, n_subbands: 4, subband_size: 12, filter_len: 16, ..Ufmc::default() };
u.check()?;
let d: Vec<C64> = (0..96).map(|i| C64::new(if i % 3 == 0 { 1.0 } else { -1.0 }, 1.0)).collect();
let x = u.modulate(&d)?;
assert_eq!(x.len(), 2 * (64 + 15));
let back = u.demodulate(&x)?;
assert!(back.iter().zip(&d).all(|(a, b)| (a - b).norm() < 1e-9));§References
- F. Schaich and T. Wild, “Waveform contenders for 5G — OFDM vs. FBMC vs. UFMC,” Proc. 6th Int. Symp. Communications, Control and Signal Processing (ISCCSP), 2014.
- F. J. Harris, “On the use of windows for harmonic analysis with the discrete Fourier transform,” Proc. IEEE, 66(1), 51–83, 1978.
Structs§
- Ufmc
- A UFMC modem (see the module): its fields are its parameters, set by struct update
from
Ufmc::defaultand checked byUfmc::check(and by the modulator and the demodulator).