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