国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于二叉樹的rfid防碰撞算法

      文檔序號:6630826閱讀:376來源:國知局
      一種基于二叉樹的rfid防碰撞算法
      【專利摘要】本發(fā)明公開了一種基于二叉樹的RFID防碰撞算法,在二叉樹算法的基礎上,增加鎖位尋呼指令,閱讀器根據譯碼結果判斷發(fā)生碰撞的比特位置,發(fā)送鎖位尋呼指令鎖定發(fā)生碰撞的比特位置,在鎖定的碰撞位上進行防碰撞運算。本發(fā)明算法充分考慮了閱讀器尋呼次數、傳輸時延、標簽能耗以及吞吐量4個重要性能指標,BLBO防碰撞算法較其他二叉樹算法性能有明顯提高,更適用于RFID防碰撞協議。
      【專利說明】 —種基于二叉樹的RFID防碰撞算法

      【技術領域】
      [0001]本發(fā)明涉及射頻識別【技術領域】,具體涉及一種在二叉樹算法的基礎上提出的鎖位后退防碰撞(BLBO)算法。

      【背景技術】
      [0002]射頻識別技術的一個主要優(yōu)點就是多目標識別。在系統(tǒng)工作的時候,閱讀器周圍可能會有多個標簽同時存在,當多個標簽同時向閱讀器傳送數據的時候就產生了沖突問題。目前存在的RFID防碰撞算法主要有2種:一種是基于ALOHA的不確定性算法,另一種是基于二叉樹(BT, binary tree)的確定性算法?;贏LOHA的不確定性算法有個致命的缺點是標簽容易出現“餓死”情況(即標簽存在不能被識別的可能),基于二叉樹的確定性算法雖然解決了這種“餓死”情況,但也存在著識別周期長、標簽能耗大的問題。


      【發(fā)明內容】

      [0003]本發(fā)明要解決的技術問題是:針對目前二叉樹算法中存在著識別周期長、標簽能耗大的問題,本發(fā)明提出了鎖位的概念,通過鎖位尋呼指令鎖定碰撞發(fā)生比特位置,在鎖定的碰撞位上進行防碰撞運算,采用后退策略識別碰撞節(jié)點下一個分支內的所有標簽。
      [0004]本發(fā)明所采用的技術方案為:
      一種基于二叉樹的RFID防碰撞算法,在二叉樹算法的基礎上,增加鎖位尋呼指令,閱讀器根據譯碼結果判斷發(fā)生碰撞的比特位置,發(fā)送鎖位尋呼指令鎖定發(fā)生碰撞的比特位置,在鎖定的碰撞位上進行防碰撞運算。
      [0005]所述尋呼過程采用后退策略,每次識別一個標簽之后返回到上一個發(fā)生碰撞的節(jié)點,去產生新的尋呼識別標簽。這樣就大大減少了碰撞發(fā)生的次數。
      [0006]所述鎖位尋呼指令為REQUEST (UID,0),其中WD代表閱讀器在第一次尋呼之后,根據譯碼結果所得到的下一次尋呼的序列號,UID的取值約定為:閱讀器在判斷出數據發(fā)生碰撞的準確比特位置之后,將碰撞發(fā)生的幾個位置提取出來,并將幾個碰撞比特置“ 1”,未發(fā)生碰撞的比特置“0”,組成新的鎖定尋呼指令的序列號;閱讀器在發(fā)送這個尋呼指令之后,電子標簽的響應為:標簽在接到這個鎖位命令之后,將自己ID中的數據位與接收到的閱讀器發(fā)出的序列號進行比較,與閱讀器發(fā)出的UID比特中值為“I”所對應的比特進行鎖定,在接下來的防碰撞處理中,參與數據發(fā)送和比較的僅僅是這幾個被鎖定的比特。
      [0007]所述算法的主要步驟如下:
      1)閱讀器發(fā)送REQUEST(111L...1111)命令,所有ID碼值小于或者等于(1111...1111)的電子標簽對此命令做出應答,然后所有應答標簽將自己的ID碼發(fā)送出去;
      2)閱讀器檢測收到的信號,如果沒有信號,表示閱讀器周圍沒有電子標簽,則轉到步驟I),否則轉到步驟3);
      3)閱讀器對所有電子標簽做出的應答信號進行譯碼,根據譯碼結果判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài);如果譯碼結果判斷出有碰撞,則轉到步驟4);
      4)閱讀器根據步驟3)中的譯碼結果判斷碰撞發(fā)生在哪幾個比特上,閱讀器將這幾個碰撞的比特置“ I ”,未發(fā)生碰撞的比特置“O”,接著閱讀器發(fā)送REQUEST (WD,O)指令,標簽在接到此命令之后將UID與自己的ID進行比較,將發(fā)生碰撞的比特鎖定,鎖定比特中最高比特為“O”的標簽對此命令做出應答,將自己鎖定比特中剩下的幾比特發(fā)送給閱讀器;
      閱讀器判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài);
      如果有碰撞發(fā)生,閱讀器對接收到的信號再進行譯碼,判斷出發(fā)生碰撞的準確比特,將碰撞發(fā)生的最高比特置“O”,高于該比特的值不變,低于該比特的值舍去,在發(fā)生碰撞的這些標簽中再次執(zhí)行REQUEST (UID)命令;
      每次順利讀取某個標簽之后,采取后退策略,返回到上一次發(fā)生碰撞的節(jié)點,識別此節(jié)點的另外一個分支,這樣不斷重復操作,直到把鎖定的比特中最高比特為“O”這個分支內產生碰撞的所有標簽識別完以后,轉到步驟5);
      5)閱讀器發(fā)送REQUEST(I)這個指令,鎖定比特中最高比特為“I”的標簽對此命令做出應答,將自己鎖定比特中剩下的幾比特發(fā)送給閱讀器;
      閱讀器判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài);
      如果有碰撞發(fā)生,閱讀器對接收到的信號再進行譯碼,判斷出發(fā)生碰撞的準確比特,將碰撞發(fā)生的最高比特置“O”,高于該比特的值不變,低于該比特的值舍去,在發(fā)生碰撞的這些標簽中再次進行REQUEST (UID)命令;
      每次順利讀取某個標簽之后,返回到上一次發(fā)生碰撞的節(jié)點,識別此節(jié)點的另外一個分支,這樣不斷重復操作,直到把鎖定比特中最高比特為“I”的這個分支內產生碰撞的所有標簽識別完以后,轉到步驟6);
      6)待所有電子標簽都被識別出來,識別過程結束。
      [0008]本發(fā)明有益效果:本發(fā)明的算法充分考慮了閱讀器尋呼次數、傳輸時延、標簽能耗以及吞吐量4個重要性能指標,BLBO防碰撞算法較其他二叉樹算法性能有明顯提高,更適用于RFID防碰撞協議。

      【專利附圖】

      【附圖說明】
      [0009]圖1為二叉搜索樹算法識別過程示意圖;
      圖2為動態(tài)二叉搜索樹算法識別過程示意圖;
      圖3為二叉樹算法構成的樹結構示意圖;
      圖4為本發(fā)明鎖位后退防碰撞算法的工作流程。

      【具體實施方式】
      [0010]下面根據說明書附圖,結合具體實施例,對本發(fā)明進一步說明:
      一種基于二叉樹的RFID防碰撞算法,在二叉樹算法的基礎上,增加了鎖位尋呼指令,閱讀器根據譯碼結果判斷發(fā)生碰撞的比特位置,發(fā)送鎖位尋呼指令鎖定發(fā)生碰撞的比特位置,在鎖定的碰撞位上進行防碰撞運算。
      [0011]閱讀器在發(fā)送尋呼指令之后,閱讀器工作區(qū)域范圍內的所有電子標簽對此尋呼做出應答,如果閱讀器譯碼得到有h個位發(fā)生沖突,顯然只有這h個比特對于閱讀器來說是未知的,其他的比特對于標簽是已知的。
      [0012]假設閱讀器周圍有3個標簽A、B、C,它們的ID分別為:10110101、11110101、10100101。閱讀器發(fā)送總尋呼REQUEST(llllllllllll)指令之后,譯碼結果為:1X1X0101。二叉搜索樹算法識別過程如圖1所示,動態(tài)二叉搜索樹算法識別過程如圖2所示。
      [0013]由圖1所示的BS算法中,閱讀器和電子標簽每次發(fā)出的尋呼是整個序列號,含有的冗余信息太大,DBS算法在BS算法的基礎上減除了一半的冗余信息,但也沒有達到最優(yōu)化。
      [0014]本發(fā)明的算法就是在此基礎上繼續(xù)減除尋呼中信息冗余位,以減少傳輸時延和能耗。例如閱讀器得到譯碼結果為1X1X01010101,顯然只有這2個X比特對于閱讀器來說是未知的,其他的比特都是已知的,鎖位防碰撞算法就是將防碰撞處理限制在這2個X比特上,不傳輸其他的比特,這樣就在動態(tài)二叉搜索樹算法的基礎上進一步減少了數據冗余位。
      [0015]所述尋呼過程采用后退策略,每次識別一個標簽之后返回到上一個發(fā)生碰撞的節(jié)點,去產生新的尋呼識別標簽。這樣就大大減少了碰撞發(fā)生的次數。
      [0016]如圖3所示,假若閱讀器識別電子標簽4后,二叉搜索樹和動態(tài)二叉搜索樹算法都要返回到根節(jié)點去發(fā)送尋呼識別其他的電子標簽,本算法采取的是后退策略,即識別標簽4之后,返回到上一次發(fā)生碰撞的節(jié)點3去產生新的尋呼識別標簽5,這樣就大大減少了碰撞發(fā)生的次數。
      [0017]本算法所涉及的一組指令,這組指令由電子標簽處理。此外,每個電子標簽擁有一個唯一的序列號。具體指令如下:
      REQUEST (UID)——請求(序列號);
      SELECT (UID)——選擇(序列號);
      READ-DATA——讀出數據;
      UNSELECT-去銷選擇。
      [0018]所述鎖位尋呼指令為REQUEST (UID,0),其中WD代表閱讀器在第一次尋呼之后,根據譯碼結果所得到的下一次尋呼的序列號,UID的取值約定為:閱讀器在判斷出數據發(fā)生碰撞的準確比特位置之后,將碰撞發(fā)生的幾個位置提取出來,并將幾個碰撞比特置“ 1”,未發(fā)生碰撞的比特置“0”,組成新的鎖定尋呼指令的序列號;閱讀器在發(fā)送這個尋呼指令之后,電子標簽的響應為:標簽在接到這個鎖位命令之后,將自己ID中的數據位與接收到的閱讀器發(fā)出的序列號進行比較,與閱讀器發(fā)出的UID比特中值為“I”所對應的比特進行鎖定,在接下來的防碰撞處理中,參與數據發(fā)送和比較的僅僅是這幾個被鎖定的比特。
      [0019]只有電子標簽鎖定的所有比特中最高比特的值為O的回送自己的ID給閱讀器,并且返回鎖定的比特中除最高位的其他幾比特,最高比特與X值相同的不響應。
      [0020]如圖4所示,為本發(fā)明鎖位后退防碰撞算法的工作流程,該流程分為3個小流程:閱讀器發(fā)送REQUEST (1111...1111)命令時標簽無碰撞發(fā)生時的流程、有碰撞發(fā)生時“O”分支處理流程和有碰撞發(fā)生時“I”分支處理流程(鎖定的比特中最高比特為“O”的所有標簽處在“O”分支,鎖定的比特中最高比特為“ I ”的所有標簽處在“ I ”分支),主要步驟如下:
      1)閱讀器發(fā)送REQUEST(1111...1111)命令,所有ID碼值小于或者等于(1111...1111)的電子標簽對此命令做出應答,然后所有應答標簽將自己的ID碼發(fā)送出去;
      2)閱讀器檢測收到的信號,如果沒有信號,表示閱讀器周圍沒有電子標簽,則轉到步驟I),否則轉到步驟3);
      3)閱讀器對所有電子標簽做出的應答信號進行譯碼,根據譯碼結果判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài);如果譯碼結果判斷出有碰撞,則轉到步驟4);
      4)閱讀器根據步驟3)中的譯碼結果判斷碰撞發(fā)生在哪幾個比特上,閱讀器將這幾個碰撞的比特置“ I ”,未發(fā)生碰撞的比特置“O”,接著閱讀器發(fā)送REQUEST (WD,O)指令,標簽在接到此命令之后將UID與自己的ID進行比較,將發(fā)生碰撞的比特鎖定,鎖定比特中最高比特為“O”的標簽對此命令做出應答,將自己鎖定比特中剩下的幾比特發(fā)送給閱讀器;
      閱讀器判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài);
      如果有碰撞發(fā)生,閱讀器對接收到的信號再進行譯碼,判斷出發(fā)生碰撞的準確比特,將碰撞發(fā)生的最高比特置“O”,高于該比特的值不變,低于該比特的值舍去,在發(fā)生碰撞的這些標簽中再次執(zhí)行REQUEST (UID)命令;
      每次順利讀取某個標簽之后,采取后退策略,返回到上一次發(fā)生碰撞的節(jié)點,識別此節(jié)點的另外一個分支,這樣不斷重復操作,直到把鎖定的比特中最高比特為“O”這個分支內產生碰撞的所有標簽識別完以后,轉到步驟5);
      5)閱讀器發(fā)送REQUEST(I)這個指令,鎖定比特中最高比特為“I”的標簽對此命令做出應答,將自己鎖定比特中剩下的幾比特發(fā)送給閱讀器;
      閱讀器判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài);
      如果有碰撞發(fā)生,閱讀器對接收到的信號再進行譯碼,判斷出發(fā)生碰撞的準確比特,將碰撞發(fā)生的最高比特置“O”,高于該比特的值不變,低于該比特的值舍去,在發(fā)生碰撞的這些標簽中再次進行REQUEST (UID)命令;
      每次順利讀取某個標簽之后,返回到上一次發(fā)生碰撞的節(jié)點,識別此節(jié)點的另外一個分支,這樣不斷重復操作,直到把鎖定比特中最高比特為“I”的這個分支內產生碰撞的所有標簽識別完以后,轉到步驟6);
      6)待所有電子標簽都被識別出來,識別過程結束。
      【權利要求】
      1.一種基于二叉樹的RFID防碰撞算法,其特征在于:在二叉樹算法的基礎上增加鎖位尋呼指令,閱讀器根據譯碼結果判斷發(fā)生碰撞的比特位置,發(fā)送鎖位尋呼指令,鎖定發(fā)生碰撞的比特位置,在鎖定的碰撞位上進行防碰撞運算。
      2.根據權利要求1所述一種基于二叉樹的RFID防碰撞算法,其特征在于:所述尋呼過程采用后退策略,每次識別一個標簽之后返回到上一個發(fā)生碰撞的節(jié)點,去產生新的尋呼識別標簽,這樣就大大減少了碰撞發(fā)生的次數。
      3.根據權利要求1或2所述一種基于二叉樹的RFID防碰撞算法,其特征在于:所述鎖位尋呼指令為REQUEST (UID,0),其中WD代表閱讀器在第一次尋呼之后,根據譯碼結果所得到的下一次尋呼的序列號,UID的取值約定為:閱讀器在判斷出數據發(fā)生碰撞的準確比特位置之后,將碰撞發(fā)生的幾個位置提取出來,并將幾個碰撞比特置“ I ”,未發(fā)生碰撞的比特置“O”,組成新的鎖定尋呼指令的序列號;閱讀器在發(fā)送這個尋呼指令之后,電子標簽的響應為:標簽在接到這個鎖位命令之后,將自己ID中的數據位與接收到的閱讀器發(fā)出的序列號進行比較,與閱讀器發(fā)出的UID比特中值為“I”所對應的比特進行鎖定,在接下來的防碰撞處理中,參與數據發(fā)送和比較的僅僅是這幾個被鎖定的比特。
      4.根據權利要求3所述一種基于二叉樹的RFID防碰撞算法,其特征在于,所述算法的主要步驟如下: 1)閱讀器發(fā)送REQUEST(1111...1111)命令,所有ID碼值小于或者等于(1111...1111)的電子標簽對此命令做出應答,然后所有應答標簽將自己的ID碼發(fā)送出去; 2)閱讀器檢測收到的信號,如果沒有信號,表示閱讀器周圍沒有電子標簽,則轉到步驟I),否則轉到步驟3); 3)閱讀器對所有電子標簽做出的應答信號進行譯碼,根據譯碼結果判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài);如果譯碼結果判斷出有碰撞,則轉到步驟4); 4)閱讀器根據步驟3)中的譯碼結果判斷碰撞發(fā)生在哪幾個比特上,閱讀器將這幾個碰撞的比特置“ I ”,未發(fā)生碰撞的比特置“O”,接著閱讀器發(fā)送REQUEST (WD,O)指令,標簽在接到此命令之后將UID與自己的ID進行比較,將發(fā)生碰撞的比特鎖定,鎖定比特中最高比特為“O”的標簽對此命令做出應答,將自己鎖定比特中剩下的幾比特發(fā)送給閱讀器; 閱讀器判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài); 如果有碰撞發(fā)生,閱讀器對接收到的信號再進行譯碼,判斷出發(fā)生碰撞的準確比特,將碰撞發(fā)生的最高比特置“O”,高于該比特的值不變,低于該比特的值舍去,在發(fā)生碰撞的這些標簽中再次執(zhí)行REQUEST (UID)命令; 每次順利讀取某個標簽之后,采取后退策略,返回到上一次發(fā)生碰撞的節(jié)點,識別此節(jié)點的另外一個分支,這樣不斷重復操作,直到把鎖定的比特中最高比特為“O”這個分支內產生碰撞的所有標簽識別完以后,轉到步驟5); 5)閱讀器發(fā)送REQUEST(I)這個指令,鎖定比特中最高比特為“I”的標簽對此命令做出應答,將自己鎖定比特中剩下的幾比特發(fā)送給閱讀器; 閱讀器判斷是否有碰撞發(fā)生,如果沒有碰撞發(fā)生,閱讀器發(fā)送SELECT和READ-DATE指令,對標簽進行讀寫操作之后,閱讀器發(fā)出UNSELECT命令,使該標簽進入無聲狀態(tài); 如果有碰撞發(fā)生,閱讀器對接收到的信號再進行譯碼,判斷出發(fā)生碰撞的準確比特,將碰撞發(fā)生的最高比特置“O”,高于該比特的值不變,低于該比特的值舍去,在發(fā)生碰撞的這些標簽中再次進行REQUEST (MD)命令; 每次順利讀取某個標簽之后,返回到上一次發(fā)生碰撞的節(jié)點,識別此節(jié)點的另外一個分支,這樣不斷重復操作,直到把鎖定比特中最高比特為“I”的這個分支內產生碰撞的所有標簽識別完以后,轉到步驟6); 6)待所有電子標簽都被識別出來,識別過程結束。
      【文檔編號】G06K7/00GK104268494SQ201410555923
      【公開日】2015年1月7日 申請日期:2014年10月20日 優(yōu)先權日:2014年10月20日
      【發(fā)明者】方雪靜, 黃敏, 侯德龍 申請人:浪潮電子信息產業(yè)股份有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1