RFID中間件數(shù)據(jù)的過濾方法的研究和分析
對噪點進行抑制的關鍵在于對偶爾出現(xiàn)的噪點進行識別,從而通過程序將其抹去,本文中提出的抑噪算法采用了閥值的思想,對標簽的每次上報出現(xiàn)都賦予一定的權值,沒出現(xiàn)的標簽則減少其權值. 當該標簽權值高于或低于某個閥值的時候,觸發(fā)相應的標簽事件,本算法具體描述為:
1 ) 定義標簽每次出現(xiàn)后累加的權值valueStep.
2) 定義觸發(fā)標簽出現(xiàn)事件的閥值fapp.
3) 定義觸發(fā)標簽消失事件的閥值fd is.
4) 定義標簽狀態(tài)字段detectS tatus.
5) 如果標簽出現(xiàn),則其權值加valueStep.
6) 如果標簽未出現(xiàn),其權值減1.
7) 標簽權值大于等于fapp,且detectS tatus =false,則觸發(fā)標簽出現(xiàn)事件, 產(chǎn)生一條標簽出現(xiàn)的記錄. 然后將detectS tatus置為true.
8) 標簽權值小于等于fdis,且detectS tatus =true,則觸發(fā)標簽消失事件, 產(chǎn)生一條標簽消失的記錄. 然后將detectS tatus置為false.
在該算法中,不管是0噪點還是1噪點,由于其出現(xiàn)的次數(shù)很少,則其標簽權值很難高于fapp或低于fdis, 就無法觸發(fā)標簽事件, 從而有效地抑制了噪點數(shù)據(jù). 而正常標簽不管被讀寫器上報了多少次,其只有在權值大于等于fapp時才會觸發(fā)一條標簽出現(xiàn)記錄, 而標簽狀態(tài)字段detect Status則保證了當標簽權值在閥值上下波動時不會對事件重復觸發(fā),所以該算法也有效解決了標簽數(shù)據(jù)冗余的問題。在經(jīng)過處理后,標簽的報告情況由多個離散點變成了較為連續(xù)的權值變化, 如圖3所示。
算法中的出現(xiàn)閥值fapp 與權值value Step 之比fapp / valueS tep越大,則對1噪點的過濾情況越好;消失閥值fdis越低,則對0噪點的過濾更加有效。當fapp / valueS tep小于等于1的時候, 該過濾算法將不對1噪點進行過濾處理, 而僅保留去除冗余數(shù)據(jù)的功能. 所以, 根據(jù)客觀使用環(huán)境的需求, 對value Step, fapp, fdisp3個參數(shù)進行合理調(diào)整和搭配,可以使本算法有效適應不同過濾目標的需求。
3 算法實現(xiàn)與驗證
3. 1 算法實現(xiàn)
筆者對該算法設計思想進行了實現(xiàn),以驗證其在不同應用場景下的適應性和有效性. 實驗平臺使用RS232接口的單天線讀寫器,該讀寫器報告周期為1 s,每次報告標簽數(shù)為1個. 算法實現(xiàn)采用java 語言, 通過comm. jar 開發(fā)包進行串口通訊。
評論