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.mac.smf_scheduler¶

系统管理帧发送调度 — TXS-10002-2025 标准 6.6.3。

实现系统管理帧的自身调度逻辑:

  • 6.6.3.1.1 通过接入启动调度: 从接入基本信息提取 SMF 配置参数

  • 6.6.3.1.2 通过广播启动调度: 从扩展广播帧提取 SMF 配置参数

  • SMF 周期性发送计划

  • SMF 帧构建 (含调度信令 + 链路信令 + 偏移信令)

Module Contents¶

Classes¶

SMFActivationSource

SMF 调度激活来源 (6.6.3.1)。

SMFScheduleParams

SMF 调度全量参数, 从接入或广播过程提取。

SMFTransmission

一次 SMF 发送实例。

SMFTransmitScheduler

SMF 发送调度器。

Functions¶

smf_params_from_access

从接入基本信息中提取 SMF 调度参数 (6.6.3.1.1)。

smf_params_from_broadcast

从扩展广播帧的系统管理帧信息中提取 SMF 调度参数 (6.6.3.1.2)。

API¶

class nearlink_sdr.mac.smf_scheduler.SMFActivationSource[源代码]¶

Bases: enum.IntEnum

SMF 调度激活来源 (6.6.3.1)。

Initialization

Initialize self. See help(type(self)) for accurate signature.

ACCESS¶

0

BROADCAST¶

1

class nearlink_sdr.mac.smf_scheduler.SMFScheduleParams[源代码]¶

SMF 调度全量参数, 从接入或广播过程提取。

通过接入启动时, 这些参数来自接入请求/响应帧中的接入基本信息; 通过广播启动时, 来自扩展广播帧中启动系统管理帧信息 (7.1.4.7)。

source: nearlink_sdr.mac.smf_scheduler.SMFActivationSource¶

None

baseline_slot: int¶

0

offset_us: int¶

0

interval: int¶

800

llid: int¶

1

access_addr: int¶

0

frame_type: int¶

0

bandwidth: int¶

0

pilot_density: int¶

0

channel_count: int¶

3

channel_table: bytes¶

b'\x00\x01\x02'

class nearlink_sdr.mac.smf_scheduler.SMFTransmission[源代码]¶

一次 SMF 发送实例。

slot: int¶

None

channel_index: int¶

None

frame: nearlink_sdr.mac.smf.SystemManagementFrame | None¶

None

class nearlink_sdr.mac.smf_scheduler.SMFTransmitScheduler[源代码]¶

SMF 发送调度器。

管理 SMF 的周期性发送计划:

  1. 根据参数计算各 SMF 的发送时隙

  2. 按跳频表轮换频点

  3. 构建包含调度/链路/偏移信令的 SMF 帧

params: nearlink_sdr.mac.smf_scheduler.SMFScheduleParams¶

'field(...)'

configure(params: nearlink_sdr.mac.smf_scheduler.SMFScheduleParams) → None[源代码]¶

配置 SMF 参数。

register_link(sig: nearlink_sdr.mac.smf.LinkSignaling) → None[源代码]¶

注册链路信令, 下次 SMF 帧将携带该信令。

unregister_link(llid: int) → None[源代码]¶

移除链路信令。

register_offset(sig: nearlink_sdr.mac.smf.OffsetSignaling) → None[源代码]¶

注册偏移信令。

next_smf_slot(current_slot: int) → int[源代码]¶

计算从 current_slot 开始的下一个 SMF 发送时隙。

smf_slot_sequence(start_slot: int, count: int) → list[int][源代码]¶

生成 count 个连续 SMF 发送时隙。

build_smf_frame(include_schedule: bool = True) → nearlink_sdr.mac.smf.SystemManagementFrame[源代码]¶

构建一个 SMF 帧。

参数:

include_schedule -- 是否包含调度信令 (通常首帧或参数变更时携带)。

返回:

包含当前所有已注册信令的 SystemManagementFrame。

schedule_transmission(current_slot: int) → nearlink_sdr.mac.smf_scheduler.SMFTransmission[源代码]¶

计划下一次 SMF 发送。

返回包含目标时隙、频点索引和帧内容的发送实例。

update_schedule(new_interval: int | None = None, new_frame_type: int | None = None, new_bandwidth: int | None = None, new_pilot_density: int | None = None, new_channel_table: bytes | None = None, effective_slot: int | None = None) → nearlink_sdr.mac.smf.ScheduleSignaling[源代码]¶

更新 SMF 调度参数, 返回新的调度信令。

参数变更将在 effective_slot 指定的时隙生效。

compute_offset_us(smf_start_slot: int, link_first_slot: int, base_slot_us: int = 125, unit: int = OffsetUnit.US_25) → nearlink_sdr.mac.smf.OffsetSignaling[源代码]¶

计算从 SMF 起始点到链路起始点的偏移量 (6.6.2.3)。

参数:
  • smf_start_slot -- SMF 起始时隙。

  • link_first_slot -- 链路第一个起始时隙。

  • base_slot_us -- 基础时隙长度 (us)。

  • unit -- 偏移量单位。

返回:

OffsetSignaling 实例。

nearlink_sdr.mac.smf_scheduler.smf_params_from_access(smf_baseline_slot: int, smf_offset: int, smf_link_id: int, smf_period: int, smf_frame_type: int, smf_bandwidth: int, smf_pilot_density: int, smf_channel_count: int, smf_channel_table: bytes) → nearlink_sdr.mac.smf_scheduler.SMFScheduleParams[源代码]¶

从接入基本信息中提取 SMF 调度参数 (6.6.3.1.1)。

nearlink_sdr.mac.smf_scheduler.smf_params_from_broadcast(baseline_slot: int, offset: int, access_addr: int, period: int, frame_type: int, bandwidth: int, pilot_density: int, channel_count: int, channel_table: bytes) → nearlink_sdr.mac.smf_scheduler.SMFScheduleParams[源代码]¶

从扩展广播帧的系统管理帧信息中提取 SMF 调度参数 (6.6.3.1.2)。

Next
nearlink_sdr.sim
Previous
nearlink_sdr.mac.smf
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • nearlink_sdr.mac.smf_scheduler
    • Module Contents
      • Classes
      • Functions
      • API
        • SMFActivationSource
          • SMFActivationSource.ACCESS
          • SMFActivationSource.BROADCAST
        • SMFScheduleParams
          • SMFScheduleParams.source
          • SMFScheduleParams.baseline_slot
          • SMFScheduleParams.offset_us
          • SMFScheduleParams.interval
          • SMFScheduleParams.llid
          • SMFScheduleParams.access_addr
          • SMFScheduleParams.frame_type
          • SMFScheduleParams.bandwidth
          • SMFScheduleParams.pilot_density
          • SMFScheduleParams.channel_count
          • SMFScheduleParams.channel_table
        • SMFTransmission
          • SMFTransmission.slot
          • SMFTransmission.channel_index
          • SMFTransmission.frame
        • SMFTransmitScheduler
          • SMFTransmitScheduler.params
          • SMFTransmitScheduler.configure()
          • SMFTransmitScheduler.register_link()
          • SMFTransmitScheduler.unregister_link()
          • SMFTransmitScheduler.register_offset()
          • SMFTransmitScheduler.next_smf_slot()
          • SMFTransmitScheduler.smf_slot_sequence()
          • SMFTransmitScheduler.build_smf_frame()
          • SMFTransmitScheduler.schedule_transmission()
          • SMFTransmitScheduler.update_schedule()
          • SMFTransmitScheduler.compute_offset_us()
        • smf_params_from_access()
        • smf_params_from_broadcast()