NearestNeighborInterpolator#

class sionna.phy.ofdm.NearestNeighborInterpolator(pilot_pattern)[source]#

Bases: sionna.phy.ofdm.channel_estimation.BaseChannelInterpolator

Nearest-neighbor channel estimate interpolation on a resource grid.

This class assigns to each element of an OFDM resource grid one of num_pilots provided channel estimates and error variances according to the nearest neighbor method. It is assumed that the measurements were taken at the nonzero positions of a PilotPattern.

The figure below shows how four channel estimates are interpolated across a resource grid. Grey fields indicate measurement positions while the colored regions show which resource elements are assigned to the same measurement value.

phy/api/figures/nearest_neighbor_interpolation.png
Parameters:

pilot_pattern – Used pilot pattern.

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.