Expand description
Signal-to-interference ratio of a multicarrier scheme with a one-tap equaliser over a doubly-selective channel, in closed form from its pulses (Nissel, Schwarz & Rupp 2017, Sec. IV).
§Model
The transmit pulses $\mathbf{g}{j}$ (the columns of $\mathbf{G}$) carry uncorrelated unit-power symbols $x{j}$ through a time-variant channel $[\mathbf{H}]{n,n’} = h[n - n’, n]$ and the receiver projects on the pulse $\mathbf{q}{i}$ of the wanted symbol (their eq. (34)):
$$ y_{i} = \sum_{j} \underbrace{\mathbf{q}{i}^{H} \mathbf{H} \mathbf{g}{j}}{c{j}}, x_{j}, \qquad [\boldsymbol\Gamma]{j,j’} = \mathrm{E}\{c{j} c_{j’}^{*}\}. $$
The channel is WSSUS: taps of delays $d_{m}$ (samples) and powers $p_{m}$, independent,
each with the Clarke/Jakes correlation $J_{0}(2\pi \nu_{\max} \Delta t,(n - n’))$,
$\nu_{\max} \Delta t$ the maximum Doppler shift in cycles per sample. $J_{0}(x) =
\frac{1}{Q}\sum_{q} \cos(x \cos\theta_{q})$ on the midpoint rule, exactly to the
machine precision for $Q \ge 64 + 2 x_{\max}$ (comnum_math::bessel_j0), so the
channel is the finite sum of sinusoids $h[m, n] = \sum_{q} \sqrt{p_{m}/Q},
e^{j 2\pi \nu_{\max} \Delta t \cos\theta_{q}, n} z_{m,q}$, $z$ i.i.d. unit complex
Gaussian, and $\boldsymbol\Gamma = \boldsymbol\Omega \boldsymbol\Omega^{H}$ (their eq.
(37)) with the explicit factor
$$ [\boldsymbol\Omega]{j,(m,q)} = \sqrt{\frac{p{m}}{Q}} \sum_{n} q_{i}^{*}[n], e^{j 2\pi \nu_{\max}\Delta t \cos\theta_{q}, n}, g_{j}[n - d_{m}]. $$
For complex symbols (OFDM, FBMC-QAM), their eq. (35),
$\mathrm{SIR}{i} = [\boldsymbol\Gamma]{i,i} / (\mathrm{tr},\boldsymbol\Gamma -
[\boldsymbol\Gamma]{i,i})$ (DoublySelective::sir_qam). For the real symbols of
FBMC-OQAM the one-tap equaliser removes the phase of the wanted coefficient and keeps
the real part: each column of $\boldsymbol\Omega$ is turned by the phase of its entry
in row $i$ (eq. (38); a zero entry is left as it is), $\tilde{\boldsymbol\Gamma}{i} =
\Re\{\tilde{\boldsymbol\Omega}{i}\} \Re\{\tilde{\boldsymbol\Omega}{i}\}^{T}$ (eq.
(39)) and the SIR is the same ratio of $\tilde{\boldsymbol\Gamma}_{i}$ (eq. (40),
DoublySelective::sir_oqam). The receiver knows the one tap exactly; the noise is
zero; the pulses are the sampled ones of the modems (Ofdm::pulse, Ofdm::window,
Fbmc::pulse), the delays rounded to the sampling grid.
When the transmit pulses form a complete orthonormal basis (OFDM without prefix, every
subcarrier of every symbol) the received power is the channel’s whatever the delays and
the Doppler, by Parseval: $\mathrm{tr},\boldsymbol\Gamma = \sum_{m} p_{m}
|\mathbf{q}{i}|^{2}$, and the SIR needs the wanted coefficient only,
$\mathrm{SIR}{i} = [\boldsymbol\Gamma]{i,i} / (|\mathbf{q}{i}|^{2} -
[\boldsymbol\Gamma]{i,i})$ (DoublySelective::sir_complete). The same holds for
the real symbols of FBMC-OQAM on its whole lattice, a complete real-orthonormal frame
($\Re{\mathbf{G}^{H}\mathbf{G}} = \mathbf{I}$, their eq. (25)), since $\sum{j}
(\Re\langle \mathbf{y}, \mathbf{g}{j}\rangle)^{2} = |\mathbf{y}|^{2}$ for every
$\mathbf{y}$ and the phases of eq. (38) leave $[\tilde{\boldsymbol\Gamma}{i}]{i,i} =
[\boldsymbol\Gamma]{i,i}$: no truncation of the interferers is needed, where the sums
of eqs. (35) and (40) over a finite set miss the interference the channel spreads far
from the wanted symbol (a rectangular window spreads its ISI evenly over every
subcarrier).
§Examples
use comnum_waveform::sir::DoublySelective;
use comnum_waveform::ofdm::Ofdm;
// CP-OFDM over a static two-path channel inside the prefix: no interference
let ofdm = Ofdm { n_cp: 8, oversampling: 1, ..Ofdm::new(32, 32)? };
let ch = DoublySelective::new(&[(0.0, 0.0), (3.0, -6.0)], 1.0, 0.0)?;
let tx: Vec<_> = (0..3).flat_map(|n| (0..32).map(move |i| (i, n))).map(|(i, n)| ofdm.pulse(i, n)).collect();
let sir = ch.sir_qam(&ofdm.window(5, 1), &tx, 32 + 5);
assert!(sir > 1e20);
// without the prefix the paths beyond the window interfere
let ofdm = Ofdm { oversampling: 1, ..Ofdm::new(32, 32)? };
let tx: Vec<_> = (0..3).flat_map(|n| (0..32).map(move |i| (i, n))).map(|(i, n)| ofdm.pulse(i, n)).collect();
let sir = ch.sir_qam(&ofdm.window(5, 1), &tx, 32 + 5);
assert!(sir > 1.0 && sir < 1e3);§References
- R. Nissel, S. Schwarz and M. Rupp, “Filter bank multicarrier modulation schemes for future mobile communications,” IEEE J. Sel. Areas Commun., 35(8), 1768–1782, 2017: Sec. IV, eqs. (34)–(40).
Structs§
- Doubly
Selective - A WSSUS channel of discrete taps with Jakes’ Doppler, on the sampling grid (see the module).
Type Aliases§
- Pulse
- A pulse on its support:
(first sample, values), as the modems return them.