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¶

系统管理帧编解码 -- TXS-10002-2025 标准 6.6

实现系统管理帧 (System Management Frame) 的完整编解码:

  • SMFHeader: 系统管理帧数据包头 (分段指示 + 信令编号)

  • ScheduleSignaling: 系统管理帧调度信令 (6.6.2.1)

  • LinkSignaling: 链路信令 (6.6.2.2)

  • OffsetSignaling: 偏移信令 (6.6.2.3)

  • SystemManagementFrame: 完整系统管理帧组装与解析

Module Contents¶

Classes¶

FrameTypeConfig

无线帧类型配置 (6.6.2.1, 表17)

LinkSignaling

链路信令 (6.6.2.2, 表18)

OffsetSignaling

偏移信令 (6.6.2.3, 表19)

OffsetUnit

偏移量单位 (6.6.2.3)

SMFHeader

系统管理帧数据包头

SMFSignalingTLV

系统管理帧的信令 TLV 结构 (类型 + 长度 + 内容)

SMFSignalingType

信令类型 (6.6.2)

ScheduleSignaling

系统管理帧调度信令 (6.6.2.1, 表16)

ScheduleSlotLength

调度时隙长度 (6.6.2.2)

SegmentIndication

分段指示 (6.6.2)

SystemManagementFrame

系统管理帧完整结构 (6.6.2)

TimeResourceEntry

单个时间资源配置条目 (6.6.2.2)

Functions¶

reassemble_smf

将分段的系统管理帧数据重组为完整帧

API¶

class nearlink_sdr.mac.smf.FrameTypeConfig[源代码]¶

Bases: enum.IntEnum

无线帧类型配置 (6.6.2.1, 表17)

Initialization

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

FT1¶

0

FT2¶

1

FT3_M0¶

2

FT3_M1¶

3

FT3_M2¶

4

FT3_M3¶

5

FT3_M4¶

6

FT3_M5¶

7

FT4_M0¶

8

FT4_M1¶

9

FT4_M2¶

10

FT4_M3¶

11

FT4_M4¶

12

FT4_M5¶

13

class nearlink_sdr.mac.smf.LinkSignaling[源代码]¶

链路信令 (6.6.2.2, 表18)

描述链路的时间资源分布情况。

llid: int¶

0

effective_slot: int¶

0

link_period_factor: int¶

0

schedule_slot_length: int¶

4

resources: list[nearlink_sdr.mac.smf.TimeResourceEntry]¶

'field(...)'

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.smf.LinkSignaling[源代码]¶
class nearlink_sdr.mac.smf.OffsetSignaling[源代码]¶

偏移信令 (6.6.2.3, 表19)

标识链路建立和同步的偏移量信息。

llid: int¶

0

offset: int¶

0

offset_unit: int¶

0

BYTE_LENGTH¶

5

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.smf.OffsetSignaling[源代码]¶
class nearlink_sdr.mac.smf.OffsetUnit[源代码]¶

Bases: enum.IntEnum

偏移量单位 (6.6.2.3)

Initialization

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

US_25¶

0

US_300¶

1

class nearlink_sdr.mac.smf.SMFHeader[源代码]¶

系统管理帧数据包头

1 字节:

  • 分段指示: 2 bits (高位)

  • 信令编号: 6 bits (低位)

segment_indication: int¶

0

signaling_number: int¶

0

BYTE_LENGTH¶

1

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.smf.SMFHeader[源代码]¶
class nearlink_sdr.mac.smf.SMFSignalingTLV[源代码]¶

系统管理帧的信令 TLV 结构 (类型 + 长度 + 内容)

sig_type: int¶

0

content: bytes¶

b''

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → tuple[nearlink_sdr.mac.smf.SMFSignalingTLV, int][源代码]¶

解析一个 TLV, 返回 (对象, 消耗字节数)

class nearlink_sdr.mac.smf.SMFSignalingType[源代码]¶

Bases: enum.IntEnum

信令类型 (6.6.2)

Initialization

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

SCHEDULE¶

0

LINK¶

1

OFFSET¶

2

class nearlink_sdr.mac.smf.ScheduleSignaling[源代码]¶

系统管理帧调度信令 (6.6.2.1, 表16)

指示系统管理帧的间隔、带宽、频点表以及参数生效时刻。

effective_slot: int¶

0

interval: int¶

0

frame_type: int¶

0

bandwidth: int¶

0

pilot_density: int¶

0

channel_count: int¶

0

channel_table: bytes¶

b''

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.smf.ScheduleSignaling[源代码]¶
class nearlink_sdr.mac.smf.ScheduleSlotLength[源代码]¶

Bases: enum.IntEnum

调度时隙长度 (6.6.2.2)

Initialization

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

US_25¶

0

US_50¶

1

US_75¶

2

US_100¶

3

US_125¶

4

class nearlink_sdr.mac.smf.SegmentIndication[源代码]¶

Bases: enum.IntEnum

分段指示 (6.6.2)

Initialization

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

COMPLETE¶

0

FIRST¶

1

MIDDLE¶

2

LAST¶

3

class nearlink_sdr.mac.smf.SystemManagementFrame[源代码]¶

系统管理帧完整结构 (6.6.2)

组合 SMFHeader + 多个 SMFSignalingTLV 构成完整系统管理帧载荷。 提供高层便捷方法, 直接操作 ScheduleSignaling / LinkSignaling / OffsetSignaling。

header: nearlink_sdr.mac.smf.SMFHeader¶

'field(...)'

signalings: list[nearlink_sdr.mac.smf.SMFSignalingTLV]¶

'field(...)'

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.smf.SystemManagementFrame[源代码]¶
add_schedule(sig: nearlink_sdr.mac.smf.ScheduleSignaling) → None[源代码]¶

添加调度信令

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

添加链路信令

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

添加偏移信令

get_schedules() → list[nearlink_sdr.mac.smf.ScheduleSignaling][源代码]¶

提取所有调度信令

get_links() → list[nearlink_sdr.mac.smf.LinkSignaling][源代码]¶

提取所有链路信令

get_offsets() → list[nearlink_sdr.mac.smf.OffsetSignaling][源代码]¶

提取所有偏移信令

class nearlink_sdr.mac.smf.TimeResourceEntry[源代码]¶

单个时间资源配置条目 (6.6.2.2)

描述一个时间分片的资源分配:

  • 偏移量 (2 字节, 调度时隙单位)

  • 持续长度 (2 字节, 调度时隙单位)

  • 周期间隔 (2 字节, 调度时隙单位)

  • 重复次数 (1 字节)

offset: int¶

0

duration: int¶

0

period: int¶

0

repeat_count: int¶

0

BYTE_LENGTH¶

7

pack() → bytes[源代码]¶
classmethod unpack(data: bytes) → nearlink_sdr.mac.smf.TimeResourceEntry[源代码]¶
nearlink_sdr.mac.smf.reassemble_smf(fragments: list[bytes]) → nearlink_sdr.mac.smf.SystemManagementFrame[源代码]¶

将分段的系统管理帧数据重组为完整帧

每个 fragment 是一个完整的系统管理帧 payload (含 SMFHeader)。 按照分段指示规则:

  • FIRST(1): 首段, 取其 header 的信令编号

  • MIDDLE(2): 中间段

  • LAST(3): 尾段

  • COMPLETE(0): 不分段, 直接解析

Next
nearlink_sdr.mac.smf_scheduler
Previous
nearlink_sdr.mac.signaling
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • nearlink_sdr.mac.smf
    • Module Contents
      • Classes
      • Functions
      • API
        • FrameTypeConfig
          • FrameTypeConfig.FT1
          • FrameTypeConfig.FT2
          • FrameTypeConfig.FT3_M0
          • FrameTypeConfig.FT3_M1
          • FrameTypeConfig.FT3_M2
          • FrameTypeConfig.FT3_M3
          • FrameTypeConfig.FT3_M4
          • FrameTypeConfig.FT3_M5
          • FrameTypeConfig.FT4_M0
          • FrameTypeConfig.FT4_M1
          • FrameTypeConfig.FT4_M2
          • FrameTypeConfig.FT4_M3
          • FrameTypeConfig.FT4_M4
          • FrameTypeConfig.FT4_M5
        • LinkSignaling
          • LinkSignaling.llid
          • LinkSignaling.effective_slot
          • LinkSignaling.link_period_factor
          • LinkSignaling.schedule_slot_length
          • LinkSignaling.resources
          • LinkSignaling.pack()
          • LinkSignaling.unpack()
        • OffsetSignaling
          • OffsetSignaling.llid
          • OffsetSignaling.offset
          • OffsetSignaling.offset_unit
          • OffsetSignaling.BYTE_LENGTH
          • OffsetSignaling.pack()
          • OffsetSignaling.unpack()
        • OffsetUnit
          • OffsetUnit.US_25
          • OffsetUnit.US_300
        • SMFHeader
          • SMFHeader.segment_indication
          • SMFHeader.signaling_number
          • SMFHeader.BYTE_LENGTH
          • SMFHeader.pack()
          • SMFHeader.unpack()
        • SMFSignalingTLV
          • SMFSignalingTLV.sig_type
          • SMFSignalingTLV.content
          • SMFSignalingTLV.pack()
          • SMFSignalingTLV.unpack()
        • SMFSignalingType
          • SMFSignalingType.SCHEDULE
          • SMFSignalingType.LINK
          • SMFSignalingType.OFFSET
        • ScheduleSignaling
          • ScheduleSignaling.effective_slot
          • ScheduleSignaling.interval
          • ScheduleSignaling.frame_type
          • ScheduleSignaling.bandwidth
          • ScheduleSignaling.pilot_density
          • ScheduleSignaling.channel_count
          • ScheduleSignaling.channel_table
          • ScheduleSignaling.pack()
          • ScheduleSignaling.unpack()
        • ScheduleSlotLength
          • ScheduleSlotLength.US_25
          • ScheduleSlotLength.US_50
          • ScheduleSlotLength.US_75
          • ScheduleSlotLength.US_100
          • ScheduleSlotLength.US_125
        • SegmentIndication
          • SegmentIndication.COMPLETE
          • SegmentIndication.FIRST
          • SegmentIndication.MIDDLE
          • SegmentIndication.LAST
        • SystemManagementFrame
          • SystemManagementFrame.header
          • SystemManagementFrame.signalings
          • SystemManagementFrame.pack()
          • SystemManagementFrame.unpack()
          • SystemManagementFrame.add_schedule()
          • SystemManagementFrame.add_link()
          • SystemManagementFrame.add_offset()
          • SystemManagementFrame.get_schedules()
          • SystemManagementFrame.get_links()
          • SystemManagementFrame.get_offsets()
        • TimeResourceEntry
          • TimeResourceEntry.offset
          • TimeResourceEntry.duration
          • TimeResourceEntry.period
          • TimeResourceEntry.repeat_count
          • TimeResourceEntry.BYTE_LENGTH
          • TimeResourceEntry.pack()
          • TimeResourceEntry.unpack()
        • reassemble_smf()