第 2 章 相關研究
2.2 RFID 被動式標籤防碰撞相關演算法
2.2.4 混合查詢樹協定(Hybrid Query Tree Protocol)
在前面兩小節我們可以觀察到,在使用相同的5個電子標籤樣本的狀況下分別執 行查詢樹演算法及四元查詢樹演算法,可得到查詢樹演算法有12次查詢、5次碰撞及2 次閒置;四元查詢樹演算法則是12次查詢、2次碰撞及5次閒置。四元查詢樹演算法雖 然改善了查詢樹演算法碰撞的次數,但反而增加了本身閒置的次數。因此有一些針對 如何降低四元查詢樹演算法閒置(idle)次數的相關研究,底下我們所要介紹的混合查 詢樹協定(Hybrid Query Tree Protocol, HQT)便是其中一種研究,混合查詢樹協定提出
了一個時槽延遲電子標籤答覆技術(Slotted Back-off Tag_Response Mechanism),可以 有效減少四元查詢樹演算法閒置次數的問題。
時槽延遲電子標籤答覆技術最主要是能夠使符合查詢字串的多個電子標籤在同 時回覆讀取器時,各自開始回覆的時間可以在不同的時槽(time slot)延遲錯開,讀取 器便藉由這些時槽的相關訊號來判斷有無電子標籤存在,如此便可減少四元查詢樹演 算法的閒置(idle)次數。而決定電子標籤要延遲幾個時槽回覆,則是由符合查詢字串 的電子標籤的UID前綴字串接續的2個位元資料來決定,決定的方式共4種說明如下:
1. 假如接續的2個位元是’00’,則電子標籤馬上於第零時槽回覆UID給讀取器。
2. 假如接續的2個位元是’01’,則電子標籤將延遲1個時槽時間(1-time slot)於第 一時槽回覆UID給讀取器。
3. 假如接續的2個位元是’10’,則電子標籤將延遲2個時槽時間(2-time slot)於第 二時槽回覆UID給讀取器。
4. 假如接續的2個位元是’11’,則電子標籤將延遲3個時槽時間(3-time slot)於第 三時槽回覆UID給讀取器。
如此一來,混合查詢樹協定便在整個反應時間(Response time)裡根據最先一個有 訊號的時槽及最後一個訊號結束的時槽,來推算有無電子標籤回覆,進而決定要放入 查詢佇列的查詢字串有哪些,圖2.9為混合查詢樹協定的示意圖。
Reader
Tag B Tag A
Tag D Tag C
1 - Time slot
time
Response ID
Response time Request ‘10’
Response
Response ID
Response ID
Response ID
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘1000…’
‘1001…’
‘1010…’
‘1011…’
圖 2.9 混合查詢樹協定示意圖
接著我們以圖2.10為實例來解說混合查詢樹協定的方法,同樣使用前面所舉的5 個電子標籤其UID分別為Tag_A:001010、Tag_B:001101、Tag_C:001110、Tag_D:
100111及Tag_E:110100。首先讀取器發送出空的查詢字串,此時符合查詢字串的電 子標籤的前綴字串接續2個位元是’00’的有Tag_A:001010、Tag_B:001101及Tag_C:
001110,會馬上於第零時槽回覆UID;接續2個位元是’01’的則無標籤符合,所以第一 時槽無電子標籤回覆;接續2個位元是’10’的有Tag_D:100111,會於第二時槽回覆 UID;接續2個位元是’11’的有Tag_E:110100,會於第三時槽回覆UID。
接著讀取器便在整個反應時間(Response time)裡根據最先一個有訊號的時槽為第 零時槽及最後一個訊號結束的時槽為第三時槽,故推算出有碰撞,進而決定要放入查 詢佇列的查詢字串為’00’、’01’、’10’及’11’。
Reader
Tag B Tag A
Tag D Tag C
1 - Time slot
time
Response ID
Response time Request ‘empty’
Response
Response ID
Response ID
Response ID
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001010’
‘001101’
‘001110’
‘100111’
Tag E
‘110100’ Response ID
圖 2.10 混合查詢樹協定之實例 步驟一
接著如圖2.11讀取器從查詢佇列取出’00’,並發送出’00’的查詢字串,此時符合查 詢字串的電子標籤的前綴字串接續2個位元是’00’的無標籤符合,所以第零時槽無電 子標籤回覆;接續2個位元是’01’的也無標籤符合,所以第一時槽無電子標籤回覆;
接續2個位元是’10’的有Tag_A:001010,會於第二時槽回覆UID;接續2個位元是’11’
的有Tag_B:001101及Tag_C:001110,會於第三時槽回覆UID。接著讀取器便在整 個反應時間裡根據最先一個有訊號的時槽為第二時槽及最後一個訊號結束的時槽為 第三時槽,故推算出有碰撞,進而決定要放入查詢佇列的查詢字串為’0010’及’0011’。
Reader
Tag B Tag A
Tag D Tag C
1 - Time slot
time
Response ID
Response time Request ‘00’
Response
Response ID
Response ID
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001010’
‘001101’
‘001110’
‘100111’
Tag E
‘110100’
圖 2.11 混合查詢樹協定之實例 步驟二
接著如圖2.12讀取器從查詢佇列取出’01’,並發送出’01’的查詢字串,此時都沒有 符合查詢字串的電子標籤。讀取器在整個反應時間裡都沒有發現訊號,故推算本次查 詢為閒置(idle)。
Reader
Tag B Tag A
Tag D Tag C
1 - Time slot
time
Response time Request ‘01’
Response
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001010’
‘001101’
‘001110’
‘100111’
Tag E
‘110100’
圖 2.12 混合查詢樹協定之實例 步驟三
接著如圖2.13讀取器從查詢佇列取出’10’,並發送出’10’的查詢字串,此時符合查 詢字串並回覆的只有Tag_D:100111。讀取器在整個反應時間裡發現只有一個時槽有 電子標籤回覆,且其中沒有發生碰撞,故推算出是成功辨識Tag_D。
Reader
Tag B Tag A
Tag D Tag C
1 - Time slot
time
Response time Request ‘10’
Response
Response ID
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001010’
‘001101’
‘001110’
‘100111’
Tag E
‘110100’
圖 2.13 混合查詢樹協定之實例 步驟四
接著如圖2.14讀取器從查詢佇列取出’11’,並發送出’11’的查詢字串,此時符合查 詢字串並回覆的只有Tag_E:110100。讀取器在整個反應時間裡發現只有一個時槽有 電子標籤回覆,且其中沒有發生碰撞,故推算出是成功辨識Tag_E。
Reader
Tag B Tag A
Tag C
1 - Time slot
time
Response time Request ‘11’
Response
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001010’
‘001101’
‘001110’
Tag E
‘110100’ Response ID
圖 2.14 混合查詢樹協定之實例 步驟五
接著如圖2.15讀取器從查詢佇列取出’0010’,並發送出’0010’的查詢字串,此時符 合查詢字串並回覆的只有Tag_A:001010。讀取器在整個反應時間裡發現只有一個時 槽有電子標籤回覆,且其中沒有發生碰撞,故推算出是成功辨識Tag_A。
Reader
Tag B Tag A
Tag C
1 - Time slot
time
Response ID
Response time Request ‘0010’
Response
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001010’
‘001101’
‘001110’
圖 2.15 混合查詢樹協定之實例 步驟六
接著如圖2.16讀取器從查詢佇列取出’0011’,並發送出’0011’的查詢字串,此時符 合查詢字串的電子標籤的前綴字串接續2個位元是’00’的無標籤符合,所以第零時槽 無電子標籤回覆;接續2個位元是’01’的有Tag_B:001101,會於第一時槽回覆UID;
接續2個位元是’10’的有Tag_C:001110,會於第二時槽回覆UID;接續2個位元是’11’
的無標籤符合,所以第三時槽無電子標籤回覆。接著讀取器便在整個反應時間裡根據 最先一個有訊號的時槽為第一時槽及最後一個訊號結束的時槽為第二時槽,故推算出 有碰撞,進而決定要放入查詢佇列的查詢字串為’001101’及’001110’。
Reader
Tag B
Tag C
1 - Time slot
time
Request ‘0011’
Response
Response ID
Response ID
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001101’
‘001110’
接著如圖2.17讀取器從查詢佇列取出’001101’,並發送出’001101’的查詢字串,此 時符合查詢字串並回覆的只有Tag_B:001101。讀取器在整個反應時間裡發現只有一 個時槽有電子標籤回覆,且其中沒有發生碰撞,故推算出是成功辨識Tag_B。
Reader
Tag B
Tag C
1 - Time slot
time
Response time Request‘001101’
Response
Response ID
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001101’
‘001110’
圖 2.17 混合查詢樹協定之實例 步驟八
接著如圖2.18讀取器從查詢佇列取出’001110’,並發送出’001110’的查詢字串,此 時符合查詢字串並回覆的只有Tag_C:001110。讀取器在整個反應時間裡發現只有一 個時槽有電子標籤回覆,且其中沒有發生碰撞,故推算出是成功辨識Tag_C。
Reader
Tag C
1 - Time slot
time
Response time Request‘001110’
Response
Response ID
‘00’ ‘01’ ‘10’ ‘11’
‘00’End
‘01’End
‘10’End
‘11’End
2 - Time slot 3 - Time slot
‘001110’
圖 2.18 混合查詢樹協定之實例 步驟九
接著查詢佇列裡已無待查詢字串了,這時整個查詢動作結束,同時所有電子標籤
A X
X
B C
D E
Tag A:001010 Tag B:001101 Tag C:001110 Tag D:100111 Tag E:110100
X
Success Collision Idle
Removed idle X
00 01 10 11
0010 0011
001101 001110
001010
001101 001110
101111 110100
圖 2.19 混合查詢樹協定實例
表 2.3 混合查詢樹協定實例完整流程
步驟 查詢字串 查詢結果 成功辨識 查詢佇列
1 empty collision
00,01,10,11
2 00 collision
01,10,11,0010,0011
3 01 idle
10,11,0010,0011
4 10 success Tag_D 11,0010,0011 5 11 success Tag_E 0010,0011 6 0010 success Tag_A 0011
7 0011 collision
001101,001110 8 001101 success Tag_B 001110
9 001110 success Tag_C null
在使用相同的5個電子標籤樣本的狀況下分別執行四元查詢樹演算法及混合查詢 樹協定,可得到四元查詢樹演算法則是12次查詢、2次碰撞及5次閒置;混合查詢樹協 定則是9次查詢、3次碰撞及1次閒置,閒置次數確實已被大大地減少了,連帶的好處 是減少了無效的查詢,查詢次數由12次降為9次。