• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
80
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

運用預先偵測及跳階掃描技術之 RFID 被動式標籤辨識演算法

Using Pre-Detection and Level Jumping Techniques Toward An Efficient Tag Identification Algorithm in RFID Systems

系 所 別:資訊工程學系碩士班 學號姓名:E10002009 周 瑜 紘 指導教授:梁 秋 國 博士

中華民國 102 年 8 月

(2)

Using Pre-Detection and Level Jumping Techniques Toward An Efficient Tag Identification Algorithm in RFID Systems

Student:Yu-Hung Zhou Advisor:Dr. Chiu-Kuo Liang

Department of Computer Science and Information Engineering Chung Hua University, Hsinchu, 30012, Taiwan

August 2013

(3)

摘 要

RFID( 無 線 射 頻辨 識技 術 )是 一種 非接 觸式 的 自動 化辨 識 技 術, 讀取 器

(Reader)利用無線電波與標籤 (RFID Tag) 進行非接觸式的供電及進行雙向通 信,並經由標籤的識別碼進行雙向通信取得預存於標籤中的資料。具有可容忍惡 劣環境、高傳輸距離、低製作成本等優勢,因此廣泛的被應用在各領域上。

為了提升使用辨識效能與開發更多的應用,RFID訊號碰撞的問題也逐漸的 被大家所重視。所謂RFID訊號碰撞,主因是由於多個標籤在同一時間傳遞它們 各有的識別碼給讀取器,造成讀取器辨識上的干擾,使之無法準確的識別出每一 個標籤獨有的識別碼。RFID系統的訊號碰撞問題,直接的影響到RFID系統的辨 識效能與應用。因此,如何解決RFID訊號碰撞的問題,一直是眾多學者致力研 究的重點。

在此篇論文中,我們提出了一種適用於被動式標籤系統的標籤訊號防碰撞方 法,方法中主要是觀查到了 intelligent Wrap-Around Scan 演算法(iWAS)的跳躍門 檻機制,減少了在高位元下不必要的碰撞查詢。和其利用二元樹的特性,在不增 加系統成本的情況下,可以有效的增進辨識效能。而我們也發現了Pre-Detection Query Tree演算法(PDQT)利用了前偵測機制,完全改善了不必要的閒置查詢。因 此,方法中我們利用更有效率的前偵測技術,除了改善不必要的閒置查詢之外,

還可以比iWAS的跳躍門檻機制更快速的跳階查詢,最後再利用二元樹的特性快 速的辨識標籤。本研究最後作了模擬實驗與效能評估,證實了本論文中提出的演 算法,不論是在高低標籤密度,還是在標籤分佈不均的環境下,都有著更好的效 能表現。

關鍵字:標籤訊號防碰撞、詢問樹、intelligent Wrap-Around Scan、Pre-Detection Query Tree、Hierarchical Slot Detection

(4)

ABSTRACT

RFID(Radio Frequency Identification) is a non-contact automatic identification technology, Readers uses radio waves with Tags for non-contact power supply and bidirectional communication, and using bidirectional communication for tag UID to acquire the data stored in the tag. Can tolerate harsh environments, high transmission, low production cost and other advantages, so it is widely being used in various area.

In order to enhance effectiveness and develop more applications by Tag identification, RFID signal collision problems are gradually being valued by everyone.

The so-called RFID signal collision, mainly due to multiple Tags at the same time as they have passed identifier to the reader, the reader identify the cause interference, so that the reader can not accurately identify the unique identifier of each Tag. Signal collision problems directly affecting RFID identification system and application performance, therefore, how to solve the problem of RFID collisions has been the focus of many scholars to research.

In this paper, we proposed a passive Tag system for signal collision prevention method, method is mainly found in the concept of intelligent Wrap-Around Scan algorithm (iWAS) threshold jumping mechanism, reducing unnecessary high bit collision queries. Its use of the characteristics of a binary tree without additional costs under the system can effectively enhance identification of efficiency. And we also found Pre-Detection Query Tree algorithm (PDQT) using the pre-detection mechanism, completely improved unnecessary idle query. Therefore, this method is more efficient in our use of the pre-detection technology, in addition to improving unnecessary idle query, jump-order queries can also more quickly than iWAS jump threshold mechanism, finally by binary tree attribute to rapid identification of Tags. In the last we made a simulation experiment and performance assessment, the algorithm presented in this thesis was confirmed. Both in high and low density or Tags is in the uneven distribution's environment ,all have better efficiency performance.

Keywords: Tag signal collision, query tree, intelligent Wrap-Around Scan, Pre-Detection Query Tree, Hierarchical Slot Detection

(5)

誌 謝

在短暫的研究所碩士班求學階段中,在離開學業多年後又從重回到學校求學,

不只學業上知識的增加,生活上也有了許多的體悟。能夠完成本篇論文,首先由 衷感謝 梁秋國 教授的細心指導,不僅是在演算法及計算機數學課程中教授的邏 輯、數理的觀念。更重要的是研究過程中不斷的給予督促及指正,並教導我做研 究應有的態度和觀念。梁秋國 教授犧牲了自己週未的時間,在研究過成中與教 授不斷的討論與改進,確定了研究方向,進而得到了此篇論文的結果。

接著也要感謝系上所有曾經教導過我的專任教授們,於這兩年進修的過程中 不遺餘力的提供相關的專業知識及訓練,並給予最大的指導及鼓勵,體諒我們在 工作之餘求學的辛勞。感謝 曾秋蓉 教授與 游坤明 教授對於書報的指導,使我 們建立論文報告良好基礎。感謝 顏金泰 教授所授予不同想法與概念,這些觀念 都對我有著很大的啟發與成長,謝謝各位老師。

在撰寫本論文過程中,特別要感謝同研究室的同學們,於研究過程中相互的 指正及幫忙。尤其是培煜和立群讓我在研究中避免走向錯誤的方向,並藉由相互 的激勵,督促完成研究所學業,進而使我能順利的完成研究所的學業取得碩士學 位。

最後我要感謝我的家人,在二年中的支持和鼓勵。我的同事。在我工作多年 後仍支持我完成學業上的進修,讓我在工作及進修交替的日子中能無後顧之憂的 專心研究。特別感謝我的女友,告訴我如果沒有完成學業取得碩士學位就不要結 婚,因而讓我在求學過程中有著源源不絶的動力。

(6)

目錄

中文摘要... i

ABSTRACT ... ii

誌謝... iii

目錄... iv

表目錄... vi

圖目錄... vii

第 1 章 緒論 ... 1

1.1 研究動機 ... 1

1.2 RFID 系統架構 ... 1

1.2.1 標籤 (Tags) ... 2

1.2.2 讀取器 (Reader) ... 3

1.2.3 應用系統 (Application System) ... 4

1.3 研究目的 ... 4

1.4 論文架構 ... 4

第 2 章 相關研究 ... 5

2.1 RFID 系統碰撞問題 ... 5

2.1.1 讀取器碰撞問題(Reader Collision) ... 5

2.1.2 標籤碰撞問題(Tag Collision) ... 7

2.2 相關技術研究 ... 8

2.2.1 空間分割多重存取 (Space Division Multiple Access) ... 8

2.2.2 分頻多重存取 (Frequency Division Multiple Access) ... 9

2.2.3 分碼多重存取 (Code Division Multiple Access) ... 10

2.2.4 分時多重存取 (Time Division Multiple Access)... 11

2.3 RFID 標籤防碰撞演算法 ... 12

2.4 Aloha Based 標籤防碰撞演算法 ... 13

2.4.1 Pure Aloha 演算法 ... 13

2.4.2 Slotted Aloha 演算法 ... 14

2.5 Tree Based 標籤防碰撞演算法 ... 16

2.5.1 Binary Tree 演算法 (BT) ... 17

2.5.2 Query Tree 演算法 (QT) ... 20

2.5.3 Pre-Detection Query Tree 演算法(PDQT) ... 22

2.5.4 Threshold Jumping 演算法(TJ) ... 25

2.5.5 Wrap-Around Scan 演算法 (WAS) ... 28

2.5.6 intelligent Wrap-Around Scan 演算法 (iWAS) ... 32

2.5.7 Hierarchical Slot Detection 演算法(HSD) ... 36

(7)

3.1 研究與構想 ... 38

3.2 前偵測階段 ... 40

3.3 標籤回覆階段 ... 44

3.4 EPDQT 範例說明 ... 46

3.5 與 iWAS 演算法比較 ... 48

3.6 與 HSD 演算法比較 ... 51

第 4 章 效能模擬與分析 ... 53

4.1 模擬環境 ... 53

4.2 模擬結果與分析 ... 55

4.3 實驗結論 ... 66

第 5 章 結論與未來展望 ... 67

5.1 結論 ... 67

5.2 未來展望 ... 67

參考文獻... 68

(8)

表目錄

表 2.1BINARY TREE演算法範例詳細查詢流程 ... 18

表 2.2QUERY TREE演算法範例詳細查詢流程 ... 21

表 2.3PDQT 演算法範例詳細查詢流程 ... 24

表 2.4THRESHOLD JUMPING演算法詳細查詢流程 ... 27

表 2.5THRESHOLD JUMPING演算法詳細查詢流程(比較範例) ... 30

表 2.6WRAP-AROUND SCAN演算法詳細查詢流程(比較範例) ... 31

表 2.7 INTELLIGENT WRAP-AROUND SCAN演算法詳細查詢流程... 35

表 2.8HSD 演算法詳細查詢流程 ... 37

表 3.1UID 回覆判斷時糟與編碼說明 ... 40

表 3.2 編碼回覆說明... 40

表 3.3READER轉碼說明 ... 41

表 3.4 READER四個時槽收到的資料 ... 42

表 3.5 偵測到的標籤位置相對的查詢字串加入查詢序例... 43

表 3.6 範例詳細查詢流程... 44

表 3.7EPDQT 演算法詳細查詢流程 ... 47

表 3.8IWAS 詳細查詢流程 ... 50

表 3.9HSD 演算法詳細查詢流程 ... 52

表 3.10CPDQT 和 IWAS 比較表 ... 52

表 4.1 模擬參數... 53

表 4.2 不同 TAG長度回覆的時間成本和前偵測的時間成本比較表(US) ... 55

表 4.316BIT各密度平均辨識一個 TAG所需的時間(MS) ... 64

表 4.4 標籤密度 10%效能分析表 ... 64

表 4.5100%密度下不同標籤長度&查詢次數關係表 ... 65

(9)

圖目錄

圖 1.1 無線射頻辨識系統架構... 2

圖 1.2 主動式(ACTIVE)標籤 ... 2

圖 1.3 半被動式(SEMI-PASSIVE)標籤 ... 3

圖 1.4 被動式(PASSIVE)標籤 ... 3

圖 1.5 各種不同類型的讀取器(READER) ... 4

圖 2.1 讀取器碰撞... 6

圖 2.2 讀取器電波干擾... 6

圖 2.3 標籤碰撞... 7

圖 2.4 空間分割多重存取(SPACE DIVISION MULTIPLE ACCESS ,SDMA)示意圖 ... 8

圖 2.5 分頻多重存取(FREQUENCY DIVISION MULTIPLE ACCESS ,FDMA)示意圖 ... 9

圖 2.6 分碼多重存取(CODE DIVISION MULTIPLE ACCESS,CDMA)示意圖 ... 10

圖 2.7 分時多重存取(TIME DIVISION MULTIPLE ACCESS ,TDMA)示意圖 ... 11

圖 2.8 防碰撞協定分類... 12

圖 2.9PURE ALOHA演算法示意圖 ... 14

圖 2.10SLOTTED ALOHA演算法示意圖 ... 15

圖 2.11 利用樹狀圖來表示 ID 碼 ... 16

圖 2.12BINARY TREE演算法範例查詢示意圖 ... 19

圖 2.13QUERY TREE演算法範例查詢示意圖 ... 21

圖 2.14PDQT 演算法查詢範例示意圖 ... 23

圖 2.15PDQT 前偵測意示圖 ... 23

圖 2.16THRESHOLD JUMPING機制示意圖 ... 25

圖 2.17THRESHOLD JUMPING演算法示意圖 ... 27

圖 2.18WRAP-AROUND SCAN機制示意圖 ... 28

圖 2.19THRESHOLD JUMPING演算法(比較範例) ... 29

圖 2.20WRAP-AROUND SCAN演算法(比較範例) ... 30

圖 2.21 碰撞節點與子節點組合 ... 32

圖 2.22 INTELLIGENT WRAP-AROUND SCAN機制示意圖 ... 33

圖 2.23 IWAS 演算法範例查詢示意圖 ... 34

圖 2.24HSD 演算法範例查詢示意圖 ... 36

圖 3.1EPDQT 演算法查詢週期示意圖 ... 39

圖 3.2 預先偵測廣播 TAG防碰撞演算法說明 ... 41

圖 3.3 轉碼後訊號串對應的位置 ... 42

圖 3.4 標籤回覆階段示意圖 ... 44

圖 3.5 查詢階段示意圖... 45

圖 3.6EPDQT 範例查詢示意圖 ... 46

圖 3.7 IWAS 演算法範例查詢示意圖 ... 48

(10)

圖 3.8HSD 演算法範例查詢示意圖 ... 51

圖 4.18 BIT 標籤密度&查詢次數關係圖 ... 56

圖 4.216BIT 標籤密度&查詢次數關係圖 ... 57

圖 4.38BIT 標籤密度&閒置週期關係圖 ... 58

圖 4.416BIT 標籤密度&閒置週期數關係圖 ... 58

圖 4.58BIT TAG密度&碰撞週期數關係圖 ... 59

圖 4.616BIT TAG密度&碰撞週期數關係圖 ... 59

圖 4.716BIT TAG密度&各層前偵測次數關係圖 ... 60

圖 4.816BIT標籤密度 10%時左右分佈比例和查詢次數關係圖... 61

圖 4.916BIT 標籤密度 50%時左右分佈比例和查詢次數關係圖 ... 62

圖 4.1016BIT 標籤密度 90%時左右分佈比例和查詢次數關係圖 ... 62

圖 4.118BIT標籤密度&辨識時間關係圖 ... 63

圖 4.1216BIT標籤密度&辨識時間關係圖 ... 63

(11)

第 1 章 緒論

1.1 研究動機

無線射頻辨識(Radio Frequency Identification, RFID)是一種非接觸式的自動 辨識系統,利用無線電波(RF waves)與電子標籤 (RFID Tag) 進行非接觸式的供 電及進行雙向通信。利用射頻訊號去自動的辨識目標物品並獲取相關目標物品 相關的數據,進而完成我們所期望的工作,也因為在辨識目標物品的過程中不 需要人力的介入,所以 RFID 技術可以適用於各種不同的環境下[1]。例如,RFID 可以適應及使用於嚴苛的工作環境,像是高粉塵、潮濕、油污、高化學污染侵 蝕性的環境中。RFID 依據其定義的頻率而可以有較長的辨識距離及較廣的辨識 的範圍,而不像傳統條碼需直接近距離接近條碼讀取器(Barcode reader)。RFID 有著掃瞄及辨識的高效率且有著可對標籤寫入資訊的能力等。

雖然 RFID 技術的運用已隨著科技的進步而日益多元,但是受限於 RFID 系 統中的標籤在硬體方面因為成本的考量,故無法運用太複雜的電路設計進行運 算。在 RFID 標籤僅能利用簡單的運算的限制下,讀取器如何可快速且有效率的 將範圍內的標籤逐一的辨識,是非常重要的一個課題。

1.2 RFID 系統架構

無線射頻辨識(RFID)系統組成主要是由 RFID 讀取器(Readers)、RFID 標籤 (Tags)和應用系統(Application System)所組成,其運作方式的原理是利用讀取器 (Reader)發射無線電波,再由電磁感應方式使感應範圍內的標籤(Tags)產生電源,

使標籤(Tags)上的晶片動作並發出回覆電磁波給讀取器(Reader)接收。如下圖 1.1 所示:

(12)

圖 1.1 無線射頻辨識系統架構

以下我們將分別介紹 RFID 讀取器、RFID 標籤及應用系統(Application System)

1.2.1 標籤 (Tags)

標籤是一個儲存識別資料的裝置,可以透過無線電波與讀取器互相傳送資 訊並回應識別資料給讀取器。RFID 標籤(Tags)以電源驅動方式來源區分,可分 為主動式(Active)、半被動式(Semi-passive)、被動式(Passive)三種:

 主動式(active)標籤:標籤(Tag)有內部電池,可以主動傳送訊號供讀取 器(Reader)讀取,不需讀取器(Reader)發送訊號再做回覆,訊號傳送距離的 比被動式遠,其優點為通訊距離長,對於環境變化有較高的忍受能力;缺點 是成本高、體積大、使用時間短,如下圖 1.2 所示:

Active

Reader

Antenna

Transmitted signal from tag

Tag & radio

Power for tag and radio battery

圖 1.2 主動式(Active)標籤

 半被動式(Semi-passive)標籤:標籤(Tag)一樣有內部電池,但回覆讀取 器(Reader)方式不同於主動式的標籤(Tag),需等讀取器(Reader)發送訊號再 做回覆,如此可以減少電量的損耗,增加使用時間;缺點是成本高、體積大,

如下圖 1.3 所示:

Tag

Reader

Application System Wire

Wireless antenna

Data

(13)

Semi-Passive

Reader

Antenna

Power for radio

Backscattered singal

Tag

Power for tag battery

圖 1.3 半被動式(Semi-Passive)標籤

 被動式(Passive)標籤:標籤(Tag)本身沒有電源的裝置,其內部集成電路 所需要的電源全靠接收讀取器(Reader)的無線電波電磁感應產生,因此只有 在接收到讀取器(Reader)發出的訊號才會被動的回應讀取器(Reader),因無 需電源可以達到體積小、價格低廉、方便攜帶等優點;缺點是通訊距離短,

如下圖 1.4 所示:

Passive

Reader

Antenna

Power for tag and radio

Backscattered singal

Tag

Power for tag

圖 1.4 被動式(Passive)標籤

1.2.2 讀取器 (Reader)

讀取器包含了無線收發器(Transceiver)、微處理控制單元、通訊介面及外部 電源供應。其中收發器是由發送器(Transmitter)和接收器(Receiver)組成,發送器 和接收器分別使用天線發送訊息給標籤和接收標籤回應。主要的功能在於發射 無線電波,進行對標籤的讀寫,讀取資料後利用有線或無線的方式,傳送給系 統主機結合使用。

(14)

圖 1.5 各種不同類型的讀取器(Reader)

1.2.3 應用系統 (Application System)

應用系統是無線射頻辨識(RFID)系統的最後端,在結合資料庫管理系統,利 用 RFID 的功能接收及辦識資訊,並與不同的主機相連接去達成各式各樣的目標 應用,以達成降低成本及增加便利性的目標。

1.3 研究目的

本篇論文主要是以改善被動式電子標籤的碰撞問題為目的,以查詢樹技術 (Query Tree Algorithm)[2] 辨 識 電 子 標 籤 架 構 為 基 礎 , 觀 察 到 intelligent Wrap-Around Scan (iWAS)演算法[3][4]的特性進行研究,解析 iWAS 演算法於查 詢過程的缺點與不足,例如低密度下過多的閒置週期和高密度下的碰撞週期。

再利用前偵測機制來過濾不必要閒置查詢,藉由跳階掃描以減低 RFID 讀取器 與標籤之間的查詢次數,讓讀取器在辨識標籤的過程中,可以被有效的縮短,

使 RFID 系統的整體效能夠提升。

1.4 論文架構

本篇論文共分為五個章節,第 1 章會先介紹 RFID 的技術、系統架構及發展背 景與本論文的研究動機。第 2 章研究 RFID 的碰撞問題與防碰撞技術的原理與特 性。第 3 章討論我們提出來的防碰撞演算法,並說明如何改善防碰撞問題。第 4 章中會描述實驗環境和方式,從實驗結果來分析演算法效能。第 5 章將對本論

(15)

第 2 章 相關研究

本章節將介紹無線射頻辨識(RFID)系統碰撞問題[1] [11][12]的種類,以及相 關研究技術及標籤防碰撞演算法,並針對 Aloha Based 標籤辨識的防碰撞演算法 [1][5][6][7]和 Tree Based 標籤辨識的防碰撞演算法[2][3][8][9] [10]這兩種類型的 標籤防碰撞演算法詳細解說。

2.1 RFID 系統碰撞問題

RFID 系統是以自動辨識為目的,利用無線射頻的技術來進行資料傳輸的系 統。讀取器與標籤之間若無協調機制,則多個標籤回應資料給讀取器時,就會 發生碰撞,而造成讀取器無法正確成功辨識每個標籤的資訊。依 RFID 系統中的 訊號發送器的不同,可以分為標籤的碰撞 (Tags Collision)[1]及讀取器的碰撞 (Reader Collision)[11][12]兩大類,本章節我們將對這兩類的碰撞問題進行介紹。

2.1.1 讀取器碰撞問題(Reader Collision)

讀取器碰撞問題[11][12]依訊號干擾源的不同,主要可分為以下兩個類型:

 發生於標籤的讀取器碰撞問題:一個標籤同時接收到多兩個以上的讀取 器發送的訊號,造成標籤通訊錯亂。以圖 2.1 為例,當 Reader A、Reader B 感測半徑範圍重疊的區域存在一個或多個標籤(Tag C),就會發生讀取 器碰撞問題。導至兩個讀取器都無法順利的讀取到 Tag C 的資訊。

(16)

圖 2.1 讀取器碰撞

 發生於讀取器的讀取器碰撞問題

以圖 2.2 為例,當 Reader A 與 Reader B 的感測半徑範圍已分開,因此標籤 不會因讀取器的感測半徑範圍重疊導致同時收到兩個讀取器訊號而造成碰 撞,但因 Reader B 仍設置於於 Reader A 的訊號干擾範圍內,當 Reader A 與標籤的資料傳輸過程中,Reader B 收到 Tag C 送出的訊號被 Reader A 送 出的電波干擾,因此 Reader B 無法辨識 Tag C 所傳輸資料內容。

(17)

2.1.2 標籤碰撞問題(Tag Collision)

所謂的標籤碰撞問題[1],就是在 RFID 系統中,讀取器有能力同時跟多個 標籤通訊,當多個標籤同時傳送資料給讀取器時,就會造成標籤的辨識失敗,

因為多個標籤同時傳送訊號時就會被彼此訊號干擾,也會造成讀取器無法接受 到正確的訊號,圖 2.3 中說明當 Tag A、B、C、D、E 多個標籤同時傳送訊號給 Reader,因這些干擾使得整個系統的效能大幅降低。

圖 2.3 標籤碰撞

本篇論文的探討重點,即是針對標籤碰撞的現象發生時,提出一個讓讀取 器可以正確且快速的把範圍內的標籤辨識完成的演算法,而該演算法是基於後 續章節提出的相關研究為基礎所推演出的演算法。

(18)

2.2 相關技術研究

在無線通訊系統中,為了避免碰撞和共享頻寬的限制,因此有許多的多重 存取技術的產生,其本上又可分為空間分割多重存取 (SDMA)、分頻多重存取 (FDMA) 、 分 碼 多 重 存 取 (CDMA) 及 分 時 多 重 存 取 (TDMA) 四 大 類 型 [3][4][11][13]。

2.2.1 空間分割多重存取 (Space Division Multiple Access)

空間分割多重存取 (Space Division Multiple Access, SDMA)[4][11][13]主要 是用空間區隔的概念,避免讀取器與標籤間溝通的無線電波碰撞問題,也就是 依據讀取器的有效距離將讀取器進行區分,以圖 2.4 說明固定式讀取器的天線會 依不同的方向來錯開通訊範圍,以避免碰撞問題。

(19)

2.2.2 分頻多重存取 (Frequency Division Multiple Access)

分頻多重存取 (Frequency Division Multiple Access, FDMA) [4][11][13]是利 用讀取器和標籤間傳遞訊號所用的頻率進行區分,來預防訊號碰撞的一種方法,

簡單來說就是讀取器使用一個相同的頻率發送請求訊號給標籤,但有多個標籤 回應時,會將一個一定的頻率範圍,再細切為數個更細的頻道分配給不同的電 子標題進行資料傳輸,以避免多個標籤造成的碰撞問題,圖 2.5 說明了這個技術,

當讀取器發出請求訊號,各個標籤依照被分配的頻率回應讀取器,避免使用相 同頻率照成碰撞問題。

圖 2.5 分頻多重存取(Frequency division multiple access , FDMA)示意圖

(20)

2.2.3 分碼多重存取 (Code Division Multiple Access)

分碼多重存取 (Code Division Multiple Access, CDMA) [11][13]是利用編碼 的概念來區分出數個同時間傳輸的資訊,而且可以使用整個頻寬來傳輸。如圖 2.6 讀取器將每個標籤各分配一個序列碼,就可以在相同頻段中加以區隔,達到 同頻率同時傳送多個訊號的目的,而訊號彼此間不會造成干擾。

圖 2.6 分碼多重存取(Code division multiple access, CDMA)示意圖

(21)

2.2.4 分時多重存取 (Time Division Multiple Access)

分時多重存取 (Time Division Multiple Access, TDMA)[13]是預防訊號碰撞 中最常見的技術,其原理是利用資料傳送時的時間差,將通訊的時間加以切割 並分配給不同的標籤進行資料傳輸。以圖 2.7 為例,當讀取器廣播一個請求訊號 給在感應範圍內的所有標籤,讀取器以時間切割的分式,切割出不同的傳輸時 間並分配給標籤進行資料傳送,以減少碰撞的發生。

圖 2.7 分時多重存取(Time division multiple access , TDMA)示意圖

以上介紹的各種多重存取技術,因為讀取器成本的問題,所以 RFID 系統中 最常採用分時多重存取方式來預防碰撞,如圖 2.8 所示,分時多重存取又可分為 由 讀 取 器 主 導 的 讀 取 器 驅 動 (Reader-Driven)[13] 及 由 標 籤 主 導 的 標 籤 驅 動 (Tag-Driven)[13],而讀取器主導的讀取器驅動通常適用於被動式標籤,所以在下 一章節中,我們將介紹以讀取器驅動為主的 Aloha Based[1][5][6][7]和 Tree Based[2][3][8][9] [10][14]兩種標籤防碰撞演算法。

(22)

Multi-Access / Anti-Collision Procedures

Multi-Access / Anti-Collision Procedures

SDMASDMA TDMATDMA FDMAFDMA CDMACDMA

Tag-Driven For Active Tag (Asynchronous)

Tag-Driven For Active Tag (Asynchronous)

Reader-Driven For Passive Tag

(synchronous) Reader-Driven For Passive Tag

(synchronous)

Deterministic (Tree Base) Deterministic

(Tree Base)

Probability (Aloha Base)

Probability (Aloha Base)

Binary Tree Algorithm Binary Tree

Algorithm

Query Tree Algorithm Query Tree

Algorithm

Framed Slotted Aloha Algorithm Framed Slotted Aloha Algorithm

Q+ Aloha Algorithm Q+ Aloha Algorithm

圖 2.8 防碰撞協定分類

2.3 RFID 標籤防碰撞演算法

RFID 系統(Radio Frequency Identification,無線射頻辨識系統)是由無線 電波傳送訊號,若是只有一個標籤傳送訊號,讀取率自然高也不會有問題產生,

但是當同時有兩個以上的標籤對同一個讀取器傳送訊號時,讀取器就會產生無 法辨識的情況,而這種現象我們稱為 RFID 標籤的訊號碰撞。為了要避免讀取器 無法辨識標籤的情況,處理標籤訊號碰撞的技術就很重要,所以我們需要一種 機制,使讀取器能夠順利的完成所有標籤的辨識,而這種機制又稱為「防碰撞 協定」、「抗干擾性能」、「多路存取」等,在本篇論文中,我們稱這種機制 為 RFID 標籤防碰撞演算法,而目前主要標籤的防碰撞演算法主要可分成兩種型 態,分別為 Aloha Based[1][5][7][12]和 Tree based[2][3][8][9] [10][14]兩大類標籤 防碰撞演算法,後續小節中,我們將探討各式 RFID 標籤防碰撞演算法。

(23)

2.4 Aloha Based 標籤防碰撞演算法

Aloha Based 標籤防碰撞演算法中[1][5] [7][12],讀取器會發送請求訊息,然 後等待標籤回應 ID;而標籤回應讀取器的方式,是在收到讀取器的請求後,基 於一個時間規範中,對讀取器回覆 ID;基於此機制,唯有在標籤的傳送 ID 的 過程中,沒有其它的標籤同時在對讀取器進行資料傳輸動作,該標籤才可被讀 取器成功辨識。但若同時有兩個或有兩個以上的標籤同時傳送 ID 給讀取器時,

便會造成碰撞,若發生了碰撞的情形,標籤必需等待一段時間後,再重新傳送 給讀取器,直到讀取器收到唯一的標籤回應後,即完成對標籤的辨識。在 Aloha Based 標籤防碰撞演算法中,最常見的可分為 Pure Aloha 演算法[7]和 Slotted Aloha 演算法[7]兩種,及後來基於這兩種演算法演變出來變型的 Aloha Based 標 籤防碰撞演算法。

2.4.1 Pure Aloha 演算法

Pure Aloha 演算法[7]的基本原理很簡單,當讀取器請求訊息,標籤會不定 時的對讀取器傳送本身的 ID,在沒有碰撞的情況下,標籤可以被讀取器順利的 辨識。但是當碰撞的情況發生時,讀取器則無法辨識發生碰撞的標籤;這些無 法順利辨識的標籤,必需在一段隨機時間後再重新對讀器傳送標籤的 ID,直到 所有在通訊範圍內的標籤都順利的被讀取器辨識。在 Pure Aloha 演算法中,因 為有著標籤可以隨時傳送 ID 給讀取器的特性,所以造成發生碰撞的機率相對較 大,使得 RFID 系統的辨識效能較差。

以圖 2.9[7]為例說明 Pure Aloha 演算法的運作方式。圖中有 Tag A、Tag B、

Tag C、Tag D 共四個標籤在讀取器的查詢範圍中。讀取器先發送請求訊息給範 圍內的所有標籤,所以 Tag A、Tag B、Tag C 與 Tag D 在亂數時間回應本身的 ID。首先讀取器先收到由 Tag B 所傳來的 ID,但是在 Tag B 傳送 ID 的過程, Tag

(24)

A 與 Tag D 也接著對讀取器傳送本身的 ID,所以 Tag A、Tag B 與 Tag D 三均不 被讀取器所辨識,之後 Tag C 回傳標籤 ID 給讀取器,過程中因為沒有其它的標 籤對讀取器進行傳送,所以 Tag C 可以被讀取器成功辨識。整個辨識過程所有 未被辨識的標籤依此流程反覆進行,直到所有的標籤被成功辨識流程才完成。

C C C S S

Reader Request

Response S S

Tag A

Tag B

Tag C

Tag D

ID

ID ID

ID ID

ID

ID

C Collision S Success

圖 2.9 Pure Aloha 演算法示意圖

Pure Aloha 演算法可能因為標籤反覆的發生碰撞,造成讀取器無法順利且正 確的傳送標籤的 ID。因此陸續發展出了許多改良的演算法,如具有時槽(time slots)特性的 Slotted Aloha 演算法[7]等。

2.4.2 Slotted Aloha 演算法

Slotted Aloha 演算法[7]是利用多個連續的時槽(time slots)來辨識多個標籤。

一個時槽是指一個時間間隔(time interval),即是指電子標籤傳送完整的 ID 所需 要的時間長度。而電子標籤會隨機的挑選時槽做回應,當時槽中僅被一個標籤 所佔有並回應且無任何碰撞發生,此標籤即可被讀取器成功辨識,如有多個電 子標籤回覆在一個時槽會產生碰撞情形,此時電子標籤必須要重新等待讀取器 再次發送一個請求的訊號來回覆 ID,如此重覆進行直到所有的電子標籤都被完

(25)

我們以圖 2.10[7]的範例說明 Slotted Aloha 演算法的運作方式,在讀取器的 查詢範圍中有 Tag A、Tag B、Tag C、Tag D 四個標籤,首先讀取器發送一個請 求訊號給所有的標籤,指派 Slot 1 給 Tag B,Tag B 會在 Slot 1 內回傳完 ID,讀 取器即可成功辨識 Tag B,接著讀取器指派 Slot 2 給 Tag A 和 Tag C,Tag A 和 Tag C 同時將本身的 ID 在 Slot 2 內回傳給讀取器,因此產生碰撞現象;辨識的 過程將依此流程反覆進行,在 Slot 3 到 Slot 5 等三個時槽裡間讀取器將陸續辨識 到 Tag D、Tag C 和 Tag A,直到所有的標籤被辨識為止。

S C S

Reader Request

Response S S

Tag A

Tag B

Tag C

Tag D

ID

ID

C Collision S Success

Slot1 Slot2 Slot3 Slot4 Slot5

ID

ID

ID

ID

圖 2.10 Slotted Aloha 演算法示意圖

Slotted Aloha 演算法雖然改善了 Pure Aloha 演算法的缺點,不過會因時槽分割的 多寡而影響到 RFID 系統整體的辨識率,且空時槽造成無謂的效能浪費。所以陸 續不斷還有學者改良出更有效率的 Aloha Based 的演算法。大多都是以上述二種 演算法為基礎做改良,以得到更好的辨識效能。接下來的章節,我們會針對 Tree Based 的防碰撞演算法做探討。

(26)

2.5 Tree Based 標籤防碰撞演算法

標籤的ID code或稱UID(Unique Identification),可以用N階層的全二元樹(full binary tree)來表示。 如圖2.11[15],是4bit的全二元樹狀圖。第一階層即為ID code 的最高位元(MSB),經過每一階層的節點,一直到第5階層為葉節點。每個葉節 點皆可代表一個完整的4bit 標籤ID碼。

MSB

LSB

0110 0111 1000 1001 1101

圖 2.11 利用樹狀圖來表示 ID 碼

在 Tree Based 標籤防碰撞演算法[2][3][8][9][10][14]中常見的方法可分為 Binary Tree 演算法 ( BT )[14]和 Query Tree 演算法( QT )[2]兩類。而上述的兩種 Tree Based 演算法,在許多方面都有共同點,這些共同點也逐漸形成 RFID 標籤 辨識演算法的基礎,而這些共同點共包含了下列三點要素:

1. 讀取器和標籤間的辨識過程採用一問一答的方式。

2. 讀取器根據標籤的回覆決定下一次的詢問。

3. 讀取器和標籤間的辨識過程,必需持續到所有的標籤都被讀取器順利辨 識為止。

(27)

2.5.1 Binary Tree 演算法 (BT)

Binary Tree 演算法[14]以一個位元為單位,讀取器會廣播 0 或 1 的位元給所 有的標籤,而查詢的順序是從最高位元開始至最低位元,當標籤收到讀取器送 來的這個位元,會將這個位元的值和標籤本身 ID 所對應的位元值相比對,如果 兩者的位元值相同,標籤就會發出本身 ID 的下一個位元值給讀取器,如果兩者 的位元值不同,則該標籤就會進入休眠模式不做任何的回應,直到下一回合查 詢回復成動作模式 (Active Mode),而這樣的程序會反覆的持續到讀取器順利辨 識出一個標籤後,讀取器就完成了一回合的查詢,讀取器會一直反覆這樣的查 詢動作,直到所有的標籤都被讀取器順利辨識為止。

舉例說明,如圖 2.12 所示:圖中有六個四位元標籤依序為 Tag A、B、C、D、

E 與 Tag F,其 UID 依序為 0110、0111、1010、1011、1100、1101。接下來敘 述 Binary Tree 演算法的辨識流程:首先讀取器廣播第一位元值 0 為查詢字元,

Tag A 與 Tag B 標籤 ID 的第一字元為 0 符合讀取器查詢字元,Tag C、Tag D、

Tag E 與 Tag F 的標籤 ID 第一字元為 1 不符合讀取器查詢字元,因此此次查 詢只有 Tag A 與 Tag B 回覆讀取器標籤 ID 的第二字元為 1,因為不是碰撞狀態,

因此讀取器下一個查詢字元不會對 0 進行查詢,此時 Tag C、Tag D、Tag E 與 Tag F 則進入休眠模式;讀取器在發出第二個查詢字元 1,Tag A 與 Tag B 標籤 ID 的 第二字皆為 1 符合讀取器查詢字元,因此 Tag A 與 Tag B 回覆讀取器標籤 ID 的 第三字元為 1,因為不是碰撞狀態,因此讀取器下一個查詢字元仍然不會對 0 進 行查詢;讀取器在發出第三個查詢字元為 1,此時標籤內只有 Tag A 與 Tag B 仍 為動作模式,且仍符合標籤第三字元的位元值,因此 Tag A 回覆讀取器第四位 元的標籤 ID 是 0,但 Tag B 回覆給讀取器的第四位元標籤 ID 是 1,因此在 讀取器此時發生碰撞現象;因上一次查詢結果為碰撞,讀取器會使用 0 做為此 一位元的查詢值,在此回合中,Tag B 仍因為標籤 ID 不符,進入休眠模式,依 TagA 的回應,讀取器可成功辨識 Tag A,而被成功辨識的標籤後續將對讀取器

(28)

的查詢動作不會做任何為應。

接著讀取器會喚醒所有已休眠的標籤,再次發出第二回合第一字元的查詢 字元 0,此時只有 Tag B 符合查詢的第一字元標籤 ID,Tag C、Tag D、Tag E 與 Tag F 則再度進入休眠模式,Tag B 的標籤 ID 則在後續查詢字元依序為 1、1、1 的一問一答中被讀取器成功辨識;依此方式反覆進整個讀取器辨識標籤從喚醒 到成功辨識的過程,一直行到所有的標籤被讀取器成功辨識為止。完整的辨識 過程如表 2.1 所示

表 2.1 Binary Tree 演算法範例詳細查詢流程

步驟 查詢位元 查詢結果

1 ‘0’(3) Tag A & Tag B Response ‘1’(2), Collision 2 ‘1’(2) Tag A & Tag B Response ‘1’(1), Collision

3 ‘1’(1) Tag A Response ‘0’(0), Tag B Response ‘1’(0) ,Success Tag A.

4 Wake up

5 ‘0’(3) Tag B Response ‘1’(2) 6 ‘1’(2) Tag B Response ‘1’(1)

7 ‘1’(1) Tag B Response ‘1’(0), Success Tag B 8 Wake up

9 ‘1’(3) Tag C & Tag D Response ‘0’(2), Tag E & Tag F Response ‘1’(2), Collision

10 ‘0’(2) Tag C & Tag D Response ‘1’(1), Collision

11 ‘1’(1) Tag C Response ‘0’(0), Tag D Response ‘1’(0) , Success tag C 12 Wake up

13 ‘1’(3) Tag D Response ‘0’(2), Tag E & Tag F Response ‘1’(2), Collision 14 ‘0’(2) Tag D Response ‘1’(1)

15 ‘1’(1) Tag D Response ‘1’(0), Success Tag D 16 Wake up

17 ‘1’(3) Tag E & Tag F Response ‘1’(2), Collision 18 ‘1’(2) Tag E & Tag F Response ‘0’(1), Collision

19 ‘0’(1) Tag E Response ‘0’(0), Tag F Response ‘1’(0), Success Tag E 20 Wake up

21 ‘1’(3) Tag F Response ‘1’(2) 22 ‘1’(2) Tag D Response ‘0’(1)

(29)

0 1 1 1 0

0 1 1 0

0 1 0

1 1

Collision

Success Tag A

0110

Tag B 0111

Tag C 1010

Tag D 1011

Tag E 1100

Tag F 1101

ROOT

圖 2.12 Binary Tree 演算法範例查詢示意圖

Binary Tree演算法有以下幾個優點:

 標籤因演算法較簡單,所以其電路設計不複雜。

 此演算法因每次只傳送1Bit,適用於不同ID code長度的標籤使用。

但也因為Binary Tree演算法每次只傳送1bit,而且必需由最高位元(MSB)查詢 到最低位元(LSB)的上一層才可以辨識到一個標籤,所以效率較低。

(30)

2.5.2 Query Tree 演算法 (QT)

Query Tree 演算法(QT )[2]以一次辨識一個位元串為原則,從最高位元開始 至最低元位,逐次的增加欲辨識位元串的長度,每次詢問時讀取器會廣播一個 詢問位元串,收到該位元串之標籤,會由最高位元開始檢查自己的 ID 前幾個位 元是否與該位元串相同,如果相同,標籤就會回傳本身的 ID 給讀取器,如果不 同,標籤不會做任何回應,但若有兩個以上的標籤同時回傳 ID 給讀取器,就會 造成碰撞而無法被讀取器順利辨識,此時讀取器就再廣播下一組位元串進行下 一回合的辨識,隨著碰撞的次數增加,位元串的長度也會不斷的增加,直到辨 識出一個標籤為止。

如圖 2.13,我們用和上個章節 Binary Tree 一樣的的範例,這次是以 Query Tree 演算法來辨識這六個四位元標籤。接下來敘述 Query Tree 演算法的辨識流 程:首先讀取器會廣播第一個查詢位元串為 0,此時 Tag A 和 Tag B 的 ID 最高 的位元值符合查詢位元串,所以 Tag A 和 Tag B 都同時回應給讀取器造成了碰 撞,之後讀取器便會在發生碰撞的位元串增加一個位元,成為 00、01 的查詢位元 串。接下來讀取器會廣播位元串為 1,此時 Tag C 丶 Tag D 丶 Tag E 丶 Tag F 都 同時回應給讀取器造成了碰撞,同樣的讀取器會在增加一個位元到查詢位元串,

成為 10、11。然後讀取器會廣播查詢位元串為 00,這時候沒有任何標籤符合,

所以產生了一個閒置 (Idle)的狀況,讀取器得知沒有任何標籤回應,所以不會增 加查詢位元串,之後依序會 01、10、11,在查詢位元中增加到 011 的時候,就 只有一個 Tag A 符合查詢位元串,所以 Tag A 被讀取器順利辨識,整個讀取器 辨識標籤的過程,一直依此方式反覆進行下去,直到所有的標籤被讀取器順利 辨識為止,而完整的辨識流程如表 2.2 所示。

(31)

表 2.2 Query Tree 演算法範例詳細查詢流程

步驟 查詢字串 查詢結果

1 0 Collision 2 1 Collision

3 00 Idle

4 01 Collision 5 10 Collision 6 11 Collision 7 010 Idle 8 011 Collision 9 100 Idle 10 101 Collision 11 110 Collision 12 111 Idle

13 0110 Success Tag A 14 0111 Success Tag B 15 1010 Success Tag C 16 1011 Success Tag D 17 1100 Success Tag E 18 1101 Success Tag F

00

Collision Success

Tag A 0110

Tag B 0111

Tag C 1010

Tag D 0111

Tag E 1100

Tag F 1101

Idle

ROOT

0 1

01 10 11

010 011 100 101 110 111

圖 2.13 Query Tree 演算法範例查詢示意圖

(32)

我們從 BT 演算法和 QT 演算法的實例結果,可以發現碰撞次數與閒置次數 的數量是非常多,因此增加了讀取器多發送出許多無效的查詢命令,導致無線 射頻辨識系統的效率不佳,如果可降低碰撞次數與閒置次數的問題,就可減少 無效的查詢命令,提升無線射頻辨識系統的效率。

2.5.3 Pre-Detection Query Tree 演算法(PDQT)

Pre-Detection Query Tree演算法[20]主要觀念是在現行的標籤答覆技術上,加 入時槽前偵測訊號機制。前偵測查詢樹協定中,標籤必須在4個偵測時槽後才能 答覆,其所增加的4個偵測時槽是用來傳遞前偵測訊號。而標籤若符合讀取器發 出的前綴字串時,前偵測訊號會根據前綴字串後的2個位元選擇指定時槽回覆。

接下來我們介紹PDQT演算表的前偵測機制,讀取器發送查詢的前綴字串後,

在標籤回覆本身的UID前,會先經過前偵測階段。前偵測階段分成4個偵測時槽,

分別為dts1-dts4(detection time-slot 偵測時槽,簡稱dts)。標籤若符合前綴字串時,

會根據前綴字串後續的2個位元選擇偵測時槽(dts)回覆前偵測訊號。經過四個時 槽的前偵測訊號偵測後,讀取器便可預先知道哪個時槽存在有標籤,哪個時槽 閒置,不存在標籤。在下一次的查詢命令,便不需要發送查詢字串給不存在的 標籤,當讀取器不會發送不存在標籤的查詢字串時,表示不會發生不必要的閒 置週期,因此RFID讀取器發送的查詢命令次數將會降低。

舉例說明,如圖2.14所示:圖中有六個四位元標籤依序為Tag A、B、C、D、

E與Tag F,其UID依序為0110、0111、1001、1010、1101、1110。

(33)

00

00 01 10 11 E

00 01 10 11 00 01 10 11

Tag A 0110

Tag B 0111

Tag C 1001

Tag D 1010

Tag E 1101

Tag F 1110

Collision Success

不查詢之節點

01 10 11

ROOT

圖2.14 PDQT演算法查詢範例示意圖

首先讀取器發出一個空字串的查詢命令,所有的標籤將參與回覆。如圖2.15,

此時前偵測運作流程如下。

 dts1為前綴字串後2個位元為"00"的回覆時槽,因為沒有標籤的前2個位元為

"00",因此dts1時槽沒有標籤回覆前偵測訊號。

 dts2為前綴字串後2個位元為"01"的回覆時槽,Tag A、Tag B符合回覆條件,

因此dts2時槽Tag A、Tag B回覆前偵測訊號。

 dts3為前綴字串後2個位元為"10"的回覆時槽,Tag C、Tag D符合回覆條件,

因此dts3時槽Tag C、Tag D回覆前偵測訊號。

 dts4為前綴字串後2個位元為"11"的回覆時槽,Tag E、Tag F符合回覆條件,

因此dts4時槽Tag E、Tag F回覆前偵測訊號。

TagA 0110

TagB 0111

TagC 1001

TagD 1010

TagE 1101

TagF 1110

Reader

dts1

Pre-detecte time slot Query”Empty”

dts2 dts3 dts4

‘01’

‘00’ ‘10’ ‘11’

time

圖2.15 PDQT前偵測意示圖

(34)

因為 dts1 時槽沒有標籤回覆前偵測訊號,所以在下一回合的查詢,讀取器將不 會發出查詢字串為"00"的查詢命令。將"01"、"10"、"11"加入查詢序列。接著讀 取器依序發出查詢字串為"01"、"10"、"11"的查詢命令。

 查詢字串為"01"的查詢中,符合回覆條件的 Tag A、Tag B 參與回覆,所以 產生了碰撞。將前偵測結果加入查詢序列"0110"、"0111"。

 查詢字串為"10"的查詢中,符合回覆條件的 Tag C、Tag D 參與回覆,所以 產生了碰撞。將前偵測結果加入查詢序列"1001"、"1010"。

 查詢字串為"11"的查詢中,符合回覆條件的 Tag E、Tag F 參與回覆,所以產 生了碰撞。將前偵測結果加入查詢序列"1101"、"1110"。

接著讀取器依序發出查詢字串為"0110"、"0111"、"1001"、"1010"、"1101"、"1110"

的查詢命令,依序辨識了 Tag A、Tag B、Tag C、Tag D、Tag E、Tag F。如果完 成了整個辨識流程。詳細的辨識流程如表 2.3。

表 2.3 PDQT 演算法範例詳細查詢流程

步驟 查詢字串 查詢結果 查詢序列

1 Empty Collision 01、10、11

2 01 Collision 10、11、0110、0111

3 10 Collision 11、0110、0111、1001、1010

4 11 Collision 0110、0111、1001、1010、1101、1110 5 0110 Success Tag E 0111、1001、1010、1101、1110

6 0111 Success Tag F 1001、1010、1101、1110 7 1001 Collision 1010、1101、1110

8 1010 Collision 1101、1110 9 1101 Success Tag C 1110

10 1110 Success Tag D 辨識完成

PDQT 演算法以四元樹的基礎改善了 4-ary Query Tree 演算法閒置週期過多的問 題。雖然要多花費前偵測的成本,對減少查詢次數有很大的幫助。

(35)

2.5.4 Threshold Jumping 演算法(TJ)

Threshold Jumping 演算法(TJ) [21]是由 Query Tree 演算法改良的標籤防碰撞 演算法,當讀取器處於一個標籤密度較高的環境中,碰撞的情況可能會發生的 非常頻繁,若使用 Query Tree 演算法會造成讀取器和標籤之間的查詢時間被浪 費而影響效能。TJ 演算法的概念是利用門檻跳躍(Threshold Jumping)的機制,跳 躍門檻值設定為 2I/M ,其中 I 為二元查詢樹的層別,M 則為跳躍門檻值變數,

利用跳躍門檻值的設定,當碰撞的次數超過門檻值,標籤的辨識程序就會跳躍 到二元查詢樹的下一層。利用此機制減少短位元數查詢字串的查詢次數,加快 辨識過程增加查詢位元的發生時間點。圖 2.16 [21]為例,當該層碰撞的次數累計 超過跳躍門檻值,標籤的辨識程序就會跳躍到二元查詢樹的下一層,意即增加 查詢字串的位元長度。

ROOT Inquire

Threshold Jumping

Collision > Threshold Threshold Jumping

I = 1

I = 2

I = 3

圖 2.16 Threshold Jumping 機制示意圖

(36)

Threshold Jumping 演算法的步驟與 Query Tree 演算法相似,仍以一次辨識 一個位元串為原則,從最高位元開始至最低元位,逐次的增加欲辨識位元串的 長度,每次詢問時讀取器會廣播一個詢問位元串,收到該位元串之標籤,會由 最高位元開始檢查自己的 ID 前幾個位元是否與該位元串相同,如果相同,標籤 就會回傳本身的 ID 給讀取器,如果不同,標籤不會做任何回應,但若有兩個以 上的標籤同時回傳 ID 給讀取器,就會造成碰撞而無法被讀取器順利辨識,此時 讀取器會先檢查二元查詢樹這一層的碰撞次數並和所預設的門檻跳躍值比對,

未超過門檻跳躍值讀取器繼續下一回合的辨識,若超過門檻跳躍值,讀取器便 會跳躍到二元查詢樹的下一層做標籤的辨識。

我們用同樣的範例圖 2.17 來說明 TJ 演算法的辨識流程;範例中讀取器對六 個四位元標籤長度的標籤進行辨識,跳躍門檻值的預設為 2I/3 ,其中 I 為二元 查詢樹的層別。首先讀取器會廣播查詢字串 0,此時 Tag A、Tag B 符合查詢字 串,同時對讀取器回覆因此造成了碰撞,累計碰撞次數 1 次,超越在二元樹查 詢樹的第一層中跳躍門檻值為 ,讀取器對標籤的辨識程序將會跳躍 到二元查詢樹的第二層。第二層的門檻跳躍值為 ,接著讀取器廣播 查詢字串為 00,此時沒有任何標籤符合查詢字串,產生了閒置週期。讀取器繼 續於第二層進行辨識,當讀取器廣播查詢字串為 01,Tag A、Tag B 符合查詢 字串,因此產生了碰撞,此時讀取器於第二層累計碰撞次數為 1 未大於跳躍門 檻值,因此讀取器繼續於第二層進行辨識。接下來讀取器廣播查詢字串為 10,

Tag C、Tag D 符合查詢字串,因此產生了碰撞,此時累計碰撞次數為 2,超越 在第二層中跳躍門檻值,所以讀取器對標籤的辨識程序將會跳躍到二元查詢樹 的第三層。依此類推到了第四層依序廣播查詢字串(0110、0111、1010、0111、

1100、1101)而成功辨識了 Tag A、B、C、D、E 和 Tag F,完成這此次的辨識流 程。而完整的辨識流程如表 2.4 所示。

(37)

表 2.4 Threshold Jumping 演算法詳細查詢流程

步驟 查詢字串 查詢結果

1 0 Collision

2 00 Idle

3 01 Collision

4 10 Collision

5 010 Idle

6 011 Collision

7 100 Idle

8 101 Collision 9 110 Collision 10 0110 Success Tag A 11 0111 Success Tag B 12 1010 Success Tag C 13 0111 Success Tag D 14 1100 Success Tag E 15 1101 Success Tag F

Collision Success

Tag A 0110

Tag B 0111

Tag C 1010

Tag D 1011

Tag E 1100

Tag F

Idle 1101

ROOT 0

00 01 10

010 011 100 101 110

I=1

I=2

I=3 Jumping

圖 2.17 Threshold Jumping 演算法示意圖

(38)

2.5.5 Wrap-Around Scan 演算法 (WAS)

Wrap-Around Scan 演算法 (WAS) [21]是以 Threshold Jumping 演算法的缺點 修改的標籤防碰撞演算法,根據 Threshold Jumping 演算法的機制,讀取器查詢 的方式永遠都是由二元查詢樹的左邊往右查詢,這會造成二元查詢樹的左子樹 和右子樹在辨識過程中的不平衡,所以提出了 Wrap-Around Scan 機制來解決不 平衡辨識問題。以圖 2.18[21]為例說明,當碰撞的次數超過門檻值,Tag 的辨識 程序就會跳躍到二元查詢樹的下一層,在發生跳躍的情況後,查詢的方向將會 被改變,也就是說,如果二元查詢樹查詢的方向原本是由左至右,在跳躍後將 會反轉成由右至左。反之,若原本的查詢方向原本是由右至左,在跳躍後將會 反轉成由左至右。

ROOT Inquire

Threshold Jumping

Collision > Threshold Threshold Jumping I = 1

I = 2

I = 3 Wrap-Around Scan

圖 2.18 Wrap-Around Scan 機制示意圖

(39)

接下來我們用一個範例來比較 TJ 演算法與 WAS 演算法的辨識流程。如圖 2.19、圖 2.20。分別為 TJ 演算法與 WAS 演算法的辨識示意圖。圖中共有 Tag A 0001、Tag B 0010、Tag C 0100、Tag D 0111、Tag E 1100 與 Tag F 1111 六個四 位元標籤。以下我們針對 TJ 演算法與 WAS 演算法的辨識流程做說明。

 Threshold Jumping 演算法

00 01

Collision Success

Tag A 0001

Tag B 0010

Tag C 0100

Tag D

0111 Tag E

1100

Tag F 1111

Idle

ROOT 0

010 011 110

I=1

I=2

I=3 Jumping

000 001 100 101 111

圖 2.19 Threshold Jumping 演算法(比較範例)

 第一層:首先讀取器會廣播第一個查詢字串 0,此時 Tag A、Tag B、Tag C 及 Tag D 符合查詢字串,所以都同時對讀取器回應因此造成了碰撞,累 計碰撞次數 1 次,大於在二元樹查詢樹的第一層中跳躍門檻值 , 讀取器對標籤的辨識程序將會跳躍到二元查詢樹的第二層。

 第二層:二元查詢樹的門檻跳躍值為 ,第二層的開始,讀取 器廣播查詢字串為 00,此時 Tag A 和 Tag B 符合查詢字串,同時回應給 讀取器而造成了碰撞,此時讀取器於第二層累計碰撞次數為 1 未大於跳 躍門檻值,因此讀取器繼續於第二層進行辨識。當讀取器廣播查詢字串 為 01,Tag C、Tag D 的 ID 符合查詢字串,同時回應給讀取器而造成了 碰撞,此時單層累計碰撞次數 2 超越了跳躍門檻值,讀取器於下一回合 查詢就會跳躍到二元樹查詢樹的第三層標籤的辨識。

(40)

 第三層:讀取器依序廣播查詢字串(000、001、010、011、100、101、110、

111);在(000、001、010、011、110、111)成功辨識了 Tag A、B、C、D、

E 和 Tag F,而在(100、101)因沒有標籤符合查詢字串,所以產生了閒置。

如此完成這此次的辨識流程。而完整的辨識流程如表 2.5 所示。

表 2.5 Threshold Jumping 演算法詳細查詢流程(比較範例)

步驟 查詢字串 查詢結果

1 0 Collision

2 00 Collision

3 01 Collision

4 000 Success Tag A

5 001 Success Tag B

6 010 Success Tag C

7 011 Success Tag D

8 100 Idle

9 101 Idle

10 110 Success Tag E

11 111 Success Tag F

 Wrap-Around Scan 演算法

01 10 11

Collision Success

Tag A 0001

Tag B 0010

Tag C 0100

Tag D

0111 Tag E

1100

Tag F 1111

Idle

ROOT 0

010 011 110

I=1

I=2

I=3 Jumping

000 001 111

圖 2.20Wrap-Around Scan 演算法(比較範例)

(41)

 第一層(由左向右查詢):首先讀取器會廣播第一個查詢字串 0,此時 Tag A、

Tag B、Tag C 及 Tag D 符合查詢字串,所以都同時對讀取器回應造成了碰 撞,累計碰撞次數 1 次,大於在二元樹查詢樹的第一層中跳躍門檻值為 ,讀取器對標籤的辨識程序將會跳躍到二元查詢樹的第二層。

 第二層(由右向左查詢):二元查詢樹的門檻跳躍值為 ,接下來 讀取器廣播查詢字串為 11,此時 Tag E 和 Tag F 的 ID 符合查詢字串,所 以同時回應給讀取器造成了碰撞,此時讀取器於第二層累計碰撞次數為 1 未大於跳躍門檻值,因此讀取器繼續於第二層進行辨識,當讀取器廣播查 詢字串 10,此時沒有任何標籤符合查詢位元串,所以產生了閒置的狀況。

接著讀取器廣播查詢字串為 01,Tag C、Tag D 的 ID 符合查詢字串,所以 同時回應給讀取器造成了碰撞,此時單層累計碰撞次數為 2 超越了跳躍門 檻值,讀取器下次查詢就會跳躍到二元樹查詢樹的第三層辨識標籤。

 第三層(由左向右查詢):讀取器依序廣播查詢字串(000、001、010、011、

110、111);成功辨識了 Tag A、B、C、D、E 和 Tag F。如此完成這此次 的辨識流程。而完整的辨識流程如表 2.6 所示。

表 2.6 Wrap-Around Scan 演算法詳細查詢流程(比較範例)

步驟 查詢字串 查詢結果

1 0 Collision

2 11 Collision

3 10 Idle

4 01 Collision

5 000 Success Tag A

6 001 Success Tag B

7 010 Success Tag C

8 011 Success Tag D

9 110 Success Tag E

10 111 Success Tag F

我們可以發現 WAS 演算法的辨識流程因第 3 步的查詢結果 Idle,所以去除 了 TJ 演算法第 8、9 步。因而減少了一次查詢,進而增進了演算法的效能。

(42)

2.5.6 intelligent Wrap-Around Scan 演算法 (iWAS)

intelligent Wrap-Around Scan 演算法 (iWAS)[3][4]是以 Wrap-Around Scan 演算法為基底而改良的演算法。iWAS 演算法利用碰撞節點在二元樹裡的分布特 性,在特定組合裡,預測下一次的查詢狀況或是其子節點的狀況分布。如圖 2.21 描述碰撞節點與其子節點的四種組合狀況:

Collision Success Idle

Case1 Case2 Case3 Case4

圖 2.21 碰撞節點與子節點組合

 Case 1 是碰撞節點下,子節點也是兩個碰撞節點。

 Case 2 是碰撞節點下,子節點為一個成功辨識節點與一個碰撞節點。

 Case 3 是碰撞節點下,子節點是一個閒置節點與一個碰撞節點。

 Case 4 是碰撞節點下,子節點同時為兩個成功辨識節點。

如圖 2.22,我們可以看到 Case1~4 在二元樹中的分佈,而 iWAS 演算法利 用的是 Case 3 與 Case 4 的特性。以下我們將詳細的說明 Case3 和 Case4 是如 何運用在 iWAS 演算法。

(43)

11

Collision Success Idle Jumping I=1

I=2

I=3

Tag D 1110

Tag E 1111 Tag A

1000 Tag B

1001

Tag C 1011

Case 3 Case 4

Case 2

Case 1

Case 4

100 101 110 111

圖 2.22 intelligent Wrap-Around Scan 機制示意圖

 Case 3:在 I=2 層的查詢節點 11 為碰撞節點,當我們在 I=3 層的查詢節點 110 為閒置節點時。根據 Case 3 ,節點 111 必為碰撞節點。因此讀取器不 用對 111 節點發出查詢命令,便可以知道 111 為碰撞節點。

 Case 4:在 I=3 層的查詢節點 100 為碰撞節點時,因為 I=3 層為此查詢樹的 N-1 層,所以 100 以下兩個子節點的狀況必為成功辨識。根據 Case 4,我們 就可以在 N-1 階層就完成對標籤的辨識,因此成功辨識 Tag A、Tag B

 Case 3 + Case 4:在上述的 Case 3 中我們得知節點 111 為碰撞節點,而又是 在此查詢樹的 N-1 層,因此可以直接成功辨識 Tag D、Tag E。

接下來我們用一個範例來說明 iWAS 演算法的辨識流程,如圖 2.23 有六個 四位元標籤:Tag A : 0110、Tag B : 0111、Tag C : 1010、Tag D : 1011、Tag E : 1100 與 Tag F : 1101。

(44)

11

Collision

Success for Case 4

Tag A 0110

Tag B 0111

Tag C 1010

Tag D 1011

Tag E 1100

Tag F 1101

Idle

ROOT 0

10

010 011 100 101 110 Jumping

I=1

I=2

I=3

Jumping for Case 3

Case 3

Case 4 Case 4

000 001 111

圖 2.23 iWAS 演算法範例查詢示意圖

以下為針對辨識流程詳細解說:

首先第一層由左向右查詢,讀取器發出查詢字串為"0"的查詢命令,Tag A、

Tag B 符合條件都參與回覆,因此發生碰撞,累計碰撞節點總數為 1,大於第一 層跳躍門檻值 。所以跳躍到第二層查詢。

接著第二層由右向左查詢,讀取器發出查詢字串為"11"的查詢命令,Tag E、

Tag F 符合條件都參與回覆,因發生碰撞,累計碰撞節點總數為 1,未大於跳躍 門檻值 。讀取器繼續發出查詢字串為"10"的查詢命令,Tag C、Tag D 符合條件都參與回覆,因發生碰撞,累計碰撞節點總數為 2,大於跳躍門檻值,

跳躍到第三層查詢。

第三層由左向右查詢,讀取器依序發出查詢字串為"000"、"001"、"010"的 查詢命令,因為沒有標籤符合回覆條件,所以為閒置節點。接著讀取器發出查 詢字串為"011"的查詢命令,Tag A、Tag B 符合條件都參與回覆,因此發生碰撞,

因為第三層為 N-1 層,所以根據 Case 4 成功辨識 Tag A、Tag B。接著讀取器發 出查詢字串為"100"的查詢命令,因為沒有標籤符合回覆條件,所以為閒置節點,

(45)

因"10"為碰撞節點,所以根據 Case 3 "101"為碰撞節點。又根據 Case 4 成功辨識 Tag C、Tag D。接著讀取器發出查詢字串為"110"的查詢命令,Tag E、Tag F 符 合條件都參與回覆,因此發生碰撞,因為第三層為 N-1 層,所以根據 Case 4 成 功辨識 Tag E、Tag F。讀取器發出查詢字串為"111"的查詢命令,因為沒有標籤 符合回覆條件,所以為閒置節點。以上完成此次查詢,而完整的辨識流程如表 2.7。

表 2.7 intelligent Wrap-Around Scan 演算法詳細查詢流程

步驟 查詢字串 查詢結果

1 0 Collision

2 11 Collision 3 10 Collision 4 01 Collision

5 000 Idle

6 001 Idle

7 010 Idle

8 011 Collision , Success Tag A Tag B 9 100 Idle, Identify Tag C Tag D 10 110 Collision, Success Tag E Tag F 11 111 Idle

(46)

2.5.7 Hierarchical Slot Detection 演算法(HSD)

Hierarchical Slot Detection 演算法(HSD)[22]的概念是當標籤密度很高時,高 位元階層中讀取器發出查詢所得到的結果幾乎都是碰撞節點,必須要到後面的 階層才會有機會詢問到空節點或者直接辨識到標籤。所以在 HSD 演算法中讀取 器直接從二元查詢樹的 N-3 階開始查詢,來省略了從最高位元到 N-4 階之中相 當多的碰撞節點。但 N-3 階層之後仍存在許多閒置節點與碰撞節點需要處理。

因此在 N-3 階層之後使用 PDQT 演算法所提出的前偵測技術。將 N-3 層之後拓 展變四元樹,讀取器發送在 N-3 階層之查詢若發生碰撞,前偵測技術會將 N-1 層的閒置節點過濾,保留需要的查詢字串加入查詢序列。接著讀取器在 N-1 層 中依查詢序列發出查詢命令,若查詢結果為碰撞就以 iWAS 中 case4 的二元樹特 性直接辨識碰撞節點以下的二個標籤;或是直接辨識節點下的一個標籤。

舉例說明,如圖2.24所示:圖中有六個四位元標籤依序為Tag A、B、C、D、

E與Tag F,其UID依序為0110、0111、1001、1010、1101、1110。

Tag A 0110

Tag B 0111

Tag C 1001

Tag D 1010

Tag E 1101

Tag F 1110

11 Collision

Success 不查詢之節點

ROOT 0

11 1

00 01 10

Lay N-3

Lay N-1

圖 2.24 HSD 演算法範例查詢示意圖

參考文獻

相關文件

[23] Tiantong You, Hossam Hassanein and Chi-Hsiang Yeh, “PIDC - Towards an Ideal MAC Protocol for Multi-hop Wireless LANs,” Proceedings of the IEEE International Conference

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

Ko, “Fast Intra Prediction Mode Selection Scheme Using Temporal Correlation in H.264,” IEEE International Region 10 Conference, pp. Yu, “A Fast Mode Decision Method for

在 EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860MHz-960MHz Version 1.09 的規範之下,我們選定的 RFID

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications

Sun, “The Application of Role-Based Access Control in Workflow Management Systems”, Proceedings of IEEE International Conference on System, Man and Cybemetics, vol.6, pp.