基於二進位防碰撞算法的RFID定位系統的設計

2021-01-08 RFID世界網

  引言

  目前,有很多定位技術都可以對物體進行定位,但在小區域(如室內)定位服務中,現有的定位技術存在著一定的缺陷,如GPS技術用於停車場這種小區域的定位服務中,成本太高而且定位精度不高。其他技術如超聲波技術、射頻識別(Radio Frequency Identication,RFID)技術、IEEE802.11、超寬帶(UWB)等,應用於室內定位服務,各有優劣。射頻識別定位技術以其非接觸、非視距、靈敏度高和成本低的優點,正成為定位系統的優選技術。然而,在實際應用中不可能只對一個標籤定位,多標籤定位必然會造成標籤之間的碰撞,為了解決標籤之間的碰撞問題,目前國內外所研究的防碰撞算法如下:多址技術(SDMA、TDMA、CDMA、FDMA),ALOHA防碰撞算法,二進位防碰撞算法。其中二進位防碰撞算法易於實現且效率和精度高,近幾年得到廣泛運用。

  1 設計方案

  閱讀器採用的是PIC16F877A微控制器,閱讀器與標籤都是利用模擬SPI口與CC2500射頻模塊的數字接口進行通信。作為閱讀器部分的PIC 16F877A則用其TXD與RXD引腳通過MAX3232實現電平轉換後,與PC機的串口相連以實現讀寫器讀取數據的功能。

  讀寫器與標籤之間的射頻信號通過空間耦合實現無線信息傳遞,讀寫器通過與標籤的無線通信,獲得接收信號強度指示(RSSI)值,再採用LANDMAR定位算法,就可以計算出目標的相對坐標位置,實現精確定位。在大多數情況下讀寫器在識別標籤時難免會出現碰撞的問題,為了解決這一問題,利用二進位搜索法來防止多標籤識別時發生碰撞。系統框圖如圖1所示。

  1.1 微控制器

  本系統讀寫器和標籤都採用PIC16F877A作為微控制器。PIC16F877A是8位的高性價比微控制器,並且採用不同的寬度,便於實現全部指令的單字節化、單周期化,從而有利於提高CPU執行指令的速度。此外,數據存儲空間比較大,擁有8K×14個字節Flash程序存儲器、368×8個字節數據存儲(RAM)空間、256×8個字節EEPROM數據存儲空間。還具有8級的硬體堆棧、內部看門狗定時器、低功耗休眠模式、25 mA的吸入/拉出電流。外部具有3個定時器模塊。它還具有2個16位捕捉器、2個16位比較器、2個10位PWM模塊、10位多通道A/D轉換器、通用同步異步接收/發送器等功能模塊。它具有功耗低、驅動能力強、外接電路簡單、尋址簡單、指令條數少等優點。

  微控制器PIC16F877A通過SPI接口與CC2500射頻收發晶片實現數據的接收與發送。PC機可以利用串口調試助手發送命令,通過RS232串口連接讀寫器,控制讀寫器與標籤之間的一切操作。

  1.2 射頻收發晶片

  無線通信的通信距離、通信效率與其主晶片密切相關。CC2500是一種低成本的2.4 GHz射頻收發晶片,為低功耗無線應用而設計。電路工作在2 400~2 483.5 Hz的ISM(工業、科學及醫學)和SRD(短距離設備)頻率波段。

  射頻收發晶片集成了一個數據傳輸可達500 kbps的高度可配置的數據機。通過開啟集成在數據機上的前向誤差校正選項,使性能得到提升。CC2500為數據處理、數據緩衝、突發數據傳輸、清晰信道評估、連接質量指示和電磁波激發提供廣泛的硬體支持。CC2500在通信中空中接口的數據是以一個固定格式傳輸,讀寫器和標籤之間的數據傳輸必須嚴格按照這個格式進行,否則無法通信。

  導言、同步字與CRC校驗在發送數據時是由CC2500硬體自動添加,在接收時由硬體自動去除。在信道特性較好的場合,為了提高識別速度,可設定16位的導言與16位的同步字。CC2500在固定長度通信模式下,可刪去長度域;在可變長度通信模式,需要8位的長度域給出除去導言與同步字外所有數據負載的字節數。其數據格式如圖2所示。

  CC2500與MCU之間的接口通過SPI接口相連,MCU通過SPI接口向CC2500發送操作命令,配置其調製方式、工作頻率等參數,通過命令配置其為接收狀態、發送狀態、空閒狀態或休眠狀態。

  1.3 低功耗設計

  本定位系統的標籤採用電池供電,是有源標籤。而電池是一種消耗性的電源,工作時間短。為了延長車載卡的工作時間,需要進行電源管理,以降低功耗。當前大多數的電源管理方法採用一種周密設計的喚醒、休眠方法。但大多數情況下,喚醒周期的大部分時間是無用的,消耗能量。本系統中採用一種無線觸發喚醒的電源管理方法。在這種方法中,有源標籤進入休眠模式後就會一直保持睡眠狀態,在讀寫器沒有發送出特定頻率的無線信號時,它是不會被喚醒的。當然,這個特定頻率的無線信號會立即喚醒休眠的標籤。這樣,就節省了在喚醒前和監測期間的電源消耗。喚醒脈衝通過特定頻率傳送,而數據通信採用另外的無線頻率傳送。一旦讀寫器與標籤建立通信連接後,雙方便跳到由讀寫器指定的固定頻率上工作,這樣即使車場中其他標籤在無線通信範圍內也不會被喚醒,避免了同頻幹擾。無線觸發喚醒電路主要由無源元件構成,其基本電路如圖3所示。

  2 多標籤的防碰撞算法

  要實現多目標識別,必然要解決下述問題:在一個讀寫器的範圍內有多個電子標籤時,由於所有電子標籤都採用同一工作頻率,故當多個電子標籤同時傳輸數據就會產生數據衝突,使各電子標籤之間的傳輸相互幹擾,進而導致信息的丟失,這就是通常所說的碰撞問題。在電子標籤和讀寫器的通信過程中一般會有3種形式的碰撞:標籤碰撞、讀寫器幹擾、標籤幹擾。本文主要研究標籤碰撞。

  二進位搜索法又名二叉樹搜索法,所有用二進位唯一標籤的電子標籤的ID號可以看成一棵完全二叉樹。在讀寫器作用範圍內,同步向讀寫器發送信號的標籤ID號也構成一棵二叉樹。讀寫器根據信號碰撞的情況反覆對完全二叉樹的分枝進行篩選,最終找出這棵二叉樹。在尋找的過程當中逐一確定作用區域內響應的標籤,同時也完成了它們與讀寫器之間的信息交換。

  接下來將通過一個實例對二進位搜索算法具體實現過程進行詳細的說明。採用ID為8位的4個標籤,其ID分別為10110010、10100011、101 10011、11100011。

  二進位搜索步驟如下:

  ①讀寫器設置篩選條件ID<11111111,向標籤發送請求。

  ②閱讀區內的所有標籤均符合篩選條件,響應讀寫器的請求,發送各自的ID。

  ③讀寫器檢測到第2、4、8位發生碰撞,即1X1X001X讀寫器將碰撞的最高位置0,其餘低位置1,重新設定篩選

  條件ID<10111111,向標籤發送請求。

  ④標籤10110010、10100011、10110011響應讀寫器請求,發送各自的ID。

  ⑤讀寫器檢測到第4、8位發生碰撞(即101X001X),讀寫器將碰撞最高位置0,其餘低位置1,重新設定篩選條件為ID<10101111,向標籤發送請求。

  ⑥標籤10101111響應讀寫器的請求,發送ID號。

  ⑦讀寫器檢測到沒有碰撞發生,成功識別出標籤10100011,然後使標籤10100011處於休眠狀態,完成對標籤的讀寫。

  ⑧瀆寫器重新設定篩選條件為ID<11111111,重複識別過程,直至所有標籤識別出來。

  二進位搜索算法的識別示意圖如圖4所示。

 

  3 定位算法

  LANDMARC定位算法是一種經典的基於有源RFID的室內定位算法,設計的思想是採用額外的固定參考標籤(或稱為輔助標籤),這些參考標籤在該定位系統中作為參考點使用,通過參考點的信號強度值與待定位標籤的信號強度值之間的比較,計算出待定位標籤的坐標。由於讀寫器獲得到的相鄰標籤的RSSI也是相近的,所以LANDMARC算法通過比較閱讀器接收到的待定位標籤與參考標籤強度值的大小來求得離待定標籤距離的幾個參考標籤,然後根據這幾個最相鄰參考標籤的坐標,並結合它們的權重,用經驗公式計算出待定位標籤的坐標。LANDMARC方法具有較高的定位精度,可擴展性好,能處理比較複雜的環境,是一種經常使用的定位方法。

  LANDMARC定位算法具有3個特點:

  ◆採用多個低廉的標籤代替昂貴的讀寫器,節省了開支;

  ◆可以較好地適應環境所引起的動態因素;

  ◆定位信息與其他定位技術比較,更加精確、可靠。

  LANDMARC定位算法支持移動和動態的屬性,可以更好地完成一些接近實時傳感的工作。當然,輔助標籤和閱讀器擺放的位置對定位的精度有一定的影響。

  LANDMARC定位算法採用了一種稱為「最鄰近距離」的思想。理論上,當某個待定位標籤與參考標籤的距離相臨近,那麼它們在同一個RF ID閱讀器中所獲得的信號強度值應該也是相臨近的,基於這種思想以及在實驗中得到的一些經驗公式,可以求解出待定位標籤的坐標位置。

  無線信號的接收信號強度和信號傳輸距離的關係可以用式(1)來表示,其中RSSI是接收信號強度,d是收發節點之間的距離,n是信號傳播因子,EAF是環境因子(即實際實驗環境對理論實驗結果的影響因數),射頻參數A定義為距讀寫器1 m時接收到信號平均能量的絕對值。

  RSSI=-(A+10nlgd)-EAF (1)

  可以看出,常數A和n的值決定了接收信號強度和信號傳輸距離的關係。射頻參數A和n用於描述網絡操作環境。射頻參數A被定義為dBm表示距發射機1 m時接收到信號平均能量的絕對值,如平均接收能量是-20 dBm,那麼參數A就被定義為20。射頻參數n指出了信號能量隨著收發器距離增加而衰減的速率,其數值的大小取決於無線信號傳播的環境。通過大量的驗證,在開曠的操場上得到了環境因子EAF的大概值為13.6 dBm,A取46dBm,n取3.5 dBm。

  通過中值策略取得RSSI值,依據式(1)可得到待定位標籤到讀寫器的直線距離,3個讀寫器的位置分別是p1(x1,y1),p2(x2,y2).p3(x3,y3)。則待定位的坐標計算如下式:

  為了確定當前實驗環境的RSSI的情況,做了如下實驗。在距離讀寫器0 m開始,以0.5 m為間隔一直到35 m的擺放標籤,並分別採集各點的RSSI值10次,再求平均值。從結果可以看出RSSI值與距離變化的情況基本與理論符合,可以作為實驗數據使用。RSSI隨距離的變化曲線如圖5所示。

  本文用了3個讀寫器,且相互不產生碰撞,9個待定位標籤進行實際定位。9個待定位標籤分別放在3×3的正方形區域各個點上,臨近的參考標籤之間相隔2 m,具體放置的示意圖如圖6所示。

  為了直觀地看出定位的誤差,將理論坐標和實際坐標列出定位誤差,如表1所列,求出定位時產生的誤差。

  通過LANDMARC定位算法可以看出定位的精度效果還是很明顯的,基本保持在1 m,效果還是相當不錯的,實現了RFID的精確定位。

  4 軟體設計

  軟體的開發以MPLAB IDE 7.4為平臺,應用C語言進行編寫,提高了軟體設計開發的工作效率,增強了程序代碼的可靠性、可讀性和可移植性。具體的軟體設計流程如圖7所示。

  結語

  本文主要介紹了一種基於PIC16F877A和CC2500的RFID定位設計方案,對硬體模塊和軟體模塊進行了詳細的介紹,對二進位搜索法防碰撞算法和LANDMARC定位算法進行了詳細的介紹,並且利用LANDMARC定位算法保證室內定位的精度。在實際的實驗中採集到大量數據,通過對數據分析驗證了定位系統的可行性和準確性。

1

相關焦點

  • 基於二進位搜索的RFID標籤防碰撞算法研究
    因此,這種防碰撞方法也限制在少數幾個特殊的應用上。  時分多路(TDMA)法是個整個可供使用的通路容量按時間分配給多個用戶的技術。TDMA法由於應用簡單,容易實現大量標籤的讀寫,所以一般的防碰撞算法主要以TDMA方式實現。對RFID系統來說,TDMA構成了防碰撞算法最大的一類。  最靈活的和應用最廣泛的是「二進位搜索法」。
  • RFID二進位搜索法防碰撞的實現
    摘要 探索一種解決RFID系統中碰撞問題的方法,具體討論防碰撞算法中的二進位搜索算法及其改進方法一一動態二進位搜索算法。2.1 防碰撞方法的設計要求 防碰撞技術主要解決RFID系統一次可以完成對多個射頻卡的識別問題。假設同時進入讀寫器天線區域的射頻卡共有n個,防碰撞設計要求如下: ①當1≤n≤N時,其中N為讀寫器一次可識別射頻卡數量的上限,則在碰撞發生(n>1)的情況下,能識別n個射頻卡並依次與它們完成通信。
  • 一種簡單高效的RFID 防衝突算法
    故防衝突算法一直是RFID 中重要研究內容之一。  2. 目前進展  目前的防衝突算法分兩大類,一是基於曼切斯特編碼的二進位搜索算法及其改進算法,二是基於隨機數產生器的時隙算法及其改進算法,下面分別介紹。  2.1 二進位搜索算法及其改進算法  在二進位搜索算法中,射頻卡的ID 號必須採用曼切斯特編碼。
  • rfid室內人員定位系統解決方案
    本系統採用無線信標定位器後,不僅使得項目實施維護更為方便,且極大降低了設備成本。用戶需要提高定位精度,只需要適當增加定位信標即可。後臺採用採用基於信號強度三角定位精準算法,對RFID人員定位及資產定位。本系統的特點是電子系統複雜性低,容易實現且成本低;定位精度高,抗幹擾能力強。該系統可用於wifi室內定位、RFID室內定位、藍牙室內定位及Zigbee室內定位等。
  • 基於UHF RFID技術的室內定位系統設計
    在傳統的無線傳感器網絡中,基於測距的定位方法主要依賴的測量參數包括時間、能量和角度,然而對於RFID系統,帶寬的限制使其無法使用時間法和角度法,使用能量法得到的測距結果精度太差。考慮到RFID系統的特點,其信號的發送載波是一個單頻信號,可以通過提取載波相位來獲取相位變化差,由此獲取距離信息。
  • 基於RFID系統的有效SLAM算法解析
    與傳統的條形碼系統、接觸式卡等不同,射頻識別系統是利用無線射頻方式非接觸供電,並進行非接觸雙向數據通信,以達到識別並交換數據的目的。識別工作無須人工幹預,可工作於各種惡劣環境。將RFID技術應用於機器人中,可以更好地發揮其技術特點,使機器人更多地獲取外在信息。  不少學者正在研究將RFID用於機器人定位系統中,把RFID作為機器人的一種傳感器來進行數據採集和處理。
  • 基於RFID的門禁系統設計
    基於RFID的門禁系統設計 秩名 發表於 2011-10-17 14:15:46 門禁系統,又稱為出入口控制系統,是對重要區域或通道的出入口進行管理與控制的系統。
  • RFID電子腕帶定位管理方案
    一、概述本系統專門針對監獄、看守所、勞教所、強制戒毒所、智障人士看護所等領域所設計,提供基於物聯網RFID技術進行人員和物品的識別、點名、定位與跟蹤的產品及解決方案。精確定位是通過原有基站方式定位的同時,又推出的定位誤差更小的二級定位理念,使得系統的可靠性和實施性大為增強。
  • 51單片機整數二一十進位轉換的快速算法
    摘要 旨在提高89C51系列單片機鯿程中經常用到的整數二十進位轉換的代碼執行效率。提出的快速算法思路是,首先求出整數中包含的1000的個數,方法是採用二進位整數的高6位作為其預估,再通過2次校正得到準確值。
  • 常見幾種室內定位系統與原理概述
    後臺採用採用基於信號強度三角定位精準算法,對RFID人員定位及資產定位。本系統的特點是電子系統複雜性低,容易實現且成本低;定位精度高,抗幹擾能力強。該系統可用於wifi室內定位、RFID室內定位、藍牙室內定位及Zigbee室內定位等。
  • RFID抗金屬標籤是什麼?為什麼都用rfid抗金屬標籤?
    產品可防水、防酸、防鹼、防碰撞,可在戶外使用。金屬板材管理;5.醫療器械管理為什麼大家都用rfid抗金屬標籤,因其不僅具有耐高溫、性能穩定等特點,還具有以下7種優勢,想要實現金屬環境下對物品的有效管理,rfid抗金屬標籤是不錯的選擇。
  • 基於改進的LM算法的可見光定位研究
    結果表明,該模型與廣義朗伯模型具有一致性,且μ值選取正確時算法最少只需17次迭代,而基於此的可見光定位系統在1.48m x 1.51m x 1.65m的實際定位空間中達到了10cm的精度水平。為解決以上問題,本文提出了一種基於改進的Levenberg-Markuardt算法的可見光定位方法,該方法可以高效的利用有效冗餘光源信息,同時以二階收斂速度獲得全局收斂解。其次,針對算法的非負參數的選取進行了研究,證明取合適值時算法迭代次數最少可達17次。此外,針對目前市面常用的幾種燈型,本文從輻射度學基本原理出發,推導出不同燈型的VLC信道模型,以期提高可見光定位的適用性。
  • rfid讀寫器的組成部分包括什麼_rfid讀寫器的主要功能
    1.RFID天線   RFID讀寫器的是發射和接收的設備, 它主要負責將讀寫器中的電流信號轉換成射頻載波信號並發送給,或者接收標籤發送過來的射頻載波信號並將其轉化為電流信號,讀寫器的天線可以外置也可以內置,天線的設計對閱讀器的工作性能來說非常重要,對於標籤來說,它的工作能量全部由閱讀器的天線提供。
  • 吳國平:除了十進位, 人類文明史上還有哪些進位算法?
    當我們看到像1、25、356……這些耳熟能詳的數字,大家都知道這是學習數學的基礎,代表全世界通用的十進位,即滿十進一,滿二十進二,以此類推。世界通用的十進位,對於現代文明的我們看來是那麼地熟悉自然。在人類文明進程過程中,算法並不是就只有十進位一種,在很多文明體系中出現各種各樣的算法,如二進位、二十進位等等。
  • Cortex―M0單片機二-十進位整數轉換的快速算法
    摘要:為了提高Cortex—M0系列單片機應用系統的二進位到十進位BCD碼整數轉換代碼的執行效率,採用除十求餘數法來實現。該快速算法的核心內容是通過高效的彙編語言來實現常數除法,無論在程序代碼的運行時間和存儲空間上,都遠勝於sprintf函數。
  • 600年前的二進位算法 比萊布尼茨早300年
    600年前的二進位算法 比萊布尼茨早300年 2013-12-18 09:37:56 來源:中國日報網 免費訂閱30天China Daily雙語新聞手機報:移動用戶編輯簡訊CD至106580009009 人們普遍認為,二進位算法是德國數學家格特弗裡德·萊布尼茨在18世紀初發明的。
  • 基於RFID技術的室內定位方法簡述
    圖1 基於RFID的室內定位系統結構圖其定位依據是結合RFID信號的接收信號強度、相位等參數,利用定位算法完成距離和方位的計算而Choi等人提出一種利用目標標籤對參考標籤的信號強度的幹擾對標籤進行定位的方法[3]。清華大學劉雲浩教授的團隊提出了一種基於無源RFID標籤信號強度高階變換的高精度室內定位方法,其定位精度可以到釐米級別[4-5]。
  • 基於F2808的永磁同步電機伺服系統設計
    轉子磁場定向矢量控制方法,結合工程實際,採用了直流母線電壓紋波補償、遇限削弱積分PI控制算法、防振蕩處理等控制策略,實現PMSM伺服控制,設計了交流伺服控制系統軟硬體,並得到了相應實驗結果,驗證了上述方法的有效性與合理性。
  • 騰訊實驗室使用AI 算法解決二進位安全問題
    圖文無關;圖片來源:攝圖網數據算法騰訊安全科恩實驗室使用 AI 算法解決二進位安全問題的一項研究被 NeurIPS 2020 接收,該研究首次提出了基於 AI 的二進位代碼 / 原始碼端到端匹配算法,與傳統算法相比效果非常出色,準確率大幅提升。
  • 一種基於混沌約簡算法的雷達故障診斷分析
    在該算法中,對隨機產生的二進位初始種群用屬性核加以限制,在適應度函數中引入了決策屬性對條件屬性的依賴度,並對交叉概率和變異概率進行了新的設計,對產生的新一代個體增加修正校驗算子。利用該算法對雷達故障進行診斷,獲取簡單而又能體現故障徵兆與故障原因對應的診斷規則,避免了傳統基於故障樹的專家故障診斷系統準確性差、效率低的缺點。