一種基于連續(xù)碰撞位映射的多標簽防碰撞方法
【專利摘要】本發(fā)明公開了一種基于連續(xù)碰撞位映射的多標簽防碰撞方法,該方法根據標簽響應序列中最高碰撞位和次高碰撞位是否連續(xù)來決定新的查詢前綴,且查詢前綴隨著碰撞發(fā)生的實際位置動態(tài)增長,在生成新前綴的同時,將待識別的標簽分為若干個子集,消除了傳統(tǒng)方法中出現的空閑時隙或空節(jié)點,同時加快了查詢速度,有效的減少了查詢次數,提高了查詢效率;并且標簽在響應讀寫器時,只需要發(fā)送其ID與查詢前綴不同的剩余部分,減少了信息的傳輸量,降低了系統(tǒng)能耗。
【專利說明】一種基于連續(xù)碰撞位映射的多標簽防碰撞方法
【技術領域】
[0001]本發(fā)明屬于無線通信領域中的射頻識別(RFID)多標簽識別技術,具體涉及一種基于連續(xù)碰撞位映射的多標簽防碰撞方法的設計。
【背景技術】
[0002]被動式超高頻識別UHF RFID系統(tǒng)(工作頻段為860MHz-960MHz)采用反向散射調制模式,工作于遠場輻射區(qū),具有讀寫距離遠(可以達到3-10米)、非可視、讀寫速度快、標簽無源等特點,使其廣泛用于倉儲物流、停車場管理、資產管理、貴重物品防盜等領域。被動式標簽屬于無源設備,采用遠端射頻供電,當標簽接受到讀寫器的查詢命令后會立即響應,發(fā)送自己的ID號或數據信息。UHF RFID系統(tǒng)讀寫器覆蓋范圍廣,系統(tǒng)內覆蓋的標簽數目很多,同時對標簽的讀寫要求很高,這樣使得UHF RFID系統(tǒng)的標簽碰撞問題較為突出。由于諸多因素的制約,防碰撞方法在標簽側的實現要盡可能簡單,特別是標簽數目較多的時候。如何實現高速率、高穩(wěn)定性的防碰撞方法是RFID系統(tǒng)研究的一個核心問題,也是大規(guī)模推廣RFID應用的一個先決條件。
[0003]標簽防碰撞方法可以分為概率性方法和確定性方法兩大類。概率性方法即ALOHA-based 算法,主要用于 IS018000-6A、IS018000-6C 以及 IS014443_3Type B 等國際標準中。ALOHA-based算法的基本特征是,讀寫器檢測標簽的響應并判斷是否發(fā)生碰撞,如果檢測到碰撞,讀寫器發(fā)送命令讓標簽停止發(fā)送數據,各個標簽隨機延遲一段時間再發(fā)送,由于延遲的隨機數不同,從而使再次發(fā)生碰撞的概率降低。如果沒有碰撞發(fā)生,讀寫器在完成對標簽識別后,發(fā)送一個應答信號給標簽,使標簽進入休眠狀態(tài),直到整個識別過程結束。ALOHA算法主要可以分為時隙ALOHA方法(SA),動態(tài)時隙ALOHA算法(DFSA)和增強型動態(tài)ALOHA算法(EDFSA)。Tree-based算法包括QT (查詢樹)、BS (二進制搜索算法)等。
[0004]BT算法的基本特征是,每個標簽內部都有一個計數器和一個隨機數發(fā)生器,生成O或I ;讀寫器發(fā)送一個起始命令使得其覆蓋域內的所有標簽計數器的值設為I。然后讀寫器發(fā)送一個觸發(fā)命令使得標簽計數器的值減I。當標簽計數器的值為0,標簽回復。若讀寫器檢測到有多個標簽回復時,則認為碰撞發(fā)生,此時發(fā)送分離命令,讓所有計數器為O的標簽隨機加上O或1,其余標簽計數器加I。此時,計數器為O的標簽立即回復,若沒有碰撞則讀寫器可以正確識別當前標簽,并使其他標簽的計數器值減I;若讀寫器沒有收到標簽回復,則發(fā)送指令使所有標簽計數器的值均減1,直到讀寫器收到標簽的返回信息為止。若標簽碰撞,讀寫器發(fā)送指令使碰撞標簽按照隨機數O或I進行分裂,其余標簽計數器值加I。循環(huán)上述過程,直到識別全部標簽。這種算法從本質上仍然帶有隨機性算法的特征,為了完成整個識別過程需要查詢的次數是隨機的。這個算法雖然最終能夠完成整個識別過程,但是算法效率比較低。
[0005]ALOHA-based算法以時隙為基礎對標簽進行分組識別,算法實現簡單,但是該算法存在兩個主要問題:一是,由于該算法的時隙是基于隨機分配的,即存在一定的可能性使得某一標簽在相當長的一段時間內無法識別,即“Tag starvation”(標簽饑餓)問題;二是,該類算法對標簽數量較為敏感,特別是當標簽數量非常多時,算法的性能急劇下降。Tree-based類算法不存在標簽饑餓問題,確保了標簽的完全識別,但是同時也增加了算法的復雜度。
【發(fā)明內容】
[0006]本發(fā)明的目的是為了解決現有技術中防標簽碰撞方法復雜度較高、效率低的問題而提出一種基于連續(xù)碰撞位映射的多標簽防碰撞方法。
[0007]本發(fā)明的技術方案是:一種基于連續(xù)碰撞位映射的多標簽防碰撞方法,具體包括:
[0008]步驟1:讀寫器從堆棧中讀取查詢前綴prefix,初始狀態(tài)時,查詢前綴為空串,發(fā)送查詢命令;
[0009]步驟2:讀寫器覆蓋范圍內的待識別標簽接收到讀寫器發(fā)送的查詢命令,利用自身的匹配電路將提取出的查詢前綴prefix與標簽自身的編號ID進行比較,若匹配,則響應讀寫器的查詢命令,并發(fā)送各自ID中除了與prefix相匹配部分之外的剩余部分;
[0010]步驟3:讀寫器接收標簽響應的查詢應答;如果在預設時間段T內沒有接收到標簽響應,則說明讀寫器覆蓋范圍內沒有待識別的標簽;如果接收到的響應沒有碰撞發(fā)生,則標簽識別成功;如果接收到的響應發(fā)生碰撞,則說明有多個標簽同時響應,跳轉到步驟4 ;
[0011]步驟4:讀寫器檢測標簽響應碰撞位,若最高位和次高位碰撞位為連續(xù)碰撞位,則跳轉到步驟5,若最高位碰撞位和次高位碰撞位為非連續(xù)碰撞位,則跳轉到步驟8 ;
[0012]步驟5 ;讀寫器發(fā)送自定義命令QueryP,讓標簽向讀寫器響應其最高位和次高位碰撞位的映射數據;
[0013]步驟6:標簽對自定義命令QueryP進行響應,并按照映射表發(fā)送其映射數據;
[0014]步驟7:讀寫器接收標簽響應的映射數據,根據映射數據,將最高碰撞位和次高碰撞位分別設置為00/01/10/11,并將它們置于查詢前綴prefix后產生新的查詢前綴,并將新的查詢前綴放入堆棧,等待后續(xù)查詢;
[0015]步驟8:設最高碰撞位為Dc,將碰撞位分別設置成0/1,并將它們置于查詢前綴prefix后生成兩個新的查詢前綴,并將新的查詢前綴放入堆棧,等待后續(xù)查詢;
[0016]步驟9:重復進行上述步驟,直到完成對所有標簽的識別。
[0017]進一步的,所述標簽的ID編碼采用曼徹斯特編碼方式。
[0018]本發(fā)明的有益效果:本發(fā)明基于連續(xù)碰撞位映射的多標簽防碰撞方法根據標簽響應序列中最高碰撞位和次高碰撞位是否連續(xù)來決定新的查詢前綴,且查詢前綴隨著碰撞發(fā)生的實際位置動態(tài)增長,在生成新前綴的同時,將待識別的標簽分為若干個子集,消除了傳統(tǒng)方法中出現的空閑時隙或空節(jié)點,同時加快了查詢速度,有效的減少了查詢次數,提高了查詢效率;并且標簽在響應讀寫器時,只需要發(fā)送其ID與查詢前綴不同的剩余部分,減少了信息的傳輸量,降低了系統(tǒng)能耗;由于方法直接針對碰撞進行處理,方法性能穩(wěn)定,與標簽ID的分布情況無關,所以本方法可以用于各種多標簽識別環(huán)境。
【專利附圖】
【附圖說明】
[0019]圖1是本發(fā)明方法的方法流程圖;[0020]圖2是標簽根據閱讀器發(fā)送命令作出響應的流程圖;
[0021]圖3是本發(fā)明方法中讀寫器采用的自定義命令QueryP與標簽的交互流程;
[0022]圖4是采用本發(fā)明方法完成五個標簽(10100111、10101110、10110100、10111101、10011111)識別的一個實例;
[0023]圖5是采用動態(tài)二進制搜索方法(DBSA)完成與圖3中相同五個標簽識別的例子;
[0024]圖6是本發(fā)明方法在識別速度上的優(yōu)勢曲線;
[0025]圖7是本發(fā)明方法在能量效率上的優(yōu)勢曲線。
【具體實施方式】
[0026]下面結合附圖和具體的實施例對本發(fā)明作進一步的闡述。
[0027]如圖1所示為本發(fā)明一種基于連續(xù)碰撞位映射的多標簽防碰撞方法的流程框圖,該方法具體包括:
[0028]步驟1:讀寫器從堆棧中讀取查詢前綴prefix,初始狀態(tài)時,查詢前綴為空串,發(fā)送查詢命令;
[0029]步驟2:讀寫器覆蓋范圍內的待識別標簽接收到讀寫器發(fā)送的查詢命令,利用自身的匹配電路將提取出的查詢前綴prefix與標簽自身的編號ID進行比較,若匹配,則響應讀寫器的查詢命令,并發(fā)送各自ID中除了與prefix相匹配部分之外的剩余部分;
[0030]步驟3:讀寫器接收標簽響應的查詢應答;如果在預設時間段T內沒有接收到標簽響應,則說明讀寫器覆蓋范圍內沒有待識別的標簽;如果接收到的響應沒有碰撞發(fā)生,則標簽識別成功;如果接收到的響應發(fā)生碰撞,則說明有多個標簽同時響應,跳轉到步驟4 ;
[0031]步驟4:讀寫器檢測標簽響應碰撞位,若最高位和次高位碰撞位為連續(xù)碰撞位,則跳轉到步驟5,若最高位碰撞位和次高位碰撞位為非連續(xù)碰撞位,則跳轉到步驟8 ;
[0032]步驟5 ;讀寫器發(fā)送自定義命令QueryP,讓標簽向讀寫器響應其最高位和次高位碰撞位的映射數據;
[0033]步驟6:標簽對自定義命令QueryP進行響應,并按照映射表發(fā)送其映射數據;
[0034]步驟7:讀寫器接收標簽響應的映射數據,根據映射數據,將最高碰撞位和次高碰撞位分別設置為00/01/10/11,并將它們置于查詢前綴prefix后產生新的查詢前綴,并將新的查詢前綴放入堆棧,等待后續(xù)查詢;
[0035]如果最高位和次高位碰撞位為連續(xù)碰撞位,那么讀寫器會根據接收到的映射數據的碰撞信息將標簽分為4組,或4組其中的某些組,其中標簽分別滿足DJV1=OO, DJV1=Ol,DcDc-1=IO, DcDc-1=ll°
[0036]步驟8:將最高碰撞位分別設置成0/1,并將它們置于查詢前綴prefix后生成兩個新的查詢前綴,并將新的查詢前綴放入堆棧,等待后續(xù)查詢;
[0037]如果最高位和次高位碰撞位為非連續(xù),那么發(fā)生碰撞的標簽會被讀寫器分為兩組,一組滿足Dc=O,另一組滿足Dc=I。
[0038]步驟9:重復進行上述步驟,直到完成對所有標簽的識別。
[0039]其中,所述步驟6中的映射數據表為:
[0040]表1-映射數據表
[0041]
【權利要求】
1.一種基于連續(xù)碰撞位映射的多標簽防碰撞方法,其特征在于,具體包括: 步驟1:讀寫器從堆棧中讀取查詢前綴prefix,初始狀態(tài)時,查詢前綴為空串,發(fā)送查詢命令; 步驟2:讀寫器覆蓋范圍內的待識別標簽接收到讀寫器發(fā)送的查詢命令,利用自身的匹配電路將提取出的查詢前綴prefix與標簽自身的編號ID進行比較,若匹配,則響應讀寫器的查詢命令,并發(fā)送各自ID中除了與prefix相匹配部分之外的剩余部分; 步驟3:讀寫器接收標簽響應的查詢應答;如果在預設時間段T內沒有接收到標簽響應,則說明讀寫器覆蓋范圍內沒有待識別的標簽;如果接收到的響應沒有碰撞發(fā)生,則標簽識別成功;如果接收到的響應發(fā)生碰撞,則說明有多個標簽同時響應,跳轉到步驟4 ; 步驟4:讀寫器檢測標簽響應碰撞位,若最高位和次高位碰撞位為連續(xù)碰撞位,則跳轉到步驟5,若最高位碰撞位和次高位碰撞位為非連續(xù)碰撞位,則跳轉到步驟8 ; 步驟5 ;讀寫器發(fā)送自定義命令QueryP,讓標簽向讀寫器響應其最高位和次高位碰撞位的映射數據; 步驟6:標簽對自定義命令QueryP進行響應,并按照映射表發(fā)送其映射數據; 步驟7:讀寫器接收標簽響應的映射數據,根據映射數據,將最高碰撞位和次高碰撞位分別設置為00/01/10/11,并將它們置于查詢前綴prefix后產生新的查詢前綴,并將新的查詢前綴放入堆棧,等待后續(xù)查詢; 步驟8:設最高碰撞位為Dc,將碰撞位分別設置成0/1,并將它們置于查詢前綴prefix后生成兩個新的查詢前綴,并將新的查詢前綴放入堆棧,等待后續(xù)查詢; 步驟9:重復進行上述步驟,直到完成對所有標簽的識別。
2.如權利要求1所述的一種基于連續(xù)碰撞位映射的多標簽防碰撞方法,其特征在于,所述標簽的ID編碼采用曼徹斯特編碼方式。
【文檔編號】G06K7/00GK103902941SQ201410033482
【公開日】2014年7月2日 申請日期:2014年1月23日 優(yōu)先權日:2014年1月23日
【發(fā)明者】蘇健, 文光俊, 李建 申請人:電子科技大學