Aerial CUDA-Accelerated RAN
Aerial CUDA-Accelerated RAN 24-3

Fading channel

This module contains the FadingChan class which can be used to simulate OFDM transmission through a tapped delay line (TDL) fading channel. The implementation is using GPU acceleration.

class aerial.phy5g.chan_models.fading_chan.FadingChan

Fading channel class.

This class implements the fading channel that processes the frequency Tx samples and outputs frequency Rx samples. It includes OFDM modulation, tapped delay line (TDL) channel, OFDM demodulation, and adds noise based on input SNR.

__init__(cuphy_carrier_prms, tdl_cfg, freq_in, proc_sig_freq=False, disable_noise=False, rand_seed=0)

Initialize the FadingChan class.

  • cuphy_carrier_prms: carrier parameters for the channel

  • tdl_config: configuration of TDL channel

  • freq_in: input frequency tx

  • proc_sig_freq: processing signal in freq domain will use the CFR from TDL class to process data on frequency domain. This mode may be inaccurate if CFO presents.

  • disable_noise: disable additive Gaussian noise

  • rand_seed: random seed for TDL channel generation

Parameters
  • cuphy_carrier_prms (aerial.pycuphy.CuphyCarrierPrms) –

  • tdl_cfg (aerial.pycuphy.TdlConfig) –

  • freq_in (numpy.ndarray) –

  • proc_sig_freq (bool) –

  • disable_noise (bool) –

  • rand_seed (int) –

Return type

None

add_noise_with_snr(snr_db, enable_swap_tx_rx=False)

Add Gaussian noise to a complex signal with a specified SNR.

Parameters
  • snr_db (float) – Desired Signal-to-Noise Ratio in decibels.

  • enable_swap_tx_rx (bool) – Swap tx and rx to simulate UL channel using DL class.

Returns

The frequency-domain signal with noise added.

Return type

np.ndarray

add_noise_with_snr_numpy(snr_db, enable_swap_tx_rx=False)

Add Gaussian noise to a complex signal with a specified SNR.

Parameters
  • snr_db (float) – Desired Signal-to-Noise Ratio in decibels.

  • enable_swap_tx_rx (bool) – Swap tx and rx to simulate UL channel using DL class.

  • pycuphy.GauNoiseAdder (This function is GPU-accelerated by add_noise_with_snr() and) –

Returns

The frequency-domain signal with noise added.

Return type

np.ndarray

dump_channel(freq_in=None)

Dump TDL channel to numpy arrays.

Returns

A tuple containing two numpy arrays (cfr_sc, cfr_prbg).

Return type

tuple

Parameters

freq_in (Optional[numpy.ndarray]) –

get_genie_channel(freq_in=None, cfr_sc=None)

need to do ofdm demodulation of the rx-tx ant pair sample to get genie channel

Parameters
  • freq_in (Optional[numpy.ndarray]) –

  • cfr_sc (Optional[numpy.ndarray]) –

Return type

None

run(tti_idx, snr_db, enable_swap_tx_rx=False, continous_fading=True, tx_column_major_ind=False, freq_in=None)

Run the fading channel.

Parameters
  • tti_idx (int) – TTI index.

  • snr_db (float) – Signal-to-Noise Ratio in dB.

  • enable_swap_tx_rx (bool) – Swap tx and rx to simulate UL channel using DL class.

  • continous_fading (bool) – Whether enable continuous fading.

  • freq_in (np.ndarray) – Frequency domain input samples.

  • tx_column_major_ind (bool) –

Returns

Frequency domain samples after channel processing.

Return type

np.ndarray

Previous LDPC 5G
Next Parameter classes
© Copyright 2024-2025, NVIDIA. Last updated on Jan 10, 2025.