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¶
SMF 调度激活来源 (6.6.3.1)。 |
|
SMF 调度全量参数, 从接入或广播过程提取。 |
|
一次 SMF 发送实例。 |
|
SMF 发送调度器。 |
Functions¶
从接入基本信息中提取 SMF 调度参数 (6.6.3.1.1)。 |
|
从扩展广播帧的系统管理帧信息中提取 SMF 调度参数 (6.6.3.1.2)。 |
API¶
- class nearlink_sdr.mac.smf_scheduler.SMFActivationSource[源代码]¶
Bases:
enum.IntEnumSMF 调度激活来源 (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
- class nearlink_sdr.mac.smf_scheduler.SMFTransmission[源代码]¶
一次 SMF 发送实例。
- frame: nearlink_sdr.mac.smf.SystemManagementFrame | None¶
None
- class nearlink_sdr.mac.smf_scheduler.SMFTransmitScheduler[源代码]¶
SMF 发送调度器。
管理 SMF 的周期性发送计划:
根据参数计算各 SMF 的发送时隙
按跳频表轮换频点
构建包含调度/链路/偏移信令的 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 帧将携带该信令。
- register_offset(sig: nearlink_sdr.mac.smf.OffsetSignaling) None[源代码]¶
注册偏移信令。
- 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)。