Channels#
- class AWGN(value: float = 1.0, unit: Literal['sigma2', 'snr', 'snr_dB', 'snr_dBm'] = 'sigma2', sigma2s: float = 1.0, sigma2s_method: Literal['fixed', 'measured'] = 'fixed', seed: int = None, name: str = 'awgn')#
A class representing an Additive White Gaussian Noise (AWGN) channel.
This class models an AWGN channel, which adds complex Gaussian noise to a signal. It is characterized by a noise power specified by sigma squared (sigma2).
Signal Model#
\[y_u[n] = x_u[n] + b_u[n]\]where:
\(b[n]\sim \mathcal{N}(0, \sigma^2)\) is a Gaussian additive noise.
For complex signals, a circular Gaussian noise is applied to the signal. The value of \(\sigma^2\) is computed with respect to the method specified as input.
Attributes#
- valuefloat, optional
The value associated with the given method. Defaut is 1
- unitstr, optional
The unit to compute the noise power (“nat”, “dB”, “dBm”). Default is “var_nat”
- sigma2sfloat, optional
Signal power. default is 1
- seedint, optional
The seed for the noise generator.
- estimate_sigma2sbool
Whether to estimate the signal power.
- namestr
Name of the channel instance.
- class FIRChannel(h: array, mode: Literal['full', 'same', 'valid'] = 'full', is_mimo: bool = False, name: str = 'fir')#
Finite Impulse Response (FIR) channel with given impulse response.
Signal Model#
The output signal \(y[n]\) is computed as the convolution of the input signal \(x[n]\) with the impulse response \(h[l]\):
\[y[n] = \sum_{l=0}^{L-1} h[l] x[n-l]\]where:
\(h[l]\) is the impulse response of the channel.
\(L\) is the length of the impulse response.
Attributes#
- hnp.ndarray
The impulse response of the FIR channel. This should be a 1-dimensional numpy array.
- namestr, optional
The name of the channel instance (default is “fir”).