<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 標(biāo)簽防沖撞算法設(shè)計(jì)

          標(biāo)簽防沖撞算法設(shè)計(jì)

          作者: 時(shí)間:2011-04-19 來源:網(wǎng)絡(luò) 收藏

          射頻識(shí)別(RFID)技術(shù)是近幾年發(fā)展起來的一種自動(dòng)識(shí)別技術(shù)。RFID系統(tǒng)一般通過閱讀器識(shí)別帶有唯一電子產(chǎn)品代碼(ID)值的。閱讀器射頻場范圍內(nèi)數(shù)量較多時(shí)不同返回?cái)?shù)據(jù)發(fā)生重疊,導(dǎo)致閱讀器對接收信號(hào)解碼錯(cuò)誤,可以將其稱為標(biāo)簽。由于TDMA時(shí)分多址方式應(yīng)用簡單,容易實(shí)現(xiàn)大量標(biāo)簽數(shù)據(jù)讀寫,因此被多數(shù)防采用?,F(xiàn)有防主要包括ALOHA和樹分叉算法兩種。當(dāng)大量標(biāo)簽并存時(shí),ALOHA算法[1]的幀沖撞嚴(yán)重,易引起性能急劇惡化,不適宜大規(guī)模標(biāo)簽讀取。所以,主要發(fā)展樹分叉算法。目前樹分叉算法主要有ISO/IEC18000-6B的類二進(jìn)制搜索算法[2]、后退式二進(jìn)制樹形搜索算法[3]。本文了一種標(biāo)簽防沖撞算法。

          1基于標(biāo)簽卡號(hào)無序性的防沖撞算法

            對于如公路收費(fèi)亭的車輛識(shí)別,標(biāo)簽的卡號(hào)是無序的(相互間不關(guān)聯(lián)),此時(shí)用動(dòng)態(tài)調(diào)整二進(jìn)制樹形搜索法,能快速實(shí)現(xiàn)標(biāo)簽數(shù)據(jù)讀寫。該算法用Manchester編碼準(zhǔn)確判別位碰撞,并保持后退式二進(jìn)制樹算法的后退機(jī)理。

            1.1Manchester編碼與防沖撞

            該編碼采用以下規(guī)則:

            (1)邏輯“1”表示下降沿跳變。
            (2)邏輯“0”表示上升沿跳變。
            (3)若無狀態(tài)跳變,作為錯(cuò)誤被識(shí)別。
            當(dāng)多個(gè)標(biāo)簽同時(shí)返回的數(shù)位有不同之值時(shí),上升和下降沿互相抵消,以至無狀態(tài)跳變,閱讀器知該位出現(xiàn)碰撞,產(chǎn)生了錯(cuò)誤。
          利用Manchester編碼識(shí)別碰撞位,如圖1所示。假如有兩個(gè)標(biāo)簽,其ID號(hào)為10011111和10111011,利用Manchester可識(shí)別出D5和D2位碰撞。
            (a)標(biāo)簽1的ID為10011111
            (b)標(biāo)簽2的ID為10111011
            (c)閱讀接收的ID碰撞為10×11×11

          本文引用地址:http://www.ex-cimer.com/article/156390.htm


            1.2防碰撞指令規(guī)則

            (1)Request(DATA),請求指令。DATA長度小于或等于標(biāo)簽ID長度。ID值與DATA匹配的標(biāo)簽回送其ID值給閱讀器。如Request(10)表示ID開始兩位為10的所有標(biāo)簽應(yīng)答。并規(guī)定發(fā)送Request(1)后射頻場內(nèi)所有非“靜默”狀態(tài)下的標(biāo)簽都應(yīng)答。

            (2)Select(ID),選擇指令。與Select攜帶ID值相同的標(biāo)簽被激活,該ID值與標(biāo)簽ID值長度相同。

            (3)Read-Write,讀寫指令。讀寫被Select激活的標(biāo)簽。

            (4)Quiet(DATA),靜默指令。對匹配標(biāo)簽進(jìn)行靜默操作,使其不對閱讀器任何指令作出反應(yīng)。當(dāng)標(biāo)簽離開閱讀器的作用范圍(等于沒有供應(yīng)能量)后復(fù)位。

            1.3動(dòng)態(tài)調(diào)整二進(jìn)制樹形搜索法

            1.3.1算法機(jī)理

            該算法保持后退式二進(jìn)制樹形搜索算法[3]的后退機(jī)理:

            碰撞發(fā)生時(shí),根據(jù)碰撞的最高位,跳躍式向前搜索;無碰撞時(shí),采取后退策略,實(shí)現(xiàn)標(biāo)簽的有序讀取。但具有以下2個(gè)特點(diǎn):
            (1)指令長度動(dòng)態(tài)調(diào)整,只發(fā)送位數(shù)高于或等于沖突位的指令位。

            (2)基于一位沖突直接識(shí)別,當(dāng)只探測到一位碰撞位時(shí),可直接識(shí)別出2個(gè)標(biāo)簽ID數(shù)據(jù)。如射頻場內(nèi)有兩個(gè)標(biāo)簽10101101,10100101,閱讀器探測到的返回?cái)?shù)據(jù)為1010x101,因?yàn)橹挥幸晃粵_突位,所以閱讀器可直接確定射頻場存在2個(gè)標(biāo)簽10101101,10100101。

            1.3.2算法步驟

            (1)閱讀器發(fā)送Request(1),區(qū)域內(nèi)所有標(biāo)簽應(yīng)答。

            (2)檢測是否有1位碰撞發(fā)生。當(dāng)無碰撞或只有1位碰撞位時(shí),直接識(shí)別標(biāo)簽。若有多位碰撞發(fā)生,將碰撞的最高位置0,高于該位的數(shù)值位不變,低于該位的數(shù)值位忽略,得到下一次Request命令所需的DATA參數(shù)。重復(fù)步驟(2)直到識(shí)別出兩個(gè)標(biāo)簽。

            (3)識(shí)別標(biāo)簽后,根據(jù)確知的ID值對標(biāo)簽逐個(gè)進(jìn)行Select激活,然后根據(jù)需要進(jìn)行Read-Write操作,之后用Quiet指令使該標(biāo)簽進(jìn)入靜默狀態(tài)屏蔽掉。并判斷剛才發(fā)送指令是否為Request(1),若為Request(1)則發(fā)送結(jié)束。否則,下一次Request命令的DATA參數(shù),采用后退策略,由其相鄰的上次發(fā)送指令確定,繼續(xù)步驟(2)。

            1.3.3算法實(shí)現(xiàn)

            假設(shè)ID值為8位,閱讀器作用范圍內(nèi)有8個(gè)標(biāo)簽。開始時(shí),閱讀器對區(qū)域內(nèi)標(biāo)簽處于未知狀態(tài),發(fā)送Request(1),令區(qū)域內(nèi)所有標(biāo)簽應(yīng)答,具體的查詢過程如表1所示。

            表1動(dòng)態(tài)調(diào)整搜索法標(biāo)簽查詢過程


            在表1中,“xx”表示碰撞位;“------”表示標(biāo)簽不響應(yīng);“^^^^”表示標(biāo)簽已被屏蔽為靜默狀態(tài)。每次查詢出ID值后即對標(biāo)簽進(jìn)行屏蔽。當(dāng)?shù)?次執(zhí)行指令為Request(1)全返回指令,而只有2個(gè)標(biāo)簽應(yīng)答,可知所有標(biāo)簽查詢完畢。此時(shí)可據(jù)確知的8個(gè)標(biāo)簽ID值,按需進(jìn)行其他操作。從表1可知用動(dòng)態(tài)調(diào)整搜索法識(shí)別8個(gè)標(biāo)簽只需發(fā)送7次指令,而后退式算法[3]需要2×8-1=15次??梢妱?dòng)態(tài)調(diào)整搜索法的工作效率有了很大改進(jìn)。

            1.4算法性能分析

            由于動(dòng)態(tài)調(diào)整搜索法是基于后退式算法[3],因此在最不理想的情況下,也可保持N個(gè)標(biāo)簽的查詢次數(shù)為S(N)=2N-1 。當(dāng)射頻場中碰撞的標(biāo)簽數(shù)量N較大,此時(shí)識(shí)別出1位碰撞的幾率較大。設(shè)在整個(gè)識(shí)別過程中探測到M次只有1個(gè)碰撞位,通過動(dòng)態(tài)調(diào)整算法的直接識(shí)別相當(dāng)于比后退式算法減少了2M次查詢指令,此時(shí)查詢次數(shù)為
          S(N)=2(N-M)-1

            系統(tǒng)的有效服務(wù)率即吞吐率為
          K=N/S(N)=N/(2N-2M-1)

            將動(dòng)態(tài)調(diào)整搜索法與類二進(jìn)制搜索法[2],后退式算法[3]在ISO/IEC18000-6B協(xié)議[2]的應(yīng)用中進(jìn)行查詢次數(shù)的比較。為保持與協(xié)議規(guī)范一致,將使用協(xié)議相關(guān)功能指令GROUP_SELECT_EQ,READ/WRITE,DATA_READ[2]分別取代第1.2節(jié)的指令Request,Read-Write,Quiet同時(shí)用FM0編碼[2]取代Manchester碼。假設(shè)標(biāo)簽ID長度為16,用Matlab編程可得到仿真結(jié)果的比較如圖2所示。



          圖2算法的防沖撞性能比較

            由圖2可知,當(dāng)標(biāo)簽數(shù)量較少時(shí),探測到一位碰撞幾率不大,動(dòng)態(tài)調(diào)整算法比后退式算法只有稍微優(yōu)勢,而當(dāng)標(biāo)簽數(shù)量明顯增多時(shí),標(biāo)簽ID值比較接近,探測到一位碰撞的幾率較大,M較大,動(dòng)態(tài)調(diào)整算法效率明顯優(yōu)于后退式算法。而ISO/IEC18000-6B協(xié)議的類二進(jìn)制搜索算法是隨機(jī)產(chǎn)生0,1信號(hào)進(jìn)行搜索,不能實(shí)現(xiàn)有效的有序性讀取,仿真結(jié)果也表明其識(shí)別能力顯著低于動(dòng)態(tài)調(diào)整搜索法??梢?,動(dòng)態(tài)調(diào)整搜索法可被有效用于ISO/IEC18000-6B協(xié)議的標(biāo)簽沖突問題解決。

            尤其當(dāng)2 L 個(gè)標(biāo)簽第1次發(fā)送Request(1)識(shí)別指令只探測出L個(gè)碰撞位時(shí),可知識(shí)別過程中將出現(xiàn)連續(xù)的1位碰撞,此時(shí)M=2 L /2=2 L-1 ,S(N)=2(2 L -2 L-1)-1=2 L -1,K=2 L/S(N)=1。對比后退式算法需要發(fā)送S(2 L )=2 L+1-1次查詢指令,而系統(tǒng)吞吐率為K=0.5。動(dòng)態(tài)調(diào)整算法在最優(yōu)情況下,效率是后退式算法的倍數(shù)。同時(shí),動(dòng)態(tài)調(diào)整算法對指令長度進(jìn)行了動(dòng)態(tài)調(diào)整,可以有效地減小發(fā)送信息量提高發(fā)送速率。

            2基于標(biāo)簽卡號(hào)連續(xù)性的防沖撞算法

            對于如倉庫的貨物管理,每一批貨物內(nèi)標(biāo)簽卡號(hào)基本上是連續(xù)的,此時(shí)可用另一種防沖撞算法基于一位碰撞直接識(shí)別的輪詢算法快速識(shí)別標(biāo)簽[4]。

            2.1輪詢算法

            該算法保持發(fā)送指令和Manchester編碼不變。(1)發(fā)送Request(1),利用Manchester編碼確定碰撞位的具體位置得到L個(gè)碰撞位;(2)將除最低碰撞位的L-1個(gè)碰撞位看作一個(gè)二進(jìn)制數(shù)H,從0~2 L−1遞增,得DATA;(3)每次發(fā)完Request(DATA)后,H自增1,得出新的DATA,即實(shí)現(xiàn)一個(gè)輪詢過程。具體過程如表2所示。

            表2輪詢算法查詢過程


            對于表2的8個(gè)標(biāo)簽,用輪詢算法只需發(fā)送5次查詢指令,用動(dòng)態(tài)調(diào)整搜索法要發(fā)送7次指令,而用后退式算法需發(fā)送15次??梢?,對于卡號(hào)連續(xù)的情況,輪詢算法能更有效地實(shí)現(xiàn)標(biāo)簽防沖撞。

            2.2算法性能分析

            對于卡號(hào)連續(xù)的N個(gè)標(biāo)簽,探測到L個(gè)碰撞位時(shí),發(fā)送的查詢指令次數(shù)為
            S(N)=2 L-1+1

            系統(tǒng)的有效服務(wù)率即吞吐率為
            K=N/S(N)=N/(2 L-1+1)

            可知查詢次數(shù)S(N)只與碰撞位數(shù)L有關(guān),而與標(biāo)簽總數(shù)無關(guān),吞吐率K不僅與碰撞位數(shù)有關(guān)還與標(biāo)簽總數(shù)有關(guān)。特別地,令待識(shí)別的標(biāo)簽卡號(hào)從0開始,與1.3節(jié)介紹的動(dòng)態(tài)調(diào)整算法的比較如表3所示。

            表3算法比較


            從表3可看出在最優(yōu)情況下,輪詢算法可使吞吐率K達(dá)到2,而動(dòng)態(tài)調(diào)整搜索法的最優(yōu)吞吐率K為1,后退式算法[3]的吞吐率K為0.5??梢姡喸兯惴ň哂泻艽蟮膽?yīng)用潛力。

            根據(jù)式(4)可畫出吞吐率K與標(biāo)簽數(shù)量N和碰撞位數(shù)L的關(guān)系曲線,如圖3所示。

            從圖3可看出,標(biāo)簽數(shù)量較少,而碰撞位數(shù)卻很大時(shí),吞吐率較低,此時(shí)不適合用輪詢算法。這種缺陷可稱為Hamming懸崖(Hammingcliffs),相鄰整數(shù)的二進(jìn)制編碼可能具有較大的Hamming距離。例如2個(gè)標(biāo)簽卡號(hào)分別為01111和10000,碰撞位數(shù)為5,要輪詢25-1+1=17次才讀完這兩標(biāo)簽,可見效率很低。從圖3可看出只有標(biāo)簽數(shù)量較大時(shí),吞吐率K受碰撞位數(shù)影響不大,能克服Hamming懸崖,此時(shí)K基本介于1~2之間,效果比動(dòng)態(tài)調(diào)整搜索法最優(yōu)吞吐率K=1要好。

            對于卡號(hào)連續(xù)的標(biāo)簽,并不要求嚴(yán)格連續(xù),只要大部分標(biāo)簽卡號(hào)滿足一定的連續(xù)性就可有效使用輪詢算法。另外,輪詢算法只需使用一次Manchester編碼識(shí)別碰撞位,則只需按照規(guī)則發(fā)送指令,能夠大大降低系統(tǒng)的復(fù)雜性。

          3結(jié)束語

            本文針對RFID技術(shù)日益嚴(yán)重的標(biāo)簽沖撞問題,指出對一般沖突情況,可用動(dòng)態(tài)調(diào)整搜索法進(jìn)行防沖撞,并通過對比表明該算法能有效應(yīng)用于ISO/IEC18000-6B相關(guān)協(xié)議的RFID系統(tǒng)中,而當(dāng)具備一定先驗(yàn)知識(shí),了解到待識(shí)別標(biāo)簽卡號(hào)滿足一定連續(xù)性,且數(shù)量較大時(shí),可用輪詢算法進(jìn)行有效的防沖撞處理。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();