eefas 发表于 2022-11-24 10:00

一阶低通滤波器代码分享

传感器返回的数据里面有用数据的频率都比较滴,而噪声信号的频率普遍都 比较高。所以可以通过设计一个低通滤波器来对数据进行滤波。

#ifndef _LPF_FIRST_ORDER_H
#define _LPF_FIRST_ORDER_H

typedef struct _lpf_first_order
{
    float fc;   // cut-off frequency
    float uk;
    float alpha; // filter coefficient
    float T;   // samping period
}LpfFirstOderObj;

void lpf_first_order_init(LpfFirstOderObj *filter, float alpha);

float lpf_first_order(LpfFirstOderObj *filter, float k);

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

#endif

#include "lpf_first_order.h"

#define LPF_PI3.1415926

void lpf_first_order_init(LpfFirstOderObj *filter, float alpha)
{
    filter->alpha = alpha;
    filter->fc = 0;
    filter->T = 0;
    filter->uk = 0;
}

float lpf_first_order(LpfFirstOderObj *filter, float k)
{
    float uo;

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

    return uo;
}

void lpf_first_order_fc_set(LpfFirstOderObj *filter, float fc, float T)
{
    filter->fc = fc;
    filter->T = T;
    filter->alpha = (2 * LPF_PI * fc * T) / (1 + 2 * LPF_PI * fc * T);
}






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语言实现   
页: [1]
查看完整版本: 一阶低通滤波器代码分享