Channel Sample¶

- class ChannelSample(state)[source]¶
Bases:
object
Immutable sample of a wireless channel model in time and space.
Channel samples represent the channel state at a given point in time and two distinct observation points at transmitter and receiver in three-dimensional space.
- Parameters:
state (
LinkState
) – State of the channel at the time of sampling.
- abstract _propagate(signal, interpolation)[source]¶
Propagate radio-frequency band signals over a channel instance.
Abstract subroutine of
propagate
.- Parameters:
signal (
SignalBlock
) – The signal block to be propagated.interpolation (
InterpolationMode
) – Interpolation behaviour of the channel realization’s delay components with respect to the proagated signal’s sampling rate.
- Return type:
Returns: The propagated signal.
- propagate(signal, interpolation_mode=InterpolationMode.NEAREST)[source]¶
Propagate a signal model over this realization.
Let
\[\mathbf{X} = \left[ \mathbf{x}^{(0)}, \mathbf{x}^{(1)},\, \dots,\, \mathbf{x}^{(M_\mathrm{Tx} - 1)} \right] \in \mathbb{C}^{N_\mathrm{Tx} \times M_\mathrm{Tx}}\]be the signal transmitted by transmitter and
\[\mathbf{Y} = \left[ \mathbf{y}^{(0)}, \mathbf{y}^{(1)},\, \dots,\, \mathbf{x}^{(M_\mathrm{Rx} - 1)} \right] \in \mathbb{C}^{N_\mathrm{Rx} \times M_\mathrm{Rx}}\]the reception of receiver, this method implements the channel propagation equation
\[\mathbf{y}^{(m)} = \sum_{\tau = 0}^{m} \mathbf{H}^{(m, \tau)} \mathbf{x}^{(m-\tau)} \ \text{.}\]It wraps
ChannelSample._propagate
and returns aSignal
instance.- Parameters:
signal (
DeviceOutput
|Signal
) – Signal model to be propagated.interpolation_mode (
InterpolationMode
) – Interpolation behaviour of the channel realization’s delay components with respect to the proagated signal’s sampling rate. If not specified, an integer rounding to the nearest sampling instance will be assumed.
- Return type:
Returns: The propagated signal samples.
- abstract state(num_samples, max_num_taps, interpolation_mode=InterpolationMode.NEAREST)[source]¶
Generate the discrete channel state information from this channel realization.
Denoted by
\[\mathbf{H}^{(m, \tau)} \in \mathbb{C}^{N_{\mathrm{Rx}} \times N_{\mathrm{Tx}}}\]within the respective equations.
- Parameters:
num_samples (
int
) – Number of discrete time-domain samples of the chanel state information.max_num_taps (
int
) – Maximum number of delay taps considered per discrete time-domain sample.interpolation_mode (
InterpolationMode
) – Interpolation behaviour of the channel realization’s delay components with respect to the proagated signal’s sampling rate. If not specified, an integer rounding to the nearest sampling instance will be assumed.
- Return type:
Returns: The channel state information representing this channel realization.
- abstract property expected_energy_scale: float¶
Expected linear scaling of a propagated signal’s energy at each receiving antenna.
Required to compute the expected energy of a signal after propagation, and therfore signal-to-noise ratios (SNRs) and signal-to-interference-plus-noise ratios (SINRs).
- property receiver_antennas: AntennaArrayState¶
Antenna array model of the receiver.
- property receiver_pose: Transformation¶
Global position and orientation of the receiver.
- property receiver_state: SimulatedDeviceState¶
State of the receiving device at the time of sampling.
- property transmitter_antennas: AntennaArrayState¶
Antenna array model of the transmitter.
- property transmitter_pose: Transformation¶
Global position and orientation of the transmitter.
- property transmitter_state: SimulatedDeviceState¶
State of the transmitting device at the time of sampling.
- class CST¶
Type of channel sample.
alias of TypeVar(‘CST’, bound=
ChannelSample
)