pub struct NormalApproximation {
pub capacity: f64,
pub dispersion: f64,
pub half_log: bool,
}Expand description
The normal approximation of the coding rate at finite blocklength of a channel of
capacity capacity (bits per channel use) and dispersion dispersion (bits² per
channel use), with the term $\frac{1}{2}\log_{2} n$ when half_log (see the module).
Fields§
§capacity: f64The capacity $C$ (bits per channel use).
dispersion: f64The dispersion $V$ (bits² per channel use).
half_log: boolWhether the term $\frac{1}{2}\log_{2} n$ applies (all but the BEC).
Implementations§
Source§impl NormalApproximation
impl NormalApproximation
Sourcepub fn bsc(delta: f64) -> NormalApproximation
pub fn bsc(delta: f64) -> NormalApproximation
The binary symmetric channel of crossover probability delta.
Sourcepub fn bec(delta: f64) -> NormalApproximation
pub fn bec(delta: f64) -> NormalApproximation
The binary erasure channel of erasure probability delta.
Sourcepub fn awgn(snr_lin: f64) -> NormalApproximation
pub fn awgn(snr_lin: f64) -> NormalApproximation
The real AWGN channel of SNR snr_lin with Gaussian codebooks.
Sourcepub fn biawgn(noise_var: f64) -> NormalApproximation
pub fn biawgn(noise_var: f64) -> NormalApproximation
The binary-input AWGN channel of noise variance noise_var per dimension.
Sourcepub fn max_bits(&self, n: usize, eps: f64) -> f64
pub fn max_bits(&self, n: usize, eps: f64) -> f64
$\log_{2} M^{*}(n, \varepsilon)$: the largest number of information bits of a code of
length n at the block error probability eps.
Sourcepub fn block_error(&self, n: usize, k: usize) -> f64
pub fn block_error(&self, n: usize, k: usize) -> f64
The smallest block error probability of a code of length n carrying k bits.