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