资源简介

ilter滤波器称为一维数字滤波器。filtfilt滤波器称为零相位数字滤波。其滤波算法是基于filter而来的。只是filtfilt实现了零相位。其基本实现过程为先让信号用filter滤波,再将信号时域反转再次通过filter滤波,这样两次滤波后相位实现了零相位。filter滤波有明显的延迟,filtfilt滤波延时比filter小很多。

资源截图

代码片段和文件信息

%滤波器比较
%%
%产生原始信号
close all
f1=10;
f2=20;
f3=30;
Fs=150;
t=0:1/Fs:1;
y1=5*sin(2*pi*f1*t)+10*sin(2*pi*f2*t)+8*sin(2*pi*f3*t); 
%%
%滤波
fp=25;%滤掉频率超过25Hz的信号
fs=40;
wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;   %DF指标(低通滤波器的通、阻带边界频)
[Nwp]=ellipord(wpwsrprs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp
[BA]=ellip(Nrprswp);      %调用ellip计算椭圆带通DF系统函数系数向量B和A
y2=filter(BAy1); %滤波
y3=filtfilt(BAy1);
%%
%FFT频谱分析,分析滤波前后的频率成分
N=length(y1);
nfft=2^nextpow2(N);
fft_y1=fft(y1nfft)/nfft;
fft_y2=fft(y2nfft)/nfft;
fft_y3=fft(y3nfft)/nfft;
f=Fs/2*

评论

共有 条评论