%% ABOUT THIS FILE % ---------------------------------------------------------------------- % Type-B1 prototype for KAGRA % Coded by Y. Fujii on 2016/06/20 % ---------------------------------------------------------------------- %% PRELIMINARY clear all; % Clear workspace close all; % Close plot windows addpath('../../utility'); % Add path to utilities addpath('/usr/local/matlab/altmany-export_fig-76bd7fa'); g = 9.81; %% IMPORT SUSPENSION MODEL matfile='typeBp160620mdl'; load([matfile,'.mat']); %% TUNING DAMPER % This part compensates the failure in converting the structural damping to % viscous damping. % REDUCE DAMPING ON RIM sys1.a(34,34)=sys1.a(34,34)/30; % RIM sys1.a(40,40)=sys1.a(40,40)/30; % RRM sys1.a(46,46)=sys1.a(46,46)/30; % RTM % INCREASE DAMPING ON YF0 %sys1.a(15,15)=sys1.a(15,15)*3000; % YF1 %sys1.a(15,15)=sys1.a(15,15)*1000; % YF1 % INCREASE DAMPING ON LF1 %sys1.a(13,13)=sys1.a(13,13)*3000; % LF1 % INCREASE DAMPING ON TF1 %sys1.a(14,14)=sys1.a(14,14)*3000; % TF1 % INCREASE DAMPING ON YRM, YTM sys1.a(42,42)=sys1.a(42,42)*30; % YRM sys1.a(48,48)=sys1.a(48,48)*300; % YTM %% IMPORT SERVO FILTERS addpath('servofilter'); % Add path to servo typeBp160620_no_control; % NO CONTROL MODE rmpath ('servofilter'); % Remove path to servo %% IMPORT SIMULINK MODEL mdlfile='typeBpsimctrl_160620'; % typeB1 ver.150616 st =linmod(mdlfile); invl =strrep(st.InputName, [mdlfile,'/'],''); outvl =strrep(st.OutputName,[mdlfile,'/'],''); sysc0 =ss(st.a,st.b,st.c,st.d,'inputname',invl,'outputname',outvl); %% FREQUENCY freq1=logspace(-2,3,1001); freq2=logspace(-2,3,1001); %% TRANSFER FUNCTION F2 data_LF2=importdata('sumconplot/forceTF/160620_typeBp_forceTF_LF2_OSEM.dat'); data_LF2=[data_LF2(:,1),data_LF2(:,2)/0.0008964143418620027,data_LF2(:,3)]; data_TF2=importdata('sumconplot/forceTF/160620_typeBp_forceTF_TF2_OSEM.dat'); data_TF2=[data_TF2(:,1),data_TF2(:,2)/0.0008964143373623049,data_TF2(:,3)]; data_YF2=importdata('sumconplot/forceTF/160620_typeBp_forceTF_YF2_OSEM.dat'); data_YF2=[data_YF2(:,1),data_YF2(:,2)/0.34586841205724334,data_YF2(:,3)]; bodesusplotSUMCONsimcmp(sysc0,'actLF2','OSEM_LF2',freq1,data_LF2,... 'ylim',[1e-4,1e2],'calibration',gain_act_LF2,'unit1','1',... 'title','Transfer function from actLF2 to OSEM LF2'); export_fig('figure/TF/typeBp160620_forceTFcomp_LF2.pdf') bodesusplotSUMCONsimcmp(sysc0,'actTF2','OSEM_TF2',freq1,data_TF2,... 'ylim',[1e-4,1e2],'calibration',gain_act_TF2,'unit1','1',... 'title','Transfer function from actTF2 to TF2'); export_fig('figure/TF/typeBp160620_forceTFcomp_TF2.pdf') bodesusplotSUMCONsimcmp(sysc0,'actYF2','OSEM_YF2',freq1,data_YF2,... 'ylim',[1e-4,1e2],'calibration',gain_act_YF2,'unit1','1',... 'title','Transfer function from actYF2 to YF2'); export_fig('figure/TF/typeBp160620_forceTFcomp_YF2.pdf') %% TRANSFER FUNCTION IM data_LIM=importdata('sumconplot/forceTF/160620_typeBp_forceTF_LIM.dat'); data_LIM=[data_LIM(:,1),data_LIM(:,2)/0.004475179295970042,data_LIM(:,3)]; data_TIM=importdata('sumconplot/forceTF/160620_typeBp_forceTF_TIM.dat'); data_TIM=[data_TIM(:,1),data_TIM(:,2)/0.004475177129017489,data_TIM(:,3)]; data_VIM=importdata('sumconplot/forceTF/160620_typeBp_forceTF_VIM.dat'); data_VIM=[data_VIM(:,1),data_VIM(:,2)/0.002655324812284605,data_VIM(:,3)]; data_RIM=importdata('sumconplot/forceTF/160620_typeBp_forceTF_RIM.dat'); data_RIM=[data_RIM(:,1),data_RIM(:,2)/0.37241931624265845,data_RIM(:,3)]; data_PIM=importdata('sumconplot/forceTF/160620_typeBp_forceTF_PIM.dat'); data_PIM=[data_PIM(:,1),data_PIM(:,2)/0.37509236908446314,data_PIM(:,3)]; data_YIM=importdata('sumconplot/forceTF/160620_typeBp_forceTF_YIM.dat'); data_YIM=[data_YIM(:,1),data_YIM(:,2)/0.631637591999923,data_YIM(:,3)]; data_PIM_Oplev=importdata('sumconplot/forceTF/160620_typeBp_forceTF_PIM2PTMoplev.dat'); data_PIM_Oplev=[data_PIM_Oplev(:,1),data_PIM_Oplev(:,2)/0.33699905227127236,data_PIM_Oplev(:,3)]; data_YIM_Oplev=importdata('sumconplot/forceTF/160620_typeBp_forceTF_YIM2YTMoplev.dat'); data_YIM_Oplev=[data_YIM_Oplev(:,1),data_YIM_Oplev(:,2)/0.7189998618932592,data_YIM_Oplev(:,3)]; bodesusplotSUMCONsimcmp(sysc0,'actLIM','OSEM_LIM',freq2,data_LIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_LIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_LIM.pdf') bodesusplotSUMCONsimcmp(sysc0,'actTIM','OSEM_TIM',freq2,data_TIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_TIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_TIM.pdf') bodesusplotSUMCONsimcmp(sysc0,'actVIM','OSEM_VIM',freq2,data_VIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_VIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_VIM.pdf') bodesusplotSUMCONsimcmp(sysc0,'actRIM','OSEM_RIM',freq2,data_RIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_RIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_RIM.pdf') bodesusplotSUMCONsimcmp(sysc0,'actPIM','OSEM_PIM',freq2,data_PIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_PIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_PIM.pdf') bodesusplotSUMCONsimcmp(sysc0,'actYIM','OSEM_YIM',freq2,data_YIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_YIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_YIM.pdf') bodesusplotSUMCONsimcmp(sysc0,'actPIM','OpLev_PTM',freq2,data_PIM_Oplev,... 'ylim',[1e-6,1e2],'calibration',gain_act_PIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_PIM2PTM_OpLev.pdf') bodesusplotSUMCONsimcmp(sysc0,'actYIM','OpLev_YTM',freq2,data_YIM_Oplev,... 'ylim',[1e-6,1e2],'calibration',gain_act_YIM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_YIM2YTM_OpLev.pdf') %% TRANSFER FUNCTION TM data_LTM_Oplev=importdata('sumconplot/forceTF/160620_typeBp_forceTF_LTMoplev.dat'); data_LTM_Oplev=[data_LTM_Oplev(:,1),data_LTM_Oplev(:,2)/0.005861136747875879,data_LTM_Oplev(:,3)]; data_PTM_Oplev=importdata('sumconplot/forceTF/160620_typeBp_forceTF_PTMoplev.dat'); data_PTM_Oplev=[data_PTM_Oplev(:,1),data_PTM_Oplev(:,2)/0.8516204214774711,data_PTM_Oplev(:,3)]; data_YTM_Oplev=importdata('sumconplot/forceTF/160620_typeBp_forceTF_YTMoplev.dat'); data_YTM_Oplev=[data_YTM_Oplev(:,1),data_YTM_Oplev(:,2)/0.37525840089392865,data_YTM_Oplev(:,3)]; bodesusplotSUMCONsimcmp(sysc0,'actLTM','IFO_LTM',freq2,data_LTM_Oplev,... 'ylim',[1e-6,1e2],'calibration',gain_act_LTM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_LTM_OpLev.pdf') bodesusplotSUMCONsimcmp(sysc0,'actPTM','OpLev_PTM',freq2,data_PTM_Oplev,... 'ylim',[1e-6,1e2],'calibration',gain_act_PTM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_PTM2PTM_OpLev.pdf') bodesusplotSUMCONsimcmp(sysc0,'actYTM','OpLev_YTM',freq2,data_YTM_Oplev,... 'ylim',[1e-6,1e2],'calibration',gain_act_YTM,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_YTM2YTM_OpLev.pdf') %% TRANSFER FUNCTION GAS data_VF1=importdata('sumconplot/forceTF/160620_typeBp_forceTF_VF1.dat'); data_VF1=[data_VF1(:,1),data_VF1(:,2)/0.0011077202263993153,data_VF1(:,3)]; data_VF2=importdata('sumconplot/forceTF/160620_typeBp_forceTF_VF2.dat'); data_VF2=[data_VF2(:,1),data_VF2(:,2)/0.002655131684861577,data_VF2(:,3)]; bodesusplotSUMCONsimcmp(sysc0,'actVF1','LVDT_VF1',freq1,data_VF1,... 'ylim',[1e-4,1e2],'calibration',gain_act_VF1,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_VF1.pdf') bodesusplotSUMCONsimcmp(sysc0,'actVF2','LVDT_VF2',freq1,data_VF2,... 'ylim',[1e-4,1e2],'calibration',gain_act_VF2,'unit1','1'); export_fig('figure/TF/typeBp160620_forceTFcomp_VF2.pdf')