一種RFID閱讀器的列表式讀取方式研究
肘頻識別技術( Radio Frequency Identifica-tion,RFID)是一種非接觸式的自動識別技術,在生產、生活、衛(wèi)生醫(yī)療等各個領域發(fā)揮著越來越重要的作用,與傳統條形碼技術相比較,RFID技術具有使用壽命長、存儲容量大、讀取速度快、環(huán)境適應能力強、抗干擾能力強、支全性高等優(yōu)點,而其最突出的特點即為多標簽識別,但閱讀器周圍可有多個標簽存在,當兩個或兩個以上標簽同時向閱讀器發(fā)送數據時將會產生數據沖突,防碰撞算法應運而生,目前解決標簽碰撞的算法主要有基于二進制樹搜索的確定性防碰撞算法和基于ALOHA的不確定性防碰撞算法,閱讀器都需根據相應碰撞規(guī)則對其識別范圍內的標簽逐個讀取,當標簽數量增大時,該兩種算法都會產生明顯的系統開銷及時延。傳統的防碰撞思想采取標簽主動方式,即符合系統規(guī)范的標簽一進入閱讀器的工作區(qū)域就自動向閱讀器發(fā)送其自身ID,此時若多個標簽同時向閱讀器發(fā)送數據,將會產生沖突,閱讀器需對碰撞標簽數據進行防碰撞操作,但是閱讀器只能依據算法中相應的運算規(guī)則來決定讀取標簽的先后順序,并且防碰撞算法本身的復雜性也在很大程庋上增加了系統開銷。針對防碰撞算法的不足,本文提出了列表式讀取方式,這是一種新的RFID閱讀器讀取方式,與傳統防碰撞算法不同之處在于列表式讀取方式跳過了防碰撞過程,識別標簽之前閱讀器存儲待讀標簽的地址信息,依照地址列表讀取標簽,讀取的主動權在于閱讀器.
1 列表式讀取方式
1.1 列表式讀取方式指令原理
讀取操作前,閱讀器內部存儲器存儲所有標簽的唯一識別號( UID),形成待讀標簽地址列表,讀取時閱讀器按照地址列表順序將所要識別標簽的UID插入到REQUEST命令中發(fā)送出去,標簽在接收到閱讀器發(fā)送的REQUEST指令后,提取出命令中的UID信息與其自身UID信息進行比較,若異或運算結果為零則確定該標簽為閱讀器的目標標簽,標簽響應;否則,標簽對閱讀器命令不予理會.
1.2 列表式讀取方式的兩種讀取模式
當閱讀器對標簽進行讀取操作時,閱讀器列表式讀取方式采用兩種模式:二次讀取模式和循環(huán)讀取模式,也可通過將兩種模式混合使用形成嵌套讀取模式.
1)二次讀取模式,若閱讀器存儲器內部標簽地址列表中待讀標簽數量很大,識別標簽運用的算法需盡量減少識別時間.二次讀取模式巧妙避免了需反復讀取同一標簽所產生的時延,當地址列表中的個別標簽暫時未能被成功讀取時,閱讀器將在內存中建立1個子地址列表,將漏讀的標簽地址存放于萁中。
當閱讀器完成對地址列表中的所有標簽一輪查詢后,將進行子地址列表的讀取,讀取操作模式如上所述,若此時仍不能成功讀取子地址列表內全部標簽信息,則建立下一層子地址列表,重復上述過程逐層讀取.
2)循環(huán)讀取模式,對于循環(huán)讀取模式,如果標簽地址列表中出現個別標簽不能被正確識別,閱讀器將不再按照地址列表順序繼續(xù)向下讀取,而是對未成功識別標簽反復讀取直至成功識別,重復此操作至地址列表清空.
3)嵌套讀取模式,嵌套讀取模式是將循環(huán)讀取模式嵌入到二次讀取模式中,即對于二次讀取模式下形成的子地址列表,閱讀器采用多地址循環(huán)讀取模式對其進行識別,當閱讀器對地址列表中所有標簽地址完成一次讀取后,將未識別的地址提取出來建立子地址列表,對子地址列表閱讀器將從首地址到末地址采取循環(huán)讀取模式進行讀取,標簽成功識別后,將其地址從子地址列表中刪除,反復操作直至子地址列表清空.
2 算法分析
為了證明列表式讀取方式性能的優(yōu)越性,本文采用Matlab仿真軟件,針對閱讀器尋呼次數、傳輸時延及系統效率3個重要性能指標對本算法進行仿真分析,并與工作方式機理基本一致的二進制搜索算法做性能比較.
2.1 閱讀器尋呼次數分析
對于閱讀器列表式讀取方武,當需要讀取地址列表中單個標簽時,閱讀器只需發(fā)送1個插入該標簽UID的REQUEST( UID)命令即可,待識別標簽響應并附帶自身的UID,其他標簽不作響應.
1)列表式讀取方式,在閱讀器列表式讀取方式中,閱讀器發(fā)送的尋呼命令次數與標簽數目無關,尋呼次數Tln(N)應始終為1,即 Tl1(N)=1 (l)
所以當閱讀器需要對自身工作區(qū)域內所有N個標簽進行讀取時需要的尋呼命令次數Tln(N)終為N,即 Tln(N)=N (2)
該式為閱讀器讀取范圍內標簽數目有限,且在時間允許范圍內可對全部標簽成功識別的情況,當標簽數目很大,如對全國范圍內的二代身份證進行識別,即標簽數目可達十幾億時,與本結論并不沖突.
2)二進制搜索算法,對于二進制搜索算法,閱讀器要識別其讀寫范圍內N個標簽中某一個標簽所需發(fā)送的尋呼次數為 TB1(N)=Int(log N/log 2)+1 (3)
閱讀器對該標簽成功識別后,將會發(fā)送1個去活命令,標簽接收到命令后進入等待狀態(tài),對于閱讀器以后發(fā)來的命令不予響應,即該標簽將不會參與下一輪的防碰撞操作,當閱讀器需要對工作區(qū)域內的全部N個標簽進行識別時,閱讀器所要發(fā)送的尋呼次數應為
3)閱讀器尋呼命令數仿真分析,當閱讀器需要對其讀取范圍內全部N個標簽中單個標簽進行讀取時,所需發(fā)送的尋呼命令次數仿真分析如圖1所示。
從圖可知,二進制搜索算法的閱讀器尋呼次數曲線呈正增長趨勢,閱讀器發(fā)送的尋呼命令次數會隨著標簽數量的增長而增長,然而閱讀器列表式讀取方式的尋呼次數恒定為1,不因標簽數變化而變化.
圖1 識別單個標簽時仿真結果對比
當閱讀器需要識別其工作范圍內全部N個標簽時,所需發(fā)送的尋呼命令次數仿真分析如圖2所示。
圖2識別全部標簽時仿真結果對比
由圖可知,對于兩種算法雖然閱讀器發(fā)送尋呼命令次數都會隨著標簽數量增長呈現增長趨勢,但二進制搜索算法的增長趨勢更加顯著,因此列表式讀取方式優(yōu)越性更為明顯.
{$page$}
2.2 系統傳輸時延分析
對于閱讀器而言,其命令數據傳輸時間要遠大于相關命令處理時間,因此,將命令數據傳輸時間作為分析RFID系統傳輸時延的主要因素,因系統數據傳輸速率恒定,所以傳輸時延取決于閱讀器發(fā)出尋呼的次數和每次發(fā)送尋呼的UID傳輸數據長度(以比特為單位).
對于兩種算法,閱讀器與標簽間的請求命令和應答命令的數據幀首尾都要有1個5個比特位長度的空閑,分別命名為幀頭與幀尾,而且,閱讀器接收到標簽回傳UID的環(huán)節(jié)中,處理數據校驗位要花掉1個比特時間.而當目標標簽返回響應時,閱讀器記錄其唯一諷別號信息還需要2個比特時間,成功識別該標簽后會發(fā)送1個帶有該標簽UID的去活命令,使其進入等待狀態(tài).
若閱讀器工作范圍內的標簽數量為N,標簽的唯一識別號( UID)長度為k比特,可知,閱讀器與標簽一次通信所要消耗的比特時間Lo為Lo=2k+21.
對列表式讀取方式而言,當閱讀器需要讀取其工作區(qū)域內的單個標簽時,由式(l)可知,閱讀器發(fā)送尋呼命令次數為1,即系統內閱讀器與標簽需發(fā)送的比特長度Ll1(N)為Ll1(N)=2k +23.
當需讀取全部N個標簽時,由式(2)可得閱讀器需要發(fā)出N次尋呼命令,即需要發(fā)送的比特長度LlN(N)為LlN(N)=N(2/c+23).
而二進制搜索算法中,當閱讀器需要對其工作區(qū)域內某1個標簽進行讀取時,由式(3)可得,閱讀器發(fā)送的尋呼命令數為Tbl(N),則所要發(fā)送的比特長度Tbl(N)為 Tbl(N)=(2k+21) Int(log N/log 2)+ 2k+23.
當需識別所有標簽時,由式(4)可知,閱讀器發(fā)送的尋呼命令數為Tbn (N),則所要發(fā)送的比特長度Tbn (N)為
著所傳的比特位已知,系統的比特位數除以碼元速率即為傳輸時延,設閱讀器的碼元速率為口= 50 kbit/s,標簽UID的長度七為64 bit,標簽數為N.
1)閱讀器列表式讀取方式,若閱讀器讀取范圍內存在N個標簽,列表式讀取方式讀取單個標簽進行識別時的系統傳輸時延Tl1為Tl1=Tl1/v=(2k+23)/v
對全部標簽進行讀取時的系統傳輸時延Tln為 Tln=Lln/v=N(2k+23)/v.
2)二進制搜索算法,對于二進制搜索算法,當閱讀器需要對其閱讀范圍內N個標簽中的某一個標簽進行讀取時,系統傳輸時延Tb1為 Tb1 (N)=Lb1/v=[(2k +21)Int(logN/log 2))+2k+23 l/v.
對于二進制搜索算法,當閱讀器需要對其讀取范圍內全部N個標簽進行識別時,系統傳輸時延Tbn為
3)系統傳輸時延仿真分析,假設閱讀器讀取范圍內存在N個標簽,讀取單個標簽時兩種算法的系統傳輸時延的仿真分析比較如圖3所示
圖3識別單個標簽仿真結果對比
從圖3可以看出,提出的讀取方式系統傳輸時延為定值3 ms,即識別單個標簽的傳輸時延與閱讀器工作范圍內標簽數量無關,而二進制搜索算法的傳輸時延隨著橫軸標簽數量的增長而增長,在標簽數目為0 -10的范圍內,增長幅度最為明顯,以后呈平緩增長趨勢.
對讀取范圍內全部N個標簽進行識別時,兩種算法的系統傳輸時延仿真分析比較如圖4所示
圖4識別全部N個標簽仿真結果對比
由圖4可知,無論二進制搜索算法還是閱讀器列表式讀取方式,其系統傳輸時延都會隨著閱讀器讀取范圍內標簽數量的增加而有所增加,但顯然列表式讀取方式較二進制搜索算法上升幅度遲緩,在標簽數目為150個時,列表式讀取方式系統傳輸時延為500 ms,而二進制搜索算法達到2 000 ms,時延為列表式的4倍,可見標簽數量增大時,閱讀器列表式讀取方式優(yōu)勢性更為明顯.
2.3 系統效率分析
由閱讀器發(fā)送尋呼命令次數的仿真圖可知,閱讀器發(fā)送尋呼命令的次數會隨其讀取范圍內標簽數量的增長而增長,即閱讀器成功識剔標簽效率下降.列表式讀取方式與二進制搜索算法的系統效率分析比較如下.
1)列表式讀取方式.對于列表式讀取方式,閱讀器要對其讀取范圍內N個標簽中的某一個進行識別時,系統效率El1可以表示為
當需識別全部N個標簽時,列表式讀取方式的系統效率Eln為
2)二進制搜索算法,若閱讀器讀取范圍內存在N個標簽,當需識別單個標簽時,二進制搜索算法系統效率Eb1,可以表示為
當需識別其讀取范圍內的全部N個標簽時,二進制搜索算法的系統效率Ebn為
3)系統效率仿真分析,若閱讀器工作區(qū)域內標簽數目為N個,當閱讀器需要對其中某一個進行讀取時,系統效率的仿真如圖5所示.
圖5識別單個標簽仿真結果對比
由圖5可知,識別閱讀器讀取范圍內單個標簽時二進制搜索算法的系統效率呈現整體下降趨勢,標簽數量在0 - 10范圍內,系統效率直線下降,隨著標簽數量逐漸增多,下降幅度將有所緩解,但仍一直呈下降趨勢,而對于列表式讀取方式,系統效率始終為100%.
當閱讀器需要識別所有標簽時,系統的效率仿真分析如圖6所示,從圖可知,二進制搜索算法的系統效率與標簽數目成負相關,即標簽數量上升,系統效率隨之下降,而列表式讀取方式的系統效率恒定為100%.因此,系統效率方面列表式讀取方式優(yōu)于二進制搜索算法
圖6識別全部N個標簽仿真結果對比
3 結 論
列表式讀取方式省去了傳統防碰撞算法中復雜的防碰撞過程,利用二次讀取方式、循環(huán)讀取方式或嵌套讀取方式對標簽進行識別,通過仿真實驗分析得出本算法在閱讀器尋呼次數、系統傳輸時延以及系統效率3個重要的性能指標上都明顯優(yōu)于二進制搜索算法,尤其是在圖書館開放式書架管理以及倉儲管理等需查詢某一特定標簽的特殊應用環(huán)境下凸顯其靈活便捷性.但對于閱讀器列表式讀取方式,一方面因其跳過防碰撞算法,不能靈活應對閱讀器讀取范圍內多個標簽同時與閱讀器通信的狀況;另一方面因其識別主動權不在標簽,而在閱讀器,只有地址信息存放于閱讀器內部存儲器的標簽才能被識別,所以相應的
其應用范圍也將受到一定的限制,因此列表式讀取方式并不能完全地取代傳統的讀取方式,在實際中應該將兩種不同思想的讀取方式結合起來,使應用更加靈活高效。