原理
程序所用公式
y(n) = q*x(n) + (1-q)*y(n-1)
其中,y(n)表示当前的输出,x(n)表示当前的输入,y(n-1)表示上一次的输出,q为滤波系数。
链接: 参见 数字 一阶低通滤波器 详细分析.
滤波系数计算方法
q < F2π*t
其中,q为滤波系数(通常小于1),F为截止频率,t为计算频率。
链接: 参见 RC一阶低通滤波的软件实现及相关参数计算.
但实际应用时发现该方法计算的q还需更小一些。
仿真
根据公式搭建
主要部分如下,截止频率根据RC电路计算得到:
理想信号为正弦波,幅值10,频率1Hz。噪音为正弦波,幅值1,频率10kHz。如图所示:
延时模块采样频率10kHz,即设为1e-4(对应为10kHz的PWM触发ADC采样)。
模型仿真设置为固定步长1e-6,仿真时长2s。
输出结果如下图:
使用simulink自带模型
主要部分如下:
低通滤波器截止频率1540Hz,具体设置如下:
其它设置同上。
输出结果如下图: