專利名稱:一種結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于射頻識(shí)別技術(shù)領(lǐng)域,具體涉及一種射頻識(shí)別防碰撞算法,尤其涉及一種結(jié) 合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法。
背景技術(shù):
隨著RFID技術(shù)的日益成熟,電子標(biāo)簽將會(huì)在供應(yīng)鏈管理、資產(chǎn)管理、生產(chǎn)管理和安 全防偽等領(lǐng)域獲得廣泛的應(yīng)用。雖然RFID技術(shù)給許多領(lǐng)域帶來了極大的便利,但是RFID 技術(shù)在應(yīng)用中也存在一些問題。其中一個(gè)主要的問題是,在許多應(yīng)用要求讀寫器能夠高速 識(shí)別多個(gè)目標(biāo),如何改善讀寫器的防碰撞性能,提高讀寫器的識(shí)別速度已經(jīng)成為RFID技 術(shù)大規(guī)模推廣應(yīng)用的關(guān)鍵技術(shù)之一。所述電子標(biāo)簽碰撞是指當(dāng)讀寫器向工作場(chǎng)區(qū)內(nèi)的一批 電子標(biāo)簽發(fā)出査詢指令時(shí),兩個(gè)或兩個(gè)以上的電子標(biāo)簽可能同時(shí)響應(yīng)讀寫器的查詢,返回 信息,從而導(dǎo)致讀寫器不能正確識(shí)別任何一個(gè)電子標(biāo)簽的信息。隨著電子標(biāo)簽數(shù)量的增加, 發(fā)生電子標(biāo)簽碰撞的概率也會(huì)增加,讀寫器的閱讀效率將進(jìn)一步下降。目前在國(guó)內(nèi)、國(guó)際 上許多學(xué)者對(duì)防碰撞算法進(jìn)行了研究,以提高讀寫器的識(shí)別速度。已有的防碰撞算法大體 上可以分為兩類基于ALOHA的隨機(jī)型算法和基于二進(jìn)制樹的確定型算法。其中基于時(shí)隙 ALOHA的隨機(jī)型算法因?yàn)殚喿x速度快,得到較為廣泛的應(yīng)用。
時(shí)隙ALOHA算法采用時(shí)分復(fù)用(TDMA),分為Bit-Slot和ID-Slot兩類算法,分別 介紹如下。
Bit-Slot算法中,標(biāo)簽反饋和ID碼長(zhǎng)度也就是標(biāo)簽編碼長(zhǎng)度一樣的"獨(dú)1碼",其 中只有1-bit是1,其它bit全部是O(比如0010);假設(shè)4個(gè)標(biāo)簽反饋的"獨(dú)1碼"分別
是
1000; 1000; 0100; 0001
Bit-Slot算法假設(shè)讀寫器能探測(cè)出有2個(gè)標(biāo)簽都反饋1000,那么讀寫器不會(huì)發(fā)送
1000;而是先后發(fā)送0100和0001的"獨(dú)l碼"確認(rèn)指令;對(duì)應(yīng)的標(biāo)簽收到正確的"獨(dú) l碼"確認(rèn)指令,才會(huì)反饋?zhàn)约旱腎D碼。 Bit-Slot算法的缺點(diǎn)包括
1、算法假設(shè)讀寫器能探測(cè)出有2個(gè)或更多數(shù)量標(biāo)簽同時(shí)反饋完全相同的"獨(dú)l碼",
然而,實(shí)際上現(xiàn)有的讀寫器是無法探測(cè)有幾個(gè)標(biāo)簽反饋了相同的獨(dú)1碼,也無法 知道有幾個(gè)標(biāo)簽發(fā)生了碰撞,而此假設(shè)難以實(shí)現(xiàn)。
2、 幀長(zhǎng)(等于ID碼的長(zhǎng)度)不能動(dòng)態(tài)改變,從而降低RFID系統(tǒng)識(shí)別速度。
3、 "獨(dú)l碼"確認(rèn)指令比較長(zhǎng),降低了識(shí)別速度。
ID-Slot算法一般先根據(jù)上一幀中標(biāo)簽發(fā)生碰撞的次數(shù)(碰撞時(shí)隙)、成功識(shí)別電子 標(biāo)簽的次數(shù)(成功時(shí)隙)和電子標(biāo)簽沒有返回的次數(shù)(空時(shí)隙)來估計(jì)未被識(shí)別的電子標(biāo) 簽數(shù)量,然后據(jù)此選擇最優(yōu)的下一幀的長(zhǎng)度L。 ID-Slot算法的優(yōu)點(diǎn)在于讀寫器通過標(biāo) 簽估算方法來估計(jì)工作范圍內(nèi)的標(biāo)簽個(gè)數(shù),并據(jù)此實(shí)現(xiàn)對(duì)時(shí)隙個(gè)數(shù)L的動(dòng)態(tài)調(diào)度,從而可 以實(shí)現(xiàn)很高的識(shí)別效率。而ID-Slot算法的缺點(diǎn)是空時(shí)隙的開銷比較大,按照ALOHA算法
的工作原理,空時(shí)隙個(gè)數(shù)的理論估算值可以計(jì)算如下C。-丄x(1-其中C0為空時(shí)隙
個(gè)數(shù),L為上一幀的幀長(zhǎng),n為讀寫器工作場(chǎng)區(qū)內(nèi)的標(biāo)簽個(gè)數(shù)。而在實(shí)際應(yīng)用中,由于使 用環(huán)境的影響,空時(shí)隙的個(gè)數(shù)往往超過上述理論值,從而使得RFID系統(tǒng)多標(biāo)簽識(shí)別的效 率較低。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有Bit-Slot算法和ID-Slot算法的不足提出一種結(jié)合 Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法,通過Bit-Slot算法減少空時(shí)隙的開銷,通過 ID-Slot算法對(duì)幀長(zhǎng)進(jìn)行動(dòng)態(tài)調(diào)度,通過設(shè)置優(yōu)化的幀長(zhǎng)來減少多標(biāo)簽碰撞發(fā)生的幾率, 同時(shí)縮短讀寫器查詢指令的長(zhǎng)度,從而提高多標(biāo)簽識(shí)別速度。
本發(fā)明的目的是通過如下技術(shù)方案實(shí)現(xiàn)的
步驟一,讀寫器發(fā)送包含幀長(zhǎng)信息的Query指令,將幀的長(zhǎng)度(L,也就是時(shí)隙的個(gè) 數(shù))告知標(biāo)簽。
步驟二,每個(gè)標(biāo)簽從1 L中隨機(jī)選擇一個(gè)數(shù)字載入隙計(jì)數(shù)器(slot-courrter),然 后等待slot-counter個(gè)bit時(shí)間后,反饋1 bit的"1"(這里每個(gè)bit被作為一個(gè)微型 slot,因此這種slot被稱為bit-slot)。無數(shù)個(gè)標(biāo)簽發(fā)出的"1"組合成一串長(zhǎng)度為L(zhǎng)的 bit串。bit-slot為"1"的意味著至少有一個(gè)標(biāo)簽在此bit-slot反饋"l" ; bit位為"_" 意味著沒有任何標(biāo)簽選擇此bit-slot,
步驟三,讀寫器將收到一串長(zhǎng)度為L(zhǎng)的bit串,然后逐個(gè)檢查每個(gè)bit是否為"1", 統(tǒng)計(jì)"—"的數(shù)量c。,同時(shí)發(fā)送一串長(zhǎng)度L的bit串的確認(rèn)指令(Response—bit_slot), 告知標(biāo)簽空bit-slot的位置。
步驟四,標(biāo)簽根據(jù)收到的Response—bit—slot指令來調(diào)整自己的隙計(jì)數(shù)器 (slot-counter),從而避免下一步驟中空時(shí)隙的產(chǎn)生。
步驟五,讀寫器陸續(xù)發(fā)送L-c。個(gè)QueryR印指令(QueryR印指令長(zhǎng)度為4 bit)從而開
啟L-c。個(gè)時(shí)隙,標(biāo)簽在與自己的隙計(jì)數(shù)器(slot-counter)相對(duì)應(yīng)的時(shí)隙里反饋?zhàn)约旱?ID碼。讀寫器根據(jù)收到的ID碼判斷是否產(chǎn)生碰撞;如果此時(shí)隙發(fā)生碰撞,下一個(gè)QueryR印 指令中的ACK_collision=l;如果成功,則ACK_collision = 0;讀寫器一直在統(tǒng)計(jì)碰撞 時(shí)隙個(gè)數(shù)q、成功時(shí)隙個(gè)數(shù)q
步驟六,標(biāo)簽根據(jù)收到的QueryR印指令中的ACK—collision判斷自己是否被成功識(shí) 別。如果被識(shí)別,將會(huì)轉(zhuǎn)入靜默狀態(tài),從而避免被重復(fù)識(shí)別。
步驟七,如果^*0 (還有標(biāo)簽沒有被識(shí)別完畢),需要開啟下一幀繼續(xù)識(shí)別標(biāo)簽, 那么讀寫器根據(jù)c。、 Cl、 q的值估算未識(shí)別標(biāo)簽的數(shù)量n,再根據(jù)未識(shí)別標(biāo)簽的數(shù)量n計(jì)
算下一幀的幀長(zhǎng)L = mXn(m為1 5之間的整數(shù));然后重復(fù)步驟l一7,開啟下一幀?,F(xiàn) 有的標(biāo)簽數(shù)量估算算法有Lower Bound (" = 2xct) 、 Schoute (" = 2.39xcA) 、 Vogt等等;
本發(fā)明所述的調(diào)節(jié)幀長(zhǎng)度的方法,適用于上述所有的標(biāo)簽估計(jì)算法,本實(shí)施例中采用Lower Bound算法。
步驟八,經(jīng)過若干幀后如果&=0 (標(biāo)簽被識(shí)別完畢),那么識(shí)別過程結(jié)束。
本發(fā)明的優(yōu)勢(shì)在于結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法中使用了標(biāo)簽估 算方法,動(dòng)態(tài)調(diào)節(jié)使幀長(zhǎng)為未識(shí)別標(biāo)簽數(shù)量的m倍(m為1 5之間的整數(shù)),從而降低了碰 撞時(shí)隙的數(shù)量,并重新調(diào)整標(biāo)簽發(fā)送返回指令的時(shí)隙,消除了空時(shí)隙的影響,同時(shí)還使用 較短的QueryR印指令代替Bit-Slot中較長(zhǎng)的"獨(dú)1碼"確認(rèn)指令。QueryR印指令的長(zhǎng)度 僅為4 bit,而"獨(dú)1碼"指令長(zhǎng)度和標(biāo)簽的ID碼相同,通常長(zhǎng)于QueryR印的指令長(zhǎng)度。 因此采用本發(fā)明可以有效地提高多標(biāo)簽識(shí)別速度。
圖1為結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法的流程圖。
圖2為讀寫器發(fā)送指令示意圖。
圖3為標(biāo)簽選擇時(shí)隙返回確認(rèn)信息示意圖。
圖4為讀寫器發(fā)送Response—bit—slot指令告知標(biāo)簽空時(shí)隙位置示意圖。 圖5為標(biāo)簽根據(jù)Response—bit—slot指令調(diào)整自己的隙計(jì)數(shù)器(slot-counter)示意圖。
圖6為讀寫器開啟讀取標(biāo)簽時(shí)隙示意圖。
圖7為隙計(jì)數(shù)器(slot-counter)為0的標(biāo)簽反饋ID碼示意圖。 圖8為下一時(shí)隙隙計(jì)數(shù)器(slot-counter)為0的標(biāo)簽反饋ID碼示意圖。 圖9為讀寫器收到碰撞的ID代碼示意圖。 圖10為本發(fā)明算法與其他算法的仿真結(jié)果比較圖。
具體實(shí)施例方式
以下結(jié)合附圖具體描述本發(fā)明的實(shí)施方案。
圖1為結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法的流程圖,較佳實(shí)施例的算法 流程步驟如下
步驟一,讀寫器發(fā)送包含幀長(zhǎng)Z信息的Query指令,將幀的長(zhǎng)度Z(即,時(shí)隙的個(gè)數(shù)) 告知標(biāo)簽。
步驟二,每個(gè)標(biāo)簽從1 L中隨機(jī)選擇一個(gè)數(shù)字載入隙計(jì)數(shù)器(slot-counter),然 后等待slot-counter個(gè)bit時(shí)間后,反饋1 bit的信息。這里每個(gè)bit被作為一個(gè)微型 slot,因此這種slot被稱為bit-slot。所有標(biāo)簽返回的信息組合成一串長(zhǎng)度為L(zhǎng)的bit 串。Bit串中bit位為"1"意味著至少有一個(gè)標(biāo)簽在此bit-slot反饋"1" ; bit位為"_" 意味著沒有任何標(biāo)簽選擇此bit-slot。
步驟三,讀寫器將收到一串長(zhǎng)度為L(zhǎng)的bit串,然后逐個(gè)檢査每個(gè)bit是否為"1", 統(tǒng)計(jì)"—"的數(shù)量c。,同時(shí)發(fā)送一串長(zhǎng)度L的bit串的確認(rèn)指令(Response—bit_slot),
告知標(biāo)簽空bit-slot的位置。標(biāo)簽根據(jù)收到的Resp0nse_bit—slot指令來調(diào)整自己的隙 計(jì)數(shù)器(slot-counter),從而避免下一步驟中空時(shí)隙的產(chǎn)生。
讀寫器陸續(xù)發(fā)送L-c。個(gè)QueryR印指令(QueryR印指令長(zhǎng)度為4 bit)從而開啟Z-c。個(gè)
時(shí)隙,標(biāo)簽在與自己的隙計(jì)數(shù)器(slot-counter)相對(duì)應(yīng)的時(shí)隙里反饋?zhàn)约旱腎D碼。讀 寫器根據(jù)收到的ID碼判斷是否產(chǎn)生碰撞;如果此時(shí)隙發(fā)生碰撞,下一個(gè)QueryR印指令中 的ACK_collision=l;如果成功,則ACK—collision=0;讀寫器一直在統(tǒng)計(jì)碰撞時(shí)隙個(gè) 數(shù)q、成功時(shí)隙個(gè)數(shù)q
步驟四,標(biāo)簽根據(jù)收到的QueryR印指令中的ACK—collision判斷自己是否被成功識(shí) 別。如果被識(shí)別,將會(huì)轉(zhuǎn)入靜默狀態(tài),從而避免被重復(fù)識(shí)別。
步驟五,如果c^^0,表明還有標(biāo)簽沒有被識(shí)別完畢,需要開啟下一幀繼續(xù)識(shí)別標(biāo)簽,
那么讀寫器根據(jù)c。、 c,、 &的值估算未識(shí)別標(biāo)簽的數(shù)量n,再根據(jù)未識(shí)別標(biāo)簽的數(shù)量n計(jì) 算下一幀的幀長(zhǎng)L二mXn(m為1 5之間的整數(shù));然后重復(fù)步驟一至五,開啟下一幀。 步驟六,經(jīng)過若干幀后如果q二0,表明所有標(biāo)簽被識(shí)別完畢,那么識(shí)別過程結(jié)束。 本發(fā)明動(dòng)態(tài)調(diào)節(jié)幀長(zhǎng)L,將L的值設(shè)為未識(shí)別標(biāo)簽數(shù)量n的m倍,這樣將大大增加空 時(shí)隙的數(shù)量,因?yàn)槌R?guī)設(shè)置的幀長(zhǎng)L與未識(shí)別標(biāo)簽數(shù)量n相等,雖然空時(shí)隙空時(shí)隙數(shù)量增 加,同時(shí)碰撞發(fā)生的幾率也大大降低,再通過統(tǒng)計(jì)空時(shí)隙位置,使標(biāo)簽重新調(diào)整發(fā)送時(shí)隙,
就避免讀取空時(shí)隙帶來的時(shí)間開銷,有助于系統(tǒng)識(shí)別效率的提高。
上述步驟五中,估算未識(shí)別標(biāo)簽的數(shù)量n,現(xiàn)有的標(biāo)簽數(shù)量估算算法有Lower Bound ("=2xct) 、 Schoute (" = 2.39xct) 、 Vogt等等;本發(fā)明所述的調(diào)節(jié)幀長(zhǎng)度的方法,
適用于上述的標(biāo)簽估計(jì)算法以及其他的標(biāo)簽數(shù)量估算算法。
本發(fā)明結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法與現(xiàn)有的Bit-Slot算法的區(qū)別 在于
首先,標(biāo)簽返回的確認(rèn)指令不同;Bit-Slot算法中標(biāo)簽返回的"獨(dú)1碼"確認(rèn)指令 的長(zhǎng)度為L(zhǎng),每個(gè)標(biāo)簽都要返回一個(gè)長(zhǎng)度為L(zhǎng)的信息;而本發(fā)明每個(gè)標(biāo)簽返回的確認(rèn)指令 是一位的信息,所有標(biāo)簽的返回信息組合長(zhǎng)度為幀長(zhǎng)L,比Bit-Slot算法的返回信息短很 多,可以有效提高識(shí)別速度。
再有,Bit-Slot算法的幀長(zhǎng)L是不變的,這樣浪費(fèi)了比較多的系統(tǒng)資源,也不利于識(shí) 別效率的提高;本發(fā)明采用ID-SLOT算法中的幀長(zhǎng)L動(dòng)態(tài)調(diào)節(jié)方法,使幀長(zhǎng)遠(yuǎn)大于未識(shí)別 標(biāo)簽的數(shù)量,減小碰撞發(fā)生的幾率,再重新調(diào)整標(biāo)簽返回指令的時(shí)隙,將空的Bit-Slot 從時(shí)隙中去掉,提高標(biāo)簽識(shí)別效率。
本發(fā)明的改進(jìn)算法將Bit-Slot算法和ID-Slot算法的優(yōu)點(diǎn)結(jié)合起來,采用Bit slot 消除空時(shí)隙的時(shí)間開銷,利用ID-SLOT算法進(jìn)行L的動(dòng)態(tài)調(diào)度,充分發(fā)揮了二者的優(yōu)勢(shì), 有效提高識(shí)別效率和識(shí)別速度。
本發(fā)明算法的一個(gè)具體實(shí)施例如下,假設(shè)有6個(gè)標(biāo)簽,它們的ID碼長(zhǎng)度為5bit,
步驟一,讀寫器發(fā)送包含幀長(zhǎng)信息L的Query指令,假設(shè)初始幀長(zhǎng)設(shè)定為8,如圖2 讀寫器發(fā)送指令示意圖所示。
步驟二,每個(gè)標(biāo)簽從1 8中隨機(jī)選擇一個(gè)數(shù)字載入隙計(jì)數(shù)器(slot-counter),然 后等待slot-counter個(gè)bit時(shí)間后,反饋1 bit的信息。圖3為標(biāo)簽選擇時(shí)隙返回確認(rèn) 信息示意圖,圖3中加粗的"1"為標(biāo)簽的返回信息,圖3中的"—"表示標(biāo)簽在此時(shí)隙既 不反饋"1",也不反饋"0";如果第2個(gè)標(biāo)簽(ID碼1 1 1 1 O)選擇隙計(jì)數(shù)器(slot-counter) =2,那么它就反饋"—1______";依此類推。
步驟三,讀寫器統(tǒng)計(jì)bit位為"_"的數(shù)量c,4,同時(shí)發(fā)送一串長(zhǎng)度8的bit串的確
認(rèn)指令(Response_bit_slot),告知標(biāo)簽第1、 4、 5、 8個(gè)時(shí)隙為空,如圖4所示
步驟四,標(biāo)簽根據(jù)收到的Response—bit_slot指令來調(diào)整自己的隙計(jì)數(shù)器 (slot-counter),如圖5所示,從而避免下一步驟中空時(shí)隙的產(chǎn)生。例如第2個(gè)標(biāo)簽(ID
碼1 1 1 1 0)會(huì)將自己的隙計(jì)數(shù)器(slot-counter)從2調(diào)整為1,依此類推。
步驟五,讀寫器發(fā)送含有ACK_C0llision的QueryR印指令開啟第1個(gè)時(shí)隙。由于是
第一個(gè)時(shí)隙,因此ACK—collision=0,如圖6所示。
步驟六,所有標(biāo)簽收到QueryR印后隙計(jì)數(shù)器(slot-counter)減1,隙計(jì)數(shù)器 (slot-counter) =0的標(biāo)簽立即反饋?zhàn)约旱腎D,然后讀寫器根據(jù)收到的ID碼判斷是否 產(chǎn)生碰撞;如果ID碼發(fā)生碰撞,下一個(gè)QueryR印指令中的ACK_collision = l,并且將& 增l的;如果成功,KijACK_collision=0,則將c,增l。
圖7為隙計(jì)數(shù)器(slot-counter)為0的標(biāo)簽反饋ID碼示意圖,如圖7中所示,只 有第2個(gè)標(biāo)簽滿足隙計(jì)數(shù)器(slot-counter) =0,因此只有第2個(gè)標(biāo)簽反饋ID碼,然后 讀寫器將c,增l, ACK—collision=0
步驟七,讀寫器發(fā)送QueryR印(ACK—cOlliSion = 0)指令開啟下一個(gè)時(shí)隙,圖8為 下一時(shí)隙隙計(jì)數(shù)器(slot-counter)為0的標(biāo)簽反饋ID碼示意圖,在此時(shí)隙中,第3、 4 個(gè)標(biāo)簽的隙計(jì)數(shù)器(slot-counter)都為0,則第3、 4個(gè)標(biāo)簽同時(shí)反饋了 ID碼,同時(shí)第 2個(gè)標(biāo)簽轉(zhuǎn)入靜默狀態(tài)。
步驟八,圖9為讀寫器收到碰撞的ID代碼示意圖,如圖9所示,讀寫器收到碰撞的 ID碼,則ACK—collision=l,并且將^增1;讀寫器發(fā)送QueryR印(ACK_collision=l)
后,第3, 4個(gè)標(biāo)簽得知自己未被識(shí)別,等待下一幀再反饋信號(hào)。
步驟九,讀寫器發(fā)送完L一c,8 — 4二4個(gè)QueryR印后,第一幀結(jié)束,讀寫器根據(jù)^=4、
Cl=2、 c,^的值估算未識(shí)別標(biāo)簽的數(shù)量n,如果使用Lower Bound估算方法(認(rèn)為標(biāo)簽數(shù)
量碰撞時(shí)隙的2倍),那么n-2X&:4;那么當(dāng)iiF4時(shí)下一幀的長(zhǎng)度為L(zhǎng)二mXn二16。
此時(shí)設(shè)置的幀長(zhǎng)L遠(yuǎn)大于未識(shí)別的標(biāo)簽數(shù)量,目的是使碰撞發(fā)生的概率較小,雖然這 樣會(huì)使空時(shí)隙增多,但本算法會(huì)統(tǒng)計(jì)空的Bit-Slot的個(gè)數(shù),并使標(biāo)簽調(diào)整自己發(fā)送的隙 計(jì)數(shù)器(slot-counter),從而避免讀寫器讀取過程中空時(shí)隙的產(chǎn)生,通過這一方法有效 去除了空時(shí)隙帶來的影響。
步驟十,還有標(biāo)簽沒有被識(shí)別,讀寫器開啟下一幀,回到步驟一;所有6個(gè)標(biāo)簽均被 識(shí)別,則本次識(shí)別過程結(jié)束。
由于標(biāo)簽數(shù)量為6時(shí)不便于比較算法的優(yōu)劣,因此改變標(biāo)簽初始數(shù)量,取值為100, 200, 300, 400, 500, 600, 700, 800, 900, 1000重新開始識(shí)別過程,對(duì)于基于ALOHA的 Vogt算法以及本發(fā)明的Improved Bit-Slot算法的初始幀長(zhǎng)L均設(shè)為標(biāo)簽數(shù)量。
圖10為本發(fā)明算法與其他算法的仿真結(jié)果比較圖,將本發(fā)明所述的改進(jìn)算法與ID— Slot算法、Bit—Slot算法及二進(jìn)制數(shù)算法的標(biāo)簽識(shí)別仿真結(jié)果進(jìn)行比較,讀寫器到標(biāo)簽
的數(shù)據(jù)率為80kb/s,標(biāo)簽到讀寫器的數(shù)據(jù)率為60kb/s, m=4;指令頭和尾、以及鏈路時(shí) 序符合IS018000-6C協(xié)議的規(guī)定;ID碼為隨機(jī)生成的96 bit EPC碼;圖10中橫坐標(biāo)為標(biāo) 簽初始數(shù)量,縱坐標(biāo)為標(biāo)簽識(shí)別速度,單位個(gè)/秒;比較的算法有本發(fā)明的Improved Bit-Slot算法,ID—Slot算法、Bit—Slot算法、Binary Tree Walking算法和Query Tree 算法,其中Binary Tree Walking和Query Tree算法屬于二進(jìn)制數(shù)算法;圖10中的最上 面一條曲線使用了本發(fā)明的Improved Bit-Slot算法,從圖中通過比較可以發(fā)現(xiàn)本發(fā)明算 法的識(shí)別速度明顯優(yōu)于其它算法。
最后應(yīng)說明的是,以上實(shí)施例僅用以說明而非限制本發(fā)明所描述的技術(shù)方案;因此, 盡管本說明書參照上述的實(shí)施例對(duì)本發(fā)明己進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域的普通技術(shù) 人員應(yīng)當(dāng)理解,仍然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換;而一切不脫離本發(fā)明精神和范 圍的技術(shù)方案及其改進(jìn),均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1、一種結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法,其特征在于具體步驟如下步驟一,讀寫器發(fā)送包含幀長(zhǎng)信息的Query指令,將幀的長(zhǎng)度L告知標(biāo)簽;步驟二,每個(gè)標(biāo)簽從1~L中隨機(jī)選擇一個(gè)數(shù)字載入隙計(jì)數(shù)器,然后等待隙計(jì)數(shù)器個(gè)bit時(shí)間后,反饋1bit的信息,所有標(biāo)簽的返回信息組成一串長(zhǎng)度為L(zhǎng)的bit串,bit位為“1”的表示有一個(gè)標(biāo)簽在此bit-slot反饋“1”;bit位為“_”表示沒有任何標(biāo)簽選擇此bit-slot;步驟三,讀寫器將收到一串長(zhǎng)度為L(zhǎng)的bit串,然后逐個(gè)檢查每個(gè)bit是否為“1”,統(tǒng)計(jì)“_”的數(shù)量c0,同時(shí)發(fā)送一串長(zhǎng)度為L(zhǎng)的bit串確認(rèn)指令Response_bit_slot,告知標(biāo)簽空bit-slot的位置;標(biāo)簽根據(jù)收到的Response_bit_slot指令來調(diào)整自己的隙計(jì)數(shù)器,從而避免下一步驟中空時(shí)隙的產(chǎn)生;所述讀寫器發(fā)送L-c0個(gè)QueryRep指令,從而開啟L-c0個(gè)時(shí)隙,標(biāo)簽在與自己的隙計(jì)數(shù)器(slot-counter)相對(duì)應(yīng)的時(shí)隙里反饋?zhàn)约旱腎D碼,讀寫器根據(jù)收到的ID碼判斷是否產(chǎn)生碰撞;如果此時(shí)隙發(fā)生碰撞,讀寫器發(fā)送的下一個(gè)QueryRep指令中的ACK_collision=1;如果成功,則ACK_collision=0;讀寫器一直統(tǒng)計(jì)碰撞時(shí)隙個(gè)數(shù)ck、成功時(shí)隙個(gè)數(shù)c1;步驟四,標(biāo)簽根據(jù)收到的QueryRep指令中的ACK_collision判斷自己是否被成功識(shí)別;如果被識(shí)別,將會(huì)轉(zhuǎn)入靜默狀態(tài),從而避免被重復(fù)識(shí)別;步驟五,如果ck≠0,即還有標(biāo)簽沒有被識(shí)別完畢,需要開啟下一幀繼續(xù)識(shí)別標(biāo)簽,那么讀寫器根據(jù)c0、c1、ck的值估算未識(shí)別標(biāo)簽的數(shù)量n,再根據(jù)未識(shí)別標(biāo)簽的數(shù)量n計(jì)算下一幀的幀長(zhǎng)L=m×n,m為1~5之間的整數(shù);然后開啟下一幀,重復(fù)步驟一至五;步驟六,如果ck=0,即所有標(biāo)簽被識(shí)別完畢,那么識(shí)別過程結(jié)束。
2、 根據(jù)權(quán)利要求l所述的結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法,其特征在 于所述步驟五中估算未識(shí)別標(biāo)簽的數(shù)量n的算法有Lower Bound算法,"=2x4;Schoute算法,w = 2.39xcfc;Vogt算法。
全文摘要
本發(fā)明屬于射頻識(shí)別技術(shù)領(lǐng)域,具體為一種結(jié)合Bit-Slot和ID-Slot的隨機(jī)型防碰撞算法。首先,標(biāo)簽隨機(jī)選擇一個(gè)slot反饋1位確認(rèn)指令,所有標(biāo)簽的返回信息組成一串長(zhǎng)度為L(zhǎng)的bit串,讀寫器在消除空時(shí)隙后發(fā)送L-c<sub>0</sub>個(gè)QueryRep指令,標(biāo)簽在與時(shí)隙計(jì)數(shù)器相對(duì)應(yīng)的時(shí)隙里反饋?zhàn)约旱腎D碼,讀寫器根據(jù)收到的ID碼判斷是否產(chǎn)生碰撞;讀寫器識(shí)別標(biāo)簽并統(tǒng)計(jì)碰撞時(shí)隙個(gè)數(shù)、成功時(shí)隙個(gè)數(shù);如果標(biāo)簽沒有被識(shí)別完畢,讀寫器再開啟下一幀繼續(xù)識(shí)別標(biāo)簽,直到所有標(biāo)簽被識(shí)別完畢。本發(fā)明采用Bit-slot的方法降低空時(shí)隙的時(shí)間開銷,同時(shí)使用較短的QueryRep指令代替Bit-Slot中較長(zhǎng)的“獨(dú)1碼”確認(rèn)指令,可以有效地提高多標(biāo)簽識(shí)別速度。
文檔編號(hào)G06K7/00GK101183422SQ20071017261
公開日2008年5月21日 申請(qǐng)日期2007年12月20日 優(yōu)先權(quán)日2007年12月20日
發(fā)明者丹 劉, 周曉方, 王中祥, 王俊宇, 昊 閔 申請(qǐng)人:復(fù)旦大學(xué)