📖 本文档仅供在线阅读 · 已启用保护(禁止下载 / 打印 / 复制)
ai@skillspace_ ← 返回作品 作品集 首页 FiRa MAC v4.0.0 中文翻译 · AI 技能空间

FiRa® 介质访问控制(MAC)技术规范

版本 4.0.0 · 中文翻译
第二卷:第 5 章(特性描述 / 设备角色 / 测距方法 / UWB 消息 / 数据传输)
原文:FiRa® Medium Access Control (MAC) Technical Specification v4.0.0
© 2020-2025 FiRa Consortium. 版权所有。
原文发布:2025 年 11 月 · 翻译生成:2026-07-30

5 特性描述(Feature Description)

5.1 设备类型与设备角色(Device Types and Device Roles)

5.1.1 用于 TWR 方法的设备类型(Device Types for TWR Methods)

对于基于 TWR 的测距方法,定义了设备类型(Device Type)和设备角色(Device Role)。图 1 表明,设备类型和设备角色可以灵活组合。值得注意的是,设备类型仅适用于基于 TWR 的测距方法,而不适用于基于单向测距(OWR)的测距方法。

Figure 1

图 1 - 测距控制器、受控器、发起方和响应方的设备类型与角色(Ranging Controller, Controlee, Initiator and Responder device types and roles. This figure is inspired by Figure 6-48i from [IEEE_802_15_4z_2020])
源文档第 10 页

5.1.1.1 控制器(Controller)

一种 FiRa 设备,负责控制测距或数据传输,并通过发送控制消息(Control Message, CM)来定义控制参数。

5.1.1.2 受控器(Controlee)

一种 FiRa 设备,使用其在控制消息中从控制器接收到的控制参数。

5.1.2 设备角色(Device Roles)

设备角色的定义同时适用于 TWR 和 OWR 测距方法。

5.1.2.1 发起方(Initiator)

一种 FiRa 设备,通过发送第一个测距帧(RFRAME)——即测距发起消息(Ranging Initiation Message, RIM)——来发起测距交互。

5.1.2.2 响应方(Responder)

一种 FiRa 设备,对从发起方接收到的测距发起消息(RIM)作出响应。

5.1.2.3 DL-TDoA 锚点(DT-Anchor)

DL-TDoA 锚点(DT-Anchor)是一种 FiRa 设备,它发送下行到达时间差(DL-TDoA)消息(DL-TDoA Message, DTM),DT 标签可基于这些消息、利用 TDoA 定位来计算自身位置。DT 锚点可以以发起方 DT 锚点或响应方 DT 锚点的身份参与测距轮。

5.1.2.3.1 发起方 DT 锚点(Initiator DT-Anchor)

发起方 DT 锚点是通过发送 Poll DTM 来发起 TDoA 测距轮的 DT 锚点,并且可以为其响应方 DT 锚点调度发送时间。

在 DL-TDoA 测距轮中,当同一集群(cluster,参见 5.4.3.2.1 节)内的所有响应方 DT 锚点都已发送各自的 Response DTM 之后,发起方 DT 锚点还可以进一步发送 Final DTM。

在 DL-TDoA 网络中,应至少存在一个参考 DT 锚点(Reference DT-Anchor)。参考 DT 锚点是一种发起方 DT 锚点,它充当集群间同步的全局时间参考,并为 DL-TDoA 网络的运行设定通用的测距块结构。

5.1.2.3.2 响应方 DT 锚点(Responder DT-Anchor)

响应方 DT 锚点是在被调度的测距时隙内以 Response DTM 响应发起方 DT 锚点的 DT 锚点。发起方 DT 锚点在 Poll DTM 中为每个响应方 DT 锚点分配一个测距时隙。

5.1.2.4 DL-TDoA 标签(DT-Tag)

DT 标签是一种 FiRa 设备,它能够基于 DT 锚点发送的 DTM 进行 TDoA 测量,并在已知 DT 锚点位置的情况下估计自身位置(例如地理坐标)。DT 标签接收并测量 DT 锚点所发送消息的接收时间。DT 标签预期通过带内或带外(out-of-band, OOB)方式获取 DT 锚点的地理坐标。OOB 方式的细节不在本规范的范围内。

当 DT 标签所需的位置更新速率低于 DL-TDoA 网络所支持的速率时,DT 标签可以跳过某些测距块。例如,使用 200ms 的测距块时长时,DL-TDoA 网络可提供 5 个位置/秒(= 1/200ms)的位置更新速率。若某 DT 标签仅需 1 个位置/秒的位置更新速率,则该 DT 标签可以每 5 个测距块跳过 4 个,从而在满足其所需位置更新速率的同时降低能耗。为此,DT 标签应使用 5.8.5 节所述的块跳过(Block Skipping)特性来跳过测距块。

5.1.2.5 广播方(Advertiser)

广播方是一种 FiRa 设备,它按照 5.9.11.3 节的定义发送到达角(Angle of Arrival, AoA)测量消息。广播方可以通过使用 5.9.12 节所定义的数据消息(Data Message, DM),将应用载荷数据作为 AoA 测量消息 MAC 载荷的一部分包含进去。应用载荷数据由上层(Upper Layer, UL)设置。

5.1.2.6 观测方(Observer)

观测方是一种 FiRa 设备,它接收 AoA 测量消息并对每条消息测量 AoA。观测方应将测得的 AoA 发送给上层。若 AoA 测量消息的 MAC 载荷中包含应用载荷数据,观测方可将其发送给上层。

5.1.2.7 UL-TDoA 设备(UL-TDoA Devices)

UL-TDoA 设备分为三种类型,即 UT 标签、UT 锚点和 UT 同步锚点,定义如下。表 6(UWB 消息的 UWB 消息 ID)规定了 UT 标签和 UT 同步锚点所发送的消息类型。

5.1.2.7.1 UT 标签(UT-Tag)

UT 标签是一种 FiRa 设备,它发送 Blink UTM,以便被 UT 锚点基础设施定位。

5.1.2.7.2 UT 锚点(UT-Anchor)

UT 锚点是一种 FiRa 设备,它侦听来自 UT 标签的 Blink UTM 和来自 UT 同步锚点的 Synchronization UTM,并向后端实时定位系统(Real-Time Location System, RTLS)引擎上报所接收消息的接收(RX)时间戳,以用于位置估计或时间同步。

5.1.2.7.3 UT 同步锚点(UT-Synchronization Anchor)

UT 同步锚点可以周期性地发送 Synchronization UTM,以实现带内无线时钟同步。除此之外,UT 同步锚点还侦听来自 UT 标签的 Blink UTM 和来自其他 UT 同步锚点的 Synchronization UTM,并上报所接收消息的 RX 时间戳。

5.2 飞行时间(ToF)报告(Time of Flight (ToF) Reporting)

飞行时间(Time of Flight, ToF)是发射机与接收机之间的超宽带(Ultra-wideband, UWB)传播时间。通过对消息进行精确的时间戳标记,ToF 能够给出两个设备之间相对间距的非常精确的估计。应支持通过信令方案在发起方与一个或多个响应方之间交换该信息。

设备可能保留负的 ToF 值(由测量误差引起),而不是将其截断为 0。

ToF 值的应用不在本文档的范围内。

5.3 STS 分组配置(STS Packet Configuration)

物理层(PHY)包含一些可选模式,用以缩短空中传输时间,从而实现更高密度/更低功耗的运行;此外,当帧中包含一个加密序列——即加扰时间戳序列(Scrambled Timestamp Sequence, STS)——时,可提高测距测量时间戳的完整性和准确性。有关所支持 PHY 分组配置的详细定义,参见 [PHY] 5.1 节。

5.4 测距方法(Ranging Methods)

如 [IEEE_802_15_4z_2020] 6.9.7.2 节所述,完成涉及一组 FiRa 设备的分阶段测距循环所需的时间周期称为测距轮(ranging round)。每个阶段由一个或多个测距时隙(ranging slot)组成——测距时隙是指将一条完整消息从一个设备传输到另一个设备所经历的时段。

以下各节详细介绍测距轮结构,以及属于不同调度方法的不同测距阶段中应使用的消息。

如图 2 所示,一个测距轮可由测距控制阶段(Ranging Control Phase, RCP)、测距阶段(Ranging Phase, RP)和测量报告阶段(Measurement Report Phase, MRP)组成,每个阶段包含一个或多个测距时隙,在其中发送指定的 UWB 消息。当适合所采用的测距方法时,各阶段可合并为单一阶段(例如,当控制器和发起方是同一个 FiRa 设备时,RCP 和测距发起阶段(Ranging Initiation Phase, RIP)可以合并)。

Figure 2

图 2 - 具有不同阶段的测距轮(Ranging round with different phases)
源文档第 13 页

已定义以下 UWB 消息。

每个测距轮可由一个 RCP、一个 RP 和一个 MRP 组成,其中每个阶段都可包含多个测距时隙。对于某些测距轮用法,可以合并其中部分阶段。当测距轮中控制器和发起方是同一个 FiRa 设备时,RCP 和 RIP 可合并为单一阶段。

测距轮的 MRP 可用于通过 MRM、RRRM 或 CRUM 等专用消息传送测距相关信息。

5.4.1 单边双向测距(SS-TWR)

单边双向测距(Single-Sided Two-Way Ranging, SS-TWR)涉及对从发起方设备到响应方设备的单条消息的往返时延进行简单测量,并由响应方将响应回送给发起方。

Figure 3

图 3 - 单边双向测距(SS-TWR)(Single-sided two-way ranging (SS-TWR). This figure is inspired by Figure 6-47a from [IEEE_802_15_4z_2020])
源文档第 14 页

图 3 展示了 SS-TWR 的操作过程。发起方设备通过发送 Poll 消息来发起交互,响应方对此作出回复以完成交互。每个设备都对消息帧的发送时间和接收时间进行精确的时间戳标记,因此可以通过简单相减计算出 𝑇round 和 𝑇reply 时间。由此,可通过下式估计所得到的传播时间或飞行时间 𝑇prop

𝑇̂prop = 1/2 (𝑻round − 𝑻reply)

𝑇prop 的准确度取决于响应时间 𝑇reply 以及发起方与响应方设备之间的时钟频率偏移(Clock Frequency Offset, CFO)。因此,应有一个(且仅一个)FiRa 设备对 CFO 进行补偿,以达到 [PHY](5.4.1 节)所规定的测距精度。

5.4.1.1 增强型 SS-TWR(eSS-TWR)

在 SS-TWR 事务中,由于飞行时间测量误差与 𝑇reply 呈线性关系,较长的响应时间会导致较大的测距误差。为解耦响应时间对测量误差的线性依赖,增强型 SS-TWR(eSS-TWR)对两次往返时延进行测量:从一个 FiRa 设备发往另一个 FiRa 设备的单条消息,以及回送给原始 FiRa 设备的两次响应。eSS-TWR 的操作如图 4 所示,其中设备 A 发起交互,设备 B 响应两次以完成交互。

Figure 4

图 4 - 增强型单边双向测距(eSS-TWR)(Enhanced single-sided two-way ranging (eSS-TWR))
源文档第 15 页

所得到的飞行时间 𝑇prop 可通过下式估计:

𝑇̂prop = 1/2 [𝑻round1 − 𝑻reply1(1 + δ)]

其中,1 + δ = (𝑻round2 − 𝑻round1) / (𝑻reply2 − 𝑻reply1) 为应用于设备 B 响应时间测量值的修正因子。

5.4.2 双边双向测距(DS-TWR)

双边双向测距(Double-Sided Two-Way Ranging, DS-TWR)是基本单边双向测距的扩展,它使用两次往返时间测量和两次响应时间测量并将二者组合,从而即便在较长响应延迟下也能提供误差更小的飞行时间结果。

Figure 5

图 5 - 采用 3 条消息交换的双边双向测距(DS-TWR)(Double-sided two-way ranging (DS-TWR) with a 3-message exchange. This figure is inspired by Figure 6-47c from [IEEE_802_15_4z_2020])
源文档第 16 页

图 5 展示了 DS-TWR 的操作过程。发起方设备首先向响应方设备发起第一次往返测量,随后响应方回复并发起第二次往返测量,发起方对此作出响应,从而完成完整的 DS-TWR 交互。每个设备都对消息的发送时间和接收时间进行精确的时间戳标记,所得到的飞行时间估计值 𝑇prop 可用下式计算:

𝑇̂prop = (𝑇round1 × 𝑇round2 − 𝑇reply1 × 𝑇reply2) / (𝑇round1 + 𝑇round2 + 𝑇reply1 + 𝑇reply2)

5.4.3 单向测距(OWR)

OWR 是一种测距方法,它依赖于根据用例在某个 FiRa 设备与一个或多个其他 FiRa 设备之间沿单一方向传输的消息。OWR 用于到达时间差(TDoA)和到达角(AoA)测量。

TDoA 分为上行 TDoA(UL-TDoA)和下行 TDoA(DL-TDoA)。

在 UL-TDoA 中,某个 FiRa 设备(即 UT 标签)向部署在基础设施中的多个已同步 FiRa 设备(即 UT 锚点和 UT 同步锚点)发送周期性的 blink 消息。

在下行 TDoA(DL-TDoA)中,多个 FiRa 设备(DT 锚点)广播消息,而其他 FiRa 设备(DT 标签)侦听这些消息。基于所接收的消息及其 RX 时间戳,DT 标签针对发送消息的不同 DT 锚点对计算若干 TDoA 测量值。随后,DT 标签可将这些 TDoA 作为输入传递给定位算法,从而估计自身位置。计算 DT 标签位置所需的最少 TDoA 数量,取决于期望进行二维(2D)定位还是三维(3D)定位。

在 AoA 测量中,涉及单对 FiRa 设备(一个广播方和一个观测方)。在这种情况下无法测量 TDoA,但可以在接收端测量到达角(AoA)。

5.4.3.1 上行 TDoA(Uplink TDoA)

上行 TDoA(UL-TDoA)是一种在锚点基础设施处以节能方式、基于单次消息传输(单向测距)来确定移动设备或 UT 标签位置的技术。为此,UT 标签周期性地发送称为 Blink 上行 TDoA 消息(Uplink TDoA Message, UTM)的 UL-TDoA 消息。这些消息由一组时间同步的锚点(UT 锚点)接收,即位置已知的固定 FiRa 设备。UT 锚点测量每个 Blink UTM 的接收(RX)时间戳,该时间戳表示消息的到达时间(Time of Arrival, ToA)。基于到达时间差(TDoA),锚点基础设施可利用双曲线定位法,从单次传输中估计 UT 标签的位置。每个 TDoA 估计值都代表 UT 标签所处的一个双曲面。基于三个或更多双曲面的交点,即可精确确定 UT 标签的位置。

这种 UL-TDoA 方法是一种尽力而为(best-effort)的方式,不保证通信可靠性,并且确实可能发生冲突,尤其是当参与 UL-TDoA 会话的 FiRa 设备(例如 UT 标签)数量增加时。

5.4.3.1.1 时间同步(Time Synchronization)

要使用 UL-TDoA 确定位置,UT 锚点基础设施必须实现时间同步,这通过取决于具体实现的机制来完成,这些机制可以依赖带内无线时钟同步或有线同步。为支持前一种方式,UT 同步锚点可以周期性地发送 Synchronization UTM,并可能在载荷中包含其本地发送(TX)时间戳。范围内的其他 UT 锚点可接收这些消息,并向 RTLS 引擎上报所测得的 RX 时间戳以及所接收到的 TX 时间戳(若包含在 UL-TDoA 载荷中),用于时钟同步以及为推导 TDoA 而进行的时间戳转换。

5.4.3.1.2 位置更新速率与冲突避免(Location Update Rate and Collision Avoidance)

UT 标签和 UT 同步锚点应基于可配置的发送间隔(TX Interval)(表 52,UWB 配置参数)周期性地发送 UTM(分别为 Blink UTM 和 Synchronization UTM)。对于 UT 标签,该间隔对应于两个连续 Blink UTM 之间经过的时间,它定义了可定位该 UT 标签的 TDoA 位置更新速率。对于 UT 同步锚点,该间隔定义了同步频率,在带内无线时钟同步中,接收方 UT 锚点的时钟可按该频率与发送方 UT 同步锚点的时钟同步。TX Interval 可配置,以适应不同的应用需求。

若位于同一区域的两个或多个 UT 标签以相同的 TX Interval 发送 UTM,则它们的分组可能持续冲突,从而降低 UT 锚点基础设施定位和跟踪受影响 UT 标签的能力。类似地,来自两个或多个 UT 同步锚点的 Synchronization UTM 也可能发生这种情况,进而可能破坏可达到的同步性能。为应对这一问题并降低持续冲突的可能性,不同的 UT 设备可以直接配置,也可以通过带外方式配置,使其在不同时刻发送 UTM,从而避免与同一信道上的其他 UTM 或其他 UWB 流量发生冲突。作为替代或补充,UT 设备可以在如图 7 所示的随机窗口内发送其 UTM。该随机时间窗口在表 52 中称为 Random Window 参数。该随机时间窗口可配置,并允许 UL-TDoA 设备将发送时间随机化。

Figure 6

图 6 - 无随机窗口的 UTM 发送(UTM transmission without random window)
源文档第 17 页

Figure 7

图 7 - 带随机窗口的 UTM 发送(UTM transmission with random window)
源文档第 18 页

UT 标签和 UT 同步锚点在内部维护一个时长等于 TX Interval 的时间网格,如图 6 和图 7 中蓝色方框所示。

若未使用 Random Window,则 UT 标签和 UT 同步锚点按照 TX Interval 以规律的时间周期发送 UTM,如图 6 所示。

若使用了 Random Window,则 UT 标签和 UT 同步锚点在某个时间窗口内的随机时刻发送 UTM,该时间窗口从“TX Interval 时间网格”起点开始、到“TX Interval 时间网格 + Random Window”结束,如图 7 所示。

TX Interval 值针对每个 UT 标签和每个 UT 同步锚点独立配置。例如,静止或缓慢移动的 UT 标签可将其间隔配置得比其他移动 UT 标签更大。类似地,UT 同步锚点可以采用比 UT 标签更短的间隔,以确保精确的无线时钟同步。为降低冲突的可能性并避免 UL-TDoA 设备占用共享无线信道,建议 TX Interval 不低于 100ms。UT 锚点应始终处于接收模式,以接收任何 Blink UTM,以及(若支持)Synchronization UTM。UT 同步锚点应始终处于接收模式以接收任何 Blink UTM 和 Synchronization UTM,但在发送 Synchronization UTM 时除外。

5.4.3.1.3 UL-TDoA 中的数据传输(Data Transfer in UL-TDoA)

UT 标签可以在 Blink UTM 中发送 MAC 数据业务数据单元(MAC Data Service Data Unit, MDSDU)。该 MDSDU 不应被分段,并且应承载在 5.9.12 节所定义的单个 DM 载荷信息元素(Information Element, IE)中。

5.4.3.2 用于 DL-TDoA 的 OWR(OWR for DL-TDoA)

DL-TDoA 是一种定位方法,它使 DT 标签能够基于从 DT 锚点接收的 DTM 来估计自身位置。在 DL-TDoA 中,DT 锚点发送 DTM,而 DT 标签被动接收,从而避免暴露任何 DT 标签的位置。

每个 DT 锚点都精确测量其自身 DTM 的发送时间以及所接收 DTM 的接收时间。每个 DT 锚点应将其 DTM 的发送时间包含在该 DTM 中。DT 标签精确测量其所接收的每个 DTM 的接收时间,并利用该接收时间戳连同所获取的 DL-TDoA 锚点坐标来估计自身位置。

Figure 8

图 8 - DL-TDoA 测距轮中的下行 TDoA 消息交换过程(Downlink TDoA message exchange procedure in a DL TDoA ranging round)
源文档第 19 页

图 8 所示的 TDoA 测距轮中 DL-TDoA 消息交换过程描述如下:

  1. 发起方 DT 锚点通过发送广播的 Poll DTM 来发起 DL-TDoA 轮,该 Poll DTM 由集群(定义见 5.4.3.2.1 节)内的响应方 DT 锚点接收。Poll DTM 应包含调度信息,以便每个响应方 DT 锚点在所分配的测距时隙内发送 Response DTM。
  2. 接收到 Poll DTM 后,每个响应方 DT 锚点在其所分配的测距时隙内以 Response DTM 回复发起方 DT 锚点。
  3. 在接收到来自响应方 DT 锚点的 Response DTM 之后,发起方 DT 锚点可以进一步向响应方 DT 锚点发送 Final DTM。

DT 标签接收如上所示交换的 Poll DTM、Response DTM 和 Final DTM,并根据这些消息的 RX 时间戳及其中包含的信息计算 TDoA 值。

5.4.3.2.1 DL-TDoA 网络结构(DL-TDoA Network Structure)

DL-TDoA 网络由多个 DT 锚点组成,这些锚点以集群形式组织,并分布在一个可能很大的部署区域内。

集群是一组 DT 锚点(图 9),它们交换 DTM,以向该集群所覆盖的特定区域或地区内的 DT 标签提供定位服务。集群由一个发起方 DT 锚点和一个或多个响应方 DT 锚点组成。在仅有单个响应方 DT 锚点的情况下,该集群也可称为锚点对(anchor pair)。在图 9 中,灰色矩形表示同一集群内四个 DT 锚点所覆盖的地理空间。对于如图 9 所示能够接收四个 DT 锚点之间交换的 DTM 的 DT 标签,该 DT 标签可以估计出三个 TDoA 值。

一个 DT 锚点可以在多个集群中运行,以发起方或响应方 DT 锚点的身份参与。例如,在某一集群中作为发起方 DT 锚点运行的 DT 锚点,可以在其他集群中作为响应方 DT 锚点运行。这有助于实现用于块对齐的集群间同步,5.4.3.2.4 节将进一步详细描述。

Figure 9

图 9 - 集群示例图示(Example illustration of a cluster)
源文档第 20 页

为将定位服务扩展到较大区域,可能需要部署多个集群,如图 10 所示。此外,某个集群所覆盖的区域可以与相邻集群所覆盖的区域重叠,以减小(改善)精度衰减因子(Dilution of Precision, DOP)的影响。

Figure 10

图 10 - 多集群锚点部署示例(Example anchor deployment with multiple clusters)
源文档第 20 页

5.4.3.2.2 测距块结构(Ranging block structure)

每个测距块由多个测距轮组成。在一个测距轮中,集群内的 DT 锚点交换至少一个 Poll DTM、一个或多个 Response DTM,以及可选的一个 Final DTM(定义见 5.4.3.2 节)。一个测距轮可以被多个彼此相距较远、互不干扰的集群使用。换言之,不同集群中的 DT 锚点可以被配置为在互不干扰的情况下运行于相同的测距轮中。这样一来,可以减少部署中用于 DL-TDoA 的活动测距轮总数。例如,彼此无法听到的两个集群中的 DT 锚点可以被配置为使用相同的第 k 个测距轮。结果是,这两个集群中的发起方 DT 锚点将在第 k 个测距轮的测距时隙 0 中同时发送各自的 Poll DTM。

Figure 11

图 11 - 每个集群使用一个测距轮的示例(Example where each cluster uses a ranging round)
源文档第 21 页

5.4.3.2.3 集群内同步(以实现公共时间)(Intra-cluster synchronization (to achieve common time))

集群内的 DT 锚点可以执行集群内同步,这使得该集群内的响应方 DT 锚点能够将其本地发送(TX)时间戳转换到该测距轮发起方 DT 锚点的(公共)时间域。这进而使 DT 标签能够基于所接收的 TX 时间戳和所测得的 RX 时间戳推导 TDoA 估计值。

在给定测距轮的第一个时隙中,发起方 DT 锚点发送 Poll DTM。若为某个响应方 DT 锚点启用了集群内同步,则该响应方 DT 锚点可以将其本地 TX 时间戳转换为发起方 DT 锚点的公共时间,并将转换后的 TX 时间戳包含在 Response DTM 中,同时将 Message Control 字段的 TX Timestamp Type 字段设置为 1(即公共时间基准)。

5.4.3.2.4 集群间同步(Inter-cluster synchronization)

集群间同步的目标是对齐多集群 DL-TDoA 网络中各发起方 DT 锚点的测距块结构,并避免集群之间的干扰。

在 DL-TDoA 网络中,应至少存在一个充当时间参考的发起方 DT 锚点(即参考 DT 锚点)。参考 DT 锚点通过在其所配置的活动测距轮的第一个测距时隙(即测距时隙索引 0)中发送 Poll DTM 来生成测距块。可以将参考 DT 锚点配置为运行于第一个测距轮,从而使参考 DT 锚点在测距块的第一个测距轮的第一个测距时隙中发送其 Poll DTM。其他发起方 DT 锚点在开始发送各自的 Poll DTM 之前,应通过侦听 DTM 与参考 DT 锚点生成的测距块同步。附录 G 描述了实现集群间同步的两种机制。

这些集群间同步机制并非旨在使 DT 标签能够精确计算跨集群的 TDoA 估计值,例如来自不同集群中两个 DT 锚点的 TDoA。

相邻集群中的 DT 锚点可以通过使用附加/其他方法更精确地同步(例如达到亚纳秒级精度),从而使 DT 标签能够精确计算跨集群的 TDoA。但是,对这些附加/其他方法的考虑不在本规范的范围内。附录 J 给出了此类方法的一个示例。

5.4.3.2.5 DL-TDoA 中的数据传输(Data Transfer in DL-TDoA)

发起方或响应方 DT 锚点可以发送 MDSDU。该 MDSDU 承载在 5.9.12 节所定义的 DM 载荷 IE 中。MDSDU 的发送和接收应遵循 5.10.1 节所定义的要求。

5.4.3.3 用于 AoA 测量的 OWR(OWR for AoA measurement)

用于 AoA 测量的 OWR 是一种测距方法,它使观测方能够从广播方接收 OWR 消息并测量 AoA,以估计或预测观测方用户的意图、动作或运动。例如,可以基于对来自某一广播方的 OWR 消息进行多次 AoA 测量的结果,来确定控制该特定广播方的用户意图。

Figure 12

图 12 - 当 MIN_FRAMES_PER_RR 设置为 4 时,发送 AoA 测量消息(即作为广播方)的 FiRa 设备所使用的测距块结构示例(Example of ranging block structure to be used by a FiRa Device that transmits AoA Measurement Messages (i.e., as Advertiser) when MIN_FRAMES_PER_RR is set to 4)
源文档第 22 页

图 12 展示了单个广播方在测距块中所发送的 RFRAME。在这样的测距块中,应只存在一个 AoA 测量测距轮。AoA 测量测距轮不包含测距时隙。在该测距轮中,可以发送多条 AoA 测量消息,每条消息各在一个独立的 SP1 RFRAME 中发送(如图所示),并且第一个 RFRAME 应在测距轮起始处发送。应发送的 RFRAME 数量应包含在 5.9.11.3 节所定义的 AoA 测量消息的 Message Control 字段(见表 43)中。

广播方应基于表 52 所规定的 UWB 配置中的每测距轮最少帧数(Minimum Frames per RR,即 MIN_FRAMES_PER_RR)和帧间隔(Inter-Frame Interval)配置参数来配置 AoA 测量消息。MIN_FRAMES_PER_RR 表示广播方在一个测距块中应发送的 AoA 测量消息的最少数量。广播方在一个测距轮中实际发送的 AoA 测量消息数量(即等于表 43 中所规定的参数“Number of RFRAMEs”的值)应作为 AoA 测量消息的字段之一包含在内。Number of RFRAMEs 应等于或大于在广播方处配置的 MIN_FRAMES_PER_RR。当广播方在一个测距轮中发送多于一条 AoA 测量消息时,两条连续 AoA 测量消息之间的发送间隔应等于 Inter-Frame Interval 参数。Inter-Frame Interval 也应作为 AoA 测量消息的字段之一包含在内。当观测方在一个测距轮中接收到 AoA 测量消息时,观测方可以基于 AoA 测量消息中所包含的 Number of RFRAMEs 和 Inter-Frame Interval 参数,确定广播方在该测距轮中已经/将要发送的 AoA 测量消息数量以及广播方已经/将要发送这些消息的间隔。

5.4.3.3.1 用于 AoA 测量的 OWR 中的数据传输(Data Transfer in OWR for AoA Measurement)

广播方可以在 AoA 测量消息中发送 MDSDU。若存在,该 MDSDU 应承载在 5.9.12 节所定义的一个或多个 DM 载荷 IE 中。DM 载荷 IE 应按照 6.3.4.2.5.2 节的规定与 AoA 测量消息捎带(piggyback)传输。第一个 DM 载荷 IE 应在第一个 RFRAME 中发送。

广播方应基于表 52 所规定的 MTU Size 来配置 AoA 测量消息中 DM 载荷 IE 的最大尺寸。AoA 测量消息中 DM 载荷 IE 的最大尺寸应受 MTU Size 限制,而 MTU Size 应在考虑 PHY 模式和 Inter-Frame Interval 的情况下确定。若广播方将 MDSDU 分段为 N 个段,则 Number of RFRAMEs 应等于或大于 N。若 Number of RFRAMEs 大于 N,则前 N 个 RFRAME 应包含 DM 载荷 IE。前 N 个 RFRAME 之后的其余 RFRAME 不应包含任何 DM 载荷 IE。请注意,一个测距轮中的 DM 载荷 IE 可以包含不同大小的段。

5.4.3.3.2 用于 OWR AoA 测量的时序要求(Timing Requirements for OWR AoA Measurement)

帧间隔保护时间(Inter-Frame-Interval Guard Time, IFI_GT)是一个 AoA 测量测距轮中两次连续 RFRAME 发送之间的时间。广播方在发送下一个 RFRAME 之前,至少等待最小的 IFI_GT(记为 IFI_GT_MIN)。广播方选择其最大 RFRAME 尺寸,使其在每个 IFI(包含在 OWR 消息中,见表 42)起始处发送各 RFRAME,同时满足最小 IFI_GT。最小 IFI_GT 确保观测方有足够的时间检测某个 RFRAME 的结束,并准备检测和接收下一个 RFRAME。

帧间隔块保护时间(Inter-Frame-Interval Block Guard Time, IFI_BGT)是一个 AoA 测量测距轮的最后一个 RFRAME 与下一个测距块起始之间的时间。广播方在为下一个测距块开始帧发送之前,至少等待最小的 IFI_BGT(记为 IFI_BGT_MIN)。

图 13 展示了一个 AoA 测量测距轮,其每测距轮四帧(MIN_FRAMES_PER_RR),并示出了一个 RFRAME 结束与后续 RFRAME 起始之间的 IFI_GT。IFI_BGT 则示为 AoA 测量测距轮最后一个 RFRAME 结束与启动下一个测距块的帧(例如启动下一个 AoA 测量测距轮)之间的时间长度。

Figure 13

图 13 - 用于 OWR AoA 测量的帧间隔保护时间(Inter-Frame-Interval Guard Time for OWR AoA Measurement)
源文档第 23 页

用于 AoA 测量的 OWR 适用以下时序要求:

5.5 多节点模式(Multi-node mode)

5.5.1 一对一(One-to-One,O2O)

O2O 模式是指在一个测距轮(ranging round)中仅有一个测距发起方(Initiator)和一个测距响应方(Responder)参与,它是 O2M 模式的一种特殊情况。

5.5.2 一对多(One-to-Many,O2M)

O2M 模式是指一个发起方和多个响应方参与一个测距轮或数据传输轮,其中发起方与所有响应方执行测距或数据交换。

5.6 调度模式(Scheduling Mode)

5.6.1 时间调度模式(Time-scheduled mode)

时间调度测距用于这样的测距轮:受控器(Controlee)由控制器(Controller)调度,以在不同的测距时隙(ranging slot)中发送测距帧(RFRAME)/测量报告。在该模式下,测距时隙由控制器在无竞争周期(CFP)中为特定 FiRa 设备(FiRa Device)调度。

DL-TDoA 采用时间调度模式,其中发起方 DT 锚点(DT-Anchor)为响应方 DT 锚点调度时隙,以在测距轮中被指派的时隙内发送 DL-TDoA 消息(DTM)。

5.6.2 基于竞争的模式(Contention-based mode)

基于竞争的测距通常用于控制器不知道哪些 FiRa 设备将参与 UWB 会话(session)的情况。在该模式下,控制器应始终承担发起方角色,受控器应始终承担响应方角色。该模式适用于双边双向测距(TWR)会话。

在每个基于竞争的测距轮中,控制器在控制消息(CM)中决定并通知竞争接入周期(CAP)的大小。在该模式下,测距控制阶段(RCP)和测距发起阶段(RIP)应合并到 RIP 中。测距阶段(RP)中 CAP 大小的分配决定了参与该测距轮的响应方的 CAP 持续时间(以测距时隙计)。每个响应方应在 CAP 内随机选择一个测距时隙以发送其测距响应消息(RRM)。用于选择测距时隙的随机化函数应使 CAP 的每个测距时隙被选中的概率相等。

控制器应发送测距发起消息(RIM),它同时也是基于竞争的测距的 2 型控制消息(Control Message Type 2),位于测距轮中被标识为该测距轮时隙 0 的第一个测距时隙中。FiRa 设备在基于竞争的测距的 RP 中发送的每条消息均应使用 SP1 作为具有多用途帧类型的 RFRAME 配置。

CAP 包含 "M" 个测距时隙,响应方可在其中发送其 RRM。

CAP 测距时隙紧跟在 RIM 测距时隙之后开始。

Figure 14

图 14 - RIM 之后立即开始的 CAP(SS-TWR)(CAP starting immediately after RIM (SS-TWR))
源文档第 25 页

控制器设定的 CAP 大小应小于或等于 CAP 大小范围(CAP Size Range)的配置最大值。CAP 大小不应小于 CAP 大小范围的最小值。当响应方在 CAP 期间竞争测距时隙时,可能会发生冲突。控制器可决定基于检测到的冲突数量或响应方数量来调整后续测距轮的 CAP 大小。冲突检测以及动态改变 CAP 大小的决定由厂商特定实现决定。

5.6.2.1 单边双向测距(SS-TWR)测距方法

参与基于竞争的测距的 FiRa 设备应支持非延迟(Non-Deferred)SS-TWR 测距方法(见第 5.7 节)。非延迟 SS-TWR 基于竞争的测距的测距响应阶段(RRP)从紧随 RIM 之后的测距时隙开始,到 CAP 的最后一个测距时隙结束。响应方应将 3 型测量报告消息(Measurement Report Message,MRM Type 3)作为 RRM 发送。响应方可决定不在 MRM Type 3 中发送到达角(AoA)相关信息。

当使用 SS-TWR 测距方法时,由于响应方与发起方之间的时钟频率偏移(CFO),回复时间越长,测距误差越大。因此,响应方设备应在其包含于 MRM Type 3 消息中的回复时间(Reply Time)内补偿其 CFO。

5.6.2.2 增强型单边双向测距(eSS-TWR)测距方法

eSS-TWR 测距方法可用于减轻误差因素。当使用 eSS-TWR 测距方法时,控制器设定的 CAP 大小 M 应为偶数。每个响应方随机选择一个数 k,使得 0≤k≤M/2-1,并在测距时隙 2k+1 和 2k+2 中发送其 RRM。

Figure 15

图 15 - 基于竞争的测距中的非延迟 eSS-TWR 测距方法(Non-deferred eSS-TWR ranging method in contention-based ranging)
源文档第 26 页

5.6.2.3 双边双向测距(DS-TWR)测距方法

基于竞争的调度模式也可支持非延迟 DS-TWR 测距方法。在该方法中,响应方的 RRP 占用连续的时隙,其后跟随对所有响应方公用的单个测距终结阶段(RFP)和测量报告阶段(MRP)。

RRP 应紧跟在 RIP 之后开始,RFP 应紧跟在 RRP 的最后一个测距时隙之后开始。发起方应在 RIP 中将 2 型控制消息(CM Type 2)作为 RIM 发送。响应方应在 RRP 中将 MRM Type 3 作为 RRM 发送,其中回复时间(Reply Time)设置为 0。发起方应在 RFP 中将一条或多条 1 型测量报告消息(MRM Type 1)作为测距终结消息(RFM)发送。当回复时间列表(Reply Time List)超出消息的 MAC 载荷(payload)大小时,该测距轮的 RFP 应包含多条 MRM Type 1。MRP 的 CFP 紧跟在 RFP 的最后一条消息之后开始。MRM Type 1 消息中的首次往返时间(First round-trip time)应对应于回复时间列表中最先列出的响应方。在 MRP 期间,响应方应在 MRP 中与其在回复时间列表中的位置相对应的第 j 个测距时隙内以其测距结果报告消息(RRRM)进行响应。在此场景中,回复时间列表的第一个元素对应于 MRP 的第一个测距时隙,回复时间列表的第 j 个元素对应于 MRP 的第 j 个测距时隙。在回复时间列表中未找到条目的响应方不应参与 MRP。MRP 的大小应为在 RFP 中发送的所有 MRM Type 1 消息的回复时间列表长度之和。

Figure 16

图 16 - 带测量报告阶段的基于竞争的测距示例(非延迟 DS-TWR)(Example Contention-based ranging with Measurement Report Phase (Non-Deferred DS-TWR))
源文档第 27 页

5.6.2.4 替代 DS-TWR(aDS-TWR)测距方法

基于竞争的调度模式也可支持替代 DS-TWR(aDS-TWR)测距方法。

在 aDS-TWR 中,RFP 和 MRP 紧跟在每个响应方的 RRP 之后。如果不存在 MRP,则 CAP 大小 M 应为偶数。响应方随机选择一个数 k,使得 0≤k≤M/2,并在时隙 2k+1 中发送其 RRM。如果存在 MRP,则 CAP 大小 M 应为 3 的倍数。响应方随机选择一个数 k,使得 0≤k≤M/3,并在时隙 3k+1 中发送其 RRM,随后在时隙 3k+2 中发送其 RRRM。图 17 展示了不带 MRP 的 aDS-TWR 测距示例。

Figure 17

图 17 - 不带 MRP 的基于竞争的测距示例(非延迟 aDS-TWR)(Example of Contention-based ranging without MRPs (Non-Deferred aDS-TWR))
源文档第 27 页

5.6.2.5 Tx 偏移、Tx 抖动和响应方管理列表的处理(适用于所有测距方法)

在测距轮的 CAP 期间,为降低冲突概率,响应方可在测距时隙内以允许的 Tx 偏移(Tx offset)发送其响应消息。

控制器应为发送 RRM 选择每个测距时隙的 Tx 偏移数量,以使 RRM 帧的发送不超出测距时隙边界。控制器应在 CM Type 2 中指示可由响应方选择的允许 Tx 偏移列表。响应方可随机选择其中一个允许的 Tx 偏移。

从测距时隙起始处算起的第 k 个发送偏移(以 RSTU 为单位)按以下公式计算:

Tx Offset_k = (k * Slot Duration) / Number of Tx Offsets

Tx 偏移 0 从时隙起始处开始。在图 18 中,Tx 偏移数量(Number of Tx Offsets)为 4,而允许的 Tx 偏移仅为 Tx 偏移 0 和 Tx 偏移 2。响应方只能选择 Tx 偏移 0 或 Tx 偏移 2 来发送其 RRM。控制器理想情况下应配置 Tx 偏移数量和允许 Tx 偏移列表,以避免在两个连续的允许 Tx 偏移中发送的 RRM 发生任何重叠。控制器在配置 Tx 偏移数量和允许 Tx 偏移列表时还应考虑 CAP 大小,因为 CAP 大小和 Tx 偏移数量相互关联,以最大限度地减少 RRM 冲突。

Figure 18

图 18 - Tx 偏移表示示例(Example Tx offset representation)
源文档第 28 页

如果响应方不支持 Tx 偏移功能,则其应在 Tx 偏移 0 处发送其响应消息。

为了进一步增加在冲突事件中正确接收到其中一条 RRM 的机会,控制器为响应方指定 Tx 抖动窗口(Tx jitter window)是有益的,使得每个响应方在发送 RRM 时引入一个受指定 Tx 抖动窗口限界的随机偏移,并且控制器可在 Tx 抖动窗口期间继续检测传入的 RRM。图 19 展示了一个示例。

Figure 19

图 19 - Tx 抖动窗口示例(Example Tx jitter window)
源文档第 29 页

在基于竞争的测距会话期间,控制器获知响应方的身份。当控制器获知响应方的身份时,它可在 CM Type 2 消息中包含响应方管理列表(RML)。当存在 RML 时,RRP 的 CAP 的前 N 个时隙为 RML 中存在的 J 个响应方预留。RML 的每个元素对应于一个已知响应方的设备 MAC 地址(Device MAC Address)。响应方在 RML 中的第 j 个位置对应于 RRP 的 CAP 的第 j 个测距时隙。在 CM Type 2 的 RML 中未找到设备 MAC 地址的响应方应使用 RRP 的预留测距时隙之后 CAP 中的任何随机测距时隙。

Figure 20

图 20 - CAP 中设备的非延迟 SS-TWR 识别示例(Example Non-deferred SS-TWR identification of the devices in CAP)
源文档第 29 页

在上面使用非延迟 SS-TWR 的示例中,在第一个测距轮期间,RRP 中有 4 个不同的响应方。随后控制器执行距离测量,这些响应方为控制器所知。控制器用这些已知响应方构建 RML,并在后续测距轮的测距时隙零中发送 CM Type 2。

Figure 21

图 21 - 为 RML 设备进行 CAP 预留的非延迟 SS-TWR 示例(Example Non-deferred SS-TWR with CAP reservation for RML devices)
源文档第 30 页

响应方检查 RML,如果找到其设备 MAC 地址,则其应在与其在 RML 中位置相对应的测距时隙中发送 RRM。在 RML 中未找到设备 MAC 地址的响应方应使用可用 CAP 中的任何随机测距时隙。响应方在预留测距时隙中进行响应时,应忽略 CM Type 2 中配置的 Tx 偏移信息。

Figure 22

图 22 - 为 RML 设备进行 CAP 预留的非延迟 eSS-TWR 测距(Non-deferred eSS-TWR ranging with CAP reservation for RML devices)
源文档第 30 页

如果使用 eSS-TWR 测距方法,且如图 22 所示在 CM Type 2 中存在 RML,则前 R 个时隙为 RML 中指示的响应方预留,其中 R 也应为偶数。响应方可随机选择的 CAP 中的测距时隙数量为 M-R。每个响应方随机选择一个数 k,使得 0≤k≤(M-R)/2-1,并在测距时隙 R+2k+1 和 R+2k+2 中发送其 RRM。

5.6.3 混合 UWB 调度(Hybrid UWB Scheduling)

混合 UWB 调度(HUS)是一项功能,允许以彼此之间固定的时间关系调度配置为时间调度模式或基于竞争模式的 UWB 会话,使得它们以确定性的时间顺序出现在 HUS 测距轮中。当需要实现更复杂的用例(该用例需要顺序且可能重叠地执行多个 UWB 会话)时,这一点很有意义。

HUS 结构由一个测距控制阶段(RCP)和可能的 HUS 测距阶段(HUS Ranging Phase)组成。如图 23 所示,HUS 测距阶段可以是竞争接入周期(CAP)或无竞争周期(CFP)。RCP 始终从 HUS 测距轮的第一个时隙开始,并可延伸到后续的时隙。HUS 测距阶段的起始和结束时隙索引针对 RCP 中的每个测距轮进行配置。HUS 测距阶段按顺序出现,但可能重叠,即下一个 HUS 测距阶段可能在前一个结束之前开始。在每个 HUS 测距阶段内执行一个 UWB 会话,称为 HUS 次级会话(HUS secondary session)。特别地,在 CAP 内执行基于竞争的 TWR 会话,在 CFP 内可执行基于时间调度的 TWR 会话或专用数据传输会话。

Figure 23

图 23 - 由 RCP 和 HUS 测距阶段组成的 HUS 结构(HUS structure consisting of a RCP and HUS Ranging phases)
源文档第 31 页

FiRa 设备可作为 HUS 控制器或 HUS 受控器参与 HUS 会话。HUS 控制器通过在 RCP 中发送 3 型控制消息(CM Type 3)来调度整个 HUS 测距轮,如第 5.9.13 节所定义。所有 HUS 受控器应监听 HUS 控制器的 CM Type 3。CM Type 3 为每个 HUS 测距阶段包含一个数据元素,该元素存储以下信息:该 HUS 测距阶段是 CAP 还是 CFP、其起始和结束时隙索引、哪个设备将充当该 HUS 测距阶段的控制器/发起方,以及阶段会话 ID(Phase Session ID)。CM Type 3 的所有元素定义了在该测距轮中活动的所有 HUS 测距阶段的顺序。HUS 控制器或 HUS 受控器均可在特定 HUS 测距阶段中承担控制器/发起方角色。

用于 HUS 会话和每个 HUS 测距阶段的 UWB PHY 和 MAC 参数可单独配置,但在整个 HUS 测距轮期间不应改变。与加扰时间戳序列(STS)生成方法相关的 UWB PHY 配置在不同 HUS 测距阶段之间可以不同。

对于 HUS 会话,应适用第 6.3.2 节中定义的基于块模式要求(Block-based Mode Requirements)。HUS 测距轮的长度定义为时隙 0 的起始与所有 HUS 测距阶段的最大结束索引所对应的时隙的结束之间的持续时间。

HUS 测距阶段的时隙持续时间应为为 HUS 会话配置的时隙持续时间的整数倍。

HUS 测距阶段内的时隙数量应使用包含于 CM Type 3 的测距轮管理列表(RRML)中的时隙索引起始(Slot Index Start)、时隙索引结束(Slot Index End)以及 HUS 会话时隙持续时间,按如下方式计算:

1. HUS 测距阶段持续时间(HUS Ranging Phase Duration)= (Slot Index End - Slot Index Start + 1) * Slot DurationHUS Session

2. HUS 测距阶段中的时隙数量(Number of Slots in HUS Ranging Phase)= ⌊HUS 测距阶段持续时间 / Slot DurationHUS Ranging Phase⌋,其中 ⌊ ⌋ 表示向下取整函数。

每个 HUS 测距阶段内的时隙索引处理应针对每个 HUS 测距阶段独立进行。

注:HUS 会话的时隙索引用于定义每个 HUS 测距阶段的起始和结束时间。

每个测距块(ranging block)应仅有一个活动的 HUS 测距轮。

HUS 测距阶段应按顺序出现,但可能重叠,即下一个 HUS 测距阶段在前一个结束之前开始。

HUS 控制器不应将重叠的 HUS 测距阶段的控制器角色指派给同一 FiRa 设备。

以下规则适用于参与重叠 HUS 阶段的控制器或受控器:

HUS 控制器应在 HUS 测距轮的前几个时隙中,以第 5.9.13 节定义的格式发送 CM Type 3 的起始。

CM Type 3 可能超过一个时隙持续时间,从而可能延伸到后续时隙。在这种情况下,HUS 控制器应使用帧挂起位(Frame Pending bit)功能(例如第 5.4.3.3 节所定义)来宣告 CM Type 3 帧的分段。

如果 CM Type 3 被分段,则包含分段的所有时隙应在 RCP 中发送。RCP 绝不应与后续的 HUS 测距阶段重叠。

HUS 受控器应在 HUS 测距轮的第一个时隙中接收 CM Type 3。如果使用了帧挂起(Frame Pending)功能,则 HUS 受控器应准备好接收分段在多个时隙上的 CM Type 3。

如果某 FiRa 设备的 MAC 地址列于 CM Type 3 中,则该 FiRa 设备应充当某个 HUS 测距阶段的控制器。

HUS 测距阶段的控制器应在该 HUS 测距阶段的第一个时隙中发送与在该 HUS 测距阶段中调度的已配置次级会话相对应的 CM(CM Type 1、CM Type 2 或数据传输协议控制消息(DTPCM))。此外,为已配置的测距方法和角色定义的相同要求应同时适用于控制器和受控器。

如果某 FiRa 设备被配置为 CFP HUS 测距阶段的受控器,则其应参与该阶段对应 CM 的测距或数据传输。

如果某 FiRa 设备被配置为 CAP HUS 测距阶段的受控器,则其应监听 CM Type 2 并参与该 HUS 测距阶段,但有以下例外:如果受控器参与了某个 CFP HUS 测距阶段,则当由同一控制器控制的 CAP 出现在该 CFP 之后时,其不应参与该 CAP。

如果启用了跳频模式(Hopping mode),则它作为整个 HUS 测距轮适用于所有 HUS 测距阶段。

如果启用了块跨步(Block striding),则它作为整个 HUS 测距轮适用于所有 HUS 测距阶段。

图 24 展示了一个 HUS 测距轮的示例,该测距轮由三个 HUS 测距阶段组成:一个使用时间调度 TWR 的 CFP、一个 CAP 和一个使用时间调度数据传输的 CFP。

Figure 24

图 24 - 示例 – HUS 测距轮(Example – HUS Ranging round)
源文档第 33 页

附录 I 中展示了一个可能的 HUS 测距轮配置示例。

5.7 延迟模式和非延迟模式(Deferred mode and Non-deferred mode)

5.7.1 延迟(Deferred)

延迟测距轮应包含一个 MRP,在其中交换回复时间和往返时间。

5.7.2 非延迟(Non-deferred)

非延迟测距轮在 RP 内包含测量报告消息(Measurement Report Message),在其中交换回复时间和/或往返时间。

5.8 基于块的模式机制(Block-based Mode mechanisms)

在基于块的模式中,假定连续测距轮之间的平均时间为常数。

控制器应在第一个测距块(块索引 0)中的第一个测距轮(轮索引 0)中启动测距会话。

5.8.1 轮跳频(Round Hopping)

轮跳频是 FiRa 设备跳转到下一个测距块的不同测距轮索引以执行测距测量的功能。FiRa 设备在下一个测距块中使用的测距轮由跳频序列(hopping sequence)决定。所选的跳频模式适用于会话的整个生命周期。

5.8.2 跳频序列(Hopping Sequence)

对于轮跳频,测距会话中的每个测距设备应可使用相同的跳频序列。应使用以下函数生成跳频序列。

S(BlockIndex, SessionID, NRound) = ((AES(BlockIndex, SessionID) & 0xFFFF) NRound) >> 16

其中 NRound 表示测距块中的测距轮数量,>> 表示按位右移运算符。

AES 函数应使用 AES-128(高级加密标准-128)的 ECB 模式。BlockIndex 和 SessionID 均应在左侧补零以达到 AES 块大小,并分别用作明文和密钥。

跳频序列决定在启用跳频模式时应使用的测距轮的轮索引。

无论是否启用轮跳频,BlockIndex 0(即测距会话中的第一个测距块)的轮索引应始终为 0。这意味着轮跳频可能直到 BlockIndex 1 才开始。

示例参见附录 H。

5.8.3 块跨步(Block Striding)

块跨步功能可用于跳过测距块。当不需要频繁测距时,测距设备可通过跳过测距块来降低功耗。

跨步长度(Stride length)指示在下一次测距之前将跳过多少个测距块。如果跨步长度的值为 N,当前块索引为 M,则下一个使用的测距块的索引为 M+N+1。

5.8.4 UWB 发起时间(UWB Initiation Time)

UWB 发起时间是 "UWBS 时间" 域中的绝对时间,在该时间,在测距会话启动之后应发送第一条消息(例如第一条 CM,或在 TWR 情况下合并的 CM 和 RIM)。"UWBS 时间" 是 UWBS 的系统时间,UWBS 的 MAC 实现使用该时间来建立测距轮。

5.8.5 块跳过(Block Skipping)

块跳过功能可由 DT 标签(DT-Tag)用于通过自行决定跳过测距块来降低 DL-TDoA 期间的功耗。DT 标签不会与 DT 锚点通过带内或任何带外(OOB)机制进行协商来决定是启用还是禁用块跳过功能。

此功能仅适用于 DT 标签,不适用于 DT 锚点。

5.9 UWB 消息(UWB Messages)

UWB 消息是在测距轮中由 FiRa 设备传输的载荷 IE。

接收到载荷 IE 的 FiRa 设备应忽略该载荷 IE 中的未知字段,并继续正常操作。

本节详细介绍用于测距轮各测距阶段的 UWB 消息。

测距轮中使用的帧可以是 SP0(STS 数据包配置 0)、SP1 或 SP3 数据包(详见 [PHY])。

测距阶段(RP)中用于测距测量的帧称为测距帧(RFRAME)。RFRAME 通过 PHY 头部(PHR)中设置的 Ranging 字段位来指示。没有 PHR 的 SP3 数据包应始终视为 RFRAME。

FiRa 设备在测距轮的测距控制阶段(RCP)或测量报告阶段(MRP)中传输的消息应为数据帧(Data Frame)。数据帧通过 PHR 中未设置 Ranging 字段位来指示。

一个 RFRAME 可包含多个 UWB 消息,作为 [IEEE_802_15_4_2020] 第 7.2.9 节所规定的嵌套载荷 IE。当 RFRAME 承载多个 UWB 消息时,首先传输的载荷 IE 的 UWB Message ID 字段应指示测距轮 RP 中的阶段(RIP/RRP/RFP)。如果 RFRAME 包含 DM 载荷 IE,则其应以自身的 Message ID(0x8)传输。

当 RIP RFRAME 承载 CM 信息时,CM 应为第一个嵌套载荷 IE,且 CM 的 UWB Message ID 为 0x0(即 RIM 的 UWB Message ID)。当 RRP RFRAME 承载 MRM 信息时,MRM 应为第一个载荷 IE,且 MRM 的 UWB Message ID 为 0x1(即 RRM 的 UWB Message ID)。当 RFP RFRAME 承载 MRM 信息时,MRM 应为第一个载荷 IE,且 MRM 的 UWB Message ID 为 0x2(即 RFM 的 UWB Message ID)。

Figure 25

图 25 - 测距阶段颜色代码(Color code of Ranging Phases)
源文档第 35 页

以下详细介绍适用于延迟和非延迟测距轮结构的消息。

Figure 26

图 26 - 延迟 SS-TWR 测距轮(Deferred SS-TWR Ranging Round)
源文档第 35 页

在延迟 SS-TWR 测距中,CM Type 1 应作为 CM 传输。当使用 SP3 帧作为 RFRAME 时,SS-TWR 的时隙顺序应隐式指示 RP 消息。可选地,当 SP1 不承载其他载荷 IE 时,RP 中可使用 PSDU(PHY 服务数据单元)大小为零的 SP1 作为 RFRAME。可以在 SP1 RFRAME 中传输 DM 载荷 IE,在这种情况下,DM 载荷 IE 应具有自身的 Message ID(0x8)。在此测距轮中,MRM 消息应由发起方或响应方传输,且应使用 MRM Type 2 作为 MRM。

Figure 27

图 27 - 无 RCP 的非延迟 SS-TWR 测距轮(Non-deferred SS-TWR Ranging Round without RCP)
源文档第 36 页

在非延迟 SS-TWR 测距中,RCP 是可选的。当不包含 RCP 时,CM 由发起方在 RP 中作为 RIM 消息传输。响应方应在时间调度测距中于 RP 内将 MRM Type 2 消息作为 RRM 传输,或在竞争接入测距中将 MRM Type 3 作为 RRM 传输。

Figure 28

图 28 - 带 RCP 的非延迟 SS-TWR 测距轮(Non-deferred SS-TWR Ranging Round with RCP)
源文档第 36 页

当非延迟 SS-TWR 测距中包含 RCP 时,应使用 CM Type 1 作为 CM。当 RIM 不承载其他载荷 IE 时,其应为 PSDU 为零、以 SP1 作为 RFRAME 的帧,且应使用 MRM Type 2 作为 RRM。

Figure 29

图 29 - 无 RCP 的非延迟 eSS-TWR 测距轮(Non-deferred eSS-TWR Ranging Round without RCP)
源文档第 36 页

对于 eSS-TWR 测距,适用于延迟和非延迟测距轮结构的消息细节与 SS-TWR 测距类似,不同之处在于每个测距轮有两个 RRM。图 29 展示了无 RCP 的非延迟 eSS-TWR 测距轮示例。

Figure 30

图 30 - 延迟 DS-TWR 测距轮(Deferred DS-TWR Ranging Round)
源文档第 37 页

在延迟 DS-TWR 测距中,发起方应在测距轮的 MRP 中传输 MRM Type 1 消息。当使用 SP3 帧作为 RFRAME 时,DS-TWR 的时隙顺序应隐式指示 RP 消息。可选地,当 SP1 不承载其他载荷 IE 时,RP 中可使用 PSDU 大小为零的 SP1 作为 RFRAME。可以在 SP1 RFRAME 中传输 DM 载荷 IE,在这种情况下,DM 载荷 IE 应具有自身的 Message ID(0x8)。

Figure 31

图 31 - 无 RCP 的非延迟 DS-TWR 测距轮(Non-deferred DS-TWR Ranging Round without RCP)
源文档第 37 页

在非延迟 DS-TWR 测距中,RCP 是可选的。当不包含 RCP 时,控制器应在 RP 中将控制消息类型 1 作为 RIM 消息传输。响应方应使用 SP1 作为 RFRAME,以 MRM Type 2(Reply Time 不存在且 Round-Trip Time List 为空)作为 RRM。RFM 应使用 SP1 作为 RFRAME,以 MRM Type 1 消息作为 RFM。

Figure 32

图 32 - 带 RCP 的非延迟 DS-TWR 测距轮(Non-deferred DS-TWR Ranging Round with RCP)
源文档第 37 页

当非延迟 DS-TWR 测距轮中存在 RCP 时,控制器应使用控制消息类型 1,且 UWB Message ID 应指示该消息为 CM。发起方应发送 PSDU 大小为零的 SP1 RFRAME 作为 RIM。响应方应使用 SP1 作为 RFRAME,以 MRM Type 2(Reply Time 不存在且 Round-Trip Time List 为空)作为 RRM。发起方应发送 MRM Type 1 消息作为 SP1 RFRAME 的 RFM。

如果发起方 FiRa 设备未收到来自响应方的已调度 UWB 消息,则适用以下要求:

如果响应方 FiRa 设备未收到来自发起方的已调度 UWB 消息,则适用以下要求:

UWB 消息可具有头部 IE 和/或载荷 IE。头部 IE 和载荷 IE 应分别按照表 3([IEEE_802_15_4_2020] 第 7.4.2.1 节)和表 5([IEEE_802_15_4_2020] 第 7.4.3.1 节)格式化。

表 3 - 头部 IE 格式(Header IE Format)

ParameterSize (bits)Notes
Length7Content 字段的大小
Element ID80=厂商特定头部 IE
Type10=头部 IE
Content可变UWB 消息内容

头部 IE 的 Content 字段应按表 4 构造。

表 4 - 头部 IE Content 字段(Header IE Content Field)

ParameterSize (octets)Notes
Vendor OUI30x5A18FF
Padding8用于完整性检查的已知填充
Session ID4UWB 会话标识符
STS index4当前测距时隙的 STS 索引

Vendor OUI(组织唯一标识符)字段的值应为 0x5A18FF。如果 Vendor OUI 字段的值不是 0x5A18FF,则 FiRa 设备忽略该消息。

Padding 字段承载用于完整性检查的已知填充位。

Session ID 的值是每个控制器每个会话的 32 位随机数。Session ID 的生成不在本文档范围之内。

STS index 字段指示当前测距时隙的 STS 索引值,由 phyStsIndex 参数(第 6.4.4.1 节)表示。STS 索引值用于 STS 同步和 MAC 载荷解密。

对于动态和预配置 STS,Padding 字段、Session ID 字段和 STS index 字段应使用 ECB 模式加密。

STS index 用于按如下方式计算 Block index 和 Round index:

Block index = ⌊(当前 STS index − 初始 STS index) / 每块时隙数⌋

Round index = ⌊((当前 STS index − 初始 STS index) % 每块时隙数) / 每轮时隙数⌋

其中 ⌊ ⌋ 表示向下取整函数,% 表示取模运算。

根据上述公式,Block index 在第一个测距块中为 0,并在每个后续测距块中加 1。Round index 在测距块的第一个测距轮中为 0,并在每个后续测距轮中加 1,然后在下一个测距块开始时重置为 0。

表 5 - 载荷 IE 格式(Payload IE Format)

ParameterSize (bits)Notes
Length11Content 字段的大小
Group ID42=厂商特定嵌套 IE
Type11=载荷 IE
Content可变UWB 消息内容

各 UWB 消息的 UWB Message ID 在表 6 中定义。每种 UWB 消息可能有多种类型,每种 UWB 消息使用哪种类型应通过公共服务与管理(CSM)层指定。

表 6 - UWB 消息的 UWB Message ID(UWB Message IDs for UWB Messages)

UWB Message IDUWB MessageFormat Subclause
0x0Ranging Initiation Message第 5.9.1 节
0x1Ranging Response Message第 5.9.2 节
0x2Ranging Final Message第 5.9.3 节
0x3Control message第 5.9.4 节
0x4Measurement report message第 5.9.5 节、第 5.9.6 节
0x5Ranging result report message第 5.9.7 节
0x6Control Update Message第 5.9.8 节
0x7One Way Ranging Message,对应以下类型之一:
• Initiation DL-TDoA Message
• Response DL-TDoA Message
• Final DL-TDoA Message
• AoA Measurement Message
第 5.9.11 节
0x8Data Message第 5.9.12 节
0x9~0xF保留用于其他 UWB 消息不适用

5.9.1 测距发起消息(Ranging Initiation Message)

在延迟测距(Deferred ranging)中,使用 SP3 或 SP1 帧的 RIP 时隙承载 RIM。

在非延迟测距(Non-deferred ranging)中,UWB 消息 ID 被设置为 0x0 的 CM Type 1/Type 2 承载于 RRP 时隙的 SP1 帧中,用以承载 RIM。

5.9.2 测距响应消息(Ranging Response Message)

在延迟测距中,使用 SP3 或 SP1 帧的 RRP 时隙承载 RRM。

在非延迟测距中,UWB 消息 ID 被设置为 0x1 的 MRM Type 1/Type 2 承载于 RRP 时隙的 SP1 帧中,用以承载 RRM。

5.9.3 测距终结消息(Ranging Final Message)

在延迟测距中,使用 SP3 或 SP1 帧的 RFP 时隙承载 RFM。

在非延迟测距中,UWB 消息 ID 被设置为 0x2 的 MRM Type 1/Type 2 承载于 RFP 时隙的 SP1 帧中,用以承载 RFM。

5.9.4 控制消息类型 1(Control Message Type 1)

对于控制消息类型 1,头部 IE(Header IE)的 Content 字段应按表 4 的规定构造。此消息仅适用于时间调度测距(Time-scheduled ranging)。

对于控制消息类型 1,载荷 IE(Payload IE)的 Content 字段应按表 7 构造。

表 7 - 控制消息类型 1 的载荷 IE Content 字段(Payload IE Content field for Control Message Type 1)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x3 = 控制消息(Control Message)
Suspend Ranging Round10:测距轮未被暂停
1:测距轮被暂停
Reserved3RFU
Message control16消息的配置
Stride length8要跳过的块数
RDMLVariable测距设备管理列表(Ranging Device Management List)。即测距设备的测距角色、测距时隙索引和地址的列表

除非此消息作为 RFRAME 发送,否则 UWB 消息 ID 应为 0x3,以指示此消息是控制消息。

Message control 字段应按表 8 所示格式化。

表 8 - 控制消息类型 1 的 Message control 字段(Message control field of Control Message Type 1)

ParameterSize (bits)Notes
RDML length8RDML 字段中元素的数量
Reserved8RFU

RDML length 字段指示 RDML 字段中元素的数量。RDML length 字段的值应与 RDML 元素的数量相同。如果调度信息未发生变化,控制器可省略 RDML 字段。如果省略了 RDML 字段,则 RDML length 字段应为零。

Stride length 字段指示直到下一次测距之前要跳过的块数。如果 Stride length 字段的值为 N,当前块索引为 M,则块索引为 M+N+1 的测距块应用于下一次测距。通过为 Stride length 字段设置较大的值,控制器可降低测距频率以减少功耗。

暂停测距(Suspend Ranging)功能是一项可选功能,用于指示测距块已同步,但参与该同步块中测距轮的 FiRa 设备不应参与该测距轮的 RP 或 MRP 以执行测距测量。

以下要求适用于控制器:

以下要求适用于受控器:

以下要求同时适用于控制器和受控器:

RDML 中的每个元素(如果存在)应按表 9 格式化。

表 9 - RDML 元素格式(RDML Element Format)

ParameterSize (bits)Notes
Ranging Role10:响应方(Responder)
1:发起方(Initiator)
Ranging Slot Index8分配的时隙
Address16测距设备的地址
Scheduled UWB Message4将在该时隙中承载的 UWB 消息的 ID
Stop Ranging10:测距将继续
1:测距将停止
Reserved2RFU

Ranging Role 字段指定所选设备是作为发起方还是响应方。当 Ranging Role 字段的值为零时,所选设备为响应方。当 Ranging Role 字段的值为 1 时,所选设备为发起方。

Ranging Slot Index 字段指示分配给由 Address 字段标识的设备的时隙索引。

Address 字段标识每个参与设备。

Scheduled UWB Message 字段指定将在测距时隙中承载哪条 UWB 消息。

Stop Ranging 字段指定针对该受控器的测距将继续还是停止。当 Stop Ranging 字段的值为零时,针对该受控器的测距应继续。当 Stop Ranging 字段的值为 1 时,针对该受控器的测距应停止,且该受控器不应在 UWB 会话中再发送任何消息。

如果控制器正在为所有受控器结束 UWB 会话,则 RDML 应仅包含与受控器数量相等的元素数。每个元素应包含其中一个受控器的 Address,且 Stop Ranging 位应设置为 1。每个元素中的所有其他参数(即 Ranging Role、Ranging Slot Index、Scheduled UWB Message 和 Reserved)均不相关,应被受控器忽略。此外,Stride Length 字段也不相关,应被受控器忽略。

如果控制器正在为部分但并非全部受控器结束 UWB 会话,则 RDML 应包含 UWB 会话中所有已调度消息(例如测距发起消息、测距响应消息等)的元素。对于每个将不再参与 UWB 会话的受控器,RDML 应包含一个元素,其中含有该受控器的 Address 且 Stop Ranging 位设置为 1;所有其他参数均不相关,应被受控器忽略。

作为控制器正在为两个受控器结束 UWB 会话的示例,RDML 将如表 10 所示。

表 10 - 控制器为两个受控器结束 UWB 会话的 RDML 示例(Example RDML for Controller ending the UWB Session for both Controlees)

ElementRanging RoleRanging Slot IndexAddressScheduled UWB MessageStop RangingReserved
1任意值任意值受控器 #1 的地址任意值10b00
2任意值任意值受控器 #2 的地址任意值10b00

作为控制器在带有 ToF 报告的 SS-TWR 中为其中一个受控器结束 UWB 会话的示例,RDML 将如表 11 所示。

表 11 - 控制器为其中一个受控器结束 UWB 会话的 RDML 示例(Example RDML for Controller ending the UWB Session for one of the Controlees)

ElementRanging RoleRanging Slot IndexAddressScheduled UWB MessageStop RangingReserved
111控制器的地址000b00
202受控器 #1 的地址100b00
313控制器的地址400b00
404受控器 #1 的地址500b00
5任意值任意值受控器 #2 的地址任意值10b00

控制消息类型 1 在测距控制阶段(RCP)中发送,如图 56 所示。

表 12 - 涉及两个响应方、带 RCP 和 RRRM、采用 SP1 RFRAME 的 O2M 延迟 DS-TWR 测距轮的 RDML 示例(Example of RDML in case of O2M deferred DS-TWR ranging round with RCP and RRRM involving two Responders with SP1 RFRAME)

ElementRanging RoleRanging Slot IndexAddressScheduled UWB MessageStop RangingReserved
111控制器的地址000b00
202受控器 #1 的地址100b00
303受控器 #2 的地址100b00
414控制器的地址200b00
515控制器的地址400b00
606受控器 #1 的地址500b00
707受控器 #2 的地址500b00

在表 12 中,每个 SP1 RFRAME 包含零 PSDU 长度(称为 SP1*)。但是,如果发起方或响应方在 RFRAME 中发送 DM 载荷 IE,则其应发送 Message ID 为 0x8 的 DM Payload IE,并应使用表 56 规定的 Frame Control Field 的 Data Frame 类型。在这种情况下,RDML 中已调度的 UWB Message ID 仍为 RP 的 Message ID(即 RIM、RRM 或 RFM)。

表 13 - 涉及两个响应方、不带 RCP 但带 RRRM 的 O2M 非延迟 DS-TWR 测距轮的 RDML 示例(Example of RDML in case of O2M Non-Deferred DS-TWR ranging round without RCP and with RRRM involving two Responders)

ElementRanging RoleRanging Slot IndexAddressScheduled UWB MessageStop RangingReserved
101受控器 #1 的地址1(MRM Type 2)00b00
202受控器 #2 的地址1(MRM Type 2)00b00
313控制器的地址2(MRM Type 1)00b00
404受控器 #1 的地址500x00
505受控器 #2 的地址500x00

在表 13 的示例中,如果发起方或响应方在 RFRAME 中发送 DM 载荷 IE,则其应在第一条 UWB 消息(即 CM Type 1、MRM Type 2 或 MRM Type 1)之后发送 Message ID 为 0x8 的 DM Payload IE。

表 14 - 涉及两个响应方、带 RCP 和 RRRM 的 O2M 非延迟 DS-TWR 测距轮的 RDML 示例(Example of RDML in case of O2M Non-Deferred DS-TWR ranging round with RCP and RRRM involving two Responders)

ElementRanging RoleRanging Slot IndexAddressScheduled UWB MessageStop RangingReserved
111控制器的地址000b00
202受控器 #1 的地址1(MRM Type 2)00b00
303受控器 #2 的地址1(MRM Type 2)00b00
414控制器的地址2(MRM Type 1)00b00
505受控器 #1 的地址500x00
606受控器 #2 的地址500x00

在表 14 的示例中,如果发起方或响应方在 RFRAME 中发送 DM 载荷 IE,则其应在第一条 UWB 消息(即 MRM Type 2 或 MRM Type 1)之后发送 Message ID 为 0x8 的 DM Payload IE。

5.9.5 测量报告消息类型 1(Measurement Report Message Type 1)

测量报告消息类型 1 应用于 DS-TWR。

对于测量报告消息类型 1,头部 IE 的 Content 字段应按表 4 的规定构造。

对于测量报告消息类型 1,载荷 IE 的 Content 字段应按表 15 构造。

表 15 - 测量报告消息类型 1 的载荷 IE Content 字段(Payload IE Content field for Measurement Report Message Type 1)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x4 = 测量报告消息(Measurement Report Message)
Reserved4RFU
Message control8消息的配置
Round index0/16下一个测距块的测距轮索引
First round-trip time32第一个响应方的往返时间
Reply time listVariable响应方地址及各响应方应答时间测量值的列表

除非此消息作为 RFRAME 发送,否则 UWB 消息 ID 应为 0x4,以指示此消息是测量报告消息。

Message Control 字段应按表 16 所示格式化。

表 16 - 测量报告消息类型 1 的 Message Control 字段(Message Control field of Measurement Report Message Type 1)

ParameterSize (bits)Notes
Hopping Mode10:下一个测距块将使用相同的测距轮
1:下一个测距块将使用遵循所配置跳频序列的测距轮
Round Index Present10:Round Index 字段不存在
1:Round Index 字段存在
Reply Time List Length6Reply Time List 字段中元素的数量

Hopping mode 字段指示下一个测距块是否启用跳频模式。

Round Index Present 字段指示 Round Index 字段是否存在。如果测量报告由控制器发送,则控制器应将 Round Index Present 设置为 1。当测量报告消息的发送方是受控器时,Round Index 字段可被省略。如果跳频模式已启用、Round Index 存在且配置了 FiRa 跳频,则 Round Index 字段应按第 5.8.2 节的跳频序列计算。

Reply time list length 字段指示 Reply time list 字段中元素的数量。

Round index 字段指示将在下一个测距块中使用的测距轮的测距轮索引。Round Index 字段仅在测量报告消息由控制器发送时有效。

如果测量报告消息的发送方是发起方,则 First round-trip time 字段指示来自发起方的测距发起消息与来自第一个响应方的第一个测距响应消息之间的时间差。如果测量报告消息的发送方是响应方,则 First Round-trip Time 字段指示来自该响应方的测距响应消息与来自发起方的测距终结消息之间的时间差。其单位为 499.2 MHz 码片周期的 2⁻⁷,约为 15.65 ps。

Reply time list 中的每个元素应按表 17 格式化。

表 17 - 应答时间列表元素格式(Reply Time List Element Format)

ParameterSize (octets)Notes
Address2响应方的地址
Reply time4该响应方的应答时间

Address 字段指示其后 Reply time 字段所关联的响应方。

如果测量报告消息的发送方是发起方,则 Reply time 字段指示来自前一 Address 字段所指示响应方的测距响应消息与来自发起方的测距终结消息之间的时间差。如果测量报告消息的发送方是响应方,则 Reply Time 字段指示来自发起方的测距发起消息与来自该响应方的测距响应消息之间的时间差。其单位为 499.2 MHz 码片周期的 2⁻⁷,约为 15.65 ps。

第一个响应方的 Reply Time List 元素应位于 Reply Time List 字段的起始处。

第一个响应方通过 First round-trip time 字段获取其在发起方处的往返时间测量值。其他响应方通过从第一个响应方的往返时间与应答时间之和中减去自身的应答时间,来计算其在发起方处的往返时间测量值,即:

RTT(k)=(Reply Time(1) + RTT(1)) - Reply Time(k)

其中 k 表示响应方索引。

Figure 33

图 33 - 每个响应方的首次往返时间和应答时间(First round-trip time and reply time for each Responder)
源文档第 48 页

测量报告消息类型 1 在 MRP 中发送,如图 56 所示。

5.9.6 测量报告消息类型 2(Measurement Report Message Type 2)

测量报告消息类型 2 应用于时间调度延迟 SS-TWR、非延迟 SS-TWR 和非延迟 DS-TWR。

对于测量报告消息类型 2,头部 IE 的 Content 字段应按表 4 的规定构造。

对于测量报告消息类型 2,载荷 IE 的 Content 字段应按表 18 构造。

表 18 - 测量报告消息类型 2 的载荷 IE Content 字段(Payload IE Content field for Measurement Report Message Type 2)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x4 = 测量报告消息(Measurement Report Message)
Reserved4RFU
Message Control16消息的配置
Round Index0/16下一个测距块的测距轮索引
Reply Time0/32在响应方处测得的应答时间
Round-trip Time ListVariable响应方地址及各响应方往返时间测量值的列表

除非此消息作为 RFRAME 发送,否则 UWB 消息 ID 应为 0x4,以指示此消息是测量报告消息。

Message Control 字段应按表 19 所示格式化。

表 19 - 测量报告消息类型 2 的 Message Control 字段(Message Control field of Measurement Report Message Type 2)

ParameterSize (bits)Notes
Hopping Mode10:下一个测距块将使用相同的测距轮
1:下一个测距块将使用遵循所配置跳频序列的测距轮
Round Index Present10:Round Index 字段不存在
1:Round Index 字段存在
Round-trip Time List Length6Round-trip Time List 字段中元素的数量
Reply Time Present10:Reply Time 字段不存在
1:Reply Time 字段存在
Reserved7RFU

Hopping mode 字段指示下一次测距是否启用跳频模式。

Round Index Present 字段指示 Round Index 字段是否存在。如果测量报告由控制器发送,则控制器应将 Round Index Present 设置为 1。当测量报告消息的发送方是受控器时,Round Index 字段可被省略。如果跳频模式已启用、Round Index 存在且配置了 FiRa 跳频,则下一个测距轮的 Round Index 字段应遵循第 5.8.2 节的跳频序列。

Round-trip Time List Length 字段指示 Round-trip Time List 字段中元素的数量。当测量报告消息类型 2 的发送方是响应方时,Round-trip Time List Length 字段的值可为零。

Reply Time Present 字段指示 Reply Time 字段是否存在。当测量报告消息类型 2 的发送方是发起方时,Reply Time 字段可被省略。

Round Index 字段指示将在下一个测距块中使用的测距轮的测距轮索引。Round Index 字段仅在测量报告消息由控制器发送时有效。

Reply Time 字段指示在响应方侧测距发起消息的接收时间与测距响应消息的发送时间之间的时间差,单位为 Ranging Ticks(约 15.65 ps)。响应方在此消息中发送的 Reply Time 应经过 CFO 补偿。

Round-trip Time List 中的每个元素应按表 20 格式化。

表 20 - 往返时间列表元素格式(Round-trip Time List Element Format)

ParameterSize (octets)Notes
Address2响应方的地址
Round-trip Time4该响应方的往返时间

Address 字段指示其后 Round-trip Time 字段所关联的响应方。

Round-trip Time 字段指示在发起方侧测距发起消息的发送时间与来自前一 Address 字段所指示响应方的测距响应消息的接收时间之间的时间差,单位为 Ranging Ticks(约 15.65 ps)。

测量报告消息类型 2 在 MRP 中发送,如图 55 所示。

5.9.7 测距结果报告消息类型 1(Ranging Result Report Message Type 1)

对于测距结果报告消息类型 1,头部 IE 的 Content 字段应按表 4 的规定构造。

对于测距结果报告消息类型 1,载荷 IE 的 Content 字段应按表 21 构造。

表 21 - 测距结果报告消息类型 1 的载荷 IE Content 字段(Payload IE Content field for Ranging Result Report Message Type 1)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x5 = 测距结果报告消息(Ranging Result Report Message)
Reserved4RFU
Message control8消息的配置
ToF result0/32ToF 结果。对于负 ToF,此字段设置为 0
AoA azimuth result0/16AoA 方位角结果
AoA elevation result0/16AoA 俯仰角结果
AoA azimuth FoM0/8AoA 方位角品质因数(FoM)
AoA elevation FoM0/8AoA 俯仰角品质因数(FoM)
Negative ToF result0/8当表 22 中 Negative ToF present = 1 时,此字段包含 ToF 的绝对值(即实际 ToF 值为 Negative ToF result 的负值)

UWB 消息 ID 应为 0x5,以指示此消息是测距结果报告消息。

ToF result 和 Negative ToF result 均以 Ranging Ticks(约 15.65 ps)为单位报告。

AoA azimuth result 字段是一个有符号整数,报告方位角方向上估计的 AoA。其单位为 360° × 2⁻¹⁶,其中 0° 为发送设备正前方。此字段所表示的角度值范围为 -180° 至 +180°。

AoA elevation result 字段是一个有符号整数,报告俯仰角方向上估计的 AoA。其单位为 180° × 2⁻¹⁶,其中 0° 位于发送设备的水平面内。此字段所表示的角度值范围为 -90° 至 +90°。

AoA 方位角品质因数(Figure of Merit,FoM)字段是一个无符号整数,传达方位角方向上估计 AoA 的置信度。

AoA elevation FoM 字段是一个无符号整数,传达俯仰角方向上估计 AoA 的置信度。

测距结果报告消息类型 1 在 MRP 中发送,如图 56 所示。

ToF result 字段和 Negative ToF result 字段应按如下方式处理:

如果计算得到的 ToF ≥ 0:

如果计算得到的 ToF < 0:

如果响应方由于测距配置而无法计算 ToF:

Negative ToF result 字段应包含 ToF 的绝对值(适用于支持负测距值的设备)。

Message control 字段应按表 22 所示格式化。

表 22 - 测距结果报告消息类型 1 的 Message control 字段(Message control field of Ranging Result Report Message Type 1)

ParameterSize (bits)Notes
ToF Result Present1ToF Result 字段的存在性
AoA azimuth result present1AoA azimuth result 字段的存在性
AoA elevation result present1AoA elevation result 字段的存在性
AoA FoM present1AoA 方位角字段和/或 AoA 俯仰角的 FoM 字段的存在性
Negative ToF present1Negative ToF result 的存在性
Reserved3RFU

ToF Result Present 字段为 1 时指示 ToF Result 字段存在,为零时指示其不存在。

AoA azimuth result present 字段为 1 时指示 AoA azimuth result 字段存在,为零时指示其不存在。

AoA elevation result present 字段为 1 时指示 AoA elevation result 字段存在,为零时指示其不存在。

AoA FoM present 字段为 1 时指示:

AoA FoM 是一项指标,提供对所测 AoA 值(方位角或俯仰角)的预期精度或置信度的估计,并取决于实现精度和接收信号质量。

AoA FoM 字段的取值范围为 0 至 100(0b000000000b01100100),其中 0 表示对估计的 AoA 值无置信度(即无效的 AoA 估计),100 表示对所提供 AoA 值的置信度非常高。AoA FoM 值越高,对 AoA 测量的置信度越高。AoA FoM 值的计算取决于厂商,不在本文档的范围之内。

ToF result 字段指示以 Ranging Ticks(约 15.65 ps)为单位的 ToF 结果。

5.9.8 控制更新消息类型 1(Control Update Message Type 1)

对于控制更新消息类型 1,头部 IE 的 Content 字段应按表 4 的规定构造。

对于控制更新消息类型 1,载荷 IE 的 Content 字段应按表 23 构造。

表 23 - 控制更新消息类型 1 的载荷 IE Content 字段(Payload IE Content field for Control Update Message Type 1)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x6 = 控制更新消息(Control Update Message)
Hopping mode10:下一个测距块将使用相同的测距轮
1:下一个测距块将使用遵循跳频序列的测距轮
Reserved3RFU
Round index16下一个测距块的测距轮索引

UWB 消息 ID 应为 0x6,以指示此消息是控制更新消息。

Hopping mode 字段指示下一个测距块是否启用跳频模式。

Round index 字段指示将在下一个测距块中使用的测距轮的测距轮索引。

5.9.9 控制消息类型 2(Control Message Type 2)

对于控制消息类型 2,头部 IE 的 Content 字段应按表 4 的规定构造。

控制消息类型 2 的载荷 IE 内容应按表 24 的规定构造。此消息仅适用于基于竞争的测距(Contention-based ranging)。

表 24 - 控制消息类型 2 的载荷 IE(Payload IE of Control Message Type 2)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x3 = 控制消息(Control Message)
RFU4保留供将来使用(Reserved For Future),设置为 '0'
Message Control24Message Control 字段
Stride Length16要跳过的块数。如果值为 0x00,则不使用块跨步(Block Striding)
RML Size0/16RML 的大小,以八位字节(octet)为单位
Responder Management List (RML)Variable此列表包含已知响应方的设备 MAC 地址(Device MAC Address)

在基于竞争的测距中,由于 RIM 包含控制消息,因此应使用 0x0 作为 UWB 消息 ID 的值。

Stride Length 字段应指示要跳过的块数。

RML Size 字段指示 RML 的大小,以八位字节为单位。RML 中元素的数量由(RML Size /(短寻址模式))确定。

RML 字段包含已知响应方的设备 MAC 地址列表。设备 MAC 地址应为短 MAC 地址。

控制消息类型 2 的 Message Control 字段如表 25 所示。

表 25 - 控制消息类型 2 的 Message Control 字段(Message Control field of Control Message Type 2)

ParameterSize (bits)Notes
CAP Size8CAP 中所使用的竞争周期的大小,以测距时隙为单位
Measurement Report Phase Control10:MRP 不存在
1:MRP 存在
仅当在基于竞争的测距中使用 DS-TWR 测距轮时适用
Tx Jitter Window Control10:禁用
1:启用
Number of Tx Offsets2测距时隙内可供响应方发送消息的 Tx 偏移数量
0b00 – 不允许 Tx 偏移
0b01 – 2 个 Tx 偏移
0b10 – 4 个 Tx 偏移
0b11 – 8 个 Tx 偏移
Hopping Mode10:下一个测距块将使用相同的测距轮
1:下一个测距块将使用遵循所配置跳频序列的测距轮
Stop Ranging10:测距将继续
1:测距将停止
RML Config20b00:响应方管理列表不存在
0b01:响应方管理列表存在,并包含响应方的短 MAC 地址
0b10:RFU
0b11:RFU
Allowed Tx Offsets8允许响应方发送消息的 Tx 偏移,其中:
Bit0 至 Bit7 表示测距时隙内允许的 Tx 偏移
Tx Offset bit<n> = n * 测距时隙时长 / Number of Tx Offsets
Bit<n> 值设置为 0 表示不允许在 CAP 时隙中使用 Tx Offset <n> 来发送帧
Bit<n> 值设置为 1 表示允许在 CAP 时隙中使用 Tx Offset <n> 来发送帧
当 Number of Tx Offsets 设置为 "0b00" 时,此字段不适用
此位图应与 Number of Tx Offsets 一致:
如果 Number of Tx Offset = 0b01,则仅 Bit<0> 和 Bit<1> 相关
如果 Number of Tx Offsets = 0b10,则仅 Bit<0> 至 Bit<3> 相关

5.9.10 测量报告消息类型3(Measurement Report Message Type 3)

对于测量报告消息类型3,头部IE的内容字段应按表4的定义构造。

对于测量报告消息类型3,载荷IE的内容字段应按表27的规定构造。

表 27 - 测量报告消息类型3的载荷IE内容字段(Payload IE Content field for Measurement Report Message Type 3)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x4=测量报告消息(Measurement Report Message)
Reserved4RFU
ParameterSize (octets)Notes
Responder MAC Address2响应方的设备MAC地址(Device MAC Address of Responder)
Message Control8消息的配置(Configuration of the message)
Reply Time0/32应答时间值表示发起方RIM与响应方RRM之间的时间差。应答时间以测距刻度(Ranging Ticks,约15.65 ps)报告。(The Reply Time value indicates the time difference between RIM from the Initiator and RRM from the Responder. The Reply Time is reported in Ranging Ticks (~15.65 ps).)
AoA Azimuth Result0/16AoA方位角结果(AoA azimuth result)
AoA Elevation Result0/16AoA俯仰角结果(AoA elevation result)
AoA Azimuth FoM0/8AoA方位角品质因数(AoA azimuth FoM)
AoA Elevation FoM0/8AoA俯仰角品质因数(AoA elevation FoM)

应答时间字段表示发起方RIM与响应方RRM之间的时间差,以测距刻度(约15.65 ps)为单位。响应方在本消息中发送的应答时间应经过CFO补偿。

消息控制字段应按表28所示格式构造。

表 28 - 测量报告消息类型3的消息控制字段(Message control field of Measurement Report Message Type 3)

ParameterSize (bits)Notes
AoA Azimuth Result Present1AoA方位角结果字段的存在性(Presence of AoA azimuth result field)
AoA Elevation Result Present1AoA俯仰角结果字段的存在性(Presence of AoA elevation result field)
Reply Time Present1应答时间的存在性(Presence of Reply Time)
AoA FoM Present1AoA方位角字段和/或AoA俯仰角字段的品质因数字段的存在性(Presence of FoM field for AoA azimuth field and/or AoA elevation field)
Reserved4RFU

AoA方位角结果存在字段为1时表示存在AoA方位角结果字段,为0时表示不存在。

AoA俯仰角结果存在字段为1时表示存在AoA俯仰角结果字段,为0时表示不存在。

应答时间存在字段为1时表示存在应答时间字段,为0时表示不存在。

AoA品质因数存在字段为1时表示:

AoA品质因数(AoA FoM)是一个度量指标,用于提供对所测AoA值(方位角或俯仰角)的预期精度或置信度的估计,其取决于实现精度和接收信号质量。

AoA品质因数字段取值范围为0到100(0b00000000到0b01100100),其中0表示对估计的AoA值无置信度(即AoA估计无效),100表示对所提供AoA值的置信度非常高。AoA品质因数值越高,对AoA测量的置信度越高。AoA品质因数值的具体计算方式由厂商决定,不在本文档范围内。

AoA方位角结果字段是一个有符号整数,报告方位角上估计的AoA。其单位为360° × 2−16,0°表示发送设备的正前方。

AoA俯仰角结果字段是一个有符号整数,报告俯仰角上估计的AoA。其单位为180° × 2−16,0°表示发送设备所在的水平面。

AoA方位角品质因数字段是一个无符号整数,传达方位角上估计AoA的置信度。

AoA俯仰角品质因数字段是一个无符号整数,传达俯仰角上估计AoA的置信度。

5.9.11 单向测距消息(OWR Message)

所有OWR消息都应包含三个公共字段(Vendor OUI、UWB Message ID和OWR Message Type),其后跟随一组取决于OWR消息类型的特定载荷IE字段。表29定义了所有OWR消息的公共字段。

表 29 - 所有OWR消息载荷IE内容字段的公共部分(Common part of the Payload IE Content Field for all OWR Messages)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x7=OWR消息(OWR Message)
OWR Message Type40x0:Blink UTM
0x1:同步UTM(Synchronization UTM)
0x2:Poll DTM
0x3:Response DTM
0x4:Final DTM
0x5:AoA测量消息(AoA Measurement Message)
0x6 – 0xF:RFU
OWR Message Type-dependent PayloadX该字段应遵循以下各子节中所定义的相应OWR消息类型载荷IE字段规范。
0x0 – 0x1:第5.9.11.1节
0x2 – 0x4:第5.9.11.2节
0x5:第5.9.11.3节

Vendor OUI字段的值应为0x5A18FF。若Vendor OUI字段的值不是0x5A18FF,FiRa设备应忽略该消息。

OWR消息类型使接收方FiRa设备能够判断所接收的数据包是用于跟踪UT标签的上行TDoA(0x0–0x1)用例、用于实现非跟踪导航的下行TDoA(0x2–0x4),还是用于AoA测量(0x5)。在上行TDoA情形下,OWR消息类型还使消息接收方能够区分发送方是UT标签(0x0 – Blink UTM)还是UT同步锚点(0x1 – 同步UTM)。

OWR消息类型相关载荷取决于所选的OWR消息类型。该字段包含支持各用例和消息类型所需的信息。因此其内容是可变长的,并应符合第5.9.11.1节(上行TDoA)、第5.9.11.2节(下行TDoA消息)和第5.9.11.3节(用于AoA测量的OWR消息)的规定。

5.9.11.1 上行TDoA消息(Uplink TDoA Message,UTM)

UTM分为两种类型:

  1. Blink UTM由UT标签发送,使UT锚点基础设施能够估计UT标签的位置;
  2. 同步UTM由UT同步锚点发送,用于带内无线时钟同步。

注意,这两种消息类型共享相同的载荷IE字段,如“上行TDoA消息的OWR消息类型相关载荷IE”中所规定。

表 30 - 上行TDoA消息的OWR消息类型相关载荷IE(OWR message type dependent Payload IE for Uplink TDoA messages)

ParameterSize (bits)Notes
Message Control8消息的配置。(Configuration of the message.)
Frame Number32UTM帧号。(UTM frame number.)
UL-TDoA Device ID0/16/32/64唯一设备标识号。(Unique device identification number.)
TX Timestamp0/40/64所发送UTM的发送时间戳。(TX timestamp of the UTM sent.)

消息控制字段指示不同消息字段(设备ID和发送时间戳)的存在性及长度。表31给出了消息控制字段的格式。

帧号字段表示本地UTM帧号,发送方UT标签或UT同步锚点应在每次UTM发送后单调递增该值。

当UL-TDoA设备ID字段非零时,应包含分配给消息发送方的唯一ID。UL-TDoA设备ID字段的存在性及长度应在消息控制字段中指定。该唯一性具有本地意义,其编号由设备所有者或管理者分配。设备ID的生成不在本文档范围内。

发送时间戳字段表示UTM的本地发送时间。发送时间戳应以测距刻度(约15.65 ps)报告。发送时间戳字段的存在性及长度应在消息控制字段中指定。

表 31 - UTM的消息控制字段(Message Control Field for UTMs)

ParameterSize (bits)Notes
Device ID Presence20:不存在UL-TDoA设备ID。
1:存在16位UL-TDoA设备ID。
2:存在32位UL-TDoA设备ID。
3:存在64位UL-TDoA设备ID。
TX Timestamp Presence20:不存在发送时间戳。
1:存在40位发送时间戳。
2:存在64位发送时间戳。
3:RFU。
Reserved4保留供将来使用。(Reserved for future use.)

5.9.11.2 下行TDoA消息(Downlink TDoA Message)

对于下行TDoA,OWR消息类型可根据其用途为0x2、0x3或0x4(如表52所示),OWR消息类型相关载荷字段应按表33的定义构造。表32定义了这些参数中哪些适用于各OWR消息类型。

注:在表32中,Y表示应包含该字段,N表示不应包含该字段。

表 32 - OWR消息类型相关载荷参数(OWR Message Type-dependent Payload Parameters)

ParameterOWR Message Type 0x2 (Poll DTM)0x3 (Response DTM)0x4 (Final DTM)
Message ControlYYY
Round IndexYYY
Block IndexYYY
TX TimestampYYY
Responder DT-Anchor Management ListYNN
Responder CFONY/NN
Reply Time ListNNY/N
Responder Reply TimeNYN
Responder ToF ResultNY/NN
Hop CountY/NNN
Anchor LocationY/NY/NN
Active Ranging Round InformationY/NY/NN
Supercluster IDY/NNN
Initiator CFOY/NNN

表 33 - 下行TDoA的OWR消息类型相关载荷(OWR Message Type-dependent Payload for DL-TDoA)

ParameterSize (bits)Notes
Message Control24DTM的配置,如表34所定义。(Configuration of the DTM as defined in Table 34.)
Round Index8当前测距轮的轮索引。(Round index of the current ranging round.)
Block Index16当前测距块的块索引。(Block index of the current ranging block.)
TX Timestamp40/64DTM发送时间戳,采用本地或公共时间基准,取决于消息控制字段中的标志位。发送时间戳应以测距刻度(约15.65 ps)报告。
Responder DT-Anchor Management List(16/24/32/40/64/72/80/88)*NN个响应方DT锚点管理列表元素,如表35所定义。N由消息控制字段中Responder DT-Anchor Management List Length字段的值确定。每个响应方DT锚点管理列表元素应包含Responder Address字段,并可包含Ranging Slot Index字段和ToF Result字段。
Responder CFO0/16发起方DT锚点与发送本消息的响应方DT锚点之间的时钟频率偏移(单位为ppm)。该值应采用Q表示法以Q6.10格式报告。
Reply Time List(48/96)*MM个应答时间列表元素,如表36所定义。M由消息控制字段中Reply Time List Length字段的值确定。若发起方在一轮中未接收到任何Response DTM,则M可为零。(M Reply Time List elements as defined in Table 36. M is determined by the value of the Reply Time List Length field in the Message Control Field. M can be zero if the Initiator does not receive any Response DTM in a round.)
Responder Reply Time0/32响应方DT锚点在本地时间基准下的应答时间。响应方应答时间应以测距刻度(约15.65 ps)报告。
Responder ToF Result0/16响应方DT锚点通过DS-TWR测量得到的发起方DT锚点与响应方DT锚点之间的飞行时间,以测距刻度(约15.65 ps)为单位。(ToF in Ranging Ticks (~15.65 ps) between an Initiator DT-Anchor and a Responder DT-Anchor measured by the Responder DT-Anchor as a result of DS-TWR.)
Hop Count0/8从参考DT锚点到Poll DTM发送方的无线跳数。该值用于构建集群间同步的时间同步树,如第G.2节所述。(Number of wireless hops from the Reference DT-Anchor to the sender of the Poll DTM. This value is used to build a time synchronization tree for inter-cluster synchronization as described in Section G.2.)
Anchor Location0/88/104/136/152DT锚点的地理位置信息,如表37所定义。(The geo-location information of the DT-Anchor as defined in Table 37.)
Active Ranging Round Information0/variable该参数由DT锚点主动运行的测距轮总数及其索引构成,不包括传输本字段所在的当前测距轮,如表41所定义。(This parameter consists of the total number of ranging rounds and their indexes in which the DT-Anchor actively operates, except for the current ranging round in which this field is transmitted as defined in Table 41.)
Supercluster ID0/8超集群标识字段,指示发起方DT锚点所属的超集群。在使用超集群同步时包含于Poll DTM中。(Supercluster identification field indicating to which supercluster the Initiator DT Anchor belongs to. Included in Poll DTMs in case supercluster synchronization is used.)
Initiator CFO0/16超集群频率与发送本消息的发起方DT锚点之间的时钟频率偏移(单位为ppm)。该值应采用Q表示法以Q6.10格式报告。在使用超集群同步时包含于Poll DTM中。

消息控制字段应按表34所示格式构造。

表 34 - 消息控制字段(Message Control field)

ParameterSize (bits)Notes
Responder DT-Anchor Management List Length4响应方DT锚点管理列表中的元素数量。
在Poll DTM中,该字段应设置为大于或等于0b0001的值。
在Response DTM和Final DTM中,该字段应设置为0b0000。
Ranging Slot Index Present1响应方DT锚点管理列表中Ranging Slot Index字段的存在性。
0:不存在Ranging Slot Index字段(隐式调度)
1:存在Ranging Slot Index字段(显式调度)
在Response DTM和Final DTM中,该字段应设置为0b0。
RFU1RFU
Reply Time List Length4应答时间列表字段中的元素数量。
在Poll DTM和Response DTM中,该字段应设置为0b0000。
在Final DTM中,该字段应根据发起方DT锚点已接收到的Response DTM数量设置。
DL-TDoA Message Exchange1用于下行TDoA的消息交换方式:
0:DT锚点之间执行SS-TWR交换以进行下行TDoA。发起方DT锚点的ToF Result包含在Poll DTM中。
1:DT锚点之间执行DS-TWR交换以进行下行TDoA。
TX Timestamp Length2发送时间戳字段的长度。
0:40位发送时间戳字段
1:64位发送时间戳字段
2-3:RFU
TX Timestamp Type1发送时间戳字段的时间基准类型(本地或公共)。
0:本地时间基准
1:公共时间基准
Responder CFO Present1响应方CFO字段的存在性。
0:不存在响应方CFO字段
1:存在响应方CFO字段
该位仅可在Response DTM中设置为0b1。
在Poll DTM和Final DTM中,该位应设置为0b0。
Responder ToF Result Present1响应方ToF Result字段的存在性。
0:不存在响应方ToF Result字段
1:存在响应方ToF Result字段
在Poll DTM和Final DTM中,该位应设置为0b0。
在Response DTM中,仅当DL-TDoA Message Exchange设置为1(DS-TWR)时,该位才可设置为0b1。否则该位不适用,应设置为0b0。
Hop Count Present1跳数字段的存在性。
0:不存在Hop Count字段
1:存在Hop Count字段
该位仅可在Poll DTM中设置为0b1。
在Response DTM和Final DTM中,该位应设置为0b0。
Anchor Location Present1锚点位置字段的存在性。
0:不存在Anchor Location字段
1:存在Anchor Location字段
该位仅可在Poll DTM和Response DTM中设置为0b1。
在Final DTM中,该位应设置为0b0。
Active Ranging Round Information Present1主动测距轮信息字段的存在性。
0:不存在Active Ranging Round Information
1:存在Active Ranging Round Information
该位仅可在Poll DTM和Response DTM中设置为0b1。
在Final DTM中,该位应设置为0b0。
TX Timestamp Common Timebase Type1发送时间戳字段所用公共时间基准的类型(集群内或超集群)。
0:集群内公共时间基准(发起方DT锚点时间)
1:超集群公共时间基准
若设置为1,则应存在Supercluster ID字段和Initiator CFO字段。若设置为0,则不应存在Supercluster ID字段和Initiator CFO字段。
Reserved4RFU

响应方DT锚点管理列表长度字段指示响应方DT锚点管理列表字段中的元素数量。Poll DTM中的响应方DT锚点管理列表长度字段应为非零值。

测距时隙索引存在字段指示Poll DTM是否包含为每个Response DTM分配的时隙索引。Ranging Slot Index字段的存在性指示时隙调度是隐式还是显式的。

无论使用隐式还是显式调度,若消息控制字段中的DL-TDoA Message Exchange位设置为0b1(DS-TWR),则Final DTM应在该测距轮最后一个Response DTM之后的时隙中发送。

应答时间列表长度字段指示应答时间列表字段中的元素数量。在Final DTM中,该字段应为非零值,除非发起方DT锚点在该测距轮期间未能接收到任何Response DTM。

下行TDoA消息交换字段指示在该测距轮中要执行的消息交换类型(SS-TWR或DS-TWR)。发起方DT锚点应根据其为下行TDoA配置的是SS-TWR还是DS-TWR,在Poll DTM中设置该位。在Final DTM中,该位应始终设置为1。响应方DT锚点应按照该测距轮Poll DTM中接收到的值设置该位,即将位值0/1复制到其Response DTM中。

发送时间戳长度字段指示DTM中所含发送时间戳的长度(40位或64位)。发起方DT锚点应根据其配置设置该字段。响应方DT锚点应将该字段设置为与该测距轮发起方DT锚点所发Poll DTM中指定的值相同,并包含相应长度的发送时间戳字段。

发送时间戳类型字段指示发送时间戳是以本地时间基准还是公共时间基准报告。发起方DT锚点应根据其配置设置该位;在使用超集群同步的情形下,当发起方DT锚点能够将其时间戳转换为超集群公共时间时,应将该位设置为0b1(并在与超集群失去同步后将其重新设置为0b0,例如不再接收到来自邻近集群的Poll DTM时)。若响应方DT锚点被配置为使用公共时间且能够将其时间戳转换为发起方DT锚点的公共时间,则应将该位设置为0b1。

响应方CFO存在字段指示响应方CFO字段是否存在。响应方DT锚点可包含响应方CFO字段,以使DT标签能够补偿其相对于公共时间基准(即发起方DT锚点的时钟)的时钟频率偏移。

响应方ToF Result存在字段指示发送Response DTM的响应方DT锚点是否包含基于DS-TWR测量得到的响应方ToF Result。仅当DL-TDoA Message Exchange设置为0b1(DS-TWR)时,该字段才可设置为0b1。

跳数存在字段指示Poll DTM中是否存在Hop Count字段。

锚点位置存在字段指示是否存在Anchor Location字段。

主动测距轮信息存在字段指示Poll DTM或Response DTM中是否存在Active Ranging Round List Length字段和Active Ranging Round List字段。

块索引字段指示当前测距块的块索引。

轮索引字段指示当前测距轮的轮索引。

发送时间戳字段表示DTM的发送时刻,其形式为本地或公共时间基准的时间戳,以测距刻度(约15.65 ps)为增量,对应于发送方天线处的时间参考(当包含该时间戳的数据包被发送时)。其时间参考为帧的RMARKER。发送时间戳是一个相对时间,并持续递增至最大值;当其达到最大值时,应从值0x0重新开始。若发送时间戳的长度为L,则发送时间戳的最大值为2L−1。为使DT标签能够使用DTM中所含的发送时间戳来计算TDoA值,发送时间戳宜采用集群的公共时间基准。为此,DT锚点宜使用相对于集群发起方DT锚点估计的时钟偏移和时钟频率偏移,将其本地发送时间戳转换为公共时间基准的时间戳。若响应方DT锚点尚未与其发起方DT锚点同步,则它可能无法将其本地发送时间戳转换为公共时间基准。在此情形下,响应方DT锚点应在Response DTM中包含其本地发送时间戳,并将消息控制字段中的TX Timestamp Type位设置为零。

发送时间戳公共时间基准类型字段指示用于DTM中所含发送时间戳的公共时间转换的时间基准类型。当DT锚点被配置为使用超集群公共时间时,该位应设置为0b1。否则,该位应设置为0b0。

当发送时间戳公共时间基准类型字段设置为0b1时,超集群同步相关信息字段应存在于Poll DTM中。超集群同步相关信息字段为Supercluster ID字段和Initiator CFO字段。Supercluster ID字段指示发送本消息的发起方DT锚点所属的超集群。Initiator CFO字段包含发送本消息的发起方DT锚点的本地时钟频率与超集群频率之间的时钟频率偏移。它使其他发起方DT锚点或DT标签能够补偿其相对于超集群公共时间基准的时钟频率偏移。

响应方DT锚点管理列表字段包含集群中各DT锚点的调度信息。响应方DT锚点管理列表字段中的每个元素都应按表35的定义构造。

表 35 - 响应方DT锚点管理列表元素(Responder DT-Anchor Management List Element)

ParameterSize (bits)Notes
Ranging Slot Index0/8所分配的测距时隙。该字段的存在性取决于Poll DTM消息控制字段中的Ranging Slot Index Present位。(Assigned ranging slot. This field presence depends on the Ranging Slot Index Present bit of the Message Control field of Poll DTMs.)
ToF Result0/16通过SS-TWR与由Responder Address标识的响应方DT锚点测得的飞行时间,以测距刻度(约15.65 ps)为单位。值0x0000表示未知的ToF结果。
仅当消息控制字段中的DL-TDoA Message Exchange位设置为0b0(SS-TWR)时,该字段才包含在Poll DTM中。(ToF as a result of SS-TWR with the Responder DT-Anchor identified by Responder Address in Ranging Ticks (~15.65 ps). The value 0x0000 denotes an unknown ToF result. This field is only included in Poll DTMs when the DL-TDoA Message Exchange bit in the Message Control field is set to 0b0 (SS-TWR).)
Responder Address16/64响应方DT锚点的地址(Address of Responder DT-Anchor)

测距时隙索引字段指示分配给由Responder Address字段标识的响应方DT锚点的时隙索引。

ToF Result字段指示发起方DT锚点与由Responder Address字段标识的响应方DT锚点之间的飞行时间,由发起方DT锚点在前一测距块中基于SS-TWR测量得到。

响应方地址字段指示要在Ranging Slot Index字段中调度的响应方DT锚点的源MAC地址。

响应方CFO字段指示相对于发起方DT锚点的时钟频率偏移,单位为ppm。该值应以Q6.10格式报告(1位符号位、5位整数部分、10位小数部分),其分辨率约为0.00097 ppm,范围为[-32 ppm, 32 ppm)。当发送方(即发送待计算CFO的DTM的发起方DT锚点)的振荡器工作频率高于接收方(即发送包含本字段的Response DTM的响应方DT锚点)的振荡器时,该值应为正;当发送方振荡器的工作频率低于接收方振荡器时,该值应为负([IEEE_802_15_4z_2020],第6.9.1.6.2节)。

应答时间列表字段包含一个发起方应答时间列表,表示Final DTM的发送与所接收到的每个Response DTM的接收之间的时间差。除非发起方DT锚点在该测距轮期间未能接收到任何Response DTM,否则该字段应包含在Final DTM中。应答时间列表字段中的每个元素都应按表36所示格式构造。

表 36 - 包含在Final DTM中的应答时间列表元素(Reply Time List Element to be included in Final DTM)

ParameterSize (bits)Notes
Responder Address16/64响应方DT锚点的地址(Address of the Responder DT-Anchor)
Initiator Reply Time32由Responder Address标识的对应响应方DT锚点的应答时间,以Response DTM的接收与Final DTM的发送之间的时间差表示。(Reply Time for the corresponding Responder DT-Anchor identified by the Responder Address, represented by the time difference between the reception of the Response DTM and the transmission of the Final DTM)

响应方地址字段指示其后Initiator Reply Time字段所关联的响应方DT锚点的源MAC地址。

发起方应答时间字段表示由Responder Address标识的响应方DT锚点所发送的Response DTM的接收与Final DTM的发送之间所经过的时间,以测距刻度(约15.65 ps)为单位。

响应方应答时间字段表示Poll DTM的接收与Response DTM的发送之间所经过的时间。Response DTM应包含由响应方DT锚点测量的响应方应答时间。

响应方ToF结果字段指示发起方DT锚点与响应方DT锚点之间的飞行时间,由响应方DT锚点在前一测距块中基于DS-TWR测量得到。当DS-TWR用于下行TDoA时,该字段可选择性地包含在Response DTM中。

跳数字段是一个可选的无符号整数值,指示从发送Poll DTM的发起方DT锚点到参考DT锚点的无线跳数;参考DT锚点设定公共时间基准,其跳数值为零。初始时,所有其他DT锚点的跳数值为0xFF,表示它们尚未与公共块结构同步且无法参与。随着时间推移,处于参考DT锚点通信范围内的DT锚点(即参考DT锚点的无线邻居)宜达到跳数值1,表示它们距参考DT锚点仅一跳。类似地,距参考DT锚点两跳的DT锚点宜获得跳数值2。该字段用于构建集群间同步的树状时间同步结构。DT锚点如何使用跳数字段的详细说明见第G.2节。

锚点位置字段指示发送DTM的DT锚点的地理位置。该字段的第一个字节指示用于表示锚点位置的坐标系类型。每种坐标系以不同格式指示锚点位置。

表 37 - 包含在Poll DTM或Response DTM中的锚点位置(Anchor Location to be included in Poll or Response DTM)

ParameterSize (bits)Notes
Type of Coordinate System80x00:使用WGS-84坐标系
0x01:使用相对坐标系
0x02:使用WGS-84坐标系加Z元素
0x03:使用相对坐标加Z元素
0x04:使用Z坐标与重力对齐的相对坐标系
0x05:使用Z坐标与重力对齐的相对坐标加Z元素
0x06 – 0xFF:RFU
Type-Dependent Coordinate Field80/96/128/144若坐标系类型为0x00:见表38
若坐标系类型为0x01和0x04:见表39
若坐标系类型为0x02:见表38和表40
若坐标系类型为0x03和0x05:见表39和表40

表 38 - 坐标系类型字段值为0x00时的类型相关坐标字段(Type-Dependent Coordinate Field if the value of Type of Coordinate System field is 0x00)

ParameterSize (bits)Notes
Anchor Latitude33DT锚点的纬度(Latitude of the DT-Anchor)
Anchor Longitude33DT锚点的经度(Longitude of the DT-Anchor)
Anchor Altitude30锚点的高度(Altitude of the Anchor)

若坐标系类型为0x00,则锚点位置以WGS-84坐标系表示,包括表示锚点位置的纬度、经度和高度。

锚点纬度和经度值为33位长,采用Q9.24格式编码,含1位符号位、8位整数部分和24位小数部分,如图34所示。该符号位也是二进制补码表示的一部分。

锚点纬度字段指示DT锚点地理位置的纬度值。该值的范围为[-90, 90],分辨率约为6.66 mm。

锚点经度字段指示DT锚点地理位置的经度值。该值的范围为[-180, 180],分辨率与锚点纬度相同。

Figure 34

图 34 - WGS-84坐标系下锚点位置纬度与经度的位格式(Anchor location latitude and longitude bit format in WGS-84 coordinate system)
源文档第 67 页

若坐标系类型为0x01、0x03、0x04和0x05,则锚点位置以笛卡尔坐标的相对坐标系表示,包括锚点的x、y和z位置。

锚点高度字段指示DT锚点地理位置的高度值。该字段为30位长,采用Q9.21格式编码,含1位符号位、8位整数部分和21位小数部分,如图35所示。该符号位也是二进制补码表示的一部分。锚点高度的单位为千米,该值的分辨率约为0.476 mm。

Figure 35

图 35 - WGS-84坐标系下锚点位置高度的位格式(Anchor location altitude bit format in WGS-84 coordinate system)
源文档第 67 页

表 39 - 坐标系类型字段值为0x01、0x03、0x04和0x05时的类型相关坐标字段(Type-Dependent Coordinate Field if the value of Type of Coordinate System field is 0x01, 0x03, 0x04 and 0x05)

ParameterSize (bits)Notes
Anchor X28DT锚点在给定坐标系下的X坐标,单位为毫米(X of the DT-Anchor in millimeter in a given coordinate system)
Anchor Y28DT锚点在给定坐标系下的Y坐标,单位为毫米(Y of the DT-Anchor in millimeter in a given coordinate system)
Anchor Z24锚点在给定坐标系下的Z坐标,单位为毫米(Z of the Anchor in millimeter in a given coordinate system)

锚点X字段指示DT锚点的X坐标值,单位为毫米。1位表示符号,27位以二进制补码表示整数部分值。

锚点Y字段指示DT锚点的Y坐标值,单位为毫米。1位表示符号,27位以二进制补码表示整数部分值。

锚点Z字段指示DT锚点的Z坐标值,单位为毫米。1位表示符号,23位以二进制补码表示整数部分值。若坐标系类型为0x04、0x05,则Z坐标值应与重力对齐。

简言之,X和Y坐标的毫米值采用Q28.0编码,Z坐标的毫米值采用Q24.0编码。

坐标系0x02、0x03和0x05分别以WGS-84坐标系和相对坐标系报告锚点位置,但包含关于锚点部署高度(即Z元素)的扩展。因此,这些坐标系分别遵循表38和表39,但额外包含表40所示的Z元素信息。

表 40 - 坐标系0x02、0x03或0x05的Z元素扩展(Z-element extension for coordinate systems 0x02, 0x03, or 0x05)

ParameterSize (bits)Notes
Anchor Floor Number14楼层号(Floor number)
Expected to Move2锚点是否计划被移动(If anchor is planned to be moved)
Anchor Height Above Floor24锚点距地面的高度,单位为米(Anchor height above floor in meters)
Anchor Height Above Floor Uncertainty8锚点距地面高度的不确定度(Anchor height above floor uncertainty)

锚点楼层号字段指示锚点的楼层号。值越高表示楼层越高,其整数部分近似于场所所使用的楼层编号标签(例如楼梯间和电梯中的编号,若存在)。该字段以Q10.4格式报告(1位符号位、9位整数部分、4位小数部分),每一比特增量代表1/16层,因此覆盖范围(-512 m, 512 m)。十进制值-8192表示未知楼层号。十进制值8191表示锚点楼层为8191/16层或更高(511.9375 m或更高)。十进制值-8191表示锚点楼层为-8191/16层或更低(-511.9375 m或更低)。

注——例如,一栋楼层标注为地下1层(Basement 1)、地面层(Ground)、夹层(Mezzanine)、1层和2层的建筑,其楼层可分别由锚点楼层号十进制值-16、0、8、16和32标识。

预期移动字段指示锚点位置是否预期会发生变化。值0表示锚点位置预期不会变化,值1表示锚点位置预期会变化。值2表示锚点的移动模式未知。值3保留。

锚点距地面高度字段指示锚点距地面的高度。该字段以Q12.12格式报告(1位符号位、11位整数部分、12位小数部分),每一比特增量代表1/4096 m(0.24 mm),因此覆盖范围(-2048 m, 2048 m)。十进制值-8388608表示未知的锚点距地面高度。十进制值-8388607表示锚点距地面高度为-2048 m(四舍五入到最接近的整数)或更低。值8388607表示锚点距地面高度为2048 m(四舍五入到最接近的整数)或更高。

锚点距地面高度不确定度值为0表示未知的锚点距地面高度不确定度。值25及更高保留。值1到24表示实际锚点距地面高度a按下式界定:

h − 211−u ≤ a ≤ h + 211−u

其中:

若锚点距地面高度字段指示未知的锚点距地面高度,则锚点距地面高度不确定度字段设置为0。

可选的主动测距轮信息字段(表41)告知接收方DT锚点或DT标签某DT锚点作为发起方或响应方DT锚点所参与的测距轮。

表 41 - 包含在DTM中的主动测距轮信息字段(Active Ranging Round Information field included in DTM)

ParameterSize (bits)Notes
Active Ranging Round List Length8主动测距轮列表字段中的元素数量L。(Number of elements L in the Active Ranging Round List field.)
Active Ranging Round List8*LDT锚点主动运行的测距轮的轮索引列表,不包括当前测距轮。L为主动测距轮列表长度字段的值。若L = 0,则不包含该字段。(A list of Round Indexes of the ranging rounds in which the DT-Anchor actively operates, excluding the current ranging round. L is the value of Active Ranging Round List Length field. If L = 0, then this field is not included.)

主动测距轮列表长度字段指示其后主动测距轮列表字段的元素数量。该值表示传输本字段的DT锚点所运行的集群数量,不包括当前测距轮。

主动测距轮列表字段指示传输本字段的DT锚点所运行的测距轮的轮索引值列表。传输本字段所在的当前测距轮的轮索引不包含在此列表中。DT标签可通过识别相邻集群所使用的测距轮的轮索引值,使用该字段来更新主动测距轮列表。

5.9.11.3 AoA测量消息(AoA Measurement Message)

对于AoA测量,OWR消息类型为0x5,OWR消息类型相关载荷字段应按表42的定义构造。

表 42 - AoA测量消息的OWR消息类型相关载荷(OWR Message Type-dependent Payload for AoA Measurement Message)

ParameterSize (bits)Notes
Message Control8消息的配置,如表43所定义。(Configuration of the message as defined in Table 43.)
Inter-Frame Interval8测距块中所发送RFRAME之间的间隔,单位为1200 RSTU(=1 ms)。(Interval between the RFRAMES transmitted in the ranging block in the unit of 1200 RSTU (=1ms))
Block Index16当前测距块的块索引(Block index of the current ranging block)
Block Duration16块持续时间,单位为1200 RSTU(=1 ms)。(Block duration in the units of 1200 RSTU (=1ms).)

消息控制字段应按表43所示格式构造。

表 43 - AoA测量消息的消息控制字段(Message Control field of the AoA Measurement Message)

ParameterSize (bits)Notes
Number of RFRAMEs4在同一测距轮中发送的RFRAME数量,用于减小FiRa设备所测AoA值的偏差。(The number of RFRAMEs that are transmitted in the same ranging round in order to reduce the deviation of AoA values measured by FiRa Devices.)
RFU4RFU

RFRAME数量字段指示在一个测距轮中发送的RFRAME数量。该字段的值应大于或等于MIN_FRAMES_PER_RR的值,并且在同一测距轮内的各AoA测量消息之间该值不应改变。

发送本AoA测量消息的FiRa设备应发送与本参数所指定数量相同的RFRAME。两个连续RFRAME之间的间隔应由帧间隔确定。

接收AoA测量消息的FiRa设备通过该测距轮第一个AoA测量消息中所含本字段的值,获知该测距轮中后续RFRAME的数量。测距轮中的多个RFRAME用于减小FiRa设备所测AoA测量值的偏差。

帧间隔字段指示测距块中所发送RFRAME之间的间隔,单位为1200 RSTU(=1 ms)。

块索引指示当前测距块的索引。在一个测距块中发送的各RFRAME应具有相同的值。块索引的值应每个测距块递增。

块持续时间字段指示测距块的持续时间,单位为1200 RSTU(=1 ms)。

5.9.12 数据消息(Data Message)

对于数据消息(DM),头部IE的内容字段应按表4的定义构造。

DM载荷IE也可与表6中定义的任何消息一同捎带发送。在此情形下,应仅使用一个头部IE,其后跟随主消息(例如RIM、RRM)的载荷IE,再跟随DM的载荷IE。

DM载荷IE应按表44的规定构造。

表 44 - DM的载荷IE(Payload IE for DM)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x8:DM
DM Type4指定内容字段的类型。
0x0:载荷(Payload)
0x1:数据传输协议控制消息(DTPCM)
0x2 - 0xF:RFU(Specifies the type of the Content field)
ContentVariable格式取决于DM Type。对于Payload类型见表45,对于DTPCM类型见表46。(Format depends on DM Type. For Payload type see Table 45 and for DTPCM type see Table 46.)

Vendor OUI字段的值应为0x5A18FF。若Vendor OUI字段的值不是0x5A18FF,FiRa设备忽略该消息。

UWB Message ID字段应设置为0x8以指示DM。

控制器应仅将DM Type设置为0x1,用于启动或管理专用数据传输(DTPCM类型见第5.9.12.2节)。

DM Type字段指定数据消息的类型,从而对内容字段中所含载荷进行分类。

内容字段大小可变,其格式和内容取决于DM Type。内容字段的可变字段针对Payload类型在第5.9.12.1节中规定。

5.9.12.1 DM Type为Payload时的内容字段格式(Content field format for DM Type Payload)

若DM Type为0x0(Payload),则内容字段应使用表45所规定的长度-值编码构造。

表 45 - DM Type为Payload时的内容字段格式(Content Field format for DM Type Payload)

ParameterSize (bits)Notes
Payload Size16其后Payload字段的大小(N),单位为字节(Size (N) in units of bytes followed in the Payload field)
PayloadN*8MDSDU或其一部分(MDSDU or part thereof)

Payload Size编码其后Payload字段的大小,应包含其后Payload字段的实际大小,单位为字节。因此载荷大小可在0到65535字节之间变化。

Payload字段包含MDSDU或其一部分。

5.9.12.2 DM Type为数据传输协议控制消息时的内容字段格式(Content field format for DM Type Data Transfer Protocol Control Message)

DM Type为DTPCM(见表45)的内容字段格式和内容应按表46的规定构造。

为启动数据传输,控制器应发送DTPCM(另见第5.9.12节)。DTPCM包含数据传输协议管理列表(DTPML),用于管理参与的FiRa设备、测距时隙分配以及停止数据传输。

表 46 - 数据传输协议控制消息内容字段(Data Transfer Protocol Control Message Content Field)

ParameterSize (bits)Notes
Data Transfer Control8Bit 0:0b0 后续DTPCM;0b1 首个DTPCM,启动数据传输。
Bit 1:0b0 MAC地址长度16位;0b1 MAC地址长度64位。
Bits 2 to 4:时隙位图大小
0:8个测距时隙
1:16个测距时隙
2:32个测距时隙
3:64个测距时隙
4:128个测距时隙
5:256个测距时隙
6:512个测距时隙
7:RFU
Bits 5 to 7:RFU
DTPML Element Size8以字节为单位编码DTPML单个元素的大小(Encodes the size of one element of the DTPML in bytes)
Data Transfer Protocol Management List (DTPML) Length8数据传输协议管理列表长度(N)。编码DTPML中元素的数量(N)。(Data Transfer Protocol Management List Length (N). Encodes the number (N) of elements in the DTPML)
Data Transfer Protocol Management List (DTPML)variable (see Table 47)数据传输协议管理条目列表。包含如表47所定义的(N)个元素。(Data Transfer Protocol Management Entries List. Contains (N) elements as defined in Table 47.)

数据传输控制字段分为三个子字段。

DTPML元素大小字段以字节为单位编码DTPML单个元素的大小。

DTPML长度字段指示DTPML中元素的数量N。

DTPML包含N个大小为DTPML元素大小的元素。元素格式应按表47的定义。

控制器不应在表47所定义的DTPML元素内部添加任何额外字节。

受控器应忽略表47所定义的DTPML元素内部的任何额外字节。

表 47 - 数据传输协议管理列表(DTPML)格式(Data Transfer Protocol Management List (DTPML) Format)

ParameterSize (bits)Notes
MAC Address16/64MAC地址,其大小在Data Transfer Control字段中定义。所有参数字段都适用于与此MAC地址关联的FiRa设备。(MAC Address with size defined in Data Transfer Control field. All parameter fields apply to the FiRa Device associated to this MAC address.)
Slot Bitmapvariable时隙位图。每一位表示一个时隙索引(例如bit0为当前测距时隙+1 … bit63为当前测距时隙+64)。
时隙位图大小在Data Transfer Control字段中定义的位图大小字段中编码。
若时隙位图中的某位设置为值0b1,则具有本元素MAC地址的FiRa设备可在该位位置对应的测距时隙中发送其DM。
Stop Data Transfer10b0:数据传输将继续
0b1:数据传输将停止(0b0: Data Transfer will be continued; 0b1: Data Transfer will be stopped)
RFU7保留供将来使用(Reserved for Future Use)

MAC地址字段:包含MAC地址。其大小为16位或64位,由数据传输控制字节的bit 1声明。元素中所有后续参数都适用于具有此MAC地址的FiRa设备。

时隙位图字段:时隙位图包含由本元素MAC地址标识的FiRa设备的测距时隙分配。时隙位图中的每一位表示一个测距时隙。时隙位图的第一位寻址紧随包含DTPCM的测距时隙之后的测距时隙。例如,若DTPCM在测距时隙x中发送,则时隙位图的第一位对应测距时隙x+1。若某位设置为0b1,则对应的测距时隙分配给本元素的FiRa设备用于数据传输。若某位设置为0b0,则对应的测距时隙不分配给本元素的FiRa设备用于数据传输。FiRa设备绝不应在未分配给自己的测距时隙中发送消息。

停止数据传输字段:指定本元素的FiRa设备的数据传输将继续还是停止。当停止数据传输字段的值为0b0时,该元素的FiRa设备的数据传输应继续。当停止数据传输字段的值为0b1时,该元素的FiRa设备的数据传输应停止。在此情形下,控制器应将时隙位图的每一位设置为0b0。对于停止数据传输字段设置为0b1的元素,具有该元素MAC地址的FiRa设备应忽略时隙位图字段,并应停止在本次数据传输中的通信。

控制器和受控器应支持SP0和SP1 PPDU(PHY协议数据单元)配置。若选择了SP1 PPDU配置,则每个块的第一个DTPCM应以SP0 PPDU格式发送,CFP的所有其余帧(包括任何额外的DTPCM)应以SP1 PPDU格式发送。

5.9.13 控制消息类型3(Control Message Type 3)

对于控制消息类型3,头部IE的内容字段应按表4的定义构造。本消息仅适用于HUS模式。

控制消息类型3的载荷IE内容字段应按表48的规定构造。

表 48 - 控制消息类型3的载荷IE内容字段(Payload IE Content Field for Control Message Type 3)

ParameterSize (bits)Notes
Vendor OUI240x5A18FF
UWB Message ID40x3=控制消息(Control Message)
Stop Session10:会话将继续
1:会话将停止(0: Session will be continued; 1: Session will be stopped)
Version3编码HUS功能的主版本号(Encodes the major version number of the HUS feature)
Message Control16载荷IE的控制字段(Control fields of the Payload IE)
Stride Length8要跳过的块数。
若值为0x00,则不使用块跨步。(Number of blocks to be skipped. If the value is 0x00 then Block Striding is not used)
Round Index0/16下一个测距块的测距轮索引(Ranging round index for the next ranging block)
Ranging Round Management List (RRML)Variable测距轮管理列表,由如表50所定义的N个元素条目构成,其中N为整数。(Ranging round management list which consists of N element entries as defined in Table 50, where N is an integer number.)

Vendor OUI:应设置为值0x5A18FF。

UWB Message ID:应设置为0x3以指示本消息为控制消息。

Stop Session:指示HUS控制器是否停止HUS会话。若Stop Session位设置为0b0,则会话继续。若设置为0b1,则HUS会话停止。所有参与本HUS测距轮的设备(即接收到CM Type 3的设备)应停止参与HUS会话。

Version字段:本字段包含本功能的主版本号。本规范中定义的当前版本为1。HUS控制器应将Version字段的值设置为0b001。实现本功能本版本的HUS受控器应接受Version字段值0b001。

Stride Length字段:指示要跳过的块数。

Message Control字段:见表49。

Round index字段:指示下一个测距块将使用的测距轮的测距轮索引。

RRML字段:本列表为本HUS测距轮的每个HUS测距阶段包含一个元素。RRML的每个元素包含该HUS测距阶段的时隙分配,如表50所定义。HUS控制器可从一个测距轮到下一个测距轮添加、移除或修改HUS测距阶段。

表 49 - 控制消息类型3的消息控制字段(Message Control field of Control Message Type 3)

ParameterSize (bits)Notes
Hopping Mode10:下一个测距块将使用相同的测距轮
1:下一个测距块将使用遵循所配置跳频序列的测距轮。(0: The same ranging round will be used for the next ranging block; 1: Ranging round which follows the configured hopping sequence will be used for the next ranging block.)
RRML Size15RRML的大小,以字节为单位(Size of the RRML in units of octets)

Hopping Mode字段:指示下一个测距轮是否启用跳频模式。

RRML size字段:指示RRML的大小,以字节为单位。

RRML单个元素的结构和字段定义在表50中规定。

表 50 - 测距轮管理列表单个元素的结构(Structure of one Element of Ranging Round Management List)

ParameterSize (bits)Notes
Phase Indicator10:CFP
1:CAP
MAC address mode10:Device MAC address包含短地址
1:Device MAC address包含扩展地址(0: Device MAC address contains the short address; 1: Device MAC address contains the extended address)
Slot Index Start15测距轮内HUS测距阶段起始处所分配的测距时隙索引(Assigned ranging slot index within the Ranging Round where HUS Ranging Phase begins)
Slot Index End15测距轮内HUS测距阶段结束处所分配的测距时隙索引(Assigned ranging slot index within the Ranging Round where the HUS Ranging Phase ends)
Phase Session ID32包含在本HUS测距阶段中运行的HUS辅会话的ID(Contains the ID of the HUS Secondary Session operated in this HUS Ranging phase)
Device MAC address16/64本HUS测距阶段的控制器MAC地址。(MAC address of the Controller of this HUS Ranging Phase.)

Phase Indicator:若设置为0b0则为CFP,若设置为0b1则为CAP。受控器可使用阶段指示位的设置来判断其是否参与同一控制器的CAP。

MAC address mode:定义其后Device MAC address字段为短地址还是扩展地址大小,即16位或64位。

Slot Index Start字段:包含本测距轮中该HUS测距阶段的起始时隙索引。

Slot Index End字段:包含本测距轮中该HUS测距阶段的结束时隙索引。

Slot Index Start和Slot Index End表示HUS测距阶段的总持续时间。

Phase Session ID:包含与HUS测距阶段关联的HUS辅会话的32位标识符。

Device MAC address:包含被指定为本HUS测距阶段中所执行HUS辅会话控制器的FiRa设备的MAC地址。本字段的大小由MAC address mode字段所声明。

若RRML中元素的数量导致超出测距结果管理消息(RMM)(CM Type 3)测距时隙中的总PSDU大小,则该时隙的RMM帧的最终分组位(FP)应设置为'1',以指示后续时隙包含配置有针对该块的额外RRML元素的RMM。若在该测距块的RMM中没有待发送的阶段信息,则最终分组位应设置为'0'。

以下规则适用于RMM传输中FP位的使用。

Figure 36

图 36 - HUS测距块中RMM的FP使用示例(Example FP usage for the RMM in a HUS Ranging block)
源文档第 76 页

5.10 数据传输(Data Transfer)

FiRa 在所有测距模式下定义了 FiRa 设备之间的数据传输。MAC 层从上层接收 MDSDU 以进行数据发送,并在接收到数据时将 MDSDU 发送给上层。一个 MDSDU 包含上层数据,并在一个或多个数据消息(DM)载荷 IE(DM PIE)中传输。MDSDU 的内容不在本规范范围内。

MDSDU 可通过以下方式传输:

5.10.1 测距期间的数据传输(Data Transfer during Ranging)

在此模式下,MDSDU 的内容可伺机搭载在现有 UWB 消息上传输。MDSDU 由专用的 DM 载荷 IE 承载,这些 IE 应位于该 UWB 消息载荷 IE 之后。包括 MHR、MAC 载荷和 MFR 在内的组合消息大小不应超过最大 PSDU 大小。

在发送应用数据后,可将当前测距轮内后续 UWB 消息的接收用作隐式数据接收确认(ACK)。

MDSDU 传输可以是双向的,即发起方和响应方均可在同一测距轮内发送各自的 MDSDU。

隐式确认是否可用取决于底层使用的测距方法。

表 51 - 用于数据传输和确认的测距消息(Ranging Message used for Data Transfer and acknowledgement)

测距方法 用于数据传输的测距消息(括号内为发送设备) 用于确认的测距消息
Deferred SS-TWR RIM(发起方) RRM
RRM(响应方) -
Non-deferred SS-TWR with RCP RIM(发起方) RRM
RRM(响应方) -
Non-deferred SS-TWR without RCP RIM(发起方) RRM
RRM(响应方) -
Deferred DS-TWR RIM(发起方) RRM
RRM(响应方) RFM
Non-Deferred DS-TWR RIM(发起方) RRM
RRM(响应方) RFM

表 51 列出了可用于在不同测距方法中附加 DM 的主要 UWB 消息。表中第三列指示可用作隐式确认的 UWB 消息。若需要在测距期间进行数据传输,延迟模式下的 RFRAME 配置应设置为 SP1

图 37 中的示例序列图说明了使用非延迟 DS-TWR 进行测距期间的 MDSDU 传输。在前一个测距轮中,发起方使用 RIM 消息将其 MDSDU 发送给响应方。响应方通过发送 RRM 隐式确认接收。在随后的测距轮中,响应方随 RRM 消息一起发送其 MDSDU,随后发起方成功接收到 RFM 即隐式确认。

Figure 37

图 37 - 非延迟 DS-TWR 测距期间数据传输示例(Example Data Transfer during Non-Deferred DS-TWR Ranging)
源文档第 77 页

在 OWR 测距轮中,应使用“Data Repetition Count”配置,以在连续测距轮中多次传输同一 MDSDU。

图 38 展示了较短的 MDSDU 如何装入单个 DM 并以单帧发送(可以是 CM、RIM 等)。图 39 展示了较长的 MDSDU 如何被分段为两个 DM。请注意,图 38 和图 39 假设未启用安全机制。这些图中也未详细描述其他 PIE。

Figure 38

图 38 - 当 MSDU 包含在单个 UWB 帧中且未分段时的示例(Example when a MSDU is contained in a single UWB frame and is not segmented)
源文档第 78 页

Figure 39

图 39 - 当 MDSDU 被拆分为两个 DM 并在两个 UWB 帧中传输时的示例(Example when a MDSDU is split in two DMs and transmitted in two UWB frames)
源文档第 78 页

注:DM IE HDR = IEEE PIE Length + IEEE PIE Group ID + IEEE PIE Type + Vendor OUI + UWB Message ID + Data Transfer Content Type + Payload Size

FiRa 设备每个测距轮仅应传输一个 MDSDU。整个 MDSDU 应在该测距轮内传输。

如果 MDSDU 无法装入单个 DM 载荷 IE,FiRa 设备应将其分段到多个 DM 载荷 IE 中。

即使 MDSDU 可以装入单个 DM 载荷 IE,FiRa 设备也可将其分段到多个 DM 载荷 IE 中。

使用 MDSDU 分段时,应遵循以下规则:

5.10.2 专用数据传输(Dedicated Data Transfer)

为减少两个端点之间应用数据交换的时间,可能需要将应用数据的传输与测距解耦。为此,将测距时隙分配给专用数据传输。每个测距轮都使用数据传输协议控制消息(DTPCM)启动数据传输,DTPCM 定义见第 5.9.12.2 节。DTPCM 包含数据传输协议管理列表(DTPML),用于管理参与的 FiRa 设备以及时隙分配。在数据传输期间,所有消息的 UWB 消息 ID 应为 0x8(即数据消息),定义见第 5.9.12.1 节。所有帧应在 Multipurpose 帧内传输,并带有第 6.3.1.1 节定义的 MAC 帧头。

数据传输的启动:

图 40 展示了数据交换的消息流。控制器使用 DTPCM 启动数据传输。根据 DTPCM 分配给控制器的第一个测距时隙中,传输从上层(UL)接收到的完整 MDSDU(MDSDU1)。受控器接收 MDSDU1 并将其转发给自己的 UL。下一步,在分配给控制器的下一个测距时隙中传输 MDSDU2。受控器将接收到包含 MSDU2 的 DM 帧,并将其转发给自己的 UL。最后,受控器也可在分配给该受控器的测距时隙中发送从 UL 接收到的自己的 MDSDU。控制器接收到该消息,并将 MDSDU3 转发给 UL。

Figure 40

图 40 - 示例数据传输(Example Data Transfer)
源文档第 80 页

控制器可发送更多 DTPCM,以动态扩展或修改数据传输(例如,更改测距时隙分配,甚至添加其他受控器)。当当前分配给数据传输的测距时隙结束,或该轮结束时(轮的定意见第 1.1 节),数据传输即结束。控制器不应将数据传输扩展至超过当前轮的持续时间。

如第 5.9.12.2 节所定义,DTPML 是 DTPCM 的一部分,包含一个或多个 FiRa 设备的测距时隙分配信息。DTPCM 的配置和测距时隙分配不在本规范范围内。

数据传输的管理应遵循以下规则:

图 41 至图 44 展示了测距时隙位图大小为 16 个测距时隙时的不同分配示例。图 41 的示例展示了测距时隙分配的基本功能原理。顶部显示了一个控制器和三个受控器的完整测距时隙分配。每个单元格包含相应 FiRa 设备的颜色和字母。白色空单元格对应未分配的测距时隙。底部展示了 DTPML 中包含的各 Slot Bitmap 的构成方式。值为“1”的单元格表示该测距时隙已分配给相应的参与 FiRa 设备。空单元格表示该测距时隙未分配给相应的参与 FiRa 设备。这对应于实际 Slot Bitmap 字段相应位位置的值 0b0

Figure 41

图 41 - 将测距时隙分配给三个受控器和一个控制器的单个 DTPCM 示例(Example single DTPCM for ranging slot assignment to three Controlee and one Controller)
源文档第 82 页

另一个示例是向正在进行的数据传输添加新的受控器。原因可能是 MAC 载荷大小不足以寻址所有受控器。在图 42 的示例中,控制器通过在第 5 个测距时隙中发送另一个 DTPCM,将受控器 Z 加入数据传输。控制器应仅将尚未分配给另一 FiRa 设备的测距时隙分配给受控器 Z。控制器还必须为本次数据传输会话新增的测距时隙(时隙 17 至 21)分配新的测距时隙。

Figure 42

图 42 - 示例多个 DTPCM 以将更多 FiRa 设备加入数据传输会话(Example multiple DTPCM to add further FiRa Devices to data transfer session)
源文档第 83 页

图 43 展示了另一个示例,说明如何向数据传输添加另一个受控器,并更新已参与数据传输的受控器的测距时隙分配。在此示例中,更新了受控器 X 的测距时隙分配,并在第一次测距时隙分配结束后新增更多测距时隙。此外,受控器 Z 被加入数据传输。控制器将尚未分配的测距时隙分配给受控器 Z(索引为 9 的时隙),并分别将之前分配给受控器 X 和控制器自身的测距时隙重新分配给受控器 Z(索引为 14 和 16 的时隙)。

Figure 43

图 43 - 示例将 FiRa 设备加入数据传输会话并重新分配测距时隙(Example adding FiRa Device to data transfer session and reassignment of ranging slots)
源文档第 83 页

最后一个示例如图 44 所示,说明了如何在数据传输的最后一个测距时隙中使用 DTPCM,以通过更多测距时隙来扩展数据传输。

Figure 44

图 44 - 数据传输扩展示例(Example data transfer extension)
源文档第 84 页