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.sdr_backend¶

SDR 硬件后端抽象层。

定义与具体 SDR 硬件无关的统一接口, 支持 UHD (USRP), pyadi-iio (PlutoSDR/ANTSDR), Mock (无硬件仿真) 三种后端。所有后端实现 SDRDevice 接口后即可接入 SLETransceiver。

Module Contents¶

Classes¶

SDRConfig

SDR 设备配置参数 (后端无关)。

SDRDevice

SDR 设备抽象基类。

Functions¶

create_device

根据配置创建对应的 SDR 设备实例。

API¶

class nearlink_sdr.phy.sdr_backend.SDRConfig[源代码]¶

SDR 设备配置参数 (后端无关)。

变量:
  • backend -- 后端类型 ("uhd" / "pluto" / "mock")。

  • device_args -- 设备地址参数。UHD: 如 "addr=192.168.10.2"; Pluto: 如 "ip:192.168.2.1"。

  • channel_num -- SLE 射频信道号。

  • band -- 频段标识 ("2400" / "5100" / "5800")。

  • sample_rate_hz -- 采样率 (Hz)。

  • rx_gain_db -- 接收增益 (dB)。

  • tx_gain_db -- 发射增益 (dB)。

  • bandwidth_hz -- 前端模拟滤波器带宽 (Hz), 0 表示自动。

  • rx_antenna -- 接收天线端口名称。

  • tx_antenna -- 发射天线端口名称。

  • stream_timeout_s -- 流操作超时时间 (秒)。

  • rx_buffer_size -- 接收缓冲区大小 (样本数)。

backend: str¶

'mock'

device_args: str = <Multiline-String>¶
channel_num: int¶

0

band: str¶

None

sample_rate_hz: float¶

1000000.0

rx_gain_db: float¶

30.0

tx_gain_db: float¶

20.0

bandwidth_hz: float¶

0.0

rx_antenna: str = <Multiline-String>¶
tx_antenna: str = <Multiline-String>¶
stream_timeout_s: float¶

3.0

rx_buffer_size: int¶

4096

property center_freq_hz: float¶

根据信道号和频段计算中心频率 (Hz)。

class nearlink_sdr.phy.sdr_backend.SDRDevice(config: nearlink_sdr.phy.sdr_backend.SDRConfig)[源代码]¶

Bases: abc.ABC

SDR 设备抽象基类。

所有后端 (UHD, Pluto, Mock) 必须实现此接口。

Initialization

property config: nearlink_sdr.phy.sdr_backend.SDRConfig¶
abstractmethod configure() → None[源代码]¶

将配置参数应用到设备。

abstractmethod set_frequency(freq_hz: float) → None[源代码]¶

设置 TX/RX 中心频率。

abstractmethod set_sample_rate(rate_hz: float) → None[源代码]¶

设置收发采样率。

abstractmethod set_rx_gain(gain_db: float) → None[源代码]¶

设置接收增益。

abstractmethod set_tx_gain(gain_db: float) → None[源代码]¶

设置发射增益。

abstractmethod set_bandwidth(bw_hz: float) → None[源代码]¶

设置前端模拟滤波器带宽。

tune_channel(channel_num: int, band: str | None = None) → None[源代码]¶

切换到指定 SLE 射频信道。

参数:
  • channel_num -- 射频信道号。

  • band -- 频段标识, None 沿用当前配置。

abstractmethod transmit(samples: numpy.ndarray) → int[源代码]¶

发射 IQ 样本。

参数:

samples -- 复基带样本, dtype=complex64。

返回:

实际发射的样本数。

abstractmethod receive(num_samps: int) → numpy.ndarray[源代码]¶

接收指定数量的 IQ 样本。

参数:

num_samps -- 要接收的样本数。

返回:

复基带样本数组, dtype=complex64。

abstractmethod close() → None[源代码]¶

释放设备资源。

abstractmethod status_string() → str[源代码]¶

返回可读的设备状态摘要。

property is_mock: bool¶

是否为无硬件模拟模式。

nearlink_sdr.phy.sdr_backend.create_device(config: nearlink_sdr.phy.sdr_backend.SDRConfig) → nearlink_sdr.phy.sdr_backend.SDRDevice[源代码]¶

根据配置创建对应的 SDR 设备实例。

参数:

config -- SDR 配置, 通过 backend 字段选择后端。

返回:

SDRDevice 实例。

Next
nearlink_sdr.phy.sync_sequence
Previous
nearlink_sdr.phy.rx_pipeline
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • nearlink_sdr.phy.sdr_backend
    • Module Contents
      • Classes
      • Functions
      • API
        • SDRConfig
          • SDRConfig.backend
          • SDRConfig.device_args
          • SDRConfig.channel_num
          • SDRConfig.band
          • SDRConfig.sample_rate_hz
          • SDRConfig.rx_gain_db
          • SDRConfig.tx_gain_db
          • SDRConfig.bandwidth_hz
          • SDRConfig.rx_antenna
          • SDRConfig.tx_antenna
          • SDRConfig.stream_timeout_s
          • SDRConfig.rx_buffer_size
          • SDRConfig.center_freq_hz
        • SDRDevice
          • SDRDevice.config
          • SDRDevice.configure()
          • SDRDevice.set_frequency()
          • SDRDevice.set_sample_rate()
          • SDRDevice.set_rx_gain()
          • SDRDevice.set_tx_gain()
          • SDRDevice.set_bandwidth()
          • SDRDevice.tune_channel()
          • SDRDevice.transmit()
          • SDRDevice.receive()
          • SDRDevice.close()
          • SDRDevice.status_string()
          • SDRDevice.is_mock
        • create_device()