Home > classes > @ssm > model_NSF_IS_readout.m

model_NSF_IS_readout

PURPOSE ^

defines a noise model for the inertial sensor

SYNOPSIS ^

function [sys, VERSION] = model_NSF_IS_readout

DESCRIPTION ^

 defines a noise model for the inertial sensor
 ONLY THE CONSTRUCTOR SHOULD CALL THIS PRIVATE FUNCTION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: model_Noise_IS_ro defines a noise model for the inertial
 sensor

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

 VERSION: $Id: $

 HISTORY: 01-04-2008 M Weyrich
 23-04-2008 A Grynagier
 
Parametric model of the IS RO Noise filter without bias, High Resolution Mode
TODO:  ->eventually check the PFD, or do it with MAPLE instead of residue
         function 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [sys, VERSION] = model_NSF_IS_readout
0002 % defines a noise model for the inertial sensor
0003 % ONLY THE CONSTRUCTOR SHOULD CALL THIS PRIVATE FUNCTION
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: model_Noise_IS_ro defines a noise model for the inertial
0007 % sensor
0008 %
0009 % CALL: [sys, VERSION] = model_Noise_IS_ro
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 IS RO Noise filter without bias, High Resolution Mode
0019 %TODO:  ->eventually check the PFD, or do it with MAPLE instead of residue
0020 %         function
0021 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0022 VERSION ='$Id:$';
0023 utils.helper.msg(utils.const.msg.MNAME, ['running ', mfilename]);
0024 
0025 %% creating ssm
0026 sys =ssm();
0027 
0028 % parameters in subsystem
0029 sys.paramnames = ...
0030     {'p_p1_N_ISro_x'  'p_p2_N_ISro_x'  'p_p3_N_ISro_x'  'p_g1_N_ISro_x'  'p_g2_N_ISro_x'  'p_g3_N_ISro_x'  'p_g4_N_ISro_x' ...
0031      'p_p1_N_ISro_y'  'p_p2_N_ISro_y'  'p_p3_N_ISro_y'  'p_g1_N_ISro_y'  'p_g2_N_ISro_y'  'p_g3_N_ISro_y'  'p_g4_N_ISro_y' ...
0032      'p_p1_N_ISro_z'  'p_p2_N_ISro_z'  'p_p3_N_ISro_z'  'p_g1_N_ISro_z'  'p_g2_N_ISro_z'  'p_g3_N_ISro_z'  'p_g4_N_ISro_z' ...
0033      'p_p1_N_ISro_t'  'p_p2_N_ISro_t'  'p_p3_N_ISro_t'  'p_g1_N_ISro_t'  'p_g2_N_ISro_t'  'p_g3_N_ISro_t'  'p_g4_N_ISro_t' ...
0034      'p_p1_N_ISro_e'  'p_p2_N_ISro_e'  'p_p3_N_ISro_e'  'p_g1_N_ISro_e'  'p_g2_N_ISro_e'  'p_g3_N_ISro_e'  'p_g4_N_ISro_e' ...
0035      'p_p1_N_ISro_p'  'p_p2_N_ISro_p'  'p_p3_N_ISro_p'  'p_g1_N_ISro_p'  'p_g2_N_ISro_p'  'p_g3_N_ISro_p'  'p_g4_N_ISro_p' ...
0036      'p_gDC_N_ISro_x' 'p_gDC_N_ISro_y' 'p_gDC_N_ISro_z' 'p_gDC_N_ISro_t' 'p_gDC_N_ISro_e' 'p_gDC_N_ISro_p'                 ...
0037     };
0038 sys.paramvalues = ...
0039     [ 0  0  0  0  0  0  0 ...
0040       0  0  0  0  0  0  0 ...
0041       0  0  0  0  0  0  0 ...
0042       0  0  0  0  0  0  0 ...
0043       0  0  0  0  0  0  0 ...
0044       0  0  0  0  0  0  0 ...
0045       0  0  0  0  0  0   ...
0046     ];
0047 sys.paramsigmas = ...
0048     [ 0  0  0  0  0  0  0 ...
0049       0  0  0  0  0  0  0 ...
0050       0  0  0  0  0  0  0 ...
0051       0  0  0  0  0  0  0 ...
0052       0  0  0  0  0  0  0 ...
0053       0  0  0  0  0  0  0 ...
0054       0  0  0  0  0  0   ...
0055     ];
0056 
0057 
0058 %% declaring symbolic parameters
0059 for i_params=1:length(sys.paramnames)
0060    cmd = [sys.paramnames{i_params}, '=sym(''', sys.paramnames{i_params},''');'];
0061    eval(cmd);
0062 end
0063 
0064 %%%%%%%%%%%%%%%%%%%%%%%%%% START BUILDING PARAMETRIC SUBSYTEM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0065 %  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0066 
0067 num1 =1.832e-9* conv( conv([1 0.0008],[1 0.0008]), [1 0.003]);
0068 den1 =conv( conv([1 8.0e-5],[1 8.0e-5]), [1 8.0e-5]);
0069 [r1,p1,k1] =residue(num1, den1);
0070 A1 =[p1(3)+p_p1_N_ISro_x       1                    0                 ;...
0071       0                         p1(2)+p_p2_N_ISro_x  1                 ;...
0072       0                         0                    p1(1)+p_p3_N_ISro_x ];
0073 B1 =[ 0; 0; 1];
0074 C1 =[r1(3)+p_g1_N_ISro_x  r1(2)+p_g2_N_ISro_x  r1(1)+p_g3_N_ISro_x];
0075 D1 =k1+p_g4_N_ISro_x;
0076 
0077 
0078 num2 =1.751e-9* conv( conv([1 0.0008],[1 0.0008]), [1 0.003]);
0079 den2 =conv( conv([1 8.0e-5],[1 8.0e-5]), [1 8.0e-5]);
0080 [r2,p2,k2] =residue(num2, den2);
0081 A2 =[p2(3)+p_p1_N_ISro_y       1                    0                 ;...
0082       0                         p2(2)+p_p2_N_ISro_y  1                 ;...
0083       0                         0                    p2(1)+p_p3_N_ISro_y ];
0084 B2 =[ 0; 0; 1];
0085 C2 =[r2(3)+p_g1_N_ISro_y  r2(2)+p_g2_N_ISro_y  r2(1)+p_g3_N_ISro_y];
0086 D2 =k2+p_g4_N_ISro_y;
0087 
0088 
0089 num3 =2.876e-9* conv( conv([1 0.0008],[1 0.0008]), [1 0.003]);
0090 den3 =conv( conv([1 0.00019],[1 0.00019]), [1 0.00019]);
0091 [r3,p3,k3] =residue(num3, den3);
0092 A3 =[p3(3)+p_p1_N_ISro_z       1                    0                 ;...
0093       0                         p3(2)+p_p2_N_ISro_z  1                 ;...
0094       0                         0                    p3(1)+p_p3_N_ISro_z ];
0095 B3 =[ 0; 0; 1];
0096 C3 =[r3(3)+p_g1_N_ISro_z  r3(2)+p_g2_N_ISro_z  r3(1)+p_g3_N_ISro_z];
0097 D3 =k3+p_g4_N_ISro_z;
0098 
0099 num4 =1.126e-7* conv( conv([1 0.0008],[1 0.0008]), [1 0.003]);
0100 den4 =conv( conv([1 8.0e-5],[1 8.0e-5]), [1 8.0e-5]);
0101 [r4,p4,k4] =residue(num4, den4);
0102 A4 =[p4(3)+p_p1_N_ISro_t       1                    0                 ;...
0103       0                         p4(2)+p_p2_N_ISro_t  1                 ;...
0104       0                         0                    p4(1)+p_p3_N_ISro_t ];
0105 B4 =[ 0; 0; 1];
0106 C4 =[r4(3)+p_g1_N_ISro_t  r4(2)+p_g2_N_ISro_t  r4(1)+p_g3_N_ISro_t];
0107 D4 =k4+p_g4_N_ISro_t;
0108 
0109 num5 =1.886e-7* conv( conv([1 0.0008],[1 0.0008]), [1 0.003]);
0110 den5 =conv( conv([1 8.0e-5],[1 8.0e-5]), [1 8.0e-5]);
0111 [r5,p5,k5] =residue(num5, den5);
0112 A5 =[p5(3)+p_p1_N_ISro_e       1                    0                 ;...
0113       0                         p5(2)+p_p2_N_ISro_e  1                 ;...
0114       0                         0                    p5(1)+p_p3_N_ISro_e ];
0115 B5 =[ 0; 0; 1];
0116 C5 =[r5(3)+p_g1_N_ISro_e  r5(2)+p_g2_N_ISro_e  r5(1)+p_g3_N_ISro_e];
0117 D5 =k5+p_g4_N_ISro_e;
0118 
0119 num6 =1.643e-7* conv( conv([1 0.0008],[1 0.0008]), [1 0.003]);
0120 den6 =conv( conv([1 8.0e-5],[1 8.0e-5]), [1 8.0e-5]);
0121 [r6,p6,k6] =residue(num6, den6);
0122 A6 =[p6(3)+p_p1_N_ISro_p       1                    0                 ;...
0123       0                         p6(2)+p_p2_N_ISro_p  1                 ;...
0124       0                         0                    p6(1)+p_p3_N_ISro_p ];
0125 B6 =[ 0; 0; 1];
0126 C6 =[r6(3)+p_g1_N_ISro_p  r6(2)+p_g2_N_ISro_p  r6(1)+p_g3_N_ISro_p];
0127 D6 =k6+p_g4_N_ISro_p;
0128 
0129 A =blkdiag(A1, A2, A3, A4, A5, A6,  A1, A2, A3, A4, A5, A6);
0130 B_ISro_noise =blkdiag(B1, B2, B3, B4, B5, B6,  B1, B2, B3, B4, B5, B6);
0131 C =blkdiag(C1, C2, C3, C4, C5, C6,  C1, C2, C3, C4, C5, C6);
0132 D_ISro_noise =blkdiag(D1, D2, D3, D4, D5, D6,  D1, D2, D3, D4, D5, D6);
0133 
0134 %--------------------------------------------------------------------------
0135 B_ISro_DC =zeros(36,12);
0136 D_ISro_DC =eye(12)+ diag([p_gDC_N_ISro_x, p_gDC_N_ISro_y, p_gDC_N_ISro_z, p_gDC_N_ISro_t, p_gDC_N_ISro_e, p_gDC_N_ISro_p,...
0137                            p_gDC_N_ISro_x, p_gDC_N_ISro_y, p_gDC_N_ISro_z, p_gDC_N_ISro_t, p_gDC_N_ISro_e, p_gDC_N_ISro_p]);
0138 
0139 %%%%%%%%%%%%%%%%%%%%%%%%%% END BUILDING PARAMETRIC SUBSYTEM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0140 %  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0141 
0142 %% 1_ADDING MATRICES TO SUBSYSTEM SAVING STRUCTURE
0143 %= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
0144 
0145 sys.name = 'NSF_IS_readout';
0146 
0147 sys.amats    = {A};
0148 sys.bmats    = {B_ISro_noise B_ISro_DC};
0149 sys.cmats    = {C};
0150 sys.dmats    = {D_ISro_noise D_ISro_DC};
0151 sys.timestep = 0;
0152 
0153 sys.ssnames    = {'NSF_IS_readout'};
0154 sys.ssvarnames = {...
0155     {'s1_NSF_IS_ro' 's2_NSF_IS_ro' 's3_NSF_IS_ro' 's4_NSF_IS_ro' 's5_NSF_IS_ro' 's6_NSF_IS_ro' ...
0156      's7_NSF_IS_ro' 's8_NSF_IS_ro' 's9_NSF_IS_ro' 's10_NSF_IS_ro' 's11_NSF_IS_ro' 's12_NSF_IS_ro' ...
0157      's13_NSF_IS_ro' 's14_NSF_IS_ro' 's15_NSF_IS_ro' 's16_NSF_IS_ro' 's17_NSF_IS_ro' 's18_NSF_IS_ro' ...
0158      's19_NSF_IS_ro' 's20_NSF_IS_ro' 's21_NSF_IS_ro' 's22_NSF_IS_ro' 's23_NSF_IS_ro' 's24_NSF_IS_ro' ...
0159      's25_NSF_IS_ro' 's26_NSF_IS_ro' 's27_NSF_IS_ro' 's28_NSF_IS_ro' 's29_NSF_IS_ro' 's30_NSF_IS_ro' ...
0160      's31_NSF_IS_ro' 's32_NSF_IS_ro' 's33_NSF_IS_ro' 's34_NSF_IS_ro' 's35_NSF_IS_ro' 's36_NSF_IS_ro' ...
0161     }};
0162 
0163 sys.inputnames    = {'Noise_IS_readout' 'DC_IS_readout'};
0164 sys.inputvarnames = ...
0165     {{'n_x1_IS_ro' 'n_y1_IS_ro' 'n_z1_IS_ro' 'n_theta1_IS_ro' 'n_eta1_IS_ro' 'n_phi1_IS_ro' ...
0166       'n_x2_IS_ro' 'n_y2_IS_ro' 'n_z2_IS_ro' 'n_theta2_IS_ro' 'n_eta2_IS_ro' 'n_phi2_IS_ro'}...
0167      {'DC_x1_IS_ro' 'DC_y1_IS_ro' 'DC_z1_IS_ro' 'DC_theta1_IS_ro' 'DC_eta1_IS_ro' 'DC_phi1_IS_ro' ...
0168       'DC_x2_IS_ro' 'DC_y2_IS_ro' 'DC_z2_IS_ro' 'DC_theta2_IS_ro' 'DC_eta2_IS_ro' 'DC_phi2_IS_ro'}...
0169     };
0170 
0171 sys.outputnames    = {'Dist_IS_readout'};
0172 sys.outputvarnames = ...
0173     {{'Dist_x1_IS_ro' 'Dist_y1_IS_ro' 'Dist_z1_IS_ro'  'Dist_theta1_IS_ro' 'Dist_eta1_IS_ro' 'Dist_phi1_IS_ro' ...
0174      'Dist_x2_IS_ro' 'Dist_y2_IS_ro' 'Dist_z2_IS_ro'  'Dist_theta2_IS_ro' 'Dist_eta2_IS_ro' 'Dist_phi2_IS_ro' }};
0175 
0176 
0177 end

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