ws1=0.3*pi;wp1=0.45*pi; %ws为归一化阻带边界频率,wp为归一化通带边界频率 wp2=0.65*pi;ws2=0.75*pi;
as=40; %as单位为dB的最小阻带衰减 tr_width=min((wp1-ws1),(ws2-wp2));%数据分析 m=ceil(11*pi/tr_width)+1;%确定数字带通滤波器的阶数 wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2;%wc为3dB截止频率 hd=ideal_lp(wc2,m)-ideal_lp(wc1,m);%调用子程序 w_bla=(blackman(m));%产生布莱克曼窗函数系数 h=hd*w_bla;
[db,mag,pha,grd,w]=freqz_m(h,[1]);%调用子程序 delta_w=2*pi/1000;
Ap=-min(db(wp1/delta_w+1:1:wp2/delta_w));%实际的通带波动; As=-round(max(db(ws2/delta_w+1:1:501)));%实际的最小阻带衰减 %画图
subplot(1,2,2);plot(w/pi,pha);title('相位响应');% 画带通滤波器的相位响应曲线图 xlabel('频率(单位:pi)');ylabel('相位');
subplot(1,2,1);plot(w/pi,db);%set(gca,'fontname','cmr12'); title('幅度响应(单位:db)');grid%画带通滤波器的幅度响应曲线图
xlabel('频率(单位:pi)');ylabel('分贝数');%横坐标表示频率,纵坐标表示分贝数 axis([0 1 -150 10]);
set(gca,'xtickmode','manual','xtick',[0,0.3,0.45,0.65,0.75,1]); set(gca,'ytickmode','manual','ytick',[-40,0]);
子程序 %计算幅度响应和相位响应值 function[db,mag,pha,grd,w]=freqz_m(b,a); [h,w]=freqz(b,a,1000,'whole'); h=(h(1:1:501))'; w=(w(1:1:501))'; mag=abs(h);
db=20*log10((mag+eps)/max(mag));
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于MATLAB的数字滤波器设计与仿真(很全--免费下载)(13)在线全文阅读。
相关推荐: