BaseChannelInterpolator#
- class sionna.phy.ofdm.BaseChannelInterpolator(time_avg: bool = False, precision: Literal['single', 'double'] | None = None, device: str | None = None, **kwargs)[source]#
Bases:
sionna.phy.object.ObjectAbstract class for implementing an OFDM channel interpolator.
Any class that implements an OFDM channel interpolator must implement this callable class.
A channel interpolator may be used by an OFDM channel estimator (e.g.,
BasePilotChannelEstimator) to compute channel estimates for the data-carrying resource elements from the channel estimates for the pilot-carrying resource elements.Unless time averaging is enabled, an interpolator must preserve the input channel estimates and error variances at the corresponding pilot locations.
When time_avg is True, frequency-interpolated channel estimates at pilot-bearing OFDM symbols are averaged and the resulting estimate is used for every OFDM symbol.
- Parameters:
time_avg (bool) – If True, measurements will be averaged across OFDM symbols (i.e., time). This is useful for channels that do not vary substantially over the duration of an OFDM frame. Defaults to False.
precision (Literal['single', 'double'] | None) – Precision used for internal calculations and outputs. If set to None,
precisionis used.device (str | None) – Device for tensor operations. If None,
deviceis used.
- Inputs:
h_hat – [batch_size, num_rx, num_rx_ant, num_tx, num_streams_per_tx, num_pilot_symbols], torch.complex. Channel estimates for the pilot-carrying resource elements.
err_var – [batch_size, num_rx, num_rx_ant, num_tx, num_streams_per_tx, num_pilot_symbols], torch.float. Channel estimation error variances for the pilot-carrying resource elements.
- Outputs:
h_hat – [batch_size, num_rx, num_rx_ant, num_tx, num_streams_per_tx, num_ofdm_symbols, num_effective_subcarriers], torch.complex. Channel estimates across the entire resource grid for all transmitters and streams.
err_var – Same shape as
h_hat, torch.float. Channel estimation error variances across the entire resource grid for all transmitters and streams.