Matlab基础——切比雪夫I型滤波器(二)
文章目录
Matlab基础——切比雪夫I型滤波器(二)频率响应函数freqz()、angle()和phasez()---查看滤波器效果**一般来说,理想滤波器,应该是通带衰减较少、阻带下降较陡。**cheb1ord函数的Rp与Rs参数RpRs滤波器在时域与频域参考文献Matlab基础——切比雪夫Ⅰ型滤波器(一)切比雪夫滤波器属于IIR滤波器,即无限脉冲响应滤波器,利用上一时刻的输出信号,进行递归计算,它可以使用相同阶的滤波器实现更陡峭的增益变化.,从而获得更少的阶数,也就意味着减少计算时间。
滤波器的工作目的是在频域去除非有用频率信号,但是滤波器是在时域进行工作的(图3).滤波器以时域信号为输入,修改频率内容,得到新的时域信号.。
频率响应函数freqz()、angle()和phasez()—查看滤波器效果
①freqz() 用来展示滤波器的频域响应
语法:freqz(B,A) B、A为滤波器系数
‘ freqz(B,A,n,fs)显示频率下的频域响应。——用此图较为简单观察。
如图一所示:通带随频率的衰减幅度(Rp=3dB/hz)。阻带的下降幅度(Rs=40dB/hz)
一般来说,理想滤波器,应该是通带衰减较少、阻带下降较陡。
② [h,w]=freqz(b, a);具备返回值时,h:代表响应的幅值
[h,f]=freqz(b, a,n,fs) f代表的频率
绘图:
————频域图
plot(w/pi,20log10(abs(h)));xlabel('Normalized frequency(π rad/sample)’), ylabel(‘Amplitude(dB)’);
plot(f,20log10(abs(h)));xlabel(‘Normalized frequency(Hz)’), ylabel(‘Amplitude(dB)’);
————相位图
[phi, w1]=phasez(b, a) %phasez返回值phi以弧度制表示,w为角频率
plot(w/pi, phi180/pi), grid
xlabel(‘Normalized frequency(*π rad/sample)’), ylabel(‘Phase(degrees)’)
cheb1ord函数的Rp与Rs参数
Rp是指通带的衰减幅度,Rs是阻带的下降速度,单位都是dB
例程给的参数为Rp=3,Rs=40;
下面是参数不同时候的频率响应图像
Rp
图一:Rp=3,Rs=40。下降曲线顺滑,频域速率由-3dB随频率下降。相位图则是-40dB下降,但图中在25hz才能达到。
图二:Rp=100,Rs=40.程序出错,因此Rp不能太大,此时Rp=30.
相位延迟加大且下降速度较慢。但通道衰减较弱,且滤波后信号保留信息较少
图三 Rp=0.5,Rs=40。此时,通道几乎完全没有滤波。
Rs
图一:Rp=3,Rs=400,相位发生偏转,且抖动严重,表示不稳定,无滤波结果
图二,Rp=3,Rs=4,若小于4则报错。此时滤波效果较差,阻带存在部分干扰信号。
滤波器在时域与频域
原信号时域图
频域表现为:(只是简单用到傅里叶变化,应该用短时傅里叶/分数阶傅里叶、小波变换)
① 滤波器工作在频域存在幅值与相位的变化,与原信号存在较大偏差
②滤波器工作在时域,滤波效果较好
matlab代码如下
clear allclcfs=250;load('.\sample.mat')x(:)=eeg(1,1,:,1);figure(1)plot(x)%m=fft(x);%mag=abs(m);%fm=(0:length(m)-1)'*fs/length(m)%figure(2)%plot(fm,mag)[n,Wn]=cheb1ord(50/fs,60/fs,3,40);[B,A]=cheby1(n,3,Wn);x1=filtfilt(B,A,x)y=fft(x1);f=(0:length(y)-1)'*fs/length(y)figure(3)plot(f,abs(y))
参考文献
/weixin_42765703/article/details/104844894