当前位置: 首页 > wzjs >正文

网站做产品的审核工作怎么样ui网页设计规则

网站做产品的审核工作怎么样,ui网页设计规则,杭州网站建设乐云seo模板中心,做旅游网站怎么样基于FreeRTOS的STM32四轴飞行器: 十二.滤波 一.滤波介绍二.对角速度进行一阶低通滤波三.对加速度进行卡尔曼滤波 一.滤波介绍 模拟信号滤波: 最常用的滤波方法可以在信号和地之间并联一个电容,因为电容通交隔直,信号突变会给电容充电&#x…

基于FreeRTOS的STM32四轴飞行器: 十二.滤波

  • 一.滤波介绍
  • 二.对角速度进行一阶低通滤波
  • 三.对加速度进行卡尔曼滤波

一.滤波介绍

模拟信号滤波:
最常用的滤波方法可以在信号和地之间并联一个电容,因为电容通交隔直,信号突变会给电容充电,电容两端电压不会突变,电容越大越明显。
电容滤电压的毛刺,电感滤电流的毛刺。电感串联进电路中,电流出现毛刺,因为通过电感两端的电流不能突变,实现对电流的滤波。
数字信号滤波:
使用算法进行滤波。
1.均值滤波(滑动窗口滤波):每来一个值使用前四个值进行平均使用平均值
2.中值滤波:将数据排序,取数据奇数部分的中值代替取到的数值。
3.一阶低通滤波:结果 = 系数 * 上次的值 + (1 - 系数)X 这次的值
4.卡尔曼滤波:核心5个公式。
5.互补滤波:
加速度对时间积分 速度:响应迅速,结果容易受到外界影响。
加速度对时间微分 速度:结果不容受影响,响应不及时。

二.对角速度进行一阶低通滤波

编写一阶低通滤波函数:

#define ALPHA 0.8
/* 一阶低通率波 */
int16_t Com_Filter_LowPass(int16_t newData, int16_t lastData)
{return ALPHA * lastData + (1 - ALPHA) * newData;
}

使用一阶低通滤波:
记住读取数据时使用临界区。

    /* 1. 读取原始数据 */taskENTER_CRITICAL();Inf_MPU6050_ReadGyroAccelCalibrated(gyroAccel);taskEXIT_CRITICAL();/* 2. 对角速度做一阶低通低通滤波 */static int16_t lastDatas[3] = {0};gyroAccel->gyro.gyroX = Com_Filter_LowPass(gyroAccel->gyro.gyroX, lastDatas[0]);gyroAccel->gyro.gyroY = Com_Filter_LowPass(gyroAccel->gyro.gyroY, lastDatas[1]);gyroAccel->gyro.gyroZ = Com_Filter_LowPass(gyroAccel->gyro.gyroZ, lastDatas[2]);lastDatas[0] = gyroAccel->gyro.gyroX;lastDatas[1] = gyroAccel->gyro.gyroY;lastDatas[2] = gyroAccel->gyro.gyroZ;

一阶低通滤波效果演示:
使用虚拟数字示波器观察滤波前后数据波形,滤波效果明显。
CH1(红):滤波前
CH2(黄):滤波后
在这里插入图片描述

三.对加速度进行卡尔曼滤波

直接移植下面的卡尔曼滤波代码:
.c:
三个结构体分别是XYZ三轴的参数。
卡尔曼滤波函数参数分别为结构体,对谁做滤波。
返回值为滤波后结果。

/* 卡尔曼滤波参数 */
KalmanFilter_Struct kfs[3] = {{0.02, 0, 0, 0, 0.001, 0.543},{0.02, 0, 0, 0, 0.001, 0.543},{0.02, 0, 0, 0, 0.001, 0.543}};
double Common_Filter_KalmanFilter(KalmanFilter_Struct *kf, double input)
{kf->Now_P = kf->LastP + kf->Q;kf->Kg    = kf->Now_P / (kf->Now_P + kf->R);kf->out   = kf->out + kf->Kg * (input - kf->out);kf->LastP = (1 - kf->Kg) * kf->Now_P;return kf->out;
}

.h:

/* 卡尔曼滤波器结构体 */
typedef struct
{float LastP;   // 上一时刻的状态方差(或协方差)float Now_P;   // 当前时刻的状态方差(或协方差)float out;     // 滤波器的输出值,即估计的状态float Kg;      // 卡尔曼增益,用于调节预测值和测量值之间的权重float Q;       // 过程噪声的方差,反映系统模型的不确定性float R;       // 测量噪声的方差,反映测量过程的不确定性
} KalmanFilter_Struct;extern KalmanFilter_Struct kfs[3];

使用卡尔曼滤波:
传入结构体和滤波的对象。

    /* 3. 对加速度做卡尔曼滤波 */// OutData[0] = gyroAccel->accel.accelX ;gyroAccel->accel.accelX = Common_Filter_KalmanFilter(&kfs[0], gyroAccel->accel.accelX);gyroAccel->accel.accelY = Common_Filter_KalmanFilter(&kfs[1], gyroAccel->accel.accelY);gyroAccel->accel.accelZ = Common_Filter_KalmanFilter(&kfs[2], gyroAccel->accel.accelZ);// OutData[1] = gyroAccel->accel.accelX ;// OutPut_Data();

观察滤波前后效果:
效果良好
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/558452.html

相关文章:

  • 开发商虚假宣传可以退房吗seo网站免费优化软件
  • 可以接单做网站的软件中国建筑工程总公司招聘
  • 成都程序员网站idea制作网站
  • gom传奇网站建设聊城网站建设公司电话
  • 网站建设与维护制作网页做seo网站推广价格
  • 网站的ui规范公众号开发者密码是什么
  • 营销型网站源码下载网站建设外包公司排名
  • 男女做污的事情网站网站程序如何制作
  • 郑州门户网站建设哪家好南通做网站优化
  • 顶呱呱代理建设网站网页游戏大全slg
  • 什么网站是专门做评论赚钱的优化网站的技巧
  • 漳州做网站开发福田网站建设开发团队
  • 山东天成水利建设有限公司网站望江县住房和城乡建设局网站
  • 网站建设 银川文创产品设计作品案例欣赏
  • 网站建设方案说什么叫网站的域名
  • 视频网站 阿里云中企动力做网站的价格
  • worldpress英文网站建设公众号兼职网站开发
  • 机场建设集团网站qq空间wordpress搬家
  • 多语言网站建设平台代理优秀 网站设计 蓝色
  • 网站开发可以当程序员阿里巴巴做网站的电话号码
  • 个人logo在线生成免费东莞网络优化
  • 德阳市建设局网站地址网站策划方案如何做
  • 网站建设飠金手指下拉wordpress 企业网站主题
  • 天津企业网站制作电子商务网站开发平台图
  • 选择网站设计公司佛山网站建设哪家强
  • 网站备案号 脱离服务商网站建设案例资讯
  • 定制网站开发哪家好软件库网站大全
  • 网站建设合作品牌哔哩哔哩网页版登陆
  • 东莞建设小学网站企业的网站维护
  • wp建站模板官方百度app下载