这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 对加速度进行滑动滤波的时候 为什么 只赋值了一次就进入for循环 加了20次

共2条 1/1 1 跳转至

对加速度进行滑动滤波的时候 为什么 只赋值了一次就进入for循环 加了20次

菜鸟
2015-06-08 16:55:24     打赏
FILTER_NUM;=20;
void Prepare_Data(T_int16_xyz *acc_in,T_int16_xyz *acc_out) 

static uint8_t filter_cnt=0;
static int16_tACC_X_BUF[FILTER_NUM],ACC_Y_BUF[FILTER_NUM],ACC_Z_BUF[FILTER_NUM];
ACC_X_BUF[filter_cnt] = acc_in->X;
ACC_Y_BUF[filter_cnt] = acc_in->Y;
ACC_Z_BUF[filter_cnt] = acc_in->Z;

for(i=0;i<FILTER_NUM;i++)
{
temp1 += ACC_X_BUF[i];
temp2 += ACC_Y_BUF[i];
temp3 += ACC_Z_BUF[i];
}//为什么 只赋值了一次就进入for循环 加了20次

acc_out->X = temp1 / FILTER_NUM;
acc_out->Y = temp2 / FILTER_NUM;
acc_out->Z = temp3 / FILTER_NUM;
filter_cnt++;

if(filter_cnt==FILTER_NUM)filter_cnt=0;
}



关键词: 加速度     滑动     滤波     循环     20次    

菜鸟
2015-06-09 17:08:57     打赏
2楼

是我粗心了 老是纠结这个第一次的值除以20 的事情  他这个数组是静态变量的数组  最后还是全赋值了  只要调用20次。


为什么我觉得这只是一个算是平均滤波。



共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]