目录
一、低通滤波器简介
1.概念
2.原理
二、低通滤波器的设计
1.技术指标
2.设计步骤
三、MATLAB代码
参考文献
数字低通滤波器就是让低于截止频率的信号通过,而高于截止频率的信号将被阻止通过。基于这种工作方式,低通滤波器可以将信号中的高频分量去掉,保留低频分量,进而达到去除高频噪声的目的。
数字滤波器可以用一个常系数线性差分方程来表示,该方程称为滤波器的系统函数。通过建立理想的数字滤波器模型,再利用数字滤波器的设计方法,就可得到一个逼近该模型的实际滤波器。
通带截止频率Wp,阻带起始频率Ws, 通带纹波系数Rp(dB),阻带衰减系数Rs(dB)。
(1)确定技术指标:Wp,Ws,Rp,Rs;
(2)计算滤波器的最低阶数n和3dB截止频率Wn;
(3)计算系统函数H(z)的分子、分母多项式系数;
(4)计算系统函数H(z)的幅频响应。
%% 主函数-----------信号去噪
clc;
clear;
close all;
% 产生数据
Fs=4000; % 信号的采样频率
t=(0:1/Fs:(1-1/Fs))';
x1=3*sin(200*pi*t+pi/4);
x2=2*cos(1000*pi*t);
x=x1+x2;
[m,n]=size(x); % m为信号点数
Rp=4; % 通带纹波系数
Rs=20; % 阻带衰减系数
fp=250; % 通带截止频率
fs=400; % 阻带起始频率
[b,a] = Buttord_Filter(fp,fs,Rp,Rs,m,Fs);
y=filter(b,a,x); % filter函数实现IIR滤波器的直接形式
figure;
subplot(2,1,1);plot(x);
subplot(2,1,2);plot(y);
function [b,a] = Buttord_Filter(Wp,Ws,Rp,Rs,N,Fs)
%% 设计巴特沃斯低通滤波器
% 滤波器设计参数(计算归一化角频率)
Wp=Wp/(Fs/2); % 通带截止频率
Ws=Ws/(Fs/2); % 阻带起始频率
% 计算滤波器的最低阶数n和3dB截止频率Wn
[n,Wn]=buttord(Wp,Ws,Rp,Rs);
% 计算系统函数H(z)的分子、分母多项式系数
[b,a]=butter(n,Wn);
% 计算系统函数H(z)的幅频响应:freqz(b,a,计算点数,采样速率);
[H,F]=freqz(b,a,N,Fs);
% 计算滤波器的相位
pha=angle(H)*180/pi;
%% 低通滤波器的幅频特性
figure;
subplot(2,1,1);plot(F,20*log10(abs(H)));
xlabel('频率(Hz)');ylabel('幅值(dB)');
axis tight;
grid on;
subplot(2,1,2);plot(F,pha);
xlabel('频率(Hz)');ylabel('相位');
axis tight;
grid on;
title('低通滤波器');
end
[1]沈再阳. MATLAB信号处理[M]. 北京:清华大学出版社,2017:214–233.
[2]基于matlab的心电信号预处理