Skip to main content

Module bicm

Module bicm 

Source
Expand description

Cutoff rates of coded modulation (CM) and bit-interleaved coded modulation (BICM) with uniform inputs (Caire, Taricco & Biglieri 1998, Sec. III); their capacities are the mutual information and the generalized mutual information of crate::theory::constellation_mi and crate::theory::constellation_gmi.

A constellation $\mathcal{X}$ of $M = 2^{m}$ points with unit mean energy carries the label of points()[i] in the bits of i (Gray for the families of Constellation::new, set partitioning for Constellation::set_partitioning). The channel is $y = g x + n$, $n \sim \mathcal{CN}(0, \sigma^{2})$ (a real constellation sees a real channel, as in crate::theory), the SNR is $1/\sigma^{2}$, and the gain $g$ is 1 (RateChannel::Awgn) or Rayleigh, $\mathbb{E}|g|^{2} = 1$, known at the receiver (RateChannel::Rayleigh, perfect CSI and ideal interleaving; RateChannel is that of crate::theory). With $\mathcal{X}_{b}^{i}$ the points whose bit $i$ is $b$:

  • the CM capacity (eq. (10)), the mutual information (crate::theory::constellation_mi with px = None), $\tilde{C} = m - \mathbb{E}\left[\log_{2} \sum_{z \in \mathcal{X}} p(y|z) / p(y|x)\right]$;
  • the BICM capacity (eq. (14)) (crate::theory::constellation_gmi with px = None), $\hat{C} = m - \sum_{i=1}^{m} \mathbb{E}{b,y}\left[\log{2} \sum_{z \in \mathcal{X}} p(y|z) / \sum_{z \in \mathcal{X}_{b}^{i}} p(y|z)\right] \le \tilde{C}$ (eq. (16)), the generalized mutual information;
  • the CM cutoff rate (eq. (17)), in closed form, cm_cutoff_rate, $\tilde{R}{0} = m - \log{2} \frac{1}{M} \sum_{x, z} \mathbb{E}_{g}, e^{-|g|^{2} |x - z|^{2} / (4\sigma^{2})}$, where the mean over Rayleigh fading is $1 / (1 + |x - z|^{2} / (4\sigma^{2}))$;
  • the BICM cutoff rate (eqs. (19), (21)), bicm_cutoff_rate, $\hat{R}{0} = m\left(1 - \log{2}(1 + B)\right)$ with the Bhattacharyya factor $B = \frac{1}{m} \sum_{i} \mathbb{E}{b,y}\sqrt{\sum{z \in \mathcal{X}{\bar{b}}^{i}} p(y|z) / \sum{z \in \mathcal{X}_{b}^{i}} p(y|z)}$.

The expectations over the noise use Gauss–Hermite quadrature with points nodes per real dimension (the paper uses Monte Carlo); the mean over Rayleigh fading is the integral over $u = \ln |g|^{2}$, of density $e^{u - e^{u}}$, by Simpson’s rule with a step of 1/8.

§Examples

use comnum_mapping::bicm::bicm_cutoff_rate;
use comnum_mapping::constellation::{Constellation, ConstellationKind};
use comnum_mapping::theory::{RateChannel, constellation_gmi, constellation_mi};
// 16-QAM at 10 dB: BICM with Gray labels loses little, with set partitioning much
let gray = Constellation::qam(16)?;
let sp = Constellation::set_partitioning(ConstellationKind::Qam, 16)?;
let cm = constellation_mi(&gray, 10.0, None, RateChannel::Awgn, 16)?;
let g = constellation_gmi(&gray, 10.0, None, RateChannel::Awgn, 16)?;
let s = constellation_gmi(&sp, 10.0, None, RateChannel::Awgn, 16)?;
assert!(cm > g && cm - g < 0.05 && g - s > 0.3);
// the cutoff rate lies below the capacity
assert!(bicm_cutoff_rate(&gray, 10.0, RateChannel::Awgn, 16)? < g);

§References

  1. G. Caire, G. Taricco and E. Biglieri, “Bit-interleaved coded modulation,” IEEE Trans. Inf. Theory, 44(3), 927–946, 1998.
  2. E. Zehavi, “8-PSK trellis codes for a Rayleigh channel,” IEEE Trans. Commun., 40(5), 873–884, 1992.

Functions§

bicm_cutoff_rate
The BICM cutoff rate (bits per channel use) of a labelled constellation with uniform inputs, eqs. (19) and (21) of Caire et al. 1998 (see the module).
cm_cutoff_rate
The CM cutoff rate (bits per channel use) of a constellation with uniform inputs, eq. (17) of Caire et al. 1998 in closed form (see the module).