和枫寄晚
发表于 2015-8-7 09:43:18
int Get_AD() {
return random(295, 305);
}
// 递推平均滤波法(又称滑动平均滤波法)
#define FILTER_N 12
int filter_buf;
int Filter() {
int i;
int filter_sum = 0;
filter_buf = Get_AD();
for(i = 0; i < FILTER_N; i++) {
filter_buf = filter_buf; // 所有数据左移,低位仍掉
filter_sum += filter_buf;
}
return (int)(filter_sum / FILTER_N);
滑动平均值滤波里面这一句没看懂 filter_buf = Get_AD();,这里不是只对filter_buf【12】赋值了吗,至于其他的还没有值,那么紧接着就进行for循环,进行移位累加最后除以12,结果不就成了filter_buf【12】/12了吗。。。
求解答,蟹蟹~~~
}
ly117
发表于 2015-8-19 15:19:14
收藏了,谢谢
jeffvivi
发表于 2015-8-24 09:05:10
// 限幅滤波法(又称程序判断滤波法)
#define FILTER_A 1
int Filter() {
int NewValue;
NewValue = Get_AD();
if(((NewValue - Value) > FILTER_A) || ((Value - NewValue) > FILTER_A))
return Value;
else
return NewValue;
}
/**********************/
对于限幅法,有个疑问~初始化之后AD的新老值都是0,那这段程序岂不是一直返回0?
shenhaiyu
发表于 2015-9-6 16:38:59
jeffvivi 发表于 2015-8-24 09:05 static/image/common/back.gif
// 限幅滤波法(又称程序判断滤波法)
#define FILTER_A 1
int Filter() {
太极端的情况了,加个判断限制一下就好了,这里只讨论算法
mrliming
发表于 2015-9-6 22:04:25
好东西,收下了
毒师老白
发表于 2015-9-20 21:54:13
你好,我看了你的卡尔曼滤波的帖子,但是我是菜鸟,没太看懂,最近我在做个东西,要对提取到的RSSI值进行卡尔曼滤波,您能仔细给我讲讲么
八爪鱼
发表于 2015-10-4 18:06:34
特别有用!学习了!楼主辛苦!
shenhaiyu
发表于 2015-11-24 15:12:57
八爪鱼 发表于 2015-10-4 18:06 static/image/common/back.gif
特别有用!学习了!楼主辛苦!
谢谢支持~~~~~~~~~~
EagleShi
发表于 2015-11-25 10:24:27
楼主你好,非常感谢分享,你上次称重的那个案例后来用了哪种滤波方法效果比较好,谢谢
siecnbj
发表于 2015-11-28 23:39:02
很好的材料,好好学习下。
guochaoxxl
发表于 2016-1-21 19:05:02
非常好的东西,其实我们很多人重视的是内容不是内涵阿,算法就成了稀缺品了。
方盛洲
发表于 2016-1-25 17:19:46
收藏慢慢读,好东西呢
redspider_002
发表于 2016-2-5 02:54:13
谢楼主分享
shenhaiyu
发表于 2016-3-17 09:45:53
redspider_002 发表于 2016-2-5 02:54 static/image/common/back.gif
谢楼主分享
谢谢支持~~~~~~~~~
dhydhj
发表于 2016-4-13 23:44:50
您好 请问您一阶滞后滤波程序中的a值的大小和滤波的频率有什么关系?
可不可以不用float型,让其扩大100倍后,结果再除以100?
很浅的问题,希望恢复,很着急,谢谢您