一種動態(tài)Q值多標(biāo)簽識別算法的性能分析
引言
近年來,射頻識別(RFID)技術(shù)作為自動識別的新技術(shù),憑借其諸多優(yōu)點在國際上得到迅速發(fā)展。它利用射頻方式進(jìn)行非接觸雙向通信交換數(shù)據(jù),以達(dá)到識別的目的。為此,EPCglobal組織于2004年12月發(fā)布了第二代超高頻空中接口標(biāo)準(zhǔn)Class1Generation2(簡稱EPC-C1G2)。該標(biāo)準(zhǔn)的工作頻率范圍是860~960MHz,主要應(yīng)用領(lǐng)域是供應(yīng)鏈、零售和資產(chǎn)管理等。在EPC-C1G2協(xié)議中,多標(biāo)簽識別是其最重要的性能之一。
超高頻RFID的優(yōu)點是可識別高速運動物體,可多標(biāo)簽識別,識別距離遠(yuǎn)可達(dá)8m,而且無源標(biāo)簽成本低和壽命長,但這些優(yōu)點也決定了它的使用難度和技術(shù)要求較高。如何快速、有效地識別出射頻場中多個標(biāo)簽,是UHFRFID的主要問題。EPC-C1G2協(xié)議在多標(biāo)簽識別方面非常靈活,并提供了多種參數(shù)和命令來解決多標(biāo)簽碰撞問題。本文根據(jù)這些參數(shù)和命令,給出了一種解決碰撞的流程,并進(jìn)行了仿真分析。
1EPC-C1G2協(xié)議的多標(biāo)簽碰撞解決方法
EPC-C1G2協(xié)議的多標(biāo)簽防碰撞機制采用時槽aloha[5-6]算法。該協(xié)議使用的多標(biāo)簽碰撞解決命令集包括Query、QueryAdjust、QueryRep、ACK和NAK。主要參數(shù)為決定時隙計數(shù)的Q值。
Query用于初始化一個盤點過程,并決定哪些標(biāo)簽參與本盤點過程(這里“盤點過程”定義為連續(xù)兩個Query命令之間的時間)。Query包含一個時隙計數(shù)參數(shù)Q。當(dāng)接收到一條Query命令時,被盤點的標(biāo)簽應(yīng)在含(0,2Q-1)范圍內(nèi)選出一個隨機數(shù),并將這個數(shù)置入它們的時隙計數(shù)器。選到零值的標(biāo)簽應(yīng)轉(zhuǎn)移到應(yīng)答狀態(tài),并立即應(yīng)答一個隨機數(shù)RN16。選到非零數(shù)的標(biāo)簽應(yīng)轉(zhuǎn)移到仲裁狀態(tài),并等待下一條QueryAdjust或QueryRep命令。
處于仲裁和應(yīng)答狀態(tài)的標(biāo)簽,在接收一條QueryAdjust命令時,首先調(diào)整Q值(增加、減少或不變),然后在含(0,2Q-1)范圍內(nèi)選出一個隨機數(shù),置入它們的時隙計數(shù)器。選到零值的標(biāo)簽應(yīng)轉(zhuǎn)移到應(yīng)答狀態(tài),并立即回答。選到非零值的標(biāo)簽應(yīng)轉(zhuǎn)移到仲裁狀態(tài),并等待下一條QueryAdjust或QueryRep命令。
處于仲裁狀態(tài)的標(biāo)簽每接收到一條QueryRep命令后,即將它們的時隙計數(shù)器減1。當(dāng)它們的時隙計數(shù)器減到0000h時,標(biāo)簽轉(zhuǎn)移到應(yīng)答狀態(tài),并應(yīng)答一個隨機數(shù)RN16。那些時隙計數(shù)器減到0000"并已應(yīng)答,但沒有得到確認(rèn)(包括對先前Query命令的響應(yīng),而沒有得到確認(rèn))的標(biāo)簽應(yīng)返回仲裁狀態(tài),仍有時隙值0000h,在接收到下一條QueryRep命令時,這些標(biāo)簽的時隙計數(shù)器應(yīng)從0000h減到7FFFh,從而有效地防止隨后的應(yīng)答,直到標(biāo)簽置新的隨機數(shù)進(jìn)入它的時隙計數(shù)器。在2q-1條QueryRep命令中,標(biāo)簽至少應(yīng)答一次。
假設(shè)只有一個標(biāo)簽應(yīng)答,則其查詢-響應(yīng)算法的執(zhí)行過程如下:
(1)當(dāng)標(biāo)簽進(jìn)入應(yīng)答狀態(tài)時,回答一個隨機數(shù)RN16;
(2)讀寫器用包含同樣RN16的ACK命令確認(rèn)這個標(biāo)簽;
(3)被確認(rèn)的標(biāo)簽轉(zhuǎn)移到確認(rèn)狀態(tài),并回答它的PC、EPC和CRC-16給讀寫器;
(4)讀寫器發(fā)送一條QueryAdjust或QueryRep命令,使被識別的標(biāo)簽轉(zhuǎn)移到準(zhǔn)備狀態(tài),潛在地也初始化另一個標(biāo)簽與讀寫器的查詢-響應(yīng)對話過程,并從以上步驟(1)重新開始。
圖1所示是單標(biāo)簽的查詢-應(yīng)答過程。圖中,白色部分口表示讀寫器到標(biāo)簽的信號,帶陰影部分口表示標(biāo)簽到讀寫器的信號,而且P為命令幀頭,F(xiàn)S為命令幀同步,RN16為16b隨機數(shù),PC為協(xié)議控制字,EPC為電子產(chǎn)品碼,CRC-16為16b循環(huán)冗余校驗碼。
如果多個標(biāo)簽或無標(biāo)簽在步驟(1)回答,而讀寫器未能分解出一個標(biāo)簽RN16,則讀寫器就從以上步驟(4)開始。圖2所示為多標(biāo)簽查詢-應(yīng)答過程。
2仿真分析
在多標(biāo)簽識別過程中,不僅要識別出所有標(biāo)簽,還要時間盡可能短。由上述識別過程可以看出,標(biāo)簽都在規(guī)定的時槽內(nèi)應(yīng)答,因此,決定時槽多少的Q值是關(guān)鍵參數(shù),但上述內(nèi)容并沒有給出具體的Q值。本節(jié)將給出一種識別流程,并確定Q值對識別時間的影響。依據(jù)協(xié)議規(guī)定,可計算出讀寫器發(fā)送每條命令的時間和標(biāo)簽應(yīng)答的時間,這里不再贅述。
2.1固定Q值算法
時隙計數(shù)Q值在整個識別過程不改變。Q值根據(jù)可能需要識別標(biāo)簽的最大數(shù)目而定,如最多識別Nmax=30個標(biāo)簽,Q=6Log2(Nmax)+1=5。在一次識別過程中,不對發(fā)生碰撞的標(biāo)簽再次識別,因此,需要多次執(zhí)行該識別流程,才能識別所有標(biāo)簽。
2.2動態(tài)Q值算法
動態(tài)Q值算法可以根據(jù)標(biāo)簽碰撞解決過程中的情況動態(tài)地調(diào)整Q值。動態(tài)Q值算法有三個參數(shù):Qstart、Qm,o和Qm*Qstart為起始Q值,Qm.為最小Q值,QjMx為最大Q值。在本文動態(tài)Q算法分析中,Qm,o等于0,Qmx等于15,Qstart分別等于2、4、6和8。當(dāng)讀寫器未收到標(biāo)簽應(yīng)答的隨機數(shù),或標(biāo)簽應(yīng)答的隨機數(shù)發(fā)生碰撞時,變量nrn加1。當(dāng)讀寫器未能收到標(biāo)簽應(yīng)答的EPC碼時,變量nepc加1。閾值threahold等于當(dāng)前的Q值,可以作為Q值變化的依據(jù)。圖3所示為動態(tài)Q值算法具體流程圖。
圖3動態(tài)Q值算法流程
2.3仿真曲線及分析
圖4所示為該標(biāo)準(zhǔn)的標(biāo)簽識別時間與標(biāo)簽數(shù)目的動態(tài)關(guān)系圖。圖中,橫坐標(biāo)為被識別的標(biāo)簽數(shù),縱坐標(biāo)為識別所費時間(統(tǒng)計平均時間)。
由圖4可見,起始Q值Qam取不同值時,對識別時間影響不大,因此,動態(tài)Q值算法的三個參數(shù)均可恒定。圖4中的三個圖分別是標(biāo)簽應(yīng)答數(shù)據(jù)速率(LF)為不同值時,兩種識別過程的比較??梢?,動態(tài)Q值算法性能好的主要原因:一是變Q值識別每完成一輪(2Q—1時槽)識別后,Q值會根據(jù)標(biāo)簽碰撞的情況及時調(diào)整,因而可以節(jié)省時間;二是已被識別的標(biāo)簽不再參與下輪識別,從而加速了剩余標(biāo)簽的識別速度;三是動態(tài)Q值算法性能比固定Q值算法改善不明顯,原因是動態(tài)Q值的三個參數(shù)是恒定的,不隨待識別標(biāo)簽數(shù)變化,而固定Q值算法的起始Q值需根據(jù)實際待識別標(biāo)簽數(shù)做變化,否則嚴(yán)重影響標(biāo)簽的識別時間,特別是針對待識別標(biāo)簽數(shù)變化較大的情況,動態(tài)Q值算法更具有明顯優(yōu)勢。
3結(jié)語
一般情況下,固定Q值算法針對10個以內(nèi)標(biāo)簽盤點比較有效,如車輛管理;而動態(tài)Q值算法適應(yīng)盤點標(biāo)簽數(shù)變化較大的場合,如倉庫管理。在EPC-C1G2協(xié)議中,多標(biāo)簽識別還包括Select命令、Session會話參數(shù)和inventoried標(biāo)識等,可提供更加靈活的識別算法。如用Select命令可根據(jù)Session會話參數(shù)或標(biāo)簽數(shù)據(jù)特征將標(biāo)簽分成幾組,再分別識別每一組標(biāo)簽,每組標(biāo)簽均可采用本文算法進(jìn)行,故可滿足不同的應(yīng)用要求。
20210919_61469a716b297__一種動態(tài)Q值多標(biāo)簽識別算法的性能分析