可以看出,新算法发送命令次数和数据量都大幅 度减少,分析其原因应有以下两点:后退方式减少了 命令的发送;命令的参数不是 RFID 标签的全部 ID, 而是冲突的位置及数值。当标签的 ID 位数越多,会 越明显。
各算法的执行时间比较见表 4。其中 RFID 读写 器发送 1 bit 数据时间为 t1,RFID 标签应答 1 bit 数据 时间为 t2,RFID 进行冲突处理 1 bit 数据时间为 t3。 由表 4 可以看出,改进算法在速度上也得到了提高, 分析其原因应有以下 3 点:并发执行处理,使冲突处理时间减少;命令传输的数据减少,识别数据的时间 减少;处理冲突可与命令传输多线程处理,提高了运 行的速度。
4.2 并发执行 BAS 算法与其他算法的效率比较
算法的系统效率是比较算法好坏的标准之一,因 此对 ALOHA 算法、QTA 算法和 BAS 算法进行系统 效率的比较。ALOHA 算法的思想是发现冲突后,重 新产生识别标签,当标签数量增加,冲突则呈线性增 长,系统性能急剧下降。QTA 算法需传输并检验标 签前缀,信息处理速度较慢。BAS 算法的思想是将读 入的信息生成 2 个不相交的子集,循环处理,直到子集中只有唯一可识别的标签。
算法的系统效率定义如下:系统效率=(发送成 功的标签信号/发送总标签信号)×100%。
这几种算法的效率比较曲线见图 3。可以看出, ALOHA 算法的效率最低,随着阅读器数目的增多,冲突也随之增加,当阅读器数量达到 64 时,ALOHA 算 法的系统效率几乎为 0;QTA 算法虽然很好地避免了节 点的冲突,但由于需要检查标签的前缀,当阅读器数目 达到 64 时,系统效率约为 40%;BAS 算法将读入的信 息分成 2 个不相交的子集,但单线程会造成系统空闲, 当阅读器数目达到 64 时,系统效率约为 67%;文中算法是在 BAS 算法的基础上,引入多线程后退式技术, 使系统效率一直保持在 90%左右。