作业帮 > 综合 > 作业

频率抽样法设计带通滤波器的matlab实现

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 20:35:37
频率抽样法设计带通滤波器的matlab实现
我的代码如下:
M=44;Wp=0.3*pi; m=0:(M+1)/2;Wp2=0.5*pi;
Wm=2*pi*m./(M+1);
%mtr=ceil(Wp*(M+1)/(2*pi));
%mtr2=floor(Wp*(N+1)/(2*pi))+2;
mtr2=ceil(Wp2*(M+1)/(2*pi));
Ad=double([Wm>=Wp]); Ad(mtr2)=0.4;
Hd=Ad.*exp(-j*0.5*M*Wm);
Hd=[Hd conj(fliplr(Hd(2:M/2+1)))];
h=real(ifft(Hd));
w=linspace(0.1,pi,1000);
H=freqz(h,[1],w);
plot(w/pi,abs(H));grid;
程序的结果见图,主要问题就是这样只能出来一个边带,因为在程序的第六行中只能实现Wm>=Wp或Wm
呵呵,你是想用自己的代码实现频率采样法?matlab自带频率采样法实现函数fir2