实验1: RFID标签识别方案

★ 实验一演示视频

★ 具体应用场景

在仓库的库存管理系统中,传统的方法是利用扫码器对货物上贴的条形码进行逐个扫描以实现货物统计。但是,它存在着一些缺点,比如:这种方法不仅耗时而且需要将扫码器和货物离得很近。因此,我们考虑一种新的方法:可以利用RFID标签贴在货物上,使得多个贴有RFID标签的货物经过天线时实现自动识别。

8.1.1 实验目标

  • 理解EPC-C1G2的基于时隙ALOHA的防冲突算法。
  • 比较标签的静态识别和移动识别的漏读率和时延。

8.1.2 实验原理

  1. EPC-C1G2防冲突协议

目前时隙ALOHA协议是RFID系统在EPC-C1G2标准下使用的通信协议。时隙ALOHA协议是按轮识别标签的:其中一轮包含若干个帧,一帧由若干时隙组成。在每一帧开始时,阅读器广播帧的长度f(当前帧所包含的时隙个数),并通过发送连续的电磁波来激活扫描范围内所有标签。每个标签在接收到帧长f之后随机独立地在第1-f个时隙中选择一个时隙发送标识符。如果成功,即无冲突发生,该标签进入静默状态;如果有冲突发生,则该标签将继续等待,并在下一帧中再选择一个时隙重新发送标识符。

本实验采用的是Impinj Speedway R420阅读器,由于阅读器默认采用的是多个查询轮回(Query Cycle)连续扫描的机制,因此阅读器接口返回的结果是每个查询轮回中在单一时隙扫描到标签的EPC序列,并将多个查询轮回中扫描到的标签EPC序列串行输出。

  1. 静态识别原理

由EPC-C1G2协议可知,阅读器按轮来识别标签。为了实现不重复的标签计数,我们需要解决两个问题:问题1:如何按照轮数来划分阅读器返回的EPC序列;问题2:阅读器需要读取多少轮才能终止轮询,结束静态识别过程。

对于问题1:根据ALOHA协议,我们知道,在每一轮中,相同的EPC不可能重复出现。因此可以按轮划分阅读器输出的标签EPC序列,方法如下:每当阅读器返回一个新的标签的EPC,就把该EPC与之前出现的EPC比较,如果未出现重复,就认为这一轮尚未结束,否则认为这是新的一轮的开始。例如,有阅读器输出序列:FFFF FFFF FFFF 0001,FFFF FFFF FFFF 0002,FFFF FFFF FFFF 0003,FFFF FFFF FFFF 0004,FFFF FFFF FFFF 0001,FFFF FFFF FFFF 0005……我们发现,FFFF FFFF FFFF 0001在序列的第一和第五个位置出现,所以第一轮共包含4个标签,第二轮从输出序列的第五个,即FFFF FFFF FFFF 0001重新开始。

对于问题2:如果连续N轮扫描统计的标签的总个数不改变(即没有读到新的标签),就认为静态识别过程结束,返回标签的总个数。其中,N的值可以自己设定。

  1. 移动识别原理

移动识别发生在标签相对于阅读器移动的情况下。在移动过程中,当阅读器扫描到第一个标签,则认为扫描过程开始,当标签移动到阅读器的扫描范围之外,即阅读器不能读到任何一个标签,则认为移动扫描结束。最后返回标签的总个数以及有效识别时间。

  1. 静态识别与动态识别的性能对比

由于多径效应、标签之间的相互干扰等因素的普遍存在,使得某些特定位置的标签未能从阅读器天线获取到足够大的信号能量来激活自身进行反馈,从而导致“标签漏读”现象。因此,标签的漏读是普遍存在的。在静态识别环境下,标签和天线的相对位置是不发生改变的,导致标签漏读的“位置死角”一直存在,某些被部署在这些死角区域的标签始终未能被有效识别。在移动识别环境下,由于标签和天线的相对移动,使得多径效应、标签干扰的环境因素一直发生改变,所以不存在一直不变的漏读死角,通过这种移动扫描的方式,能够有效地降低标签的漏读率。

 

8.1.3 实验设备

Impinj Speedway R420阅读器1台,Impinj天线1个,笔记本1台,RFID标签150个,路由器1台,购物车1辆。

8.1.4 实验内容

  1. 静态识别
  • 实验准备。搭建实验环境,如图8.1所示。exp1_801

图8.1 设备连接示意图

  • 将20个标签放在离阅读器天线1m范围内,并正对天线。
  • 启动静态识别扫描程序,记录读取轮数、识别时间、识别到的标签个数,计算漏读率。
  • 改变标签个数为50/80/100/150,重复实验步骤3。

 

  1. 移动识别
  • 实验准备。搭建实验环境,如图8.1所示。
  • 将20个标签放在购物车内,平行于天线方向,与天线垂距1m,实验者以正常步速推动购物车,使购物车从天线的一侧移动到另一侧,即先进入天线扫描区再离开扫描区,如图8.
    2所示。
  • 启动移动识别扫描程序,读取识别到的标签个数、有效识别时间,计算漏读率。
  • 改变标签个数为50/80/100/150,重复实验步骤3。exp3_820

图8.2

 

8.1.5 实验结果

完成上述实验,分别得到标签静态扫描和动态扫描的识别结果,填写表格。

  1. 静态识别

N = ____ ______轮

标签基数 20 50 80 100 150
读取轮数
扫描时延/s
实际统计个数
漏读率

表 8.1 标签静态识别结果

参考结果如表8.2所示。

N = _____3_____轮

标签基数 20 50 80 100 150
读取轮数 5 5 5 5 6
扫描时延/s 0.01 0.27 0.66 1.09 3.72
实际统计个数 19 48 76 97 144
漏读率 5% 4% 5% 3% 4%

表 8.2 标签静态识别参考结果

  1. 移动识别
标签基数 20 50 80 100 150
实际统计个数
有效识别时间
漏读率

表 8.3标签移动识别结果

参考结果如表8.4所示。由于天线的扫描范围和购物车的移动速度是稳定的,所以对于不同的标签基数,其有效识别时间基本一致,在5s左右。

标签基数 20 50 80 100 150
实际统计个数 19 49 78 98 147
漏读率 5% 2% 3% 2% 2%

表 8.4标签移动识别参考结果

通过比较以上结果可以发现:移动识别相对静态识别可以更好地控制漏读率。静态识别时,随着标签个数增加,虽然读取轮数未发生较大变化,但是扫描时延却在显著增加。移动识别时,如果快速移动并且标签总数较多,从天线扫描到标签直到标签离开天线的阅读范围的时间间隔仅为1s,那么很有可能标签并未全部被阅读器轮询到。所以现实中我们需要根据标签的个数以及移动速度选择合适的扫描方式来统计标签的总个数。