Simulation

Channel models

class sdr.Channel

A base class for wireless channels.

class sdr.BinarySymmetricChannel(sdr.Channel)

Implements a binary symmetric channel (BSC).

class sdr.BinaryErasureChannel(sdr.Channel)

Implements a binary erasure channel (BEC).

class sdr.DiscreteMemorylessChannel(sdr.Channel)

Implements a discrete memoryless channel (DMC).

sdr.bsc(x: ArrayLike, p: float, ...) NDArray[int_]

Passes the binary input sequence \(x\) through a binary symmetric channel (BSC).

sdr.bec(x: ArrayLike, p: float, ...) NDArray[int_]

Passes the binary input sequence \(x\) through a binary erasure channel (BEC).

sdr.dmc(x: ArrayLike, P: ArrayLike, ...) NDArray[int_]

Passes the input sequence \(x\) through a discrete memoryless channel (DMC).

Signal impairments

sdr.awgn(x: ArrayLike, snr: float | None = None, ...) NDArray

Adds additive white Gaussian noise (AWGN) to the time-domain signal \(x[n]\).

sdr.iq_imbalance(x: ArrayLike, ...) NDArray[complex128]

Applies IQ imbalance to the complex time-domain signal \(x[n]\).

sdr.sample_rate_offset(x: ArrayLike, offset: float, ...) NDArray

Applies a sample rate offset to the time-domain signal \(x[n]\).

sdr.frequency_offset(x: ArrayLike, offset, ...) NDArray

Applies a frequency and phase offset to the time-domain signal \(x[n]\).


Last update: Jul 27, 2023