nearlink_sdr.phy.measurement_frame¶
测量帧结构组装 -- TXS-10002-2025 标准 6.3.6-6.3.11.
包含半可靠组播反馈、测量帧类型 1-4 以及超宽带脉冲测量帧的结构组装功能。
Module Contents¶
Classes¶
测量帧配置参数。 |
|
无线帧类型, 用于确定半可靠组播反馈的 m 序列长度。 |
|
超宽带脉冲测量帧配置。 |
Functions¶
组装测量帧类型 1 (标准 6.3.7)。 |
|
组装测量帧类型 2 (标准 6.3.8)。 |
|
组装测量帧类型 3 (标准 6.3.9)。 |
|
组装测量帧类型 4 (标准 6.3.10)。 |
|
构建半可靠组播 NACK 反馈帧 (标准 6.3.6)。 |
|
构建超宽带脉冲测量帧测量字段 (标准 6.3.11.2)。 |
|
构建完整的超宽带脉冲测量帧 (标准 6.3.11)。 |
|
构建超宽带脉冲测量帧同步字段 (标准 6.3.11.1)。 |
|
生成均衡保护序列 (标准 6.3.7)。 |
API¶
- class nearlink_sdr.phy.measurement_frame.MeasFrameConfig[源代码]¶
测量帧配置参数。
- sync_signal: numpy.ndarray¶
'field(...)'
- measurement_signal: numpy.ndarray¶
'field(...)'
- class nearlink_sdr.phy.measurement_frame.RadioFrameType[源代码]¶
Bases:
enum.IntEnum无线帧类型, 用于确定半可靠组播反馈的 m 序列长度。
Initialization
Initialize self. See help(type(self)) for accurate signature.
- FT1¶
1
- FT2¶
2
- FT3¶
3
- FT4¶
4
- class nearlink_sdr.phy.measurement_frame.UWBPulseConfig[源代码]¶
超宽带脉冲测量帧配置。
- 变量:
K -- 码字长度。
L -- 占空因子。
Tc -- 码片时长 (秒)。
N_sync -- 同步字段符号个数, 0 表示不发送同步字段。
symbol_seq -- 同步符号序列 (+1/-1), 长度为 K。
M_seg -- 测量子片段数。
N_seg -- 每个测量子片段的 CTS 符号数。
N_gap -- 测量子片段间隔的符号数。
scramble -- 加扰 SC 序列 (+1/-1), 长度为 N_seg * M_seg。 普通模式下全 1, 安全模式下由安全算法确定。
L_cp -- 循环前缀码片数 (安全模式)。
L_zero -- 补零后缀码片数 (安全模式)。
N_offset -- 安全模式偏移码片数, 默认 0 (普通模式)。
- symbol_seq: numpy.ndarray¶
'field(...)'
- scramble: numpy.ndarray | None¶
None
- nearlink_sdr.phy.measurement_frame.build_measurement_frame_1(config: nearlink_sdr.phy.measurement_frame.MeasFrameConfig) numpy.ndarray[源代码]¶
组装测量帧类型 1 (标准 6.3.7)。
先发节点: 前导信号 | 同步信号 | 均衡保护 | 切换间隔 | 测量信号 后发节点: 测量信号 | 切换间隔 | 前导信号 | 同步信号 | 均衡保护
- 参数:
config -- 测量帧配置。
- 返回:
组装后的帧比特/符号序列。
- nearlink_sdr.phy.measurement_frame.build_measurement_frame_2(config: nearlink_sdr.phy.measurement_frame.MeasFrameConfig) numpy.ndarray[源代码]¶
组装测量帧类型 2 (标准 6.3.8)。
仅包含测量信号。
- 参数:
config -- 测量帧配置。
- 返回:
测量信号序列。
- nearlink_sdr.phy.measurement_frame.build_measurement_frame_3(config: nearlink_sdr.phy.measurement_frame.MeasFrameConfig) numpy.ndarray[源代码]¶
组装测量帧类型 3 (标准 6.3.9)。
先发节点: 前导信号 | 同步信号 | 均衡保护 后发节点: 前导信号 | 同步信号 | 均衡保护 | 切换间隔 | 测量信号
用于位置测量事件组的初始化阶段。
- 参数:
config -- 测量帧配置。
- 返回:
组装后的帧比特/符号序列。
- nearlink_sdr.phy.measurement_frame.build_measurement_frame_4(config: nearlink_sdr.phy.measurement_frame.MeasFrameConfig) numpy.ndarray[源代码]¶
组装测量帧类型 4 (标准 6.3.10)。
先发/后发节点结构相同: 前导信号 | 同步信号 | 均衡保护 | 切换间隔 | 测量信号
用于超宽带脉冲测量的初始化同步阶段, 测量信号应为窄带波形测量信号 1 或 N=1 的窄带波形测量信号 2。
- 参数:
config -- 测量帧配置。
- 返回:
组装后的帧比特/符号序列。
- nearlink_sdr.phy.measurement_frame.build_nack_feedback(radio_ft: int, m_index: int, cyclic_shift: int = 0, symbol_rate_mhz: float = 1.0) numpy.ndarray[源代码]¶
构建半可靠组播 NACK 反馈帧 (标准 6.3.6)。
帧结构: 前导信号 | 同步信号 | NACK 反馈序列
- 参数:
radio_ft -- 无线帧类型 (1-4), 决定 m 序列长度。
m_index -- m 序列索引, 由高层信令配置。
cyclic_shift -- m 序列循环移位量, 由高层信令配置。
symbol_rate_mhz -- 符号速率, 用于前导码生成。
- 返回:
NACK 反馈序列比特数组 (不含前导和同步, 由调用者拼接)。
- nearlink_sdr.phy.measurement_frame.build_uwb_measurement_field(config: nearlink_sdr.phy.measurement_frame.UWBPulseConfig, cts_symbol_seq: numpy.ndarray | None = None) numpy.ndarray[源代码]¶
构建超宽带脉冲测量帧测量字段 (标准 6.3.11.2)。
测量字段由 M_seg 个测量子片段组成, 每个子片段包含 N_seg 个 CTS 符号, 相邻子片段之间有时间间隔。
- 参数:
config -- UWB 脉冲配置。
cts_symbol_seq -- CTS 测量符号序列, 默认使用 config.symbol_seq。
- 返回:
测量字段码片序列。
- nearlink_sdr.phy.measurement_frame.build_uwb_pulse_measurement_frame(config: nearlink_sdr.phy.measurement_frame.UWBPulseConfig, cts_symbol_seq: numpy.ndarray | None = None) numpy.ndarray[源代码]¶
构建完整的超宽带脉冲测量帧 (标准 6.3.11)。
帧结构: 同步字段 | 测量字段
- 参数:
config -- UWB 脉冲配置。
cts_symbol_seq -- CTS 测量符号序列, 默认使用同步符号序列。
- 返回:
完整帧码片序列。
- nearlink_sdr.phy.measurement_frame.build_uwb_sync_field(config: nearlink_sdr.phy.measurement_frame.UWBPulseConfig) numpy.ndarray[源代码]¶
构建超宽带脉冲测量帧同步字段 (标准 6.3.11.1)。
同步字段由 N_sync 个相同符号重复组成, 每个符号经过插零时域扩展。 总长度: N_sync * K * L 个码片。
- 参数:
config -- UWB 脉冲配置。
- 返回:
同步字段码片序列。
- nearlink_sdr.phy.measurement_frame.equalization_guard(sync_last_bit: int) numpy.ndarray[源代码]¶
生成均衡保护序列 (标准 6.3.7)。
同步信号最后 1 比特为 1 时: 0101 (MSB 优先) 同步信号最后 1 比特为 0 时: 1010 (MSB 优先)
- 参数:
sync_last_bit -- 同步信号的最后一个比特值 (0 或 1)。
- 返回:
4 比特均衡保护序列。