式(3)中μ越小,极点越靠近单位圆,则频率响应曲线凹陷越深,凹陷的宽度也越窄。当需要消除窄带干扰而不能对其他频率有衰减时,陷波器是一种去除窄带干扰的理想数字滤波器。
<<<<>>>>
freqz_m在很多书中都有介绍.如
"基于MATLAB的系统分析和设计--信号处理"西安电子科技大学出版社
维纳_恩格尔"数字信号处理--使用MATLAB"
使用方法查阅一下书本,函数内容是:
function [db, mag, pha, grd,w]=freqz_m(b,a);
%Modified version of freqz subroutine
[H,w]=freqz(b,a,1000,'whole');
H=(H(1:501))'; w=(w(1:501))';
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(b,a,w);
下面一个代码也是一个滤除50Hz及其整倍数的陷波器,供参考
function data=trapper(data,f,sf,n);
for i=1:n
fi=i*f;
omg=2*pi*fi/sf;
num=[1 -2*cos(omg) 1];
den=[1 -2*0.999*cos(omg) 0.999];
data=filter(num,den,data);
end
%%%%%%%%%%
sf:采样频率
f:要滤除的频率
在主程序里调用即可.
n大于100效果就差了.若要将49Hz也滤除,0.999是不是要减小?