⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extrfilt.m

📁 本书是电子通信类的本科、研究生辅助教材
💻 M
📖 第 1 页 / 共 4 页
字号:
		'B','bt',...
		'C','ct',...
		'D','dt',...
		'Mask Display','plot(w,mag)',...
		'Mask Type','cheb1ap,lp2hp')
set_param([sys,'/',['Analog',13,'Highpass/Chebychev Type ',13,'HP Filter']],...
		'Mask Dialogue',' Chebyshev type I high pass filter.\n\n(Requires Signal Processing Toolbox)|Cutoff frequency (rad/sec):|Order:|Db ripple in passband:')
set_param([sys,'/',['Analog',13,'Highpass/Chebychev Type ',13,'HP Filter']],...
		'Mask Translate','[at,bt,ct,dt,w,mag]=filtm(''cheb1ap'',''lp2hp'',@1,[],50,@2,@3);')
set_param([sys,'/',['Analog',13,'Highpass/Chebychev Type ',13,'HP Filter']],...
		'Mask Help','Analog Chebychev type I high pass filter using MATLAB''s cheb1ap and lp2hp commands.',...
		'Mask Entries','50\/4\/3\/')
set_param([sys,'/',['Analog',13,'Highpass/Chebychev Type ',13,'HP Filter']],...
		'position',[80,139,145,191])

add_block('built-in/Note',[sys,'/',['Analog',13,'Highpass/Analog Highpass Filters']])
set_param([sys,'/',['Analog',13,'Highpass/Analog Highpass Filters']],...
		'position',[110,15,115,20])


%     Subsystem  ['Analog',13,'Highpass/Elliptic',13,'HP Filter'].

new_system([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter']])
set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter']],'Location',[8,51,250,269])

add_block('built-in/State-Space',[sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/Elliptic',13,'HP Filter']])
set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/Elliptic',13,'HP Filter']],...
		'A','at',...
		'B','bt',...
		'C','ct',...
		'D','dt',...
		'Mask Display','plot(w,mag)',...
		'Mask Type','ellip, lp2hp')
set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/Elliptic',13,'HP Filter']],...
		'Mask Dialogue','Elliptic band stop filter.\n\n(Requires Signal Processing Toolbox)|Center frequency (rad/sec):|Order:|Db ripple in passband:|Db ripple in stopband:')
set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/Elliptic',13,'HP Filter']],...
		'Mask Translate','[at,bt,ct,dt,w,mag]=filtm(''ellipap'',''lp2hp'',@1,[],60,@2,@3,@4);')
set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/Elliptic',13,'HP Filter']],...
		'Mask Help','Elliptic high pass filter using MATLAB''s ellipap and lp2hp commands.',...
		'Mask Entries','20\/2\/3\/20\/')
set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/Elliptic',13,'HP Filter']],...
		'position',[90,75,145,125])

add_block('built-in/Note',[sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/(May take some time to draw icon)']])
set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter/(May take some time to draw icon)']],...
		'position',[115,20,120,25])


%     Finished composite block ['Analog',13,'Highpass/Elliptic',13,'HP Filter'].

set_param([sys,'/',['Analog',13,'Highpass/Elliptic',13,'HP Filter']],...
		'position',[95,340,125,390])


%     Finished composite block ['Analog',13,'Highpass'].

set_param([sys,'/',['Analog',13,'Highpass']],...
		'position',[320,73,350,127])

add_block('built-in/Note',[sys,'/','These blocks require the Signal Processing Toolbox'])
set_param([sys,'/','These blocks require the Signal Processing Toolbox'],...
		'position',[195,35,200,40])

add_block('built-in/Note',[sys,'/','Filters'])
set_param([sys,'/','Filters'],...
		'position',[193,9,198,15])


%     Subsystem  ['Double click',13,'on this block',13,'for demo.'].

new_system([sys,'/',['Double click',13,'on this block',13,'for demo.']])
set_param([sys,'/',['Double click',13,'on this block',13,'for demo.']],'Location',[-10,380,117,533])
set_param([sys,'/',['Double click',13,'on this block',13,'for demo.']],...
		'Mask Display','DEMO',...
		'Mask Dialogue','eval(''spectf'')')


%     Finished composite block ['Double click',13,'on this block',13,'for demo.'].

set_param([sys,'/',['Double click',13,'on this block',13,'for demo.']],...
		'position',[256,282,311,316])


%     Subsystem  ['Special Discrete-',13,'Time Filters'].

new_system([sys,'/',['Special Discrete-',13,'Time Filters']])
set_param([sys,'/',['Special Discrete-',13,'Time Filters']],'Location',[8,75,152,405])

add_block('built-in/Note',[sys,'/',['Special Discrete-',13,'Time Filters/(May take some time ',13,'to draw icons)']])
set_param([sys,'/',['Special Discrete-',13,'Time Filters/(May take some time ',13,'to draw icons)']],...
		'position',[75,25,80,30])

add_block('built-in/Filter',[sys,'/',['Special Discrete-',13,'Time Filters/Remez FIR']])
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Remez FIR']],...
		'Numerator','b',...
		'Denominator','a',...
		'Sample time','ts',...
		'Mask Display','plot(1:128,abs(h))',...
		'Mask Type','remez')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Remez FIR']],...
		'Mask Dialogue','Parks-McClellan linear phase FIR filter.\n\n(Requires Signal Processing Toolbox)|Frequencies (0 to 1):|Magnitudes:|Order:|Sample time:')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Remez FIR']],...
		'Mask Translate','[b,a]=remez(@3,@1,@2); ts=@4;  h=freqz(b,a,128); ',...
		'Mask Help','Parks-McClellan filter using MATLAB''s remez command.')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Remez FIR']],...
		'Mask Entries','[0 .55 .65 1]\/[1 1 0 0]\/4\/1\/',...
		'position',[50,243,100,297])

add_block('built-in/Filter',[sys,'/',['Special Discrete-',13,'Time Filters/FIR Filter']])
set_param([sys,'/',['Special Discrete-',13,'Time Filters/FIR Filter']],...
		'Numerator','b',...
		'Denominator','1',...
		'Sample time','ts',...
		'Mask Display','plot(1:64,abs(h))',...
		'Mask Type','fir2')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/FIR Filter']],...
		'Mask Dialogue','FIR filter using inverse ffts.\n\n(Requires Signal Processing Toolbox)|Frequencies (0 to 1):|Magnitudes:|Order:|Sample time:')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/FIR Filter']],...
		'Mask Translate','[b]=fir2(@3,@1,@2); ts=@4;  h=freqz(b,1,64); ',...
		'Mask Help','Finite impulse response filter using MATLAB''s fir2 command.')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/FIR Filter']],...
		'Mask Entries','[0, 0.6, 0.6, 1]\/[1 1 0 0]\/4\/1\/',...
		'position',[50,162,100,208])

add_block('built-in/Filter',[sys,'/',['Special Discrete-',13,'Time Filters/Yulewalk IIR']])
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Yulewalk IIR']],...
		'Numerator','b',...
		'Denominator','a',...
		'Sample time','ts',...
		'Mask Display','plot(1:128,abs(h))',...
		'Mask Type','yulewalk')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Yulewalk IIR']],...
		'Mask Dialogue','Yulewalker filter.\n\n(Requires Signal Processing Toolbox)|Frequencies (0 to 1):|Magnitudes:|Order:|Sample time:')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Yulewalk IIR']],...
		'Mask Translate','[b,a]=yulewalk(@3,@1,@2); ts=@4;  h=freqz(b,a,128); ',...
		'Mask Help','Yulewalker filter using MATLAB''s yulewalk command.')
set_param([sys,'/',['Special Discrete-',13,'Time Filters/Yulewalk IIR']],...
		'Mask Entries','[0 .6 .6 1]\/[1 1 0 0]\/2\/1\/',...
		'position',[50,73,100,127])


%     Finished composite block ['Special Discrete-',13,'Time Filters'].

set_param([sys,'/',['Special Discrete-',13,'Time Filters']],...
		'position',[125,273,155,327])

add_block('built-in/Note',[sys,'/',['NOTES',13,'Discrete-time filters will simulate faster.',13,'Discrete-time filters of order 8 or less are implemented',13,'in controller canonical form for improved efficiency.']])
set_param([sys,'/',['NOTES',13,'Discrete-time filters will simulate faster.',13,'Discrete-time filters of order 8 or less are implemented',13,'in controller canonical form for improved efficiency.']],...
		'position',[190,355,195,360])


%     Subsystem  ['Analog',13,'Lowpass'].

new_system([sys,'/',['Analog',13,'Lowpass']])
set_param([sys,'/',['Analog',13,'Lowpass']],'Location',[8,75,228,499])


%     Subsystem  ['Analog',13,'Lowpass/Elliptic',13,'LP Filter'].

new_system([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter']])
set_param([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter']],'Location',[8,51,294,299])

add_block('built-in/Note',[sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter/(May take some time to draw icon)']])
set_param([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter/(May take some time to draw icon)']],...
		'position',[160,55,165,60])

add_block('built-in/Zero-Pole',[sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter/Elliptic Filter']])
set_param([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter/Elliptic Filter']],...
		'Zeros','z',...
		'Poles','p',...
		'Gain','k',...
		'Mask Display','plot(20*log10(w),20*log10(abs(h)))',...
		'Mask Type','ellip')
set_param([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter/Elliptic Filter']],...
		'Mask Dialogue','Elliptic low pass filter.\n\n(Requires Signal Processing Toolbox)|Cutoff frequency (rad/sec):|Order:|Db ripple in passband|Db ripple in stopband:')
set_param([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter/Elliptic Filter']],...
		'Mask Translate','[z,p,k]=ellipap(@2,@3,@4); z=@1*z; p=@1*p; k=real(prod(-p)/prod(-z)); [num,den]=zp2tf(z,p,k); w=logspace(log10(@1/10),log10(10*@1),50); h=freqs(num,den,w); ')
set_param([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter/Elliptic Filter']],...
		'Mask Help','Elliptic low pass filter using MATLAB''s ellipap command.',...
		'Mask Entries','0.0001\/4\/2\/30\/',...
		'position',[130,99,185,151])


%     Finished composite block ['Analog',13,'Lowpass/Elliptic',13,'LP Filter'].

set_param([sys,'/',['Analog',13,'Lowpass/Elliptic',13,'LP Filter']],...
		'position',[95,340,125,390])

add_block('built-in/Zero-Pole',[sys,'/',['Analog',13,'Lowpass/Chebychev Type II',13,'LP  Filter']])
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type II',13,'LP  Filter']],...
		'Zeros','z',...
		'Poles','p',...
		'Gain','k',...
		'Mask Display','plot(20*log10(w),20*log10(abs(h)))',...
		'Mask Type','cheb2ap')
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type II',13,'LP  Filter']],...
		'Mask Dialogue','Chebyshev type II low pass filter.\n(Requires Signal Processing Toolbox)|Cutoff frequency (rad/sec):|Order:|Db ripple down in stopband:')
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type II',13,'LP  Filter']],...
		'Mask Translate','[z,p,k]=cheb2ap(@2,@3); z=@1*z; p=@1*p; k=real(prod(-p)/prod(-z)); [num,den]=zp2tf(z,p,k); w=logspace(log10(@1/10),log10(10*@1),50); h=freqs(num,den,w); ')
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type II',13,'LP  Filter']],...
		'Mask Help','Analog Chebychev type II low pass filter using MATLAB''s cheb2ap command.',...
		'Mask Entries','0.0001\/6\/40\/',...
		'position',[85,249,145,301])

add_block('built-in/Zero-Pole',[sys,'/',['Analog',13,'Lowpass/Chebychev Type I',13,'LP Filter']])
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type I',13,'LP Filter']],...
		'Zeros','z',...
		'Poles','p',...
		'Gain','k',...
		'Mask Display','plot(20*log10(w),20*log10(abs(h)))',...
		'Mask Type','cheb1ap')
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type I',13,'LP Filter']],...
		'Mask Dialogue','Chebyshev type I low pass filter.\n\n(Requires Signal Processing Toolbox)|Cutoff frequency (rad/sec):|Order:|Db ripple in passband:')
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type I',13,'LP Filter']],...
		'Mask Translate','[z,p,k]=cheb1ap(@2,@3); z=@1*z; p=@1*p; k=real(prod(-p)); [num,den]=zp2tf(z,p,k); w=logspace(log10(@1/10),log10(10*@1),50); h=freqs(num,den,w); ')
set_param([sys,'/',['Analog',13,'Lowpass/Chebychev Type I',13,'LP Filter']],...
		'Mask Help','Analog Chebychev type I low pass filter using MATLAB''s cheb1ap command.',...
		'Mask Entries','40\/4\/3\/',...
		'position',[85,155,145,205])

add_block('built-in/Zero-Pole',[sys,'/',['Analog',13,'Lowpass/Analog Butterworth',13,'LP Filter']])
set_param([sys,'/',['Analog',13,'Lowpass/Analog Butterworth',13,'LP Filter']],...
		'Zeros','z',...
		'Poles','p',...
		'Gain','k',...
		'Mask Display','plot(20*log10(w),20*log10(abs(h)))',...
		'Mask Type','buttap')
set_param([sys,'/',['Analog',13,'Lowpass/Analog Butterworth',13,'LP Filter']],...
		'Mask Dialogue','Analog Butterworth low pass filter.\n\n(Requires Signal Processing Toolbox)|Cutoff frequency (rad/sec)|Order')
set_param([sys,'/',['Analog',13,'Lowpass/Analog Butterworth',13,'LP Filter']],...
		'Mask Translate','[z,p,k]=buttap(@2); z=@1*z; p=@1*p; k=real(prod(-p)); [num,den]=zp2tf(z,p,k); w=logspace(log10(@1/10),log10(10*@1),20); h=freqs(num,den,w); ')
set_param([sys,'/',['Analog',13,'Lowpass/Analog Butterworth',13,'LP Filter']],...
		'Mask Help','Butterworth low pass filter using MATLAB''s butter command.',...
		'Mask Entries','40\/4\/',...
		'position',[85,63,145,107])

add_block('built-in/Note',[sys,'/',['Analog',13,'Lowpass/Analog Lowpass Filters']])
set_param([sys,'/',['Analog',13,'Lowpass/Analog Lowpass Filters']],...
		'position',[115,15,120,20])


%     Finished composite block ['Analog',13,'Lowpass'].

set_param([sys,'/',['Analog',13,'Lowpass']],...
		'position',[90,73,120,127])

drawnow

% Return any arguments.
if (nargin | nargout)
	% Must use feval here to access system in memory
	if (nargin > 3)
		if (flag == 0)
			eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
		else
			eval(['ret =', sys,'(t,x,u,flag);'])
		end
	else
		[ret,x0,str,ts,xts] = feval(sys);
	end
else
	drawnow % Flash up the model and execute load callback
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -