LinearInterpolator#

class sionna.phy.ofdm.LinearInterpolator(pilot_pattern, time_avg: bool = False)[source]#

Bases: sionna.phy.ofdm.channel_estimation.BaseChannelInterpolator

Linear channel estimate interpolation on a resource grid.

This class computes for each element of an OFDM resource grid a channel estimate based on num_pilots provided channel estimates and error variances through linear interpolation. It is assumed that the measurements were taken at the nonzero positions of a PilotPattern.

The interpolation is done first across sub-carriers and then across OFDM symbols.

Parameters:
  • pilot_pattern – Used pilot pattern

  • time_avg (bool) – If enabled, 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.

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, fft_size], 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.