%% ABOUT THIS FILE % ---------------------------------------------------------------------- % Type-B1 prototype for KAGRA % Coded by T. Sekiguchi on 2015/06/16 % ---------------------------------------------------------------------- %% PRELIMINARY clear all; % Clear workspace close all; % Close plot windows addpath('../../utility'); % Add path to utilities g = 9.81; %% IMPORT SUSPENSION MODEL matfile='typeB1susmdl'; load([matfile,'.mat']); %% TUNING DAMPER % This part compensates the failure in converting the structural damping to % viscous damping. % REDUCE DAMPING ON RIM sys1.a(43,43)=sys1.a(43,43)/30; % RIM sys1.a(49,49)=sys1.a(49,49)/30; % RRM sys1.a(55,55)=sys1.a(55,55)/30; % RTM % INCREASE DAMPING ON YF0 sys1.a(15,15)=sys1.a(15,15)*3000; % YF0 % INCREASE DAMPING ON YRM, YTM sys1.a(51,51)=sys1.a(51,51)*30; % YRM sys1.a(57,57)=sys1.a(57,57)*300; % YTM % TEST sys1.a(16,16)=sys1.a(16,16)/2; % RIM sys1.a(22,22)=sys1.a(22,22)/2; % RIM sys1.a(16,22)=sys1.a(16,22)/2; % RIM sys1.a(22,16)=sys1.a(22,16)/2; % RIM %% IMPORT SERVO FILTERS addpath('servofilter'); % Add path to servo typeB1proto_no_control_150616; % NO CONTROL MODE rmpath ('servofilter'); % Remove path to servo %% IMPORT SIMULINK MODEL mdlfile='typeB1simctrl_150616'; % 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,1,1001); freq2=logspace(-2,2,1001); %% TRANSFER FUNCTION F0 data_LF0=importdata('measurement/20150529IP_L_tf.txt'); data_LF0=[data_LF0(:,1),data_LF0(:,2),data_LF0(:,4)]; data_TF0=importdata('measurement/20150529IP_T_tf.txt'); data_TF0=[data_TF0(:,1),data_TF0(:,2),data_TF0(:,4)]; data_YF0=importdata('measurement/20150529IP_Y_tf.txt'); data_YF0=[data_YF0(:,1),data_YF0(:,2),data_YF0(:,4)]; bodesusplotmeascmp(sysc0,'actLF0','LVDT_LF0',freq1,data_LF0,... 'ylim',[1e-4,1e1],'calibration',gain_act_LF0,'unit1','1',... 'title','Transfer function from actLF0 to LF0'); export_fig('figure/typeB1proto_TFcmp_LF0_150616.pdf') bodesusplotmeascmp(sysc0,'actTF0','LVDT_TF0',freq1,data_TF0,... 'ylim',[1e-4,1e1],'calibration',gain_act_TF0,'unit1','1',... 'title','Transfer function from actTF0 to TF0'); export_fig('figure/typeB1proto_TFcmp_TF0_150616.pdf') bodesusplotmeascmp(sysc0,'actYF0','LVDT_YF0',freq1,data_YF0,... 'ylim',[1e-4,1e1],'calibration',gain_act_YF0,'unit1','1',... 'title','Transfer function from actYF0 to YF0'); export_fig('figure/typeB1proto_TFcmp_YF0_150616.pdf') %% TRANSFER FUNCTION IM data_LIM=importdata('measurement/20150525IM_L_tf_ap.txt'); data_LIM=[data_LIM(:,1),data_LIM(:,2),data_LIM(:,3)]; data_TIM=importdata('measurement/20150525IM_T_tf_ap.txt'); data_TIM=[data_TIM(:,1),data_TIM(:,8),data_TIM(:,9)]; data_VIM=importdata('measurement/20150525IM_V_tf_ap.txt'); data_VIM=[data_VIM(:,1),data_VIM(:,10),data_VIM(:,11)]; data_RIM=importdata('measurement/20150525IM_R_tf_ap.txt'); data_RIM=[data_RIM(:,1),data_RIM(:,6),data_RIM(:,7)]; data_PIM=importdata('measurement/20150525IM_P_tf_ap.txt'); data_PIM=[data_PIM(:,1),data_PIM(:,4),data_PIM(:,5)]; data_YIM=importdata('measurement/20150525IM_Y_tf_ap.txt'); data_YIM=[data_YIM(:,1),data_YIM(:,12),data_YIM(:,13)]; bodesusplotmeascmp(sysc0,'actLIM','OSEM_LIM',freq2,data_LIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_LIM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_LIM_150616.pdf') bodesusplotmeascmp(sysc0,'actTIM','OSEM_TIM',freq2,data_TIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_TIM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_TIM_150616.pdf') bodesusplotmeascmp(sysc0,'actVIM','OSEM_VIM',freq2,data_VIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_VIM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_VIM_150616.pdf') bodesusplotmeascmp(sysc0,'actRIM','OSEM_RIM',freq2,data_RIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_RIM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_RIM_150616.pdf') bodesusplotmeascmp(sysc0,'actPIM','OSEM_PIM',freq2,data_PIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_PIM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_PIM_150616.pdf') bodesusplotmeascmp(sysc0,'actYIM','OSEM_YIM',freq2,data_YIM,... 'ylim',[1e-6,1e2],'calibration',gain_act_YIM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_YIM_150616.pdf') %% TRANSFER FUNCTION TM data_LTM=importdata('measurement/20150525TM_L_tf_ap.txt'); data_LTM=[data_LTM(:,1),data_LTM(:,2),data_LTM(:,3)]; data_PTM=importdata('measurement/20150525TM_P_tf_ap.txt'); data_PTM=[data_PTM(:,1),data_PTM(:,4),data_PTM(:,5)]; data_YTM=importdata('measurement/20150525TM_Y_tf_ap.txt'); data_YTM=[data_YTM(:,1),data_YTM(:,6),data_YTM(:,7)]; bodesusplotmeascmp(sysc0,'actLTM','OSEM_LTM',freq2,data_LTM,... 'ylim',[1e-6,1e2],'calibration',gain_act_LTM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_LTM_150616.pdf') bodesusplotmeascmp(sysc0,'actPTM','OSEM_PTM',freq2,data_PTM,... 'ylim',[1e-6,1e2],'calibration',gain_act_PTM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_PTM_150616.pdf') bodesusplotmeascmp(sysc0,'actYTM','OSEM_YTM',freq2,data_YTM,... 'ylim',[1e-6,1e2],'calibration',gain_act_YTM,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_YTM_150616.pdf') %% TRANSFER FUNCTION GAS data_VF0=importdata('measurement/20150525GAS_F0_tf_ap.txt'); data_VF0=[data_VF0(:,1),data_VF0(:,2),data_VF0(:,3)]; data_VF1=importdata('measurement/20150525GAS_F1_tf_ap.txt'); data_VF1=[data_VF1(:,1),data_VF1(:,4),data_VF1(:,5)]; bodesusplotmeascmp(sysc0,'actVF0','LVDT_VF0',freq1,data_VF0,... 'ylim',[1e-4,1e2],'calibration',gain_act_VF0,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_VF0_150616.pdf') bodesusplotmeascmp(sysc0,'actVF1','LVDT_VF1',freq1,data_VF1,... 'ylim',[1e-4,1e2],'calibration',gain_act_VF1,'unit1','1'); export_fig('figure/typeB1proto_TFcmp_VF1_150616.pdf')