anomaly-detection-material-parameters-calibration

Sionna param calibration (research proj)
git clone https://git.ea.contact/anomaly-detection-material-parameters-calibration
Log | Files | Refs | README

channel_model.py (1290B)


      1 #
      2 # SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
      3 # SPDX-License-Identifier: Apache-2.0
      4 #
      5 """Abstract class proving an interface for channel models"""
      6 
      7 from abc import ABC, abstractmethod
      8 
      9 class ChannelModel(ABC):
     10     # pylint: disable=line-too-long
     11     r"""ChannelModel()
     12 
     13     Abstract class that defines an interface for channel models.
     14 
     15     Any channel model which generates channel impulse responses must implement this interface.
     16     All the channel models available in Sionna, such as :class:`~sionna.channel.RayleighBlockFading` or :class:`~sionna.channel.tr38901.TDL`, implement this interface.
     17 
     18     *Remark:* Some channel models only require a subset of the input parameters.
     19 
     20     Input
     21     -----
     22 
     23     batch_size : int
     24         Batch size
     25 
     26     num_time_steps : int
     27         Number of time steps
     28 
     29     sampling_frequency : float
     30         Sampling frequency [Hz]
     31 
     32     Output
     33     -------
     34     a : [batch size, num_rx, num_rx_ant, num_tx, num_tx_ant, num_paths, num_time_steps], tf.complex
     35         Path coefficients
     36 
     37     tau : [batch size, num_rx, num_tx, num_paths], tf.float
     38         Path delays [s]
     39     """
     40 
     41     @abstractmethod
     42     def __call__(self,  batch_size, num_time_steps, sampling_frequency):
     43 
     44         return NotImplemented