LDPC Noise Channels
The channel types record the parameters of the standard binary-input channels and provide their capacities and log-likelihood ratios. transmit draws a channel realization, which is the input the soft-decision decoders expect.
The LDPC ensemble types also live in this file group: an LDPCEnsemble is described by its degree distributions rather than by a specific matrix, and a METEnsemble is the multi-edge-type generalization, where edges are sorted into classes so that different sockets of a variable node can attach to different classes of check node. The analysis routines that consume them are in Analysis.
CodingTheory.crossover_probability — Method
crossover_probability(Ch::BinarySymmetricChannel) -> Float64
Return the crossover probability of the binary symmetric channel.
CodingTheory.erasure_probability — Method
erasure_probability(Ch::BinaryErasureChannel) -> Float64
Return the erasure probability of the binary erasure channel.
CodingTheory.llr — Method
llr(
Ch::BinaryErasureChannel,
y::AbstractVector{Int64}
) -> Any
Convert a received channel sequence y into Log-Likelihood Ratios (LLRs).
CodingTheory.llr — Method
llr(
Ch::RayleighFadingChannel,
received::Tuple{Vector{Float64}, Vector{Float64}}
) -> Vector{Float64}
Return the exact log-likelihood ratios (LLRs) for a received Rayleigh fading signal, where received is the tuple (y, a) returned by transmit.
CodingTheory.llr — Method
llr(
Ch::ZChannel,
received::Vector{Int64}
) -> Vector{Float64}
Return the exact log-likelihood ratios (LLRs) for a received Z-channel signal.
CodingTheory.standard_deviation — Method
standard_deviation(Ch::BAWGNChannel) -> Float64
Return the standard deviation of the BAWGN channel.
CodingTheory.transmit — Method
transmit(
Ch::BinaryErasureChannel,
x::AbstractVector{Int64}
) -> Any
Transmit a binary vector x through the channel, returning the corrupted vector y.
CodingTheory.transmit — Method
transmit(
Ch::RayleighFadingChannel,
codeword::Vector{Int64}
) -> Tuple{Vector{Float64}, Vector{Float64}}
Simulate transmitting a binary codeword over a Rayleigh Fading Channel using BPSK. Return a tuple (y, a) where y is the received signal and a is the channel state information (fading coefficients).
CodingTheory.transmit — Method
transmit(
Ch::ZChannel,
codeword::Vector{Int64}
) -> Vector{Int64}
Simulate transmitting a binary codeword over a Z-Channel.
CodingTheory.variance — Method
variance(Ch::BAWGNChannel) -> Float64
Return the variance of the BAWGN channel.
DataStructures.capacity — Method
capacity(Ch::BAWGNChannel) -> Float64
Return the exact BPSK-constrained capacity of the BAWGN channel via numerical integration.
DataStructures.capacity — Method
capacity(Ch::BinaryErasureChannel) -> Float64
Return the capacity of the noise channel.
DataStructures.capacity — Method
capacity(Ch::RayleighFadingChannel) -> Any
Return the Ergodic Shannon capacity of the Rayleigh Fading channel assuming BPSK modulation.
DataStructures.capacity — Method
capacity(Ch::ZChannel) -> Float64
Return the exact Shannon capacity of the Z-Channel.
CodingTheory.AbstractLDPCFamily — Type
Union alias for the supported LDPC ensemble representations, LDPCEnsemble and METEnsemble.
CodingTheory.AbstractChannel — Type
abstract type AbstractChannelRoot type for communication-channel models used by decoders and density evolution.
CodingTheory.AbstractContinuousChannel — Type
abstract type AbstractContinuousChannel <: CodingTheory.AbstractChannelSupertype for channels with continuous-valued outputs.
CodingTheory.AbstractDiscreteChannel — Type
abstract type AbstractDiscreteChannel <: CodingTheory.AbstractChannelSupertype for channels with discrete input and output alphabets.
CodingTheory.AbstractLDPCCode — Type
abstract type AbstractLDPCCode <: AbstractLinearCodeSupertype for linear low-density parity-check code representations.
CodingTheory.BAWGNChannel — Type
struct BAWGNChannel <: AbstractContinuousChannelBinary-Input Additive White Gaussian Noise (BIAWGN) Channel, defined by noise standard deviation σ. Also available as BAWGNC.
CodingTheory.BinaryErasureChannel — Type
struct BinaryErasureChannel <: AbstractDiscreteChannelBinary Erasure Channel (BEC) with erasure probability ε. Also available as BEC.
CodingTheory.BinarySymmetricChannel — Type
struct BinarySymmetricChannel <: AbstractDiscreteChannelBinary Symmetric Channel (BSC) with crossover probability p. Also available as BSC.
CodingTheory.METEnsemble — Type
struct METEnsembleA structural representation of a Multi-Edge Type (MET) LDPC Ensemble.
CodingTheory.RayleighFadingChannel — Type
struct RayleighFadingChannel <: AbstractContinuousChannelA Rayleigh-fading channel with base noise standard deviation param.
CodingTheory.ZChannel — Type
struct ZChannel <: AbstractDiscreteChannelA binary Z-channel with transition probability param.