• 沒有找到結果。

舉例說明

在文檔中 中 華 大 學 (頁 61-78)

第 2 章 相關研究

2.2 RFID 被動式標籤防碰撞相關演算法

3.2.5 舉例說明

接著我們以圖3.8為實例來解說高效能預先偵測廣播演算法的方法,同樣使用前 面所舉的5個電子標籤其UID分別為Tag_A:001010、Tag_B:001101、Tag_C:001110、

Tag_D:100111及Tag_E:110100。首先讀取器發送出空的查詢字串,在預先偵測階 段的’0’時槽有Tag_A:001010、Tag_B:001101及Tag_C:001110參與回應,會得到’0’

的訊息,’1’時槽有Tag_D:100111及Tag_E:110100參與回應,會得到’X’的訊息。在 廣播階段進行解碼後得到’1011’的訊號,將’1011’當作廣播訊號向通訊範圍內的電子 標籤進行廣播。接著在動態時槽回覆階段,因為廣播訊號’1011’裡有3個’1’,所以安 排了3個動態時槽,每個動態時槽的長度均為4位元,在第一個動態時槽回覆的有 Tag_A:001010、Tag_B:001101及Tag_C:001110,此時會發生碰撞,所以決定要 放入查詢佇列的查詢字串為’00’。在第二個動態時槽回覆的有Tag_D:100111,此時 只有一個電子標籤回應,所以成功辨識Tag_D。在第三個動態時槽回覆的有Tag_E:

110100,此時只有一個電子標籤回應,所以成功辨識Tag_E。

Tag A:001010 Tag B:001101 Tag C:001110 Tag D:100111 Tag E:110100

X

Success Collision Removed idle A

X

X

B C

D E

X

00 01 10 11

0010 0011

001101 001110

001010

001101 001110

101111 110100

圖 3.8 高效能預先偵測廣播演算法實例

接著讀取器從查詢佇列取出’00’的查詢字串,發送出查詢字串為’00’的查詢命令,

在預先偵測階段的’0’時槽沒有電子標籤參與回應,會得到’Ø’ (代表無訊號)的訊息,’1’

時槽有Tag_A:001010、Tag_B:001101及Tag_C:001110參與回應,會得到’X’的訊 息。而其他電子標籤因其前綴字串不符合本次的查詢字串,所以不會再參與本回合後 續的辨識流程。在廣播階段進行解碼後得到’0011’的訊號,將’0011’當作廣播訊號向 通訊範圍內的電子標籤進行廣播。接著在動態時槽回覆階段,因為廣播訊號’0011’裡 有2個’1’,所以安排了2個動態時槽,每個動態時槽的長度均為2位元,在第一個動態 時槽回覆的有Tag_A:001010,此時只有一個電子標籤回應,所以成功辨識Tag_A。

在第二個動態時槽回覆的有Tag_B:001101、Tag_C:001110,此時會發生碰撞,所 以決定要放入查詢佇列的查詢字串為’0011’。

接著讀取器從查詢佇列取出’0011’的查詢字串,發送出查詢字串為’0011’的查詢 命令,在預先偵測階段的’0’時槽有Tag_B:001101參與回應,因為已經使用到UID最 後的兩個位元,所以進行訊號還原,將’0’時槽內的訊息’1’還原出’1’之一個位元,進 行組合前綴字串’0011’、時槽位元’0’及還原位元’1’即可獲得Tag_B之完整UID,所以 成功辨識Tag_B。’1’時槽有Tag_C:001110參與回應,因為已經使用到UID最後的兩 個位元,所以進行訊號還原,將’1’時槽內的訊息’0’還原出’0’之一個位元,進行組合 前綴字串’0011’、時槽位元’1’及還原位元’0’即可獲得Tag_C之完整UID,所以成功辨 識Tag_C。此時演算法後續兩個階段已不需要執行了。

接著查詢佇列裡已無待查詢字串了,這時整個查詢動作結束,同時所有電子標籤 也都被辨識成功了,整個完整的流程如表3.1所示。

表 3.1 高效能預先偵測廣播演算法實例完整流程

步驟 查詢字串 查詢結果 成功辨識 查詢佇列

1 empty collision*1, success*2 Tag_D,Tag_E 00

同的效能表現,不必受限於一次只能對樹狀結構的2層數進行辨識,若一次能對樹狀 結構進行多層數的辨識,可能會有更好的效能,但是也有可能付出更高的成本反而造 成效能降低,後續將藉由實驗來得出結果。現在我們將每個查詢回合所能偵測辨識的 層數定義為N,在EPDBA演算法中,N值對預先偵測階段內之時槽數量及廣播階段內 之廣播訊號長度會有相對的影響,相對於N值,時槽數量為 ,廣播訊號長度為 , 也就是說在最佳狀態下,一次查詢回合最高能辨識出 個電子標籤。

在這個N值可變的特性下,我們重新完整詮釋我們所提出的EPDBA演算法每個查 詢回合的三個階段:

3.3.1 預先偵測階段(Pre-Detection Phase)

一開始我們會以空字串進行查詢,查詢命令裡包含了N值,在此階段裡我們設定 了 個時槽,分別為(N-1)位元的所有二進位組合,並按順序由小至大排列,每個 時槽的長度為1個位元,用於偵測符合查詢字串的電子標籤的回覆狀況。當電子標籤 在接收到讀取器發出的查詢字串後,符合查詢字串的電子標籤會根據本身UID相符的 前綴字串後接續的(N-1)個位元來決定在哪一個時槽回應讀取器,其時槽順序即為二 進 位 轉 十 進 位 之 數 值 , 例 如 若 以 N=3 為 例 , 前 綴 字 串 後 接 續 的 (N-1) 個 位 元 共 有’00’、’01’、’10’及’11’四種組合,轉十進位後分別為0、1、2及3,所以前綴字串後 接續的(N-1)個位元符合’00’的電子標籤就在第0時槽回覆,符合’01’的電子標籤就在第 1時槽回覆,符合’10’的電子標籤就在第2時槽回覆,符合’11’的電子標籤就在第3時槽 回覆。若是前綴字串不符合查詢字串的電子標籤則不再參與本次查詢回合後續的辨識 流程,繼續等待下一次的查詢回合。而電子標籤在此階段回覆的訊息內容是將前綴字 串後接續的第N個位元回覆給讀取器,如圖3.9所示,分別取用了兩段黃色部分的資訊。

讀取器根據電子標籤在所有時槽內個別回覆的1位元訊息,便能解析出在樹狀結構中 位於前綴字串往下第N層樹狀節點的狀況。這個階段我們定義為為預先偵測階段。

前綴字串 取N-1位元決定回覆的時槽 取1位元回覆讀取器 UID剩餘未知的部分

圖 3.9 電子標籤 UID 取用資訊之結構示意圖

3.3.2 廣播階段(Broadcast Phase)

在預先偵測階段收到的訊息會先經由讀取器進行解碼,因為預先偵測階段每個時 槽皆是1位元,首先我們定義以’X’代表時槽內訊號為碰撞、以’Ø’代表時槽內無訊號,

所以解碼的方式如圖3.2所示,在時槽內收到的訊號若為’X’,代表在樹狀結構的下一 層同時有0與1,便將訊息解碼為’11’。收到的訊號若為’0’,代表在樹狀結構的下一層 只有0,便將訊息解碼為’10’。收到的訊號若為’1’,代表在樹狀結構的下一層只有1,

便將訊息解碼為’01’。若沒有收到的訊號,代表沒有電子標籤回覆,便將訊息解碼 為’00’。

此時訊息解碼代表的是符合查詢字串之電子標籤本身UID在樹狀結構中於相符 的前綴字串往下第N層樹狀節點的分布狀況,1即代表有電子標籤回覆,0即代表無電 子標籤回覆。如圖3.10,這是一個N=4的例子,所以是4層的樹狀結構,讀取器將在預 先偵測階段的時槽收到’ØXX1ØØ00’之訊息,將訊息解碼會解出0011110100001010的訊 號,訊號長度為 即為16位元,這便電子標籤是在樹狀結構中前綴字串往下第4層樹 狀節點的分布狀況,接著讀取器將解碼出的訊號當作廣播訊號向通訊範圍內的電子標 籤進行廣播。這個階段我們定義為廣播階段。

第3階層(時槽層)

3.3.3 動態時槽回覆階段(Dynamic Time Slots Reply Phase)

讀取器發出廣播訊號後,首先讀取器會根據廣播訊號裡1的數量來安排動態時槽 (Dynamic Time Slots)的數量,因為廣播訊號裡的’1’即代表在樹狀結構中位於前綴字串 往下第N層對應的樹狀節點是有電子標籤的,所以必須安排時槽讓電子標籤回覆,’0’

即代表該對應的樹狀節點沒有電子標籤,所以不必安排時槽。例如若N=2,收到的廣 播訊號為’1101’則安排3個回覆時槽、廣播訊號為’1000’則安排1個回覆時槽。至於單 個動態時槽的長度,我們是以整個UID長度減去前綴字串長度,再減去參與預先偵測 階段運作的N個位元,即為單個回覆時槽的長度。這樣做的用意如前面演算法概念所 提到,是為了不必傳輸已知的部分,僅需回覆UID剩餘未知的部分即可。

電子標籤在收到廣播訊號後,依據參與預先偵測階段運作的N個位元,將其二進 位轉為十進位的值加1,即是本身對應於廣播訊號裡1的位置,例如N=3,參與預先偵 測階段運作的3個位元為’000’,即代表本身對應於廣播訊號裡第一個1;若為’001’,

即代表本身對應於廣播訊號裡第二個1;若為’010’,即代表本身對應於廣播訊號裡第 三個1;若為’011’,即代表本身對應於廣播訊號裡第四個1;若為’100’,即代表本身 對應於廣播訊號裡第五個1;若為’101’,即代表本身對應於廣播訊號裡第六個1;若 為’110’,即代表本身對應於廣播訊號裡第七個1;若為’111’,即代表本身對應於廣播 訊號裡第八個1。電子標籤依據本身對應於廣播訊號裡所有的’1’的排序順位,選擇在 讀取器所安排相對順位的動態時槽來回覆剩餘未知的UID,如圖3.11所示,僅需回覆 黃色部分的資訊。至於單個動態時槽的長度一開始便包含在該查詢回合的查詢命令裡,

不必由電子標籤進行運算。

前綴字串 取N-1位元決定回覆的時槽 取1位元回覆讀取器 UID剩餘未知的部分

圖 3.11 電子標籤於動態時槽回覆階段回覆訊息示意圖

在單個動態時槽裡,電子標籤的回應有可能會發生碰撞,因為符合查詢字串的前 綴字串及參與預先偵測階段運作的N個位元若是有多個電子標籤是相同的,那麼這些

電子標籤會選擇在相同的動態時槽來回覆UID剩餘未知的部分,而電子標籤的UID因 具有唯一值,雖然前面參與預先偵測階段運作的UID已知的部分是相同的,但UID剩 餘未知的部分在同一個動態時槽裡回覆時一定會發生碰撞。當碰撞發生時,我們便把 這個查詢回合的前綴字串及參與預先偵測階段運作的N個位元組合成新的查詢字串,

並將其放入查詢佇列裡。若在單個動態時槽裡沒有碰撞發生,那麼這個查詢回合的前 綴字串及參與預先偵測階段運作的N個位元,再加上在動態時槽回覆的UID剩餘未知 的部分,便可組成完整的UID,如此便可成功的辨識出一個電子標籤了。這個階段我 們定義為為動態時槽回覆階段。

接著我們檢查查詢佇列裡是否有待查詢的字串,若是有便進行下一回合的查詢,

若是沒有便已完成全部的電子標籤辨識了。

3.3.4 EPDBA演算法對於辨識樹狀結構最底部兩層時之特殊處 理機制

在前面本演算法基礎解說時,只提到對於辨識樹狀結構最底部時之特殊處理機制,

那是由於在N=2的情況下,執行預先偵測階段時,若前綴字串加上參與辨識的2個位 元,剛好等於整個UID的狀況時才會發生。實際的狀況會有三種,並有不同的處理機 制,分述如下:

第一種狀況發生在前綴字串長度加上N值剛好等於整個UID長度時,這情形會發 生在查詢回合的預先偵測階段,若出現前綴字串長度加上參與辨識的N個位元,剛好 等於整個UID的狀況時,則在這個預先偵測階段整個UID便已經完全獲得了,如圖3.12 所示。

在文檔中 中 華 大 學 (頁 61-78)

相關文件