衰落信道#
本模块包含 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