0001 function [sys, VERSION] = model_NSF_Interferometer_readout
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 VERSION ='$Id:$';
0024 utils.helper.msg(utils.const.msg.MNAME, ['running ', mfilename]);
0025
0026
0027 sys = ssm ;
0028
0029
0030 sys.paramnames = ...
0031 {'p_p1_N_Lro_x' 'p_p2_N_Lro_x' 'p_g1_N_Lro_x' 'p_g2_N_Lro_x' 'p_g3_N_Lro_x'...
0032 'p_p1_N_Lro_e' 'p_p2_N_Lro_e' 'p_g1_N_Lro_e' 'p_g2_N_Lro_e' 'p_g3_N_Lro_e'...
0033 'p_p1_N_Lro_p' 'p_p2_N_Lro_p' 'p_g1_N_Lro_p' 'p_g2_N_Lro_p' 'p_g3_N_Lro_p'...
0034 'p_gDC_N_Lro_x' 'p_gDC_N_Lro_e' 'p_gDC_N_Lro_p' ...
0035 };
0036 sys.paramvalues = ...
0037 [0 0 0 0 0 ...
0038 0 0 0 0 0 ...
0039 0 0 0 0 0 ...
0040 0 0 0 ...
0041 ];
0042 sys.paramsigmas = ...
0043 [0 0 0 0 0 ...
0044 0 0 0 0 0 ...
0045 0 0 0 0 0 ...
0046 0 0 0 ...
0047 ];
0048
0049
0050
0051 for i_params=1:length(sys.paramnames)
0052 cmd = [sys.paramnames{i_params}, '=sym(''', sys.paramnames{i_params},''');'];
0053 eval(cmd);
0054 end
0055
0056
0057
0058
0059 num1 =2e-11* conv([1 0.02],[1 0.02]);
0060 den1 =conv([1 0.0002],[1 0.0002]);
0061 [r1,p1,k1] =residue(num1, den1);
0062 A1 =[p1(2)+p_p1_N_Lro_x 1 ;...
0063 0 p1(1)+p_p2_N_Lro_x ];
0064 B1 =[ 0; 1];
0065 C1 =[r1(2)+p_g1_N_Lro_x r1(1)+p_g2_N_Lro_x ];
0066 D1 =k1+p_g3_N_Lro_x;
0067
0068
0069 num2 =2e-8* conv([1 0.02],[1 0.02]);
0070 den2 =conv([1 0.0002],[1 0.0002]);
0071 [r2,p2,k2] =residue(num2, den2);
0072 A2 =[p2(2)+p_p1_N_Lro_e 1 ;...
0073 0 p2(1)+p_p2_N_Lro_e ];
0074 B2 =[ 0; 1];
0075 C2 =[r2(2)+p_g1_N_Lro_e r2(1)+p_g2_N_Lro_e ];
0076 D2 =k2+p_g3_N_Lro_e;
0077
0078
0079 num3 =2e-8* conv([1 0.02],[1 0.02]);
0080 den3 =conv([1 0.0002],[1 0.0002]);
0081 [r3,p3,k3] =residue(num3, den3);
0082 A3 =[p3(2)+p_p1_N_Lro_p 1 ;...
0083 0 p3(1)+p_p2_N_Lro_p ];
0084 B3 =[ 0; 1];
0085 C3 =[r3(2)+p_g1_N_Lro_p r3(1)+p_g2_N_Lro_p ];
0086 D3 =k3+p_g3_N_Lro_p;
0087
0088 A =blkdiag(A1, A2, A3, A1, A2, A3);
0089 B_Laser_ro_noise =blkdiag(B1, B2, B3, B1, B2, B3);
0090 C =blkdiag(C1, C2, C3, C1, C2, C3);
0091 D_Laser_ro_noise =blkdiag(D1, D2, D3, D1, D2, D3);
0092
0093
0094 B_Laser_ro_DC =zeros(12,6);
0095 D_Laser_ro_DC =eye(6) + diag([p_gDC_N_Lro_x, p_gDC_N_Lro_e, p_gDC_N_Lro_p, p_gDC_N_Lro_x, p_gDC_N_Lro_e, p_gDC_N_Lro_p]);
0096
0097
0098
0099
0100
0101
0102 sys.name = 'NSF_Interferometer_readout';
0103
0104 sys.amats = {A};
0105 sys.bmats = {B_Laser_ro_noise B_Laser_ro_DC};
0106 sys.cmats = {C};
0107 sys.dmats = {D_Laser_ro_noise D_Laser_ro_DC};
0108 sys.timestep = 0;
0109
0110 sys.ssnames = {'NSF_Interferometer_readout'};
0111
0112 sys.inputnames = {'Noise_Ifo_readout' 'DC_Ifo_readout'};
0113 sys.inputvarnames = ...
0114 {{'n_x_Ifo_ro' 'n_eta1_Ifo_ro' 'n_phi1_Ifo_ro' 'n_dx_Ifo_ro' 'n_eta2_Ifo_ro' 'n_phi2_Ifo_ro' }...
0115 {'DC_x_Ifo_ro' 'DC_eta1_Ifo_ro' 'DC_phi1_Ifo_ro' 'DC_dx_Ifo_ro' 'DC_eta2_Ifo_ro' 'DC_phi2_Ifo_ro' }...
0116 };
0117
0118 sys.outputnames = {'Dist_Ifo_readout'};
0119 sys.outputvarnames = ...
0120 {{'Dist_x1_Ifo_ro' 'Dist_eta1_Ifo_ro' 'Dist_phi1_Ifo_ro' 'Dist_dx_Ifo_ro' 'Dist_eta2_Ifo_ro' 'Dist_phi2_Ifo_ro' }};
0121
0122 end
0123