Missing-Tag Detection With Unknown Tags

理解+翻译+引文简介


简述和翻译

文章来自:IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 28, NO. 3, JUNE 2020

下载地址:https://ieeexplore.ieee.org/document/9082674

作者:Youlin Zhang, Shigang Chen, You Zhou, Yuguang Fang

摘要

​ 射频识别(RFID)技术近年来迅速发展,尤其是在零售、仓储和供应链管理中得到了广泛的应用。其最流行的应用之一是在大型存储场所自动检测丢失的产品(附有RFID标签)。

​ 现存协议的局限性:大多数现有协议都假设读者覆盖范围内的所有标签的ID都是已知的,而忽略了一些标签的ID可能未知的实际场景。这些未知信息将会导致误报以降低协议的性能。当未知标签的数量较多时,现存协议的性能很低。

​ 本文提出:一个基于压缩过滤器的新的丢失标签检测协议,此协议具有更好的时效和更高的准确度。同时还提出结合采样和多哈希的方法来报告标签的存在,因此减少标签间的碰撞以提高检测概率。

​ 修改:重新配置了标签ID检测协议标准以支持丢失标签检测协议所需要的位图收集。

介绍

​ 近年来,RFID技术不断发展,已经部署在许多应用程序上,包括供应链管理、目标跟踪、防盗等。在RFID系统中,物体贴附标签,每个标签具有唯一的ID,ID可由与一个或多个天线连接的阅读器识别,该天线部署用于监测覆盖区域内的标签并收集统计数据。相较于条形码的优点有:无光、阅读距离长、具有一定的计算能力。

​ 使用RFID标签的最流行的应用之一是自动检测存储场所中丢失的产品。

​ 一般来说,**缺失标签检测问题可分为两类:确定性检测和概率性检测。确定性协议准确地识别丢失的标签,而概率性协议以一定的检测概率报告丢失的标签事件。**通常,概率检测协议以较小的开销运行得更快,而确定性检测协议以较大的开销给出更强的结果。在实际中,这两种类型的缺失标签检测协议相辅相成,可以一起使用以获得更好的结果。

​ 大多数现有协议假设覆盖区域中所有标签的ID都是已知的,而忽略了某些标签的ID可能是未知。**例子1:**考虑一个机场,部署RFID技术来监控属于不同航空公司的旅客行李,每个旅客行李附带一个RFID标签。每一家航空公司都想检测乘客的行李是否丢失。然而,在存在其他公司的行李的地区,我们将面临一家航空公司的标签(行李)缺失标签检测的问题,而来自其他航空公司的未知标签不感兴趣,但会造成干扰。**例子2:**在一般的仓库设置中,许多客户租用空间来存储他们的产品,这些产品都有标签。假设一个客户部署了一个RFID阅读器和天线来检测它的一些产品是否丢失。如果其他客户产品上的附近标签恰好位于覆盖区域内,则它们将响应阅读器。执行缺失标签检测的客户不知道这些标签。

本文主要研究概率性缺失标签检测,并考虑一个具有实际意义的问题:检测存在未知标签的缺失标签事件。引文[27][28]对此问题进行解答。[28]的效率在存在大量未知标签的情况下大大降低,因为它在操作中没有过滤掉未知标签。[27]的性能要好得多,因为它使用Bloom过滤器来过滤未知标签,但它需要标签来实现大量的哈希函数(这可能是不切实际的)。更重要的是,它的Bloom过滤器设计,特别是它使用Bloom过滤器从标签到阅读器进行通信的成本很高,并且导致执行时间很长。减少执行时间对于在低速通信信道中运行大量标签的大型RFID系统非常重要。在繁忙的仓库环境中尤其如此,我们希望尽量减少RFID协议执行对正常仓库操作造成的中断。

​ 在本文中,我们提出了一种新的协议,可以在未知标签存在的情况下实现可靠和高效的缺失标签检测。我们的想法是设计一种新型的压缩过滤器,它可以与标签可用的任意数量的散列函数(低至一个)一起工作,但与现有技术相比,过滤器尺寸减小,效率更高。未知标签由过滤器移除,无需解压缩过滤器。新的过滤器适用于资源有限的标签,因为它不使用通用的压缩算法,只需要简单的操作。为了进一步提高性能,我们结合了标签的采样和多重哈希来报告它们的存在,大大减少了冲突。我们提供了最佳的参数设置,可以容忍来自未知标签的噪声,以达到预先指定的检测精度。

主要贡献:

  1. 提供了一个有效的解决方案,在未知标签存在的更一般的情况下,丢失标签检测问题。
  2. 提出了一种适用于RFID系统的压缩滤率器,具有低开销和简单的操作。结合新的分段机制压缩过滤器允许标签在不解压缩过滤器的情况下执行成员身份检查,并且其大小比现有技术使用的原始Bloom过滤器小得多。
  3. 分析了协议的性能。通过分析,研究了不同参数对协议执行时间的影响,并优化了参数以最小化执行时间。
  4. 重新配置了标准ID收集协议,以支持丢失标签检测所需的位图收集。
  5. 进行了广泛的模拟,以补充我们的理论分析并评估我们协议的性能。

系统模型和问题描述

系统模型

​ 一个大型RFID系统,其中每个物体都附加了一个RFID标签。每个标签都有一个唯一的ID,通过它我们可以识别一个物体,并且它能够执行某些计算。RFID阅读器部署在系统中,在帧时隙ALOHA协议中使用后向散射信号来监视和询问覆盖范围内的标签。假设阅读器可以访问存储感兴趣的标签ID的后端服务器

​ 在一轮通信中,阅读器将首先通过广播包含所有必要参数(如帧大小和随机种子)的请求来初始化通信。每个标签在收到请求后都会执行一些计算,并决定它将在哪个时隙响应。请求之后是一个由f个时隙组成的ALOHA帧,标签可以在其中传输其响应。根据每个时隙中响应的的数量,时隙分为两种类型:空时隙(无标签响应)和忙时隙(一个或多个标签响应)。忙时隙可以进一步分为两种类型:一种是单时隙,其中只有一个标签响应;另一种是非单时隙,其中有多个标签响应。阅读器监视通道状态,并将时间帧转换为数组,每个空时隙为0,每个忙时隙为1。

问题描述

​ 设E是附加到RFID系统中所有物体的标签集,T是E的子集,E由想要监控的标签组成,其ID是已知的。T⊆E 我们将T的基数表示为n,并表示集合E−T作为U,它由ID未知的标签组成。请注意,T和U中的标签都可以响应我们系统中的RFID阅读器,这两组标签之间的操作没有区别,除了T中标签的ID已知且我们感兴趣,而U中标签的ID未知。在接下来,将U中的标签称为未知标签T中的标签称为已知标签

​ 具体问题描述:存在未知标签时的缺失标签检测问题是检测T中的任何标签是否在存在U中的标签时缺失。要求是,如果M个或多个标签缺失,则在一个协议执行后检测缺失标签事件的概率至少为α,其中0 < α ≤ 1, M ≥ 1,这是用户根据实际需要设置的两个系统参数。如果m≥M时,我们希望以概率为α来报告丢失标签事件,其中m是T中缺失的标签数。如果T中丢失的标签数量小于M,我们仍希望可以检测到丢失的标签事件,其检测概率小于α。

​ 例子:如果设置α=95%和M=10,在执行协议后,将能够以至少95%的概率检测到丢失10个或更多标签的事件。如果协议执行w次,则检测概率至少为1 − (1 − α)w,随着w的增加,将接近100%。通过这种方式,不管α和M的值是多少,最终都会检测到丢失的标签事件。

性能指标

  1. 执行时间:RFID系统在低速通信信道中运行。为了在繁忙的仓库环境中应用这样的协议,需要尽可能减少执行时间,特别是当标签的数量非常大时。
  2. 检测概率:检测丢失标签事件的概率是另一个重要的性能指标。在实际中,我们希望检测概率α能够接近1。

相关工作

​ 两种类型的缺失标签检测协议:确定性检测和概率性检测。在本节中,我们将简要回顾这些相关的缺失标签检测协议,并指出其中存在的问题。

​ 确定性检测的目的是准确识别丢失的标签,并报告丢失标签的ID。它可以产生强大的结果,但需要巨大的开销。

确定性检测:

  1. 一种简单的方法是广播每个标签ID,并逐个识别T中的标签。如果一些标签丢失,这些标签将不会响应,并且它们的状态将被识别。这种方法的时间开销是96·n,其中96是标签ID的长度,非常耗时。
  2. 李等人[23]通过利用散列函数的属性对这种方法进行改进。提出了一系列协议,包括TPP、TPP/CSTR和IIP,以减少标签识别中的哈希碰撞,并在大型RFID系统中实现丢失标签检测,而无需传输标签ID。
  3. 张等人[24]使用位图存储所有标签的状态,并通过比较预先计算的位图来识别缺失标签的ID。
  4. 刘等人[25]通过协调2-碰撞和3-碰撞时隙,并过滤空时隙,改进了先前工作的性能。

问题:所有这些协议都是为确定性检测而设计的,而确定性检测耗时且不适用于概率检测。此外,它们都在受限环境设置下工作,这需要完全了解所有标签ID,并且当存在未知标签时,无法应用于更开放的场景。

概率性检测

​ 概率检测的目标是以预定义的概率检测丢失的标签事件,这与我们的工作更相关。

  1. Tan等人[22]提出了一种基于位图的缺失标签检测协议,称为TRP。TRP将编码当前标签响应的位图与所有已知标签的预计算位图进行比较,并在某些位不匹配时报告缺失标签事件。
  2. Luo等人[26]对[22]进行了改进,提出了一种称为MSMD的多种子缺失标签检测协议,该协议采用多种子映射来降低通信中的冲突概率。但是,这两种方法都需要完全了解标签ID。

RUN[28]和BMTD[27]采取第一步,以解决存在未知标签的缺失标签检测问题。

  1. RUN使用位图来估计未知标签的干扰。对系统的运行性能进行了理论分析,以优化系统参数。但是,当存在大量未知标签时,运行效率会下降,因为它不会过滤掉未知标签。
  2. BMTD利用Bloom filter减少未知标签的干扰,并实现比RUN更好的性能。当标签集的大小变大时,它的时间效率会降低。

​ 本文提出了一种基于压缩过滤器的协议,当未知标签存在时,该协议能够可靠且高效地检测丢失的标签事件。

协议描述(重点

​ 我们的未知标签缺失检测协议包括两个阶段:未知标签过滤和缺失标签检测。在第一阶段,由于阅读器知道T中的标签ID,因此它可以构造一个过滤器,对T中所有标签的成员身份进行编码,并使用此过滤器过滤出U中的未知标签。而不是使用原始Bloom过滤器,我们采用分段设计并实现了一种算法,该算法可用于简单的RFID标签,从而将Bloom过滤器压缩为压缩过滤器。在第二阶段,我们将采样和多重散列相结合,以减少通信中标签的冲突,从而进一步提高时间效率。

前期工作(重点

​ 之前最好的工作是BMTD[27],它使用了基于Bloom过滤器[37]的设计,这是一种紧凑的数据结构,用于编码n个元素(标签)的集合T={t1,t2,…,tn}。Bloom过滤器是f位的位图。通过使用k个独立的散列函数h1、h2、…hk,将标签ID映射到k位,对每个标签进行编码,并将这些位设置为1。为了检查标签是否是T中的成员,我们将其散列到过滤器中的k位,并检查这些位是否都是1。Bloom过滤器中没有假阴性:T中的标签将始终通过成员资格检查。但是,也存在误报:不在T中的标签也可能通过成员资格检查。误报率为:
Pfp=(1−(1−1/f)kn)k≈(1−(e)−kn/f)k.Pfp = (1 − (1 − 1/f )^kn)k ≈ (1 − (e)−kn/f)^k. Pfp=(1−(1−1/f)kn)k≈(1−(e)−kn/f)k.
​ 给定T的大小n和散列函数的数目k,BMTD使用以下最佳大小f作为其Bloom过滤器,其误报率也在下面给出:
f=nk/ln2,Pfp=(1/2)k.f = nk/ ln 2, Pfp = ( 1/ 2 )^k. f=nk/ln2,Pfp=(1/2)k.
​ 最佳过滤器有50%的0,因此其误报率为。RFID阅读器将广播上述过滤器,对T中的标签进行编码。在收到筛选器后,如果未知标签无法通过成员资格检查,它们将自己筛选出来。当尺寸f受到限制时,可能需要多次广播最佳Bloom过滤器,以实现期望的误报率。

​ 每个Bloom过滤器中使用的k个哈希函数必须是独立的,不同过滤器的哈希函数也必须是独立的。例如,为了实现0.001的概率,我们需要10个独立的散列函数,这是标签的简单硬件的负担。如果一个标签只能承受较少的k个哈希函数,那么我们就不能像BMTD那样使用最佳过滤器。我们必须使用非最优过滤器。

​ 在(1)中,我们可以通过增加过滤器尺寸f将Pfp减小到任意小的数目。通过增加f,我们增加了过滤器中零的比率ρ,并且假阳性比率变为ρk,当ρ被降低时,该比率可以任意变小。

​ 问题是,较大的过滤器会使阅读器花费更多的时间进行广播,这会降低时间效率。幸运的是,如果过滤器包含大量的零,我们可以将其压缩为较小的大小。通过使用文献[38]中的最佳压缩算法,可以将Bloom过滤器压缩到最小尺寸。然而,如果我们在RFID系统中这样做,就会出现两个问题。首先,标签资源有限,不能执行通用的压缩和解压缩算法,如哈夫曼压缩和LZ压缩,[39]. 其次,更重要的是,标签没有内存来保存解压缩的过滤器(其原始大小)以执行成员身份检查。因此,我们需要设计一个压缩过滤器来使用有限的资源。此外,标签应该能够直接使用压缩过滤器进行成员资格检查,而无需解压缩。标签的操作应该很简单。

阶段一:通过压缩过滤器过滤未知标签(重点

​ 为了减少未知标签的干扰,阅读器使用具有小的预设假阳性率p1的压缩过滤器,使得大多数未知标签被过滤并且不参与第二阶段。设k1为第一阶段过滤器中使用的哈希函数个数。我们设计了一个压缩过滤器,它可以处理任意值k1个(低至1)散列函数,实现任意指定的误报率p1,需要标签进行简单操作,并且在不解压缩的情况下执行成员资格检查。正如我们将在后面的评估中讨论的,当k1和p1非常小时,在我们的应用场景中,压缩过滤器将具有更高的压缩比。

给定p1k1的值,阅读器构造一个Bloom过滤器,其大小由(1)确定。k1的值越小,f1的值就越大,过滤器中的0的数量就越多,这就提供了压缩的机会,允许阅读器向标签广播更小的过滤器并节省执行时间。

解释:当k越小的时候,意味着所用的哈希函数越少,为了达到给定的误报率(即冲突较少则需要使f增大),因此f将越大,当f越大的时候和k越小的时候,自然而然的0就会出现更多。

​ 至于压缩,阅读器将Bloom过滤器划分为连续的零段,这些零段由1的位分隔。我们用段中的零数替换每个连续零段。例子:由20个零组成的段被数字20替换,数字20将20位压缩为二进制中表示20的位数l1。不同的段可能有不同数量的零。阅读器在所有段中查找最大零数Lmax。它设置l1 = log2(Lmax + 1)。阅读器将每个零段转换为一个l1位数字,并将整个Bloom过滤器转换为一个l1位数字序列,从而形成压缩过滤器。原始过滤器中1的位隐含在压缩过滤器中,在任意两个连续段之间有一个这样的位。阅读器使用包括过滤器大小在内的参数广播请求。然后,它将压缩的过滤器传输到所有标签。如果过滤器太长,阅读器可能将其分成若干部分,并在一个时隙中传输每个部分。例如,如果我们使用相同的时隙来传输96位标签ID,则每个时隙可以承载 96/l1 个段。

​ 对于成员身份检查,每个标签通过k1哈希函数将自身映射到原始Bloom过滤器中的k1位。然后检查这些k1位是否都是1。但是,它没有原始的Bloom过滤器,只接收来自阅读器的压缩过滤器。**对于每个k1位,标签将该位在过滤器中的哈希位置加载到段计数器中。**当它从阅读器接收压缩过滤器时,对于接收到的每个l1比特数,它从计数器中减去该数字加上1,其中该数字表示连续零的一段,而1表示两段之间的比特1。此过程将继续,直到计数器减为零或负数。如果计数器减为零,则表示原始Bloom过滤器中标签映射到的位正好位于两段零之间;那个位子一定是1。如果计数器变为负值,则表示标签在原始Bloom过滤器中映射的位必须为0。标签有k1个计数器。如果所有k1计数器都减为零,则表示该标签已通过成员资格检查,并声明为T中的成员。如果任何计数器变为负数,则该标签无法通过成员资格检查。通过检查的所有标签将参与第二阶段。所有未通过检查的标签,包括U中的大多数未知标签,都会被过滤掉,并在第二阶段保持沉默。

​ 图1示出了如何压缩原始Bloom过滤器以及如何使用压缩过滤器进行成员资格检查的示例。在图1a中,高位数组是原始Bloom过滤器,低位数组是产生的压缩过滤器。正如我们所看到的,原始Bloom过滤器中有四个,因此压缩过滤器有四个部分。这些段中的零数分别为2、8、4和10。我们有Lmax=10和l1= log2(Lmax+1)=4。压缩过滤器由4位二进制格式的2、8、4和10组成。压缩比为28/16=1.75。图1b示出了如何使用压缩过滤器执行成员资格检查的示例。设k1=2。两个标签的哈希值为,(6,12)和(3,17)。每个l位数字下面的表达式是数字和1的和。在执行成员资格检查时,每个标签将从哈希值中减去这些和,直到结果为非正。如我们所见,对于标签1,其散列值将减至(-6,0),而对于标签2,其散列值将减至(0,0)。因此,标签2通过了成员资格检查,而标签1没有通过。

​ 我们进行实验,比较我们的压缩过滤器的大小与原来的Bloom过滤器。结果如图2所示,由三个图组成,分别比较两个过滤器的大小与散列函数的数量k1、编码标签的数量n和误报率要求p1的关系。在每个图中,x轴表示参数(k1, n, p1)的设置,y轴显示过滤器大小。图2a比较了两个过滤器与k1的关系,其中n=3000和p1=0.001。回想一下,考虑到有限的标签资源,我们设计压缩过滤器的动机是使用少量哈希函数。当k1=1时,压缩过滤器的大小仅为40838。相比之下,k1=1时,Bloom过滤器的尺寸为2998500,k1=3时为85420,k1取其最佳值10时为43130。一个有趣的观察结果是,压缩过滤器的尺寸首先随着k1的增大而增大,然后减小。原因是,较大数量的散列会将过滤器中的更多位设置为1,从而在压缩过滤器中创建更多的段,但平均段大小可能会减小。总的来说,我们在实验中发现,当k1=1时,压缩过滤器的大小达到最小。图2b比较了两个过滤器与n的关系,其中k1对于压缩过滤器设置为1,对于Bloom过滤器设置为3,p1=0.001。两个过滤器的大小随着n的增加而增加,而我们的压缩过滤器总是比Bloom过滤器小,即使散列数更少。图2c比较了两个过滤器相对于p1的情况,其中n=3000,k1对于压缩过滤器设置为1,对于Bloom过滤器设置为3。两个过滤器的大小随着p1的减小而增大,而我们的压缩过滤器总是比Bloom过滤器小,即使散列数更少。

阶段二的动机(重点

​ 在第一阶段过滤掉大部分未知标签后,我们对剩余的标签(特别是T中的标签)使用第二阶段向RFID阅读器报告它们的存在。在BMTD[27]中,这些标签一起向阅读器发送Bloom过滤器,每个标签在过滤器中编码为k1。为了获得较低的误报率,滤波器尺寸必须较大。例如,根据(1),如果k1=3,则滤波器必须至少为12.4n位,以确保误报率为0.01,这意味着每个编码标签12.4位,其中n是标签总数。

​ 将过滤器中的每一位传送到阅读器的时间可能是昂贵的。在实践中,许多标签很难在位级别同步其传输,特别是对于许多位的长过滤器。以前的许多作品都采用了更为稳健的设计,一个时隙提供一个位[5]–[13]。在标签ID收集的标准C1G2协议中,阅读器启动指定数量时隙的时间帧。

​ 每个标签选择一个随机时隙来传输其ID,时隙结构为QueryRep→ RN16→ ACK→ Tag ID,其中QueryRep是阅读器发送的用于启动时隙的命令,RN16是由用于冲突检测的标签发送的16位随机数,ACK由阅读器发送并携带接收到的RN16,ID由标签发送,随后是来自阅读器的另一个QueryRep以启动下一个时隙。我们将这种时隙的时间表示为TID,在此期间,96位(即标签ID)在阅读器和标签之间交换。

​ 我们重新配置了上述协议,以在每个时隙中提供一位信息,指示标签的存在(不传输其ID)。在修改后的协议中,跳过ACK和标签ID的传输。RN16之后,阅读器立即发送QueryRep以启动下一个时隙。这样,每个时隙不携带任何ID,而只携带一位信息:如果任何标签发送RN16,则阅读器观察忙信道并注册位1;如果没有标签传输,阅读器会看到一个空闲通道(空时隙)并注册一个位0。因此,时隙的时间帧将转换为位图。

​ 在BMTD[27]的情况下,如果每个标签在k1随机选择的时隙中传输,则位图是编码标签的Bloom过滤器。时隙结构现在是QueryRep→ RN16,其时间表示为t短。Tshort根据[41]中的设置转换为2.69ms。相比之下,标签ID的原始时隙结构,即TID,需要14.37ms。

​ BMTD[27]效率低下,因为它需要很多位,(时隙)每个标签。我们认为报告标签存在所需的最小时隙数实际上是一个。在我们的设计中,未在第一阶段过滤的标签将最多传输一次,使用由阅读器启动的时隙时间帧中的单个时隙。假设我们通过散列标签ID将每个标签分配给单个时隙。时隙可以分为三种类型:单例时隙、冲突时隙和空时隙,它们分别有一个指定的标签、多个指定的标签和T中的零标签。阅读器知道T中标签的ID,因此可以预测哪些时隙是单例的,哪些有冲突,哪些是空的。监控时隙的状态,如果读卡器观察到预期的单例/冲突时隙结果为空,则它知道T中应该在该时隙中传输的标签必须丢失,因此它成功地检测到丢失的标签事件。现在,我们将忽略通过第一阶段的未知标签;它们可能会导致噪声,使检测失败的概率。它们的数量很小,我们的分析将考虑它们引入到我们的检测中的噪声,并确保在这样的噪声下满足精度要求。

​ 在这三种时隙中,单时隙的生产率最高。如果单时隙中的标签丢失,该时隙将变为空,并且阅读器将检测到一个丢失标签。对于碰撞时隙,两个或多个标签必须全部丢失,才能使时隙变空,这种情况发生的概率较小。我们希望设计的解决方案能够最大化单时隙的数量以提高检测概率,同时减少空时隙的数量以提高时间效率。为此,我们将每个标签映射到多个时隙,并选择一个时隙,使标签在单时隙进行传输。

​ 此外,为了提高解决方案的时间效率,我们对标签进行采样,以便只有一部分标签会报告它们的存在。只要采样概率足够大,能够满足丢失标签检测的精度要求,就可以进行概率检测。

阶段二:丢失标签检测

​ 在第二阶段,阅读器对T中的标签进行采样并启动时隙时间帧,其中每个采样的标签将在其中一个时隙中传输。阅读器将时间帧转换为位图,每个时隙对应一位,如果时隙忙,则为1;如果时隙空,则为0。

​ 设时间帧中的时隙数为f2,这也是位图中的位数。时间帧被划分为每个l2时隙的子帧,其中l2可被f2整除。阅读器知道T中标签的ID。对于每个标签,它执行散列h(ID,r),其中ID是标签的ID,r是随机种子。阅读器使用第一个log2 f2 / l2散列位将标签映射到子帧,并使用以下散列位将标签进一步映射到子帧中的k2时隙,每个时隙使用 log2(l2)散列位进行定位。这些时隙分别称为标签的第一个映射时隙、第二个映射时隙、…、第二个映射时隙,如图3所示。

​ 在阅读器将所有标签映射到时隙之后,它确定每个标签实际将在哪个映射时隙中传输:首先,阅读器只考虑T中标签的第一个映射时隙,标识单时隙,并将这些时隙分配给映射到它们的标签。这些时隙的索引值为1,表示它们是已分配标签的第一个映射时隙。然后,阅读器将这些标签从进一步考虑中删除。它对其余标签的第二个映射槽重复上述过程:识别单时隙,将这些时隙分配给映射到它们的标签,并将它们从进一步考虑中删除。这些时隙的索引值为2。此过程在k2th映射的时隙中一直重复。最后,每个标签最多分配到一个时隙以报告其存在。在确定时隙标签分配后,阅读器预计算一个预期位图,该位图包含每个已分配时隙的位1(预计为忙)和每个未分配时隙的位0(预计为空)。接下来,阅读器必须通知标签有关其报告的分配。

​ 阅读器通过携带采样概率ps和随机种子r的广播请求发起通信。请求之后是一系列f2/l2子帧。阅读器通过发送时隙索引数组开始每个子帧,该数组包含每个l2时隙的一个索引值。未分配时隙的索引值为零。每个索引都是, log2(k2+1)位长,数组的总长度为l2 log2(k2+1)。例如,如果k2=3和l2=48,则时隙索引数组将占用96位。阅读器可以使用大小为96位标签ID的时隙在14.37毫秒内传输,来广播这样的数组。

​ 所有标签接收ps和r。可以使用[1]、[4]、[28]、[36]中的方法进行伪随机采样,这是阅读器可以预测的。标签通过计算h(ID,r)知道它们映射到哪个子帧。每个标签等待其子帧,并在子帧的开头接收相应的slotindex数组。它从h(ID,r)中的散列位知道它的第一个映射时隙到第k2个映射时隙。标签检查其第一个映射的时隙。如果相应的时隙索引(来自接收到的阵列)恰好为1,则标签知道它已分配给该时隙,并应通过在该时隙中传输来报告其存在。否则,它将检查其第二个映射的时隙,以查看时隙索引是否为2,以及是否在该时隙中传输。此过程将重复,直到指定的时隙被识别,否则标签将不会传输。

​ 阅读器监控每个子帧中所有时隙的状态,将每个忙时隙转换为位1,将每个空时隙转换为位0。如果它观察到任何预期的忙槽为空,即预先计算的位图中的位1变为0,则会宣布缺少标签事件。通过增加采样概率ps或增加帧大小f2,我们可以在单时隙中报告更多的标签,从而增加丢失标签的检测概率,以满足预先指定的要求,即使在存在未过滤的未知标签的情况下,正如我们的分析所示。

基数估算

​ 正如我们将在后面讨论的,为了在我们的协议中获得一些参数,我们需要首先对整个集合E执行基数估计。有许多解决方案[1]、[3]、[4]、[7],,[8] 用于RFID系统中的快速基数估计。在本文中,我们采用了最新的SRC估计[4], 为了估计E中的标签数量,SRC估计器深入了解现有RFID计数协议,并根据现有文献[3]、[42]、[43]设计了一种更有效的算法。该协议由两个阶段组成:粗略估计阶段,该阶段使用的开销很小,Θ(loglog(E |))获得粗略的基数估计,以及精确的估计阶段,该阶段使用65,(1−0.04 )2(是相对估计误差)时隙,以获得准确的结果。例如,当BMTD[27]设置为=0.1时,在我们的模拟中,根据[4]计算的时隙数约为1000个,与RUN、BMTD和我们的协议所需的时隙(超过30000个)相比,这相对较小。在估计| E |之后,我们可以使用它来获得未知标签的基数,即U |=E|−n、 这将在稍后的执行时间优化中使用。

哈希函数

​ 文献中有许多高效的哈希函数实现。为了降低标签电路的复杂性,我们基于[23]中的方案实现了我们的哈希函数,该方案使用一个预先存储的随机位环:在部署标签之前,标签的ID被用作随机数生成器的种子,以生成一个伪随机位串。这些位存储在标签中并形成一个逻辑环。在部署标签之后,它通过在环中的rth位之后返回一定数量的位来生成散列值h(id,r),其中id是标签id,r是散列种子。给定标签ID和种子r,RFID阅读器可以预测该散列值。

​ 这种哈希函数的设计易于硬件实现,因此适合于标签。但它只能为每个标签生成有限数量的不同哈希值,具体取决于环的大小。它不适用于要求每个标签生成大量不同哈希值的协议。然而,正如我们稍后将看到的,在我们的协议中,我们只需要每个标签生成几个哈希值供使用,具体来说,第一阶段只有1个哈希值,第二阶段只有3个哈希值,这使得我们的实现工作得很好。

性能分析和参数优化(重点

​ 在本节中,我们正式分析了协议的性能,并优化了协议中的参数,以使执行时间最小化,同时满足检测概率。如[27]所述,当未知标签的数量较少时,可以忽略来自U的干扰,并且不需要执行第一阶段。因此,我们只考虑U大时的情况。

阶段一的执行时间

​ 从(1)中,我们知道,对于给定的假阳性率p1,原始Bloom过滤器的大小可以计算为

在构建了原始Bloom过滤器之后,我们根据其比特数对其进行分割。对于使用k1哈希函数编码n个元素的Bloom过滤器,其中的1个数最多为n·k1,这是过滤器中连续零段数f1的上限。因此,平均段长度的下限为

​ f1表示第一阶段中压缩滤波器的大小,l1表示用于编码每个段的位数。l1的值由log2(l1+1)位下界。

​ 假设我们使用相同的时隙来传输96位标签ID来传输过滤器。第一阶段将采用f1/96/l1时隙,每个时隙在时间TID内传输96/l1段,第一阶段的执行时间t1为 t1=Tid·f1·l1/96。

​ 对于压缩过滤器,我们想要过滤掉大部分U中的未知标签。设N*是由在第一阶段后保持活动状态的标记组成的标记集,其基数为n* = | N*|.我们知道N*由两部分组成:

  1. T中未丢失的标签–n1*。2. U中误报的标签–n2*。

​ n1* = n - m; n2* = | U | * p1; n* = n1* + n2* = n - m + | U | * p1;

阶段二的执行时间

​ 由于假阳性率p1非常小,我们假设n2* << n 和 n* ≈ n 。

​ 首先,我们需要推导第二阶段执行一次后的检测概率。在第i个映射之后,**某个采样的标签成功分配到单个时隙的概率**如下所示:

​ 其中,第一项是在(i-1)之后未分配给单时隙的标签映射被分配给第i个映射中的一个单时隙的概率,第二项是在i− 1之后将标记分配给单时隙的概率映射和剩下参数已在前面的部分中定义。因此,在k2映射之后,第二阶段的检测概率为:

​ 其中,Pk2是在k2映射之后,将任何采样的标记分配给单时隙的概率。Pk2可以从上述公式通过P0=0递归计算得出。

​ 我们的系统要求报告缺失标签事件的检测概率至少为α。为了满足我们系统的要求,我们需要设置p2 = α。

​ 结合(10)和(11),我们可以得到f2,第二阶段位图中的位数,其需要Tshort传输,则t2可表示为:
t2=f2∗Tshort+f2∗Tid/l2t2 = f2 * Tshort + f2*Tid / l2 t2=f2∗Tshort+f2∗Tid/l2
​ 其中,右边的第一项是标签使用位图协议报告其存在的时间,第二项是阅读器传输时隙索引数组的时间。

总体执行时间

​ 最后,根据分析,我们可以获得协议的总体执行时间,如下所示:t = t1 + t2 = f1 · l1 · Tid / 96 + f2 · Tshort + f2· Tid / l2。

​ 为了提高我们协议的性能,我们需要最小化t,以便能够在最短的时间内检测和报告丢失的标签事件。因此,在本节中,我们将研究不同参数对执行时间t的影响。对于给定的RFID系统,(13)中的一些参数,如m、n、U |和α由用户设置。因此,为了最小化时间成本,我们主要研究参数k1、p1、k2和ps的影响。

​ 我们首先指出,在第二阶段,增加映射的k2数将增加检测概率并缩短检测时间。然而,更多的映射将增加标签的计算开销,并且还需要更多的片上内存来存储计算结果。因此,为了简化标签的操作,我们在第二阶段使用多散列时,在分析和实验中都设置了k2=3。

k1的影响:

​ 首先,我们研究第一阶段中使用的散列函数的数量k1将如何影响协议的执行时间。由于k1不影响第二阶段中的执行时间t2,我们在分析中只关注t1。

​ 从二阶导可知,一阶导是关于k1的一个增函数,由于k1是一个正整数,且t1`(1) > 0,可得,当k1 = 1时,可以获得t1的最小值。

p1的影响:

​ 很难从(13)中获得关于假阳性率p1的t的显式表达式。然而,我们希望p1更小,以便丢失标记检测更可靠。

ps的影响:

​ 在本节中,我们将研究样本概率ps如何影响协议的执行时间。由于ps不影响第一阶段的执行时间t1,我们在分析中只关注f2/t2。

​ 结合(10)和(11),我们可以观察到,对于每个不同的采样概率ps,我们可以计算最佳帧大小f2*.采用二分算法,满足检测概率要求。如果我们考虑最优值f2*作为ps的函数,表示为f2*(ps),f2*(ps)可优化为:

​ 其中F是可接受帧大小的上限,I+是正整数集。F2*(ps)可以使用算法1基于二分查找进行计算。

算法描述:

Input: m, n∗, α, k2, ps
Result: the minimal frame size under sampling probability ps
1: if p2 < α then
2:  exit;
3: end if
4: fs = 1, fe = F;
5: while fe − fs > 1 do
6: fm = (fs+fe)/2 向上取整
7: if p2 < α then
8:  fs = fm;
9: else
10:     fe = fm;
11:  end if
12: end while
13: return fe

笔记

文章中所有符号描述

  • E – 所有标签集

  • T – 已知标签集

  • U – 未知标签集

  • α – 丢失标签检测概率 – 用户设置

  • M – 丢失标签数量 – 用户设置

  • m – 实际丢失标签数量

  • w – 协议执行的次数

  • p1 – 压缩过滤器的误报率

  • l1 – 阶段一中的压缩过滤器中段的长度

  • f1 – 阶段一压缩过滤器长度

  • Lmax – 连续零段中0的个数的最大值

  • Tshort、Tlong、Tid – 传输时长(相关介绍在引文中有)

  • f2 – 阶段二的时隙数或bitmap的位数

  • l2 – 阶段二中子帧中时隙的个数,f2 % l2 = 0

  • k2 – 阶段二标签需要映射的位数

  • ps – 采样概率

  • N* – 阶段一后仍保持活跃的标签集 | N* | = n*

简介和翻译中的重点

  1. 缺失标签检测问题可分为两类:确定性检测和概率性检测。确定性协议准确地识别丢失的标签,而概率性协议以一定的检测概率报告丢失的标签事件。
  2. 检测存在未知标签的缺失标签事件。
  3. [28]的效率在存在大量未知标签的情况下大大降低,因为它在操作中没有过滤掉未知标签。
  4. [27]使用Bloom过滤器从标签到阅读器进行通信的成本很高,导致执行时间很长。
  5. 尽量减少RFID协议执行对正常仓库操作造成的中断。
  6. 设计一种新型的压缩过滤器。
  7. 性能指标包括:执行时间、检测概率。
  8. 未知标签过滤和缺失标签检测。

自我总结的知识点

Bloom filter的误报率

  1. 1bit被置为1的概率p1 = 1/m
  2. 1bit未被置为1的概率p0 = 1 - 1/m
  3. 经过k个哈希仍未被置为1的概率p2 = (1-1/m)^k
  4. 经过n个元素和k个哈希仍未被置为1的概率p3 = (1-1/m)^nk
  5. 经过n个元素和k个哈希仍被置为1的概率p3 = 1-(1-1/m)^nk
  6. 存在误报,经过k个哈希后,结果全为1的概率p5 = [1-(1-1/m)nk]k
  7. p5 = [1-(1-1/m)nk]k ≈ (1-ekn/m)k

Bitmap

  1. 基本思想:用1bit位来标记某元素对应的Value

  2. b[0] – 8bit

    0 1 0 1 0 1 1 0

    用8位来表示整数1 2 4 6

    若用int表示的话需要4 * 8 * 4 = 128bit

  3. 采用32位的位图:添加:x / 32 = y1; x % 32 = y2

    则只需将b32[y1]中的第y2个位置置为1即可

  4. 采用32位的位图:删除:x / 32 = y1; x % 32 = y2

    则只需将b32[y1]中的第y2个位置置为0即可

BMTD中优化参数和文献37的优化

​ f = - kn/ln(1-pf^k/1) ----> f = kn/ln2; Pfp = 0.5^k

文中提到的三种压缩算法

  1. 哈夫曼压缩
  • 例如:a b c b b c --> a-1 b-3 c-2
  • 画出哈夫曼树 --> a: 00 b: 1 c: 01
  • 一个字符8位,则总需48位,若压缩后可得到001011101共9位
  1. LZ–Lempel Zip
  • 字典算法:对文本内容常出现的字符串组成对应的字典列表,并用特殊代码来表示
  • 例:Chinese:00 China:01 People:1 则IM a Chinese People, I’m from China --> I’m a 00 1, I’m from 01.
  1. RLE
  • 变体1:重复次数+字符

例:AAABBBCCCCDDDD --> 3A3B4C4D

  • 变体2:特殊字符+重复次数+字符

    例:AAAAABCCCCBCCC --> BB5ABB4CBB3C

    其中前两个B表示特殊字符说明,接下来的BB都表示一个B

  • 等其他变体

阶段一的执行时间分析及理解

阶段二的执行时间分析及理解

引文简介

Run

23

自我提升

阶段一描述分析和理解

阶段二描述分析和理解

目录

文章目录

  • Missing-Tag Detection With Unknown Tags
  • 理解+翻译+引文简介
    • 简述和翻译
      • 摘要
      • 介绍
      • 系统模型和问题描述
        • 系统模型
        • 问题描述
        • 性能指标
      • 相关工作
        • 确定性检测:
        • 概率性检测
      • 协议描述(**重点**)
        • 前期工作(**重点**)
        • 阶段一:通过压缩过滤器过滤未知标签(**重点**)
        • 阶段二的动机(**重点**)
        • 阶段二:丢失标签检测
        • 基数估算
        • 哈希函数
      • 性能分析和参数优化(**重点**)
        • 阶段一的执行时间
        • 阶段二的执行时间
        • 总体执行时间
          • k1的影响:
          • p1的影响:
          • **ps的影响:**
    • 笔记
      • 文章中所有符号描述
      • 简介和翻译中的重点
      • 自我总结的知识点
        • Bloom filter的误报率
        • Bitmap
        • BMTD中优化参数和文献37的优化
        • 文中提到的三种压缩算法
        • 阶段一的执行时间分析及理解
        • 阶段二的执行时间分析及理解
    • 引文简介
      • Run
      • 23
    • 自我提升
      • 阶段一描述分析和理解
      • 阶段二描述分析和理解
    • 目录

Missing-Tag Detection With Unknown Tags理解+翻译+引文简介相关推荐

  1. Fast and Accurate Detection of Unknown Tags for RFID Systems – Hash Collisions are Desirable 理解+笔记

    Fast and Accurate Detection of Unknown Tags for RFID Systems – Hash Collisions are Desirable 理解+笔记+翻 ...

  2. Fast and Accurate Detection of Unknown Tags for RFID Systems – Hash Collisions are Desirable 翻译

    Fast and Accurate Detection of Unknown Tags for RFID Systems – Hash Collisions are Desirable 翻译 链接:h ...

  3. Missing Tag Identification in COTS RFID Systems: Bridging the Gap between Theory and Practice 理解+笔记

    Missing Tag Identification in COTS RFID Systems: Bridging the Gap between Theory and Practice 理解+笔记+ ...

  4. Missing Tag Identification in COTS RFID Systems: Bridging the Gap between Theory and Practice 翻译

    Missing Tag Identification in COTS RFID Systems: Bridging the Gap between Theory and Practice 翻译 名称: ...

  5. ap计算机科学考题,把AP计算机A Free Response题做成阅读理解理解翻译题

    原标题:把AP计算机A Free Response题做成阅读理解理解翻译题 AP CSA 简答题简介 APCSA计算机考试历来是申请美校Computer Science专业的敲门砖,它在众多AP考试中 ...

  6. Sparse R-CNN: End-to-End Object Detection with Learnable Proposals论文翻译

    Sparse R-CNN: End-to-End Object Detection with Learnable Proposals论文翻译 摘要 1.介绍 2.相关工作 3.Sparse R-CNN ...

  7. 【Spring Boot官方文档原文理解翻译-持续更新中】

    [Spring Boot官方文档原文理解翻译-持续更新中] 文章目录 [Spring Boot官方文档原文理解翻译-持续更新中] Chapter 4. Getting Started 4.1. Int ...

  8. cannot be hot swapped into a running virtal machine怎么理解翻译

    cannot be hot swapped into a running virtal machine怎么理解翻译 2009-05-26 16:53 heqingrong623  |  浏览 3101 ...

  9. 《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解

    <SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection>论文阅读理解 领域:用于医学图像的异常检测 论文地址 ...

最新文章

  1. error C2660: 'MessageBoxA' : function does not take 4 parameters
  2. 自动化测试在CI CD管道中的作用
  3. 通知中心 NSNotificationCenter 的简单使用方法
  4. python3 面向对象编程 下载_Python3(7) Python 面向对象编程
  5. springboot+springcloud相关面试题
  6. World Wind Java开发之四——搭建本地WMS服务器(转)
  7. 随着电子计算机的应用 会计信息保存的形式,会计信息功系统简答题.doc
  8. 怎样学好python编程-3个月学好Python有多简单?
  9. 第六次作业:结对项目之需求分析与原型设计
  10. HTML 拾色器 桌面取色器
  11. 在Vmware安装wes 7
  12. 16进制与2进制转换
  13. 核心技术解析:移动端车牌识别系统方案
  14. ArcGIS中矢量裁剪栅格影像及影像合并【附练习数据下载】
  15. 【高分励志电影合集】
  16. Linux--用history查看历史命令如何在history命令时,查看历史命令执行时间
  17. python极简应用_30 个极简Python代码,拿走即用(真干货)
  18. sql注入漏洞与如何解决
  19. 老说技术更迭快,可十年到底可以淘汰多少知识?
  20. 伺服电机选型计算pdf_机器设计中伺服电机及驱动器的选型(PDF),文末附下载地址...

热门文章

  1. 智能网联汽车数据安全认识与思考
  2. ubuntu终端配色
  3. 微型计算机开机不了怎么办,手机不能开机怎么办?手机突然无法开机6种解决方法介绍...
  4. 1000+道 互联网Java架构师面试题
  5. php 日期1900年开始,两个日期类-PHP教程,PHP应用
  6. 银行测试(3)-银行存款业务介绍
  7. 括号匹配 | 2022.8.22
  8. 基于注意力时空图神经网络的交通预测
  9. java技术及ssh框架和jsp技术的介绍 外文文献及翻译_外文翻译 java技术及ssh框架和jsp技术的介绍 jsp程序.docx...
  10. 毕业设计--基于深度学习的常见苹果叶片病害识别与病斑分割方法研究