nearlink_sdr.phy.freq_hopping¶
TXS-10002-2025 6.10.3 跳频序列与频率管理。
实现标准定义的跳频机制, 包括:
射频信道/物理信道映射与频率表管理 (8.1.2)
伪随机数生成器 (6.10.3.2)
数据链路跳频 (6.10.3.3)
系统管理帧链路跳频 (6.10.3.4)
测量链路跳频 (6.10.3.5)
Module Contents¶
Classes¶
信道频率表管理。 |
|
测量链路跳频器。 |
Functions¶
射频信道号转中心频率 (MHz)。 |
|
数据链路跳频: 根据时隙计数和跳频参数确定跳频频点。 |
|
从同步序列或逻辑链路标识派生跳频参数 2。 |
|
中心频率 (MHz) 转射频信道号。 |
|
生成指定长度的跳频序列。 |
|
标准 6.10.3.2 伪随机数生成器。 |
|
系统管理帧链路跳频。 |
Data¶
API¶
- nearlink_sdr.phy.freq_hopping.BAND_2400¶
'2400'
- nearlink_sdr.phy.freq_hopping.BAND_5100¶
'5100'
- nearlink_sdr.phy.freq_hopping.BAND_5800¶
'5800'
- nearlink_sdr.phy.freq_hopping.MEAS_HOP_ASCENDING¶
0
- nearlink_sdr.phy.freq_hopping.MEAS_HOP_DESCENDING¶
1
- nearlink_sdr.phy.freq_hopping.MEAS_HOP_RANDOM¶
2
- class nearlink_sdr.phy.freq_hopping.FreqTable[源代码]¶
信道频率表管理。
管理完整频点表和可用频点表, 支持 1M/2M/4M 带宽场景。
- 变量:
band -- 频段标识, "2400" / "5100" / "5800"。
bandwidth_mhz -- 信道带宽, 1 / 2 / 4 MHz。
blocked_channels -- 被阻塞(不可用)的物理信道号集合。
- class nearlink_sdr.phy.freq_hopping.MeasLinkHopper[源代码]¶
测量链路跳频器。
标准 6.10.3.5: 支持三种跳频方案。 方案 3 在使用后从可用频点表中删除已用频点, 表空时重置。
- 变量:
mode -- 跳频模式, 0/1/2。
freq_table -- 频率表对象。
hop_param2 -- 跳频参数 2 (方案 3 使用)。
init_channel -- 初始化阶段频点 (可选)。
- freq_table: nearlink_sdr.phy.freq_hopping.FreqTable¶
'field(...)'
- nearlink_sdr.phy.freq_hopping.channel_to_freq(channel_num: int, band: str = BAND_2400) float[源代码]¶
射频信道号转中心频率 (MHz)。
- nearlink_sdr.phy.freq_hopping.data_link_hop(slot_counter: int, hop_param2: int, freq_table: nearlink_sdr.phy.freq_hopping.FreqTable) int[源代码]¶
数据链路跳频: 根据时隙计数和跳频参数确定跳频频点。
标准 6.10.3.3: PRNG → 初次频点映射 → (无效时) 可用频点映射。
- 参数:
slot_counter -- 当前调度时隙计数。
hop_param2 -- 16 位跳频参数 2。
freq_table -- 频率表管理对象。
- 返回:
选中的物理信道号。
- nearlink_sdr.phy.freq_hopping.derive_hop_param2(identifier: int, bit_width: int = 32) int[源代码]¶
从同步序列或逻辑链路标识派生跳频参数 2。
标准 6.10.3.2:
64 位同步序列: 截取低 32 位
32 位同步序列: 直接使用
24 位逻辑链路标识: 高位补零至 32 位 低 16 和高 16 位异或后作为 hop_param2。
- 参数:
identifier -- 同步序列值或逻辑链路标识。
bit_width -- 标识符位宽 (24/32/64)。
- 返回:
16 位 hop_param2。
- nearlink_sdr.phy.freq_hopping.freq_to_channel(freq_mhz: float, band: str = BAND_2400) int[源代码]¶
中心频率 (MHz) 转射频信道号。
- nearlink_sdr.phy.freq_hopping.generate_hopping_sequence(n_hops: int, hop_param2: int, freq_table: nearlink_sdr.phy.freq_hopping.FreqTable | None = None, link_type: str = 'data', start_slot: int = 0) list[int][源代码]¶
生成指定长度的跳频序列。
- 参数:
n_hops -- 需要的跳频次数。
hop_param2 -- 跳频参数 2。
freq_table -- 频率表对象, 默认 2.4 GHz 1 MHz 全可用。
link_type -- "data" / "mgmt" / "meas_asc" / "meas_desc" / "meas_rand"。
start_slot -- 起始时隙号。
- 返回:
物理信道号列表。