RFID 中間件數據的過(guò)濾方法
RFID是“radiofequencyidentification,無(wú)線(xiàn)射頻識別”的縮寫(xiě),是一種非接觸自動(dòng)識別和數據采集技術(shù),該技術(shù)最早誕生于1948年,美國人HarryStrockman在IRE無(wú)線(xiàn)電工程師協(xié)會(huì )學(xué)報上發(fā)表論文對其理論和實(shí)現方法進(jìn)行了詳細描述,迄今已有60年。在進(jìn)入20世紀90年代后,RFID技術(shù)的應用規模急劇擴大,從2000年之后到現在,RFID產(chǎn)品種類(lèi)得到極大豐富,成本不斷降低,各種新的應用層出不窮。
RFID系統包括RFID硬件和應用支撐軟件2個(gè)部,硬件部分由電子標簽和閱讀器組成,電子標簽是數據載體,分為無(wú)源射頻標簽、半無(wú)源射頻標簽、有源射頻標簽3類(lèi),無(wú)源電子標簽通過(guò)提取閱讀器發(fā)出射頻能量作為其工作的電源,并將標簽內信息向閱讀器傳送;半無(wú)源標簽及有源標簽的工作能量由電池提供。RFID中間件則是RFID軟件系統中最重要的一環(huán),它直接面對硬件采集上來(lái)的海量數據,對其進(jìn)行過(guò)濾,有效封裝后再提交給高層應用軟件,被稱(chēng)為是RFID系統的神經(jīng)中樞。目前對RFID中間件的研究,主要集中于如何對海量數據進(jìn)行過(guò)濾,去冗余化,并有效挖掘其中的有用信息這樣幾個(gè)方面。筆者結合幾年的RFID應用經(jīng)驗,對當前已有的過(guò)濾算法進(jìn)行了研究,并提出了一種帶有噪點(diǎn)抑制功能的RFID數據過(guò)濾算法,主要解決了RFID數據采集中的噪聲干擾以及過(guò)濾冗余數據2個(gè)問(wèn)題。
1 RFID中間件構成
根據RFID權威研究機構Auto-ID實(shí)驗室對其EPC物聯(lián)網(wǎng)Savant中間件的定義,以及后來(lái)由EPCglobal提出的EPC應用層事件規范和低層讀寫(xiě)器接口協(xié)議,一個(gè)最基本的RFID中間件應該包含如下幾個(gè)功能模塊:Reader接口模塊、邏輯驅動(dòng)器映射模塊、RFID數據過(guò)濾模塊、業(yè)務(wù)規則過(guò)濾模塊、設備管理與配置模塊、上層服務(wù)接口模塊,如圖1所示。
Reader接口用于中間件與RFID讀寫(xiě)器的數據通信,主要有獲取RFID數據以及下達設備管理模塊的讀寫(xiě)器指令2個(gè)功能。
設備管理配置模塊用于調整RFID讀寫(xiě)設備的工作狀態(tài),配置相應的Reader接口參數等.邏輯讀寫(xiě)器映射模塊用于將多個(gè)物理讀寫(xiě)器,或者讀寫(xiě)器的多條天線(xiàn)映射成為一個(gè)邏輯讀寫(xiě)器。一個(gè)邏輯讀寫(xiě)器代表了一個(gè)有具體含義的數據采集點(diǎn)(比如5號貨架),而不管該采集點(diǎn)在物理上由多少個(gè)讀寫(xiě)器和天線(xiàn)組成。它屏蔽了數據采集點(diǎn)的具體實(shí)現方式,減少了數據過(guò)濾等上層模塊與下層數據采集部分的軟件耦合度。對于上層模塊來(lái)說(shuō),可見(jiàn)的只有邏輯讀寫(xiě)器,所以邏輯讀寫(xiě)器映射模塊對RFID數據有初步過(guò)濾的功能。
上層服務(wù)接口將經(jīng)過(guò)過(guò)濾和組裝的RFID數據向上層應用軟件發(fā)送,以實(shí)現更為豐富和貼近現實(shí)的功能。
2 RFID數據過(guò)濾方法設計
2.1 現有數據過(guò)濾方法及問(wèn)題分析
從硬件上報的原始RFID數據量非常巨大,根據具體的配置不同,每臺讀寫(xiě)器每秒可以上報數個(gè)至數十個(gè)不等的標簽數據,但其中只有少部分是對用戶(hù)有意義的、非重復性的數據,這樣大量的數據如果不經(jīng)過(guò)去冗等處理而直接上傳,將會(huì )給整個(gè)RFID系統帶來(lái)很大的負擔。所以,對RFID數據過(guò)濾方法的研究在近幾年一直是個(gè)熱點(diǎn)。
現有過(guò)濾方法主要可以分為如下幾類(lèi):
1)建立事件列表類(lèi).對每一個(gè)新到標簽數據進(jìn)行檢測,如果是新標簽加入相應列表中,且該標簽在列表中已存在,則僅更新對應標簽的時(shí)間等狀態(tài)數據,而不新建標簽數據記錄,以達到去除重復信息的作用。
2)事件編碼類(lèi).對標簽狀態(tài)的改變進(jìn)行編碼,標簽出現編碼為0,標簽消失編碼為1.然后加入計時(shí)器機制,對計時(shí)器有效時(shí)間內的同一標簽的狀態(tài)跳變進(jìn)行忽略,從而在狀態(tài)定義和時(shí)間維度2個(gè)方面對數據進(jìn)行了去重化。
這些算法均能夠很好地消除冗余數據,減少了上層系統的負荷,有著(zhù)較好的過(guò)濾效果.但在實(shí)際應用中,除了RFID數據的去冗化以外,對數據的過(guò)濾還有著(zhù)其他的需求.比如,由于信號不穩定或其他干擾因素,貨架上物品的RFID標簽并不能在每一個(gè)讀寫(xiě)器周期中被檢測到;或者當顧客推著(zhù)小推車(chē)從貨架旁走過(guò)時(shí),其推車(chē)內已選購的商品被貨架內的讀寫(xiě)器誤讀到。本文中將類(lèi)似的無(wú)效RFID數據稱(chēng)為RFID噪點(diǎn)。
在上述幾類(lèi)過(guò)濾算法設計中,RFID噪點(diǎn)顯然不是一個(gè)被考慮到的因素,只要出現了RFID標簽,哪怕只是誤讀到一次,也會(huì )被作為一個(gè)事件數據進(jìn)行上傳。如果上層業(yè)務(wù)規則過(guò)濾模塊沒(méi)有對這些噪點(diǎn)數據進(jìn)行處理,則會(huì )產(chǎn)生一些莫須有的事件記錄,對整個(gè)系統的數據管理造成很大麻煩,但上層業(yè)務(wù)規則過(guò)濾模塊對噪點(diǎn)的發(fā)現和抑制顯然是一件很難的事情,因為數據采集細節已經(jīng)被RFID數據過(guò)濾模塊完全屏蔽掉了,對噪點(diǎn)的發(fā)現失去了最基本的依據。
2.2 帶噪點(diǎn)抑制功能的RFID數據過(guò)濾方法設計
RFID標簽數據由讀寫(xiě)器在每個(gè)報告周期reportcycle進(jìn)行上報,在經(jīng)歷多個(gè)報告周期之后,一個(gè)典型的RFID讀寫(xiě)器上報數據如圖2所示。
對噪點(diǎn)進(jìn)行抑制的關(guān)鍵在于對偶爾出現的噪點(diǎn)進(jìn)行識別,從而通過(guò)程序將其抹去,本文中提出的抑噪算法采用了閥值的思想,對標簽的每次上報出現都賦予一定的權值,沒(méi)出現的標簽則減少其權值.當該標簽權值高于或低于某個(gè)閥值的時(shí)候,觸發(fā)相應的標簽事件,本算法具體描述為:
1)定義標簽每次出現后累加的權值valueStep.
2)定義觸發(fā)標簽出現事件的閥值fapp.
3)定義觸發(fā)標簽消失事件的閥值fdis.
4)定義標簽狀態(tài)字段detectStatus.
5)如果標簽出現,則其權值加valueStep.
6)如果標簽未出現,其權值減1.
7)標簽權值大于等于fapp,且detectStatus=false,則觸發(fā)標簽出現事件,產(chǎn)生一條標簽出現的記錄.然后將detectStatus置為true.
8)標簽權值小于等于fdis,且detectStatus=true,則觸發(fā)標簽消失事件,產(chǎn)生一條標簽消失的記錄.然后將detectStatus置為false.
在該算法中,不管是0噪點(diǎn)還是1噪點(diǎn),由于其出現的次數很少,則其標簽權值很難高于fapp或低于fdis,就無(wú)法觸發(fā)標簽事件,從而有效地抑制了噪點(diǎn)數據.而正常標簽不管被讀寫(xiě)器上報了多少次,其只有在權值大于等于fapp時(shí)才會(huì )觸發(fā)一條標簽出現記錄,而標簽狀態(tài)字段detectStatus則保證了當標簽權值在閥值上下波動(dòng)時(shí)不會(huì )對事件重復觸發(fā),所以該算法也有效解決了標簽數據冗余的問(wèn)題。在經(jīng)過(guò)處理后,標簽的報告情況由多個(gè)離散點(diǎn)變成了較為連續的權值變化,如圖3所示。
3 算法實(shí)現與驗證
3.1 算法實(shí)現
筆者對該算法設計思想進(jìn)行了實(shí)現,以驗證其在不同應用場(chǎng)景下的適應性和有效性.實(shí)驗平臺使用RS232接口的單天線(xiàn)讀寫(xiě)器,該讀寫(xiě)器報告周期為1s,每次報告標簽數為1個(gè).算法實(shí)現采用java語(yǔ)言,通過(guò)comm.jar開(kāi)發(fā)包進(jìn)行串口通訊。
首先是為標簽構建一個(gè)TagEvent類(lèi),該類(lèi)包含的關(guān)鍵參數和方法為:
publicclassTagEventimplementsRunnable{
intvalue;
booleandetecStauts=false;
intfmax;
intfmin;
publicvoidrun(){
while(value>0){
try{
Thread.currentThread().sleep(1000);
}catch(InterruptedExceptione){}
if(value>=fmax!detecStauts){
(觸發(fā)標簽出現記錄)
detecStauts=true;
}
elseif(value=fmindetecStauts){
(觸發(fā)標簽消失記錄)
detecStauts=false;
}
value--;
}}
當過(guò)濾模塊主程序檢測到一個(gè)新標簽的時(shí)候,便為其建立一個(gè)TagEvent類(lèi)的對象newTag,并對各個(gè)關(guān)鍵字段賦初值,同時(shí)啟動(dòng)該對象內部的計時(shí)器線(xiàn)程:
newThread(newTag).start();該計時(shí)器線(xiàn)程的作用是每個(gè)報告周期對標簽權值value進(jìn)行檢查并觸發(fā)相應操作.每次檢查后將標簽權值value減1,以實(shí)現當標簽未被報告時(shí)其權值的逐步下降.當權值value減到0的時(shí)候,計時(shí)器線(xiàn)程停止,這時(shí)可以銷(xiāo)毀該對象。
當過(guò)濾算法主模塊發(fā)現報告的標簽已存在時(shí),對該標簽對象的value值進(jìn)行累加:
newTag.value+=valueStep;
if(newTag.value>=newTag.fmax){
newTag.value=newtag.fmax;
}
其中valueStep就是算法中定義的累加權值.如果權值value已經(jīng)達到閥值fmax,則將其保持在該值,防止經(jīng)過(guò)多個(gè)上報周期后標簽權值過(guò)高,影響后繼判斷。
3.2 實(shí)驗驗證
在驗證的過(guò)程中模擬了2種應用場(chǎng)景:第1種是帶讀寫(xiě)器的貨架,該場(chǎng)景要求達到貨架讀寫(xiě)器能穩定識別放入的帶標簽物品,不會(huì )因為信號波動(dòng)而誤報貨品離開(kāi)信息,并對經(jīng)過(guò)貨架的其他物品保持較低的敏感度;第2種是門(mén)禁系統,要求對出現在讀寫(xiě)范圍內的標簽立刻做出反應,但在一定時(shí)間內不能重復上報同一個(gè)標簽。
在第1種貨架系統場(chǎng)景中,設置valueStep=3,fapp=10,fdisp=0,當標簽進(jìn)入讀寫(xiě)器范圍后,經(jīng)過(guò)5s左右的時(shí)間過(guò)濾模塊觸發(fā)標簽出現操作,人為將標簽多次短時(shí)間移出讀寫(xiě)器范圍,模擬信號干擾和波動(dòng)的情況,并將另一標簽從讀寫(xiě)器范圍內移過(guò),讀寫(xiě)器均未觸發(fā)多余的標簽出現和消失操作。
在第2種門(mén)禁系統場(chǎng)景中,設置valueStep=10,fapp=10,fdisp=0,當標簽進(jìn)入讀寫(xiě)器范圍內,過(guò)濾模塊立即觸發(fā)了標簽出現操作,當標簽消失后,10s內不再重新觸發(fā)。
4 結束語(yǔ)
本文中通過(guò)對RFID中間件實(shí)際應用場(chǎng)景的分析和現有過(guò)濾算法的研究,設計并實(shí)現了一種適用范圍廣,帶有噪點(diǎn)抑制功能的RFID數據過(guò)濾算法,通過(guò)一個(gè)java程序在模擬場(chǎng)景中對算法進(jìn)行了實(shí)驗。結果表明,該算法具有良好的抑噪和去冗能力,在不同參數的組合下,可以適應各種實(shí)際應用需求,該過(guò)濾算法為更高層的業(yè)務(wù)規則過(guò)濾模塊奠定了很好的數據基礎,對于RFID中間件的設計和開(kāi)發(fā)有一定的實(shí)用價(jià)值。
RFID系統包括RFID硬件和應用支撐軟件2個(gè)部,硬件部分由電子標簽和閱讀器組成,電子標簽是數據載體,分為無(wú)源射頻標簽、半無(wú)源射頻標簽、有源射頻標簽3類(lèi),無(wú)源電子標簽通過(guò)提取閱讀器發(fā)出射頻能量作為其工作的電源,并將標簽內信息向閱讀器傳送;半無(wú)源標簽及有源標簽的工作能量由電池提供。RFID中間件則是RFID軟件系統中最重要的一環(huán),它直接面對硬件采集上來(lái)的海量數據,對其進(jìn)行過(guò)濾,有效封裝后再提交給高層應用軟件,被稱(chēng)為是RFID系統的神經(jīng)中樞。目前對RFID中間件的研究,主要集中于如何對海量數據進(jìn)行過(guò)濾,去冗余化,并有效挖掘其中的有用信息這樣幾個(gè)方面。筆者結合幾年的RFID應用經(jīng)驗,對當前已有的過(guò)濾算法進(jìn)行了研究,并提出了一種帶有噪點(diǎn)抑制功能的RFID數據過(guò)濾算法,主要解決了RFID數據采集中的噪聲干擾以及過(guò)濾冗余數據2個(gè)問(wèn)題。
1 RFID中間件構成
根據RFID權威研究機構Auto-ID實(shí)驗室對其EPC物聯(lián)網(wǎng)Savant中間件的定義,以及后來(lái)由EPCglobal提出的EPC應用層事件規范和低層讀寫(xiě)器接口協(xié)議,一個(gè)最基本的RFID中間件應該包含如下幾個(gè)功能模塊:Reader接口模塊、邏輯驅動(dòng)器映射模塊、RFID數據過(guò)濾模塊、業(yè)務(wù)規則過(guò)濾模塊、設備管理與配置模塊、上層服務(wù)接口模塊,如圖1所示。
Reader接口用于中間件與RFID讀寫(xiě)器的數據通信,主要有獲取RFID數據以及下達設備管理模塊的讀寫(xiě)器指令2個(gè)功能。
設備管理配置模塊用于調整RFID讀寫(xiě)設備的工作狀態(tài),配置相應的Reader接口參數等.邏輯讀寫(xiě)器映射模塊用于將多個(gè)物理讀寫(xiě)器,或者讀寫(xiě)器的多條天線(xiàn)映射成為一個(gè)邏輯讀寫(xiě)器。一個(gè)邏輯讀寫(xiě)器代表了一個(gè)有具體含義的數據采集點(diǎn)(比如5號貨架),而不管該采集點(diǎn)在物理上由多少個(gè)讀寫(xiě)器和天線(xiàn)組成。它屏蔽了數據采集點(diǎn)的具體實(shí)現方式,減少了數據過(guò)濾等上層模塊與下層數據采集部分的軟件耦合度。對于上層模塊來(lái)說(shuō),可見(jiàn)的只有邏輯讀寫(xiě)器,所以邏輯讀寫(xiě)器映射模塊對RFID數據有初步過(guò)濾的功能。
上層服務(wù)接口將經(jīng)過(guò)過(guò)濾和組裝的RFID數據向上層應用軟件發(fā)送,以實(shí)現更為豐富和貼近現實(shí)的功能。
2 RFID數據過(guò)濾方法設計
2.1 現有數據過(guò)濾方法及問(wèn)題分析
從硬件上報的原始RFID數據量非常巨大,根據具體的配置不同,每臺讀寫(xiě)器每秒可以上報數個(gè)至數十個(gè)不等的標簽數據,但其中只有少部分是對用戶(hù)有意義的、非重復性的數據,這樣大量的數據如果不經(jīng)過(guò)去冗等處理而直接上傳,將會(huì )給整個(gè)RFID系統帶來(lái)很大的負擔。所以,對RFID數據過(guò)濾方法的研究在近幾年一直是個(gè)熱點(diǎn)。
現有過(guò)濾方法主要可以分為如下幾類(lèi):
1)建立事件列表類(lèi).對每一個(gè)新到標簽數據進(jìn)行檢測,如果是新標簽加入相應列表中,且該標簽在列表中已存在,則僅更新對應標簽的時(shí)間等狀態(tài)數據,而不新建標簽數據記錄,以達到去除重復信息的作用。
2)事件編碼類(lèi).對標簽狀態(tài)的改變進(jìn)行編碼,標簽出現編碼為0,標簽消失編碼為1.然后加入計時(shí)器機制,對計時(shí)器有效時(shí)間內的同一標簽的狀態(tài)跳變進(jìn)行忽略,從而在狀態(tài)定義和時(shí)間維度2個(gè)方面對數據進(jìn)行了去重化。
這些算法均能夠很好地消除冗余數據,減少了上層系統的負荷,有著(zhù)較好的過(guò)濾效果.但在實(shí)際應用中,除了RFID數據的去冗化以外,對數據的過(guò)濾還有著(zhù)其他的需求.比如,由于信號不穩定或其他干擾因素,貨架上物品的RFID標簽并不能在每一個(gè)讀寫(xiě)器周期中被檢測到;或者當顧客推著(zhù)小推車(chē)從貨架旁走過(guò)時(shí),其推車(chē)內已選購的商品被貨架內的讀寫(xiě)器誤讀到。本文中將類(lèi)似的無(wú)效RFID數據稱(chēng)為RFID噪點(diǎn)。
在上述幾類(lèi)過(guò)濾算法設計中,RFID噪點(diǎn)顯然不是一個(gè)被考慮到的因素,只要出現了RFID標簽,哪怕只是誤讀到一次,也會(huì )被作為一個(gè)事件數據進(jìn)行上傳。如果上層業(yè)務(wù)規則過(guò)濾模塊沒(méi)有對這些噪點(diǎn)數據進(jìn)行處理,則會(huì )產(chǎn)生一些莫須有的事件記錄,對整個(gè)系統的數據管理造成很大麻煩,但上層業(yè)務(wù)規則過(guò)濾模塊對噪點(diǎn)的發(fā)現和抑制顯然是一件很難的事情,因為數據采集細節已經(jīng)被RFID數據過(guò)濾模塊完全屏蔽掉了,對噪點(diǎn)的發(fā)現失去了最基本的依據。
2.2 帶噪點(diǎn)抑制功能的RFID數據過(guò)濾方法設計
RFID標簽數據由讀寫(xiě)器在每個(gè)報告周期reportcycle進(jìn)行上報,在經(jīng)歷多個(gè)報告周期之后,一個(gè)典型的RFID讀寫(xiě)器上報數據如圖2所示。
對噪點(diǎn)進(jìn)行抑制的關(guān)鍵在于對偶爾出現的噪點(diǎn)進(jìn)行識別,從而通過(guò)程序將其抹去,本文中提出的抑噪算法采用了閥值的思想,對標簽的每次上報出現都賦予一定的權值,沒(méi)出現的標簽則減少其權值.當該標簽權值高于或低于某個(gè)閥值的時(shí)候,觸發(fā)相應的標簽事件,本算法具體描述為:
1)定義標簽每次出現后累加的權值valueStep.
2)定義觸發(fā)標簽出現事件的閥值fapp.
3)定義觸發(fā)標簽消失事件的閥值fdis.
4)定義標簽狀態(tài)字段detectStatus.
5)如果標簽出現,則其權值加valueStep.
6)如果標簽未出現,其權值減1.
7)標簽權值大于等于fapp,且detectStatus=false,則觸發(fā)標簽出現事件,產(chǎn)生一條標簽出現的記錄.然后將detectStatus置為true.
8)標簽權值小于等于fdis,且detectStatus=true,則觸發(fā)標簽消失事件,產(chǎn)生一條標簽消失的記錄.然后將detectStatus置為false.
在該算法中,不管是0噪點(diǎn)還是1噪點(diǎn),由于其出現的次數很少,則其標簽權值很難高于fapp或低于fdis,就無(wú)法觸發(fā)標簽事件,從而有效地抑制了噪點(diǎn)數據.而正常標簽不管被讀寫(xiě)器上報了多少次,其只有在權值大于等于fapp時(shí)才會(huì )觸發(fā)一條標簽出現記錄,而標簽狀態(tài)字段detectStatus則保證了當標簽權值在閥值上下波動(dòng)時(shí)不會(huì )對事件重復觸發(fā),所以該算法也有效解決了標簽數據冗余的問(wèn)題。在經(jīng)過(guò)處理后,標簽的報告情況由多個(gè)離散點(diǎn)變成了較為連續的權值變化,如圖3所示。
3 算法實(shí)現與驗證
3.1 算法實(shí)現
筆者對該算法設計思想進(jìn)行了實(shí)現,以驗證其在不同應用場(chǎng)景下的適應性和有效性.實(shí)驗平臺使用RS232接口的單天線(xiàn)讀寫(xiě)器,該讀寫(xiě)器報告周期為1s,每次報告標簽數為1個(gè).算法實(shí)現采用java語(yǔ)言,通過(guò)comm.jar開(kāi)發(fā)包進(jìn)行串口通訊。
首先是為標簽構建一個(gè)TagEvent類(lèi),該類(lèi)包含的關(guān)鍵參數和方法為:
publicclassTagEventimplementsRunnable{
intvalue;
booleandetecStauts=false;
intfmax;
intfmin;
publicvoidrun(){
while(value>0){
try{
Thread.currentThread().sleep(1000);
}catch(InterruptedExceptione){}
if(value>=fmax!detecStauts){
(觸發(fā)標簽出現記錄)
detecStauts=true;
}
elseif(value=fmindetecStauts){
(觸發(fā)標簽消失記錄)
detecStauts=false;
}
value--;
}}
當過(guò)濾模塊主程序檢測到一個(gè)新標簽的時(shí)候,便為其建立一個(gè)TagEvent類(lèi)的對象newTag,并對各個(gè)關(guān)鍵字段賦初值,同時(shí)啟動(dòng)該對象內部的計時(shí)器線(xiàn)程:
newThread(newTag).start();該計時(shí)器線(xiàn)程的作用是每個(gè)報告周期對標簽權值value進(jìn)行檢查并觸發(fā)相應操作.每次檢查后將標簽權值value減1,以實(shí)現當標簽未被報告時(shí)其權值的逐步下降.當權值value減到0的時(shí)候,計時(shí)器線(xiàn)程停止,這時(shí)可以銷(xiāo)毀該對象。
當過(guò)濾算法主模塊發(fā)現報告的標簽已存在時(shí),對該標簽對象的value值進(jìn)行累加:
newTag.value+=valueStep;
if(newTag.value>=newTag.fmax){
newTag.value=newtag.fmax;
}
其中valueStep就是算法中定義的累加權值.如果權值value已經(jīng)達到閥值fmax,則將其保持在該值,防止經(jīng)過(guò)多個(gè)上報周期后標簽權值過(guò)高,影響后繼判斷。
3.2 實(shí)驗驗證
在驗證的過(guò)程中模擬了2種應用場(chǎng)景:第1種是帶讀寫(xiě)器的貨架,該場(chǎng)景要求達到貨架讀寫(xiě)器能穩定識別放入的帶標簽物品,不會(huì )因為信號波動(dòng)而誤報貨品離開(kāi)信息,并對經(jīng)過(guò)貨架的其他物品保持較低的敏感度;第2種是門(mén)禁系統,要求對出現在讀寫(xiě)范圍內的標簽立刻做出反應,但在一定時(shí)間內不能重復上報同一個(gè)標簽。
在第1種貨架系統場(chǎng)景中,設置valueStep=3,fapp=10,fdisp=0,當標簽進(jìn)入讀寫(xiě)器范圍后,經(jīng)過(guò)5s左右的時(shí)間過(guò)濾模塊觸發(fā)標簽出現操作,人為將標簽多次短時(shí)間移出讀寫(xiě)器范圍,模擬信號干擾和波動(dòng)的情況,并將另一標簽從讀寫(xiě)器范圍內移過(guò),讀寫(xiě)器均未觸發(fā)多余的標簽出現和消失操作。
在第2種門(mén)禁系統場(chǎng)景中,設置valueStep=10,fapp=10,fdisp=0,當標簽進(jìn)入讀寫(xiě)器范圍內,過(guò)濾模塊立即觸發(fā)了標簽出現操作,當標簽消失后,10s內不再重新觸發(fā)。
4 結束語(yǔ)
本文中通過(guò)對RFID中間件實(shí)際應用場(chǎng)景的分析和現有過(guò)濾算法的研究,設計并實(shí)現了一種適用范圍廣,帶有噪點(diǎn)抑制功能的RFID數據過(guò)濾算法,通過(guò)一個(gè)java程序在模擬場(chǎng)景中對算法進(jìn)行了實(shí)驗。結果表明,該算法具有良好的抑噪和去冗能力,在不同參數的組合下,可以適應各種實(shí)際應用需求,該過(guò)濾算法為更高層的業(yè)務(wù)規則過(guò)濾模塊奠定了很好的數據基礎,對于RFID中間件的設計和開(kāi)發(fā)有一定的實(shí)用價(jià)值。
評論