專利名稱:一種基于時隙隨機的射頻識別過程的幀長度選擇方法
技術(shù)領(lǐng)域:
本發(fā)明屬于射頻識別技術(shù)領(lǐng)域,具體涉及一種射頻識別中幀長度的選擇方法,尤其涉及 一種基于時隙隨機(aloha)的提高識別速度的幀長度的選擇方法,。
背景技術(shù):
隨著rfid9 (射頻標簽識別)技術(shù)的日益成熟,電子標簽將會在供應(yīng)鏈管理、資產(chǎn)管理、 生產(chǎn)管理和安全防偽等領(lǐng)域獲得廣泛的應(yīng)用。雖然rfid技術(shù)給許多領(lǐng)域帶來了極大的便利, 但是rfid技術(shù)在應(yīng)用中也存在一些問題。其中一個主要的問題是,在許多應(yīng)用要求讀寫器能 夠高速識別多個目標,如何改善讀寫器的防碰撞性能,提高讀寫器的識別速度己經(jīng)成為rfid 技術(shù)大規(guī)模推廣應(yīng)用的關(guān)鍵技術(shù)之一。所述電子標簽碰撞是指當讀寫器向工作場區(qū)內(nèi)的一批 電子標簽發(fā)出査詢指令時,兩個或兩個以上的電子標簽可能同時響應(yīng)讀寫器的查詢,返回信 息,從而導(dǎo)致讀寫器不能正確識別任何一個電子標簽的信息。隨著電子標簽數(shù)量的增加,發(fā) 生電子標簽碰撞的概率也會增加,讀寫器的閱讀效率將進一步下降。目前在國內(nèi)、國際上許 多學者對防碰撞算法進行了研究,以提高讀寫器的識別速度。已有的防碰撞算法大體上可以 分為兩類基于aloha的隨機型算法和基于二進制樹的確定型算法。其中基于時隙aloha的 隨機型算法因為閱讀速度快,得到較為廣泛的應(yīng)用。時隙aloha算法采用時分復(fù)用(tdma), 一般先根據(jù)上一幀中標簽發(fā)生碰撞的次數(shù)(碰撞時隙)、成功識別電子標簽的次數(shù)(成功時 隙)和電子標簽沒有返回的次數(shù)(空時隙)來估計未被識別的電子標簽數(shù)量,然后據(jù)此選擇 最優(yōu)的下一幀的長度(時隙的個數(shù)),則可以有效地提高讀寫器的識別速度。由于目前的幀 長度選擇理論假設(shè)每個時隙等長,即空時隙的長度/。,成功時隙的長度/,,碰撞時隙的長度4均
相等,系統(tǒng)效率7為成功時隙花費的時間占所有時隙花費的時間的比例,也等于成功時隙的數(shù) 量q占總時隙的數(shù)量
_ci "i_=_5_= £l (1)
其中7為系統(tǒng)效率,cQ、 Cl、 q分別表示空時隙、成功時隙、碰撞時隙的數(shù)量,/。、 /,、
/4分別表示空時隙、成功時隙、碰撞時隙的長度。
幀長太長會使得空時隙過多,浪費時間,系統(tǒng)效率低下,幀長太短會使得碰撞時隙過多, 因而需要更多的幀來完成識別過程,同樣浪費時間,系統(tǒng)效率低下,因此一定存在一個最優(yōu)
的幀長,使得系統(tǒng)效率取得最大值;可以通過解如下導(dǎo)數(shù)方程求出系統(tǒng)效率取最大值的條件:
求解得到的結(jié)論是,最優(yōu)的幀長度丄等于未識別標簽的數(shù)量/7,即
" (3) 這個幀長選擇方法基于時隙長度相等的假設(shè);但是,時隙的長度其實是不同的,比如在 IS018000—6C協(xié)議中,碰撞時隙長度/,一般大于比空時隙長度/。;所以如果不將時隙長度的
差別考慮進去,選擇的幀長過長或過短都會使系統(tǒng)的效率降低,只有合理的選擇幀長,才能 使識別過程的空間隙和碰撞間隙都減少,系統(tǒng)效率才能達到最優(yōu)。
將時隙長度的不同考慮進去,就可以選擇出更加合理的幀的長度,從而提高識別速度。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有幀長選擇方法的不足,提出一種標簽識別過程中考慮了時隙長 度不同的幀長度選擇方法。該方法通過合理設(shè)置時隙不等長因子,使基于時隙ALOHA的射頻 識別讀寫器為下一幀選擇更加合理的幀長,減少標簽碰撞發(fā)生的幾率,從而提高識別速度。
本發(fā)明的目的是通過如下技術(shù)方案實現(xiàn)的-
一種基于時隙ALOHA的射頻識別過程的幀長度選擇方法,包括
步驟一,設(shè)置Q值,發(fā)送Query指令,將空時隙數(shù)量c。、成功時隙數(shù)量c,、碰撞時隙數(shù) 量c^初始值均設(shè)為0,計數(shù)器counter設(shè)為1;
步驟二,讀寫器等待Ti時間,看是否收到RN16,如果沒有收到RN16,進入空流程,并 將空時隙數(shù)量c。加l;如果收到RN16,再判斷是否發(fā)生碰撞;若發(fā)生碰撞,則進入碰撞流程, 并將碰撞時隙數(shù)量c,加l;若沒有碰撞,則進入成功識別流程,并將成功時隙數(shù)量q加l;這 里,RN16為16比特隨機數(shù);
步驟三,數(shù)據(jù)識別后,再判斷計數(shù)器counter是否等于26 ;如果不等于,則發(fā)送QueryR印, 開啟新的一幀,計數(shù)器counter加1;如果等于,再判斷碰撞時隙數(shù)量q是否等于0,如果q 不等于零,則根據(jù)c。、 Cl、 q的值估算未識別標簽的數(shù)量n,再根據(jù)未識別標簽的數(shù)量n和 時隙不等長因子a計算新的Q值,
0 =四舍五入(10§2丄)=四舍五入(log22)其中,"=/aw6er加[e—1 (丄_ l)] +1
其中,/0) = to"6ertw(x)是/0) = xe'的反函數(shù);
然后返回步驟一進行下一輪識別過程;如果^=0,則程序結(jié)束。
所述空流程包括,在T1時間后再等待T3時間長度,并將空時隙數(shù)量C。加1;所述碰撞 流程包括,在收到?jīng)_突的RN16數(shù)據(jù)后再等待T2時間長度,并將碰撞時隙數(shù)量^加1;所述 成功識別流程包括,在收到唯一的RN16數(shù)據(jù)后再等待T2時間長度,并將成功時隙數(shù)量q加 1,然后讀寫器發(fā)送ACK (確認)指令,等待標簽返回EPC碼。上述方法中,涉及的等待時間 Tl、 T2、 T3的長度與數(shù)據(jù)傳輸速率等有關(guān),有關(guān)文獻有具體描述。
本發(fā)明還涉及一種射頻標簽識別過程的幀長度計算方法,包括在第n幀數(shù)據(jù)的識別結(jié) 束后,獲得該幀數(shù)據(jù)中的空時隙數(shù)量c。、成功時隙數(shù)量c,、碰撞時隙數(shù)量q,根據(jù)q、 c,、 c4
的值估算未識別標簽的數(shù)量n,還包括,時隙不等長因子"
fl = /畫6emv[e-' (i _ l)] +1 々
其中,/。是空時隙的長度,/4是碰撞時隙的長度;/W""m^Mx)是/W" 的反函數(shù); 貝U,識別第n+l幀數(shù)據(jù)時的幀長Z為 丄2
再得到幀長因子Q為-
2 =四舍五入(1(^2丄)=四舍五入(l0g2^)。
本發(fā)明的優(yōu)勢在于在基于時隙ALOHA的防碰撞算法中的已有的幀長(時隙的個數(shù)) 選擇方法中考慮了時隙的長度,形成新的幀長選擇方法,它使得讀寫器能夠選擇更加合理的 幀長,提高標簽識別速度。
圖1為IS018000 — 6C協(xié)議中碰撞時隙長度4示意圖。 圖2為IS018000 — 6C協(xié)議中空時隙長度/。示意圖。
圖3為標簽識別流程圖。 圖4為實施例1的仿真結(jié)果圖。
具體實施例方式
以下結(jié)合附圖具體描述本發(fā)明的實施方案。
發(fā)生碰撞的標簽識別過程包括碰撞時隙和空時隙,在碰撞時隙中,當標簽收到讀寫器發(fā) 送的QueryR印指令后,會等待長度為Tl的信號處理時間,然后反饋RN16,讀寫器在收到?jīng)_ 突的RN16后,等待T2的信號處理時間,再發(fā)送下一條指令開啟下一個時隙。在空時隙中, 讀寫器在等待Tl后發(fā)現(xiàn)沒有標簽反饋信號,在發(fā)送下一條指令前,讀寫器將再等待長度為 T3的時間。圖1為IS018000—6C協(xié)議中碰撞時隙長度/,示意圖,如圖所示,碰撞時隙由
QueryR印指令,Tl、 T2、 RN16組成,圖2為IS018000—6C協(xié)議中空時隙長度/。示意圖,空 時隙由QueryR印指令,Tl, T3組成,碰撞時隙一般比空時隙長。由于上述時隙不相等的存 在,所以有必要改進現(xiàn)有技術(shù)中基于時隙等長假設(shè)的幀長選擇方法。
系統(tǒng)效率;/應(yīng)當是成功時隙所花費的時間與所有時隙花費的總時間之比,考慮了時隙不 等長的所有時隙花費的總時間是成功時隙、碰撞時隙、空時隙花費的時間之和??紤]了時隙 不等長系統(tǒng)效率;;的計算公式表示為-
7 =——
c0 x /0 + a x + q x /A
通過解如下導(dǎo)數(shù)方程得出系統(tǒng)效率取最大值時的條件:
(4)
=0
(5)
解方程得
Z Wn(:tl)丄—1 丄一l
/awter [—丄 — 1). e 、 . ln(")] +丄 ln(^")
(6)
其中,丄為幀長,/J為未識別標簽的數(shù)」 將(6)式簡化、變形,得到
丄=
其中,a為時隙不等長因子,
(7)
a = /a附6er/w[e—1 (丄—1)] +1
其中,/W =/鵬6erfw(X)是/W-M'的反函數(shù)。 由Z得到而是幀長因子Q,
2 =四舍五入(log2i)
(8)
艮P, 。=四舍五入(10&2) (9)
a
使用時隙不等長因子來調(diào)節(jié)幀長的標簽識別流程如圖3所示,首先進行初始化,設(shè)置初 始的Q值,發(fā)送Query指令,將空時隙數(shù)量c。、成功時隙數(shù)量c,、碰撞時隙數(shù)量c^初始值均 設(shè)為0,計數(shù)器counter設(shè)為1;
然后開始數(shù)據(jù)識別過程,讀寫器等待T1時間,看是否收到認16,如果沒有收到,進入 空流程,并將空時隙數(shù)量c。加1;如果收到標簽返回的信息,再判斷是否發(fā)生碰撞,發(fā)生碰
撞,則進入碰撞流程,并將碰撞時隙數(shù)量q加1;沒有碰撞,則進入成功識別流程,并將成 功時隙數(shù)量q加1;
數(shù)據(jù)識別后,再判斷計數(shù)器counter是否等于22,如果不等于,則發(fā)送QueryR印,開啟 新的一幀,計數(shù)器counter加l,返回再等待下一幀數(shù)據(jù);如果等于,再判斷碰撞時隙數(shù)量c^ 是否等于0,如果q不等于零,則根據(jù)c。、 a、 c,的值估算未識別標簽的數(shù)量n,再根據(jù)未識 別標簽的數(shù)量n和時隙不等長因子"計算新的Q值,返回進行下一輪識別過程;如果^=0 則,程序結(jié)束。
空流程包括,在T1時間后再等待T3時間長度,并將空時隙數(shù)量c。加l。碰撞流程包括, 在收到?jīng)_突的RN16數(shù)據(jù)后再等待T2時間長度,并將碰撞時隙數(shù)量q加1。成功識別流程包 括,在收到唯一的RN16數(shù)據(jù)后再等待T2時間長度,并將成功時隙數(shù)量q加1,然后讀寫器 發(fā)送ACK指令,等待標簽返回EPC碼。
初始化后,讀寫器發(fā)送包含Q值的Query指令開啟新的一幀,Q的初始值要人為設(shè)定(幀 長二22,Q是幀長因子,含有幀長信息,是整數(shù))。每個時隙是由讀寫器發(fā)送的Query/QueryR印 開始的,所有的電子標簽接收到Query后,各自從0 2e-1中隨機選擇一個數(shù)并放入時隙計 數(shù)器(slot counter);標簽每收到一個QueryR印就會將時隙計數(shù)器(slot counter)中的 計數(shù)值減l;計數(shù)值為0的電子標簽響應(yīng)讀寫器的請求,向讀寫器返回一串16比特的隨機數(shù) 據(jù)RN16。也就是,標簽在22個時隙中隨機選擇一個時隙發(fā)送RN16。這種方法和同時發(fā)送RN16 的方法相比,能防止標簽反饋信號之間的碰撞。
讀寫器接收到RN16后,發(fā)送確認指令(ACK) , ACK指令中應(yīng)該包含讀寫器接收到的RN16。 電子標簽接收到ACK指令后,檢査指令中的RN16是否與之前發(fā)送的隨機數(shù)相同,如果相同則 響應(yīng)讀寫器的査詢請求,在協(xié)議規(guī)定的時間Tlmax內(nèi)向讀寫器反饋自己的EPC碼;否則不返 回任何信息。在一幀中,讀寫器除了發(fā)送1個Query指令,還要發(fā)送22-l個Q此ryR印,表 示共有22個時隙。
一幀結(jié)束,讀寫器根據(jù)這一幀,即剛剛結(jié)束的幀,的碰撞時隙數(shù)量、成功時隙數(shù)量、空 時隙數(shù)量來估算未識別標簽的數(shù)量n?,F(xiàn)有的標簽數(shù)量估算算法有Lower Bound (" = 2xq)、
Schoute (" = 2.39xCyl) 、 Vogt等等;本發(fā)明所述的調(diào)節(jié)幀長度的方法,適用于上述所有的
標簽估計算法,本實施例中采用Lower Bound算法。
讀寫器根據(jù)空時隙的長度/,、碰撞時隙的長度/。、未識別標簽數(shù)量4,和未識別標簽的數(shù) 量n,利用公式(8)和(9)計算出下一幀的Q值。
每一幀會識別一部分標簽,但是還有未被識別的標簽,因此需要開啟下一幀繼續(xù)識別, 因此讀寫器繼續(xù)發(fā)送包含Q值的Query指令。經(jīng)過若干個幀,所有的標簽都會被識別,即碰 撞時隙數(shù)量c,等于0時,識別過程結(jié)束。
具體實施例及仿真結(jié)果如下
假設(shè)有100個標簽,它們都遵循IS018000 — 6C協(xié)議;假設(shè)讀寫器到標簽(R=>T)鏈路的 Tari=12.5fe,標簽到讀寫器(T=〉R)鏈路的數(shù)據(jù)速率為60bps,那么可以計算出空時隙的長 度212^s,碰撞時隙的長度662化。
空時隙的長度和碰撞時隙的長度在識別過程是固定值,這兩個數(shù)據(jù)由讀寫器和標簽之間 通信的數(shù)據(jù)率決定,因此只需要在標簽識別之前計算一次。
讀寫器發(fā)送包含初始Q^的Query指令開啟第1幀(22=匚Q是整數(shù),因此Q是幀長因
子,含有幀長信息)。0二7表示這一幀有27 =128個時隙,每個時隙是由讀寫器發(fā)送的 Query/QueryR印開始的,所有的電子標簽接收到Query后,各自從0 127中隨機選擇一個 數(shù)并放入時隙計數(shù)器(slot counter);標簽每收到一個QueryR印就會將時隙計數(shù)器(slot counter)中的計數(shù)值減1;計數(shù)值為0的電子標簽響應(yīng)讀寫器的請求,向讀寫器返回RN16
(一串16比特的隨機數(shù));讀寫器接收到RN16后,發(fā)送ACK (確認)指令,ACK指令中應(yīng)該 包含讀寫器接收到的RN16。電子標簽接收到ACK指令后,檢査指令中的RN16是否與之前發(fā) 送的隨機數(shù)相同,如果相同則響應(yīng)讀寫器的査詢請求,在協(xié)議規(guī)定的時間(Tlmax)內(nèi)向讀寫 器反饋自己的EPC碼。否則不返回任何信息。在一幀中,讀寫器除了發(fā)送l個Query指令, 還要發(fā)送127個QueryR印,表示共有128個時隙。
簡而言之,100個標簽在128個時隙中隨機選擇一個時隙發(fā)送RN16。
第l幀結(jié)束后假設(shè)結(jié)果是21個碰撞時隙,55個空時隙,52個成功時隙。由于標簽選 擇的隨機性,結(jié)果也會有一定的不確定性,所以使用了 "假設(shè)"這2個字。
讀寫器使用Lower Bound算法("=2xq),估算出還有42個未識別標簽。
需要說明的是,本專利可以采用任何一種標簽估算方法來得到未識別標簽的數(shù)量,并不 受標簽估算方法的限制。
讀寫器根據(jù)空時隙的長度212fe,碰撞時隙的長度642fc計算出時隙不等長因子『0. 642; 估算未識別標簽數(shù)量『42個,利用公式(9)計算出第2幀的Q值
0 =四舍五入(1(^2^) = 6
a
讀寫器發(fā)送包含Q=6的Query指令開啟第2幀繼續(xù)識別剩余的(未被識別的)標簽。第 2幀將包含64個時隙。
這樣經(jīng)過若干個幀后,未識別的標簽越來越少,最終所有的100個標簽都會被識別。
圖4為實施例一的仿真結(jié)果,標簽初始數(shù)量為100個時,識別100個標簽花費0. 410秒, 識別速度為246個/s,對應(yīng)于圖4中的實線的左邊第一個三角形。
改變標簽初始數(shù)量,取值為200, 300, 400, 500, 600, 700, 800, 900, 1000重新開始 識別過程,初始Q值均取7。
圖4中的三角線表示使用了本專利方法的識別速度曲線;圓圈線代表使用現(xiàn)有技術(shù)的時 隙等長假設(shè)下的識別速度;標簽數(shù)量估算都使用Lower Bound算法,通過比較可以發(fā)現(xiàn)基于 本專利時隙不等長假設(shè),并使用時隙不等長因子設(shè)置幀長的識別結(jié)果明顯優(yōu)于現(xiàn)有技術(shù)的識 別結(jié)果。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳 實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解,可以對本發(fā)明的技術(shù)方 案進行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的 權(quán)利要求范圍當中。
權(quán)利要求
1、一種基于時隙ALOHA的射頻識別過程的幀長度選擇方法,其特征在于包括步驟一,設(shè)置Q值,發(fā)送Query指令,將空時隙數(shù)量c0、成功時隙數(shù)量c1、碰撞時隙數(shù)量ck初始值均設(shè)為0,計數(shù)器counter設(shè)為1;步驟二,讀寫器等待T1時間,看是否收到RN16,如果沒有收到RN16,進入空流程,并將空時隙數(shù)量c0加1;如果收到RN16,再判斷是否發(fā)生碰撞,發(fā)生碰撞,則進入碰撞流程,并將碰撞時隙數(shù)量ck加1;沒有碰撞,則進入成功識別流程,并將成功時隙數(shù)量c1加1;步驟三,數(shù)據(jù)識別后,再判斷計數(shù)器counter是否等于2Q,如果不等于,則發(fā)送QueryRep,開啟新的一幀,計數(shù)器counter加1;如果等于,再判斷碰撞時隙數(shù)量ck是否等于0,如果ck不等于零,則根據(jù)c0、c1、ck的值估算未識別標簽的數(shù)量n,再根據(jù)未識別標簽的數(shù)量n和時隙不等長因子a計算新的幀長因子Q的值,其中,<math-cwu><![CDATA[<math> <mrow><mi>a</mi><mo>=</mo><mi>lambertw</mi><mo>[</mo><msup> <mi>e</mi> <mrow><mo>-</mo><mn>1</mn> </mrow></msup><mrow> <mo>(</mo> <mfrac><msub> <mi>l</mi> <mn>0</mn></msub><msub> <mi>l</mi> <mi>k</mi></msub> </mfrac> <mo>-</mo> <mn>1</mn> <mo>)</mo></mrow><mo>]</mo><mo>+</mo><mn>1</mn> </mrow></math>]]></math-cwu><!--img id="icf0002" file="S2007101707823C00012.gif" wi="196" he="42" img-content="drawing" img-format="tif"/-->其中,f(x)=lambertw(x)是f(x)=xex的反函數(shù);L=n/a,l0為空時隙的長度,lk為碰撞時隙的長度;然后返回步驟一進行下一輪識別過程;如果ck=0則,程序結(jié)束。
2、 根據(jù)權(quán)利要求1所述的幀長度選擇方法,其特征在于,所述空流程包括,在T1時間 后再等待T3時間長度,并將空時隙數(shù)量c。加1;所述碰撞流程包括,在收到?jīng)_突的RN16數(shù)據(jù)后再等待T2時間長度,并將碰撞時隙數(shù)量q加1;所述成功識別流程包括,在收到唯一的RN16數(shù)據(jù)后再等待T2時間長度,并將成功時隙數(shù)量c,加1,然后讀寫器發(fā)送確認指令,等待標簽返回EPC碼。3、 一種射頻標簽識別過程的幀長度計算方法,包括在第n幀數(shù)據(jù)的識別結(jié)束后,獲得 該幀數(shù)據(jù)中的空時隙數(shù)量c。、成功時隙數(shù)量q、碰撞時隙數(shù)量q,根據(jù)c。、 q、 q的值估算 未識別標簽的數(shù)量n,其特征在于,還包括,時隙不等長因子a-<formula>formula see original document page 2</formula>其中,/。是空時隙的長度,^是碰撞時隙的長度<formula>formula see original document page 3</formula>反函數(shù); 則,識別第n+1幀數(shù)據(jù)時的幀長Z為再得到幀長因子Q為2 =四舍五入<formula>formula see original document page 3</formula>
全文摘要
本發(fā)明屬于射頻識別技術(shù)領(lǐng)域,具體為一種基于時隙隨機的射頻識別過程的幀長度選擇方法。該方法包括,讀寫器進行初始化;讀寫器接收標簽返回的數(shù)據(jù),未收到,將空時隙數(shù)量c<sub>0</sub>加1;收到,再判斷是否發(fā)生碰撞;發(fā)生碰撞,碰撞時隙數(shù)量c<sub>k</sub>加1;沒有碰撞,進入成功識別流程,并將成功時隙數(shù)量c<sub>1</sub>加1;每完成一次數(shù)據(jù)識別后,讀寫器判斷計數(shù)器是否等于2<sup>Q</sup>,如直到該幀數(shù)據(jù)全部識別完。根據(jù)c<sub>0</sub>、c<sub>1</sub>、c<sub>k</sub>的值估算未識別標簽的數(shù)量n,再根據(jù)n和時隙不等長因子a計算新的Q值,然后進行下一輪識別過程,直到所有標簽都被識別完畢。本發(fā)明通過合理設(shè)置時隙不等長因子,使讀寫器為下一幀選擇更加合理的幀長,減少了標簽碰撞發(fā)生幾率,提高了標簽的識別速度。
文檔編號G06K7/00GK101169818SQ20071017078
公開日2008年4月30日 申請日期2007年11月22日 優(yōu)先權(quán)日2007年11月22日
發(fā)明者丹 劉, 周曉方, 王中祥, 王俊宇, 昊 閔 申請人:復(fù)旦大學