这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 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
{
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 跳转至

回复

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