技術(shù)
導(dǎo)讀:甘泉老師花費(fèi)數(shù)年之功,撰寫的新書《物聯(lián)網(wǎng)UHF RFID技術(shù)、產(chǎn)品及應(yīng)用》正式出版發(fā)布,本書對(duì)UHF RFID最新的技術(shù)、產(chǎn)品與市場(chǎng)應(yīng)用進(jìn)行了系統(tǒng)性的闡述,干貨滿滿!RFID世界網(wǎng)得到了甘泉老師獨(dú)家授權(quán),在RFID世界網(wǎng)公眾號(hào)特設(shè)專欄,陸續(xù)發(fā)布本書內(nèi)容。
RFID干貨專欄概述
經(jīng)過20多年的努力發(fā)展,超高頻RFID技術(shù)已經(jīng)成為物聯(lián)網(wǎng)的核心技術(shù)之一,每年的出貨量達(dá)到了200億的級(jí)別。在這個(gè)過程中,中國(guó)逐步成為超高頻RFID標(biāo)簽產(chǎn)品的主要生產(chǎn)國(guó),在國(guó)家對(duì)物聯(lián)網(wǎng)發(fā)展的大力支持下,行業(yè)應(yīng)用和整個(gè)生態(tài)的發(fā)展十分迅猛。然而,至今國(guó)內(nèi)還沒有一本全面介紹超高頻RFID技術(shù)的書籍。
為了填補(bǔ)這方面的空缺,甘泉老師花費(fèi)數(shù)年之功,撰寫的新書《物聯(lián)網(wǎng)UHF RFID技術(shù)、產(chǎn)品及應(yīng)用》正式出版發(fā)布,本書對(duì)UHF RFID最新的技術(shù)、產(chǎn)品與市場(chǎng)應(yīng)用進(jìn)行了系統(tǒng)性的闡述,干貨滿滿!RFID世界網(wǎng)得到了甘泉老師獨(dú)家授權(quán),在RFID世界網(wǎng)公眾號(hào)特設(shè)專欄,陸續(xù)發(fā)布本書內(nèi)容。
掃碼觀看本章節(jié)視頻講解
3.3.1 基于工程場(chǎng)景的多標(biāo)簽防碰撞算法——碰撞讀取率A
01、RFID常見多標(biāo)簽算法簡(jiǎn)介
從13.56MHz頻段的ISO/IEC 14443協(xié)議、ISO/IEC 15693協(xié)議到900MHz頻段的ISO/IEC 18000-6B/C協(xié)議,防碰撞協(xié)議在現(xiàn)有的技術(shù)中一般都基于兩種基本算法:時(shí)隙ALOHA算法和二進(jìn)制樹的搜索算法。
其中18000-6C采用的是時(shí)隙ALOHA算法:應(yīng)答器(標(biāo)簽)只在規(guī)定的同步時(shí)隙中才傳輸數(shù)據(jù)包。這種情況下,對(duì)所有應(yīng)答器的同步由閱讀器控制。本質(zhì)上時(shí)隙ALOHA算法是一種由閱讀器控制的隨機(jī)時(shí)分多址(TDMA)算法。它將信道分為很多時(shí)隙,每個(gè)時(shí)隙正好傳送一個(gè)分組。對(duì)于射頻系統(tǒng),標(biāo)簽只在規(guī)定的同步時(shí)隙內(nèi)才能傳輸數(shù)據(jù)包,對(duì)所有的標(biāo)簽所必須的同步由閱讀器控制,但發(fā)生碰撞后,各標(biāo)簽仍是經(jīng)過隨機(jī)延時(shí)后分散重發(fā)的。
時(shí)隙ALOHA算法較為實(shí)用,由于時(shí)隙ALOHA算法不關(guān)注實(shí)際沖突的位數(shù),而只關(guān)注是否發(fā)生沖突,因此實(shí)現(xiàn)較為方便。但在實(shí)際系統(tǒng)中,其算法效率相對(duì)不高。如果應(yīng)答器數(shù)目過多,時(shí)隙數(shù)量不夠,發(fā)生沖突的概率增大,需要的時(shí)間也過長(zhǎng)。因此,當(dāng)多個(gè)應(yīng)答器在閱讀器工作范圍內(nèi)停留時(shí)間太短,識(shí)別率就會(huì)相應(yīng)變低。
ISO/IEC 14443、15693、18000-6B采用的是二進(jìn)制樹的搜索算法:如果數(shù)據(jù)包在傳輸過程中發(fā)生碰撞,閱讀器使用二進(jìn)制搜索樹的運(yùn)算法則和一個(gè)比特的數(shù)據(jù)來解決沖突。因?yàn)槊總€(gè)標(biāo)簽本身都有一個(gè)地址(ID),所以閱讀器可以指定一個(gè)特定范圍內(nèi)的地址來讀取標(biāo)簽,而這些標(biāo)簽必須對(duì)閱讀器的詢問做出應(yīng)答,其他標(biāo)簽則表示緘默。這時(shí),如果有兩個(gè)標(biāo)簽由于同時(shí)上傳數(shù)據(jù)而發(fā)生碰撞,閱讀器可以精確的檢測(cè)出地址發(fā)生碰撞的比特位,并找出對(duì)應(yīng)的標(biāo)簽。依靠二進(jìn)制搜索樹的運(yùn)算理論,閱讀器可以讀出所有的標(biāo)簽。
基本的二進(jìn)制搜索算法抗干擾能力差,數(shù)據(jù)容易誤讀而造成效率低,難以實(shí)現(xiàn)。
02、基于實(shí)際工程場(chǎng)景的多標(biāo)簽——清點(diǎn)率介紹
本書中的防碰撞算法結(jié)合實(shí)際閱讀器特性,提出閱讀器碰撞讀取率這個(gè)概念,并結(jié)合了實(shí)際的工程場(chǎng)景,精確計(jì)算標(biāo)簽清點(diǎn)的時(shí)間期望值,從而大大提高了閱讀器的清點(diǎn)效率有利于推動(dòng)以物流倉(cāng)儲(chǔ)為代表的超高頻RFID多標(biāo)簽場(chǎng)景的廣泛應(yīng)用。
該防碰撞算法的模型包括1個(gè)閱讀器,0個(gè)或者多個(gè)應(yīng)答器(標(biāo)簽)。使用的幾個(gè)要素:Q(時(shí)隙數(shù)標(biāo)識(shí)數(shù)據(jù)),A(碰撞讀取率),N(標(biāo)簽的總量)。
在閱讀器對(duì)標(biāo)簽清點(diǎn)的通信中,閱讀器先向所有標(biāo)簽發(fā)Query指令,在Query指令中包含參數(shù)Q,Q可以取0到15之間的任意數(shù)值。
所有標(biāo)簽收到Query指令后會(huì)各自從0到中產(chǎn)生一個(gè)隨機(jī)數(shù)。若標(biāo)簽的隨機(jī)數(shù)為0則標(biāo)簽立即返回RN16,閱讀器可以通過該RN16與這個(gè)標(biāo)簽通信。
當(dāng)閱讀器發(fā)送Query后,會(huì)連續(xù)發(fā)個(gè)Query_rep指令,標(biāo)簽每次收到Query_rep指令后,其隨機(jī)數(shù)減1,直到隨機(jī)數(shù)變?yōu)?則返回RN16。
在該通信過程中如果標(biāo)簽數(shù)量N比較大(比如100),而Q比較?。ū热?),那么100個(gè)標(biāo)簽每個(gè)從0-15個(gè)數(shù)字中隨機(jī)分配一個(gè)必然存在相同的隨機(jī)數(shù),那么當(dāng)閱讀器發(fā)Query或者Query_rep指令后兩個(gè)或多個(gè)標(biāo)簽同時(shí)返回它們各自的RN16就發(fā)生沖突,由于兩個(gè)或多個(gè)標(biāo)簽的數(shù)據(jù)交疊在一起,閱讀器很難分辨數(shù)據(jù),就無法和特定的一個(gè)標(biāo)簽進(jìn)行通信,這就是沖突的產(chǎn)生。
發(fā)生沖突的標(biāo)簽會(huì)在下一輪的Query清點(diǎn)中被清點(diǎn)到,已經(jīng)被清點(diǎn)過的標(biāo)簽則不響應(yīng),直到Session翻轉(zhuǎn),直到將全部的標(biāo)簽清點(diǎn)完畢。
由于技術(shù)的進(jìn)步,閱讀器的靈敏度和解調(diào)能力不斷提高,當(dāng)遭遇多標(biāo)簽沖突時(shí),閱讀器有一定的概率A正確解調(diào)一個(gè)標(biāo)簽的RN16,從而完成對(duì)一個(gè)標(biāo)簽的清點(diǎn),在這里稱這個(gè)概率A為碰撞讀取率。深入研究碰撞讀取率還可以分成2個(gè)標(biāo)簽碰撞時(shí)讀取率A2,3個(gè)標(biāo)簽碰撞時(shí)讀取率A3,或者N個(gè)標(biāo)簽碰撞時(shí)的讀取率AN。當(dāng)然為了簡(jiǎn)單分析,在這里對(duì)所有的碰撞讀取率統(tǒng)一為A,方便大家理解和計(jì)算。
為方便后續(xù)計(jì)算,提出清點(diǎn)效率F這個(gè)概念,就是單位時(shí)間內(nèi)識(shí)別標(biāo)簽的數(shù)量。假設(shè)一輪清點(diǎn)過程中清點(diǎn)到的標(biāo)簽數(shù)量為M,那么F=M/ 。為了提高清點(diǎn)效率,針對(duì)不同的標(biāo)簽數(shù)量N和當(dāng)前的閱讀器的碰撞讀取率A,選擇最優(yōu)的清點(diǎn)參數(shù)Q。
如圖3-18所示,在清點(diǎn)過程中,每個(gè)時(shí)隙都可能出現(xiàn)三種情況:
只有一個(gè)標(biāo)簽返回RN16,清點(diǎn)到標(biāo)簽;
有多個(gè)標(biāo)簽返回RN16,發(fā)生沖突,有A的概率清點(diǎn)到標(biāo)簽;
沒有標(biāo)簽返回RN16,沒有清點(diǎn)到標(biāo)簽。
圖3-18標(biāo)簽清點(diǎn)示意圖
這三種情況在個(gè)時(shí)隙內(nèi)的期望值分別為:
只有一個(gè)標(biāo)簽返回:
(3-2)
有多個(gè)標(biāo)簽返回:
(3-3)
沒有標(biāo)簽返回:
(3-4)
那么清點(diǎn)效率為a)+b)*A:
(3-5)
03、基于實(shí)際的工程場(chǎng)景的多標(biāo)簽——實(shí)例分析
假設(shè)標(biāo)簽數(shù)量分別為N=40、N=100和N=200,3個(gè)閱讀器碰撞讀取率分別為0%、10%和30%即A1=0;A2=0.1;A3=0.3。那么每個(gè)閱讀器在不同標(biāo)簽環(huán)境中所選用的Q的最優(yōu)值可以用式(3-5)計(jì)算出不同的清點(diǎn)效率F,將Q=4到10以及N和A的數(shù)值帶入后,得到表3-11。
表3-11不同碰撞讀取率、Q值、標(biāo)簽數(shù)量下的清點(diǎn)效率
N=40 | N=100 | N=200 | |||||||
A1=0 | A2=0.1 | A3=0.3 | A1=0 | A2=0.1 | A3=0.3 | A1=0 | A2=0.1 | A3=0.3 | |
Q=4 | 0.202 | 0.271 | 0.419 | 0.010 | 0.109 | 0.307 | 0 | 0.100 | 0.300 |
Q=5 | 0.362 | 0.398 | 0.469 | 0.135 | 0.217 | 0.382 | 0.011 | 0.110 | 0.307 |
Q=6 | 0.338 | 0.351 | 0.377 | 0.329 | 0.375 | 0.467 | 0.136 | 0.218 | 0.382 |
Q=7 | 0.230 | 0.234 | 0.242 | 0.359 | 0.377 | 0.415 | 0.328 | 0.374 | 0.474 |
Q=8 | 0.134 | 0.135 | 0.137 | 0.265 | 0.271 | 0.283 | 0.358 | 0.377 | 0.414 |
Q=9 | 0.072 | 0.073 | 0.073 | 0.161 | 0.163 | 0.166 | 0.265 | 0.271 | 0.282 |
Q=10 | 0.037 | 0.038 | 0.038 | 0.089 | 0.089 | 0.090 | 0.161 | 0.162 | 0.166 |
在實(shí)際應(yīng)用中根據(jù)表3-11選擇清點(diǎn)效率最高時(shí)所對(duì)應(yīng)的Q(表中斜體為最優(yōu)清點(diǎn)率)。在傳統(tǒng)的算法中,Q的選擇依據(jù)為表3-12(傳統(tǒng)算法中未考慮沖突識(shí)別率,可以認(rèn)為A=0)。
表3-12Q值表
Q=0 | Q=1 | Q=2 | Q=3 | Q=4 | Q=5 | Q=6 | Q=7 | Q=8 | Q=9 | Q=10 | |
N | 0-1 | 2 | 3-4 | 5-8 | 9-16 | 17-32 | 33-64 | 65-128 | 129-256 | 257-512 | 513-1024 |
將傳統(tǒng)算法和本書中創(chuàng)新的算法進(jìn)行對(duì)比:
在標(biāo)簽N=40、A=0的情況下,根據(jù)表3-11計(jì)算選擇Q=5,而傳統(tǒng)算法選擇Q=6,那么創(chuàng)新算法效率比傳統(tǒng)增加了7.1%。若選擇N=200、A=0.3,創(chuàng)新算法選擇Q=7,而傳統(tǒng)算法選擇Q=8,那么創(chuàng)新算法的效率比傳統(tǒng)算法提高了14.5%。
現(xiàn)在的超高頻RFID閱讀器種類繁多,通過對(duì)應(yīng)設(shè)備的測(cè)試可以發(fā)現(xiàn),每個(gè)閱讀器的碰撞讀取率是不同的。從閱讀器的設(shè)計(jì)角度來講,是由閱讀器的射頻鏈路性能以及基帶的解調(diào)能力不同導(dǎo)致的。不同的閱讀器在使用不同的調(diào)制編碼方式時(shí)其碰撞讀取率是不同的。比如Alien的ALR9900+的碰撞讀取率A大概為0.3,而低端分離器件的閱讀器的碰撞讀取率A約等于0。
在實(shí)際應(yīng)用中,應(yīng)先由閱讀器的協(xié)議算法控制部分根據(jù)標(biāo)簽個(gè)數(shù)和閱讀器的碰撞讀取率生成一張類似表3-11的映射表,然后根據(jù)式(3-5)計(jì)算Q從0到15所得到的所有清點(diǎn)率,最后選擇清點(diǎn)率F最高時(shí)所對(duì)應(yīng)的Q,作為這輪清點(diǎn)的Q值;下一輪清點(diǎn)根據(jù)剩下的標(biāo)簽數(shù)量繼續(xù)查表選擇清點(diǎn)率最高時(shí)對(duì)應(yīng)的Q,直到標(biāo)簽全部清點(diǎn)完畢。