How to improve accuracy?
5 views (last 30 days)
Show older comments
Attached is an example of deltas(difference between the observed and the truth). How can I improve by making these deltas or residuals smaller(approach to zero)
2 Comments
Answers (1)
Star Strider
on 15 Jul 2015
All the values are positive, leading me to believe they are absolute distances from some reference. You likely cannot improve the accuracy of any measurement, but you can reduce the error by averaging the ‘raw’ GPS readings (not the derived distances) over a small window, then deriving the distance and calculating the error. That will likely reduce it. You can never eliminate it entirely.
2 Comments
Star Strider
on 15 Jul 2015
I would use a moving-average filter with a short window on each of the (x,y,z) elements in your GPS data.
This code snippet illustrates the idea. You can use either filter (core MATLAB) or filtfilt (Signal Processing Toolbox) to do the moving-average filtering:
L = 100; % Data Record Length
v = 1:L;
xyz = randn(L, 3); % Hypothetical GPS Data (Lx3)
N = 5; % Moving Average Filter Length
filt_b = ones(1, N);
filt_a = N;
xyz_avg = filter(filt_b, filt_a, xyz);
xyz_dist = sqrt(sum(xyz.^2, 2)); % Sum Across Rows
xyz_avg_dist = sqrt(sum(xyz_avg.^2, 2)); % Sum Across Rows
figure(1)
plot(v, xyz_dist, v, xyz_avg_dist)
grid
xlabel('Observation #')
ylabel('Distance From Reference')
legend('Raw Data', 'Moving Average Of Data')
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!