SIEMENS河北省邯郸市 西门子代理商——西门子华北一级总代理
| 更新时间 2024-11-26 07:00:00 价格 请来电询价 西门子总代理 PLC 西门子一级代 驱动 西门子代理商 伺服电机 联系电话 15903418770 联系手机 15915421161 联系人 张经理 立即询价 |
详细介绍
获取滤波结果
参考FreeRTOS的设计方式,在获取滤波结果时,将之前创建的滤波器句柄作为参数传进来,实现对特定滤波数据的获取。
以MPU6050陀螺仪的数据滤波为例(相关介绍参考MPU6050姿态解算方式1-DMP),假设需要对pitch数据和roll数据进行滤波,使用方式为:
定义2滤波器句柄
创建2滤波器
循环获取数据并滤波
//创建2个滤波器SAFilter_pitch = SlipAveFilterCreate(10);SAFilter_roll = SlipAveFilterCreate(10);
//循环获取数据并滤波while(1){ if(mpu_dmp_get_data(&pitch,&roll,&yaw,&accx,&accy,&accz,&gyrox,&gyroy,&gyroz)==0) { pitch_res = GetSAFiterRes(SAFilter_pitch,pitch);//pitch数据滤波结果 roll_res = GetSAFiterRes(SAFilter_roll,roll);//roll数据滤波结果 printf("pitch:%f,%f,roll:%f,%f\r\n",pitch,pitch_res,roll,roll_res);//打印原始数据与滤波后的数据 } vTaskDelay(1);}
滤波后的结果如下,蓝色为原始数据,橙色为滤波后的结果:
相关产品