diff --git a/Analisys_With_Features.m b/Analisys_With_Features.m index b998a1e96091d701dbbca178c4dde7f1c9bf0a60..138fa7f9f1c6662095e132d2624e53ffb22880a2 100644 --- a/Analisys_With_Features.m +++ b/Analisys_With_Features.m @@ -57,13 +57,13 @@ clc MMX0 = MMX0./units.sfVec; % Analysis initial state vector - St0 = [MMX0; Ph0; pars.I2; pars.bias]; + % St0 = [MMX0; Ph0; pars.I2; pars.bias]; St0 = [MMX0; Ph0(1:4); Ph0(7:8); pars.I2; pars.bias]; pars.X0_reference = [MMX0; Ph0; pars.I2; pars.bias]; % Est0.dx = zeros(size(St0,1),1); % pars.flag_FILTERING = 0; - Est0.dx = St0*1e-6; + Est0.dx = St0.*randn(size(St0))*1e-6; pars.flag_FILTERING = 1; Est0.X = St0+Est0.dx; Est0.P0 = pars.P0; @@ -79,8 +79,8 @@ clc % ma con l'aggiunta delle features crascha perchè non trova features % comuni tra i vari sigmapoints. - % pars.alpha = 1; - % pars.beta = 2; + pars.alpha = 1; + pars.beta = 2; % [Est] = UKF_Tool(Est0,@Dynamics_MPHandMMX_Inertia,... % @Cov_Dynamics_Good, @Observables_model_with_Features,... % pars.R,YObs,pars,units,file_features); @@ -96,6 +96,7 @@ clc % [Est] = UKF_features(Est0, @SigmaPoints_Dynamics_Good,... % @Observables_model_with_Features,... % pars.R,YObs,pars,units,file_features); + pars.alpha = 1e-1; pars.beta = 2; [Est] = UKF_features(Est0, @SigmaPoints_Dynamics_Good_NoPhi,... diff --git a/Mars_LimbRange.m b/Mars_LimbRange.m index ee039da050bf2dfb1016c923d7777a2f8950a94e..3962de9f211bd9dd15d8adfa36f4f4ff7567efb6 100644 --- a/Mars_LimbRange.m +++ b/Mars_LimbRange.m @@ -50,6 +50,12 @@ function Limb_Range = Mars_LimbRange(MMX, Phobos, Sun, pars, units) Mars_centre = zeros(3,1) - Phobos(1:3); Mars_centre = R_ini*R2rot'*Mars_centre; +% Phobos pole position in the Phobos rotating frame + Phobos_pole = [0; 0; -pars.Phobos.gamma]; + Phobos_pole = R_ini*Phobos_pole; + Phobos_centre = zeros(3,1); + Phobos_centre = R_ini*Phobos_centre; + % Sunlight direction in the rotating reference frame Sun = R2rot*Sun(1:3); I_Sun = Sun/norm(Sun); @@ -57,20 +63,26 @@ function Limb_Range = Mars_LimbRange(MMX, Phobos, Sun, pars, units) angle_MMXSun = acos(dot(I_sM,I_Sun)); [~, ~, PM] = ProjMatrix(-r_sb_Ph, pars, units); - MP = PM*[-Mars_pole; 1]; - MP = MP./repmat(MP(3),3,1); - MC = PM*[-Mars_centre; 1]; - MC = MC./repmat(MC(3),3,1); + MP = PM*[-Mars_pole; 1]; + MP = MP./repmat(MP(3),3,1); + MC = PM*[-Mars_centre; 1]; + MC = MC./repmat(MC(3),3,1); + + PhP = PM*[-Phobos_pole; 1]; + PhP = PhP./repmat(PhP(3),3,1); + PhC = PM*[-Phobos_centre; 1]; + PhC = PhC./repmat(PhC(3),3,1); if ((any(MC<0))||(any(MP<0))||((MC(1)>pars.cam.nPixX))||... (MP(1)>pars.cam.nPixX)||(MC(2)>pars.cam.nPixY)||... (MP(2)>pars.cam.nPixY))||(dot(r_sb_Ph, Mars_centre)>0)||... - ((dot(I_sM,I_Sun)<0)&&((angle_MMXSun-pi/2)<pars.FOV)) + ((dot(I_sM,I_Sun)<0)&&((angle_MMXSun-pi/2)<pars.FOV))||... + (PhP(2)<MP(2)*1.1) Limb_Range = []; else Limb_radius = MP - MC; Limb_Range = round(sqrt(Limb_radius(1)^2 + Limb_radius(2)^2) + random('Normal',0, pars.ObsNoise.pixel)); - % Plotfeatures_Pic(MC, MP, pars); + % Plotfeatures_Pic([MC, PhC], [MP, PhP], pars); end diff --git a/Observations_Generation.m b/Observations_Generation.m index b8845221768bcd3127c48e65edb816304709ede0..82af073e5710265584866c70300b4b009f9a9a15 100644 --- a/Observations_Generation.m +++ b/Observations_Generation.m @@ -30,7 +30,7 @@ clc % Time of the analysis data = '2026-03-16 00:00:00 (UTC)'; data = cspice_str2et(data); - Ndays = 7; + Ndays = 5; t = Ndays*86400; date_end = data+t; diff --git a/Phobos_cartesian_covariance.m b/Phobos_cartesian_covariance.m index 6d7c4b5254fccf7655233c2a365461051b9bde89..e9fbafd935923cfa0d334d976e3275ba18f125a7 100644 --- a/Phobos_cartesian_covariance.m +++ b/Phobos_cartesian_covariance.m @@ -72,7 +72,7 @@ function [P_PhXYZ, P_Xrel, P_PhVXYZ, P_Vrel, X_Phobos] = ... % P_t(7:10,7:10,i)*[dVdR(:,i), dVdR_dot(:,i), dVdtheta(:,i), dVdtheta_dot(:,i)]'; % % end -% + % % Correlation covariance MMX-Phobos % P_PhXYZ_MMX = zeros(3,3,size(X_t(9,:),2)); % P_MMX_PhXYZ = zeros(3,3,size(X_t(9,:),2)); @@ -110,8 +110,8 @@ function [P_PhXYZ, P_Xrel, P_PhVXYZ, P_Vrel, X_Phobos] = ... P_MMX_PhXYZ = zeros(6,6,size(X_t(9,:),2)); for i=1:size(X_t(9,:),2) - P_PhXYZ_MMX(:,:,i) = [dXdR(:,i), dXdtheta(:,i), zeros(3,2); dVdR(:,i), dVdR_dot(:,i), dVdtheta(:,i), dVdtheta_dot(:,i)]*P_t(7:10,1:6,i); - P_MMX_PhXYZ(:,:,i) = P_t(1:6,7:10,i)*[dXdR(:,i), dXdtheta(:,i), zeros(3,2); dVdR(:,i), dVdR_dot(:,i), dVdtheta(:,i), dVdtheta_dot(:,i)]'; + P_PhXYZ_MMX(:,:,i) = [dXdR(:,i), zeros(3,1), dXdtheta(:,i), zeros(3,1); dVdR(:,i), dVdR_dot(:,i), dVdtheta(:,i), dVdtheta_dot(:,i)]*P_t(7:10,1:6,i); + P_MMX_PhXYZ(:,:,i) = P_t(1:6,7:10,i)*[dXdR(:,i), zeros(3,1), dXdtheta(:,i), zeros(3,1); dVdR(:,i), dVdR_dot(:,i), dVdtheta(:,i), dVdtheta_dot(:,i)]'; end diff --git a/PlotGeometryAndLight.m b/PlotGeometryAndLight.m index 47f5b32cc8f5b2e4678dd73ec1010aeb8b011b43..2de708664367a9763fb46a71a8d0b84fdff97214 100644 --- a/PlotGeometryAndLight.m +++ b/PlotGeometryAndLight.m @@ -30,9 +30,9 @@ function PlotGeometryAndLight(points, point_in_light, visible, r_sb_Ph, r_PhSun, quiver3(r_sb_Ph(1),r_sb_Ph(2),r_sb_Ph(3),LOS(1)*units.lsf,LOS(2)*units.lsf,LOS(3)*units.lsf); end end - xlabel('X','FontSize',16,'Interpreter','latex') - ylabel('Y','FontSize',16,'Interpreter','latex') - zlabel('Z','FontSize',16,'Interpreter','latex') + xlabel('Radial [km]','FontSize',26,'Interpreter','latex') + ylabel('Along Track [km]','FontSize',26,'Interpreter','latex') + zlabel('Z [km]','FontSize',26,'Interpreter','latex') quiver3(-2*r_PhSun(1)*units.lsf,-2*r_PhSun(2)*units.lsf,-2*r_PhSun(3)*units.lsf,... r_PhSun(1)*units.lsf,r_PhSun(2)*units.lsf,r_PhSun(3)*units.lsf,'LineWidth',1.5,'Color','g') plot3(-2*r_PhSun(1)*units.lsf,-2*r_PhSun(2)*units.lsf,-2*r_PhSun(3)*units.lsf, '*','Color','g','MarkerSize',20) diff --git a/Results.m b/Results.m index dbe4138b881c4365482af6e3be12e3cb25bee9bc..df0739c0c4c3896befdddc1daaa2abfe008e2089 100644 --- a/Results.m +++ b/Results.m @@ -531,6 +531,29 @@ function Results(Est, pars, units) %-------------------------------------------------------------------------- + figure() + subplot(1,2,1) + semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_PhXYZ(1,1,1:end-1)))),'Color','b','LineWidth',1) + hold on; + grid on; + semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhXYZ(2,2,1:end-1)))),'Color','r','LineWidth',1) + semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhXYZ(3,3,1:end-1)))),'Color','g','LineWidth',1) + semilogy(t_obs(1:end-1)/3600,SQRT_X_Ph,'Color','k','LineWidth',2) + xlabel('time $[hour]$','FontSize',30) + ylabel('$[km]$','FontSize',30) + title('Phobos position vector $3\sigma$ envelopes','Interpreter','latex','FontSize',30) + legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',26) + subplot(1,2,2) + semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_PhVXYZ(1,1,1:end-1)))),'Color','b','LineWidth',1) + hold on; + grid on; + semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhVXYZ(2,2,1:end-1)))),'Color','r','LineWidth',1) + semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhVXYZ(3,3,1:end-1)))),'Color','g','LineWidth',1) + semilogy(t_obs(1:end-1)/3600,SQRT_V_Ph,'Color','k','LineWidth',2) + xlabel('time $[hour]$','FontSize',30) + ylabel('$[km]$','FontSize',30) + title('Phobos velocity vector $3\sigma$ envelopes','Interpreter','latex','FontSize',30) + legend('$3\sigma_{\dot{x}}$','$3\sigma_{\dot{y}}$','$3\sigma_{\dot{z}}$','$3 RMS$','Interpreter','latex','FontSize',26) figure() @@ -541,10 +564,10 @@ function Results(Est, pars, units) semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhXYZ(2,2,1:end-1)))),'Color','r','LineWidth',1) semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhXYZ(3,3,1:end-1)))),'Color','g','LineWidth',1) semilogy(t_obs(1:end-1)/3600,SQRT_X_Ph,'Color','k','LineWidth',2) - xlabel('time $[hour]$') - ylabel('$[km]$') + xlabel('time $[hour]$','FontSize',30) + ylabel('$[km]$','FontSize',30) title('Phobos position vector $3\sigma$ envelopes','Interpreter','latex','FontSize',30) - legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',26) subplot(1,3,2) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_PhVXYZ(1,1,1:end-1)))),'Color','b','LineWidth',1) hold on; @@ -552,10 +575,10 @@ function Results(Est, pars, units) semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhVXYZ(2,2,1:end-1)))),'Color','r','LineWidth',1) semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_PhVXYZ(3,3,1:end-1)))),'Color','g','LineWidth',1) semilogy(t_obs(1:end-1)/3600,SQRT_V_Ph,'Color','k','LineWidth',2) - xlabel('time $[hour]$') - ylabel('$[km]$') + xlabel('time $[hour]$','FontSize',30) + ylabel('$[km]$','FontSize',30) title('Phobos velocity vector $3\sigma$ envelopes','Interpreter','latex','FontSize',30) - legend('$3\sigma_{\dot{x}}$','$3\sigma_{\dot{y}}$','$3\sigma_{\dot{z}}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{\dot{x}}$','$3\sigma_{\dot{y}}$','$3\sigma_{\dot{z}}$','$3 RMS$','Interpreter','latex','FontSize',26) subplot(1,3,3) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_rel_MMXPh(1,1,1:end-1)))),'Color','b','LineWidth',1) hold on; @@ -563,10 +586,10 @@ function Results(Est, pars, units) semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_rel_MMXPh(2,2,1:end-1)))),'Color','r','LineWidth',1) semilogy(t_obs(1:end-1)/3600,3*squeeze(real(sqrt(P_rel_MMXPh(3,3,1:end-1)))),'Color','g','LineWidth',1) semilogy(t_obs(1:end-1)/3600,SQRT_X_rel,'Color','k','LineWidth',2) - xlabel('time $[hour]$') - ylabel('$[km]$') + xlabel('time $[hour]$','FontSize',30) + ylabel('$[km]$','FontSize',30) title('MMX-Phobos relative distance $3\sigma$ envelopes','Interpreter','latex','FontSize',30) - legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',26) figure() @@ -580,7 +603,7 @@ function Results(Est, pars, units) xlabel('time $[hour]$') ylabel('$[km]$') title('Phobos position vector $3\sigma$ envelopes','Interpreter','latex','FontSize',30) - legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',26) subplot(2,2,2) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_PhVXYZ(1,1,1:end-1)))),'Color','b','LineWidth',1) hold on; @@ -591,7 +614,7 @@ function Results(Est, pars, units) xlabel('time $[hour]$') ylabel('$[km]$') title('Phobos velocity vector $3\sigma$ envelopes','Interpreter','latex','FontSize',30) - legend('$3\sigma_{\dot{x}}$','$3\sigma_{\dot{y}}$','$3\sigma_{\dot{z}}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{\dot{x}}$','$3\sigma_{\dot{y}}$','$3\sigma_{\dot{z}}$','$3 RMS$','Interpreter','latex','FontSize',26) subplot(2,2,3) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_rel_MMXPh(1,1,1:end-1)))),'Color','b','LineWidth',1) hold on; @@ -602,7 +625,7 @@ function Results(Est, pars, units) xlabel('time $[hour]$') ylabel('$[km]$') title('MMX-Phobos relative distance $3\sigma$ envelopes','Interpreter','latex','FontSize',30) - legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{x}$','$3\sigma_{y}$','$3\sigma_{z}$','$3 RMS$','Interpreter','latex','FontSize',26) subplot(2,2,4) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_Vrel_MMXPh(1,1,1:end-1)))),'Color','b','LineWidth',1) hold on; @@ -613,7 +636,7 @@ function Results(Est, pars, units) xlabel('time $[hour]$') ylabel('$[km/s]$') title('MMX-Phobos relative velocity $3\sigma$ envelopes','Interpreter','latex','FontSize',30) - legend('$3\sigma_{\dot{x}}$','$3\sigma_{\dot{y}}$','$3\sigma_{\dot{z}}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{\dot{x}}$','$3\sigma_{\dot{y}}$','$3\sigma_{\dot{z}}$','$3 RMS$','Interpreter','latex','FontSize',26) @@ -646,7 +669,7 @@ function Results(Est, pars, units) xlabel('time $[hour]$') ylabel('$[km]$') title('Phobos position $3\sigma$ in RAC directions wrt Phobos position','Interpreter','latex','FontSize',30) - legend('$3\sigma_{radial}$','$3\sigma_{along}$','$3\sigma_{cross}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{radial}$','$3\sigma_{along}$','$3\sigma_{cross}$','$3 RMS$','Interpreter','latex','FontSize',26) subplot(1,3,2) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_MMX_RAC(1,1,1:end-1)))),'Color','b','LineWidth',1) hold on; @@ -657,7 +680,7 @@ function Results(Est, pars, units) xlabel('time $[hour]$') ylabel('$[km]$') title('MMX position $3\sigma$ in RAC directions wrt Phobos position','Interpreter','latex','FontSize',30) - legend('$3\sigma_{radial}$','$3\sigma_{along}$','$3\sigma_{cross}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{radial}$','$3\sigma_{along}$','$3\sigma_{cross}$','$3 RMS$','Interpreter','latex','FontSize',26) subplot(1,3,3) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(P_Rel_RAC(1,1,1:end-1)))),'Color','b','LineWidth',1) hold on; @@ -668,7 +691,7 @@ function Results(Est, pars, units) xlabel('time $[hour]$') ylabel('$[km]$') title('MMX position $3\sigma$ in RAC directions wrt Phobos position','Interpreter','latex','FontSize',30) - legend('$3\sigma_{radial}$','$3\sigma_{along}$','$3\sigma_{cross}$','$3 RMS$','Interpreter','latex','FontSize',14) + legend('$3\sigma_{radial}$','$3\sigma_{along}$','$3\sigma_{cross}$','$3 RMS$','Interpreter','latex','FontSize',26) @@ -697,21 +720,21 @@ end % hold on; corr_label{end+1} = ['$I_{PhX}$']; % xlabel('time $[hour]$') -% legend('$I_{PhX}$','Interpreter','latex','FontSize',14) +% legend('$I_{PhX}$','Interpreter','latex','FontSize',26) % subplot(1,3,2) % semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(Est.P_t(16,16,1:end-1)))),'LineWidth',1); % grid on; % hold on; corr_label{end+1} = ['$I_{PhY}$']; % xlabel('time $[hour]$') -% legend('$I_{PhY}$','Interpreter','latex','FontSize',14) +% legend('$I_{PhY}$','Interpreter','latex','FontSize',26) % subplot(1,3,3) % semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(Est.P_t(16,16,1:end-1)))),'LineWidth',1); % grid on; % hold on; corr_label{end+1} = ['$I_{PhZ}$']; % xlabel('time $[hour]$') -% legend('$I_{PhZ}$','Interpreter','latex','FontSize',14) +% legend('$I_{PhZ}$','Interpreter','latex','FontSize',26) %-------------------------------------------------------------------------- @@ -799,14 +822,14 @@ if size(Est.X_t,1) == 20 hold on; semilogy(t_obs(1:end-1)/3600,err_Css(1,1:end-1),'*','Color','b'); xlabel('time $[hour]$') - legend('$C_{20}$','Interpreter','latex','FontSize',14) + legend('$C_{20}$','Interpreter','latex','FontSize',26) subplot(1,2,2) semilogy(t_obs(1:end-1)/3600,3.*real(sqrt(P_t_C_22)),'LineWidth',1,'Color','r'); grid on; hold on; semilogy(t_obs(1:end-1)/3600,err_Css(2,1:end-1),'*','Color','r'); xlabel('time $[hour]$') - legend('$C_{22}$','Interpreter','latex','FontSize',14) + legend('$C_{22}$','Interpreter','latex','FontSize',26) figure() @@ -816,21 +839,21 @@ if size(Est.X_t,1) == 20 hold on; semilogy(t_obs(1:end-1)/3600,abs(Est.X_t(13,1:end-1)-pars.I2(1)),'*','Color','b'); xlabel('time $[hour]$') - legend('$I_{PhX}$','Interpreter','latex','FontSize',14) + legend('$I_{PhX}$','Interpreter','latex','FontSize',26) subplot(1,3,2) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(Est.P_t(14,14,1:end-1)))),'LineWidth',1,'Color','r'); grid on; hold on; semilogy(t_obs(1:end-1)/3600,abs(Est.X_t(14,1:end-1)-pars.I2(2)),'*','Color','r'); xlabel('time $[hour]$') - legend('$I_{PhY}$','Interpreter','latex','FontSize',14) + legend('$I_{PhY}$','Interpreter','latex','FontSize',26) subplot(1,3,3) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(Est.P_t(15,15,1:end-1)))),'LineWidth',1,'Color','g'); grid on; hold on; semilogy(t_obs(1:end-1)/3600,abs(Est.X_t(15,1:end-1)-pars.I2(3)),'*','Color','g'); xlabel('time $[hour]$') - legend('$I_{PhZ}$','Interpreter','latex','FontSize',14) + legend('$I_{PhZ}$','Interpreter','latex','FontSize',26) else @@ -840,13 +863,13 @@ if size(Est.X_t,1) == 20 grid on; hold on; xlabel('time $[hour]$') - legend('$C_{20}$','Interpreter','latex','FontSize',14) + legend('$C_{20}$','Interpreter','latex','FontSize',26) subplot(1,2,2) semilogy(t_obs(1:end-1)/3600,3.*real(sqrt(P_t_C_22)),'LineWidth',1,'Color','r'); grid on; hold on; xlabel('time $[hour]$') - legend('$C_{22}$','Interpreter','latex','FontSize',14) + legend('$C_{22}$','Interpreter','latex','FontSize',26) end @@ -879,14 +902,14 @@ else hold on; semilogy(t_obs(1:end-1)/3600,err_Css(1,1:end-1),'*','Color','b'); xlabel('time $[hour]$') - legend('$C_{20}$','Interpreter','latex','FontSize',14) + legend('$C_{20}$','Interpreter','latex','FontSize',26) subplot(1,2,2) semilogy(t_obs(1:end-1)/3600,3.*real(sqrt(P_t_C_22)),'LineWidth',1,'Color','r'); grid on; hold on; semilogy(t_obs(1:end-1)/3600,err_Css(2,1:end-1),'*','Color','r'); xlabel('time $[hour]$') - legend('$C_{22}$','Interpreter','latex','FontSize',14) + legend('$C_{22}$','Interpreter','latex','FontSize',26) figure() @@ -896,21 +919,21 @@ else hold on; semilogy(t_obs(1:end-1)/3600,abs(Est.X_t(15,1:end-1)-pars.I2(1)),'*','Color','b'); xlabel('time $[hour]$') - legend('$I_{PhX}$','Interpreter','latex','FontSize',14) + legend('$I_{PhX}$','Interpreter','latex','FontSize',26) subplot(1,3,2) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(Est.P_t(16,16,1:end-1)))),'LineWidth',1,'Color','r'); grid on; hold on; semilogy(t_obs(1:end-1)/3600,abs(Est.X_t(16,1:end-1)-pars.I2(2)),'*','Color','r'); xlabel('time $[hour]$') - legend('$I_{PhY}$','Interpreter','latex','FontSize',14) + legend('$I_{PhY}$','Interpreter','latex','FontSize',26) subplot(1,3,3) semilogy(t_obs(1:end-1)/3600,3.*squeeze(real(sqrt(Est.P_t(17,17,1:end-1)))),'LineWidth',1,'Color','g'); grid on; hold on; semilogy(t_obs(1:end-1)/3600,abs(Est.X_t(17,1:end-1)-pars.I2(3)),'*','Color','g'); xlabel('time $[hour]$') - legend('$I_{PhZ}$','Interpreter','latex','FontSize',14) + legend('$I_{PhZ}$','Interpreter','latex','FontSize',26) else @@ -920,13 +943,13 @@ else grid on; hold on; xlabel('time $[hour]$') - legend('$C_{20}$','Interpreter','latex','FontSize',14) + legend('$C_{20}$','Interpreter','latex','FontSize',26) subplot(1,2,2) semilogy(t_obs(1:end-1)/3600,3.*real(sqrt(P_t_C_22)),'LineWidth',1,'Color','r'); grid on; hold on; xlabel('time $[hour]$') - legend('$C_{22}$','Interpreter','latex','FontSize',14) + legend('$C_{22}$','Interpreter','latex','FontSize',26) end @@ -938,21 +961,21 @@ end % Correlations coefficients - [~,corr] = readCovMatrix(real(Est.P)); - - figure(); - imagesc(real(corr)) - title('Correlation Coefficients','FontSize',16); - set(gca,'FontSize',16); - colormap(hot); - colorbar; - set(gca,'TickLabelInterpreter','latex'); - set(gca,'XTick',(1:size(Est.X,1))); - set(gca,'XTickLabel',corr_label); - set(gca,'YTick',(1:size(Est.X,1))); - set(gca,'YTickLabel',corr_label); - axis square; - freezeColors; + % [~,corr] = readCovMatrix(real(Est.P)); + % + % figure(); + % imagesc(real(corr)) + % title('Correlation Coefficients','FontSize',16); + % set(gca,'FontSize',16); + % colormap(hot); + % colorbar; + % set(gca,'TickLabelInterpreter','latex'); + % set(gca,'XTick',(1:size(Est.X,1))); + % set(gca,'XTickLabel',corr_label); + % set(gca,'YTick',(1:size(Est.X,1))); + % set(gca,'YTickLabel',corr_label); + % axis square; + % freezeColors; end \ No newline at end of file diff --git a/YObs.mat b/YObs.mat index 93a5fc8823facdb279a5715a13c2379dd64dae15..c67140bb505a949fa5225d3554934badb37ebc20 100644 Binary files a/YObs.mat and b/YObs.mat differ diff --git a/visible_features_model.m b/visible_features_model.m index 61e08897de5d62de9da9c57248603f84260848d8..8bf7cb87ae55b349d37618e9f029f81d4f7db821 100644 --- a/visible_features_model.m +++ b/visible_features_model.m @@ -105,11 +105,11 @@ function [Y_LOS, Y_pix] = visible_features_model(MMX, Phobos, Sun, Phi, file_fea z_cam = cross(v, I)/norm(cross(v, I)); y_cam = cross(z_cam, I)/norm(cross(z_cam, I)); - angle_feat = acos(dot(I,-i_feat)); - angle_sun = acos(dot(I,r_PhSun)); - - - if (angle_feat<pars.FOV)&&(angle_sun>pars.FOV)&&(dot(r_sb_Ph, point_in_light(1:3,n))>0) + % angle_feat = acos(dot(I,-i_feat)); + % angle_sun = acos(dot(I,r_PhSun)); + % + % + % if (angle_feat<pars.FOV)&&(angle_sun>pars.FOV)&&(dot(r_sb_Ph, point_in_light(1:3,n))>0) k = 1; visible = [candidate, visible]; LOS_feat = [y_cam'; z_cam'] * r_sf/norm(r_sf) + [random('Normal',0, pars.ObsNoise.camera);... @@ -121,7 +121,7 @@ function [Y_LOS, Y_pix] = visible_features_model(MMX, Phobos, Sun, Phi, file_fea pix_feat = pix_feat./repmat(pix_feat(3),3,1); Y_pix = [[pix_feat(1:2); point_in_light(end,n)], Y_pix]; - end + % end end