【ICNP2020】6Fit-A-Part: A Protocol for Physical Distancing on a Custom Wearable Device论文解读

A peer-peer network ranging protocol with no central coordinator

一、前言

论文选于ICNP2020(International Conference on Network Protocols).作者利用UWB设计了一种用于对等网络节点间的测距协议,协议可用于小型嵌入式设备。论文背景为新冠肺炎疫情下,如何保证医院、工厂、杂货店等公共场所的工作人员保持社交距离。他们将协议用于工作人员可佩戴的、外观类似于卡片的小型嵌入式设备,设备能够利用协议测量工作人员之间的距离。当距离小于规定距离(6 feet)时,触发卡片上蜂鸣器报警,从而使人员保持距离。

然而,工程上想实现这种想法,并不是一件容易的事情。在现实中,可能会遇到如下难题:

  • Devices may arbitrarily enter and exit from each other’s vicinity, and need to measure distance with all nearby devices, without a central authority. This results in hundreds of messages being exchanged per second crippling existing protocols.
  • 在没有一个中央权威设备统筹信息的情况下,设备可能会任意进出其他设备的可测量域,并且需要测量附近所有其他设备与当前设备的距离。这会导致每秒间大量的信息交换并危害协议。——对等网络,大量信息交换。
  • Such devices are useful only if they work reliably every time. It is therefore important to minimize false-positive and -negative rates—no nuisance, or missed warning.
  • 设备只有在可靠工作的时候才有用。重在减少虚警、漏警。
  • Without the right context, distance measurements can often be misleading. Two shoppers in different aisles need not be warned even if close-by, whereas a person body-blocking the device may cause imperfect distance estimates. An effective solution must differentiate such contexts.
  • 没有正确的上下文(背景、环境),距离测量通常会被误导。不同过道的两个购物者在附近也不应该被警告,然而一个人的身体遮挡住了设备也会导致距离估计不准确。有效的解决方法必须对情景做以区分。

二、测距方法

在此处展开讨论一些测距方法(主要是无线测距方法),并比较一下这些方法。

  1. WIFI: WiFi CSI based techniques unsuitable due to their small 20- 80MHz bandwidths.
  2. RFID: 作者直接引用了文章(1. Phase-based ranging of rfid tags with applications to shopping cart localization. 2. Radiometry and the friis transmission equation.)
  3. mmWave: mmWave suffers from fast attenuation.
  4. UWB: 作者所选方案。 802.15.4 based ultra-wideband radios [25] strikes a good balance between ranging precision and longer range with 1 GHz bandwidth.
  5. Bluetooth: Bluetooth signal strength is unreliable in the best of conditions, and the store environment further exacerbates the problem.
  6. Acoustic ranging: Constant sonic chirps can be irritating to people, while inaudible ultra-sound can raise health concerns.
  7. Visual ranging: 我的补充,视觉方法比作者的人类遮挡NLOS到LOS的距离补偿更为简单。但在卡片上放上视觉模块总有窥探人隐私的嫌疑。

A 1GHz bandwidth allows 1ns resolution. Practically, path-lengths 3−4 ns apart can be clearly distinguished. 1ns ≈ 1 foot difference in path lengths.
作者在实验中说明:1GHz的带宽允许1ns的分辨率。实际上,3-4纳秒的间隔可以被清楚的分别出来,1ns约差了1英尺。如果注意到我们上面写的距离界限是6 feet,那么WIFI等带宽小的RF测距手段就不适用了。

To tackle(解决) these real-world issues, we propose to use ultra-wideband (UWB) radios, a fastgrowing technology (iPhone 11, Samsung Galaxy Note are equipped with UWB radios) which can obtain nanosecond receive timestamps owing to their 1GHz bandwidths. Moreover, UWB’s fine-grained (fine-grained细粒度)channel impulse response increases multipath resolution; path-lengths larger than ≈ 30 cm can be clearly differentiated.
由于其1GHz的带宽,可以获得纳秒的接收时间戳。此外,UWB的细粒度信道冲激响应提高了多径分辨率;路径长度大于≈ 30厘米可以清晰区分。这也说明了作者为什么选择了UWB。

三、主要创新点

  • Developing a peer-peer wireless ranging protocol to efficiently determine numerous pair-wise distances between near-by devices (measuring about 10 distances per second).
  • 开发一种对等无线测距协议,来有效的从附近设备中确定多组成对距离。(每秒大约测量十次)
  • Analyzing the wireless channel impulse response to differentiate clear line-of-sight measurements from human-occluded and barrier-occluded ones, correcting distance estimates (median accuracy less than 20cm).
  • 分析无线信道脉冲响应来分清视线LOS测量值、人类遮挡测量值、屏障遮挡测量值,校正距离估计(后面作者说明只在人体遮挡的情况下补偿距离)。(平均精度小于20cm)
  • Designing and prototyping(原型设计、开发) an ID-card size device on which to instantiate the ranging protocol. The device is low power (53 mA transmit current), lightweight (≈ 50gms − 100gms), small (≈ 8cm×5cm), and inexpensive (≈ $50).
  • 设计并开发一个身份证大小的设备以实例化此协议。这个设备低耗(53mA传输电流),重量轻(50-100gms),很小且廉价。这个想法确实很新颖,吸引到了我。但真正吸引我的还是,A peer-peer network ranging protocol with no central coordinator,我认为它非常适合用于无人系统关于通信网络架构的设计中。

四、工作流程

请添加图片描述
Front-end UBW RF(radio frequency) module:

  • It is responsible for sending and receiving ultra-wideband packets. 负责发送和接收超宽带数据包
  • It records precise nanosecond-level timestamps of outgoing and incoming packets, 它记录出入数据包的精确纳秒级时间戳
  • and also extracts the channel impulse response(CIR).并提取信道脉冲响应CIR

The timing information is used by the ranging module to run the 6Fit-a-Part peer-peer ranging protocol.
Ranging module:

  • It decides how many slots to allocate for responders in every round of the protocol, 它决定在协议的每一轮中为响应者分配多少个时隙
  • maintains slot timings, 维护时隙计时
  • and enables a quick retry mechanism for colliding responders.并为起冲突的响应者启用快速重试机制
  • In conjunction with the UWB RF front-end, the ranging module produces a raw estimate of the distance between peers. This distance estimate and the CIR from the UWB RF module is processed inside the analysis module to infer the context of the measurement. 结合UWB RF前端和测距模块产生对等点之间距离的原始估计。这个距离估计和来自前端模块的CIR在分析模块内处理,以推断测量的背景。

Analysis module:

  • extracts features from CIR 从CIR中提取特征
  • and classifies the obtained distance measurement into line-of-sight (LOS), human occlusion, or barrier occlusion, (together called NLOS), 并将获得的测量距离分类为视线LOS、人眼遮挡或障碍物遮挡(统称为NLOS)
  • and compensates for distance errors, if required. 并在需要时补偿距离误差

The output of the analysis module is this sanitized distance and an alarm trigger, if necessary.
分析模块的输出为该消毒距离,并据此决定是否触发蜂鸣警报器。
Finally, all decision attributes are stored by the storage unit for offline analysis and improvements.
最后,所有的决策属性被储存在存储单元,由存储单元离线分析和改进。

五、协议设计

首先,对协议有如下要求:

  1. 有效性:每个节点测量附近所有设备的距离。
  2. 高效性:应该最小化网络节点中的数据包冲突,否则在多节点方案中会导致性能下降。
  3. 实时性:应最大化每秒的距离测量次数,以便在两台设备距离过近时快速发出警报。

A naive way to approach this question is by sending out a broadcast request as a discovery process. Performed by all devices in the vicinity, every device would know of the entire network’s membership. This discovery step could be followed by a series of node-wise TWR operations. However, for a network with n mobile nodes, such a protocol would first require n discovery messages, and then all nodes will have to perform the TWR protocol followed by a distance report message with n − 1 n − 1 n1 other nodes, for a total of n + 4 n ( n − 1 ) / 2 = 2 n 2 − n n + 4n(n − 1)/2 = 2n^2 − n n+4n(n1)/2=2n2n messages. With frequent message exchanges, uncontrolled pair-wise transmissions incur significant collisions. Fig. 5 shows the impact of frequent collisions: the number of usable rangings falls short of the theoretical maximum. Further, it is difficult to guarantee fairness, where all nodes perform equal number of rangings, due to potential capture effect.

让网络中的n个结点发送自己的broadcast寻找信号。然后所有的节点都必须执行TWR协议后与其它的 n − 1 n-1 n1个节点汇报距离信息,总计 2 n 2 − n 2n^2-n 2n2n次。由于频繁的消息交换,不受控制的成对传输会导致严重的冲突(信息碰撞)。图5显示了频繁碰撞的影响:可用的节点发送broadcast信号数量低于理论最大值。此外,由于潜在的捕获效应,当所有节点执行相同数量的测距时,很难保证公平性。

补充说明一下TWR协议(symmetric two-way ranging protocol). 首先,A广播POLL信号,B收到A的信号后,回复RESP(response)信号,由A接收。最后,A向B发送Final数据包,B接收后计算出A-B间距离。这样使用相对时间而不是绝对时间的好处在于,可以消除两设备间的时钟漂移。但是,请注意,B获得了A-B间的距离,而A没有获得距离信息。我们可以来考察一下实际的距离场景,我正在工作,然后突然有一个人接近了我,如果A-B都知道两设备间的距离,那么我和他的card都会报警,我会被他无意中打扰。但是,如果只有B报警,B就会知道这是B的违规行为,因为B处在了A的领域中

请添加图片描述
作者认为TWR只适用于两设备间的测距,而不适用于多设备间的信息交互,因此作者在TWR基础上做了改进,使用了Deca经验公式。

请添加图片描述
The key strength of this formula is in the robustness to different turn-around times, as demonstrated mathematically in [34]. Compared to the averaging formula, eq. (1)’s robustness can be seen in fig. 4. We utilize this greater flexibility in designing our modified one-to-many ranging protocol.

该公式的关键优势在于对不同周转时间的鲁棒性,如【34】(An alternative double-sided two-way ranging method. In 2016 13th workshop on positioning, navigation and communications (WPNC), pages 1–4. IEEE, 2016.)中给出的数学证明所示,与平均公式相比,式1的鲁棒性如图4所示,我们利用这个更大的灵活性设计了改进的一对多测距协议。

We propose below a protocol to satisfy the requirements in such a multi-node scenario. Overall, the 6Fit-a-Part protocol can be summarised as follows: (i) A more efficient message exchange scheme that reduces the total number of message exchanges to n 2 + n n^2 +n n2+n, (≈ 2× improvement); (ii) A slotted time division multiple access scheme with real-time slot adaptation to reduce RESP collisions; and (iii) A two-step scheme allowing RESP re-transmission while a collision occurs. The core benefit in the 6Fit-a-Part protocol comes from the exploitation of the broadcast nature of wireless channels, which is further enhanced by piggybacking information pertaining to multiple nodes on a single wireless packet. Next, we describe the proposed 6Fit-a-Part protocol, but relegate justification of the design choices to section III-C.

我们提议下面的协议以适应在多节点场景的需求。总的来说,此协议可以被概括为:1)更加有效的信息交换方案减少了信息交换总数,约提升了二倍的效率。2)具有实时时隙自适应的分组多址接入方案来减少RESP冲突。3)两步方案允许RESP在发生碰撞时重新传输。协议的核心优势在于利用无线信道的广播性质,进一步通过搭载与多个结点相关的消息来增强单个数据包的信息量。

Fig. 6 shows the flow of messages in 6Fit-a-Part protocol. Since every device is equivalent and each of them runs exactly the same protocol, there is no master device or central controller. Each device runs a simple state machine shown in fig. 7. For ease of explanation, we consider the protocol from the perspective of one particular device, called A and first follow the “POLL-Path” in fig. 7. A has (n) neighbors B1, B2, · · · , Bn at a given instance. These nodes follow the “RESP-Path” in fig. 7.

图6展示了6Fit-a-Part协议中的信息流。因为每个设备都是等效的,每个设备都可以运行相同的协议,没有主设备或中央控制器。每个设备运行一个简单的状态机如图7所示。为了便于解释,我们考虑协议从一个特定设备的角度来看,设备称为A,首先遵循图7中的“POLL-Path”路径。在给定的实例中,A有n个相邻设备,称之为B1, B2, …, Bn.这些节点遵循图7中的"PESP-Path"。

请添加图片描述
请添加图片描述
Basic round: The protocol starts with A sending a broadcast POLL packet, (packet structures are shown in fig. 8). Within the POLL, A declares the number of slots, s, available to any Bi for sending RESPs. Every slot is defined as a nonoverlapping short period of time starting from the reception of the POLL packet. After sending the POLL, A changes to being a receiver and records every response it receives. This process will last for s slots. It then waits an additional short period σ as a guard interval. On reception of the broadcast POLL, each receiving device B1…n must randomly choose one among the s slots, and send its RESP packet in that slot. Since the propagation delay is much smaller than the transmission delay, POLL arrives almost simultaneously at all Bi , ensuring the non-overlapping property of slots at different Bi nodes. After sending the RESP, Bi enters the FINAL expecting state, waiting for the FINAL from A.

协议从A发布一个broadcast POLL packet开始(信息包的结构如图8所示)。在POLL信息包的内部,A声明了s个时隙,可用于任意的Bi来发送RESP信号。每个时隙定义为(Bi)从接收POLL信息包开始的不重叠的短时间段。(下面说了可以认为所有的Bi同时收到POLL信息包)在发送POLL信息包后,A变为接收者并记录每个它收到的消息应答。这个过程将持续s个时隙。然后,它将额外等待σ作为保护间隔。在接收POLL信息包时,每个接收设备Bi必须随机的从s个时隙中选择一个,并在该时隙中发送RESP信息包。因为传播延迟远小于传输延迟,轮询几乎同时到达所有的Bi。在发送RESP后,Bi进入期望Final信息包的状态,等待从A输入的Final信息包。

There are three possibilities for each slot that A has given: (i) no responding device chose that particular slot, (ii) only one of B1…n devices transmitted in that slot, (iii) two or more devices send RESP in the same slot (a collision occurred), which may produce an error in the reception.

A给出的时段time slot有三种可能性:1)没有相应设备选择该特定时段。2)仅有B1-Bn其中的一个选择了该时段。3)两个以上的设备发送RESP信息包在同一个时段(在此发生冲突),这导致了一个接收错误。(原文中此处不分段)

After dutifully waiting for s time, A builds a set {B’ 1…m} which contains the type (ii) RESPs above. A then assembles the reception times and node IDs in {B’} as well as other information that will be used by the B’ devices to calculate their own distance from A, (message format is shown in fig. 8). Meanwhile, based on the number of empty or collision slots observed, A dynamically adapts the distributed slots s in every turn to efficiently trade-off between minimizing the time delay and reducing the collisions. In general, higher occupation rate indicates that a larger s is required to avoid collisions. More details on the slot adaptation are in section III-C. On receiving the FINAL from A, every Bi checks if Bi ∈ B’ . If it is a member, it calculates the distance from A. Otherwise, Bi participates in the respond-again (RESP-again) round described below.

在s slots时间过去后,A建立了一个集合B’ 1…m,其中包含上述第二类响应。然后,A组合集合B’中的接收时间和节点ID以及被B’用于计算自身与A距离的其他信息(消息结构如图8)。同时,基于观测到的空闲或冲突的时段slots数量,A在每轮中动态调整供应的slots以有效地在最小化时间延迟和减少冲突间权衡。一般来说,较高的占有率表明需要一个更大的s来避免冲突。有关slots更多的细节在III-C部分。在收到来自A的FINAL信号时,每个Bi检查自己是否属于B’集合。如果Bi是集合中的成员,它计算自己和A之间的距离。否则,Bi将参与下面描述的再次响应(RESP-again)循环。

请添加图片描述
Respond-again round: While the basic round reduces the collisions through slotting and slot adaptation, a fraction of packets are still lost due to collisions. For instance, as shown in fig. 9, when there are 5 nodes, the packet reception ratio is approximately 80% even when distributing slots with 4× the number of nodes—increasing number of slots provides diminishing returns. To mitigate this issue, we propose the respond-again scheme. Specifically, for nodes who are not in B’ , it is allowed to send another RESP randomly choosing among further s’ slots after A’s FINAL is received. The number s’ is given in the FINAL packets (and also in POLL packets to avoid certain corner cases) sent by A. This allows A to receive a new set of RESPs and send another FINAL to these nodes denoted as B’’. Nodes already present in B’ do not participate in this round, and instead sleep for a short time saving power. A’s POLL to FINAL2 is called one run.

虽然basic round通过时隙和自适应时隙减少了冲突,但由于冲突仍有一小部分信息包丢失。例如,如图9所示,当存在5个节点时,即使分发的slots数量是节点数的4倍,分组接受率约为80%,增加时隙数量提供递减的返回。为了缓解这个问题,我们提出一个respond-again重新响应的方法。具体地说,对于不在B’集合中的节点,允许在接收到A的Final信号后,在s’时隙中任选一个再发送RESP信号。s’的数量在A发送的FINAL信息包中给出(为了避免某些极端案例同样在POLL信息包中给出)这允许A接收一个新的RESPs集合并且向这些点B’'发送另一个的FINAL信号。B‘中的点不参与此轮,而是休息来节省电量。A的POLL到FINAL2被称为一次运行。

请添加图片描述
At this point, a total of |B’ ∪ B’’| = n’ devices have calculated their distance from A. Revisiting the state diagram, A has completed POLL-path, while the Bi’s have completed the RESP-path. A itself, despite having initiated the process, does not receive any distance estimates. Next, A starts a timer Tgap and enters the POLL-expect state of RESP-path during which it waits for a POLL from another node. While it waits, A may go back to sending a POLL with an increasing probability ppoll as time passes. If it does receive a POLL, it freezes Tgap and enters the RESP-path flipping its role and behaving like a B node. The Tgap timer remains frozen until the current full round (both basic and respond-again parts) finish, after which Tgap starts running freely once again. This process repeats until Tgap runs out: once again node behavior flips, A enters the POLL-path and initializes a new POLL.

此时,共有n’个设备已计算出它们与A的距离。重新查看状态图,A已完成POLL-path,此时Bi已经完成了RESP-path。尽管A本身启动了这一过程,但是没有收到任何的距离估计。接下来,A启动了定时器Tgap,并且进入RESP-path的POLL-expect状态,在此期间它等待另一个节点的POLL信号。在等待的过程中,A可能会返回发送POLL信号的过程,并且这一概率会随着时间推移越来越高。如果A确实收到了POLL信号,它冻结Tgap定时器并且进入RESP-path,翻转角色表现为Bi。Tgap定时器保持冻结直到当前整轮循环结束,然后Tgap再次开始运行。此过程重复进行直到Tgap耗尽:节点行为再次翻转,A进入POLL-path并初试化新的POLL信号。(A在发送完FINAL2之后会等别人的POLL信号,启动一个定时器Tgap,在Tgap时间内A可能会表现为Bi,直到Tgap耗尽,才再次表现为发送者A)

小结:也就是说,一个设备会扮演两种身份,发送者A或者应答者B。但为了公平性,在发送者发送完最终数据后,A不会永远作为发送者,A会打开一个定时器等待其他设备的POLL信号,如果收到了其他设备的POLL信号,A会冻结定时器进入B的身份作为应答者出现,之后返回原状态定时器计时,直到计时结束或等待中概率性的返回POLL-path发送新的POLL信号。而这种方法,能够有效的解决公平性(加入定时器)和减少信息包的冲突(定时器的冻结)。

六、决策设计

首先,说明slots:为了解决信息碰撞,协议并不是让所有的Bi都在同一段时间内将RESP发送给A,假设B1和B2在同一时间将RESP信号发送给A,而A因为只有卡片大小能力有限只能处理B1或B2的,那这样就会造成信息碰撞。而为了解决这个问题,协议首先拿出一段时间,将其分出s和s’份,随POLL信号发送。Bi收到POLL信号后,从s slots中随机选择一个slot发送,这样在一定程度上可以避免冲突。但假设B1、B2恰好选择了同一个slot,那么A会根据自己收到的RESP信号建立一个B’集合,集合里包括了自己收到的RESP信号,并将这一信号作为FINAL信号广播出去。这样Bi可以检查自己是否在集合中,如果不在则从s’ slots中再随机选择一个,发送RESP2信号给A,A发送FINAL2信号,Bi收到测距。

这一节说明,一些参数的选取问题。

  1. Benefit of the two-round RESP strategy: We show that adding more slots to the basic round, instead of having a tworound RESP, does not reduce collisions. Adding slots provides more nodes a contention-free chance of sending the RESP packet to A. However, every slot consumes valuable time that reduces the ranging rate. Hence, we must carefully choose the number of slots made available to Bi . Suppose the proportion of nodes not experiencing a contention is pclean with s slots. The proportion pclean is a function of both the number of available slots s and the number of nodes n:
    采用两轮RESP策略的好处:我们表明在basic round中增加更多的slots而不是采用两轮RESP并没有减少碰撞。增加slots提供了更多的节点一个发送RESP信息包给A的自由竞争的机会。然而,每个slot都会消耗宝贵的时间,从而降低测距效率。因此,我们必须小心的选择Bi可用的slot数量。假设s个slots中没有经历竞争的节点的比例是p-clean。这个比例是一个可用slots的数量和节点数量的函数。图9给出一定数量的可用时隙的无征用节点的百分比。增加整个网络可用slots的数量会带来负收益。在一个20节点的网络中,50%的节点不会发生碰撞如果有30个可用slots。然而,即便为整个网络提供额外的30个slots,只有70%不会发生碰撞。相反,如果我们首先30个,然后再为剩下的提供另外30个,那么将会有85%的节点不会发生碰撞。因此,两阶段策略比单阶段策略更有利。
    请添加图片描述
    请添加图片描述

  2. Guidance for the choice of s: The number of available slots is dynamically adapted to avoid bandwidth wastage. Our choice of the number s during every round has a significant impact on the overall packet reception ratio. Fig. 9 provides an intuition about s, but we will formalize it here. Ideally, we want to choose s based on our best guess of the number of nodes currently present in the vicinity (network size), which can be inferred from the slot occupancy in the previous RESPexpect state. As an example, fixing the number of maximum slots to 20, fig. 10 shows the probability of the number of occupied slots as the number of nodes in the network changes. Evidently, the space of the most likely network size is small once the number of occupied-slots is known. 6Fit-a-Part uses fig. 10 as a look-up table for network size inference I. Given that s_occ slots were occupied in the previous run, a particular row in fig. 10 will be relevant. Pick the cell in that row which has the highest probability, resolving ties by preferring the higher number of nodes. This is the best estimate of the number of nodes in the network. Then, with estimated number of nodes, 6Fit-a-Part uses fig. 9 to obtain the value of s such that a preset percentile pclean of those nodes will receive a contention free slot. In our protocol, we empirically set it to be higher than 80% between the basic and RESP-again rounds. This choice of s is calculated at every run independently by every node. Given our lookup table approach, we use the inverse function of eq. (2) to update the slots:
    如何选取s:可用slots的数量是动态适应的以避免带宽浪费。我们在每一轮选择的s数量对整体收到信息包的比率有重大影响。图9给出了s的一种直观,但在这里我们要确定它的形式。理想地,我们想要基于我们对附近范围内当前存在的节点数(网络大小)来猜测s,这可以从先前RESPexpect状态下的插槽占用情况推断出来。举个例子,将最大slots数固定为20,图10展示了随着网络节点数的变化,被占用插槽数量的概率。显然易见地,一旦被占用slots的数量已知,网络空间节点数就被限定在一个小范围内(意译)。协议使用图10作为网络大小推断I的查找表。鉴于s_occ slots在之前的运行中被占用,图10中的特定行将是相关的。选择该行中概率最高的单元,通过优先选择较高数量的节点来解决关系。这是对网络中节点数量的最佳估计。然后,对于估计的节点数量,协议使用图9来获得s的值,使得这些节点的预设百分位能够达到免于冲突的slot数。在我们的协议中,我们根据经验将其设置为在basic和RESP-again之间高于80%。每个节点在每次运行时都会独立计算选择的s。根据我们的查表法方法,使用等式2的反函数来更新slots s。
    请添加图片描述
    请添加图片描述

  3. 如何选取s’: s’的选择与s的选择方式密切相关。总的来说,目标是实现高于确定百分比节点的测距,也就是网络中极大多数节点的测距。因此,为了保证整体的高百分比,例如,如果s在50%时选择,s’需要比s在80%选择’时更大。然而,可以在选择s的同时选择s’,而不丧失一般性。这对于确保听到邻居在当前运行的整个过程中保持冻结尤其有益,在第III-C7中将变得更为清楚,我们将在其中讨论多个碰撞域。

  4. Tgap的选择: 在发送FINAL2信息包之后,节点在启动另一个POLL信号时会等待Tgap时间。由于距离是被收到POLL信号的节点计算的,POLL信号发送者是利他的。小的Tgap几乎没好处,会增加POLL冲突比率。POLL信号冲突发生当两个以上的节点A1、A2几乎同时发送一个POLL信号。在这种情况下,这两个节点讲汇错过其它的POLL信号然后进入RESP expect状态从而使得程序不再进行(双方都等待对方输入,卡死)。此外,太频繁的POLLs信号会迅速消耗电池。因此,从A的角度,最好发送最少的POLL信号,并且给其它的节点来发送它们的POLL信号的机会。另一方面,由于所有的设备都是对等的,A不能完全停止发送POLL信号,除非在网络中没有测距发生。协议基于以下原则设置Tgap:1)不断来自A的POLL信号不会增加新的信息。2)Tgap应该允许其他节点来发送它们的POLL信号。3)Tgap因该最小化POLL冲突。4)Tgap应该节约、保护电池。借鉴这些原则,进入POLL门关的值Tgap是或然的。A的可调节参数α指示自上次POLL信号以来ppoll随时间增长的速率。图11展示了α对PRC和MRT的影响,提供了选择设计α参数的指导。此外,为了避免电池快速消耗,A在短时间内不会发送POLL信号(实验中是150ms)。如果A在网络中是孤立的,它将在发送另一个POLL信号前至少等待150ms。在这之后,在POLL-except状态时A可能会发送POLL信号随着缓慢增长的ppoll概率。每当A在响应其他节点的POLL信息时,A将会处于RESP-state除POLL-expect的任意状态,并且不会启动它自己的POLL信号。

  5. 为何选择冻结Tgap:协议冻结定时器当它接收到其它节点的POLL信号。如果我们没有冻结定时器,当另一个节点B1发送POLL信号时,A 将发送RESP但是定时器仍然在计时。与此同时,其他节点诸如Bi的计时器可能接近A也将倒计时。假设A首先到达0,但由于它必须等待当前的B1运行完成所以不能传输。当A等待变成0时。Bi也将达到0并等待B1完成。此时,A和Bi的POLL信号包将会冲突。通过引入定时器冻结,我们确保只计算空slots,从而将冲突概率降低到仅同时处于相同计数的节点。这种想法会造成僵局,一旦两个节点开始冲突,它们就会一直冲突。Tgap上的一个小的随机退避可以阻止这种情况,节点尊重其它的POLL信号,并在这段时间内冻结,保持较小的退避。

  6. slots而不是continuous time: The 6Fita-Part protocol suggests all B nodes pick a random slot from 1…s and transmit in that slot. Instead, it is also possible to treat time as continuous and allow nodes to choose at much finer time-scales. Slots are naturally more efficient at avoiding collisions (see comparison in fig. 12). The only drawback of slotted back-off is the requirement of a globally synchronized time. In any other wireless system, this would be a major hurdle. Fortunately, the reception of the broadcast POLL packet and accurate time-stamping available on UWB devices already provides a uniform way to synchronize all B nodes1(The slight difference in arrivals due to propagation delay is a few nanoseconds and can be safely absorbed within slot guard-bands) . Since node-synchronization comes for free, slotted back-off behavior is naturally preferable for 6Fit-a-Part.(我觉得可能有误的理解都会)
    协议建议所有的B节点从1-s中随机选择一个时隙并且在该slot中传输。相反,也可以将时间视为连续的,并允许节点以更精细的时间尺度进行选择。时隙自然地更加有效避免信息包之间的冲突(比较见图12).时隙返回的唯一缺点是需要全局同步时间。在任何其他无线系统中,这都是一个主要障碍,幸运的是,UWB设备上可用的广播POLL信息包的接收和准确可用的时间戳提供了同步所有节点B的统一方法(由于传播延迟,到达的微小差异只有几纳秒)。可以安全的在时隙保护区内吸收(理解是在允许误差范围内)。由于节点同步是免费的,所以对于协议来说,这种选取slots的行为更加自然可取。
    请添加图片描述

  7. 多碰撞域: 当无线信道方式为broadcast时,它并不会无限扩展(传播)。在一个很大的空间内,很可能有多于一个的碰撞域;节点太远,无法听到A的POLL信息包。如果有这样一个节点C,C足够远,不能与A的邻居产生交互,然后C可以同时和A发送POLL信号。然而,一般来说,C可能足够远听不到A的POLL,但是可能会收到B的RESPS。在这种情况下,C可能会无意中干扰B。为了避免这种干扰,如果C在其POLL-expect状态期间检测到RESP信息包,C会冻结很长的时间,这段时间A-B之间的通信将在预期中继续。每个RESP信息包包含s和s’,来帮助C决定冻结多长时间。

七、信号分析-环境识别与距离补偿

首先,讨论为什么要进行环境识别。

在动态变化的环境中,正如在医院、仓库和我们期待的那样,测距协议对快速检测在附近区域内存在其他人至关重要。然而,单凭协议是不够的,我们的最终目标是建立一个警报系统,以警告潜在安全距离违规行为。是否发出特定距离的警报可能取决于环境。例如,在不同两个房间的设备不得触发警报,即使它们确实在附近,因为他们被物理的墙隔开,一个虚警案例。相反,由于直接信号路径被阻断,被人类遮挡的两个设备可能看起来比实际距离更远,而杂乱的反射(更长的距离)到达接收器,漏警。避免这些问题需要基于环境以不同的方式处理这些距离。

  • 在动态变化的环境中,正如在医院、仓库和我们期待的那样,测距协议对快速检测在附近区域内存在其他人至关重要。然而,单凭协议是不够的,我们的最终目标是建立一个警报系统,以警告潜在安全距离违规行为。是否发出特定距离的警报可能取决于环境。例如,在不同两个房间的设备不得触发警报,即使它们确实在附近,因为他们被物理的墙隔开,一个虚警案例。相反,由于直接信号路径被阻断,被人类遮挡的两个设备可能看起来比实际距离更远,而杂乱的反射(更长的距离)到达接收器,漏警。避免这些问题需要基于环境以不同的方式处理这些距离。
  • 检测人体遮挡:人体对信号的吸收为距离估计带来了独特的挑战,因为直路信号会显著衰减,导致附近物体的衍射或反射被误认为第一路径。这导致了对实际距离的高估。图13a,借用了【19】(此处稍作修改以作解释),很好的演示了这一效应,包括对不同角度的遮挡。UWB设备A,被其它几个UWB设备Bs包围,其中一些设备由于人体挡住而被遮挡(人站在A和B2,B3之间)。A和其他设备的测量距离用绿色或红色的点画在图13a中。和A具有清晰视线的设备可获得一致的测量结果,然而在人(B2,B3)后方约30°以内的被遮挡设备可获得剧烈的估计值(红色条纹)。此玩具示例具体说明了协议在被人们遮挡时面临的问题,这是任何公共场所的常见情况。
    请添加图片描述
    我们可能会问:是否有可能区分人体遮挡和物理屏障?是否有可能在人类遮挡的条件下获得准确的距离估计?(NLOS->LOS)

To answer these questions, we need to first understand the process by which UWB devices decide the packet reception time and other auxiliary information that might be useful. The UWB receiver performs a cross correlation of incoming physical layer preamble with a known pseudo-random sequence. This correlated signal is then convolved with the known transmission pulse to obtain a high-bandwidth CIR, which captures the signal strengths and time delays between echoes. The resolution of this “impulse” is limited by the signal’s bandwidth, but since UWB devices use a large bandwidth, we obtain a few nanosecond resolution in the CIR with every CIR point associated with a timestamp. (A 1GHz bandwidth allows 1ns resolution. Practically, path-lengths 3−4 ns apart can be clearly distinguished. 1ns ≈ 1 foot difference in path lengths.) An internal leading edge (LDE) detection algorithm analyzes this signal, and determines the first instance when the signal amplitude exceeds a previously set LDE threshold. That timestamp is reported as the packet reception time.

为了回答这些问题,我们需要首先理解UWB设备决定信息包接收时间的过程以及其他可能有用的辅助信息。UWB接收机执行传入物理层前导和已知伪随机序列的互相关(猜测是接收信号与POLL信号的互相关)。然后,将此相关信号与已知传输脉冲卷积以获得高带宽CIR,该CIR捕获回波之间的信号强度和时间延迟。这种脉冲的分辨率收到信号的带宽限制,但由于UWB设备使用大带宽,我们获得了CIR几纳秒的分辨率,每个CIR点都与时间戳相关(1GHz的带宽允许1ns的分辨率。实际上,3-4纳秒的间隔可以被清楚的分别出来,1ns约差了1英尺)。内部前缘(LDE)检测算法分析该信号,并确定信号幅度超过事先设置的LDE的阈值时的第一个示例(点)。该时间戳被报告为数据包接收时间。

理想条件下,这个收到时间戳都应该精确无论设备当前设备是否有一个明确的LOS(line of sight)。然而,环境因素会降低它的精度。LDE阈值经过校准以在LOS操作期间提供一致的结果。墙体以及其他遮挡物会衰减无线信号,所以在相同的距离下,一个遮挡信道的第一路径的振幅将会低于其视线对应的路径。图13b展示了具有墙体遮挡的CIR。相反,当第一条路经被人体遮挡,衰减可能非常严重,其振幅可能低于LDE阈值。这样第一个峰值将被完全忽略(图13-c)。我们相信,对CIR的仔细分析为校正提供了机会。

对数据包接受过程的了解使我们能够通过两个关键观察来检测和分类遮挡。

  1. 在相同距离下,遮挡信号(通过墙体、人)会比视线信号衰减更多。
  2. 体遮挡会扭曲具有紧耦合的多路径的峰值形状,导致错误的峰值被选为第一条路径。

接下来,我们讨论基于这些关键观测的分类和距离校正方法

我们的目标是创建一个模块,该模块将CIR和测量距离作为输入,并首先将其分类为LOS,墙体遮挡或人体遮挡。对最后一种情况,模块还需要计算距离校正。几个CIR特征将在这项工作中证明是有用的。图14提供了这些特征的梗概。标记了3个区域:1)在第一路线之前的区域Pre FP。2)第一条路线之间的区域FP。3)第一条路线之后的区域Post FP。一个重要的特征是,如果我们没有捕捉到第一条路线,那么前FP区域将包含衰减信号,而不是噪声,从而提升了该区域的信号强度。如果此CIR中不包含LOS,那么我们预计后FP区域和FP区域具有相似的信号强度,因为所有路径都只是反射路径。一个弱或缓慢上升的第一路径脉冲比快速上升的视线第一路径具有更小的斜率。这些属性的每一个都会影响计算出的Rx时间戳,我们打算对其校正。我们的特征将基于"如果,这样,那么,那样"的观察结果。

请添加图片描述
可能会想到尝试细粒度深度学习模型来解决遮挡分类问题。但是,6Fit-a-Part基于一个小型嵌入式微控制器,只有32KB的RAM,没有互联网连接。这些严重的资源限制妨碍了复杂的深度学习算法的使用。然而,由于我们使用UWB无线电,我们确实获得了环境的高分辨率多径剖面,这为我们提供了简化分类算法的机会。因此,基于上述解决方案的“if this then that”性质,我们认为决策树是分类和距离补偿的合适模型。虽然理想情况下距离补偿应该是一个连续值,并且回归树只提供一小部分值,但我们仍然发现它是有益的。表一描述了用于拟合这两棵树的特征。障碍物引起的信号衰减(x9)是区分阻塞和服务水平的最重要特征。FP斜率表示人为遮挡的距离误差(图13(c))。一些特征使用Friis传输公式[39]合并原始距离(*),以避免过度拟合。
请添加图片描述
A classification tree (DST: 50% split, 3% error) and a regression tree (RGT: 25-75% train-test split, 2.8, 7.7, 18.8 cm resubstitution error at 50, 75, 90%ile) were trained on Table I’s features (fig. 15) using data collected in three environments including: low multipath (open driveway, medium multipath (large living room), and high multipath (busy kitchen area). Fig. 16 demonstrates the effectiveness of distance compensation in the human occlusion case. CIR and ranging data was collected at multiple distances (letters A, B, C, D in fig. 16) with and without human occlusion. The LOS CDFs are shown as solid-black lines, whereas red lines show the corresponding raw human-occluded ranges. Post compensation, the human-occlusion CDFs (blue dotted lines) closely mimic LOS ranges.

分类树(DST: 50% split, 3% error)和回归树(RGT: 25-75% train-test split, 2.8, 7.7, 18.8 cm resubstitution error at 50, 75, 90%ile)被从三种环境中收集到的数据对表1的特征进行训练。图16演示了在人类遮挡情况下距离补偿的有效性。CIR和测距数据是在多个距离(图16中的字幕ABCD)采集的,分有人遮挡和无人遮挡。LOS的CDF显示为黑色实线,而红线显示了相应的原始人体遮挡范围。补偿后,人体遮挡的CDF(蓝色虚线)与LOS范围非常接近。

请添加图片描述
总之,每个距离测量首先被分类为LOS,墙体遮挡和人体遮挡,然后只有人体遮挡的情况下才补偿距离。

八、算法评估

  1. mean ranging time(MRT):6Fit-a-part与A-TWR的对比。
    在这里插入图片描述

  2. Fairness: 每个节点都应该具备平等的测量与其他设备距离的能力,表现为节点测量其他节点次数大致相同。
    请添加图片描述

  3. Selection of Slotting Threshold: 提供更多的slots可以确保网络中更多的节点完成测距。但更多的slots也会导致增加每轮需要的时间。
    请添加图片描述

  4. Effect of Slot Adaptation, RESP-again:选择不使用RESP-again,会显著影响网络中完成测距节点的数量,而选择使用RESP-again在时间上,并没有增加太多,所以认为RESP-again是必要的。
    请添加图片描述

  5. Dynamic Network Size:即便是网络是动态变化的,协议也能很好的完成工作,现实环境中一个区域内工作人员是流动的。percentage of rangings completed (PRC)
    请添加图片描述

  6. Occlusion Classification: We test 6Fit-a-Part’s classification accuracy in three environments with increasing multi-path: an open area, a living room with sparse furniture, and a kitchen with severe multipath. Fig. 24(a) shows representative CIRs in these environments. Experiments are performed at distances 1−4 m between two UWB devices (1 m granularity) for line-of-sight, wall occlusion, and human occlusion in these environments. Fig. 24(a) shows that 6Fit-a-Part accurately classifies in low-multipath environments. The accuracy degrades with increasing multipath, yet the overall accuracy is 93% (85%) for medium- (high-) multipath scenarios.
    请添加图片描述

  7. Human-Occlusion Distance Compensation: We evaluate the regression tree described in sction IV-C by varying tree depths in fig. 24(b). The median distance error, without compensation, and independent of tree depth, is shown as the red dashed line (shaded pink region shows the 10th − 90th percentile error). As we change the tree depth, 6Fit-a-Part achieves different median errors shown by the black line (shaded gray region is the 10th − 90th percentile errors). We select the tree depth that leads to a low median and low 90% around 20 cm, (marked rectangle). Fig. 25(a) demonstrates 6Fit-a-Part’s distance compensation for measurements made by a cart moving from 5 m to about 1 m from another cart, while being pushed by a person (human occlusion). Efficacy of the distance compensation is shown in fig. 25(b) for other environmental scenarios; errors experienced before compensation (red lines) are reduced after compensation (black lines).

请添加图片描述

九、总述

为了实现对等通信网络节点间的无线测距工作,作者选用了带宽高而衰减相对小的UWB,设计了6fit-a-part通信协议。协议是对适用于两点间测距的TWR协议的改进。同时使用了Deca经验公式作为距离测量公式。包含POLL、RESP、FINAL、RESP2、FINAL2。设计了basic round和respond-again round来尽量减少信息碰撞。需要注意的是设备只能扮演A或B角色,无法同时发送接收。之后,在CIR的基础上,引入了对环境的区分,并在人体遮挡的情况下,补偿了距离。

十、结语

笔者在解读文章的过程中,加入了原文和翻译的对比,尽可能的保证文章的专业性,并不使自己的有错误的理解误导读者。同时,这篇文章发布在无人系统专栏,也是我在解读论文方面的第一次尝试。欢迎大家在评论区或私信找我,让我们共同学习、共同进步。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值