[嵌入式竞赛] 互补滤波

[复制链接]
 楼主| 发表于 2025-5-26 07:56 | 显示全部楼层 |阅读模式
  1. void DEVICE_INFO::TX_updata()

  2. {


  3. //使用一阶互补滤波算法

  4. static u16 bre_i=0;

  5. static u16 bre_ii=0;

  6. static u16 bre_v=0;

  7. static u16 bre_vv=0;


  8. u16 adci,adcv;

  9. unsigned char r_buff[33];

  10. //TX电流

  11. adci=Get_Adc_Average(ADC_CH11,10); //此处有10次平均滤波

  12. adci=(adci*3300)/4096;


  13. //TX_electricity=adci;

  14. //电压

  15. adcv=Get_Adc_Average(ADC_CH10,10);

  16. adcv=(adcv*3300)/4096;


  17. //TX_voltage=adcv;


  18. //说明一下 0.92和0.08是权值 ,0.000001是处理周期,我这里处理比较快,单位是s


  19. TX_electricity=0.92*(TX_electricity-bre_i*0.000001)+0.08*bre_ii;

  20. TX_voltage=0.92*(TX_voltage-bre_v*0.000001)+0.08*bre_vv;


  21. bre_ii=bre_i; //保存上次值

  22. bre_i=adci; //保存本次值


  23. bre_vv=bre_v;

  24. bre_v=adcv; //保存本次值


  25. }


发表于 2025-5-26 08:08 来自手机 | 显示全部楼层
这种滤波处理方式运行效率咋样?
发表于 2025-5-26 13:14 | 显示全部楼层
互补滤波是一种常用于传感器融合的滤波技术,通过结合不同频率特性的传感器数据,平衡短期噪声和长期漂移问题,实现更准确稳定的输出
发表于 2025-5-27 09:14 | 显示全部楼层
互补滤波学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

1859

帖子

2

粉丝
快速回复 返回顶部 返回列表