function [ EOM_eff ] = estimate_EOMeff(ff_cross , abs_cross, RefCav, NPRO_PZT, ttfsspath, varargin) %local function for FSS noise budget %make servo addpath(ttfsspath); ss_ttfss = TTFSS_ss('/Users/Masayuki/Dropbox/share ioo/document/circuit/TTFSS',... 'CG',100,'FG',270,'RL','Local','RT','Off','AO','Off',... 'Exc','Off','Servo','Inv','FastExc','Off','FastSign','-'); % cross over frequency cross_over_freq = mean(mncrospoint(ff_cross,abs_cross,1)); % transfer function at cross over frequency [cav_abs_cofreq,cav_ang_cofreq] = bode(RefCav,2*pi*cross_over_freq); cav_cofreq = squeeze(cav_abs_cofreq.*exp(1i*cav_ang_cofreq*pi/180)); [pzt_servo_abs_cofreq,pzt_servo_ang_cofreq] = bode(ss_ttfss(2),2*pi*cross_over_freq); pzt_servo_cofreq = squeeze(pzt_servo_abs_cofreq.*exp(1i*pzt_servo_ang_cofreq*pi/180)); [eom_servo_abs_cofreq,eom_servo_ang_cofreq] = bode(ss_ttfss(3),2*pi*cross_over_freq); eom_servo_cofreq = squeeze(eom_servo_abs_cofreq.*exp(1i*eom_servo_ang_cofreq*pi/180)); % make EOM actuator response list center_eom_eff_cofreq = 230/10e3*cross_over_freq*0.7; width = 0.5; N = 1000; eom_eff_cofreq_list = center_eom_eff_cofreq*(1-width/2):center_eom_eff_cofreq*width/N:center_eom_eff_cofreq*(1+width/2); % Gpzt = cav_cofreq*pzt_servo_cofreq*5*NPRO_PZT; Geom = cav_cofreq*eom_servo_cofreq*eom_eff_cofreq_list; % plot(1:N+1,abs(Gpzt./(Geom))) N_cross = mncrospoint(0:N,abs(Gpzt./(Geom+1)),1); EOM_eff_cofreq = center_eom_eff_cofreq*(1-width/2+width/N*N_cross); EOM_eff = tf([EOM_eff_cofreq/cross_over_freq/2/pi 0],1); end