针对上述算法步骤,在以下几个地方加以改进,形成本算法的改进算法。
A、步骤(1)中,随机数产生器产生两组随机数,分别加载到寄存器高位和低4位。其中高位加载的位数M可以动态设为1、2、3或4。
B、步骤(10)中的重复操作次数为2M次。因为改进算法在寄存器低4位也加载了随机数,使得标签在群间转移的概率(即低4位向高位进位的概率)大大增加,特别如果最后一个群中标签的寄存器低4位在退让步骤中进位,则会产生一个新群,因此需要额外增加一次高位减l操作。
3 电路实现
算法实现的参考电路框图见图l,其中RGI是一个“0”“1”随机数产生器;Rel是一个8位寄存器。加法器ADDl和ADD2的加减功能根据读写器命令来设定:当执行加法操作时,低4位的ADD2需向高4位的ADDl进位;当执行减法操作时,两个器件ADDl和ADD2相互独立。加法器可以工作在同步状态或异步状态,工作在同步状态时可以使用电子标签的最大时钟。
4 仿真结果
仿真l:为了评估本算法的优劣,特设计以下仿真:标签使用8位寄存器,高4位为高位。定义0个、2个和2个以上的标签同时发送数据时为传输冲突;只有一个标签发送数据时为传输成功,平均冲突次数定义为传输冲突总次数和传输成功总次数的比;空传率定义O个标签发送数据的次数与传输成功总次数的比。观察标签数为20~10000时的平均冲突次数。
仿真结果如图2所示,本文提出的算法与二进制算法性能接近,平均每成功传输1次都要伴随2次传输冲突;而改进算法则在标签数为50~5000个时明显减少了碰撞次数。同时也注意到当标签个数少于50时,改进算法性能下降,这是因为此时标签数接近分群的群数导致空传率上升所致,解决的办法是减少分群的群数。针对该问题,特设计仿真2来分析。
仿真2:为了分析低标签密度时改进算法的性能,特设计以下仿真:采用改进算法,分别使用5~8位寄存器。高l~4位为高位,即分群群数分别为2、4、8和16。仿真结果如图3所示,可以看到当标签总数为20时,如果把高位寄存器的位数从4降到l,则平均碰撞次数从5 5回落到1.4。而当标签总数为200和2000时,高位寄存器位数的改变对平均碰撞次数的影响不大。因此如果在某次仲裁中出现多次空传,根据这个先验知识,读写器可以在下一次仲裁时指示标签改变寄存器高位个数,以此降低空传率,进而可以降低平均碰撞次数。
本文提出的防碰撞算法仅需在电子标签中配置1个8位寄存器、1个l位“O”、“l”随机数产生器和2个4位加减l 计数器以及少量选择电路就能实现最多达1048 576个标签的仲裁。仿真表明本算法产生的碰撞概率明显小于二进制数算法,同时通过寄存器高位的灵活设置,还能有效解决低标签密度时空传率高的问题,从而进一步降低了碰撞概率。本算法实现简单,复杂度低,非常适合在RFID系统中应用,因而具有广阔的应用前景。