📄 extrfilt.m
字号:
add_block('built-in/Note',[sys,'/',['Discrete',13,'Bandstop/Discrete-Time',13,'Bandstop Filters']])
set_param([sys,'/',['Discrete',13,'Bandstop/Discrete-Time',13,'Bandstop Filters']],...
'position',[80,20,85,25])
add_block('built-in/Filter',[sys,'/',['Discrete',13,'Bandstop/Classical FIR ',13,'BS Filter']])
set_param([sys,'/',['Discrete',13,'Bandstop/Classical FIR ',13,'BS Filter']],...
'Numerator','b',...
'Denominator','1',...
'Sample time','ts',...
'Mask Display','plot(1:64,abs(h))',...
'Mask Type','fir1(BS)')
set_param([sys,'/',['Discrete',13,'Bandstop/Classical FIR ',13,'BS Filter']],...
'Mask Dialogue','Classical FIR band stop filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Sample time:')
set_param([sys,'/',['Discrete',13,'Bandstop/Classical FIR ',13,'BS Filter']],...
'Mask Translate','bw=@2/2; [b]=fir1(@3,[@1-bw,@1+bw],''stop''); ts=@4; h=freqz(b,1,64); ',...
'Mask Help','FIR band stop filter using MATLAB''s fir1 command.')
set_param([sys,'/',['Discrete',13,'Bandstop/Classical FIR ',13,'BS Filter']],...
'Mask Entries','0.5\/0.1\/8\/0.1\/',...
'position',[50,73,125,117])
% Finished composite block ['Discrete',13,'Bandstop'].
set_param([sys,'/',['Discrete',13,'Bandstop']],...
'position',[240,178,270,232])
% Subsystem ['Discrete',13,'Bandpass'].
new_system([sys,'/',['Discrete',13,'Bandpass']])
set_param([sys,'/',['Discrete',13,'Bandpass']],'Location',[8,75,168,638])
add_block('built-in/Filter',[sys,'/',['Discrete',13,'Bandpass/Classical FIR ',13,'BP Filter']])
set_param([sys,'/',['Discrete',13,'Bandpass/Classical FIR ',13,'BP Filter']],...
'Numerator','b',...
'Denominator','1',...
'Sample time','ts',...
'Mask Display','plot(1:64,abs(h))',...
'Mask Type','fir1(BP)')
set_param([sys,'/',['Discrete',13,'Bandpass/Classical FIR ',13,'BP Filter']],...
'Mask Dialogue','Classical FIR band pass filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Sample time:')
set_param([sys,'/',['Discrete',13,'Bandpass/Classical FIR ',13,'BP Filter']],...
'Mask Translate','bw=@2/2; [b]=fir1(@3, [@1-bw,@1+bw] ); ts=@4; h=freqz(b,1,64); ',...
'Mask Help','FIR band pass filter using MATLAB''s fir1 command.')
set_param([sys,'/',['Discrete',13,'Bandpass/Classical FIR ',13,'BP Filter']],...
'Mask Entries','0.5\/0.1\/8\/0.1\/',...
'position',[50,73,125,117])
add_block('built-in/Note',[sys,'/',['Discrete',13,'Bandpass/Discrete-Time',13,'Bandpass Filters']])
set_param([sys,'/',['Discrete',13,'Bandpass/Discrete-Time',13,'Bandpass Filters']],...
'position',[80,20,85,25])
add_block('built-in/Discrete State-Space',[sys,'/',['Discrete',13,'Bandpass/Butterworth',13,'IIR BP Filter']])
set_param([sys,'/',['Discrete',13,'Bandpass/Butterworth',13,'IIR BP Filter']],...
'A','a',...
'B','b',...
'C','c',...
'D','d',...
'Sample time','ts',...
'Mask Display','plot(1:64,abs(h))',...
'Mask Type','butter(BP)')
set_param([sys,'/',['Discrete',13,'Bandpass/Butterworth',13,'IIR BP Filter']],...
'Mask Dialogue','Butterworth band pass filter.\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Sample time:')
set_param([sys,'/',['Discrete',13,'Bandpass/Butterworth',13,'IIR BP Filter']],...
'Mask Translate','bw = @2/2; [a,b,c,d]=butter(@3,[@1-bw,@1+bw] ); ts=@4; [num,den]=ss2tf(a,b,c,d,1); if (@3 <= 8), [a,b,c,d]=tf2ss(num,den); end; h=freqz(num,den,64); ')
set_param([sys,'/',['Discrete',13,'Bandpass/Butterworth',13,'IIR BP Filter']],...
'Mask Help','IIR Butterworth band pass filter using MATLAB''s butter command.',...
'Mask Entries','0.5\/0.5\/5\/0.1\/',...
'position',[50,167,125,213])
add_block('built-in/Discrete State-Space',[sys,'/',['Discrete',13,'Bandpass/Chebychev Type I',13,'IIR BP Filter']])
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type I',13,'IIR BP Filter']],...
'A','a',...
'B','b',...
'C','c',...
'D','d',...
'Sample time','ts',...
'Mask Display','plot(1:64,abs(h))',...
'Mask Type','cheby1(BP)')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type I',13,'IIR BP Filter']],...
'Mask Dialogue','IIR Chebychev type I band pass filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Db ripple in passband:|Sample time:')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type I',13,'IIR BP Filter']],...
'Mask Translate','bw = @2/2; [a,b,c,d]=cheby1(@3,@4,[@1-bw,@1+bw]); ts=@5; [num,den]=ss2tf(a,b,c,d,1); if (@3 <= 8), [a,b,c,d]=tf2ss(num,den); end; h=freqz(num,den,64); ')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type I',13,'IIR BP Filter']],...
'Mask Help','IIR Chebychev type I band pass filter using MATLAB''s cheby1 command.',...
'Mask Entries','0.5\/0.5\/3\/1\/0.1\/')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type I',13,'IIR BP Filter']],...
'position',[55,266,115,314])
add_block('built-in/Discrete State-Space',[sys,'/',['Discrete',13,'Bandpass/Chebychev Type II',13,'IIR BP Filter']])
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type II',13,'IIR BP Filter']],...
'A','a',...
'B','b',...
'C','c',...
'D','d',...
'Sample time','ts',...
'Mask Display','plot(1:64,abs(h))',...
'Mask Type','cheby2(BP)')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type II',13,'IIR BP Filter']],...
'Mask Dialogue','Chebychev type II band pass filter.\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Db ripple in stopband:|Sample time:')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type II',13,'IIR BP Filter']],...
'Mask Translate','bw = @2/2; [a,b,c,d]=cheby2(@3,@4,[@1-bw,@1+bw]); ts=@5; [num,den]=ss2tf(a,b,c,d,1); if (@3 <= 8), [a,b,c,d]=tf2ss(num,den); end; h=freqz(num,den,64); ')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type II',13,'IIR BP Filter']],...
'Mask Help','IIR Chebychev type II band pass filter using MATLAB''s cheby2 command.',...
'Mask Entries','0.5\/0.5\/5\/20\/0.1\/')
set_param([sys,'/',['Discrete',13,'Bandpass/Chebychev Type II',13,'IIR BP Filter']],...
'position',[55,356,115,404])
% Subsystem ['Discrete',13,'Bandpass/Elliptic'].
new_system([sys,'/',['Discrete',13,'Bandpass/Elliptic']])
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic']],'Location',[8,51,240,278])
add_block('built-in/Discrete State-Space',[sys,'/',['Discrete',13,'Bandpass/Elliptic/Elliptic',13,'IIR BP Filter']])
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic/Elliptic',13,'IIR BP Filter']],...
'A','a',...
'B','b',...
'C','c',...
'D','d',...
'Sample time','ts',...
'Mask Display','plot(1:64,abs(h))',...
'Mask Type','ellip(BP)')
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic/Elliptic',13,'IIR BP Filter']],...
'Mask Dialogue','Elliptic band pass filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (0 to 1):|Bandwidth (0 to 1):|Order:|Db ripple in passband:|Db ripple in stopband:|Sample time:')
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic/Elliptic',13,'IIR BP Filter']],...
'Mask Translate','bw = @2/2; [a,b,c,d]=ellip(@3,@4,@5,[@1-bw,@1+bw]); ts=@6; [num,den]=ss2tf(a,b,c,d,1); if (@3 <= 8), [a,b,c,d]=tf2ss(num,den); end; h=freqz(num,den,64); ')
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic/Elliptic',13,'IIR BP Filter']],...
'Mask Help','IIR elliptic band pass filter using MATLAB''s ellip command.',...
'Mask Entries','0.5\/0.5\/3\/1\/20\/0.05\/')
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic/Elliptic',13,'IIR BP Filter']],...
'position',[85,66,145,114])
add_block('built-in/Note',[sys,'/',['Discrete',13,'Bandpass/Elliptic/(May take some time to draw icon)']])
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic/(May take some time to draw icon)']],...
'position',[120,20,125,25])
% Finished composite block ['Discrete',13,'Bandpass/Elliptic'].
set_param([sys,'/',['Discrete',13,'Bandpass/Elliptic']],...
'position',[70,464,100,510])
% Finished composite block ['Discrete',13,'Bandpass'].
set_param([sys,'/',['Discrete',13,'Bandpass']],...
'position',[160,178,190,232])
% Subsystem ['Analog',13,'Bandstop'].
new_system([sys,'/',['Analog',13,'Bandstop']])
set_param([sys,'/',['Analog',13,'Bandstop']],'Location',[8,75,228,499])
% Subsystem ['Analog',13,'Bandstop/Elliptic',13,'BS Filter'].
new_system([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter']])
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter']],'Location',[8,51,241,314])
add_block('built-in/Note',[sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/(May take some time to draw icon)']])
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/(May take some time to draw icon)']],...
'position',[115,20,120,25])
add_block('built-in/State-Space',[sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/Elliptic',13,'BS Filter']])
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/Elliptic',13,'BS Filter']],...
'A','at',...
'B','bt',...
'C','ct',...
'D','dt',...
'Mask Display','plot(w,mag)',...
'Mask Type','ellip, lp2bs,')
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/Elliptic',13,'BS Filter']],...
'Mask Dialogue','Elliptic band stop filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (rad/sec):|Bandwidth (rad/sec):|Order:|Db ripple in passband:|Db ripple in stopband:')
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/Elliptic',13,'BS Filter']],...
'Mask Translate','[at,bt,ct,dt,w,mag]=filtm(''ellipap'',''lp2bs'',@1,@2,50,@3,@4,@5);')
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/Elliptic',13,'BS Filter']],...
'Mask Help','Elliptic band stop filter using MATLAB''s ellipap and lp2bs commands.',...
'Mask Entries','20\/1\/3\/3\/30\/')
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter/Elliptic',13,'BS Filter']],...
'position',[90,75,145,125])
% Finished composite block ['Analog',13,'Bandstop/Elliptic',13,'BS Filter'].
set_param([sys,'/',['Analog',13,'Bandstop/Elliptic',13,'BS Filter']],...
'position',[95,340,125,390])
add_block('built-in/Note',[sys,'/',['Analog',13,'Bandstop/Analog Bandstop Filters']])
set_param([sys,'/',['Analog',13,'Bandstop/Analog Bandstop Filters']],...
'position',[110,15,115,20])
add_block('built-in/State-Space',[sys,'/',['Analog',13,'Bandstop/Analog Butterworth',13,'BS Filter']])
set_param([sys,'/',['Analog',13,'Bandstop/Analog Butterworth',13,'BS Filter']],...
'A','at',...
'B','bt',...
'C','ct',...
'D','dt',...
'Mask Display','plot(w,mag)',...
'Mask Type','buttap,lp2bs')
set_param([sys,'/',['Analog',13,'Bandstop/Analog Butterworth',13,'BS Filter']],...
'Mask Dialogue','Analog Butterworth band stop filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (rad/sec)|Bandwidth (rad/sec):|Order')
set_param([sys,'/',['Analog',13,'Bandstop/Analog Butterworth',13,'BS Filter']],...
'Mask Translate','[at,bt,ct,dt,w,mag]=filtm(''buttap'',''lp2bs'',@1,@2,50,@3);')
set_param([sys,'/',['Analog',13,'Bandstop/Analog Butterworth',13,'BS Filter']],...
'Mask Help','Butterworth band stop filter using MATLAB''s butter and lp2bs commands.',...
'Mask Entries','50\/5\/4\/',...
'position',[80,54,140,96])
add_block('built-in/State-Space',[sys,'/',['Analog',13,'Bandstop/Chebychev Type ',13,'BS Filter']])
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type ',13,'BS Filter']],...
'A','at',...
'B','bt',...
'C','ct',...
'D','dt',...
'Mask Display','plot(w,mag)',...
'Mask Type','cheb1ap,lp2bs')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type ',13,'BS Filter']],...
'Mask Dialogue',' Chebyshev type I band stop filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (rad/sec):|Bandwidth (rad/sec):|Order:|Db ripple in passband:')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type ',13,'BS Filter']],...
'Mask Translate','[at,bt,ct,dt,w,mag]=filtm(''cheb1ap'',''lp2bs'',@1,@2,50,@3,@4);')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type ',13,'BS Filter']],...
'Mask Help','Analog Chebychev type I band stop filter using MATLAB''s cheb1ap and lp2bs commands.',...
'Mask Entries','50\/5\/3\/3\/')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type ',13,'BS Filter']],...
'position',[80,139,145,191])
add_block('built-in/State-Space',[sys,'/',['Analog',13,'Bandstop/Chebychev Type II',13,'BS Filter']])
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type II',13,'BS Filter']],...
'A','at',...
'B','bt',...
'C','ct',...
'D','dt',...
'Mask Display','plot(w,mag)',...
'Mask Type','cheb2ap,lp2bs')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type II',13,'BS Filter']],...
'Mask Dialogue','Chebyshev type II band stop filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (rad/sec):|Bandwidth (rad/sec):|Order:|Db ripple down in stopband:')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type II',13,'BS Filter']],...
'Mask Translate','[at,bt,ct,dt,w,mag]=filtm(''cheb2ap'',''lp2bs'',@1,@2,50,@3,@4);')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type II',13,'BS Filter']],...
'Mask Help','Analog Chebychev type II band stop filter using MATLAB''s cheb2ap and lp2bs commands.',...
'Mask Entries','40\/6\/4\/30\/')
set_param([sys,'/',['Analog',13,'Bandstop/Chebychev Type II',13,'BS Filter']],...
'position',[80,234,145,286])
% Finished composite block ['Analog',13,'Bandstop'].
set_param([sys,'/',['Analog',13,'Bandstop']],...
'position',[240,73,270,127])
% Subsystem ['Discrete',13,'Lowpass'].
new_system([sys,'/',['Discrete',13,'Lowpass']])
set_param([sys,'/',['Discrete',13,'Lowpass']],'Location',[8,75,168,638])
% Subsystem ['Discrete',13,'Lowpass/Elliptic'].
new_system([sys,'/',['Discrete',13,'Lowpass/Elliptic']])
set_param([sys,'/',['Discrete',13,'Lowpass/Elliptic']],'Location',[8,51,240,278])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -