diff --git a/MMX_Fcn_CovarianceAnalyses/New_MMX_CovarianceAnalysisParameters.m b/MMX_Fcn_CovarianceAnalyses/New_MMX_CovarianceAnalysisParameters.m
index 33884d83e4475722ae1acca2984bbcab8623d857..711573167df0486fe8f2e481d69454d1fb05b7ec 100644
--- a/MMX_Fcn_CovarianceAnalyses/New_MMX_CovarianceAnalysisParameters.m
+++ b/MMX_Fcn_CovarianceAnalyses/New_MMX_CovarianceAnalysisParameters.m
@@ -38,9 +38,9 @@ pars.ObsNoise.range     = 5e-3/units.lsf;         % [km]
 pars.ObsNoise.range_rate= 5e-7/units.vsf;         % [km/s]
 pars.ObsNoise.lidar     = 1e-2/units.lsf;         % [km]
 
-FOV     = 45*pi/180;
+pars.FOV     = deg2rad(45);
 pixels  = 2048;
-pars.ObsNoise.camera    = FOV/pixels;               % [rad/pixel]
+pars.ObsNoise.camera    = pars.FOV/pixels;               % [rad/pixel]
 
 % Useful to adimensionalize the observables
 units.Observations = [units.lsf; units.vsf; units.lsf; units.vsf; units.lsf; units.vsf; units.lsf; 1; 1];
diff --git a/MMX_Fcn_CovarianceAnalyses/RealPhobos_States_NewModel.m b/MMX_Fcn_CovarianceAnalyses/RealPhobos_States_NewModel.m
new file mode 100644
index 0000000000000000000000000000000000000000..f7501103c35b98b0857af6404a7f018556c3f854
--- /dev/null
+++ b/MMX_Fcn_CovarianceAnalyses/RealPhobos_States_NewModel.m
@@ -0,0 +1,60 @@
+function [Ph, par] = RealPhobos_States_NewModel(data,par)
+
+    Phobos_0    = cspice_spkezr('401', data, 'MARSIAU', 'none', '499');
+   
+    r           = Phobos_0(1:3);
+    v           = Phobos_0(4:6);
+    h           = cross(r,v);
+    theta_dot   = norm(h)/norm(r)^2;
+    vr          = dot(r,v)/norm(r);
+   
+%   For the true anomaly I need to move to the orbit's plane
+    eh = h/norm(h);
+    ey = cross(v,h)/par.mu - r/norm(r);
+    ey = ey/norm(ey);
+    Y  = cross(eh,ey)/norm(cross(eh,ey));
+    par.MARSIAU2perifocal = [ey,Y,eh]';
+    par.perifocal2MARSIAU = par.MARSIAU2perifocal';
+
+    Ph_0    = par.MARSIAU2perifocal*Phobos_0(1:3);
+    theta   = atan2(Ph_0(2),Ph_0(1));
+
+    Ph_0_ORB    = cspice_spkezr('401', data, 'MARPHOFRZ', 'none', '499');
+    er          = -Ph_0_ORB(1:3)/norm(Ph_0_ORB(1:3));
+    eh          = cross(Ph_0_ORB(1:3),Ph_0_ORB(4:6))/...
+        norm(cross(Ph_0_ORB(1:3),Ph_0_ORB(4:6)));
+    ey          = cross(eh,er);
+    NO          = [er,ey,eh];
+    no          = [-er,cross(eh,-er),eh];
+    par.no      = no;
+
+%   Mars's libration angle
+    BN          = cspice_sxform('MARPHOFRZ','IAU_MARS',data);
+    BO          = BN(1:3,1:3)*no;
+    [Phi1,ea2,ea3]  = cspice_m2eul(BO,3,2,1);
+
+    Wtilde      = -BN(4:6, 1:3)*BN(1:3, 1:3)';
+    w_BN        = [-Wtilde(2,3); Wtilde(1,3); -Wtilde(1,2)];
+    w_BO        = w_BN - BO*[0; 0; theta_dot];
+    Phi1_dot    = (sin(ea3)*w_BO(2) + cos(ea3)*w_BO(3))/cos(ea2);
+
+    
+%   Phobos's libration angle
+    par.PB = [0.999240107370417        0.0378550984643587       0.00928436010779999
+            -0.0379006415569816          0.99927008291848       0.00477940934253335
+            -0.00909665828350325      -0.00512766070913186         0.999945477465509];
+
+    BN          = cspice_sxform('MARPHOFRZ','IAU_PHOBOS',data);
+    R_In2PhPA   = par.PB*BN(1:3,1:3);
+    BO          = R_In2PhPA*NO;
+    [Phi2,ea2,ea3]  = cspice_m2eul(BO,3,2,1);
+
+    Wtilde      = -BN(4:6, 1:3)*BN(1:3, 1:3)';
+    w_BN        = [-Wtilde(2,3); Wtilde(1,3); -Wtilde(1,2)];
+    w_BO        = w_BN - BO*[0; 0; theta_dot];
+    Phi2_dot    = (sin(ea3)*w_BO(2) + cos(ea3)*w_BO(3))/cos(ea2);
+
+%   New state model
+    Ph = [norm(r); vr; theta; theta_dot; Phi1; Phi1_dot; Phi2; Phi2_dot];
+
+end
\ No newline at end of file
diff --git a/Model_Check/TestIntegrWithMMXInertia.m b/Model_Check/TestIntegrWithMMXInertia.m
index d055970a63640be4fc6963be515482c2ab047127..eda2d5d7e5c447115fc744976a2c7e2b1d8c4e2c 100644
--- a/Model_Check/TestIntegrWithMMXInertia.m
+++ b/Model_Check/TestIntegrWithMMXInertia.m
@@ -19,9 +19,9 @@ clc
     MMX_InitializeSPICE
     cspice_furnsh('MARPHOFRZ.txt');
     cspice_furnsh(which('mar097.bsp'));
-%     cspice_furnsh(which('MMX_QSO_094_2x2_826891269_831211269.bsp'));
-%     cspice_furnsh(which('MMX_3DQSO_094_009_2x2_826891269_828619269.bsp'));
-    cspice_furnsh(which('MMX_SwingQSO_049_000_2x2_826891269_828619269.bsp'));
+%     cspice_furnsh(which('MMX_QSO_027_2x2_826891269_831211269.bsp'));
+%     cspice_furnsh(which('MMX_3DQSO_027_009_2x2_826891269_828619269.bsp'));
+    cspice_furnsh(which('MMX_SwingQSO_027_007_2x2_826891269_831211269.bsp'));
     cspice_furnsh(which('Phobos_826891269_828619269.bsp'));
     
 %   Model parameters
@@ -55,7 +55,7 @@ clc
     
 %   Integration
     day     = 24*3600;
-    tspan   = (0:100:.5*day)*units.tsf;
+    tspan   = (0:100:5*day)*units.tsf;
     RelTol  = 1e-13;
     AbsTol  = 1e-16; 
     opt     = odeset('RelTol',RelTol,'AbsTol',AbsTol,'event', @(t,X) landing_Phobos(t,X,par,units));
diff --git a/Model_Check/TestIntegratorNew.m b/Model_Check/TestIntegratorNew.m
index 593553e791be724d0425e90213595f774eb3ba16..18b99f5b3af1dc4e5b64bac20785bd3b32478a82 100644
--- a/Model_Check/TestIntegratorNew.m
+++ b/Model_Check/TestIntegratorNew.m
@@ -17,7 +17,6 @@ clc
     addpath(genpath('../MMX_Product/MMX_FullEphemeris_BSP_Files/'));
     MMX_InitializeSPICE
     cspice_furnsh(which('mar097.bsp'));
-    cspice_furnsh(which('QSO_22000m_2026_03_15.bsp'));
     cspice_furnsh('MARPHOFRZ.txt');
 
 %   Windows
diff --git a/Reference_Definition/BSP_generator.m b/Reference_Definition/BSP_generator.m
index ad23f8105a0779fe573ad59f3925d033911c5591..ce74f4a86794d501481872ac1efcad26fe9b7f2d 100644
--- a/Reference_Definition/BSP_generator.m
+++ b/Reference_Definition/BSP_generator.m
@@ -32,7 +32,7 @@ clc
     startdate   = '2026-03-16 00:00:00 (UTC)';
     data        = cspice_str2et(startdate);
     par.et0     = data;
-    [Ph, par]   = Phobos_States_NewModel(data,par);
+    [Ph, par]   = RealPhobos_States_NewModel(data,par);
     
 %   QSO-H
 %     load("QSO-H_20rev.mat")
diff --git a/Reference_Definition/BSP_generator_3D.m b/Reference_Definition/BSP_generator_3D.m
index 033cc3b280f2017e354f3a58ad25789d17083346..acffbf41771a548cabd3fc7a6d2c33dfaf7864cc 100644
--- a/Reference_Definition/BSP_generator_3D.m
+++ b/Reference_Definition/BSP_generator_3D.m
@@ -31,7 +31,7 @@ clc
     startdate   = '2026-03-16 00:00:00 (UTC)';
     data        = cspice_str2et(startdate);
     par.et0     = data;
-    [Ph, par]   = Phobos_States_NewModel(data,par);
+    [Ph, par]   = RealPhobos_States_NewModel(data,par);
 
 % %   3DQSO-Lb
 %     load("3dQSO-Lb.mat")
diff --git a/Reference_Definition/BSP_generator_Swing.m b/Reference_Definition/BSP_generator_Swing.m
index fb8c7e09993f4cc7e5d3f08859478654f0303059..fa783392c39e53b5be42b606fffac5cb47522a96 100644
--- a/Reference_Definition/BSP_generator_Swing.m
+++ b/Reference_Definition/BSP_generator_Swing.m
@@ -32,17 +32,17 @@ clc
     startdate   = '2026-03-16 00:00:00 (UTC)';
     data        = cspice_str2et(startdate);
     par.et0     = data;
-    [Ph, par]   = Phobos_States_NewModel(data,par);
+    [Ph, par]   = RealPhobos_States_NewModel(data,par);
 
 % %   SwingQSO-Lb
-%     load("SwingQSO-Lb.mat")
+    load("SwingQSO-Lb.mat")
 
 % %   If MMX comes from the optimization
-%     X_MMX   = X_good(1:6,1);
+    X_MMX   = X_good(1:6,1);
 
 %   If MMX comes from a .bsp file
-    cspice_furnsh(which('MMX_SwingQSO_031_011_2x2_826891269_828619269.bsp'));
-    X_MMX   = cspice_spkezr('-34', data, 'MARSIAU', 'none', '499')./units.sfVec;
+%     cspice_furnsh(which('MMX_SwingQSO_031_011_2x2_826891269_828619269.bsp'));
+%     X_MMX   = cspice_spkezr('-34', data, 'MARSIAU', 'none', '499')./units.sfVec;
 
 %   Initial Phobos's state vector
     Ph0     = Ph./units.sfVec2;
@@ -95,7 +95,7 @@ clc
         system(command);
     end
     
-    MMX_GenerateBSPFiles_GravLib(t, Xmmx, XPh, 'SwingQSO', [31, 11], period_Def, Model, micePATH)
+    MMX_GenerateBSPFiles_GravLib(t, Xmmx, XPh, 'SwingQSO', [27, 7], period_Def, Model, micePATH)
 
 
 %%  Test risultati
diff --git a/Reference_Definition/Constraints.m b/Reference_Definition/Constraints.m
index e8c53032884d740c60c15ef945b94609a4821337..1ee35f91ea78cae9ad12b55efa504ace7ee3c38b 100644
--- a/Reference_Definition/Constraints.m
+++ b/Reference_Definition/Constraints.m
@@ -3,7 +3,7 @@ function [c, ceq] = Constraints(X,Geom,data,X_patch)
 
 
     [par, units]    = MMX_DefineNewModelParametersAndUnits;
-    [Ph, par]       = Phobos_States_NewModel(data,par);
+    [Ph, par]       = RealPhobos_States_NewModel(data,par);
     Ph              = Ph./units.sfVec2;
     par.Geom        = Geom;
 
diff --git a/Reference_Definition/Constraints_3DQSO.m b/Reference_Definition/Constraints_3DQSO.m
index 0709f4f55333e8c21ff2cb46a8a20abae246f76d..6928d297727cf9b10b617373ae6ac239f539d9d1 100644
--- a/Reference_Definition/Constraints_3DQSO.m
+++ b/Reference_Definition/Constraints_3DQSO.m
@@ -2,7 +2,7 @@ function [c, ceq] = Constraints_3DQSO(X,Geom,data,X_patch_PhRot,X_patch_MAIAU)
 
 
     [par, units]    = MMX_DefineNewModelParametersAndUnits;
-    [Ph, par]       = Phobos_States_NewModel(data,par);
+    [Ph, par]       = RealPhobos_States_NewModel(data,par);
     Ph              = Ph./units.sfVec2;
     par.Geom        = Geom;
 
diff --git a/Reference_Definition/Constraints_Swing.m b/Reference_Definition/Constraints_Swing.m
index 61bb799b117138cca5a4af154a70950ebf9bb80c..bea162926631d457f0ea3a653dc3991935811d08 100644
--- a/Reference_Definition/Constraints_Swing.m
+++ b/Reference_Definition/Constraints_Swing.m
@@ -1,7 +1,7 @@
 function [c, ceq] = Constraints_Swing(X,Geom,data,X_patch)
 
     [par, units]    = MMX_DefineNewModelParametersAndUnits;
-    [Ph, par]       = Phobos_States_NewModel(data,par);
+    [Ph, par]       = RealPhobos_States_NewModel(data,par);
     Ph              = Ph./units.sfVec2;
     par.Geom        = Geom;
 
diff --git a/Reference_Definition/CostFunction.m b/Reference_Definition/CostFunction.m
index ff51359f7916861f3e876d580b97ea31812609fd..e52ec2f50043d5f11df0a3e67b897f2eace4b08c 100644
--- a/Reference_Definition/CostFunction.m
+++ b/Reference_Definition/CostFunction.m
@@ -2,7 +2,7 @@ function DeltaV = CostFunction(X,Geom,data)
 
 
     [par, units]    = MMX_DefineNewModelParametersAndUnits;
-    [Ph, par]       = Phobos_States_NewModel(data,par);
+    [Ph, par]       = RealPhobos_States_NewModel(data,par);
     Ph              = Ph./units.sfVec2;
     par.Geom        = Geom;
 
diff --git a/Reference_Definition/PlotInCond.m b/Reference_Definition/PlotInCond.m
index 006c740cdd5bfda7a0590279fac50b2936994053..a694054108551128c3d906b2c759eed0a030847c 100644
--- a/Reference_Definition/PlotInCond.m
+++ b/Reference_Definition/PlotInCond.m
@@ -3,7 +3,7 @@ function stop = PlotInCond(x,~,~,Geom,data)
     stop = false;
 
     [par, units]    = MMX_DefineNewModelParametersAndUnits;
-    [Ph, par]       = Phobos_States_NewModel(data,par);
+    [Ph, par]       = RealPhobos_States_NewModel(data,par);
     Ph              = Ph./units.sfVec2;
     par.Geom        = Geom;
 
diff --git a/Reference_Definition/QSO3D_ContPoints_Definition.m b/Reference_Definition/QSO3D_ContPoints_Definition.m
index f891f0c1c5248d0fcde7f538954af914b2b2acc3..8300835cd3380400efa1252f0d55131008a429ed 100644
--- a/Reference_Definition/QSO3D_ContPoints_Definition.m
+++ b/Reference_Definition/QSO3D_ContPoints_Definition.m
@@ -105,7 +105,7 @@ clc
 
 %   Initial state
     data = cspice_str2et('2026-03-16, 00:00:00 (UTC)');
-    [Ph, par]   = Phobos_States_NewModel(data,par);
+    [Ph, par]   = RealPhobos_States_NewModel(data,par);
     Ph          = Ph./units.sfVec2;
     day         = 24*3600;
 
diff --git a/Reference_Definition/QSO_ContiPoints_Definition.m b/Reference_Definition/QSO_ContiPoints_Definition.m
index e381e5af608df3c6b20f48d1efede356b78a3631..c57a35c54764e94b7576db14f18e069a2b3067bf 100644
--- a/Reference_Definition/QSO_ContiPoints_Definition.m
+++ b/Reference_Definition/QSO_ContiPoints_Definition.m
@@ -138,7 +138,7 @@ clc
 
 %   Initial state
     data = cspice_str2et('2026-03-16, 00:00:00 (UTC)');
-    [Ph, par]   = Phobos_States_NewModel(data,par);
+    [Ph, par]   = RealPhobos_States_NewModel(data,par);
     Ph          = Ph./units.sfVec2;
     day         = 24*3600;
 
diff --git a/Reference_Definition/SwingQSO_ContiPoints_Definition.m b/Reference_Definition/SwingQSO_ContiPoints_Definition.m
index 5d181561e1fef5287c73c32b3ed40757fc9d533e..16fd8b095e800b3814e039914c4151df8c222485 100644
--- a/Reference_Definition/SwingQSO_ContiPoints_Definition.m
+++ b/Reference_Definition/SwingQSO_ContiPoints_Definition.m
@@ -103,7 +103,7 @@ clc
 
 %   Initial state
     data = cspice_str2et('2026-03-16, 00:00:00 (UTC)');
-    [Ph, par]   = Phobos_States_NewModel(data,par);
+    [Ph, par]   = RealPhobos_States_NewModel(data,par);
     Ph          = Ph./units.sfVec2;
     day         = 24*3600;