基于NS-3的RFID系统的设计及仿真
扫描二维码
随时随地手机看文章
0 引 言
射频识别(Radio Frequency Identification,RFID)是一 种新兴的自动识别技术,具有无需视距通信,能够承受恶劣的 物理环境,允许多标签同时识别等特点,广泛应用于智能交通、 物品跟踪、防伪识别等领域。同时,不同的应用需求造成了 RFID 系统的多样性与复杂性。RFID 系统中的一些关键问题, 如标签碰撞、阅读器碰撞、系统安全等问题都有待进一步研 究和完善。网络仿真实现了对真实环境的模拟,是协议算法评 价和系统性能评估不可缺少的工具。
目前使用较为广泛的网络仿真工具有 OPNET[1],NS-2[2] 等。OPNET 是一种功能强大的网络仿真和建模工具,几乎可 以模拟任何网络设备,支持各种网络技术,同时还支持面向对 象的建模方式 ,并提供了图形化的编辑界面。但是 OPNET 价格昂贵,当仿真网络规模和流量很大时,仿真效率会降低, 且软件所提供的模型库也有限。NS-2 同样是面向对象的模 拟器可以对固定、无线、卫星以及混合等多种网络进行仿真。 与 OPNET 相比,NS-2 是一种开源的网络仿真工具,可扩展 特性和开源特性赋予了其强大的生命力。但 NS-2 中存在不支 持多类型接口节点,无线物理层模型过于简化等问题。美国 华盛顿大学 Thomas R. Henderson 教授及其项目组研究了新的 网络模拟工具 NS-3[3]。NS-3 是新型开源的离散事件网络模拟 器,重新改写了 NS-2 网络模块,不支持 NS-2 的 API,使用 C++ 或 Python 语言。相比 NS-2,NS-3 使用更加方便,且提 供了对网络协议的更低抽象层次,使其更贴近真实系统 [4]。因 此本文选用 NS-3 建立 RFID 系统仿真平台。
1 RFID 系统仿真平台的搭建
RFID 系统基于 NS-3 模拟器仿真,采用模块化设计,通 过 C++ 语言编程实现所需功能。阅读器与标签之间通常采用 询问 - 应答的半双工通信方式,Reader 先发送命令,Tag 根据 Reader 发送的命令执行相应操作,需要时,发送响应数据包 [5]。 阅读器和标签是 RFID 仿真系统中两种结构相似但功能不同的 无线节点,均由 MAC 层对象和物理层对象组成,通过信道层 对象实现通信。通信架构如图 1 所示。
MAC 层将数据包封装成帧 ;完成帧的发送接收 ;完成 阅读器与标签的逻辑操作。
阅读器的功能通过在 MAC 层对象中对标签的选择、盘 存和访问操作实现 [6],阅读器的操作逻辑如图 2 所示。阅读 器发送 Select 命令选择查询标签,广播携带帧长参数 Q 的 Query 命令,盘存开始,收到命令的标签产生一个 0 ~2Q -1 的随机数,并装入时隙计数器中,当时隙计数器的值为 0 时, 标签回复一个 16 位随机数(RN16)。阅读器判断是否收到 RN16,如果收到就立即发送 ACK 命令;如果没有收到就判断 是否发生碰撞。若发生碰撞则采用 Q 算法防碰撞,若没有发 生碰撞则阅读器发送 QueryRep 命令重复查询。
标签的功能通过在 MAC 层对象中根据阅读器命令转换 状态实现 [6]。从阅读器开始查询到获取标签存储的信息,标 签共经历四个状态的转换,分别是就绪、仲裁、应答和确认。 标签的状态转换如图 3 所示。标签进入射频区后上电进入就 绪状态,收到 Query 命令,若时隙计数器的值不为 0,则进入 仲裁状态并等待 QueryRep 或 QueryAdjust 命令,直到时隙计 数器的值为 0 并进入应答状态。若时隙计数器的值为 0,则 进入应答状态反向散射 RN16,当接收到正确 RN16 的 ACK 命令时进入确认状态,进入确认状态的标签反向散射其存储 的信息。
物理层 :定义了阅读器与标签之间无线通信的链路,包 括工作频率、数据速率和编码调制方式等技术参数以及数据 的发送接收。
信道层 :阅读器与标签通过信道层互相通信。信道层中 加入传播损耗模型(Propagation Loss Model),并计算系统的 最远工作距离。通过式(1)计算标签芯片获得的功率 Pr :
其中:Pt 为阅读器的发射功率 ;Gt 为阅读器天线增益 ;Gr 和 d 为标签天线增益和工作距离 ;Pth 为标签芯片的最低功耗。
2 RFID 系统测试
为验证基于 NS-3 的 RFID 系统仿真平台的搭建功能,在 此系统上运行一个实例,发现阅读器与标签可成功通信,获 取标签信息,如图 4 所示。Reader 向 Tag1发送 Query 命令开 始查询,收到命令后的 Tag1 在(0,2Q -1)范围内挑选一个 随机数,并将该数值载入。
当时隙计数器为 0 时,发送 RN16 ;当阅读器收到 RN16 时发送含有相同 RN16 的 ACK 命令确认该标签,标签收到 ACK 命令后,发送存储的 ID。
3 结 语
本文 搭建了一个基于 NS-3 的 RFID 仿真系统,对其 MAC 层对象、物理层对象、信道层对象给出了具体的仿真实现, 并通过实例验证了此系统。NS-3 模块化设计的灵活性便于给 RFID 系统加入各种不同的模块,有利于 RFID 系统的深入研 究与探讨,以及测试 RFID 系统性能,解决 RFID 相关问题。