衰落信道#

本模块包含 FadingChan 类,该类可用于模拟通过抽头延迟线 (TDL) 衰落信道的 OFDM 传输。该实现使用 GPU 加速。

class aerial.phy5g.chan_models.fading_chan.FadingChan#

衰落信道类。

此类实现衰落信道,该信道处理频率 Tx 样本并输出频率 Rx 样本。它包括 OFDM 调制、抽头延迟线 (TDL) 信道、OFDM 解调,并根据输入 SNR 添加噪声。

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

初始化 FadingChan 类。

  • cuphy_carrier_prms:信道的载波参数

  • tdl_config:TDL 信道的配置

  • freq_in:输入频率 tx

  • proc_sig_freq:在频域中处理信号将使用 TDL 类的 CFR 在频域上处理数据。如果存在 CFO,此模式可能不准确。

  • disable_noise:禁用加性高斯噪声

  • rand_seed:TDL 信道生成的随机种子

参数:
  • 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)

返回类型:

None

add_noise_with_snr(snr_db, enable_swap_tx_rx=False)#

向具有指定 SNR 的复信号添加高斯噪声。

参数:
  • snr_db (float) – 期望的信噪比,单位为分贝。

  • enable_swap_tx_rx (bool) – 交换 tx 和 rx 以使用 DL 类模拟 UL 信道。

返回值:

添加噪声后的频域信号。

返回类型:

np.ndarray

add_noise_with_snr_numpy(snr_db, enable_swap_tx_rx=False)#

向具有指定 SNR 的复信号添加高斯噪声。

参数:
  • snr_db (float) – 期望的信噪比,单位为分贝。

  • enable_swap_tx_rx (bool) – 交换 tx 和 rx 以使用 DL 类模拟 UL 信道。

  • pycuphy.GauNoiseAdder (此函数通过 add_noise_with_snr() 进行 GPU 加速,并且)

返回值:

添加噪声后的频域信号。

返回类型:

np.ndarray

dump_channel(freq_in=None)#

将 TDL 信道转储到 numpy 数组。

返回值:

包含两个 numpy 数组的元组 (cfr_sc, cfr_prbg)。

返回类型:

tuple

参数:

freq_in (numpy.ndarray | None)

get_genie_channel(freq_in=None, cfr_sc=None)#

需要对 rx-tx 天线对样本进行 ofdm 解调以获得理想信道

参数:
  • freq_in (numpy.ndarray | None)

  • cfr_sc (numpy.ndarray | None)

返回类型:

None

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

运行衰落信道。

参数:
  • tti_idx (int) – TTI 索引。

  • snr_db (float) – 信噪比,单位为 dB。

  • enable_swap_tx_rx (bool) – 交换 tx 和 rx 以使用 DL 类模拟 UL 信道。

  • continous_fading (bool) – 是否启用连续衰落。

  • freq_in (np.ndarray) – 频域输入样本。

  • tx_column_major_ind (bool)

返回值:

信道处理后的频域样本。

返回类型:

np.ndarray