re-calibrate based on new indoor data
This commit is contained in:
parent
514d27ca6e
commit
d90cf875df
|
|
@ -1,7 +1,7 @@
|
||||||
clear all;
|
clear all;
|
||||||
|
|
||||||
folder = 'calibration_data/new_indoor/';
|
folder = 'calibration_data/new_indoor/';
|
||||||
files = dir(folder);
|
files = dir(folder); files = files(3:end); % remove . and ..
|
||||||
targets = zeros(1, length(files));
|
targets = zeros(1, length(files));
|
||||||
for i = length(files):-1:1
|
for i = length(files):-1:1
|
||||||
if (~contains(files(i).name, 'result') ||...
|
if (~contains(files(i).name, 'result') ||...
|
||||||
|
|
@ -23,6 +23,7 @@ median_result = zeros(1, length(files));
|
||||||
mean_result = zeros(1, length(files));
|
mean_result = zeros(1, length(files));
|
||||||
all_data = [];
|
all_data = [];
|
||||||
figure(1); clf; hold on;
|
figure(1); clf; hold on;
|
||||||
|
% figure(2); clf; hold on;
|
||||||
for i = 1:length(files)
|
for i = 1:length(files)
|
||||||
filename = [folder, files(i).name];
|
filename = [folder, files(i).name];
|
||||||
|
|
||||||
|
|
@ -34,17 +35,18 @@ for i = 1:length(files)
|
||||||
data = fscanf(fileID, formatSpec, [9 Inf]);
|
data = fscanf(fileID, formatSpec, [9 Inf]);
|
||||||
fclose(fileID);
|
fclose(fileID);
|
||||||
if isempty(data)
|
if isempty(data)
|
||||||
data = readtable(filename);
|
data = readtable(filename, 'ReadVariableNames', 0);
|
||||||
if isempty(data)
|
if isempty(data)
|
||||||
continue
|
continue
|
||||||
end
|
end
|
||||||
caliDist = table2array(data(:, 2))';
|
data = data(2:end, :);
|
||||||
rawRTT = table2array(data(:, 3))';
|
caliDist = str2double(table2array(data(:, 2)))';
|
||||||
rawRTTVar = table2array(data(:, 4))';
|
rawRTT = str2double(table2array(data(:, 3)))';
|
||||||
rawDist = table2array(data(:, 5))';
|
rawRTTVar = str2double(table2array(data(:, 4)))';
|
||||||
rawDistVar = table2array(data(:, 6))';
|
rawDist = str2double(table2array(data(:, 5)))';
|
||||||
rssi = table2array(data(:, 7))';
|
rawDistVar = str2double(table2array(data(:, 6)))';
|
||||||
time = table2array(data(:, 8))';
|
rssi = str2double(table2array(data(:, 7)))';
|
||||||
|
time = str2double(table2array(data(:, 8)))';
|
||||||
else
|
else
|
||||||
% get rid of invalid data
|
% get rid of invalid data
|
||||||
data(:, data(7, :) ~= 0) = [];
|
data(:, data(7, :) ~= 0) = [];
|
||||||
|
|
@ -61,6 +63,11 @@ for i = 1:length(files)
|
||||||
fprintf('* std: %.2f (uncalibrated)\n', std(rawDist));
|
fprintf('* std: %.2f (uncalibrated)\n', std(rawDist));
|
||||||
|
|
||||||
figure(1); cdfplot(rawDist);
|
figure(1); cdfplot(rawDist);
|
||||||
|
% figure(2);
|
||||||
|
% scatter3(...
|
||||||
|
% sqrt(rawDistVar),...
|
||||||
|
% rssi,...
|
||||||
|
% rawDist - targets(i));
|
||||||
|
|
||||||
all_data = [...
|
all_data = [...
|
||||||
all_data,...
|
all_data,...
|
||||||
|
|
@ -95,7 +102,7 @@ end
|
||||||
% size(all_data, 2));
|
% size(all_data, 2));
|
||||||
|
|
||||||
|
|
||||||
figure(2); clf; hold on;
|
figure(3); clf; hold on;
|
||||||
scatter(all_data(1, :), all_data(2, :), 'b.');
|
scatter(all_data(1, :), all_data(2, :), 'b.');
|
||||||
plot(median_result, targets, 'r', 'LineWidth', 2)
|
plot(median_result, targets, 'r', 'LineWidth', 2)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,6 @@ def main():
|
||||||
'--cali',
|
'--cali',
|
||||||
nargs=2,
|
nargs=2,
|
||||||
default=(0.9376, 558.0551),
|
default=(0.9376, 558.0551),
|
||||||
# default=(0.9234, 534.7103),
|
|
||||||
type=float,
|
type=float,
|
||||||
help="calibrate final result"
|
help="calibrate final result"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ def main():
|
||||||
p.add_argument(
|
p.add_argument(
|
||||||
'--cali',
|
'--cali',
|
||||||
nargs=2,
|
nargs=2,
|
||||||
# default=(0.9234, 534.7103), # indoor
|
# default=(0.9376, 558.0551), # indoor
|
||||||
default=(0.8324, 583.7435), # outdoor
|
default=(0.8324, 583.7435), # outdoor
|
||||||
type=float,
|
type=float,
|
||||||
help="calibrate final result"
|
help="calibrate final result"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue