📄 anfltdsn.m
字号:
'plot(0)', 'if li_ftype==1,', ' ls_text=[''=================================='' char(10)];', ' ls_text=[ls_text '' 滤波器设计向导第六步:原型设计'' char(10)];', ' ls_text=[ls_text ''=================================='' char(10)];', ' set(haxes,''Visible'',''on'');', ' set(hfrm,''Visible'',''off'');', ' set(hstr,''Visible'',''off'');', ' set(hrb,''Visible'',''off'');', ' set(htxt1,''Visible'',''off'')', ' set(hedit,''Visible'',''off'')', ' set(htxt2,''Visible'',''off'')', ' switch li_model', ' case 1,', ' ls_flt=''巴特沃斯'';', ' [n,Wn]=buttord(2*pi,2*pi*Normal_Ws,Rp,Rs,''s'');', ' [B,A]=butter(n,Wn,''s'');', ' case 2,', ' ls_flt=''切比雪夫Ⅰ型'';', ' [n,Wn]=cheb1ord(2*pi,2*pi*Normal_Ws,Rp,Rs,''s'');', ' [B,A]=cheby1(n,Rp,Wn,''s'');', ' case 3,', ' ls_flt=''切比雪夫Ⅱ型'';', ' [n,Wn]=cheb2ord(2*pi,2*pi*Normal_Ws,Rp,Rs,''s'');', ' [B,A]=cheby2(n,Rs,Wn,''s'');', ' end;', ' ls_text=[ls_text '' 根据上述要求,计算得'' char(10) '' “'' ls_flt ''”原型(归一化)低通滤波器的阶数为 '' num2str(n) ''阶,''];', ' ls_text=[ls_text ''3dB频率点为 '' num2str(Wn/(2*pi)) ''Hz。''];', ' ls_text=[ls_text char(10) ''其频率响应如上图所示。''];', ' freqss(B,A);', ' set(hinfo,''String'',ls_text)', 'end;', 'li_step=6;', '' }; slide(7).text={ '==================================', ' 滤波器设计向导第六步:原型设计', '==================================', ' '}; %========== Slide 8 ========== slide(8).code={ '%===========================', '% STEP 7', 'if li_ftype==1,', ' ls_text=[''=================================='' char(10)];', ' ls_text=[ls_text '' 滤波器设计向导第七步:逆向变换'' char(10)];', ' ls_text=[ls_text ''=================================='' char(10)];', ' set(haxes,''Visible'',''on'');', ' set(hfrm,''Visible'',''off'');', ' set(hstr,''Visible'',''off'');', ' set(hrb,''Visible'',''off'');', ' set(htxt1,''Visible'',''off'')', ' set(hedit,''Visible'',''off'')', ' set(htxt2,''Visible'',''off'')', ' if li_passband==1, % 低通滤波器', ' switch li_model,', ' case 1,', ' [B,A]=butter(n,Wn*Wp,''s'');', ' case 2,', ' [B,A]=cheby1(n,Rp,Wn*Wp,''s'');', ' case 3,', ' [B,A]=cheby2(n,Rs,Wn*Wp,''s'');', ' end;', ' ls_text=[ls_text '' 最后,进行参数反归一化,便可得到欲设计的“'' ls_flt ''”低通滤波器''];', ' ls_text=[ls_text char(10) '' 逼近阶数:'' num2str(n) ''阶''];', ' ls_text=[ls_text char(10) '' 3dB频率点:'' num2str(Wn*Wp/(2*pi)) ''Hz''];', ' ls_text=[ls_text char(10) ''其频率响应如上图所示。''];', ' freqss(B,A);', ' elseif li_passband==2, % 带通滤波器', ' Bp1=(Bp/2)/W0;', ' Bs1=Bs/W0;', ' Wp=2*pi*[1-Bp1 1+Bp1];', ' Ws=2*pi*[1-Bs1 1+Bs1];', ' switch li_model,', ' case 1,', ' [n,Wn]=buttord(Wp,Ws,Rp,Rs,''s'');', ' [B,A]=butter(n,Wn,''s'');', ' case 2,', ' [n,Wn]=cheb1ord(Wp,Ws,Rp,Rs,''s'');', ' [B,A]=cheby1(n,Rp,Wn,''s'');', ' case 3,', ' [n,Wn]=cheb2ord(Wp,Ws,Rp,Rs,''s'');', ' [B,A]=cheby2(n,Rs,Wn,''s'');', ' end;', ' ls_text=[ls_text '' 接着,应用频率反变换公式 β=sqrt(1+(αΩ/2)^2)±(αΩ/2),''];', ' ls_text=[ls_text ''即可得到归一化的“'' ls_flt ''”带通滤波器的参数''];', ' ls_text=[ls_text char(10) '' 逼近阶数:'' num2str(n) ''阶''];', ' ls_text=[ls_text char(10) '' 3dB频率点:'' num2str(Wn(1)/(2*pi)) ''Hz,'' num2str(Wn(2)/(2*pi)) ''Hz''];', ' ls_text=[ls_text char(10) ''此归一化带通滤波器的频率响应如上图所示。''];', ' freqss(B,A);', ' elseif li_passband==3, % 高通滤波器', ' switch li_model,', ' case 1,', ' [n,Wn]=buttord(2*pi,2*pi*(1/Normal_Ws),Rp,Rs,''s'');', ' [B,A]=butter(n,Wn,''high'',''s'');', ' case 2,', ' [n,Wn]=cheb1ord(2*pi,2*pi*(1/Normal_Ws),Rp,Rs,''s'');', ' [B,A]=cheby1(n,Rp,Wn,''high'',''s'');', ' case 3,', ' [n,Wn]=cheb2ord(2*pi,2*pi*(1/Normal_Ws),Rp,Rs,''s'');', ' [B,A]=cheby2(n,Rs,Wn,''high'',''s'');', ' end;', ' ls_text=[ls_text '' 接着,应用频率反变换公式 β=1/Ω,即可得到归一化的“'' ls_flt ''”高通滤波器的参数''];', ' ls_text=[ls_text char(10) '' 逼近阶数:'' num2str(n) ''阶''];', ' ls_text=[ls_text char(10) '' 3dB频率点:'' num2str(Wn/(2*pi)) ''Hz''];', ' ls_text=[ls_text char(10) ''此归一化高通滤波器的频率响应如上图所示。''];', ' freqss(B,A);', ' end;', ' set(hinfo,''String'',ls_text)', 'end;', 'li_step=7;', '' }; slide(8).text={ '==================================', ' 滤波器设计向导第七步:逆向变换', '==================================', ' '}; %========== Slide 9 ========== slide(9).code={ '%===========================', '% STEP 8', 'if li_ftype==1,', ' ls_text=[''=================================='' char(10)];', ' ls_text=[ls_text '' 滤波器设计向导第八步:最终结果'' char(10)];', ' ls_text=[ls_text ''=================================='' char(10)];', ' set(haxes,''Visible'',''on'');', ' set(hfrm,''Visible'',''off'');', ' set(hstr,''Visible'',''off'');', ' set(hrb,''Visible'',''off'');', ' set(htxt1,''Visible'',''off'')', ' set(hedit,''Visible'',''off'')', ' set(htxt2,''Visible'',''off'')', ' if li_passband==1, % 低通滤波器', ' ls_text=[ls_text '' “'' ls_flt ''”低通滤波器设计完毕。''];', ' elseif li_passband==2, % 带通滤波器', ' Wp=2*pi*[W0-Bp/2 W0+Bp/2];', ' Ws=2*pi*[W0-Bs W0+Bs];', ' switch li_model,', ' case 1,', ' [n,Wn]=buttord(Wp,Ws,Rp,Rs,''s'');', ' [B,A]=butter(n,Wn,''s'');', ' case 2,', ' [n,Wn]=cheb1ord(Wp,Ws,Rp,Rs,''s'');', ' [B,A]=cheby1(n,Rp,Wn,''s'');', ' case 3,', ' [n,Wn]=cheb2ord(Wp,Ws,Rp,Rs,''s'');', ' [B,A]=cheby2(n,Rs,Wn,''s'');', ' end;', ' ls_text=[ls_text '' 最后,进行参数反归一化,便可得到欲设计的“'' ls_flt ''”带通滤波器''];', ' ls_text=[ls_text char(10) '' 逼近阶数:'' num2str(n) ''阶''];', ' ls_text=[ls_text char(10) '' 3dB频率点:'' num2str(Wn(1)/(2*pi)) ''Hz,'' num2str(Wn(2)/(2*pi)) ''Hz''];', ' ls_text=[ls_text char(10) ''其频率响应如上图所示。'' char(10) ''设计完毕。''];', ' freqss(B,A);', ' elseif li_passband==3, % 高通滤波器', ' switch li_model,', ' case 1,', ' [n,Wn]=buttord(2*pi*Wp,2*pi*Ws,Rp,Rs,''s'');', ' [B,A]=butter(n,Wn,''high'',''s'');', ' case 2,', ' [n,Wn]=cheb1ord(2*pi*Wp,2*pi*Ws,Rp,Rs,''s'');', ' [B,A]=cheby1(n,Rp,Wn,''high'',''s'');', ' case 3,', ' [n,Wn]=cheb2ord(2*pi*Wp,2*pi*Ws,Rp,Rs,''s'');', ' [B,A]=cheby2(n,Rs,Wn,''high'',''s'');', ' end;', ' ls_text=[ls_text '' 最后,进行参数反归一化,便可得到欲设计的“'' ls_flt ''”高通滤波器''];', ' ls_text=[ls_text char(10) '' 逼近阶数:'' num2str(n) ''阶''];', ' ls_text=[ls_text char(10) '' 3dB频率点:'' num2str(Wn/(2*pi)) ''Hz''];', ' ls_text=[ls_text char(10) ''其频率响应如上图所示。'' char(10) ''设计完毕。''];', ' freqss(B,A);', ' end;', ' set(hinfo,''String'',ls_text)', 'end;', 'li_step=8;', '' }; slide(9).text={ '==================================', ' 滤波器设计向导第八步:最终结果', '==================================', ' '};end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -