1.巴特沃斯滤波器滤波
巴特沃斯滤波器就是滤波器的一种,也被称作最大平坦滤波器,其主要特点是通频带内的频率响应曲线最大限度平坦,没有纹波,而在阻频带则逐渐下降为零。
function [outdata] =filt_iir_butterfilter(indata,Fs,pass1,pass2,stop1,stop2,N )
%% 函数功能:巴特沃斯滤波器滤波1
% 输入参数:
% indata--输入信号
% Fs--采样频率
% pass1--通带上限 % pass2--通带下限
% stop1--阻带下限% stop2--阻带上限
% N--滤波器阶数
% 输出参数:
% outdata---滤波后的时域信号
Wp = [pass1, pass2] / (Fs/2);%通带
Ws = [stop1,stop2] / (Fs/2);%阻带
Rp = 3;%通带纹波最多3 dB
Rs = 40;%阻带衰减至少40 dB
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[b,a] = butter(N/2,Wn,'bandpass');
% figure;
% freqz(b,a);
outdata = filtfilt(b,a,indata);
end
2.切比雪夫滤波器滤波
1)切比雪夫滤波器是在通带或阻带上频率响应幅度等波纹波动(通带平坦、阻带等波纹或是阻带平坦、通带等波纹)的滤波器,振幅特性在通带内是等波纹。
2)切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。
3)切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。
4)在通带(或称“通频带”)上频率响应幅度等波纹波动的滤波器称为“I型切比雪夫滤波器”,在阻带(或称“阻频带”)上频率响应幅度等波纹波动的滤波器称为“II型切比雪夫滤波器”
function [outdata] =filt_iir_chebyfilter(indata,Fs,pass1,pass2,stop1,stop2,N )
%% 函数功能:切比雪夫滤波器滤波
% 输入参数:
% indata--输入信号
% Fs--采样频率
% pass1--通带上限 % pass2--通带下限
% stop1--阻带下限% stop2--阻带上限
% N--滤波器阶数
% 输出参数:
% outdata---滤波后的时域信号
Wp = [pass1, pass2] / (Fs/2);%通带
Ws = [stop1 stop2] / (Fs/2);%阻带
Rp = 3;%通带纹波最多3 dB
Rs = 40;%阻带衰减至少40 dB
[n, Wn]=cheb1ord(Wp, Ws, Rp, Rs);%对于带通和带阻滤波器,n为滤波器阶数的一半。
[b, a] = cheby1(N/2,Rp, Wn,'bandpass');
% figure
% freqz(b,a);
outdata = filtfilt(b, a, indata);
end
3.椭圆滤波器滤波
通带和阻带等波纹的一种滤波器。 椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。 它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。
%% 函数功能:椭圆滤波器滤波
% 输入参数:
% indata--输入信号
% Fs--采样频率
% pass1--通带上限 % pass2--通带下限
% stop1--阻带下限% stop2--阻带上限
% N--滤波器阶数
% 输出参数:
% outdata---滤波后的时域信号
Wp = [pass1, pass2] / (Fs/2);%通带
Ws = [stop1,stop2] / (Fs/2);%阻带
Rp = 3;%通带纹波最多3 dB
Rs = 40;%阻带衰减至少40 dB
[n, Wn]=ellipord(Wp, Ws, Rp, Rs);
[b, a]=ellip(N/2,Rp,Rs,Wn,'bandpass');
% figure
% freqz(b,a);
outdata = filtfilt(b, a, indata);
end
评论 (0)