ChannelModel#
- class sionna.phy.channel.ChannelModel(precision: str | None = None, device: str | None = None, **kwargs)[source]#
Bases:
sionna.phy.object.ObjectAbstract class that defines an interface for channel models.
Any channel model which generates channel impulse responses must implement this interface. All the channel models available in Sionna, such as
RayleighBlockFadingorTDL, implement this interface.Remark: Some channel models only require a subset of the input parameters.
- Parameters:
- Inputs:
batch_size – int. Batch size.
num_time_steps – int. Number of time steps.
sampling_frequency – float. Sampling frequency [Hz].
- Outputs:
a – [batch size, num_rx, num_rx_ant, num_tx, num_tx_ant, num_paths, num_time_steps], torch.complex. Path coefficients.
tau – [batch size, num_rx, num_tx, num_paths], torch.float. Path delays [s].
Examples
from sionna.phy.channel import RayleighBlockFading channel_model = RayleighBlockFading( num_rx=1, num_rx_ant=1, num_tx=1, num_tx_ant=1 ) a, tau = channel_model(batch_size=64, num_time_steps=1, sampling_frequency=1e6) print(a.shape) # torch.Size([64, 1, 1, 1, 1, 1, 1]) print(tau.shape) # torch.Size([64, 1, 1, 1])