一阶数字低通滤波器-C语言/matlab实现

本文详细介绍了从一阶RC硬件低通滤波器到一阶数字低通滤波器的设计与实现过程。通过模拟电路的传递函数和离散化转换,阐述了数字滤波器的优势,如设计灵活和低成本。通过MATLAB实验,展示了滤波器对噪声信号的衰减效果,并讨论了一阶滤波器在滤除高频干扰时的局限性,如采样频率和截止频率的关系。
摘要由CSDN通过智能技术生成

一阶低通滤波适用于较大惯性的系统,如水位,温度,低速电机等

这里先介绍一下一阶RC低通滤波器,因为一阶数字低通滤波器原理来自于这个

1.一阶硬件低通滤波器

原理:RC组成简单的一阶低通滤波电路

计算:电路的传递函数,因为是模拟电路所以传递函数是在时域上连续的,需要离散化才能转到数字化实现

最后的函数表达式就是 数字式的低通滤波器

实验:

 绿色是原始信号,红色是滤波后的信号

2.一阶数字低通滤波器

 原理:一阶数字低通滤波器和一阶硬件滤波器是功能一致的,把RC滤波的电路函数进行离散化后就得到数字滤波器的表达式原型,为什么使用数字滤波器,因为这个通过软件来实现,设计灵活性高,成本低

计算公式:Y=a*x+(1-a)*Y_last

Y是本次输出,x是本次输入,Y_last是上一次输出

a是滤波系数,1-a越大,惯性(滞后)越大,说明本次的输出和上一次的输出关系越大

实验:因为是数字滤波器,这里使用matlab实现验证

3.一阶数字滤波器代码实现

代码:

t=0:0.001:1;
y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);

temp=y1+0.2*rand(size(y1));
i=2
while i<1002
    y(i)=0.8*temp(i)+0.2*y(i-1);
    i=i+1;
end

plot(t,y1,t,temp,'b',t,y,'r')

实验数据:

 滤波系数α=0.8,蓝色是输入的噪声信号,红色是滤波后的信号

可知噪声的幅度被衰减,相位略有滞后,但不明显

3.一阶低通滤波器应用限制

截止频率计算Fs=a/(2 π t),t是采样间隔时间

例如滤波系数a=0.1,t=1s即1秒采样1次  Fs=0.1/(2*3.1415*1)=0.016Hz

另外不能滤除高于二分之一采样频率的干扰信号,比如信号的采样频率为1Hz,对于0.5Hz以上的干扰信号软件滤波搞不定,这个要结合硬件RC低通滤波器来滤除

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值