龙空技术网

快速扫盲之一阶RC低通数字滤波器算法实现

电巢 324

前言:

如今朋友们对“c语言带通滤波算法”大约比较看重,看官们都想要分析一些“c语言带通滤波算法”的相关资讯。那么小编也在网上收集了一些对于“c语言带通滤波算法””的相关文章,希望大家能喜欢,同学们快快来学习一下吧!

低通滤波器(LPF)可以滤除频率高于截止频率的信号,类似的还有高通滤波器,带通滤波器,带阻滤波器。一阶RC低通滤波器的电路如下图所示;

参考了Wiki了,然后推导了一遍;首先输入输出的关系如下;

所以电容的的充电时间为 因此满足以下条件;

所以由①,②可得:

将方程进行离散化,如果输入和输出输入按照 的时间采样,那么可以将输入和输出序列化,则序列化为:

序列化为:

因此可以将③式转化为:

因此最终滤波输出的序列 如下所示;

同样进行简化之后可以得到;

后面可以根据这个公式进行程序设计;另外,截止频率满足;

2 simulink 仿真

这里直接根据公式③构建一搞Subsystem;

Subsystem

整体的仿真图如下:

其中Sine Wave频率设置为2*pi*50

其中Sine Wave1频率设置为2*pi

所以这里需要使得2*pi*50的信号衰减,所以根据,截止频率的计算公式,可以改变增益的值,具体如下所示;

3 simulink 运行结果

最终的仿真的运行结果如下图所示;Gain Value为0.005Gain Value为0.0318

4 matlab运行结果

5 C语言运行结果

实际测试结果;

#滤波器##频率##信号##MATLAB##C语言#

标签: #c语言带通滤波算法