3)多线程处理。如果 RFID 读写器是多频的, 并且 CPU 是多核处理器,则该多线程为“并行处理”; 如 RFID 是单频的,则需增加一个命令队列,暂时存 储同时发出的 Request 命令,此时为“多线程处理”, 可利用 RFID 读写器在处理信息的同时,读写 RFID标签内容。这 2 种方式都可提高系统的效率。

性能分析

4.1 BAS、后退式 BAS 和并发式 BAS 算法比较

评估 RFID 系统防冲突算法的好坏,要看算法搜索 完所有标签需要的查询次数和识别的时间。设 RFID 标 签数量为 N,RFID 标签的编码长度为 L,则 BAS 算法 中 RFID 标签的编码长度为 L;后退式 BAS 算法中, RFID 标签的编码长度为 log2 L+1;在该算法 Request 命令中,D 的长度与编码长度有关,为 log2 L,m 为 1 位,T 与线程的数目(NT)有关,为 log2 NT。在该算法 中发送的二进制编码长度为 log2 L+1+log2 NT。

BAS 算法中,需循环搜索 RFID 标签,因此识别 数量为 N 的标签查询次数为 N(N+1)/2;后退式 BAS 算法识别数量为 N 的标签需要的查询次数为 2N−1; 文中算法采用并发执行后退式 BAS,每个线程平均查 询次数为(2N−1)/NT。

BAS、后退式 BAS、并发处理 BAS 算法的传输 二进制数据长度分别为 N(N+1)/2 L, ( 2N− 1 ) × (log2 L+1),[(2N−1)/NT]×(log2 L+1+NT)。

以表 1 的 20 个标签为样本,比较 BAS、后退式 BAS 和并发执行 BAS 算法的性能,比较指标见表 3。 随着标签数量、编码位数以及并发数的增加,文中算 法的优势将越来越明显。对后退式 BAS 和并发执行 BAS 算法进行 Matlab 仿真,对 RFID 标签的编码为 8 位、64 位,线程数为 4 和 8 的 2 种算法的吞吐量进 行了比较,见图 2。

RFID包装系统怎样防止冲突