二、低通滤波器简介

滤波器的用途:滤波器主要用来滤除信号中的无用频率成分,让符合频率要求的信号通过,抑制不需要的信号。

滤波器的分类:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BEF)。下边介绍的滤波器均为无源的。

1 无源低通滤波器

允许信号中较低频率成分通过滤波器时,这种滤波器叫做低通滤波器。

【数字信号去噪】基于matlab低通滤波数字信号去噪【含Matlab源码 964期】_低通滤波器

2 二阶低通滤波

下图为二阶低通滤波器电路和具体bode图,可以发现其下降部分相较于一阶低通滤波更加陡峭。

【数字信号去噪】基于matlab低通滤波数字信号去噪【含Matlab源码 964期】_低通滤波器_02

3 RL电感低通滤波电路

RL电感低通滤波电路和RC低通滤波电路的功能基本一致,通低频,阻高频,此外还能实现积分电路。

三、部分源代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%设定初始参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fs=2048; %采样频率
N=512; %采样点数
n=0:N-1;
t=n/fs; %时间
f1=100;
f2=300; %低频
f3=800; %高频
s=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t);%假定信号
subplot(121);plot(t,s);
title('输入信号');xlabel('t/s');ylabel('幅度');%未滤波时 时域波形
sfft=fft(s); %傅里叶变换
subplot(122);
plot((1:length(sfft)/2)*fs/length(sfft),2*abs(sfft(1:length(sfft)/2))/length(sfft));
title('信号频谱');xlabel('频率/Hz');ylabel('幅度'); %未滤波时 频域波形
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%设计巴特沃斯低通滤波器%%%%%%%%%%%%%%%%%%%%%%%%
Wp=900/fs;Ws=1000/fs;
[n,Wn]=buttord(Wp,Ws,1,50); %阻带衰减大于50db,通带纹波小于1db
%估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wn
[a,b]=butter(n,Wn);
[h,f]=freqz(a,b,'whole',fs); %求数字低通滤波器的频率响应
f=(0:length(f)-1)*fs/length(f); %进行对应的频率转换
figure(2);
plot(f(1:length(f)/2),abs(h(1:length(f)/2))); %绘制巴特沃斯幅频响应图
title('巴特沃斯低通滤波器');xlabel('频率/Hz');ylabel('幅度');
grid;
sF=filter(a,b,s); %叠加函数s经过低通滤波器以后的新函数
figure(3);
subplot(121);
plot(t,sF); %绘制叠加函数s经过低通后时域图形
title('输出信号');xlabel('t/s');ylabel('幅度');
SF=fft(sF);
subplot(122);
plot((1:length(SF)/2)*fs/length(SF),2*abs(SF(1:length(SF)/2))/length(SF));
title('低通滤波后频谱');xlabel('频率/Hz');ylabel('幅度');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%时域特征值计算%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
iemg1=sum(abs(sF))/length(sF);
rms1=sqrt(sum(sF.^2)/length(sF));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%频域特征值计算%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L1=length(sF);
cx1=xcorr(sF,'unbiased');
cxk1=fft(cx1,L1);
px1=abs(cxk1); %求功率谱密度
pxx1=10*log10(px1);
figure(4)
f1=(0:L1-1)*fs/L1;
plot(f1(1:L1/2),pxx1(1:L1/2))
figure(4)

四、运行结果

【数字信号去噪】基于matlab低通滤波数字信号去噪【含Matlab源码 964期】_低通滤波器_03

【数字信号去噪】基于matlab低通滤波数字信号去噪【含Matlab源码 964期】_时域_04

【数字信号去噪】基于matlab低通滤波数字信号去噪【含Matlab源码 964期】_时域_05

【数字信号去噪】基于matlab低通滤波数字信号去噪【含Matlab源码 964期】_时域_05

【数字信号去噪】基于matlab低通滤波数字信号去噪【含Matlab源码 964期】_低通滤波器_07

五、matlab版本及参考文献

1 matlab版本

2014a

2 参考文献

[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.

[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.

[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.