高效 RFID 标签防碰撞协议的研究
- 1 待解决的问题
- 主要问题:
- 引发原因:
- 目标:
- 重要对象:
- 两个实现目标:
- 一个重要影响因素估算:
- 2 解决方法
- 基于指派树时隙的高效标签防碰撞协议
- 指数派时隙的Aloha协议
- 通信模型
- ATSA标签算法实例
- 算法评价
- 改进型ImATSA
- 曼彻斯特编码
- 理论分析(验证)
- 仿真分析
- 准备工作
- 仿真结果
- 基于查询树的标签数量估计以及自适应标签防碰撞协议
- 基于查询树的标签数量估计
- 背景
- 简述
- 过程
- 性能分析
- 改进以及研究方向
- 自适应指派树时隙标签 防碰撞协议
- 基于比特检测技术的低能耗高失效标签防碰撞协议
- 3 结论以及验证
- 4 优缺点、改进方案
- 5 专业名词
- 二进制树型搜索算法
- 基本思想:
- 算法实现
- 前提:
- 曼彻斯特编码
- 编码规则
- 算法过程
- 实现步骤
参考文献:
[1]张莉涓. 高效RFID标签防碰撞协议的研究[D].西南交通大学,2018.
Article | Data | Data | Comments | Why |
指派树时隙ATSA协议 | Aim:减少碰撞和空闲时隙数量; Mathord:指派、匹配、分组估计、识别;Conclusion:与传统算法相比,有效减少了碰撞时隙和总时隙的数量 | Rusults: | 1.算法实施简单;2.减少碰撞时隙的产生;3.受初始帧长影响大;效率受ID分布影响大 | 考虑标签防碰撞协议不能兼顾低复杂度和高时效性的特点 |
ImATSA | Aim:改善ATSA中碰撞标签有较长共同前缀对识别延迟的影响;Mathord:曼彻斯特编码获得发生碰撞的比特位置信息,获取最长共同前缀;Conclusion:结合曼彻斯特编码的ImATSA能大幅度提高识别效率 | Results:系统效率可达0.58,平均识别时间少了40% | 计算复杂度低,系统效率较高,适用于快速RFID标签识别 | 提高ASTA识别效率。 |
Article | Data | Data | Comments | Why |
自适应指派树时隙AdATSA标签防碰撞协议 | Aim:ImATSA协议性能受初始帧长影响大,通过查询树分组估计过程,AdATSA可以使每个小组ImATSA识别过程达到最优;Mathord:通过查询树估计的方式对标签进行分组,并对每个小组中的标签数量进行估计,根据估计的标签数量,利用ImATSA协议对每个小组中的标签进行快速识别;Conclusion:AdATSA可以在没有任何标签数量熟悉的情况下更高效地识别阅读器范围内的所有标签 | Results:AdATSA协议识别效率可以维持在61%;与ImATSA相比,平均识别时间减少至少23.5%;结合实际影响因素提出调整方案。 | 实施简单、精确度高、促进标签分裂进程 | 标签数量估计对标签防碰撞过程的影响,在实际分析过程中,对于标签数量估计与识别过程是单独进行的,所以应该寻找快速而简单的估计方式;另外,初始帧长的准确估算有利于ImATSA识别,减少碰撞以及空闲时隙。 |
Article | Data | Data | Comments | Why |
基于比特检测的低能耗高失效标签防碰撞协议 | Aim:减少识别过程中产生的碰撞时隙和消除空闲时隙,从而减少标签接收和传输的信息量降低标签能量 消耗。Mathord:通过标签计数器以及标签回复信息相结合的方式,提前预知阅读器后续时隙状态,并根据状态信息准确跳过空闲时隙,控制由于增加分支带来的空闲时隙。;Conclusion:MDT协议在标签能耗和识别效率方面有明显优势。 | Results:所提出的MDT协议相比先前的同类协议,其平均识别时间和能量消耗分别可以少46.9%和20%,非常适用于主动式RFID系统。 | 一方面较少了标签传输信息量,另一方面缩短了识别时间,使得标签端能耗得到有效控制。 | 主动式标签的节能问题 ,在前述方法中大量的碰撞时隙和长ID传输需要消耗标签非常多的能量。 |
1 待解决的问题
主要问题:
由多个标签同时传输信号时造成的阅读器无法读取信息的问题
引发原因:
标签共享相同的无线信道->信号干扰,标签碰撞
目标:
在有限时间内快速高效(衡量标准量化?)地识别阅读器范围内地所有标签
重要对象:
两个实现目标:
优化防碰撞协议的时间效率
主动式标签能耗
一个重要影响因素估算:
标签数量估计
(采用什么方法进行计算、优化?实现了何种变化?创新点?)
2 解决方法
基于指派树时隙的高效标签防碰撞协议
指数派时隙的Aloha协议
通信模型
Created with Raphaël 2.2.0 开始 广播一个Query(pre,F) QueryRep(spre) 标签将其ID与帧前缀匹配 检查后续的ID是否与相应的时隙前缀匹配 匹配成功? 回复 结束 yes no
根据每个时隙中标签回复的信息数量,又有以下三类时隙:
碰撞时隙
成功时隙
空闲时隙
ATSA标签算法实例
- 阅读器设置初始化,广播开启第一帧
- 所有标签转换为活动状态,标签ID与帧前缀相匹配(前P比特信息),若tpre为全零,则回复阅读器
- 第一个时隙时隙:碰撞、成功 、空闲?->碰撞(队列QT),广播第二个
- 第二个时隙识别:空闲
- 第三个时隙:碰撞(插入临时队列QT),广播第四个时隙
- 第四个时隙:成功,结束当前帧的识别
- 可以得到每个碰撞时隙中标签数量的平均估计值,将帧前缀和帧长插入队列当中
- 识别至Q为空
疑问:
- 为什么初始帧长为4?初始帧长影响大
后续在仿真分析中提出了初始帧长方案BEA算法 - 为什么是前P比特信息?不能再多了吗?P太长会导致较长的识别延迟,导致碰撞表情数目增多无法区分等毛病
- 估计标签数目在哪用到了?计算新的帧长
- 通过C是如何估算标签数量的?固定公式?
- 标签数量再多的话会发生什么变化?树长、帧长、检验次数,初始帧长必定改变
算法评价
ATSA优势:
- 算法实施简单
- 有效地将标签分裂为不相交的小组,减少了识别过程中碰撞时隙的产生
劣势: - 受初始帧长影响大
- 受标签ID分布影响大
可以明显观察到,ATSA协议的碰撞次数少于QT协议,总时隙也相应减少
改进型ImATSA
与ATSA不同的是,再ImATSA中标签的回复信息需要通过曼彻斯特编码方式进行编码,这种编码方式可以获得碰撞标签的最长共同前缀,有效地避免了ATSA中重复碰撞的情况。
(怎么个回复法?如何从曼彻斯特编码中获取信息?获取什么样的信息?改进了什么?是这样改进的?)
曼彻斯特编码
目的:减少碰撞标签具有较长的共同前缀对识别延迟的影响
方式:获取每个碰撞时隙中标签的最大共同前缀(怎么获得?)
理论分析(验证)
系统效率:
做出合理假设,计算最优系统效率。
计算方法:
均匀分布-二项分布
系统效率-递归法得不等式
三个引理-系统效率上限
如何继续改进?
起始的帧长是否可以做合理估计,直接变成共同帧长的最大比特数?
仿真分析
目的:对ATSA与ImATSA协议性能进行仿真分析
假设:唯一ID、均匀分布、信道传输信息无差错、信号够强
分析对象:平均用时、能耗
准备工作
标签设置:
四大部分:头部信息、域名管理信息、物品类别、标签序列号
长度:12和96比特
参数设置:
时间:碰撞时隙、成功时隙、Query用时、QueryRep用时
(非)前缀匹配协议(没懂):估算Query长度,用于不同协议,估算用时
仿真结果
ID长度k=12的仿真结果
初始帧长影响:
ImATSA协议比ATSA协议产生的碰撞时隙和空闲时隙都少,采用BEA算法对标签进行干预后,产生时隙少很多
标签ID分布稀疏度影响:
采用BEA算法后,受稀疏度影响小
ID长度k=96时的仿真结果
不同初始帧长情况下:采用BEA算法对标签进行干预后,产生时隙少很多
低标签ID稀疏度的情况下,对标签数量进行预估可以适当降低总的时隙数目;
改进的ImATSA协议可以有效地减少识别过程中产生的碰撞和空闲时隙。
基于查询树的标签数量估计以及自适应标签防碰撞协议
基于查询树的标签数量估计
背景
标签数量估计过程至提供标签数量信息,对后续识别过程没有帮助,过于复杂的估计法将增加总体识别时间
简述
基于查询树分裂的标签数量估计,通过查询树分裂的方式在对标签进行分组同时对每组中的标签数量进行估计(前面那个最优标签数量估计不行吗?计算很复杂吗?本章介绍的算法优势在哪?创新点在哪?)
过程
对标签进行分组估计,发生碰撞时隙时,氛围左右两个小组L和R,接着阅读器持续对L小组进行分组查询,直到没有碰撞时隙。运用递归法的办法求得标签数量。
优势:
- 通过简单的分裂估计过程有效地降低阅读器计算复杂度;
- 该算法在估计过程中对标签进行预分组,进一步促进整个标签识别过程,减少整体识别时间
性能分析
算法误差分析:
- 误差较小或基本没有影响
- 对于通常的标签识别算法中运用查询树估计算法能够提供更多的先验信息,有助于提升准确度;在曼彻斯特编码的算法中却会使得准确度降低。
改进以及研究方向
深入分析基于曼彻斯特编码的查询估计算法参数设置
自适应指派树时隙标签 防碰撞协议
为什么能把查询树估计算法和ImATSA相结合,不是曼彻斯特编码中误差很大吗?
查询树估计的话,与取最长共同前缀的ImATSA算法会有冲突吗?
基于比特检测技术的低能耗高失效标签防碰撞协议
3 结论以及验证
4 优缺点、改进方案
5 专业名词
二进制树型搜索算法
基本思想:
不断将导致碰撞的电子标签进行划分,缩小下一步搜索的标签数量,直到只有一个电子标签进行回应
算法实现
前提:
辨认出在读写器中数据冲突的准确位置,即合适的位编码法(NRZ编码和曼彻斯特编码)
曼彻斯特编码
编码规则
每一位中间有一跳变,既是时钟信号,又是数据信号
算法过程
Created with Raphaël 2.2.0 开始 发生冲突? 分裂为子集0与1 检查子集0 发生冲突? 再对子集分裂 ... 全部检查完毕? 结束 yes no yes no yes no
实现步骤
- 读写器广播发送最大序列号查询条件Q,标签进行回应
- 读写器进行回应,出现不一致现象则出现碰撞
- 确定碰撞后,将不一致位最高位置0再输出查询条件Q
- 排除大于Q的标签,识别出序列号最小标签,使其“无声”
- 重复步骤1,选出序列号倒数第二的标签
- 多次循环完成所有标签识别
Created with Raphaël 2.2.0 开始 发送最大序列号查询条件Q,标签进行回应 读写器接收并回应 是否出现碰撞? 将不一致位最高位置0,再输出查询条件Q 排除大于Q的标签,识别出最小标签 置最小标签于“无声” 是否完成所有标签识别? 结束 yes no yes no
示例:
二进制树型搜索算法
动态二进制树型搜索算法