本發(fā)明涉及物聯(lián)網中的RFID射頻識別領域,尤其涉及一種無線射頻識別系統(tǒng)及其多標簽防碰撞預分析式識別方法。
背景技術:
:無線射頻識別(RFID)是一種非接觸性的自動識別技術,可以通過無線信號識別目標,無需在閱讀器和標簽之間建立光學或者機械接觸。相對于其他自動識別技術,RFID具有遠距離識別、體積小、抗污染能力強、數據容量大和可靠性好等優(yōu)點。隨著物聯(lián)網技術的發(fā)展,RFID被廣泛應用于智能化交通、自動化工業(yè)和自動化商業(yè)等領域?;镜腞FID系統(tǒng)主要包括閱讀器和電子標簽兩個結構,閱讀器以無線信號進行廣播,在閱讀器工作范圍內的所有標簽均可以接受到該無線信號。但由于讀取器僅有一個共享的無線信道,如果多個電子標簽在收到閱讀器廣播后同時響應,將導致多個標簽傳送的信息發(fā)生碰撞,閱讀器無法讀取信息。為了讓閱讀器者可以正確讀取電子標簽信息,就必須以某種方式使標簽反復發(fā)送消息,以避免碰撞發(fā)生。因此,設計有效的防碰撞協(xié)議來識別多個標簽將有非常重要的意義。在RFID系統(tǒng)中,閱讀器和標簽之間的碰撞,有兩種主要的類型:閱讀器碰撞和標簽碰撞。閱讀器碰撞存在兩種情況,第一種指的是閱讀器和閱讀器之間的碰撞,這是當兩個閱讀器工作在同一區(qū)域時,一個閱讀器發(fā)出的信號干擾了另一個閱讀器的正常工作,導致兩個閱讀器均不能正常地和工作區(qū)域內的標簽進行通信。第二種是指在閱讀器和標簽之間的碰撞,這意味著當一個標簽是同時工作在多個閱讀器的工作區(qū)域內時,標簽同時接受到多個閱讀器的廣播,這些閱讀器將同時與該標簽進行通信,此時標簽將不知道如何響應這些閱讀器的通信請求。標簽碰撞則是指處于同一工作區(qū)域的多個標簽同時響應一個閱讀器的廣播,此時閱讀器不知道應該與哪一個標簽通信,從而無法正常讀取標簽的信息?,F今防標簽碰撞的方法主要分為兩種,分別是基于Aloha防碰撞協(xié)議和基于樹的防碰撞協(xié)議?;贏loha防碰撞協(xié)議是一種非確定性的協(xié)議,當標簽進入閱讀器的工作區(qū)域中后自動向閱讀器發(fā)送響應,即“標簽先發(fā)言”。如果在同一時間有多個標簽響應則會發(fā)生信號干擾,即發(fā)生碰撞。閱讀器在檢測到碰撞后則廣播一條延遲指令,標簽在收到該指令后會采取某種退避方式延遲一段時間再重新發(fā)送響應,盡可能地使多個標簽能夠先后響應閱讀器,從而避免發(fā)生碰撞,延遲時間的長度是依照某種概率隨機生成的。這種依照概率決定延遲時間的方式是不穩(wěn)定的,當標簽數量增加時碰撞的概率就會增加,方法的效率就會大幅度下降,并且Aloha方法容易產生“標簽餓死”的現象?;跇涞姆琅鲎矃f(xié)議是一種確定性的協(xié)議,它可以保證閱讀器能夠識別所有標簽?;跇涞姆琅鲎矃f(xié)議的基本思想是將閱讀器工作區(qū)域內的所有標簽分裂為不同的子集,每個子集在進行分裂直至每個子集中只存在一個標簽,此時閱讀器就可以對此標簽進行識別?;跇涞姆琅鲎矃f(xié)議容易產生“初始冗余碰撞”問題,即在搜索的初始階段,搜索分裂出的子集數量較少,這導致每個子集內存在大量的標簽,如果閱讀器對每個子集內的標簽進行廣播則必然會發(fā)生標簽碰撞。這種在初始階段發(fā)生的碰撞在很大程度上降低了搜索效率,行之有效的解決方案是在搜索開始之前就事先將標簽分裂為多個子集,并對每個子集進行搜索。但是現在面臨的問題是:如果分裂出的子集數量過少,則每個子集內仍會存在大量標簽,并不能達到方法的最優(yōu)效果;如果分裂出的子集數量過多,則每個子集內的標簽就會非常少甚至沒有標簽,如果依次對這么多子集進行搜索則并不能提高效率,反而會增加系統(tǒng)的開銷,這種情況也不能達到方法的最優(yōu)效果。技術實現要素:本發(fā)明的重點和難點就是如何恰當地選取分裂數,并分裂出合適數量的子集,從而使搜索效率達到最優(yōu);因此,本發(fā)明的目的就在于克服現有技術存在的缺點和不足,提供一種無線射頻識別系統(tǒng)及其多標簽防碰撞預分析式識別方法,從而提高對標簽的識別效率。本發(fā)明的目的是這樣實現的:通過預分析單元在搜索之前分析樹中結點存在ID號的概率來計算出最佳分裂數。如果已知標簽的數量,預分析單元就可以在搜索之前通過分析樹中結點存在ID號的概率來計算出最佳分裂數。因為本方法采用“概率”將“存在ID號的可能性”這一概念進行量化,所以整個分析過程都是“可運算的”,這在一定程度上提高了方法的靈活性和準確性。預分析過程使用到了三個比較重要的變量,分別是總時隙數量,M標簽數量,n分裂數。為了讓總時隙數量最小,即效率最高,我們通過求極值的方法得到了M和n的最優(yōu)數量關系,該關系被表示成一張映射表。同時在ID號長度確定的情況下,映射表可以被固化在預分析單元的硬件設置中。預分析單元只要獲取標簽數量M,即可通過查表得到最優(yōu)分裂數n,并達到最優(yōu)搜索效率。相對于以往的基于樹的防碰撞方法,本方法在很大程度上避免了空閑時隙和碰撞時隙的產生,從而提高了方法的效率。具體地說:一、無線射頻識別系統(tǒng)(簡稱RFID)RFID包括標簽數量測量裝置、預分析單元、閱讀器、天線和電子標簽;其連接關系是:標簽數量測量裝置、預分析單元、閱讀器和天線依次連接;天線和電子標簽相互連通。二、多標簽防碰撞預分析式識別方法(簡稱方法)本方法包括下列步驟:①標簽數量測量裝置獲取標簽數量M,預分析單元得出分裂位數n,閱讀器生成2n種前綴并加入前綴集合P;②閱讀器從前綴集合P中取出一個前綴prefix并使用天線廣播,收到廣播的標簽進行選擇性回應;③閱讀器判斷是否無標簽響應,是否有多個標簽響應和是否有且僅有一個標簽響應,并作出響應操作;④閱讀器判斷前綴集合是否為空,否則返回步驟②,是則表明所有標簽均識別完畢,此時結束搜索。本發(fā)明的工作原理:RFID的搜索過程可以被抽象成一種樹形結構,其中結點的數量等于搜索的總時隙數量,即對應了RFID的搜索效率;為了最大程度的降低總時隙數量提高效率,本發(fā)明采用預分析方式首先計算出一定長度ID號對應的最優(yōu)分裂數,再進行搜索。設為總時隙數量,M為標簽數量,n為分裂數,則有以下公式M‾(M,n)=2M+(2(1-M/2N)2N-n-1)·2n]]>為了讓總時隙數量最小,我們通過求偏導數得出與M和n的最優(yōu)關系方程,同時可以得出在最優(yōu)關系方程的情況下M和n需要滿足的數量關系,這一關系被表示成一張映射表,其中M每處于一個區(qū)間時,預分析單元即可得出對應的n值,映射表的通式如下:nM區(qū)間1[0,M2]2(M2,M3]3(M3,M4]...n(Mn,M(n+1)]...N(MN,2N]在ID號長度確定的情況下,該映射表就已經可以確定,因此映射表可以在出廠時就固化在預分析單元的硬件系統(tǒng)中。在得出分裂數n后,所有標簽即被分裂為2n組并以2n個前綴表示,每一組標簽的ID號均包含所對應的前綴;因為采用了最優(yōu)方法,此時每組中的標簽數量近似等于1,因此閱讀器可以在產生最少空閑時隙和最少碰撞時隙的情況下搜索完所有標簽。與現有的技術相比,本發(fā)明具有如下的優(yōu)點和有益效果:①最大程度上減少了搜索時隙的數量;②顯著提高了閱讀器對多標簽的識別效率。本發(fā)明適用于RFID系統(tǒng)中閱讀器對多個電子標簽的快速識別。附圖說明圖1是RFID系統(tǒng)的結構方框圖;圖2是本方法的具體實施例流程圖。圖中:10—RFID系統(tǒng),11—標簽數量測量裝置;12—預分析單元;13—閱讀器;14—天線;15—標簽,15-1—第1電子標簽,15-2—第2電子標簽……15-M—第M電子標簽。具體實施方式下面結合附圖和實施例詳細說明:一、系統(tǒng)1、總體如圖1,RFID系統(tǒng)10包括標簽數量測量裝置11、預分析單元12、閱讀器13、天線14和電子標簽15;其連接關系是:標簽數量測量裝置11、預分析單元12、閱讀器13和天線14依次連接;天線14和電子標簽15相互連通。工作原理:標簽數量測量裝置11測量標簽的數量,并將信息傳送至預分析單元12;預分析單元12預分析得出最優(yōu)搜索模式,并將搜索方案傳送至閱讀器13;閱讀器13通過天線14發(fā)送廣播信號;電子標簽15響應閱讀器13的廣播信號,如果有多個標簽同時響應則發(fā)生碰撞。2、功能塊(結構及其功能)1)標簽數量測量裝置11標簽數量測量裝置11是一種通用的功能部件,如選用紅外線掃描計數器、磁感應計數器或熱敏計數器。功能:測量RFID系統(tǒng)范圍內的標簽數量M,并將標簽數量傳送至預分析單元12。2)預分析單元12預分析單元12其核心是一張映射表,映射表的原象是標簽數量區(qū)間,象為分裂位數。功能:設標簽ID號的長度為N并且為一固定值,則標簽數量始終介于0至2N之間;通過數學計算,預分析單元12生產者將標簽數量劃分成若干標簽數量區(qū)間,每個區(qū)間對應一個分裂位數,這種對應關系即是一張映射表,并且該映射表在預分析單元12出廠時便可以固化在硬件系統(tǒng)中;當標簽數量測量裝置11傳送來的標簽數量處于某個標簽數量區(qū)間中時,預分析單元12即將對應的分裂位數傳送至閱讀器13。3)閱讀器13閱讀器13包括前綴生成裝置、前綴集合(數據存儲裝置)和交互控制裝置三個結構模塊。功能:設由預分析單元12傳來的分裂位數為n,前綴生成裝置自動生成n位二進制前綴(二進制前綴共有2n個)并將2n個前綴加入前綴集合;交互控制裝置在每次搜索過程中依次從前綴集合中取出一個前綴并通過天線14進行廣播,如果無標簽15響應廣播則進行下一輪搜索,如果有一個標簽15響應廣播則成功讀取該標簽信息并進行下一輪搜索,如果多個標簽15同時響應廣播則在該前綴的基礎上再接入一位代碼生成兩個前綴并進行廣播,并進行下一輪搜索,直至前綴集合為空。4)天線14天線14是一種數字信號廣播裝置。功能:天線14與閱讀器13相連接。當閱讀器需要廣播前綴時,天線14將前綴轉化為無線數字信號并進行廣播;當標簽發(fā)送響應信號時,天線14接收該響應信號并將其傳送至閱讀器13.5)電子標簽15電子標簽15是一種可以接收并發(fā)送電磁波的通用電子元件。其功能是接收天線發(fā)來的廣播信號并發(fā)送響應信號;電子標簽15包括第1、2……M電子標簽15-1、15-2……15-M,M是自然數,1≤M≤2N,N等于ID號的長度。每個電子標簽15有唯一ID號,ID號確保了電子標簽15的唯一性;當電子標簽15的ID號包含閱讀器13傳來的二進制前綴時則響應廣播,否則不響應。二、方法1、如圖2,本方法包括以下步驟以及每個步驟的具體工作流程:①開始-201,標簽數量測量裝置獲取標簽數量M-202,預分析單元得出分裂位數n-203,閱讀器生成2n種前綴并加入前綴集合P-204。所述步驟①的具體工作流程如下:A、標簽數量測量裝置首先測量電子標簽的數量并將標簽數量值M傳送至預分析單元;B、預分析單元收到標簽數量值M并查詢映射表,當M處于映射表原象某個數量區(qū)間中時,則令該區(qū)間對應的映射值為分裂數n,預分析單元之后將分裂數值傳送至閱讀器;C、閱讀器接收到分裂數值n,閱讀器的前綴生成裝置自動生成n位二進制前綴,二進制前綴共有2n個,并將2n個前綴加入前綴集合P。②閱讀器從前綴集合P中取出一個前綴prefix并使用天線廣播,收到廣播的標簽進行選擇性回應;所述步驟②的具體工作流程如下:a、閱讀器的交互控制裝置從前綴集合P中無放回地取出一個前綴prefix,并將該前綴的二進制代碼傳送至天線進行廣播205;b、所有收到廣播的電子標簽將前綴與自身所綁定的ID號進行比對,如果自身ID號包含該前綴prefix則發(fā)送響應信號響應廣播,否則不響應。③閱讀器判斷是否無標簽響應、是否有多個標簽響應和是否有且僅有一個標簽響應,并作出響應操作;所述步驟③的具體工作流程如下:ⅰ、判斷閱讀器端檢查是否有標簽響應-206,如果是,則進入步驟ⅱ,否則進入步驟④;ⅱ、判斷是否有多個標簽同時響應廣播并發(fā)生碰撞-207,如果是,則發(fā)生碰撞并進入步驟ⅲ,否則進入步驟ⅳ;ⅲ、有多個標簽同時響應,閱讀器在prefix后面接入0或1,從而產生兩個新前綴,并將兩個新前綴加入前綴集合P-208,再返回步驟②;ⅳ、有且僅有一個標簽響應,閱讀器成功識別該標簽-209,再進入步驟④。④判斷閱讀器前綴集合是否為空-210,如果是,則表明所有標簽均識別完畢,此時結束搜索211,否則返回步驟②。2、具體實施例現在假設ID號長度為4,待識別的標簽為0000、0010、0011、0101、0110、1000、1100、1110、1111,則此時長度為4的ID號對應的映射表見表1,標簽數量M=9;表1映射表(ID號長度為4)n標簽數量M區(qū)間1[0,4]2(4,7]3(7,11]4(11,16]該實例的具體識別過程如下:-->①標簽數量檢測裝置得出標簽數量M=9。已知9∈(7,11],預分析單元得出M對應的分裂數為3;閱讀器生成23即8個前綴,并將它們加入前綴集合P,此時P={000,001,010,011,100,101,110,111}。-->②閱讀器取出前綴000并廣播,0000與前綴匹配并響應廣播。-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽0000;-->④此時P={001,010,011,100,101,110,111}不為空,返回步驟②。-->②閱讀器取出前綴001并廣播,0010和0011與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽發(fā)生碰撞;-->ⅲ閱讀器在前綴001后面接入0或1產生兩個新前綴0010和0011并加入前綴集合P,返回步驟②。-->②閱讀器取出前綴0010并廣播,0010與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽0010;-->④此時P={0011,010,011,100,101,110,111}不為空,返回步驟②。-->②閱讀器取出前綴0011并廣播,0011與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽0011;-->④此時P={010,011,100,101,110,111}不為空,返回步驟②。-->②閱讀器取出前綴010并廣播,0101與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽0101;-->④此時P={011,100,101,110,111}不為空,返回步驟②。-->②閱讀器取出前綴011并廣播,0110與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽0110;-->④此時P={100,101,110,111}不為空,返回步驟②。-->②閱讀器取出前綴100并廣播,1000與前綴匹配并響應廣播。-->ⅰ閱讀器收到響應。-->ⅱ標簽未發(fā)生碰撞。-->ⅳ閱讀器成功識別標簽1000。-->④此時P={101,110,111}不為空,返回步驟②。-->②閱讀器取出前綴101并廣播,無標簽響應;-->ⅰ閱讀器沒有收到響應;-->④此時P={110,111}不為空,返回步驟②。-->②閱讀器取出前綴110并廣播,1100與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽1100;-->④此時P={111}不為空,返回步驟②。-->②閱讀器取出前綴111并廣播,1110和1111與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽發(fā)生碰撞;-->ⅲ閱讀器在前綴111后面接入0或1產生兩個新前綴1110和1111并加入前綴集合P,返回步驟②。-->②閱讀器取出前綴1110并廣播,1110與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽1110;-->④此時P={1111}不為空,返回步驟②。-->②閱讀器取出前綴1111并廣播,1111與前綴匹配并響應廣播;-->ⅰ閱讀器收到響應;-->ⅱ標簽未發(fā)生碰撞;-->ⅳ閱讀器成功識別標簽1111。-->④此時P={}為空,結束搜索。當前第1頁1 2 3