BaseChannelEstimator#

class sionna.phy.ofdm.BaseChannelEstimator(resource_grid: sionna.phy.ofdm.resource_grid.ResourceGrid, precision: Literal['single', 'double'] | None = None, device: str | None = None, **kwargs)[source]#

Bases: sionna.phy.block.Block

Abstract block for implementing an OFDM channel estimator.

Any block that implements an OFDM channel estimator must implement this class and its call() abstract method.

This class calls the call() method to estimate the channel for the entire resource grid.

Parameters:
Inputs:
  • y – [batch_size, num_rx, num_rx_ant, num_ofdm_symbols, fft_size], torch.complex. Observed signals.

  • no – [batch_size, num_rx, num_rx_ant] or only the first n>=0 dims, torch.float. Variance of the AWGN.

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 variance across the entire resource grid for all transmitters and streams.