專利名稱::一種rfid標(biāo)簽反碰撞控制方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于RFID標(biāo)簽反碰撞控制方法,具體涉及一種標(biāo)簽碰撞確定性解決方法——分組動態(tài)ID預(yù)測算法(GroupingDynamicIPA,GDIPA)。
背景技術(shù):
:射頻識別RFID技術(shù)技術(shù)作為未來最有前途的信息技術(shù)之一,作為21世紀(jì)最具變革力與核心價值的新技術(shù)之一,近年得到了全世界的高度重視。雖然RFID有諸多優(yōu)點,在很多領(lǐng)域都具有良好的應(yīng)用前景,且已經(jīng)逐漸廣泛應(yīng)用,但還存在許多因素制約著RFID技術(shù)的全面推廣應(yīng)用。其中,RFID數(shù)據(jù)傳輸?shù)耐暾詥栴}是制約RFID發(fā)展的重要因素之一,直接關(guān)系到整個系統(tǒng)性能的優(yōu)劣程度。其主要影響因素有兩個方面,一是來自外界的干擾,二則是來自RFID系統(tǒng)本身。而RFID自身的干擾則有閱讀器碰撞,RFID系統(tǒng)工作范圍內(nèi)存在多個閱讀器,且它們的作用范圍出現(xiàn)重疊;標(biāo)簽碰撞,也即是多目標(biāo)識別問題,閱讀器的作用范圍內(nèi)存在多個標(biāo)簽,且它們同時向閱讀器返回數(shù)據(jù)。由于閱讀器的功能比標(biāo)簽強得多;相對而言,標(biāo)簽的碰撞問題更難于解決。標(biāo)簽的碰撞,使標(biāo)簽無法識別,其所攜帶的信息也將無法讀取,這將大大的降低標(biāo)簽的識別率。而識別率偏低將導(dǎo)致業(yè)務(wù)處理復(fù)雜化,這是困擾RFID技術(shù)應(yīng)用推廣的關(guān)鍵因素之一。當(dāng)RFID應(yīng)用于供應(yīng)鏈管理、物流、工業(yè)自動化、零售等需要實現(xiàn)多目標(biāo)同時識別的領(lǐng)域,標(biāo)簽的碰撞問題所造成的影響將更大。因此,非常有必要深入地去研究標(biāo)簽碰撞的解決方法。同時,RFID作為目前唯一可實現(xiàn)多目標(biāo)同時識別的技術(shù),多目標(biāo)的同時識別,既是RFID技術(shù)的優(yōu)勢所在,也是RFID技術(shù)的技術(shù)難題之一。韓國HyunJunYeo等提出了ID預(yù)測算法(IDPredictionAlgorithm,IPA),該算法其實是通過count-bit實現(xiàn)標(biāo)簽的分組識別,該算法的最大優(yōu)點就是閱讀器問詢一次可能有多個標(biāo)簽同時被識別,大大減少了閱讀器的問詢次數(shù)和問詢比特,但閱讀器需要首先搜索count-bit,這增加了閱讀器問詢量;同時,標(biāo)簽在返回數(shù)據(jù)時攜帶了兀余信息,因此該算法有待進一步改善,以減少系統(tǒng)通信量。巾國的余松森提出的跳躍式動態(tài)樹形(JumpingandDynamicSearching,JDS)反碰撞算法是對BSRI(二進制樹形搜索Binary-treeSearchingbaseonRegressiveIndex,BSRI)算法的改進,解決BSRI算法中通信量冗余的問題,采用動態(tài)的方式傳輸標(biāo)簽ID,節(jié)省了約34.92%的系統(tǒng)通信量。但系統(tǒng)的有效服務(wù)率也就穩(wěn)定在50%。中國的謝振華等改進了JDS算法,提出在標(biāo)簽返回信息中如果出現(xiàn)只有一位碰撞的情況,可以馬上識別出兩個標(biāo)簽,一定程度上提高了系統(tǒng)性能。以上兩種方法的主要缺陷是算法問詢次數(shù)多和數(shù)據(jù)通信量大;算法存在傳輸冗余數(shù)據(jù)的問題。本發(fā)明提出的分組動態(tài)ID預(yù)測算法(GDIPA)能改善這兩方面的問題。
發(fā)明內(nèi)容本發(fā)明的目的在于考慮上述問題的基礎(chǔ)上,提出的一種改進的標(biāo)簽碰撞確定性解決方法——分組動態(tài)ID預(yù)測算法(GroupingDynamicIPA,GDIPA)。一種RFID標(biāo)簽反碰撞控制方法-GDIPA方法的步驟如下步驟l)閱讀器發(fā)送Active指令Request(R_prefix2,L+l),請求符合要求的標(biāo)簽應(yīng)答;步驟2)處于準(zhǔn)備狀態(tài)的標(biāo)簽接收到指令后,比較自身T_pref1X是否與Active指令的Rjrefix2相等,如果是,則響應(yīng);否則繼續(xù)等待Active指令;步驟3)閱讀器接收標(biāo)簽的返回信息。如果無標(biāo)簽響應(yīng),轉(zhuǎn)到步驟8);如果只有一個標(biāo)簽響應(yīng),識別這個標(biāo)簽,進一步處理后發(fā)送Quiet指令,然后轉(zhuǎn)到歩驟8);如果碰撞,分兩種情況處理如果Rjrefix2:0,則直接識別全"1"和全"0"兩個標(biāo)簽,對他們處理后,轉(zhuǎn)到歩驟8);否則轉(zhuǎn)到步驟4);步驟4)統(tǒng)計&fe、Wc、M和的值①如果W尸1或者A^A^—1,直接識別^個標(biāo)簽;如果釆用了JDS算法,且Rjrefixl不等于2力-1,則采用回跳策略產(chǎn)生下一次R叫uest指令,轉(zhuǎn)步驟6);否則轉(zhuǎn)到步驟8);②如果1且A^We—l,轉(zhuǎn)到步驟5);步驟5)采用JDS算法,閱讀器將當(dāng)前的R_prefixl壓入堆棧,如果是Active指令后的第一次采用JDS算法,則把2'-l壓入堆棧,然后根據(jù)碰撞的數(shù)據(jù)產(chǎn)生下一個Request指令,也即將最高碰撞位x置0,高于該位的值不變,此值作為R_prefbd,形成下一次Request指令Request(R_prefixl,x);步驟6)處于激活狀態(tài)的標(biāo)簽收到Request指令后,比較自身ID的丄-lx位是否小于等于Rjrefixl,符合則響應(yīng),否則繼續(xù)保持活動狀態(tài);步驟7)閱讀器收到標(biāo)簽的返回數(shù)據(jù),檢測是否有碰撞①如果沒有碰撞,就直接識別標(biāo)簽,并檢查R—J5refixl是否等于2'-1,如果是,轉(zhuǎn)到步驟(8);否則,釆用回跳策略,產(chǎn)生下一次Request指令轉(zhuǎn)步驟6);②如果發(fā)生碰撞,轉(zhuǎn)到步驟4);步驟8)Rjrefix2加1,如果溢出,識別過程結(jié)束,否則轉(zhuǎn)到步驟l)。GDIPA方法的約定GDIPA中標(biāo)簽具有三種狀態(tài),分別是(1)準(zhǔn)備狀態(tài)(Ready):處于該狀態(tài)的標(biāo)簽等待并檢測閱讀器發(fā)送過來的指令,當(dāng)接收到激活(Active)指令時,轉(zhuǎn)入活動狀態(tài)。(2)活動狀態(tài)(Lively):處于該狀態(tài)的標(biāo)簽接收閱讀器的問詢(Request)指令,根據(jù)指令返回自身ID的部分或全部到閱讀器,當(dāng)接收到靜默(Quiet)指令時,轉(zhuǎn)入靜默狀態(tài)。(3)靜默狀態(tài)(Silent):處于該狀態(tài)的標(biāo)簽不響應(yīng)閱讀器的任何指令,直到離開閱讀器的識讀范圍重新復(fù)位。同時,標(biāo)簽具有計算自身ID中比特'T'的個數(shù)的功能,并將計算結(jié)果存入標(biāo)簽的內(nèi)存中,稱此值為T_prefix。假設(shè)標(biāo)簽的ID長度為丄,那么ID中比特"1"的個數(shù)可能選取中的任意一個值,此時需要k^丄+l個比特存放這個值。為了減少這個值對標(biāo)簽內(nèi)存的占用,可以將比特"1"的個數(shù)為丄的情況統(tǒng)計為0,這時只需要l。gj個比特來存放Tjrefix。最后,為了保證碰撞位的準(zhǔn)確判斷,響應(yīng)的標(biāo)簽應(yīng)該能同一時間h傳數(shù)據(jù)。為了實現(xiàn)GDIPA,閱讀器需要以下4種主要指令,它們分別是(1)請求指令(Request):該指令帶有兩個參數(shù),格式為"Request(R_prefixl,x)"。假設(shè)標(biāo)簽ID的長度為Z,x可以取[0丄怖任意值,占log2丄+l個比特值。x的作用與JDS算法問詢指令中的"x"相似,表示標(biāo)簽ID發(fā)生碰撞的最高位的下標(biāo)(標(biāo)簽ID的下標(biāo)為0~Z-1)。處于活動狀態(tài)的標(biāo)簽收到該指令后,比較自身ID的l-lx位是否小丁或等于Rjrefixl,如果是則應(yīng)答,否則不應(yīng)答。處于準(zhǔn)備狀態(tài)的標(biāo)簽不應(yīng)答。(2)激活指令(Active):指令格式為"Active(R_pref1X2)",假設(shè)標(biāo)簽ID的長度為丄,Rj)refix2需占log,£個比特。處于準(zhǔn)備狀態(tài)的標(biāo)簽收到此指令后,比較自身的Tj)refix是否與Rjrefix2相等,如果是則響應(yīng),否則繼續(xù)保持準(zhǔn)備狀態(tài)。在實際的操作中,為了使標(biāo)簽識別這兩種指令,文中采用"Request(Rjrefix2,丄+1)"來實現(xiàn)Active指令的功能。標(biāo)簽只需檢測Request指令的第二個參數(shù)是否為Z+l,便可區(qū)分Active和Request指令。(3)選擇指令(Select):對于已經(jīng)識別的標(biāo)簽發(fā)送這個指令,并對其進行其他操作(如寫入信息等)。(4)靜默指令(Quiet):對已經(jīng)識別并處理的標(biāo)簽發(fā)送Quiet指令,使標(biāo)簽進入靜默狀態(tài)。GDIPA方法的原理由上文標(biāo)簽狀態(tài)分析可以知道,T_prefbc是標(biāo)簽ID中比特"l"的個數(shù),這個值就相當(dāng)于IPA算法的count-bits。那么標(biāo)簽ID中比特"l"的個數(shù)相同的標(biāo)簽將擁有相同T_prefix值。標(biāo)簽進入閱讀器問詢區(qū)間,閱讀器首先發(fā)送Active指令。該指令的基本思想就相當(dāng)于對標(biāo)簽進行分組識別,而分組的根據(jù)是標(biāo)簽ID中所擁有的比特'T'的個數(shù)。收到指令后,標(biāo)簽比較自身的T_prefix是否與Active指令中的R_prefix2相同,如果不相同,標(biāo)簽就保持準(zhǔn)備狀態(tài),等待下一次Active指令;否則,標(biāo)簽響應(yīng)。閱讀器收到標(biāo)簽的返回數(shù)據(jù),并統(tǒng)計計算A"、iVc、M和A^四個量,這些量的意義如下也就是T_prefix的值,它表示標(biāo)簽ID中比特"l"的個數(shù);表示閱讀器所接收到的數(shù)據(jù)中,發(fā)生碰撞的總位數(shù),這通過Manchester編碼來實現(xiàn);表示在閱讀器所收到的數(shù)據(jù)中,已經(jīng)識別出來的比特"l"的個數(shù);M:表示標(biāo)簽ID中還沒有被識別的比特'T'的個數(shù)。容易知道接著,閱讀器分析的值,判斷標(biāo)簽可以被閱讀器識別的情況。(1)當(dāng)7V嚴(yán)0時,由公式(1)可以知道,這時標(biāo)簽ID中的所有比特'T'均被識別,標(biāo)簽上送的數(shù)據(jù)沒有發(fā)生碰撞,一個標(biāo)簽將被識別。在GDIPA中,這種情況可以直接,不需要計算M的值。(2)當(dāng)W^1吋,根據(jù)公式(1),知道標(biāo)簽ID中未被識別的比特"l"的個數(shù)只有一個,而此時標(biāo)簽數(shù)據(jù)的碰撞位數(shù)為7VC,這說明比特'T'必須在這7Vc個碰撞位中都出現(xiàn)過,而其余的乂-l個碰撞位為比特"0",根據(jù)排列組合的思想,這種組合有c4種可能,因此閱讀器可以同時識別W個標(biāo)簽。(3)當(dāng)iV嚴(yán)Wc-l時,這說明標(biāo)簽ID中巳被識別的比特"1"個數(shù)為A^-1,而相反未被識別的比特"0"的個數(shù)為l個,而且比特"0"必須在這A^個碰撞位中都出現(xiàn)過,同理,可以知道,這種組合有Cj^種可能,所以閱讀器可以同時識別We個標(biāo)簽。(4)當(dāng)iV,不滿足上述的三種情況,說明閱讀器仍然沒有足夠的信息可以識別標(biāo)簽,此時將采用JDS算法,假設(shè)標(biāo)簽ID的長度為i,算法要點如下1)閱讀器首先發(fā)送Request(R_pref1Xl,x)指令,符合條件的標(biāo)簽應(yīng)答。2)檢測是否有碰撞發(fā)牛,如果有,確定碰撞的最高位。3)如果碰撞發(fā)生,假設(shè)碰撞的最高位下標(biāo)為x,將碰撞的最高位置0,高于該位的比特位不變,得到新Rj5refixl的值為IDi.k。4)如果沒有發(fā)生碰撞,則可識別單個標(biāo)簽。標(biāo)簽的ID為R_prefbd的值和標(biāo)簽應(yīng)答返回的IDx冬o值的組合。處理完后,發(fā)送Quiet指令,使標(biāo)簽進入靜默狀態(tài)。同吋,下一次Request指令采用回跳策略,從父結(jié)點處獲得。執(zhí)行完一次JDS算法后,GDIPA并不是不斷的重復(fù)上述算法,而是進行新一輪的A"、Wc、M和M四個量的統(tǒng)計計算,并通過判斷^的值確定下-步的識別步驟。如此循環(huán),直到閱讀器作用范圍內(nèi)的標(biāo)簽都識別完畢。GDIPA方法的最大特點是閱讀器向標(biāo)簽發(fā)出一次問詢命令,在碰撞的情況下,有可能同時識別多個標(biāo)簽。算法采用標(biāo)簽分組識別,閱讀器與標(biāo)簽數(shù)據(jù)動態(tài)傳輸?shù)姆椒▉韺崿F(xiàn)。分組動態(tài)ID預(yù)測算法大大地提高了系統(tǒng)的有效服務(wù)率,極大地降低了系統(tǒng)的通信量,表現(xiàn)出了優(yōu)越的性能。圖l閱讀器問詢的總次數(shù);圖2閱讀器問詢的平均次數(shù);圖3閱讀器問詢的總比特數(shù);圖4閱讀器問詢的平均比特數(shù);圖5標(biāo)簽應(yīng)答的總次數(shù);圖6標(biāo)簽應(yīng)答的平均次數(shù);圖7標(biāo)簽應(yīng)答的總比特數(shù);圖8標(biāo)簽應(yīng)答的平均比特數(shù);圖9閱讀器問詢的總次數(shù);圖10閱讀器問詢的平均次數(shù);圖11閱讀器問詢的總比特數(shù);圖12閱讀器問詢的平均比特數(shù);圖13閱讀器問詢的總次數(shù);圖14閱讀器問詢的總比特數(shù);圖15標(biāo)簽應(yīng)答的總次數(shù);圖16標(biāo)簽應(yīng)答的總比特數(shù);圖17系統(tǒng)的有效服務(wù)率;圖18幾種算法的系統(tǒng)通信量比較。具體實施方式我們按如下步驟來實施一種RFID標(biāo)簽反碰撞控制方法-GDIPA方法步驟1)閱讀器發(fā)送Active指令Request(Rjrefix2,丄+1),請求符合要求的標(biāo)簽應(yīng)答;步驟2)處于準(zhǔn)備狀態(tài)的標(biāo)簽接收到指令后,比較自身T_prefix是否與Active指令的Rjrefix2相等,如果是,則響應(yīng);否則繼續(xù)等待Active指令;步驟3)閱讀器接收標(biāo)簽的返回信息。如果無標(biāo)簽響應(yīng),轉(zhuǎn)到步驟(8);如果只有一個標(biāo)簽響應(yīng),識別這個標(biāo)簽,進一步處理后發(fā)送Quiet指令,然后轉(zhuǎn)到步驟(8);如果碰撞,分兩種情況處理如果RjorefiX2=0,則直接識別全'T'和全"O"兩個標(biāo)簽,對他們處理后,轉(zhuǎn)到步驟(8);否則轉(zhuǎn)到步驟(4);步驟4)統(tǒng)計A^、M、M和A^的值①如果W產(chǎn)l或者M=1,直接識別^個標(biāo)簽;如果采用了JDS算法,且R_prefixl不等丁21-1,則采用回跳策略產(chǎn)生下一次Request指令,轉(zhuǎn)步驟(6);否則轉(zhuǎn)到步驟(8);②如果iV^1且AUM—1,轉(zhuǎn)到步驟(5);步驟5)采用JDS算法,閱讀器將當(dāng)前的R_pref1Xl壓入堆棧,如果是Active指令后的第一次采用JDS算法,則把2'-l壓入堆棧,然后根據(jù)碰撞的數(shù)據(jù)產(chǎn)生下一個Request指令,也即將最高碰撞位x置0,高于該位的值不變,此值作為Rjrefixl,形成下一次Request指令Request(R_prefixl,x);步驟6)處于激活狀態(tài)的標(biāo)簽收到Request指令后,比較自身ID的丄-lx位是否小于等fR_prefixl,符合則響應(yīng),否則繼續(xù)保持活動狀態(tài);步驟7)閱讀器收到標(biāo)簽的返回數(shù)據(jù),檢測是否有碰撞①如果沒有碰撞,就直接識別標(biāo)簽,并檢查Rjrefixl是否等于2'-l,如果是,轉(zhuǎn)到步驟(8);否則,采用回跳策略,產(chǎn)生下一次Request指令轉(zhuǎn)步驟(6);②如果發(fā)生碰撞,轉(zhuǎn)到步驟(4):步驟8)R—prefix2加l,如果溢出,識別過程結(jié)束,否則轉(zhuǎn)到歩驟(1)。GDIPA仿真及其分析本發(fā)明GDIPA是基于IPA和JDS算法而提出的一種改進算法,基于WindowsXP操作系統(tǒng),編寫C程序,仿真標(biāo)簽的識別過程。仿真程序可以選擇8比特或16比特的標(biāo)簽ID長度,以及選擇隨機或者有序地生成標(biāo)簽ID,對不同的標(biāo)簽數(shù)量進行仿真。同時,仿真程序還分別統(tǒng)計以下四個方面的數(shù)據(jù)(1)閱讀器問詢的總次數(shù)以及總比特數(shù);(2)閱讀器問詢的平均次數(shù)以及平均比特數(shù);(3)標(biāo)簽應(yīng)答的總次數(shù)以及總比特數(shù)(4)標(biāo)簽應(yīng)答的平均次數(shù)以及平均比特數(shù)。然后,本文結(jié)合Matlab工具,從以下幾個方面詳細(xì)地分析GDIPA的性能。GDIPA與IPA、JDS和BSRI方法的比較選擇8比特的標(biāo)簽ID長度,采用隨機生成標(biāo)簽ID的方法,對1200個標(biāo)簽進行識別過程的仿真。并分別對GDIPA、IPA、JDS算法和BSRI算法的閱讀器問詢次數(shù)及比特數(shù)和標(biāo)簽的應(yīng)答次數(shù)及比特數(shù)這幾個量進行統(tǒng)計,其仿真結(jié)果如圖18所示。分析上述的仿真結(jié)果,可以得到以下幾個結(jié)論(1)BSRI算法與JDS算法的閱讀器問詢次數(shù)和標(biāo)簽的應(yīng)答次數(shù)分別相等。JDS算法的閱讀器問詢的比特數(shù)大于BSRI算法。IPA相比較TBSRI算法和JDS算法而言,大大減少了閱讀器的問詢次數(shù)和問詢比特數(shù),而標(biāo)簽的應(yīng)答次數(shù)與后兩者相當(dāng),但卻大大增加了標(biāo)簽應(yīng)答比特數(shù)。(2)GDIPA在閱讀器問詢量和標(biāo)簽應(yīng)答量兩個方面都表現(xiàn)出了極大的優(yōu)越性。1)在閱讀器問詢量方面例如標(biāo)簽數(shù)量為200時,采用GDIPA的閱讀器需要發(fā)送63次的問詢和468個問詢比特;IPA需要發(fā)送129次的問詢和900個問詢比特;JDS算法需要發(fā)送401次的問詢和3939個問詢比特;而BSRI算法需要發(fā)送401次的問詢和3208個問詢比特。GDIPA比IPA分別節(jié)省了51.63%和48%的問詢量;比JDS算法分別節(jié)省了84.29%和88.10%的問詢量;而比BSRI算法分別節(jié)省了84.29%和85.41%的問詢量。112)在標(biāo)簽應(yīng)答量方面標(biāo)簽數(shù)量為200時,GDIPA要求標(biāo)簽應(yīng)答751次,應(yīng)答4561個比特;IPA要求標(biāo)簽應(yīng)答1735次,應(yīng)答20820個比特;JDS算法要求標(biāo)簽應(yīng)答1755次,應(yīng)答8595個比特;而BSRI算法要求標(biāo)簽應(yīng)答1755次,應(yīng)答14040個比特。GDIPA比IPA分別節(jié)省了56.71%和78.31%的應(yīng)答量;比JDS算法分別節(jié)省了57.21%和47.46%;而比BSRI算法分別節(jié)省了57.21%和67.51%。(5)在標(biāo)簽數(shù)量小于標(biāo)簽ID的長度時,GDIPA的問訊量和平均問詢量會相對比較大,這是因為GDIPA采用了分組識別的思想,對標(biāo)簽ID中比特"l"的個數(shù)的所有可能都進行問詢,例如標(biāo)簽ID的長度分別為8比特,則GDIPA最少也需要8次的問詢,這將在下面作進一步分析。標(biāo)簽數(shù)量較少情況下,GDIPA的仿真結(jié)果及分析GDIPA因為采用了分組問詢的思想識別標(biāo)簽。因此,無論標(biāo)簽數(shù)量的多少,該算法的最少問詢次數(shù)都不會少于標(biāo)簽的ID長度,這導(dǎo)致了在標(biāo)簽數(shù)量較少的情況下,閱讀器的問詢量比較大的問題。由于GDIPA的這種特殊性,有必要對這種情況作進一步研究。這里仍選取8比特的標(biāo)簽ID長度,對l-20個標(biāo)簽進行仿真,統(tǒng)計閱讀器的問詢量,仿真結(jié)果如閣9圖12所示。上述的仿真結(jié)果表明,在標(biāo)簽數(shù)量比較少的情況卜-,GDIPA的問詢次數(shù)及問詢比特數(shù)均大于IPA;但隨著標(biāo)簽數(shù)量的增加,這種差距很快的縮小,GDIPA的優(yōu)越性很快體現(xiàn)出來。圖10~圖12都顯示了相似的特性。GDIPA識別隨機或有序標(biāo)簽ID的仿真結(jié)果及分析選擇16比特的標(biāo)簽ID長度,標(biāo)簽ID分別為隨機和有序序列的情況下,對1~2000個標(biāo)簽,進行GDIPA識別過程的仿真,其仿真結(jié)果如圖1316所不。仿真結(jié)果表明,GDIPA識別有序標(biāo)簽ID的性能高于識別隨機標(biāo)簽ID的性能,這是符合GDIPA的思想。這種特點非常適合于物流或倉庫等需要大量識別整批同類物品的場合。20081系統(tǒng)有效服務(wù)率的分析從開始碰撞產(chǎn)生,到所有碰撞問題得以解決這段時間叫做解決碰撞的時間間隔(CollisionResolutionInterval,CRI)。而有效服務(wù)率所指的就是在CRI這個區(qū)間內(nèi),成功傳送的信息包的數(shù)量。RFID系統(tǒng)的有效服務(wù)率,就是閱讀器作用范圍內(nèi)待識別的標(biāo)簽數(shù)量與閱讀器識別這些標(biāo)簽所消耗的總問詢次數(shù)的比值。根據(jù)圖l,不難得出GDIPA、IPA、JDS算法和BSRI算法的有效服務(wù)率,如圖17所示。從圖17口I以看出,JDS算法和BSRI算法的有效服務(wù)率穩(wěn)定在50y。,GDIPA在IPA的基礎(chǔ)上,采用分組識別的思想,減少了IPA算法中對countbits部分的問詢指令,所以更進一歩提高了有效服務(wù)率。當(dāng)標(biāo)簽數(shù)量為200時,IPA的有效服務(wù)率約為150。/。,而GDIPA的已經(jīng)超過了300%。系統(tǒng)通信量的統(tǒng)計比較RFID系統(tǒng)的通信量是指在標(biāo)簽的識別過程中,系統(tǒng)總共傳輸?shù)谋忍財?shù)。它由閱讀器的通信量和標(biāo)簽的通信量兩部分組成。閱讀器的通信量是指閱讀器在識別標(biāo)簽的過程中總共發(fā)出的問詢比特數(shù);而標(biāo)簽的通信量是指在識別過程中標(biāo)簽應(yīng)答的總比特數(shù)。通過分析,標(biāo)簽ID選擇16比特,對1170個標(biāo)簽,分別采用GDIPA、IPA、JDS方法和BSRI進行仿真,統(tǒng)計各算法的系統(tǒng)通信量??傻媒Y(jié)果如圖18所示??梢砸姡琁D-BTS的系統(tǒng)通信量最少。GDIPA的系統(tǒng)通信量與QT-im相當(dāng),少于ID-BTS外的其它所有算法。ID-BTS算法雖然通信量少,但這是以增加閱讀器的搜索次數(shù)和延長總的搜索時間為代價的。用仿真程序統(tǒng)計標(biāo)簽數(shù)量為1170時,GDIPA的總問詢次數(shù),也即搜索次數(shù),它與ID-BTS和QT-im的比較如表1所示。表1GDIPA與ID-BTS、QT-im搜索次數(shù)的比較<table>tableseeoriginaldocumentpage14</column></row><table>表l從表中可以看出,ID-BTS和QT-im兩種算法的搜索次數(shù)均大于GDIPA。GDIPA仿真結(jié)果總結(jié)總結(jié)GDIPA的仿真結(jié)果,可見,雖然在標(biāo)簽數(shù)量較小的情況下,GDIPA閱讀器的問詢量和標(biāo)簽的應(yīng)答量相對于BSRI方法、JDS方法和IPA會比較大,但這個不足隨著標(biāo)簽數(shù)量的增加而迅速的消除,GDIPA很快地顯示了其優(yōu)越性。系統(tǒng)有效服務(wù)率和系統(tǒng)通信量的進一步分析,同樣表明了GDIPA相對于其他方法的巨大優(yōu)越性,該方法確實大大地改進了RFID標(biāo)簽的識別過程,提高了RFID系統(tǒng)多標(biāo)簽同時識別的性能。權(quán)利要求1.一種RFID標(biāo)簽反碰撞控制方法,其特征在于包括有如下步驟步驟1)閱讀器發(fā)送Active指令Request(R_prefix2,L+1),請求符合要求的標(biāo)簽應(yīng)答;步驟2)處于準(zhǔn)備狀態(tài)的標(biāo)簽接收到指令后,比較自身T_prefix是否與Active指令的R_prefix2相等,如果是,則響應(yīng);否則繼續(xù)等待Active指令;步驟3)閱讀器接收標(biāo)簽的返回信息,如果無標(biāo)簽響應(yīng),轉(zhuǎn)到步驟8);如果只有一個標(biāo)簽響應(yīng),識別這個標(biāo)簽,進一步處理后發(fā)送Quiet指令,然后轉(zhuǎn)到步驟8);如果碰撞,分兩種情況處理如果R_prefix2=0,則直接識別全“1”和全“0”兩個標(biāo)簽,對他們處理后,轉(zhuǎn)到步驟8);否則轉(zhuǎn)到步驟4);步驟4)統(tǒng)計Ncb、Nc、N1和Nr的值①如果Nr=1或者Nr=Nc-1,直接識別Nc個標(biāo)簽;如果采用了JDS算法,且R_prefix1不等于2L-1,則采用回跳策略產(chǎn)生下一次Request指令,轉(zhuǎn)步驟6);否則轉(zhuǎn)到步驟8);②如果Nr≠1且Nr≠Nc-1,轉(zhuǎn)到步驟5);步驟5)采用JDS算法,閱讀器將當(dāng)前的R_prefix1壓入堆棧,如果是Active指令后的第一次采用JDS算法,則把2L-1壓入堆棧,然后根據(jù)碰撞的數(shù)據(jù)產(chǎn)生下一個Request指令,電即將最高碰撞位x置0,高于該位的值不變,此值作為R_prefix1,形成下一次Request指令Request(R_prefix1,x);步驟6)處于激活狀態(tài)的標(biāo)簽收到Request指令后,比較自身ID的L-1~x位是否小于等于R_prefix1,符合則響應(yīng),否則繼續(xù)保持活動狀態(tài);步驟7)閱讀器收到標(biāo)簽的返回數(shù)據(jù),檢測是否有碰撞①如果沒有碰撞,就直接識別標(biāo)簽,并檢查R_prefix1是否等于2L-1,如果是,轉(zhuǎn)到步驟(8);否則,采用回跳策略,產(chǎn)生下一次Request指令轉(zhuǎn)步驟6);②如果發(fā)生碰撞,轉(zhuǎn)到步驟4);步驟8)R_prefix2加1,如果溢出,識別過程結(jié)束,否則轉(zhuǎn)到步驟1)。全文摘要本發(fā)明公開了一種RFID標(biāo)簽反碰撞控制方法,在研究分析跳躍式動態(tài)樹形反碰撞算法和ID預(yù)測算法的基礎(chǔ)上,提出了一種改進的標(biāo)簽碰撞確定性解決方法——分組動態(tài)ID預(yù)測算法(GroupingDynamicIPA,GDIPA);該方法的最大特點就是閱讀器向標(biāo)簽發(fā)出一次問詢命令,在碰撞的情況下,有可能同時識別多個標(biāo)簽;算法采用標(biāo)簽分組識別,閱讀器與標(biāo)簽數(shù)據(jù)動態(tài)傳輸?shù)姆椒▉韺崿F(xiàn);分組動態(tài)ID預(yù)測算法大大地提高了系統(tǒng)的有效服務(wù)率,極大地降低了系統(tǒng)的通信量,表現(xiàn)出了優(yōu)越的性能;本方法是性能優(yōu)良方便實用的一種RFID反碰撞控制方法。文檔編號G06K7/00GK101324917SQ200810029579公開日2008年12月17日申請日期2008年7月18日優(yōu)先權(quán)日2008年7月18日發(fā)明者劉洪濤,古連華,林偉勇,程良倫申請人:廣東工業(yè)大學(xué)