Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sun SPOT数据处理 University Outreach Programs in China

Similar presentations


Presentation on theme: "Sun SPOT数据处理 University Outreach Programs in China"— Presentation transcript:

1 Sun SPOT数据处理 University Outreach Programs in China
蒋清野(John) Sun 中国技术社区,高级经理 Qingye Jiang (John) Senior Manager Sun Developer Network, China 1

2 Sun SPOT数据处理 数据处理能力是智能仪器水平的标志,不能充分 发挥软件作用,等同硬件化的数字式仪器. 测量精度和可靠性是仪器的重要指 标,引入数据处理算法后,使许多 原来靠硬件电路难以实现的信号处 理问题得以解决,从而克服和弥补 了包括传感器在内的各个测量环节 中硬件本身的缺陷或弱点,提高了 仪器的综合性能。

3 Sun SPOT数据处理 随机误差: 由串入仪表的随机干扰、仪器内 部器件噪声和A/D量化噪声等引 起的,在相同条件下测量同一 量时,其大小和符号作无规则 变化而无法预测,但在多次测量 中符合统计规律的误差。

4 Sun SPOT数据处理 限值滤波法: A、方法: 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断:
B、优点: 能有效克服因偶然因素引起的脉冲干扰 C、缺点 无法抑制那种周期性的干扰 平滑度差

5 Sun SPOT数据处理 中值滤波法: A、方法: 连续采样N次(N取奇数) 把N次采样值按大小排列 取中间值为本次有效值 B、优点:
能有效克服因偶然因素引起的波动干扰 对温度、液位的变化缓慢的被测参数有良好的滤波效果 C、缺点: 对流量、速度等快速变化的参数不宜

6 Sun SPOT数据处理 算数平均滤波法: A、方法: 连续取N个采样值进行算术平均运算 N值较大时:信号平滑度较高,但灵敏度较低
N值的选取:一般流量,N=12;压力:N=4 B、优点: 适用于对一般具有随机干扰的信号进行滤波 这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动 C、缺点: 对于测量速度较慢或要求数据计算速度较快的实时控制不适用

7 Sun SPOT数据处理 滑动平均滤波法: A、方法: 把连续取N个采样值看成一个队列,队列的长度固定为N
每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据. 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果 N值的选取:流量,N=12;压力:N=4; 液面,N=4~12;温度,N=1~4 B、优点: 对周期性干扰有良好的抑制作用,平滑度高 适用于高频振荡的系统 C、缺点: 灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差 不易消除由于脉冲干扰所引起的采样值偏差 不适用于脉冲干扰比较严重的场合

8 Sun SPOT数据处理 中位值平均滤波法: A、方法: 相当于“中位值滤波法”+“算术平均滤波法”
B、优点: 融合了两种滤波法的优点 对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差 C、缺点: 测量速度较慢,和算术平均滤波法一样

9 Sun SPOT数据处理 编程练习: 选用合适的滤波方法,对SPOT采 集到的温度、亮度和三轴加速 度数据进行滤波,并与没有滤波 前的数据进行比较。

10 滤波器Java程序模板 public class MyDataFilter { // 全局变量声明 double [] data;
int filterLength; int sampleNumber; public MyDataFilter(int length) data = new double[length]; filterLength = length; sampleNumber =0; } public double performFilter(double newValue) //滤波算法 return filteredValue;

11 滤波器Java程序模板 public double performFilter(double newValue) { double sum;
for (int i=1;i<filterLength;i++) data[filterLength-i] = data[filterLength-i-1); data[0]=newValue; sampleNumber = sampleNumber + 1; sum = 0; for (int=0;i<filterLength;i++) sum = sum + data[i]; if (sampleNumber<filterLength) return sum/sampleNumber; else return sum/filterLength; }

12 滤波器Java程序模板 import org.sunspotworld.MyDataFilter;
MyDataFilter myFilter = new MyDataFilter(5); 采样得到double lightData; double filteredLightData = myFilter.performFilter(lightData);

13 Sun SPOT数据处理 University Outreach Programs in China
蒋清野(John) Sun 中国技术社区,高级经理 Qingye Jiang (John) Senior Manager Sun Developer Network, China 13


Download ppt "Sun SPOT数据处理 University Outreach Programs in China"

Similar presentations


Ads by Google