3、MAC时间网格同步
U
W
B
t
i
m
e
0
k
UWB^k_{time0}
UWBtime0k,相对于发起者的内部时钟定义。
时钟参考
U
W
B
t
i
m
e
0
k
UWB^k_{time0}
假设在发起者和响应者之间没有非常严格的时钟级同步,则应在每个应答器(响应者设备)建立MAC层时钟网格,基于相对合理的精度范围。这允许每个responder(响应者设备上)确定何时期望从发起者接收Pre-Poll消息,何时需要发送其应答消息给发起者,以及何时期望从发起者接收Final以及Final_Data消息。
每个Responder的大致MAC层时间网格的建立按照如下操作:
- 在每个测距会话的协商阶段,发起者需要发送
U
W
B
t
i
m
e
0
k
UWB^k_{time0}
- 每个响应者通过以下方法估计发起者的MAC层时间网格:
- 响应者使用专用的out-of-band(OOB,带外数据)时钟同步(例如通过BLE控制信道)。通过使用OOB时钟同步方法,发起者告知响应设备何时测距会话开始,估计协调器的参考MAC时钟网格
U
W
B
t
i
m
e
0
_
R
e
s
p
o
n
d
e
r
#
l
k
UWB^k_{time0_Responder#l}
- 接收到UWB包之后 ,响应者进一步使用从发起者收到的UWB包持续改善,更加精细化估计MAC时间网格,假设在其专用时隙(dedicated slot)开始之前,每个传入的数据包不是由发起方启动的。
- 飞行时间的计算应不受MAC时间网格的影响。(时间戳信息从UWB来获得,不影响飞行时间计算。从接收到发送,再到收到Final帧,通过来回测量时间戳信息,可以一定程度上消除UWB时钟偏差带来的影响)
- 响应者使用专用的out-of-band(OOB,带外数据)时钟同步(例如通过BLE控制信道)。通过使用OOB时钟同步方法,发起者告知响应设备何时测距会话开始,估计协调器的参考MAC时钟网格
在测距会话建立以及同步的过程中,协调器告知所有应答者设备,会话将要开启的时刻,即从多久之后整个测距会话正式启动,协调器将开始发送第一个UWB包。
MAC层时间网络,以发起者为参考,同步也以发起者为基准。其他Responder的数据包,不用于同步。此外,对于车辆等应用而言,也无需接收其他Responder的数据。
对于第k个测距会话,近似MAC网格和时间参考的建立,在第l个responder被标记为,与发起者的时钟参考的关系为:
U
W
B
t
i
m
e
0
_
R
e
s
p
o
n
d
e
r
#
l
k
=
U
W
B
t
i
m
e
0
k
+
ϵ
(
k
,
l
)
UWB^k_{time0_Responder#l} = UWB^k_{time0} + epsilon(k,l)
UWBtime0_Responder#lk=UWBtime0k+ϵ(k,l)
ϵ
(
k
,
l
)
=
ϵ
U
W
B
(
k
,
l
)
epsilon(k,l)=epsilon_{UWB}(k,l)
ϵ(k,l)=ϵUWB(k,l)还是OOB时钟同步协议(
ϵ
(
k
,
l
)
=
ϵ
O
O
B
(
k
,
l
)
epsilon(k,l)=epsilon_{OOB}(k,l)
ϵ(k,l)=ϵOOB(k,l)),用于估计近似MAC层时间网格。此误差的特征以及最小化误差超过了CCC规范的范围,所以并没有在其规范中进行详细的描述,需要在实现时去考虑。
在底层块时间同步处理流程参考示意如下图:
对于Responder设备,会基于预估的同步时钟,提前开启接收机,等待第一帧信号(Pre-Poll信号),进而完成这一轮的测距操作。
4/多跳标记与轮次索引
对于给定RAN的第k个测距会话中的发起者将默认地在第一测距块(Ranging Block 0)的第一个测距轮(Ranging Round 0)中启动UWB测距流程。这假设响应方设备已经通过OOB方法实现了块同步,如果没有,则永久地监听Pre-Poll消息帧。
在发起者端,假设没有资源冲突发生,将根据在测距会话设置中的hopping模式,来确定下一个测距块(i+1)的
H
o
p
_
F
l
a
k
(
i
+
1
)
Hop_Flag^k(i+1)
Hop_Flagk(i+1)、
R
o
u
n
d
_
I
d
x
k
(
i
+
1
)
Round_Idx^k(i+1)
Round_Idxk(i+1):
R
o
u
n
d
_
I
d
x
k
(
i
+
1
)
=
R
o
u
n
d
_
I
d
x
k
(
i
)
=
0
Round_Idx^k(i+1)=Round_Idx^k(i)=0
Round_Idxk(i+1)=Round_Idxk(i)=0
H
o
p
_
F
l
a
g
k
(
i
+
1
)
Hop_Flag^k(i+1)
Hop_Flagk(i+1)设置为0。在这种情况下,
H
o
p
_
F
l
a
g
k
(
i
+
1
)
Hop_Flag^k(i+1)
Hop_Flagk(i+1)与接收机无关,应该被忽略。相应的,即使在测距工作过程中,由于冲突、干扰等原因导致无法正常进行测距,那也没有办法避免。
- 若多跳模式设置为“continuous hopping”,发起者将使用第
S
i
+
1
k
S^k_{i+1}
R
o
u
n
d
_
I
d
x
k
(
i
+
1
)
=
S
k
(
i
+
1
)
Round_Idx^k(i+1)=S^k(i+1)
此时Hop_Flag设置为1,同样,
H
o
p
_
F
l
a
g
k
(
i
+
1
)
Hop_Flag^k(i+1)
Hop_Flagk(i+1)与接收机无关,需要被忽略。(为固定值)
-
若多跳模式设置为“adaptive hopping”,那么在发起者,针对下一个测距块(i+1)的
H
o
p
_
F
l
a
g
k
(
i
+
1
)
Hop_Flag^k(i+1)
Hop_Flagk(i+1)和
R
o
u
n
d
_
I
d
x
k
(
i
+
1
)
Round_Idx^k(i+1)
Round_Idxk(i+1)按照以下方式计算:
- 若发起者决定round是干净,即没有冲突的且当前的测距轮次测距成功,发起者应停留在当前的测距轮,同时设置:
H
o
p
_
F
l
a
g
k
(
i
+
1
)
=
0
Hop_Flag^k(i+1)=0
R
o
u
n
d
_
I
d
x
k
(
i
+
1
)
=
R
o
u
n
d
_
I
d
x
k
(
i
)
Round_Idx^k(i+1)=Round_Idx^k(i)
- 若发起者发现在当前的round有干扰,或测距不成功,发起者就应该跳到下一个不同的round(已知的Hopping序列,在发起者和接收者两端一致)。
- 若发起者决定round是干净,即没有冲突的且当前的测距轮次测距成功,发起者应停留在当前的测距轮,同时设置:
H
o
p
_
F
l
a
g
k
(
i
+
1
)
=
1
Hop_Flag^k(i+1)=1
Hop_Flagk(i+1)=1
R
o
u
n
d
_
I
d
x
k
(
i
+
1
)
=
S
k
(
i
+
1
)
Round_Idx^k(i+1)=S^k(i+1)
Round_Idxk(i+1)=Sk(i+1)
此时,发起者需要发送下一次测距块的
H
o
p
_
F
l
a
g
k
(
i
+
1
)
Hop_Flag^k(i+1)
Hop_Flagk(i+1)和
R
o
u
n
d
_
I
d
x
k
(
i
+
1
)
Round_Idx^k(i+1)
Round_Idxk(i+1)到响应者设备。该数据作为包含在当前测距序列最后的Final_Data的数据包内。
在响应者设备,针对随后的测距轮次的多跳标记与轮次号,需要按照如下伪代码进行设置:
if Final_Data packet is received
{
Hop_Flag_k(i+1) = Final_Data.Hop_Flag
if(Hop_Flag_k(i+1)=0)
{
set Round_Idx_k(i+1) = Round_Idx_k(i)
}
elseif (Hop_Flag_k(i+1)=1)
{
set Round_Idx_k(i+1) = S_k(i+1)
}
}
else
{
set Round_Idx_k(i+1) = S_k(i+1)
}
处理思路解析:
1、没有收到Final_Data,假设测距是失败的,需要跳到Hopping序列的下一个测距轮。
2、收到Final_Data,按照数据段的Hop_Flag信息判断是否Hopping,若要Hopping,则跳到对应的测距轮次的索引,否则在下一个测距块中保持当前的测距轮索引。
注意:发起者基于干扰等级或数据包的冲突概率来决定是否触发多跳(即Hop_Flag =1)。决策的数据可以通过当前的数据交换,或一系列从应答设备接收到的应答帧来获取(历史数据)。在发起者端,触发多跳的具体标准超出了本规范的范围,有设备供应商来自行决定实现机制。但是,对于所有标准而言都需要满足的是,若没有接收到任何的相应,设备就应该触发多跳。
1、CCC联盟——UWB PHY
2、CCC联盟(一)——UWB MAC概述
3、CCC联盟数字车钥匙(二)——UWB MAC时间网格
原文地址:https://blog.csdn.net/luo58614013/article/details/134637160
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_1361.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!