專利名稱:基于標簽id預(yù)處理的rfid防碰撞方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于標簽ID預(yù)處理的RFID防碰撞方法,屬于物聯(lián)網(wǎng)中的RFID射頻識別領(lǐng)域。
背景技術(shù):
射頻識別(RFID)技術(shù)是一種新興的自動識別技術(shù),因為具有非接觸、遠距離操作、可靠性好、安全性高等優(yōu)點,在倉儲物流、生產(chǎn)制造、門禁系統(tǒng)、供應(yīng)管理、道路自動收費等眾多領(lǐng)域得到廣泛應(yīng)用。RFID系統(tǒng)主要由標簽、閱讀器和后臺數(shù)據(jù)庫三部分組成,其中閱讀器和標簽之間采用非接觸工作方式交互信息。在周圍有大量標簽的RFID應(yīng)用系統(tǒng)中,由于閱讀器發(fā)出的查詢命令會引起多個標簽的同時響應(yīng),這些響應(yīng)信號混疊在一起,閱讀器就會無法正確識別,這種情況稱為標簽沖突。這些沖突的存在大大影響了 RFID閱讀器的標簽識別效率,從而限制了整個RFID應(yīng)用系統(tǒng)效率的提高。為了能夠正確的讀取標簽,閱讀器必須采用防碰撞算法(Ant1-colIision Algorithm),而防碰撞算法的效率也將成為影響RFID系統(tǒng)性能的關(guān)鍵因素。因此多標簽防碰撞方法是RFID關(guān)鍵技術(shù)研究領(lǐng)域的一個熱點,也是未來物聯(lián)網(wǎng)應(yīng)用中的一個重要研究課題。目前的防碰撞算法主要有兩種=Aloha算法和二進制搜索算法。ALOHA算法是在閱讀器發(fā)現(xiàn)標簽碰撞時,命令其作用范圍內(nèi)的所有標簽隨機延遲一段時間后再進行響應(yīng)。延遲時間的長度是不確定的,一般以某種概率隨機選擇。最早的Aloha算法是美國夏威夷大學(xué)的研究人員在20世紀70年代提出來的,但是它的吞吐率低,當(dāng)標簽數(shù)量較多時,吞吐率僅能達到18. 4%。為了提高吞吐率,人們提出了的多種改進方法,例如分巾貞時隙Aloha算法,將傳輸時間劃分成了時隙,若干個時隙組成一巾貞,標簽選擇的隨機性延遲必須是幀內(nèi)的某個時隙;動態(tài)幀時隙Aloha算法,該算法能夠根據(jù)未識別的標簽數(shù)量動態(tài)調(diào)整時隙的數(shù)量(幀長)。二進制搜索算法中,閱讀器對標簽進行逐層分組,同時縮小響應(yīng)標簽的范圍,當(dāng)響應(yīng)標簽數(shù)量為I時,完成對該標簽的識別,然后令其沉默,再開始下一輪的逐層分組,直到成功識別范圍內(nèi)的所有標簽。二進制搜索算法雖然能夠最終能夠完成整個讀取的過程,但是算法的效率比較低。針對二進制搜索算法同樣有很多改進方法,例如二進制后退式索引算法,使算法保持后退式二進制樹形搜索算法的后退機理,實現(xiàn)標簽的有序讀取。這兩種算法雖然能解決標簽的沖突問題,但交互過程過多,且隨機性很強,當(dāng)標簽數(shù)量較多時,識別效率會嚴重下降。因此也有不少人提出標簽分組算法,例如一種基于Aloha的分組識別算法,該算法先利用循環(huán)過程來預(yù)識別所有的標簽,然后將所要識別的標簽進行分組,分組結(jié)束后再利用Aloha算法識別各組中的標簽。另外還有基于隨機分組的算法,結(jié)合Aloha和二進制搜索的算法?;贏loha和二進制樹的防碰撞方法目的都是縮小標簽響應(yīng)范圍,最終使得同一時刻只有一個標簽作出響應(yīng)從而避免碰撞。由于閱讀器和標簽之間需要多次通信從而延長了單標簽識別時間,降低了射頻識別系統(tǒng)的吞吐量。例如傳統(tǒng)的動態(tài)時隙Aloha算法和二進制搜索后退算法最大的標簽識別率分別低于42. 6%和50%。要進一步提高標簽的識別率需要有新的機制,根據(jù)曼徹斯特編碼可以判斷出標簽碰撞位的性質(zhì),有人提出一次識別兩個標簽的算法。但該方法的使用需要特定的情況,有一定局限性。
發(fā)明內(nèi)容
針對上述問題,本發(fā)明提出了一種基于標簽ID預(yù)處理的RFID防碰撞方法,該方法的思路在于構(gòu)建一個能發(fā)揮曼徹斯特編碼的特征的標簽識別環(huán)境。首先引入一種檢測信息碰撞的時隙選擇信息,對標簽數(shù)量進行估計,然后采用散列函數(shù)生成標簽臨時ID,接著通過標簽臨時ID來對標簽進行分組,每一組最多只有兩個臨時ID相差一位的標簽,通過曼徹斯特編碼的特征可以高效的識別標簽。本發(fā)明為解決其技術(shù)問題采用如下技術(shù)方案
一種基于標簽ID預(yù)處理的RFID防碰撞方法,包括如下步驟
(O閱讀器初始化標簽,閱讀器選擇一個I到256范圍的數(shù)作為幀長,然后請求所有標簽發(fā)送其完整編號,通過統(tǒng)計該幀內(nèi)的空時隙、碰撞時隙和成功識別的時隙數(shù)目,利用最小錯誤概率方法估算出標簽數(shù)量,接著用該標簽數(shù)量值計算出標簽需要的臨時ID位數(shù)K ;
(2)閱讀器發(fā)送標簽臨時ID位數(shù)K給所有標簽,標簽進行預(yù)處理;
(3標簽進行預(yù)處理完畢后,標簽根據(jù)臨時ID號進行分組,分組序列號為臨時ID號的最后K-1位;
(4)標簽分組序列號等于標簽發(fā)送的時隙號,不同分組的標簽在對應(yīng)的時隙發(fā)送,閱讀器判斷沖突情況,對碰撞標簽進行處理;若當(dāng)前時隙只有兩個臨時ID號不同的標簽,閱讀器識別兩個標簽;
(5)以閱讀器發(fā)送Query命令附加臨時ID位數(shù)K作為這一幀的開始,以最后一組標簽發(fā)送完畢作為這一幀的結(jié)束,這一幀共包含2K—1個時隙;在這一幀未識別的標簽,將在下一幀利用二進制后退式算法進行識別,識別的順序按照這一幀發(fā)送碰撞的標簽的時隙順序,直到標簽全部識別完畢。所述步驟(2)中標簽進行預(yù)處理的方法,包含以下步驟
(O閱讀器將估算的標簽數(shù)量值和請求命令一起發(fā)送給所有標簽;
(2)標簽根據(jù)標簽數(shù)量N計算臨時ID的位數(shù);
(3)標簽采用哈希方法對標簽EPC編碼進行預(yù)處理將標簽EPC編碼按照每K位為一個分組進行異或運算生成臨時ID ;
(4)標簽將臨時ID存儲于標簽寄存器中。所述步驟(3)中標簽根據(jù)臨時ID號進行分組的方法如下每個標簽以臨時ID的后K-1位數(shù)值作為其發(fā)送的時隙號,標簽收到閱讀器命令后,匹配當(dāng)前的時隙號和寄存器中的后K-1位數(shù),如果匹配相同,則該標簽在當(dāng)前時隙發(fā)送其臨時ID號,否則不發(fā)送信息,并設(shè)置為silence狀態(tài)。本發(fā)明的有益效果如下
本方法可以對大量標簽進行分組,同時對標簽進行排序,鎖定同組標簽的碰撞位位數(shù),以利用曼徹斯特編碼的性質(zhì)一次識別兩個標簽。本方法可以有效提高標簽的識別效率。
圖1為本方法的步驟流程圖。圖2為閱讀器和標簽的交互協(xié)議示意圖。
具體實施例方式 下面結(jié)合附圖對本發(fā)明創(chuàng)造做進一步詳細說明。本發(fā)明中定義時隙為從閱讀器發(fā)送Query命令請求開始,直到下一次閱讀器發(fā)送Query命令請求之前,其中包含了閱讀器和標簽的多次交互。每幀由自定義的多個時隙組成。本發(fā)明在標簽中使用一個8比特的寄存器,存儲標簽預(yù)處理之后的臨時編號;一個計數(shù)器,記錄標簽發(fā)送的次序。本發(fā)明通過標簽ID號進行分組,使得標簽ID號和時隙具有對應(yīng)關(guān)系。由于標簽EPC編碼長度很長,一般有64位,96位和256位,需要對應(yīng)很大的時隙數(shù)。為此本方法采用標簽預(yù)處理生成標簽臨時ID,接著通過標簽ID來對標簽進行分組。本方法步驟流程如圖1所示,閱讀器和標簽之間的交互信息如圖2所示,主要步驟分為標簽數(shù)目估計,標簽預(yù)處理,標簽信息發(fā)送以及碰撞標簽識別。1.閱讀器初始化,使所有標簽進入激活狀態(tài)。第一幀作為試探幀,閱讀器選擇一個估計幀長,一般選擇較大的數(shù),例如256。閱讀器向可讀取距離內(nèi)的所有標簽發(fā)送標簽預(yù)估命令-Estimate命令,標簽根據(jù)最大幀長的ALOHA算法發(fā)送各自EPC編碼,閱讀器統(tǒng)計碰撞時隙,空閑時隙和成功識別時隙個數(shù),利用概率知識估算標簽數(shù)量。估算標簽數(shù)量的方法有很多,本發(fā)明采用Bin ZHEN提出的DFSAZ算法,該算法是對低復(fù)雜度vogt估計的改進。估算標簽數(shù)量N=Cl+2. 39ck,其中C1是單標簽時隙數(shù)目,ck是多標簽沖突時隙數(shù)目。2.閱讀器根據(jù)估算的標簽數(shù)量N計算臨時ID位數(shù)K,然后將臨時ID位數(shù)K的值和請求命令Query —起發(fā)送給所有標簽,作為這一巾貞的開始。標簽臨時ID位數(shù)K的計算k=f Ioor (Iog2N)+1。這一幀的時隙數(shù)目L=2k'假設(shè)原標簽EPC編碼為64位,記為ID=I^b2…b64,將ID按照每K位為一個分組進行異或運算。則臨時標簽記為h (ID),計算如下
Ii(ID)=Ivbk bk+1...b2k ...... bpk+1...b6400...O,
其中p=floor (64/k),當(dāng)64/k不是整數(shù)時,則在后面補O。標簽將臨時ID存儲于寄存器中。假設(shè)估計的標簽數(shù)量為100,則 k=f Ioor (Iog2IOO)+1=7, p=f Ioor (64/k)=9,臨時標簽h(ID)=lv..b7 V..b14 …… V..b63 b640000000。如果估計得到的標簽數(shù)目為200,則臨時ID位數(shù)為K=8,時隙數(shù)為27=128。舉例說明,對于64位的標簽,將ID號按照每8位轉(zhuǎn)換成10進制形式,假設(shè)標簽的ID為[118,176,63, 240, 176,238,107,208],則經(jīng)過哈希運算后新的臨時標簽為h (ID) =118 176 63 240 176 238 107 208=236,二進制為 11101100,取后 7位 1101100作為分組號,也就是發(fā)送的時隙號,即該標簽將在第108時隙發(fā)送。3.標簽預(yù)處理完后,檢測當(dāng)前時隙號和標簽分組序列是否匹配,若匹配則標簽發(fā)送信息,其余不匹配的標簽設(shè)為silence狀態(tài)。下表為200個標簽的仿真情況(第I到20個時隙)
權(quán)利要求
1.一種基于標簽ID預(yù)處理的RFID防碰撞方法,其特征在于,包括如下步驟 (O閱讀器初始化標簽,閱讀器選擇一個I到256范圍的數(shù)作為幀長,然后請求所有標簽發(fā)送其完整編號,通過統(tǒng)計該幀內(nèi)的空時隙、碰撞時隙和成功識別的時隙數(shù)目,利用最小錯誤概率方法估算出標簽數(shù)量,接著用該標簽數(shù)量值計算出標簽需要的臨時ID位數(shù)K ; (2)閱讀器發(fā)送標簽臨時ID位數(shù)K給所有標簽,標簽進行預(yù)處理; (3標簽進行預(yù)處理完畢后,標簽根據(jù)臨時ID號進行分組,分組序列號為臨時ID號的最后K-1位; (4)標簽分組序列號等于標簽發(fā)送的時隙號,不同分組的標簽在對應(yīng)的時隙發(fā)送,閱讀器判斷沖突情況,對碰撞標簽進行處理;若當(dāng)前時隙只有兩個臨時ID號不同的標簽,閱讀器識別兩個標簽; (5)以閱讀器發(fā)送Query命令附加臨時ID位數(shù)K作為這一幀的開始,以最后一組標簽發(fā)送完畢作為這一幀的結(jié)束,這一幀共包含2K—1個時隙;在這一幀未識別的標簽,將在下一幀利用二進制后退式算法進行識別,識別的順序按照這一幀發(fā)送碰撞的標簽的時隙順序,直到標簽全部識別完畢。
2.根據(jù)權(quán)利要求1所述的基于標簽ID預(yù)處理的RFID防碰撞方法,其特征在于所述步驟(2)中標簽進行預(yù)處理的方法,包含以下步驟 (O閱讀器將估算的標簽數(shù)量值和請求命令一起發(fā)送給所有標簽; (2)標簽根據(jù)標簽數(shù)量N計算臨時ID的位數(shù); (3)標簽采用哈希方法對標簽EPC編碼進行預(yù)處理將標簽EPC編碼按照每K位為一個分組進行異或運算生成臨時ID ; (4)標簽將臨時ID存儲于標簽寄存器中。
3.根據(jù)權(quán)利要求1所述的基于標簽ID預(yù)處理的RFID防碰撞方法,其特征在于所述步驟(3)中標簽根據(jù)臨時ID號進行分組的方法如下每個標簽以臨時ID的后K-1位數(shù)值作為其發(fā)送的時隙號,標簽收到閱讀器命令后,匹配當(dāng)前的時隙號和寄存器中的后K-1位數(shù),如果匹配相同,則該標簽在當(dāng)前時隙發(fā)送其臨時ID號,否則不發(fā)送信息,并設(shè)置為silence狀態(tài)。
全文摘要
本發(fā)明提出了一種基于標簽ID預(yù)處理的RFID防碰撞方法,屬于物聯(lián)網(wǎng)中的RFID射頻識別領(lǐng)域。該方法引入一種檢測信息碰撞的時隙選擇信息,對標簽所選取時隙的碰撞情況進行分析并估計標簽數(shù)量;然后采用散列函數(shù)對標簽EPC編碼進行處理生成標簽的臨時ID,根據(jù)標簽的預(yù)處理信息可對標簽進行分組。通過標簽編碼的預(yù)處理可使得每個時隙發(fā)送的標簽的臨時ID最多只相差1位數(shù),利用曼徹斯特編碼的特性,在識別過程中,當(dāng)多標簽只有1個碰撞位時,閱讀器可以同時識別出兩個標簽,本發(fā)明有效利用曼徹斯特編碼的特性,大大的提高了系統(tǒng)的識別效率。
文檔編號G06K7/00GK103020568SQ20121057776
公開日2013年4月3日 申請日期2012年12月27日 優(yōu)先權(quán)日2012年12月27日
發(fā)明者李鋼, 鄭勇鑫, 秦中元, 吳劍, 辛柯俊 申請人:南京三寶科技股份有限公司