首页 > 代码库 > 传感器仿真平台——数据生成模块(三)

传感器仿真平台——数据生成模块(三)

数据生成模块有下面这样一种情况:

对于不同的传感器仿真实验,所使用的数据类型,数据数量不一样。

如实验一是进行最大覆盖率实验,则他需要的数据格式可能是如下所示:

1 Class Sensor2 {3     public int x;4     public int y;5     public double direction; //方向6     public double sweep;//扇形大小7 }

实验二进行的是信号强度实验,则他可能还需要一个用来作为覆盖物的目标,如下:

1 Class Target2 {3     public int x;4     public int y;5     public double direction; //方向6     public double speed;//移动速度7 }

如上,实验一需要100个Sensor对象,实验二则需要500个Sensor对象和10个Target对象,

那么,究竟用什么方法才能实现一种通用的数据生成接口呢?


 

 其实,仔细一想,你会发现,数据是给算法用的吧?那和我的框架又有啥关系呢,谁用谁定义呗。

图中有两个接口,

IDataImp为数据生成接口,在框架中需要实现该接口来获得数据,init函数作为初始化数据函数,无论数据是随机生成还是外部导入,都由init来完成。

IIterator为迭代器,这样做的原因是,本人认为做实验总是会把每一个数据都做一遍,所以遍历数据进行实验就够了。对吧?

 1 { 2     IIterator iterator; 3     IDataImp list= new ConcreteDataImp(); 4     iterator = list.getIterator(); 5     while (iterator.MoveNext()) 6     { 7         Hashtable table = iterator.CurrentItem();             8         method.InitData(table); 9         //do something10         iterator.Next();11     }12  }