misc backup

This commit is contained in:
HappyZ 2018-02-14 12:03:24 -06:00
parent d06eb344e9
commit 9f36baa83c
2 changed files with 71 additions and 31 deletions

View File

@ -1,6 +1,6 @@
% clear all; %close all;
folder = 'calibration_data/new_indoor/';
folder = 'calibration_data/outdoor/';
files = dir(folder); files = files(3:end); % remove . and ..
targets = zeros(1, length(files));
for i = length(files):-1:1
@ -54,6 +54,8 @@ for i = 1:length(files)
data(:, data(7, :) ~= 0) = [];
data(:, data(9, :) < -1000) = [];
rawDist = data(9, :);
rawDistVar = zeros(size(rawDist));
rssi = zeros(size(rawDist));
end
mean_result(i) = mean(rawDist);
@ -67,6 +69,9 @@ for i = 1:length(files)
fprintf('* std: %.2f (uncalibrated)\n', std(rawDist));
figure(1); cdfplot(rawDist);
diffs_each = param_linear(1) * rawDist + param_linear(2) - targets(i);
pd = fitdist(diffs_each(~isnan(diffs_each))', 'Normal');
fit_pd_each(i) = pd;
% figure(2);
% scatter3(...
% sqrt(rawDistVar),...
@ -162,6 +167,15 @@ fprintf(' parabolic mode: %.6f\n', mstd_parabolic);
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_1517706881.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_1517706976.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_1517707172.txt')];
%
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_r_1517706433.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_r_1517706537.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_r_1517706636.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_r_1517706737.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_r_1517706835.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_r_1517706930.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_outdoor/result_walking_3800_to_100cm_r_1517707073.txt')];
% pd = fitdist(diffs(~isnan(diffs))', 'Normal');
% prob_fit = cdf(pd, diffs(~isnan(diffs))');
% figure(10); clf; hold on;
@ -171,17 +185,24 @@ fprintf(' parabolic mode: %.6f\n', mstd_parabolic);
% title('Distribution of Distance Err When Walking')
% legend('fitted \mu=53.5043, \sigma=72.1852', 'actual dist error', 'location', 'best')
% %
% diffs = [];
% diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693155.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693287.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693408.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693534.txt')];
%
diffs = [];
diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693155.txt')];
diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693287.txt')];
diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693408.txt')];
diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_1517693534.txt')];
pd = fitdist(diffs(~isnan(diffs))', 'Normal');
prob_fit = cdf(pd, diffs(~isnan(diffs))');
figure(11); clf; hold on;
scatter(diffs(~isnan(diffs))', prob_fit);
cdfplot(diffs); xlim([-200, 200])
xlabel('Distance Err (cm)')
title('Distribution of Distance Err When Walking')
legend('fitted \mu=28.8055, \sigma=50.1228', 'actual dist error', 'location', 'best')
% diffs = [];
% diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_r_1517693224.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_r_1517693350.txt')];
% diffs = [diffs, calibration_walking('calibration_data/walking_indoor/result_walking_3600_to_100cm_r_1517693475.txt')];
% pd = fitdist(diffs(~isnan(diffs))', 'Normal');
% prob_fit = cdf(pd, diffs(~isnan(diffs))');
% figure(11); clf; hold on;
% scatter(diffs(~isnan(diffs))', prob_fit);
% cdfplot(diffs); xlim([-200, 200])
% xlabel('Distance Err (cm)')
% title('Distribution of Distance Err When Walking')
% legend('fitted \mu=28.8055, \sigma=50.1228', 'actual dist error', 'location', 'best')

View File

@ -5,8 +5,10 @@ function diffs = calibration_walking(filename)
startI = 100;
endI = 3600;
end
% param_linear = [0.8927,553.3157]; % outdoor
param_linear = [0.9376, 558.0551]; % indoor
% param_linear = [0.6927, 400.3157]; % medical_try_0b
% param_linear = [0.7927,483.3157]; % medical_try_1f
param_linear = [0.8927,553.3157]; % outdoor
% param_linear = [0.9376, 558.0551]; % indoor
data = readtable(filename, 'ReadVariableNames', 0);
data = data(2:end, :);
caliDist = str2double(table2array(data(:, 2)))';
@ -16,9 +18,20 @@ function diffs = calibration_walking(filename)
rawDistVar = str2double(table2array(data(:, 6)))';
rssi = str2double(table2array(data(:, 7)))';
time = str2double(table2array(data(:, 8)))';
% clear invalid data
logistics = rawDist < -1000 | rawDist > 10000 | isnan(time);
caliDist(logistics) = [];
rawRTT(logistics) = [];
rawRTTVar(logistics) = [];
rawDist(logistics) = [];
rawDistVar(logistics) = [];
rssi(logistics) = [];
time(logistics) = [];
% normalize time
time = (time - time(1)) ./ (time(end) - time(1));
rawDist = movmean(rawDist, 10, 'omitnan');
rssi = movmean(rssi, 10, 'omitnan');
% rawDist = movmean(rawDist, 10, 'omitnan');
% rssi = movmean(rssi, 10, 'omitnan');
% for i = size(caliDist, 2) - 3: -4: 1
% rawDist(i) = nanmean(rawDist(i: i + 3));
% rawDist(i + 1: i + 3) = [];
@ -33,19 +46,25 @@ function diffs = calibration_walking(filename)
fprintf("** mean diff: %.4f cm\n", nanmean(diffs));
fprintf("** median diff: %.4f cm\n", nanmedian(diffs));
figure(1); clf;
figure(1); % clf;
scatter3(time, dist, rssi); hold on; scatter(time, dist, '.')
plot([time(1), time(end)], [startI, endI]); view([0, 90]);
if contains(filename, '_r_')
title('back')
else
title('front')
end
% plot([time(1), time(end)], [startI, endI]);
view([0, 90]);
% if contains(filename, '_r_')
% title('back')
% figure(9); hold on;
% plot(flip((time - time(1)) ./ (time(end) - time(1))), rssi)
% else
% title('front')
% figure(9); hold on;
% plot(((time - time(1)) ./ (time(end) - time(1))), rssi)
% end
figure(2); hold on;
pd = fitdist(diffs(~isnan(diffs))', 'Normal')
prob_fit = cdf(pd, diffs(~isnan(diffs))');
scatter(diffs(~isnan(diffs))', prob_fit);
cdfplot(diffs);
% histogram(diffs, 'BinWidth', 1, 'Normalization', 'pdf');
% figure(2); clf; hold on;
% pd = fitdist(diffs(~isnan(diffs))', 'Normal')
% prob_fit = cdf(pd, diffs(~isnan(diffs))');
% scatter(diffs(~isnan(diffs))', prob_fit);
% cdfplot(diffs);
% % histogram(diffs, 'BinWidth', 1, 'Normalization', 'pdf');
end