Skip to main content

Crate comnum_waveform

Crate comnum_waveform 

Source
Expand description

§comnum-waveform — time–frequency structures

Waveforms carry mapped symbols, so this crate uses comnum-mapping (the sibling dependency allowed by the architecture guide) and, for MIMO-OFDM, the detectors of comnum-mimo (ADR 0009).

ModuleContent
ofdmOFDM and DFT-spread OFDM: oversampled modulator, cyclic prefix, demodulator; resource grid and pilots, LS/LMMSE channel estimation, Schmidl & Cox synchronisation, MIMO-OFDM detection
otfsorthogonal time frequency space: ISFFT and Heisenberg transform with rectangular pulses and one prefix per frame, the sparse effective delay–Doppler channel (Raviteja et al. 2019)
paprpeak-to-average power ratio: theory of its distribution, clipping (Bussgang), and the reduction techniques (clipping and filtering, SLM, PTS, tone reservation, ACE, companding)
ce_ofdmconstant-envelope OFDM (Thompson et al. 2008): modulator, phase demodulator (principal or unwrapped phase), and the error rates of its linear regime
csschirp spread spectrum (the frequency-shift chirp modulation of LoRa): modulator at any oversampling, noncoherent DFT receiver, exact error rates, cross-correlation, spectrum in Fresnel functions, same-SF interference (Chiani & Elzanaty 2019, Afisiadis et al. 2020)
fbmcfilter-bank multicarrier with offset QAM (FBMC/OQAM): PHYDYAS prototype, polyphase modulator and demodulator, OQAM staggering, intrinsic interference
ufmcuniversal filtered multicarrier: OFDM filtered per sub-band by Dolph–Chebyshev filters, no prefix, receiver on the even bins of a DFT of twice the size (Schaich & Wild 2014)
cpmcontinuous-phase modulation (CPFSK, MSK, GMSK, raised-cosine pulses): modulator with an exact phase state, coherent maximum-likelihood sequence detector, quadrature detector of MSK, differential detector, the MSK spectrum and the Gaussian pulse in closed form, minimum distance

§Conventions

A modem is a configuration with public fields, built by a constructor (new, or Css::lora), changed by struct update and checked by check when it is used, with two exceptions: FBMC samples its prototype once in new and reads its fields through getters, and CPM tabulates its phase response in CpmConfig::build. Every modem implements Modulate and Demodulate of comnum-core, at its sample_rate (1 Hz by default, time in samples), and refuses an input at another rate: those that map complex symbols to samples (OFDM, UFMC, OTFS, CE-OFDM, FBMC) on Symbols, CSS and CPM, which carry the index of a symbol, on Labels (Modulate<Labels>, docs/adr/0012-index-symbol-waveforms.md). The vocabulary is shared: n_fft the size of the transform (the subcarriers of the grid), n_active the modulated subcarriers, n_cp the cyclic prefix, block_len() the samples of a block, prefix included. oversampling is the number of samples per Nyquist-rate sample (OFDM, its prefix counted at the Nyquist rate) or per chip (CSS); CE-OFDM folds it into its DFT size and counts its prefix in samples of that DFT. The channels the waveforms cross are in comnum-channel.

Single-carrier waveforms are planned (see docs/ARCHITECTURE.md).

Modules§

ce_ofdm
Constant-envelope OFDM (CE-OFDM): the modulator, the phase demodulator and the error rate of its linear regime, after S. C. Thompson, A. U. Ahmed, J. G. Proakis, J. R. Zeidler and M. J. Geile, “Constant envelope OFDM,” IEEE Trans. Commun. 56(8), 2008.
cpm
Continuous-phase modulation (CPM): CPFSK, MSK and GMSK, their coherent maximum-likelihood sequence detector, two simple detectors for MSK and GMSK, and the closed forms of the MSK spectrum and of the Gaussian pulse.
css
Chirp spread spectrum: the frequency-shift chirp modulation of LoRa.
fbmc
Filter-bank multicarrier with offset QAM (FBMC/OQAM, staggered multitone).
ofdm
OFDM and DFT-spread OFDM.
otfs
Orthogonal time frequency space (OTFS) modulation with rectangular pulses and one cyclic prefix per frame.
papr
Peak-to-average power ratio (PAPR) of OFDM: its distribution, and the classical reduction techniques.
ufmc
Universal filtered multicarrier (UFMC): OFDM filtered per sub-band.