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 (ChannelState) – State of the channel at the time of sampling.
- 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
_propagate()
, applies the channelgain
and returns aChannelPropagation
instance. If not specified, the transmitter and receiver are assumed to be the devices linked by the channel instance that generated this realization, meaning the transmitter isalpha_device
and receiver isbeta_device
.- Parameters:
signal (DeviceOutput | Signal) – Signal model to be propagated.
interpolation_mode (InterpolationMode, optional) – 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: All information generated by the propagation.
- 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, optional) – 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: DeviceState¶
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: DeviceState¶
State of the transmitting device at the time of sampling.
- class CST¶
Type of channel sample.
alias of TypeVar(‘CST’, bound=
ChannelSample
)