Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
nearlink-sdr 1.0.9 文档
nearlink-sdr 1.0.9 文档
  • 快速入门
  • 操作指南
    • 运行链路仿真
    • 添加新的调制方式
    • QoS 服务质量管理
    • 使用 SLE 节点实体
    • Rust 加速模块
    • SDR E310 部署规划
    • 构建文档
  • 技术参考
    • nearlink_sdr
      • nearlink_sdr.mac
        • nearlink_sdr.mac.access
        • nearlink_sdr.mac.broadcast
        • nearlink_sdr.mac.crypto
        • nearlink_sdr.mac.frame
        • nearlink_sdr.mac.link_control
        • nearlink_sdr.mac.link_manager
        • nearlink_sdr.mac.power_control
        • nearlink_sdr.mac.qos
        • nearlink_sdr.mac.scheduler
        • nearlink_sdr.mac.security
        • nearlink_sdr.mac.security_manager
        • nearlink_sdr.mac.signaling
        • nearlink_sdr.mac.smf
        • nearlink_sdr.mac.smf_scheduler
      • nearlink_sdr.sim
        • nearlink_sdr.sim.link_sim
        • nearlink_sdr.sim.usrp_sim
      • nearlink_sdr.common
        • nearlink_sdr.common.bch
        • nearlink_sdr.common.code_block_seg
        • nearlink_sdr.common.crc
        • nearlink_sdr.common.m_sequence
        • nearlink_sdr.common.mcs
        • nearlink_sdr.common.polar
        • nearlink_sdr.common.prbs
        • nearlink_sdr.common.scrambler
      • nearlink_sdr.phy
        • nearlink_sdr.phy.channel
        • nearlink_sdr.phy.control_info
        • nearlink_sdr.phy.data_link
        • nearlink_sdr.phy.equalizer
        • nearlink_sdr.phy.frame
        • nearlink_sdr.phy.freq_hopping
        • nearlink_sdr.phy.gfsk
        • nearlink_sdr.phy.mac_interface
        • nearlink_sdr.phy.measurement
        • nearlink_sdr.phy.measurement_frame
        • nearlink_sdr.phy.measurement_tx
        • nearlink_sdr.phy.mock_backend
        • nearlink_sdr.phy.multitone
        • nearlink_sdr.phy.pilot
        • nearlink_sdr.phy.pluto_backend
        • nearlink_sdr.phy.preamble
        • nearlink_sdr.phy.psk
        • nearlink_sdr.phy.rf_compliance
        • nearlink_sdr.phy.rx_pipeline
        • nearlink_sdr.phy.sdr_backend
        • nearlink_sdr.phy.sync_sequence
        • nearlink_sdr.phy.tx_pipeline
        • nearlink_sdr.phy.uhd_backend
        • nearlink_sdr.phy.usrp
        • nearlink_sdr.phy.uwb_measurement_security
        • nearlink_sdr.phy.uwb_pulse
      • nearlink_sdr.node
  • 设计说明
    • SparkLink SLE 协议总览
    • 物理层原理
    • 物理层详解
    • MAC 层详解
    • 安全子系统详解
    • 端到端数据流
    • 系统架构
    • 标准条款映射
  • 更新日志
  • API Reference
    • nearlink_sdr
      • nearlink_sdr.mac
        • nearlink_sdr.mac.access
        • nearlink_sdr.mac.broadcast
        • nearlink_sdr.mac.crypto
        • nearlink_sdr.mac.frame
        • nearlink_sdr.mac.link_control
        • nearlink_sdr.mac.link_manager
        • nearlink_sdr.mac.power_control
        • nearlink_sdr.mac.qos
        • nearlink_sdr.mac.scheduler
        • nearlink_sdr.mac.security
        • nearlink_sdr.mac.security_manager
        • nearlink_sdr.mac.signaling
        • nearlink_sdr.mac.smf
        • nearlink_sdr.mac.smf_scheduler
      • nearlink_sdr.sim
        • nearlink_sdr.sim.link_sim
        • nearlink_sdr.sim.usrp_sim
      • nearlink_sdr.common
        • nearlink_sdr.common.bch
        • nearlink_sdr.common.code_block_seg
        • nearlink_sdr.common.crc
        • nearlink_sdr.common.m_sequence
        • nearlink_sdr.common.mcs
        • nearlink_sdr.common.polar
        • nearlink_sdr.common.prbs
        • nearlink_sdr.common.scrambler
      • nearlink_sdr.phy
        • nearlink_sdr.phy.channel
        • nearlink_sdr.phy.control_info
        • nearlink_sdr.phy.data_link
        • nearlink_sdr.phy.equalizer
        • nearlink_sdr.phy.frame
        • nearlink_sdr.phy.freq_hopping
        • nearlink_sdr.phy.gfsk
        • nearlink_sdr.phy.mac_interface
        • nearlink_sdr.phy.measurement
        • nearlink_sdr.phy.measurement_frame
        • nearlink_sdr.phy.measurement_tx
        • nearlink_sdr.phy.mock_backend
        • nearlink_sdr.phy.multitone
        • nearlink_sdr.phy.pilot
        • nearlink_sdr.phy.pluto_backend
        • nearlink_sdr.phy.preamble
        • nearlink_sdr.phy.psk
        • nearlink_sdr.phy.rf_compliance
        • nearlink_sdr.phy.rx_pipeline
        • nearlink_sdr.phy.sdr_backend
        • nearlink_sdr.phy.sync_sequence
        • nearlink_sdr.phy.tx_pipeline
        • nearlink_sdr.phy.uhd_backend
        • nearlink_sdr.phy.usrp
        • nearlink_sdr.phy.uwb_measurement_security
        • nearlink_sdr.phy.uwb_pulse
      • nearlink_sdr.node
Back to top
View this page

nearlink_sdr.phy.channel¶

TXS-10002-2025 信道模型: AWGN / Rayleigh / Rician / 多径频率选择性衰落 / Doppler 时变 / 多用户干扰。

SparkLink SLE 工作于 2.4 GHz ISM 频段,典型场景为室内短距通信。 参考 IEEE 802.15.4 / ITU-R P.1238 室内信道参数:

  • RMS 时延扩展: 10 ~ 50 ns

  • Rician K 因子: 3 ~ 10 dB (视距)

  • 最大多普勒频移: < 50 Hz (行人速度)

Doppler 时变信道采用 Jakes 求和正弦模型, 生成具有经典 U 形功率谱密度的 时间相关衰落序列, 自相关函数为 J₀(2π·f_d·Δt)。

多用户干扰模型支持同信道干扰和邻信道干扰, 基于 TXS-10002-2025 标准 第 8.3.2 条接收机选择性要求。

Module Contents¶

Classes¶

ChannelConfig

信道配置参数。

ChannelModel

多模信道模型,支持 AWGN / 平坦衰落 / 频率选择性衰落。

InterferenceConfig

干扰源配置。

Functions¶

add_interference

向信号叠加多个干扰源。

compute_sinr

计算 SINR (dB)。

Data¶

PDP_2TAP

PDP_INDOOR_OFFICE

API¶

nearlink_sdr.phy.channel.PDP_2TAP¶

[(0, 0.0), (1,)]

nearlink_sdr.phy.channel.PDP_INDOOR_OFFICE¶

[(0, 0.0), (1,), (2,), (3,), (4,), (5,)]

class nearlink_sdr.phy.channel.ChannelConfig[源代码]¶

信道配置参数。

变量:
  • snr_db -- 信噪比 (dB)。

  • channel_type -- "awgn" | "rayleigh" | "rician" | "multipath"。

  • rician_k_db -- Rician K 因子 (dB), 仅 "rician" 模式使用。

  • pdp -- 功率时延谱 [(delay_samples, power_dB), ...], 仅 "multipath" 使用。

  • max_doppler_hz -- 最大多普勒频移 (Hz)。0 表示准静态。

  • symbol_rate_hz -- 符号速率 (Hz), 用于计算归一化 Doppler 频移。

  • n_sinusoids -- Jakes 模型正弦分量数, 值越大频谱越精确。

  • seed -- 随机种子。

snr_db: float¶

10.0

channel_type: str¶

'awgn'

rician_k_db: float¶

6.0

pdp: list[tuple[int, float]]¶

'field(...)'

max_doppler_hz: float¶

0.0

symbol_rate_hz: float¶

1000000.0

n_sinusoids: int¶

16

seed: int | None¶

None

class nearlink_sdr.phy.channel.ChannelModel(snr_db: float = 10.0, config: nearlink_sdr.phy.channel.ChannelConfig | None = None)[源代码]¶

多模信道模型,支持 AWGN / 平坦衰落 / 频率选择性衰落。

Initialization

apply_awgn(signal: numpy.ndarray) → numpy.ndarray[源代码]¶

仅加 AWGN 噪声 (保持向后兼容)。

apply_fading(signal: numpy.ndarray) → numpy.ndarray[源代码]¶

按 config 类型应用衰落 + AWGN, 同时缓存信道系数到 last_taps。

property last_taps: numpy.ndarray | None¶

上一次 apply_fading 使用的信道系数, 供均衡器使用。

get_channel_taps(n_symbols: int) → numpy.ndarray[源代码]¶

返回信道抽头系数矩阵 (n_taps × n_symbols), 用于均衡器。

对于平坦衰落: 返回 (1, n_symbols)。 对于多径: 返回 (max_delay+1, n_symbols)。

property noise_variance: float¶

AWGN 噪声方差 (单边, 假设单位信号功率)。

doppler_autocorrelation(n: int, max_lag: int = 64) → numpy.ndarray[源代码]¶

计算 Jakes 衰落序列的归一化自相关函数, 用于验证 J₀ 特性。

返回长度为 max_lag 的实数数组, r[k] = Re{E[h(n)·h*(n+k)]} / E[|h|²]。

theoretical_autocorrelation(max_lag: int = 64) → numpy.ndarray[源代码]¶

理论自相关函数 J₀(2π·f_d·k/f_s), 供对比验证。

class nearlink_sdr.phy.channel.InterferenceConfig[源代码]¶

干扰源配置。

变量:
  • sir_db -- 信号与干扰功率比 (dB), 即 S/I。

  • freq_offset_hz -- 干扰信号中心频率相对有用信号的偏移 (Hz)。 0 表示同信道干扰。

  • interferer_bw_hz -- 干扰信号带宽 (Hz), 用于频谱成型。 0 表示与有用信号相同带宽 (不做滤波)。

  • seed -- 随机种子。

sir_db: float¶

10.0

freq_offset_hz: float¶

0.0

interferer_bw_hz: float¶

0.0

seed: int | None¶

None

nearlink_sdr.phy.channel.add_interference(signal: numpy.ndarray, interferers: list[nearlink_sdr.phy.channel.InterferenceConfig], sample_rate_hz: float = 1000000.0, rng: numpy.random.Generator | None = None) → numpy.ndarray[源代码]¶

向信号叠加多个干扰源。

每个干扰源独立生成与有用信号等长的随机 IQ 序列, 按 SIR 缩放后叠加。 支持同信道和邻信道干扰 (通过频率偏移实现)。

参数:
  • signal -- 有用信号 (复数 IQ)。

  • interferers -- 干扰源配置列表。

  • sample_rate_hz -- 采样率 (Hz)。

  • rng -- 可选随机数生成器。

返回:

叠加干扰后的信号。

nearlink_sdr.phy.channel.compute_sinr(signal: numpy.ndarray, noise_signal: numpy.ndarray, interference_signal: numpy.ndarray) → float[源代码]¶

计算 SINR (dB)。

参数:
  • signal -- 纯净有用信号。

  • noise_signal -- 含噪声的接收信号 (信号+噪声, 不含干扰)。

  • interference_signal -- 干扰叠加后的接收信号 (信号+噪声+干扰)。

返回:

SINR (dB)。

Next
nearlink_sdr.phy.control_info
Previous
nearlink_sdr.phy
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • nearlink_sdr.phy.channel
    • Module Contents
      • Classes
      • Functions
      • Data
      • API
        • PDP_2TAP
        • PDP_INDOOR_OFFICE
        • ChannelConfig
          • ChannelConfig.snr_db
          • ChannelConfig.channel_type
          • ChannelConfig.rician_k_db
          • ChannelConfig.pdp
          • ChannelConfig.max_doppler_hz
          • ChannelConfig.symbol_rate_hz
          • ChannelConfig.n_sinusoids
          • ChannelConfig.seed
        • ChannelModel
          • ChannelModel.apply_awgn()
          • ChannelModel.apply_fading()
          • ChannelModel.last_taps
          • ChannelModel.get_channel_taps()
          • ChannelModel.noise_variance
          • ChannelModel.doppler_autocorrelation()
          • ChannelModel.theoretical_autocorrelation()
        • InterferenceConfig
          • InterferenceConfig.sir_db
          • InterferenceConfig.freq_offset_hz
          • InterferenceConfig.interferer_bw_hz
          • InterferenceConfig.seed
        • add_interference()
        • compute_sinr()