Skip to content

Commit cc01ecf

Browse files
committed
Kalman filter completed
1 parent cd45a0d commit cc01ecf

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

Kalman-filter/Kalman.m

+17-8
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@
120120
error_cometido(k) = sqrt( error_2d(1)^2 + error_2d(2)^2 ); %Expresamos el error en formato cuadrático
121121

122122
% Error cometido estimado
123-
sigmax = P(1,1); % Elemento 1 de la diagonal
124-
sigmay = P(2,2); % Elemento 2 de la diagonal
123+
sigmax = xp(5); % Elemento 1 de la diagonal
124+
sigmay = xp(10); % Elemento 2 de la diagonal
125125
error_estimado(k) = sqrt(sigmax^2 + sigmay^2);
126126

127127
orbita(:,k) = xp(1:2); %Guardamos el valor estimado de la órbita
@@ -133,33 +133,42 @@
133133
k = k + 1;
134134
end
135135

136-
%Comparar la desviación estándar del ruido de medida con la desviación
137-
%estándar del error entre rk y rk_est
138-
% Radio original
139-
136+
%% Comparación de desviaciones típicas
137+
%Desviación estándar del error entre rk y rk_est
138+
desv_estandar = sqrt((mean(r_orig - r_est).^2) / length(r_orig));
139+
% Desviación estándar del ruido de medida
140+
desv_estandar_v = sqrt(variables.sig2v);
141+
% Se obtiene mayor desviación estándar para el ruido de medida ya que,
142+
% realmente, el ruido de medida sólo está afectando a la estimación del
143+
% radio cuando se toma una medida, es decir, cada 3 h, para las demás
144+
% iteraciones del filtro se realizan estimaciones
145+
146+
%% Comparación con las medidas del radio
140147
r_est_medidas(r_est_medidas == 0) = NaN;
141148
figure(1);
142149
plot(r_est_medidas,'*');
143150
hold on;
144151
plot(r_est);
145152
hold on;
146153
plot(r_orig)
154+
grid on
147155
title('Radio medido');
148156
legend('medidas de radio','radio estimado','radio verdadero')
149157

150-
% Comparación de las órbitas
158+
%% Comparación de las órbitas
151159
figure(2);
152160
plot(orbita(1,:),orbita(2,:))
153161
hold on
154162
plot(variables.Cxy_true(:, 1), variables.Cxy_true(:, 2))
155163
title('Comparación de órbitas')
156164
legend('Órbita estimada', 'Órbita real');
157165

158-
% Comparación del error cometido y el error estimado
166+
%% Comparación del error cometido y el error estimado
159167
figure(3);
160168
plot(error_cometido);
161169
hold on
162170
plot(error_estimado);
171+
grid on
163172
ylabel('Error');
164173
xlabel('Instante de medida');
165174
legend('Error cometido', 'Error estimado');

0 commit comments

Comments
 (0)