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

MAC-PHY 集成适配层。

将 MAC 层帧对象与 PHY 层发射/接收流水线打通, 提供字节级到比特级的转换和完整的发收链路。

QoS 集成: QosLink 类封装了带 ARQ/HARQ/流控的端到端数据链路。

Module Contents¶

Classes¶

MacRxResult

MAC 层接收结果。

QosLink

带 QoS 管理的端到端数据链路。

Functions¶

bits_to_bytes

比特数组 → 字节序列 (长度向上对齐到 8 的倍数)。

bytes_to_bits

字节序列 → 比特数组 (MSB first)。

iq_to_mac

基带 IQ 信号 → MAC 层载荷字节。

iq_to_signaling

基带 IQ 信号 → 信令对象。

mac_to_iq

MAC 层载荷 → 基带 IQ 信号。

roundtrip_data

异步数据帧编码 → IQ → 解码全链路测试。

roundtrip_signaling

信令编码 → IQ → 解码全链路测试。

signaling_to_iq

信令对象 → 基带 IQ 信号。

API¶

class nearlink_sdr.phy.mac_interface.MacRxResult[源代码]¶

MAC 层接收结果。

mac_payload: bytes¶

None

ctrl_bits: numpy.ndarray¶

None

crc_ok: bool¶

None

head_crc_ok: bool¶

None

class nearlink_sdr.phy.mac_interface.QosLink(cfg: nearlink_sdr.phy.tx_pipeline.TxConfig | None = None, frame_type: int = 2, max_pdu: int = 256)[源代码]¶

带 QoS 管理的端到端数据链路。

封装 ARQ 序列号管理、HARQ 反馈、流控和链路质量跟踪。 调用方通过 submit / transmit / receive 方法实现自动重传驱动。

参数:
  • cfg -- 发射参数配置。

  • frame_type -- 帧类型 (1-4), 决定 ARQ SN 位宽。

  • max_pdu -- 单 PDU 最大字节数。

Initialization

submit(data: bytes, priority: nearlink_sdr.mac.qos.Priority = Priority.NORMAL) → bool[源代码]¶

提交数据到发送队列。

transmit() → tuple[numpy.ndarray | None, nearlink_sdr.mac.qos.TxDecision][源代码]¶

从队列取数据并生成 IQ 信号。

返回:

(IQ 信号或 None, 发送决策)。

receive(iq: numpy.ndarray, n_mac_bytes: int) → tuple[bytes, bool][源代码]¶

接收 IQ 信号并处理 ARQ 反馈。

返回:

(恢复的数据, CRC 是否通过)。

process_feedback(crc_ok: bool) → nearlink_sdr.mac.qos.TxDecision[源代码]¶

外部反馈处理 (对端发来 CRC 结果)。

property pending_retransmit: bool¶

当前是否有待重传数据。

property recommended_mcs: int¶

基于链路质量建议的 MCS。

property stats: dict[str, int | float]¶

链路统计信息。

nearlink_sdr.phy.mac_interface.bits_to_bytes(bits: numpy.ndarray) → bytes[源代码]¶

比特数组 → 字节序列 (长度向上对齐到 8 的倍数)。

nearlink_sdr.phy.mac_interface.bytes_to_bits(data: bytes) → numpy.ndarray[源代码]¶

字节序列 → 比特数组 (MSB first)。

nearlink_sdr.phy.mac_interface.iq_to_mac(iq_signal: numpy.ndarray, cfg: nearlink_sdr.phy.tx_pipeline.TxConfig, n_mac_bytes: int) → nearlink_sdr.phy.mac_interface.MacRxResult[源代码]¶

基带 IQ 信号 → MAC 层载荷字节。

参数:
  • iq_signal -- IQ 采样数组。

  • cfg -- 与发射端相同的配置。

  • n_mac_bytes -- MAC 层载荷字节数(需要预先知道)。

返回:

MacRxResult。

nearlink_sdr.phy.mac_interface.iq_to_signaling(iq_signal: numpy.ndarray, cfg: nearlink_sdr.phy.tx_pipeline.TxConfig, n_mac_bytes: int) → tuple[object, bool][源代码]¶

基带 IQ 信号 → 信令对象。

返回:

(信令对象, CRC是否通过)。

nearlink_sdr.phy.mac_interface.mac_to_iq(mac_payload: bytes, cfg: nearlink_sdr.phy.tx_pipeline.TxConfig, ctrl_info: nearlink_sdr.phy.control_info.ControlInfoA2 | None = None) → numpy.ndarray[源代码]¶

MAC 层载荷 → 基带 IQ 信号。

参数:
  • mac_payload -- MAC 帧 pack() 产生的字节流。

  • cfg -- 发射参数配置。

  • ctrl_info -- 物理层控制信息。若为 None 则使用默认 A2 配置。

返回:

IQ 采样数组 (complex128)。

nearlink_sdr.phy.mac_interface.roundtrip_data(data: bytes, cfg: nearlink_sdr.phy.tx_pipeline.TxConfig | None = None, segment_type: int = 0) → tuple[bytes, bool][源代码]¶

异步数据帧编码 → IQ → 解码全链路测试。

返回:

(恢复的数据, CRC是否通过)。

nearlink_sdr.phy.mac_interface.roundtrip_signaling(msg: object, cfg: nearlink_sdr.phy.tx_pipeline.TxConfig | None = None) → tuple[object | None, bool][源代码]¶

信令编码 → IQ → 解码全链路测试。

无信道(直连),验证 MAC → PHY → MAC 数据完整性。

返回:

(恢复的信令对象, CRC是否通过)。

nearlink_sdr.phy.mac_interface.signaling_to_iq(msg: object, cfg: nearlink_sdr.phy.tx_pipeline.TxConfig) → numpy.ndarray[源代码]¶

信令对象 → 基带 IQ 信号。

将一条 MAC 信令消息编码为 ControlFrame -> bytes -> bits -> tx_chain。

Next
nearlink_sdr.phy.measurement
Previous
nearlink_sdr.phy.gfsk
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • nearlink_sdr.phy.mac_interface
    • Module Contents
      • Classes
      • Functions
      • API
        • MacRxResult
          • MacRxResult.mac_payload
          • MacRxResult.ctrl_bits
          • MacRxResult.crc_ok
          • MacRxResult.head_crc_ok
        • QosLink
          • QosLink.submit()
          • QosLink.transmit()
          • QosLink.receive()
          • QosLink.process_feedback()
          • QosLink.pending_retransmit
          • QosLink.recommended_mcs
          • QosLink.stats
        • bits_to_bytes()
        • bytes_to_bits()
        • iq_to_mac()
        • iq_to_signaling()
        • mac_to_iq()
        • roundtrip_data()
        • roundtrip_signaling()
        • signaling_to_iq()