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

物理层控制信息 -- TXS-10002-2025 标准 6.4

A 组: 无线帧类型 1 和 2, CRC12, 种子为同步序列低 12 位。 B 组: 无线帧类型 3 和 4, CRC24B, 种子 0x555555, CRC 与 LLID 异或。

Module Contents¶

Classes¶

ControlInfoA1

ControlInfoA2

ControlInfoA3

ControlInfoA4

ControlInfoA5

ControlInfoA6

ControlInfoA7

ControlInfoB1

ControlInfoB2

ControlInfoB3

ControlInfoB4

ControlInfoB5

ControlInfoType

控制信息类型编码。

Functions¶

polar_decode_control

对帧类型 2 的 A 组控制信息进行 Polar 解码。

polar_encode_control

对帧类型 2 的 A 组控制信息进行 Polar 编码。

API¶

class nearlink_sdr.phy.control_info.ControlInfoA1[源代码]¶
broadcast_type: int¶

None

packet_type: int¶

None

reserved: int¶

None

data_length: int¶

None

pack(sync_seed: int, lqi: int | None = None) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], sync_seed: int, has_lqi: bool = False) → tuple[int | None, nearlink_sdr.phy.control_info.ControlInfoA1][源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoA2[源代码]¶
packet_type: int¶

None

empty_packet: int¶

None

tx_sn: int¶

None

rx_sn: int¶

None

flow_ctrl: int¶

None

sys_mgmt_rx: int¶

None

reserved: int¶

None

data_length: int¶

None

pack(sync_seed: int, lqi: int | None = None) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], sync_seed: int, has_lqi: bool = False) → tuple[int | None, nearlink_sdr.phy.control_info.ControlInfoA2][源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoA3[源代码]¶
packet_type: int¶

None

empty_packet: int¶

None

tx_sn: int¶

None

rx_sn: int¶

None

flow_ctrl: int¶

None

async_sched: int¶

None

reserved: int¶

None

data_length: int¶

None

pack(sync_seed: int, lqi: int | None = None) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], sync_seed: int, has_lqi: bool = False) → tuple[int | None, nearlink_sdr.phy.control_info.ControlInfoA3][源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoA4[源代码]¶
packet_type: int¶

None

empty_packet: int¶

None

tx_sn: int¶

None

rx_sn: int¶

None

flow_ctrl: int¶

None

async_sched: int¶

None

reserved: int¶

None

data_length: int¶

None

pack(sync_seed: int, lqi: int | None = None) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], sync_seed: int, has_lqi: bool = False) → tuple[int | None, nearlink_sdr.phy.control_info.ControlInfoA4][源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoA5[源代码]¶
packet_type: int¶

None

empty_packet: int¶

None

tx_sn: int¶

None

rx_sn: int¶

None

flow_ctrl: int¶

None

async_sched: int¶

None

reserved: int¶

None

data_length: int¶

None

pack(sync_seed: int, lqi: int | None = None) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], sync_seed: int, has_lqi: bool = False) → tuple[int | None, nearlink_sdr.phy.control_info.ControlInfoA5][源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoA6[源代码]¶
packet_type: int¶

None

packet_sn: int¶

None

packet_group: int¶

None

end_indicator: int¶

None

sys_mgmt_rx: int¶

None

reserved: int¶

None

data_length: int¶

None

pack(sync_seed: int, lqi: int | None = None) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], sync_seed: int, has_lqi: bool = False) → tuple[int | None, nearlink_sdr.phy.control_info.ControlInfoA6][源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoA7[源代码]¶
packet_sn: int¶

None

packet_group: int¶

None

reserved: int¶

None

data_length: int¶

None

pack(sync_seed: int, lqi: int | None = None) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], sync_seed: int, has_lqi: bool = False) → tuple[int | None, nearlink_sdr.phy.control_info.ControlInfoA7][源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoB1[源代码]¶
frame_format: int¶

None

harq_feedback: int¶

None

packet_sn: int¶

None

mcs: int¶

None

data_length: int¶

None

flow_ctrl: int¶

None

upper_link: int¶

None

pack(llid: int) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], llid: int) → nearlink_sdr.phy.control_info.ControlInfoB1[源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoB2[源代码]¶
harq_feedback: int¶

None

flow_ctrl: int¶

None

upper_link: int¶

None

pack(llid: int) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], llid: int) → nearlink_sdr.phy.control_info.ControlInfoB2[源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoB3[源代码]¶
packet_group: int¶

None

packet_sn: int¶

None

mcs: int¶

None

data_length: int¶

None

flow_ctrl: int¶

None

max_sn_indicator: int¶

None

pack(llid: int) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], llid: int) → nearlink_sdr.phy.control_info.ControlInfoB3[源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoB4[源代码]¶
broadcast_group_id: int¶

None

data_update: int¶

None

packet_sn: int¶

None

mcs: int¶

None

data_length: int¶

None

flow_ctrl: int¶

None

max_sn_indicator: int¶

None

pack(llid: int) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], llid: int) → nearlink_sdr.phy.control_info.ControlInfoB4[源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoB5[源代码]¶
reserved: int¶

None

msg_type: int¶

None

accessible: int¶

None

queryable: int¶

None

directed_content: int¶

None

undirected_content: int¶

None

data_update: int¶

None

mcs: int¶

None

data_length: int¶

None

pack(llid: int) → numpy.typing.NDArray[numpy.int_][源代码]¶
classmethod unpack(bits: numpy.typing.NDArray[numpy.int_], llid: int) → nearlink_sdr.phy.control_info.ControlInfoB5[源代码]¶
class nearlink_sdr.phy.control_info.ControlInfoType[源代码]¶

Bases: enum.IntEnum

控制信息类型编码。

Initialization

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

A1¶

1

A2¶

2

A3¶

3

A4¶

4

A5¶

5

A6¶

6

A7¶

7

B1¶

17

B2¶

18

B3¶

19

B4¶

20

B5¶

21

nearlink_sdr.phy.control_info.polar_decode_control(coded_bits: numpy.typing.NDArray[numpy.int_], k_info: int, n_coded: int = 64) → numpy.typing.NDArray[numpy.int_][源代码]¶

对帧类型 2 的 A 组控制信息进行 Polar 解码。

输入 64 比特, 解码到 k_info 比特 (40 或 48)。

nearlink_sdr.phy.control_info.polar_encode_control(raw_bits: numpy.typing.NDArray[numpy.int_], n_coded: int = 64) → numpy.typing.NDArray[numpy.int_][源代码]¶

对帧类型 2 的 A 组控制信息进行 Polar 编码。

输入 40 或 48 比特 (含 LQI + CRC12), 编码到 64 比特。

Next
nearlink_sdr.phy.data_link
Previous
nearlink_sdr.phy.channel
Copyright ©
Made with Sphinx and @pradyunsg's Furo
On this page
  • nearlink_sdr.phy.control_info
    • Module Contents
      • Classes
      • Functions
      • API
        • ControlInfoA1
          • ControlInfoA1.broadcast_type
          • ControlInfoA1.packet_type
          • ControlInfoA1.reserved
          • ControlInfoA1.data_length
          • ControlInfoA1.pack()
          • ControlInfoA1.unpack()
        • ControlInfoA2
          • ControlInfoA2.packet_type
          • ControlInfoA2.empty_packet
          • ControlInfoA2.tx_sn
          • ControlInfoA2.rx_sn
          • ControlInfoA2.flow_ctrl
          • ControlInfoA2.sys_mgmt_rx
          • ControlInfoA2.reserved
          • ControlInfoA2.data_length
          • ControlInfoA2.pack()
          • ControlInfoA2.unpack()
        • ControlInfoA3
          • ControlInfoA3.packet_type
          • ControlInfoA3.empty_packet
          • ControlInfoA3.tx_sn
          • ControlInfoA3.rx_sn
          • ControlInfoA3.flow_ctrl
          • ControlInfoA3.async_sched
          • ControlInfoA3.reserved
          • ControlInfoA3.data_length
          • ControlInfoA3.pack()
          • ControlInfoA3.unpack()
        • ControlInfoA4
          • ControlInfoA4.packet_type
          • ControlInfoA4.empty_packet
          • ControlInfoA4.tx_sn
          • ControlInfoA4.rx_sn
          • ControlInfoA4.flow_ctrl
          • ControlInfoA4.async_sched
          • ControlInfoA4.reserved
          • ControlInfoA4.data_length
          • ControlInfoA4.pack()
          • ControlInfoA4.unpack()
        • ControlInfoA5
          • ControlInfoA5.packet_type
          • ControlInfoA5.empty_packet
          • ControlInfoA5.tx_sn
          • ControlInfoA5.rx_sn
          • ControlInfoA5.flow_ctrl
          • ControlInfoA5.async_sched
          • ControlInfoA5.reserved
          • ControlInfoA5.data_length
          • ControlInfoA5.pack()
          • ControlInfoA5.unpack()
        • ControlInfoA6
          • ControlInfoA6.packet_type
          • ControlInfoA6.packet_sn
          • ControlInfoA6.packet_group
          • ControlInfoA6.end_indicator
          • ControlInfoA6.sys_mgmt_rx
          • ControlInfoA6.reserved
          • ControlInfoA6.data_length
          • ControlInfoA6.pack()
          • ControlInfoA6.unpack()
        • ControlInfoA7
          • ControlInfoA7.packet_sn
          • ControlInfoA7.packet_group
          • ControlInfoA7.reserved
          • ControlInfoA7.data_length
          • ControlInfoA7.pack()
          • ControlInfoA7.unpack()
        • ControlInfoB1
          • ControlInfoB1.frame_format
          • ControlInfoB1.harq_feedback
          • ControlInfoB1.packet_sn
          • ControlInfoB1.mcs
          • ControlInfoB1.data_length
          • ControlInfoB1.flow_ctrl
          • ControlInfoB1.upper_link
          • ControlInfoB1.pack()
          • ControlInfoB1.unpack()
        • ControlInfoB2
          • ControlInfoB2.harq_feedback
          • ControlInfoB2.flow_ctrl
          • ControlInfoB2.upper_link
          • ControlInfoB2.pack()
          • ControlInfoB2.unpack()
        • ControlInfoB3
          • ControlInfoB3.packet_group
          • ControlInfoB3.packet_sn
          • ControlInfoB3.mcs
          • ControlInfoB3.data_length
          • ControlInfoB3.flow_ctrl
          • ControlInfoB3.max_sn_indicator
          • ControlInfoB3.pack()
          • ControlInfoB3.unpack()
        • ControlInfoB4
          • ControlInfoB4.broadcast_group_id
          • ControlInfoB4.data_update
          • ControlInfoB4.packet_sn
          • ControlInfoB4.mcs
          • ControlInfoB4.data_length
          • ControlInfoB4.flow_ctrl
          • ControlInfoB4.max_sn_indicator
          • ControlInfoB4.pack()
          • ControlInfoB4.unpack()
        • ControlInfoB5
          • ControlInfoB5.reserved
          • ControlInfoB5.msg_type
          • ControlInfoB5.accessible
          • ControlInfoB5.queryable
          • ControlInfoB5.directed_content
          • ControlInfoB5.undirected_content
          • ControlInfoB5.data_update
          • ControlInfoB5.mcs
          • ControlInfoB5.data_length
          • ControlInfoB5.pack()
          • ControlInfoB5.unpack()
        • ControlInfoType
          • ControlInfoType.A1
          • ControlInfoType.A2
          • ControlInfoType.A3
          • ControlInfoType.A4
          • ControlInfoType.A5
          • ControlInfoType.A6
          • ControlInfoType.A7
          • ControlInfoType.B1
          • ControlInfoType.B2
          • ControlInfoType.B3
          • ControlInfoType.B4
          • ControlInfoType.B5
        • polar_decode_control()
        • polar_encode_control()