一種UHFRFID多標(biāo)簽處理算法的改進(jìn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
無(wú)源RFID(無(wú)線射頻識(shí)別技術(shù))是一種非接觸式自動(dòng)識(shí)別技術(shù),根據(jù)頻段可分為 LFRFID(125kHz),HFRFID(13.56MHz)和UHF RFID(840~960 MHz)。其中,UHF RFID由于標(biāo)簽讀取距離遠(yuǎn)、存儲(chǔ)容量大、無(wú)需電池、多標(biāo)簽處理能力強(qiáng)等優(yōu)點(diǎn), 在物聯(lián)網(wǎng)信息識(shí)別系統(tǒng)方面的應(yīng)用日益廣泛。
在物流及倉(cāng)儲(chǔ)等應(yīng)用中,由于標(biāo)簽數(shù)據(jù)數(shù)量大、存放密度高,很容易引起多標(biāo)簽響應(yīng)沖突,導(dǎo)致閱讀器無(wú)法有效識(shí)別標(biāo)簽數(shù)據(jù)。為了有效解決該問(wèn)題,需要在讀寫(xiě)器的軟件設(shè)計(jì)中使用多標(biāo)簽防沖突算法,而防沖突算法的好壞將直接影響系統(tǒng)對(duì)多標(biāo)簽數(shù)據(jù)的處理效率。
目前,UHF RFID 國(guó)際標(biāo)準(zhǔn)分為ISO18000-6A/B/C 三類, 其中,ISO18000-6C 協(xié)議應(yīng)用最為廣泛。本文對(duì)ISO18000-6C 協(xié)議中的標(biāo)簽防沖突算法進(jìn)行了研究,并在此基礎(chǔ)上做出改進(jìn),以提高 UHF RFID 讀寫(xiě)器對(duì)多標(biāo)簽的識(shí)別處理能力。
1 UHF RFID多標(biāo)簽算法
ISO18000-6C協(xié)議中的防沖突算法采用基于時(shí)隙 Aloha 協(xié)議的防沖突算法。標(biāo)簽根據(jù)讀寫(xiě)器盤(pán)點(diǎn)命令的參數(shù) Q值劃分時(shí)隙,可隨機(jī)在某一個(gè)時(shí)隙進(jìn)行數(shù)據(jù)上報(bào),當(dāng)有多個(gè)標(biāo)簽選擇同一個(gè)時(shí)隙上報(bào)數(shù)據(jù)導(dǎo)致讀寫(xiě)器無(wú)法正常解析數(shù)據(jù)時(shí)即發(fā)生沖突,為解決該現(xiàn)象,在讀寫(xiě)器端使用多標(biāo)簽防沖突算法。目前,讀寫(xiě)器端主流的防沖突算法主要包括固定時(shí)隙算法和動(dòng)態(tài)時(shí)隙調(diào)節(jié)算法。
1.1 固定時(shí)隙算法
固定時(shí)隙算法處理標(biāo)簽的原理相對(duì)比較簡(jiǎn)單,大致分為以下幾個(gè)步驟:
(1) 讀寫(xiě)器根據(jù)事先人為設(shè)置的標(biāo)簽數(shù)量 N計(jì)算出參數(shù)Q 值,一般需滿足條件 :2Q≤ N<2Q+1,通過(guò) Q 值計(jì)算得到標(biāo)簽需劃分的時(shí)隙數(shù) Slots=2Q,然后將Slots 值通過(guò)Query 命令下發(fā)至標(biāo)簽;
(2) 標(biāo)簽在收到 Query命令中的 Slots參數(shù)后, 從 [0, 2Q- 1] 中隨機(jī)選擇一個(gè)整數(shù)載入其時(shí)隙計(jì)數(shù)器 SC,如果SC 中的時(shí)隙數(shù)為 0,則標(biāo)簽立即產(chǎn)生一個(gè)隨機(jī)數(shù) RN16 返回應(yīng)答;
(3) 讀寫(xiě)器正確解析標(biāo)簽返回的RN16后,向標(biāo)簽發(fā)出包含該RN16值的確認(rèn)應(yīng)答ACK;
(4) 標(biāo)簽收到ACK后返回包含標(biāo)簽 EPC數(shù)據(jù)在內(nèi)的應(yīng)答幀;
(5) 讀寫(xiě)器收到標(biāo)簽返回的數(shù)據(jù)幀后發(fā)送 QueryRep命令通知該標(biāo)簽改變識(shí)別標(biāo)志位不再參與識(shí)別過(guò)程,其他標(biāo)簽的時(shí)隙計(jì)數(shù)器 SC中的數(shù)值減 1;
(6) 當(dāng)有標(biāo)簽的時(shí)隙計(jì)數(shù)器 SC數(shù)據(jù)為 0時(shí),返回應(yīng)答RN16,并重復(fù)(3)的操作;
(7) 讀寫(xiě)器根據(jù)標(biāo)簽識(shí)別情況或者預(yù)設(shè)時(shí)間參數(shù)判斷是否結(jié)束標(biāo)簽識(shí)別過(guò)程。
1.2 動(dòng)態(tài)時(shí)隙調(diào)節(jié)算法
固定時(shí)隙算法在事先預(yù)知標(biāo)簽數(shù)量并且標(biāo)簽數(shù)量不變的情況下可取得較好的效果,但在使用過(guò)程中,較多場(chǎng)合事先無(wú)法準(zhǔn)確獲悉標(biāo)簽數(shù)量或某些場(chǎng)合的標(biāo)簽數(shù)量一直處于動(dòng)態(tài)變化中,因此需要在識(shí)別過(guò)程中大致估算實(shí)時(shí)標(biāo)簽數(shù)量并動(dòng)態(tài)調(diào)節(jié)時(shí)隙參數(shù),從而保證讀寫(xiě)器可快速有效地識(shí)別標(biāo)簽。
目前,動(dòng)態(tài)時(shí)隙調(diào)節(jié)算法的主要思路是在固定時(shí)隙算法的基礎(chǔ)上記錄標(biāo)簽的應(yīng)答與沖突情況,并結(jié)合此時(shí)的參數(shù) Q 值與調(diào)節(jié)的門(mén)限閾值進(jìn)行對(duì)比,當(dāng)計(jì)算結(jié)果大于閾值時(shí),對(duì)當(dāng)前 Q 值進(jìn)行調(diào)整并通知標(biāo)簽根據(jù)新的時(shí)隙進(jìn)行識(shí)別。具體過(guò)程如下:
(2)當(dāng) T<Slots/(2X)時(shí),表明時(shí)隙數(shù)量相對(duì)于當(dāng)前的標(biāo) 簽數(shù)量過(guò)大,需減小 Q 值 ;
(3)當(dāng) T>Slots/X 時(shí),表明時(shí)隙數(shù)量相對(duì)于當(dāng)前的標(biāo)簽 數(shù)量過(guò)小,需增大 Q 值 ;
(4)當(dāng) Slots/(2X)≤ T ≤ Slots/X 時(shí),表明時(shí)隙數(shù)量相對(duì) 于當(dāng)前的標(biāo)簽數(shù)量處于合理區(qū)間內(nèi),無(wú)需調(diào)節(jié)。
(5)根據(jù)上述步驟的判斷結(jié)果及 Q 值調(diào)整下一輪 Query 命令參數(shù)中的時(shí)隙數(shù)量。
1.3 動(dòng)態(tài)時(shí)隙算法的優(yōu)化
動(dòng)態(tài)時(shí)隙算法在標(biāo)簽數(shù)量未知及數(shù)量不固定的場(chǎng)合下能夠根據(jù)標(biāo)簽數(shù)量動(dòng)態(tài)調(diào)節(jié)時(shí)隙數(shù)量,減少標(biāo)簽識(shí)別沖突,提高標(biāo)簽識(shí)別效率。從實(shí)際應(yīng)用情況來(lái)看,該算法還存在一些問(wèn)題,主要原因在于在一些標(biāo)簽識(shí)別沖突嚴(yán)重的場(chǎng)合,算法對(duì)標(biāo)簽量的估值存在較大偏差,導(dǎo)致算法判斷錯(cuò)誤,因此時(shí)隙數(shù)與實(shí)際標(biāo)簽量存在較大差異,雖然可通過(guò)多輪識(shí)別收集標(biāo)簽量來(lái)接近真實(shí)的標(biāo)簽情況,但該方法識(shí)別效率低下,且不適用標(biāo)簽量動(dòng)態(tài)變化較快的情況。
本文提出了一種基于動(dòng)態(tài)時(shí)隙算法的優(yōu)化算法,通過(guò)讀寫(xiě)器收集識(shí)別過(guò)程中各階段的狀態(tài)值,形成多層判斷條件, 通過(guò)各狀態(tài)值的變化情況綜合判斷當(dāng)前時(shí)隙數(shù)量與標(biāo)簽量是否相符,調(diào)整 Q 值,從而在短時(shí)間內(nèi)迅速提高多標(biāo)簽處理能力。
通過(guò)實(shí)驗(yàn)測(cè)試在一定量標(biāo)簽時(shí)如何選取 Q 值時(shí)隙數(shù)。設(shè)置三組標(biāo)簽場(chǎng)景,使其標(biāo)簽量分別為100,300,500,記錄每組實(shí)驗(yàn)在不同 Q值下 30s內(nèi)讀到的標(biāo)簽數(shù)量,為避免實(shí)驗(yàn)誤差, 每個(gè) Q值測(cè)試 10次,最后取平均值。經(jīng)統(tǒng)計(jì)分析可知,當(dāng) Q 值對(duì)應(yīng)的時(shí)隙數(shù)約等于當(dāng)前標(biāo)簽量(即 N≈ Slots)時(shí),讀寫(xiě)器的多標(biāo)簽處理能力最佳,同等時(shí)間內(nèi)讀取的標(biāo)簽量最多。
在此基礎(chǔ)上進(jìn)一步分析,記錄每組標(biāo)簽單化過(guò)程中的狀態(tài)值,包括無(wú)應(yīng)答時(shí)隙數(shù) S1,有應(yīng)答時(shí)隙數(shù) S2 與標(biāo)簽成功識(shí)別數(shù) S3,建立公式 Ns=aS1+bS2+cS3。將多次統(tǒng)計(jì)記錄數(shù)據(jù)代入公式,其中 Ns 為每次實(shí)驗(yàn)的標(biāo)簽總數(shù),據(jù)此計(jì)算求出 a,b,c 三個(gè)系數(shù)均值。
修改之前的 Q 值調(diào)整算法,過(guò)程如下:
(1)收集上一輪識(shí)別過(guò)程中的狀態(tài)值 S1,S2 和 S3,根據(jù) 公式 Ns=a×S1+b×S2+c×S3 求出當(dāng)前標(biāo)簽預(yù)估量 Ns。
(2)將 Ns 與當(dāng)前 Q 值對(duì)應(yīng)的 Slots 值進(jìn)行比較,將調(diào)整 閾值 X 設(shè)為 0.8,根據(jù)測(cè)試情況進(jìn)行調(diào)整。
(3)當(dāng) Ns>2X×Slots 時(shí),認(rèn)為當(dāng)前 Q 值過(guò)小,需增加 Q 值。
(4)當(dāng) Ns<X×Slots 時(shí),認(rèn)為當(dāng)前 Q 值過(guò)大,需減小 Q 值。
(5)當(dāng) X×Slots ≤ Ns ≤ 2X×Slots 時(shí),表明時(shí)隙數(shù)量相對(duì) 于當(dāng)前的標(biāo)簽數(shù)量處于合理區(qū)間內(nèi),無(wú)需調(diào)整。
2 結(jié) 語(yǔ)
本文對(duì)基于 ISO/IEC18000-6C 協(xié)議的標(biāo)簽單化過(guò)程進(jìn)行 了分析,對(duì)當(dāng)前的多標(biāo)簽固定時(shí)隙算法與動(dòng)態(tài)時(shí)隙調(diào)整算法進(jìn) 行了研究討論,并在此基礎(chǔ)上進(jìn)行標(biāo)簽分組測(cè)試,統(tǒng)計(jì)了大 量測(cè)試數(shù)據(jù),記錄后提出了新的多標(biāo)簽處理算法,已通過(guò)實(shí) 驗(yàn)測(cè)試對(duì)算法進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,相對(duì)于以前的多 標(biāo)簽處理算法,新算法可較為準(zhǔn)確地預(yù)估當(dāng)前標(biāo)簽量,并在 此基礎(chǔ)上對(duì) Q 值進(jìn)行動(dòng)態(tài)分析調(diào)整,提高了標(biāo)簽的識(shí)別效率, 減少了同等標(biāo)簽量情況下標(biāo)簽的識(shí)別時(shí)間,對(duì)解決 RFID 系統(tǒng) 中經(jīng)常遇到的大量標(biāo)簽防碰撞問(wèn)題具有一定的參考價(jià)值。