📄 anfltdsn.m
字号:
' set(hstr,''Visible'',''on'',''String'',''请您选择滤波器的设计模型:'');', ' set(hrb,''Value'',0);', ' set(hrb(li_model),''Value'',1);', ' set(hrb,''Visible'',''off'');', ' set(hrb(1),''Visible'',''on'',''String'',''巴特沃斯(Butterworth)'');', ' set(hrb(2),''Visible'',''on'',''String'',''切比雪夫Ⅰ型(Chebyshev type Ⅰ)'');', ' set(hrb(3),''Visible'',''on'',''String'',''切比雪夫Ⅱ型(Chebyshev type Ⅱ)'');', ' %TagStr={''Butter'';''Cheb1'';''Cheb2''};', 'end;', 'li_step=3;', '' }; slide(4).text={ '==================================', ' 滤波器设计向导第三步:滤波模型', '==================================', ' 本向导给出了三种常用的模拟滤波器逼近类型,分别是巴特沃', '斯、切比雪夫Ⅰ型和切比雪夫Ⅱ型滤波模型。您可以选择一种模型', ',余下的建立模型的操作就交由向导来完成了。', ''}; %========== Slide 5 ========== slide(5).code={ '%===========================', '% STEP 4', 'plot(0)', 'if li_ftype==1,', ' if li_step==3,', ' li_model=get(findobj(hrb,''Value'',1),''UserData'');', ' if li_passband==1,', ' Wp=1000; % 通带截止频率 Hz', ' Rp=3; % 通带最大衰减 dB', ' Ws=1500; % 阻带最低频率 Hz', ' Rs=20; % 阻带最小衰减 dB', ' elseif li_passband==2,', ' W0=1000; % 通带中心频率 Hz', ' Bp=200; % 通带带宽 Hz', ' Rp=3; % 通带最大衰减 dB', ' Bs=300; % 阻带最小偏移 Hz', ' Rs=20; % 阻带最小衰减 dB', ' elseif li_passband==3,', ' Wp=1000; % 通带截止频率 Hz', ' Rp=3; % 通带最大衰减 dB', ' Ws=500; % 阻带最高频率 Hz', ' Rs=20; % 阻带最小衰减 dB', ' end;', ' end;', ' set(haxes,''Visible'',''off'');', ' set(hfrm,''Visible'',''on'');', ' set(hrb,''Visible'',''off'');', ' if li_passband==1,', ' set(hstr,''Visible'',''on'',''String'',''请输入低通滤波器的特征参数:'');', ' set(htxt1(1),''Visible'',''on'',''String'',''通带截止频率'')', ' set(hedit(1),''Visible'',''on'',''String'',num2str(Wp))', ' set(htxt2(1),''Visible'',''on'',''String'',''Hz'')', ' set(htxt1(2),''Visible'',''on'',''String'',''通带最大衰减'')', ' set(hedit(2),''Visible'',''on'',''String'',num2str(Rp))', ' set(htxt2(2),''Visible'',''on'',''String'',''dB'')', ' set(htxt1(3),''Visible'',''on'',''String'',''阻带最低频率'')', ' set(hedit(3),''Visible'',''on'',''String'',num2str(Ws))', ' set(htxt2(3),''Visible'',''on'',''String'',''Hz'')', ' set(htxt1(4),''Visible'',''on'',''String'',''阻带最小衰减'')', ' set(hedit(4),''Visible'',''on'',''String'',num2str(Rs))', ' set(htxt2(4),''Visible'',''on'',''String'',''dB'')', ' set(htxt1(5),''Visible'',''off'')', ' set(hedit(5),''Visible'',''off'')', ' set(htxt2(5),''Visible'',''off'')', ' elseif li_passband==2,', ' set(hstr,''Visible'',''on'',''String'',''请输入带通滤波器的特征参数:'');', ' set(htxt1(1),''Visible'',''on'',''String'',''通带中心频率'')', ' set(hedit(1),''Visible'',''on'',''String'',num2str(W0))', ' set(htxt2(1),''Visible'',''on'',''String'',''Hz'')', ' set(htxt1(2),''Visible'',''on'',''String'',''通带带宽'')', ' set(hedit(2),''Visible'',''on'',''String'',num2str(Bp))', ' set(htxt2(2),''Visible'',''on'',''String'',''Hz'')', ' set(htxt1(3),''Visible'',''on'',''String'',''通带最大衰减'')', ' set(hedit(3),''Visible'',''on'',''String'',num2str(Rp))', ' set(htxt2(3),''Visible'',''on'',''String'',''dB'')', ' set(htxt1(4),''Visible'',''on'',''String'',''阻带最小偏移'')', ' set(hedit(4),''Visible'',''on'',''String'',num2str(Bs))', ' set(htxt2(4),''Visible'',''on'',''String'',''Hz'')', ' set(htxt1(5),''Visible'',''on'',''String'',''阻带最小衰减'')', ' set(hedit(5),''Visible'',''on'',''String'',num2str(Rs))', ' set(htxt2(5),''Visible'',''on'',''String'',''dB'')', ' elseif li_passband==3,', ' set(hstr,''Visible'',''on'',''String'',''请输入高通滤波器的特征参数:'');', ' set(htxt1(1),''Visible'',''on'',''String'',''通带截止频率'')', ' set(hedit(1),''Visible'',''on'',''String'',num2str(Wp))', ' set(htxt2(1),''Visible'',''on'',''String'',''Hz'')', ' set(htxt1(2),''Visible'',''on'',''String'',''通带最大衰减'')', ' set(hedit(2),''Visible'',''on'',''String'',num2str(Rp))', ' set(htxt2(2),''Visible'',''on'',''String'',''dB'')', ' set(htxt1(3),''Visible'',''on'',''String'',''阻带最高频率'')', ' set(hedit(3),''Visible'',''on'',''String'',num2str(Ws))', ' set(htxt2(3),''Visible'',''on'',''String'',''Hz'')', ' set(htxt1(4),''Visible'',''on'',''String'',''阻带最小衰减'')', ' set(hedit(4),''Visible'',''on'',''String'',num2str(Rs))', ' set(htxt2(4),''Visible'',''on'',''String'',''dB'')', ' set(htxt1(5),''Visible'',''off'')', ' set(hedit(5),''Visible'',''off'')', ' set(htxt2(5),''Visible'',''off'')', ' end;', 'end;', 'li_step=4;', '' }; slide(5).text={ '==================================', ' 滤波器设计向导第四步:设计参数', '==================================', ' 请在上面的输入栏中输入滤波器的各项设计参数,如截止频率', '啦、衰减啦等等。您所输入的参数将会直接影响到最终的滤波器设', '计结果,建议可以重复在这一屏及接下来的步骤,多试试不同的参', '数以便了解各项设计参数对滤波效果的影响。', ' 注意:输入的设计参数应合乎情理,考虑其取值范围。例如,', '对于低通滤波器,截止频率不应大于阻带最小频率。', ''}; %========== Slide 6 ========== slide(6).code={ '%===========================', '% STEP 5', 'if li_ftype==1,', ' ls_text=[''=================================='' char(10)];', ' ls_text=[ls_text '' 滤波器设计向导第五步:原型变换'' char(10)];', ' ls_text=[ls_text ''=================================='' char(10)];', ' if li_step==4,', ' ParamStrs=get(hedit,''string'');', ' end;', ' set(haxes,''Visible'',''off'');', ' 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, % 低通滤波器的特征参数', ' Wp=str2num(char(ParamStrs(1))); % 通带截止频率 Hz', ' Rp=str2num(char(ParamStrs(2))); % 通带最大衰减 dB', ' Ws=str2num(char(ParamStrs(3))); % 阻带最低频率 Hz', ' Rs=str2num(char(ParamStrs(4))); % 阻带最小衰减 dB', ' Normal_Ws=Ws/Wp;', ' ls_text=[ls_text '' 归一化低通原型结果为'' char(10) '' 截止频率:1Hz;'' char(10) '' 阻带最低频率:'' num2str(Normal_Ws) ''Hz。''];', ' elseif li_passband==2, % 带通滤波器的特征参数', ' W0=str2num(char(ParamStrs(1))); % 通带中心频率 Hz', ' Bp=str2num(char(ParamStrs(2))); % 通带带宽 Hz', ' Rp=str2num(char(ParamStrs(3))); % 通带最大衰减 dB', ' Bs=str2num(char(ParamStrs(4))); % 阻带最小偏移 Hz', ' Rs=str2num(char(ParamStrs(5))); % 阻带最小衰减 dB', ' Ws_LP=((W0+Bs)/W0-1/((W0+Bs)/W0))/(Bp/W0);', ' Normal_Ws=Ws_LP;', ' ls_text=[ls_text '' 首先以带通滤波器的中心频率为单位频率,进行参数归一化:''];', ' ls_text=[ls_text ''则归一化带通滤波器的中心频率为1Hz,带宽为'' num2str(Bp/W0) ''Hz,''];', ' ls_text=[ls_text ''阻带最小偏移为'' num2str(Bs/W0) ''Hz。'' char(10)];', ' ls_text=[ls_text ''由频率变换公式 Ω=(β-1/β)/α,得到此带通滤波器的归一化低通原型为:''];', ' ls_text=[ls_text ''截止频率 1Hz,通带最大衰减 '' num2str(Rp) ''dB,''];', ' ls_text=[ls_text ''阻带最低频率 '' num2str(Ws_LP) ''Hz,阻带最小衰减 '' num2str(Rs) ''dB。''];', ' elseif li_passband==3, % 高通滤波器的特征参数', ' Wp=str2num(char(ParamStrs(1))); % 通带截止频率 Hz', ' Rp=str2num(char(ParamStrs(2))); % 通带最大衰减 dB', ' Ws=str2num(char(ParamStrs(3))); % 阻带最高频率 Hz', ' Rs=str2num(char(ParamStrs(4))); % 阻带最小衰减 dB', ' Normal_Ws=Ws/Wp;', ' ls_text=[ls_text '' 对高通滤波器的特征参数进行归一化:将通带截至频率归一化为1Hz,则阻带最高频率相应为'' num2str(Normal_Ws) ''Hz。''];', ' ls_text=[ls_text char(10) ''再利用频率变换公式 Ω=1/β,得到此归一化高通滤波器的低通原型:''];', ' ls_text=[ls_text ''通带截止频率 1Hz;通带最大衰减 '' char(ParamStrs(2)) ''dB;''];', ' ls_text=[ls_text ''阻带最低频率 '' num2str(1/Normal_Ws) ''Hz;阻带最小衰减 '' char(ParamStrs(4)) ''dB。''];', ' Normal_Ws=1/Normal_Ws;', ' end;', ' set(haxes,''visible'',''on'');', ' semilogy([0:0.2:1 1:0.2:Normal_Ws Normal_Ws:0.2:2*Normal_Ws],[logspace(0,-Rp,1/0.2+1) logspace(-Rp,-Rs,(Normal_Ws-1)/0.2+1) logspace(-Rs,-(Rs+2),Normal_Ws/0.2+1)]);', ' set(hinfo,''String'',ls_text)', 'end;', 'li_step=5;', '' }; slide(6).text={ '==================================', ' 滤波器设计向导第五步:原型变换', '==================================', ' '}; %========== Slide 7 ========== slide(7).code={ '%===========================', '% STEP 6',
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -