[软件资料] 一阶低通滤波器代码分享

[复制链接]
1365|12
 楼主| eefas 发表于 2022-11-24 10:00 | 显示全部楼层 |阅读模式
传感器返回的数据里面有用数据的频率都比较滴,而噪声信号的频率普遍都 比较高。所以可以通过设计一个低通滤波器来对数据进行滤波。

  1. #ifndef _LPF_FIRST_ORDER_H
  2. #define _LPF_FIRST_ORDER_H

  3. typedef struct _lpf_first_order
  4. {
  5.     float fc;   // cut-off frequency
  6.     float uk;
  7.     float alpha; // filter coefficient
  8.     float T;     // samping period
  9. }LpfFirstOderObj;

  10. void lpf_first_order_init(LpfFirstOderObj *filter, float alpha);

  11. float lpf_first_order(LpfFirstOderObj *filter, float k);

  12. void lpf_first_order_fc_set(LpfFirstOderObj *filter, float fc, float T);

  13. #endif

  1. #include "lpf_first_order.h"

  2. #define LPF_PI  3.1415926

  3. void lpf_first_order_init(LpfFirstOderObj *filter, float alpha)
  4. {
  5.     filter->alpha = alpha;
  6.     filter->fc = 0;
  7.     filter->T = 0;
  8.     filter->uk = 0;
  9. }

  10. float lpf_first_order(LpfFirstOderObj *filter, float k)
  11. {
  12.     float uo;

  13.     uo = filter->alpha * k + (1 - filter->alpha) * filter->uk;
  14.     filter->uk = uo;

  15.     return uo;
  16. }

  17. void lpf_first_order_fc_set(LpfFirstOderObj *filter, float fc, float T)
  18. {
  19.     filter->fc = fc;
  20.     filter->T = T;
  21.     filter->alpha = (2 * LPF_PI * fc * T) / (1 + 2 * LPF_PI * fc * T);
  22. }







wwppd 发表于 2022-12-2 19:34 | 显示全部楼层
如何用c语言实现截止频率为200hz的巴特沃斯低通滤波器
yorkbarney 发表于 2022-12-2 22:52 | 显示全部楼层
离散的数据序列如何进行低通滤波?
chenjun89 发表于 2022-12-3 08:30 来自手机 | 显示全部楼层
在FPGA里面做滤波器很好
uytyu 发表于 2022-12-3 12:13 | 显示全部楼层
一阶rc低通滤波器公式是什么?
hilahope 发表于 2022-12-3 13:32 | 显示全部楼层
RC低通滤波,取相同的截止频率,用不同的R、C值有什么差别?
fengm 发表于 2022-12-3 14:39 | 显示全部楼层
求用C语言实现一个FIR数字低通滤波
houjiakai 发表于 2022-12-3 15:27 | 显示全部楼层
求一个卡尔曼滤波用C语言实现              
backlugin 发表于 2022-12-4 20:11 | 显示全部楼层
y=x*wc/(s+wc)这个一阶低通滤波器用c语言代码如何实现呢?
uptown 发表于 2022-12-6 13:19 | 显示全部楼层
二阶滤波器用C语言怎么写?   
jtracy3 发表于 2022-12-9 22:13 | 显示全部楼层
如何用C语言来实现数字滤波器?
lzmm 发表于 2022-12-10 08:57 | 显示全部楼层
软件如何实现低通数字滤波器?               
Undshing 发表于 2022-12-26 12:13 | 显示全部楼层
求一个卡尔曼滤波用C语言实现   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

3154

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部