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.Object

Abstract 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, precision is used.

  • device (str | None) – Device for tensor operations. If None, device is 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.