新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > RFID中间件数据的过滤方法的研究和分析

RFID中间件数据的过滤方法的研究和分析

作者: 时间:2010-01-11 来源:网络 收藏

 首先是为标签构建一个TagEvent类,该类包含的关键参数和为:

public class TagEvent imp lements Runnable{
int value;
boolean detecStauts = false;
int fmax;
int fmin;
public void run ( ) {
while ( value > 0) {
try{
Thread. currentThread ( ). sleep (1000) ;
} catch ( Interrup tedExcep tion e) { }
if ( value > = fmax! detecStauts) {
(触发标签出现记录)
detecStauts = true;
}
else if ( value = fmindetecStauts) {  
(触发标签消失记录)
 detecStauts = false;
 }
 value - - ;
} }

 当模块主程序检测到一个新标签的时候,便为其建立一个Tag Event类的对象new Tag,并对各个关键字段赋初值,同时启动该对象内部的计时器线程:

 new Thread ( newTag). start ( ) ;该计时器线程的作用是每个报告周期对标签权值value进行检查并触发相应操作. 每次检查后将标签权值value减1,以实现当标签未被报告时其权值的逐步下降. 当权值value减到0的时候,计时器线程停止,这时可以销毁该对象。

 当算法主模块发现报告的标签已存在时,对该标签对象的value值进行累加:

newTag. value + = valueStep;
if ( newTag. value > = newTag. fmax) {
 newTag. value = newtag. fmax;
}

 其中valueStep就是算法中定义的累加权值. 如果权值value已经达到阀值fm ax,则将其保持在该值,防止经过多个上报周期后标签权值过高,影响后继判断。

 3. 2 实验验证

 在验证的过程中模拟了2 种应用场景: 第1种是带读写器的货架,该场景要求达到货架读写器能稳定识别放入的带标签物品,不会因为信号波动而误报货品离开信息,并对经过货架的其他物品保持较低的敏感度;第2种是门禁系统,要求对出现在读写范围内的标签立刻做出反应,但在一定时间内不能重复上报同一个标签。

 在第1种货架系统场景中,设置valueS tep = 3,fapp = 10, fdisp = 0,当标签进入读写器范围后,经过5 s左右的时间模块触发标签出现操作,人为将标签多次短时间移出读写器范围,模拟信号干扰和波动的情况,并将另一标签从读写器范围内移过,读写器均未触发多余的标签出现和消失操作。

 在第2 种门禁系统场景中,设置valueS tep =10, fapp = 10, fd isp = 0,当标签进入读写器范围内,过滤模块立即触发了标签出现操作,当标签消失后, 10 s内不再重新触发。

4 结束语

 本文中通过对实际应用场景的和现有过滤算法的,设计并实现了一种适用范围广,带有噪点抑制功能的过滤算法, 通过一个java程序在模拟场景中对算法进行了实验。结果表明,该算法具有良好的抑噪和去冗能力,在不同参数的组合下,可以适应各种实际应用需求, 该过滤算法为更高层的业务规则过滤模块奠定了很好的基础,对于的设计和开发有一定的实用价值。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭