Home > classes > @ssm > model_NSF_TM.m

model_NSF_TM

PURPOSE ^

defines a force noise TM applied on both Test masses

SYNOPSIS ^

function [sys, VERSION] = model_NSF_TM

DESCRIPTION ^

 defines a force noise TM applied on both Test masses
 ONLY THE CONSTRUCTOR SHOULD CALL THIS PRIVATE FUNCTION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: model_Noise_TM defines a force noise TM applied on both Test
 masses

 CALL: [sys, VERSION] = model_Noise_TM 
                         
 ***** There are no parameters *****

 VERSION: $Id: $

 HISTORY: 01-04-2008 M Weyrich
 23-04-2008 A Grynagier
 
Parametric model of the filter for force noise disturbance on TM (10%)
TODO: ->check if this state space repr. build through PFD in Maple is
        correct and probably numerical issues??
      ->check units, input m/s^2, cause LTP expects forces multiplied the
        gain factors with m_TM_0 =1.96 kg, I_TM_0(1,1) =6.912e-04 kgm^2
        respectively
      ->check the issue: 90% TM-SC, 10% TM, and multiplication by
        1/sqrt(2), this is done in the corresp. LTP input B-matrix
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [sys, VERSION] = model_NSF_TM
0002 % defines a force noise TM applied on both Test masses
0003 % ONLY THE CONSTRUCTOR SHOULD CALL THIS PRIVATE FUNCTION
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: model_Noise_TM defines a force noise TM applied on both Test
0007 % masses
0008 %
0009 % CALL: [sys, VERSION] = model_Noise_TM
0010 %
0011 % ***** There are no parameters *****
0012 %
0013 % VERSION: $Id: $
0014 %
0015 % HISTORY: 01-04-2008 M Weyrich
0016 % 23-04-2008 A Grynagier
0017 %
0018 %Parametric model of the filter for force noise disturbance on TM (10%)
0019 %TODO: ->check if this state space repr. build through PFD in Maple is
0020 %        correct and probably numerical issues??
0021 %      ->check units, input m/s^2, cause LTP expects forces multiplied the
0022 %        gain factors with m_TM_0 =1.96 kg, I_TM_0(1,1) =6.912e-04 kgm^2
0023 %        respectively
0024 %      ->check the issue: 90% TM-SC, 10% TM, and multiplication by
0025 %        1/sqrt(2), this is done in the corresp. LTP input B-matrix
0026 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0027 VERSION ='$Id:$';
0028 utils.helper.msg(utils.const.msg.MNAME, ['running ', mfilename]);
0029 
0030 %% creating ssm
0031 sys = ssm();
0032 
0033 % parameters in subsystem
0034 sys.paramnames = ...
0035     {'p_p1_N_TM_x'  'p_p2_N_TM_x'  'p_p3_N_TM_x'  'p_p4_N_TM_x'  'p_p5_N_TM_x'   ...
0036      'p_g1_N_TM_x'  'p_g2_N_TM_x'  'p_g3_N_TM_x'  'p_g4_N_TM_x'  'p_g5_N_TM_x'  'p_g6_N_TM_x' ...
0037      'p_p1_N_TM_y'  'p_p2_N_TM_y'  'p_p3_N_TM_y'  'p_p4_N_TM_y'  'p_p5_N_TM_y'   ...
0038      'p_g1_N_TM_y'  'p_g2_N_TM_y'  'p_g3_N_TM_y'  'p_g4_N_TM_y'  'p_g5_N_TM_y'  'p_g6_N_TM_y' ...
0039      'p_p1_N_TM_z'  'p_p2_N_TM_z'  'p_p3_N_TM_z'  'p_p4_N_TM_z'  'p_p5_N_TM_z'   ...
0040      'p_g1_N_TM_z'  'p_g2_N_TM_z'  'p_g3_N_TM_z'  'p_g4_N_TM_z'  'p_g5_N_TM_z'  'p_g6_N_TM_z' ...
0041      ...%---------------------------------------------------------------------------
0042      'p_p1_N_TM_t'  'p_p2_N_TM_t'  'p_p3_N_TM_t'  'p_p4_N_TM_t'    ...
0043      'p_g1_N_TM_t'  'p_g2_N_TM_t'  'p_g3_N_TM_t'  'p_g4_N_TM_t'  'p_g5_N_TM_t'   ...
0044      'p_p1_N_TM_e'  'p_p2_N_TM_e'  'p_p3_N_TM_e'  'p_p4_N_TM_e'    ...
0045      'p_g1_N_TM_e'  'p_g2_N_TM_e'  'p_g3_N_TM_e'  'p_g4_N_TM_e'  'p_g5_N_TM_e'   ...
0046      'p_p1_N_TM_p'  'p_p2_N_TM_p'  'p_p3_N_TM_p'  'p_p4_N_TM_p'    ...
0047      'p_g1_N_TM_p'  'p_g2_N_TM_p'  'p_g3_N_TM_p'  'p_g4_N_TM_p'  'p_g5_N_TM_p'   ...
0048       ...%---------------------------------------------------------------------------
0049      'p_gDC_N_TM_x' 'p_gDC_N_TM_y' 'p_gDC_N_TM_z'  'p_gDC_N_TM_t' 'p_gDC_N_TM_e' 'p_gDC_N_TM_p' ...
0050     };
0051 sys.paramvalues =  ...
0052     [0  0  0  0  0   ...
0053      0  0  0  0  0  0 ...
0054      0  0  0  0  0   ...
0055      0  0  0  0  0  0 ...
0056      0  0  0  0  0   ...
0057      0  0  0  0  0  0 ...
0058      ...%---------------------------------------------------------------------------
0059      0  0  0  0    ...
0060      0  0  0  0  0  ...
0061      0  0  0  0    ...
0062      0  0  0  0  0  ...
0063      0  0  0  0    ...
0064      0  0  0  0  0  ...
0065       ...%---------------------------------------------------------------------------
0066      0  0  0  0  0  0 ...
0067     ];
0068 sys.paramsigmas = ...
0069     [0  0  0  0  0   ...
0070      0  0  0  0  0  0 ...
0071      0  0  0  0  0   ...
0072      0  0  0  0  0  0 ...
0073      0  0  0  0  0   ...
0074      0  0  0  0  0  0 ...
0075      ...%---------------------------------------------------------------------------
0076      0  0  0  0    ...
0077      0  0  0  0  0  ...
0078      0  0  0  0    ...
0079      0  0  0  0  0  ...
0080      0  0  0  0    ...
0081      0  0  0  0  0  ...
0082       ...%---------------------------------------------------------------------------
0083      0  0  0  0  0  0 ...
0084     ];
0085 
0086 %% declaring symbolic parameters
0087 for i_params=1:length(sys.paramnames)
0088    cmd = [sys.paramnames{i_params}, '=sym(''', sys.paramnames{i_params},''');'];
0089    eval(cmd);
0090 end
0091 %%%%%%%%%%%%%%%%%%%%%%%%%% START BUILDING PARAMETRIC SUBSYTEM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0092 %  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0093 
0094  
0095 f = 0.1*1/sqrt(2); 
0096 f1 = f* 25/20.35*1.8164e-14;
0097 A1 =[-5e-5+p_p1_N_TM_x   1                  0                  0                    0              ;...
0098        0                 -5e-5+p_p2_N_TM_x   1                  0                    0              ;...
0099        0                  0                 -5e-5+p_p3_N_TM_x   0                    0              ;...
0100        0                  0                  0                 -4.5e-5+p_p4_N_TM_x   0              ;...
0101        0                  0                  0                  0                   -1e-4+p_p5_N_TM_x];
0102 B1 =[ 0; 0; 1; 1; 1];
0103 C1 =f1*[3.409875000e-9+p_g1_N_TM_x, 0.0004114874890+p_g2_N_TM_x, 91.66094784+p_g3_N_TM_x, -90.69787011+p_g4_N_TM_x, -0.9584727300+p_g5_N_TM_x];
0104 D1 =f1*(1+p_g6_N_TM_x) ;
0105 
0106 f2 = f*25/20.35*1.8106e-14;
0107 A2 =[-5e-5+p_p1_N_TM_y   1                  0                  0                    0              ;...
0108        0                 -5e-5+p_p2_N_TM_y   1                  0                    0              ;...
0109        0                  0                 -5e-5+p_p3_N_TM_y   0                    0              ;...
0110        0                  0                  0                 -4.5e-5+p_p4_N_TM_y   0              ;...
0111        0                  0                  0                  0                   -1e-4+p_p5_N_TM_y];
0112 B2 =[ 0; 0; 1; 1; 1];
0113 C2 =f2*[3.968625000e-9+p_g1_N_TM_y, 0.0004786624900+p_g2_N_TM_y, 106.6504479+p_g3_N_TM_y, -105.5263929+p_g4_N_TM_y, -1.119200000+p_g5_N_TM_y];
0114 D2 =f2*(1+p_g6_N_TM_y) ;
0115 
0116 f3 = f*25/20.35*1.8262e-13;
0117 A3 =[-5e-5+p_p1_N_TM_z   1                  0                  0                    0              ;...
0118        0                 -5e-5+p_p2_N_TM_z   1                  0                    0              ;...
0119        0                  0                 -5e-5+p_p3_N_TM_z   0                    0              ;...
0120        0                  0                  0                 -4.5e-5+p_p4_N_TM_z   0              ;...
0121        0                  0                  0                  0                   -1e-4+p_p5_N_TM_z];
0122 B3 =[ 0; 0; 1; 1; 1];
0123 C3 =f3*[2.322875000e-9+p_g1_N_TM_z, 0.0002807874940+p_g2_N_TM_z, 62.49814869+p_g3_N_TM_z, -61.84802733+p_g4_N_TM_z, -0.6460363600+p_g5_N_TM_z];
0124 D3 =f3*(1+p_g6_N_TM_z) ;
0125 
0126 f4 = f*25/20.35*1.2985e-11;
0127 A4 =[-9.5e-5+p_p1_N_TM_t   1                    0                   0              ;...
0128        0                   -9.5e-5+p_p2_N_TM_t   0                   0              ;...
0129        0                    0                   -9e-5+p_p3_N_TM_t    0              ;...
0130        0                    0                    0                  -1e-4+p_p4_N_TM_t];
0131 B4 =[ 0; 1; 1; 1 ];
0132 C4 =f4*[-0.001894924902+p_g1_N_TM_t, 38.36974950+p_g2_N_TM_t, 170.7544552+p_g3_N_TM_t, -209.1199847+p_g4_N_TM_t ];
0133 D4 =f4*(1+p_g5_N_TM_t) ;
0134 
0135 f5 = f*25/20.35*1.2932e-11;
0136 A5 =[-9.5e-5+p_p1_N_TM_e   1                    0                     0              ;...
0137        0                   -9.5e-5+p_p2_N_TM_e   1                     0              ;...
0138        0                    0                   -9.5e-5+p_p3_N_TM_e    0              ;...
0139        0                    0                    0                    -1e-4+p_p4_N_TM_e];
0140 B5 =[ 0; 0; 1; 1 ];
0141 C5 =f5*[8.897160875e-9+p_g1_N_TM_e, -0.001959277150+p_g2_N_TM_e, 392.6841350+p_g3_N_TM_e, -392.6800000+p_g4_N_TM_e ];
0142 D5 =f5*(1+p_g5_N_TM_e) ;
0143 
0144 f6 = f*25/20.35*2.5628e-12;
0145 A6 =[-9.5e-5+p_p1_N_TM_p   1                    0                     0              ;...
0146        0                   -9.5e-5+p_p2_N_TM_p   1                     0              ;...
0147        0                    0                   -9.5e-5+p_p3_N_TM_p    0              ;...
0148        0                    0                    0                    -1e-4+p_p4_N_TM_p];
0149 B6 =[ 0; 0; 1; 1 ];
0150 C6 =f6*[1.560165288e-8+p_g1_N_TM_p, -0.003439734350+p_g2_N_TM_p, 689.4850150+p_g3_N_TM_p, -689.4800000+p_g4_N_TM_p ];
0151 D6 =f6*(1+p_g5_N_TM_p) ;
0152 
0153 A =blkdiag(A1, A2, A3, A4, A5, A6,  A1, A2, A3, A4, A5, A6);
0154 B_TM_noise =blkdiag(B1, B2, B3, B4, B5, B6,  B1, B2, B3, B4, B5, B6);
0155 C =blkdiag(C1, C2, C3, C4, C5, C6,  C1, C2, C3, C4, C5, C6);
0156 D_TM_noise =blkdiag(D1, D2, D3, D4, D5, D6,  D1, D2, D3, D4, D5, D6);
0157 %----------------------------------------------------------------
0158 
0159 B_TM_DC =zeros(54,12);
0160 D_TM_DC =eye(12) + diag([p_gDC_N_TM_x, p_gDC_N_TM_y, p_gDC_N_TM_z, p_gDC_N_TM_t, p_gDC_N_TM_e, p_gDC_N_TM_p, ...
0161                           p_gDC_N_TM_x, p_gDC_N_TM_y, p_gDC_N_TM_z, p_gDC_N_TM_t, p_gDC_N_TM_e, p_gDC_N_TM_p ]);
0162 
0163 %%%%%%%%%%%%%%%%%%%%%%%%%% END BUILDING PARAMETRIC SUBSYTEM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0164 %  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0165 
0166 %% 1_ADDING MATRICES TO SUBSYSTEM SAVING STRUCTURE
0167 %= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
0168 
0169 sys.name = 'NSF_TM';
0170 
0171 sys.amats    = {A};
0172 sys.bmats    = {B_TM_noise  B_TM_DC};
0173 sys.cmats    = {C};
0174 sys.dmats    = {D_TM_noise  D_TM_DC};
0175 sys.timestep = 0;
0176 
0177 sys.ssnames    = {'NSF_TM'};
0178 
0179 sys.inputnames    = {'Noise_F_TM' 'DC_F_TM'};
0180 sys.inputvarnames = ...
0181     {{'n_fx1_TM' 'n_fy1_TM' 'n_fz1_TM' 'n_tx1_TM' 'n_ty1_TM' 'n_tz1_TM' ...
0182       'n_fx2_TM' 'n_fy2_TM' 'n_fz2_TM' 'n_tx2_TM' 'n_ty2_TM' 'n_tz2_TM'} ...
0183      {'DC_fx1_TM' 'DC_fy1_TM' 'DC_fz1_TM' 'DC_tx1_TM' 'DC_ty1_TM' 'DC_tz1_TM' ... 
0184       'DC_fx2_TM' 'DC_fy2_TM' 'DC_fz2_TM' 'DC_tx2_TM' 'DC_ty2_TM' 'DC_tz2_TM'}...
0185     };
0186 
0187 sys.outputnames    = {'Dist_F_TM'};
0188 sys.outputvarnames = ...
0189     {{'Dist_fx1_TM' 'Dist_fy1_TM' 'Dist_fz1_TM' 'Dist_tx1_TM' 'Dist_ty1_TM' 'Dist_tz1_TM' ...
0190      'Dist_fx2_TM' 'Dist_fy2_TM' 'Dist_fz2_TM' 'Dist_tx2_TM' 'Dist_ty2_TM' 'Dist_tz2_TM'}};
0191 
0192 end

Generated on Wed 27-Aug-2008 13:30:29 by m2html © 2003