《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ALOHA 算法的 RFID 防碰撞技術(shù)研究
基于ALOHA 算法的 RFID 防碰撞技術(shù)研究
慧聰網(wǎng)
摘要: 1射頻識(shí)別系統(tǒng)介紹射頻識(shí)別技術(shù)(RadioFrequencyIdentification,RFID)是一種非接觸式自動(dòng)識(shí)別技...
Abstract:
Key words :

  1 射頻識(shí)別系統(tǒng)介紹

  射頻識(shí)別技術(shù)(Radio Frequency Identification,RFID)是一種非接觸式自動(dòng)識(shí)別技術(shù),與傳統(tǒng)的識(shí)別方式相比,它無需直接接觸、無需光學(xué)可視、無需人工干預(yù)即可完成信息輸入和處理,具有操作方便快捷、存儲(chǔ)數(shù)據(jù)量大、保密性好、反應(yīng)時(shí)間短、對(duì)環(huán)境適應(yīng)性強(qiáng)等優(yōu)點(diǎn),現(xiàn)在已廣泛應(yīng)用于工業(yè)自動(dòng)化、商業(yè)自動(dòng)化和交通運(yùn)輸管理等領(lǐng)域,成為當(dāng)前IT業(yè)研究的熱點(diǎn)技術(shù)之一。

  典型的RFID系統(tǒng)主要包括三個(gè)部分:電子標(biāo)簽(tag)、讀寫器(Read)和應(yīng)用系統(tǒng)(如圖1)。電子標(biāo)簽放置在被識(shí)別的對(duì)象上,是RFID系統(tǒng)真正的數(shù)據(jù)載體。通常電子標(biāo)簽處于休眠狀態(tài),一旦進(jìn)入讀寫器作用范圍內(nèi)就會(huì)被激活,并與讀寫器進(jìn)行無線射頻方式的非接觸式雙向數(shù)據(jù)通信,以達(dá)到識(shí)別并交換數(shù)據(jù)的目的。此外,許多讀寫器還都有附加的通信接口,以便將所獲的數(shù)據(jù)傳給應(yīng)用系統(tǒng)進(jìn)行進(jìn)一步的處理。 
 

  2 系統(tǒng)防碰撞

  RFID系統(tǒng)工作時(shí),當(dāng)有2個(gè)或2個(gè)以上的電子標(biāo)簽同時(shí)在同一個(gè)讀寫器的作用范圍內(nèi)向讀寫器發(fā)送數(shù)據(jù)的時(shí)候,就會(huì)出現(xiàn)信號(hào)的干擾,這個(gè)干擾就稱為碰撞,其結(jié)果將會(huì)導(dǎo)致該次傳輸?shù)氖?,因?yàn)楸仨毑捎眠m當(dāng)?shù)募夹g(shù)防止碰撞的產(chǎn)生。

  3 ALOHA算法及仿真結(jié)果

  目前有多種防碰撞算法,主要分為ALOHA算法和樹形分解算法。由于樹形分解法有時(shí)會(huì)使某些標(biāo)簽的識(shí)別延遲可能比較長,所以ALOHA算法因具有簡單易實(shí)現(xiàn)等優(yōu)點(diǎn)而成為應(yīng)用最廣的算法之一。ALOHA算法是在ALOHA思想的基礎(chǔ)上,根據(jù)RFID系統(tǒng)的特點(diǎn)和技術(shù)要求不斷改進(jìn)形成的算法體系。它的本質(zhì)是分離標(biāo)簽的應(yīng)答時(shí)間,使標(biāo)簽在不同的時(shí)隙內(nèi)發(fā)送應(yīng)答。一旦發(fā)生碰撞,一般采取退避原則,等待下一循環(huán)周期發(fā)送應(yīng)答。ALOHA算法又分為幀時(shí)隙ALOHA算法、動(dòng)態(tài)幀時(shí)隙ALOHA算法和分組幀時(shí)隙ALOHA算法等。

  3.1 幀時(shí)隙ALOHA算法

  幀時(shí)隙ALOHA(Framed slotted Aloha,F(xiàn)SA)算法是基于通信領(lǐng)域的ALOHA協(xié)議提出的。在FSA中,"幀"(Frame)是由讀寫器定義的一段時(shí)間長度,其中包含若干時(shí)隙。標(biāo)簽在每個(gè)幀內(nèi)隨機(jī)選擇一個(gè)時(shí)隙發(fā)送數(shù)據(jù)。所有標(biāo)簽應(yīng)答同步,即只能在時(shí)隙(Slot)開始點(diǎn)向讀寫器發(fā)送信息,每個(gè)標(biāo)簽發(fā)送的時(shí)隙是隨機(jī)選擇的。時(shí)隙可以分為三類:空閑時(shí)隙、應(yīng)答時(shí)隙和碰撞時(shí)隙。在空閑時(shí)隙中沒有識(shí)別任何標(biāo)簽,應(yīng)答時(shí)隙中可以正確識(shí)別一個(gè)標(biāo)簽。當(dāng)一個(gè)時(shí)隙中有多個(gè)標(biāo)簽同時(shí)發(fā)送應(yīng)答時(shí)就會(huì)產(chǎn)生碰撞,形成碰撞時(shí)隙。碰撞的標(biāo)簽退出當(dāng)前循環(huán),等待參與新的幀循環(huán)。

  讀寫器當(dāng)前使用幀的長度為N,標(biāo)簽數(shù)為n,在一個(gè)時(shí)隙中存在r個(gè)標(biāo)簽的概率為: 


  當(dāng)r=1時(shí),表示一個(gè)時(shí)隙只有一個(gè)標(biāo)簽,即成功讀取的時(shí)隙。因此,在一個(gè)閱讀周期中讀取標(biāo)簽數(shù)的期望值為: 

  其中,a1 N.n表示只有一個(gè)標(biāo)簽占據(jù)一個(gè)時(shí)隙的時(shí)隙總數(shù)。其中幀長度為N,標(biāo)簽總數(shù)為n。
系統(tǒng)效率為PN: 


  圖2示出了當(dāng)幀的長度為256時(shí)的系統(tǒng)效率。當(dāng)我們要想獲得最大效率時(shí),使得:

  根據(jù)上式可推出當(dāng)幀的長度為N時(shí),效率最高的標(biāo)簽響應(yīng)數(shù)為: 

  當(dāng)標(biāo)簽數(shù)為n時(shí),幀長度的最佳值為:

  當(dāng)n很大時(shí),將上式泰勒爾展開:

  因此,當(dāng)標(biāo)簽數(shù)量與幀時(shí)隙數(shù)相同時(shí),讀寫器的識(shí)讀效率最高。標(biāo)簽數(shù)量與幀時(shí)隙數(shù)不匹配時(shí),識(shí)讀效率會(huì)大大下降。如標(biāo)簽數(shù)遠(yuǎn)小于幀時(shí)隙數(shù),會(huì)造成大量的空閑時(shí)隙數(shù);而當(dāng)標(biāo)簽數(shù)量遠(yuǎn)高于幀時(shí)隙數(shù)時(shí),則會(huì)產(chǎn)生過多的碰撞時(shí)隙;這兩種情況都會(huì)導(dǎo)致識(shí)別效率的降低。

  3.2 動(dòng)態(tài)幀時(shí)隙ALOHA算法

  為使系統(tǒng)效率最優(yōu),提出動(dòng)態(tài)幀時(shí)隙ALOHA(DynamicFramed Slotted Aloha,DFSA)算法,使得幀時(shí)隙數(shù)等于參與循環(huán)的標(biāo)簽數(shù)。DFSA每幀時(shí)隙數(shù)可以根據(jù)標(biāo)簽數(shù)的變化及時(shí)調(diào)整,使得標(biāo)簽數(shù)量與幀時(shí)隙數(shù)匹配。在開始新一個(gè)幀循環(huán)時(shí),讀寫器要對(duì)參與幀循環(huán)的標(biāo)簽數(shù)進(jìn)行估計(jì),這個(gè)過程在整個(gè)算法中發(fā)揮著重要的作用。如果所估計(jì)的標(biāo)簽數(shù)與實(shí)際情況相差甚遠(yuǎn),那么算法的效率就會(huì)發(fā)生大幅的下降,這樣就影響了系統(tǒng)的穩(wěn)定性。

  目前,主要有兩種估計(jì)標(biāo)簽數(shù)的方法。第一種方法是在發(fā)生沖突時(shí),一個(gè)時(shí)隙中至少有兩個(gè)標(biāo)簽發(fā)生碰撞。標(biāo)簽的估計(jì)函數(shù)為:

  N代表當(dāng)前幀的長度,C0表示空閑時(shí)隙,C1表示成功時(shí)隙,Ck表示碰撞時(shí)隙數(shù)。當(dāng)沖突較頻繁時(shí),這種估計(jì)方法的相對(duì)估計(jì)誤差較大,但具有方法簡單等優(yōu)點(diǎn)。

  另一種方法是基于時(shí)隙二項(xiàng)分布來估計(jì)標(biāo)簽數(shù)。假設(shè)N代表當(dāng)前幀的長度,n表示標(biāo)簽數(shù)。標(biāo)簽選擇各個(gè)時(shí)隙數(shù)是等概率的,同一個(gè)時(shí)隙內(nèi)出現(xiàn)r個(gè)標(biāo)簽的概率,根據(jù)二項(xiàng)分布原理,得:
 


  利用切比雪夫不等式估計(jì)標(biāo)簽數(shù)目。 


  3.3 分組幀時(shí)隙ALOHA算法

  在RFID系統(tǒng)中,我們經(jīng)常使用動(dòng)態(tài)幀時(shí)隙ALOHA算
法。但是由于最大幀時(shí)隙數(shù)有限制。當(dāng)標(biāo)簽數(shù)量過大時(shí),我們不能無限制地增加幀的時(shí)隙數(shù)。因此提出了分組幀時(shí)隙ALOHA(Group Framed Slotted Aloha,GFSA)算法。分組的目的是要限制標(biāo)簽的應(yīng)答數(shù)量,使得參與識(shí)別循環(huán)的標(biāo)簽與幀的時(shí)隙數(shù)匹配。在GFSA算法中,如果估計(jì)出待識(shí)別的標(biāo)簽數(shù)超過了最大幀時(shí)隙數(shù)所能匹配的范圍時(shí),保證每一組的待識(shí)別標(biāo)簽與最大幀時(shí)隙數(shù)相匹配。

  在圖3中,無論是采用一組還是兩組,都會(huì)達(dá)到同樣的期望系統(tǒng)效率的標(biāo)簽數(shù):


  由上式我們可以得到n=354。如果未識(shí)別標(biāo)簽數(shù)大于354時(shí),為達(dá)到最佳系統(tǒng)效率,我們將標(biāo)簽分成兩組。我們提出的分組算法是基于最大幀時(shí)隙數(shù)為256的動(dòng)態(tài)幀時(shí)隙ALOHA算法。在算法中,首先定義:
  (1)為達(dá)到最大系統(tǒng)效率,通過獲取最后一個(gè)閱讀幀的結(jié)果(0或是1)來決定對(duì)分組標(biāo)簽進(jìn)行響應(yīng),以確定新循環(huán)幀的大小。
  (2)為減小RFID系統(tǒng)的復(fù)雜性,通過使用n=c1+2ck估計(jì)函數(shù)來確定標(biāo)簽數(shù)量。
  (3)利用上面推導(dǎo)出的n=354,作為分組的條件。當(dāng)系統(tǒng)內(nèi)標(biāo)簽數(shù)量比較小時(shí),則使用最大幀時(shí)隙數(shù)為256的動(dòng)態(tài)幀時(shí)隙ALOHA算法。一旦標(biāo)簽數(shù)量超過了354時(shí),則使用分組幀時(shí)隙ALOHA算法,來限制系統(tǒng)內(nèi)的響應(yīng)的標(biāo)簽數(shù)量。過程如圖4所示。

  我們利用二進(jìn)制樹形分解法對(duì)標(biāo)簽進(jìn)行分組,如圖5所示。二進(jìn)制樹形結(jié)構(gòu)可以有效地對(duì)未識(shí)別標(biāo)簽進(jìn)行搜索。對(duì)分組后,獲取最后一個(gè)閱讀幀的結(jié)果(0或是1)來判斷是否繼續(xù)分組。如果結(jié)果是1,表示達(dá)到時(shí)隙分離條件,需要對(duì)標(biāo)簽繼續(xù)進(jìn)行分組,直到結(jié)構(gòu)是0為止。如果結(jié)果是0,表示未達(dá)到時(shí)隙分離條件,并采用動(dòng)態(tài)幀時(shí)隙ALOHA算法對(duì)標(biāo)簽進(jìn)行識(shí)別。

  對(duì)提出的算法進(jìn)行了仿真。結(jié)果表明:當(dāng)標(biāo)簽數(shù)小于354時(shí),分組幀時(shí)隙ALOHA算法采用動(dòng)態(tài)幀時(shí)隙ALOHA算法;當(dāng)標(biāo)簽數(shù)大于354時(shí),分組幀時(shí)隙ALOHA算法對(duì)標(biāo)簽數(shù)進(jìn)行分組識(shí)別。所以標(biāo)簽數(shù)越多,分組幀時(shí)隙ALOHA算法所使用的時(shí)隙數(shù)越少,效率越高。如圖6所示。


  4 結(jié)束語

  本文基于ALOHA算法,分別對(duì)幀時(shí)隙算法和動(dòng)態(tài)幀時(shí)隙算法進(jìn)行研究和分析,并提出一種利用二進(jìn)制樹形分組的時(shí)隙ALHOA算法。對(duì)提出的分組算法和傳統(tǒng)的動(dòng)態(tài)幀時(shí)隙算法進(jìn)行比較。當(dāng)標(biāo)簽數(shù)過大時(shí),采用此方法有利于提高系統(tǒng)效率,并減少了計(jì)算和操作的復(fù)雜度。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。