======================Q_FACTOR====================== Q_factor QualityFactor cycles to settle ( Impedance_L )/R cycles to settle ring freq where Impedance_L = Impedance_C 2*PI()*Freq*L equals 1/(2*PI()*Freq*C) _ | | _ | | | | _ | | | | | | _ PULSE RESPONSE | | | | | | | | _ | | | | | | | | | | _ |_|_|_|_|_|_|_|_|_|_|_|_____\ | | | | | | | | | |_| / Time | | | | | | | |_| | | | | | |_| | | | |_| | | | | |_| L _ _ _ __ R / \/ \/ \ __ | |_ /\_| () () |______| | |__| \/ | |__| _|_ ___ C __ | __ | |_________________|____| | |__| |__| ------------------------------------------------------------------------------------- 20dB|................................................ | . . . . | . b Q=10 . . | . . . . | . b . . . | . b .b . . 0dB|..........a..a...a.............................. | . a . b . . | . . . . | . a b . . | . . a . . | . . a . . -20dB|.............................a.................. | . . . | . . . . | . . . . | . . . . | . . . . |______________________________________________ . 100KHz 1MHz 10MHz 100MHz 1GHz ------------------------------------------------------------------------------------- impedance C _|_ Z(S) = 1/s*C ___ | _ _ _ /*\/ \/ \ Z(S) = s*L ___ | () () | ___ impedance L | |__| |__| | |___| |___| -------------------------------------------------------------------------------------- L Z(S) =s*L _ _ _ __ R / \/ \/ \ ___ |IN|_ /\_| () () |______|OUT| |__| \/ | |___| _|_ ___ C Z(S)= 1/s*C __ | __ | |_________________|____| | |__| |__| Transfer Function OUT = IN*( 1/s*C)/( R + s*L +1/s*C ) OUT = IN*1/(a*s^2 +b*s +c ) -------------------------------------------------------------------------------------- Complex_Poles 1/(a*s^2 +b*s +c) = 1/(s^2 +(wo/Q)*s +wo^2) Quadratic formula a*x^2 +b*x +c = 0 roots (-b +/-sqrt(b^2-4ac))/2a 1/(a*s^2 +b*s +c) =1/(( s +alpha +jwo )*( s +alpha -jwo )) IMAGINARY ^ /|\ | X | ^ | | jw0 ______|_v_____\ REAL | / | X | <-> alpha ---------------------------------------------------------------------------- SciLab_Templates Cut and paste into a SciLab command window to run plots of gain_dB and Phase_deg Low_Pass_Q10 =================SciLab_Template========================= w0=2*%pi*10 // Freq = 10Hz Q=10 // Q = 10 freqmax=100 freqstep=.005 freqmin=.1 dBmax=20 dBmin=-60 Phmax=20 Phmin=-180 s=poly(0,'s') // define s as a poly symbol h=syslin('c', w0^2/(s^2+ w0*s/Q +w0^2)) // trans func'c'= cont [frq,rf]=repfreq(h,freqmin,freqmax,freqstep); // create complex frq response [db,phi]=dbphi(rf); // extact db phase vectors subplot(211) // 2X1 window first plot xgrid(); plot2d(frq,db,logflag="ln",rect=[freqmin,dBmin,freqmax,dBmax]) xtitle("Gain_vs_Freq","Freq_Hz","Gain_DB"); subplot(212) // 2X1 window second plot xgrid(); plot2d(frq,phi,logflag="ln",rect=[freqmin,Phmin,freqmax,Phmax]) xtitle("Phase_vs_Freq","Freq_Hz","Phase_deg"); High_Pass_Q10 =================SciLab_Template========================= w0=2*%pi*10 // Freq = 10Hz Q=10 // Q = 10 freqmax=100 freqstep=.005 freqmin=.1 dBmax=20 dBmin=-60 Phmax=180 Phmin=-20 s=poly(0,'s') // define s as a poly symbol h=syslin('c', s^2/(s^2+ w0*s/Q +w0^2)) // transfer funct 'c'= cont [frq,rf]=repfreq(h,freqmin,freqmax,freqstep); // create complex frq response [db,phi]=dbphi(rf); // extact db phase vectors subplot(211) // 2X1 window first plot xgrid(); plot2d(frq,db,logflag="ln",rect=[freqmin,dBmin,freqmax,dBmax]) xtitle("Gain_vs_Freq","Freq_Hz","Gain_DB"); subplot(212) // 2X1 window second plot xgrid(); plot2d(frq,phi,logflag="ln",rect=[freqmin,Phmin,freqmax,Phmax]) xtitle("Phase_vs_Freq","Freq_Hz","Phase_deg"); Band_Pass_Q10 =================SciLab_Template========================= w0=2*%pi*10 // Freq = 10Hz Q=10 // Q = 10 freqmax=100 freqstep=.005 freqmin=.1 dBmax=10 dBmin=-60 Phmax=100 Phmin=-100 s=poly(0,'s') // define s as a poly symbol h=syslin('c', (w0*s/Q)/(s^2+ w0*s/Q +w0^2)) // transfer funct 'c'= cont [frq,rf]=repfreq(h,freqmin,freqmax,freqstep); // create complex frq response [db,phi]=dbphi(rf); // extact db phase vectors subplot(211) // 2X1 window first plot xgrid(); plot2d(frq,db,logflag="ln",rect=[freqmin,dBmin,freqmax,dBmax]) xtitle("Gain_vs_Freq","Freq_Hz","Gain_DB"); subplot(212) // 2X1 window second plot xgrid(); plot2d(frq,phi,logflag="ln",rect=[freqmin,Phmin,freqmax,Phmax]) xtitle("Phase_vs_Freq","Freq_Hz","Phase_deg") Band_Reject_Q10 =================SciLab_Template========================= w0=2*%pi*10 // Freq = 10Hz Q=10 // Q = 10 freqmax=100 freqstep=.005 freqmin=.1 dBmax=10 dBmin=-60 Phmax=100 Phmin=-100 s=poly(0,'s') // define s as a poly symbol h=syslin('c', (s^2 +w0^2)/(s^2+ w0*s/Q +w0^2)) // transfer funct 'c'= cont time, [frq,rf]=repfreq(h,freqmin,freqmax,freqstep); // create complex frq response [db,phi]=dbphi(rf); // extact db phase vectors subplot(211) // 2X1 window first plot xgrid(); plot2d(frq,db,logflag="ln",rect=[freqmin,dBmin,freqmax,dBmax]) xtitle("Gain_vs_Freq","Freq_Hz","Gain_DB"); a=get("current_axes"); t=a.title; t.font_size=3; subplot(212) // 2X1 window second plot xgrid(); plot2d(frq,phi,logflag="ln",rect=[freqmin,Phmin,freqmax,Phmax]) xtitle("Phase_vs_Freq","Freq_Hz","Phase_deg") a=get("current_axes"); t=a.title; t.font_size=3;