added tex

many changes/eval etc...
This commit is contained in:
2017-03-28 21:02:37 +02:00
parent 25e9b823eb
commit e718dc8cca
25 changed files with 4614 additions and 88 deletions

View File

@@ -27,6 +27,7 @@
#include "Structs.h"
#include "Plotty.h"
#include "CSV.h"
#include "Helper.h"
#include <unordered_set>
@@ -48,7 +49,7 @@ void plot(const K::SimpleHistogram& h) {
class EvalApOpt {
Floorplan::IndoorMap* map;
WiFiFingerprints* calib;
WiFiFingerprints calib;
VAPGrouper* vap;
WiFiOptimizer::LogDistCeiling* opt;
Floorplan::Ceilings ceilings;
@@ -63,13 +64,19 @@ public:
map = Floorplan::Reader::readFromFile(mapFile);
// load fingerprints
calib = new WiFiFingerprints(fpFile);
calib = WiFiFingerprints(fpFile);
calib = LeHelper::removeOutdoor(calib);
calib = LeHelper::removeStaircases(calib);
LeHelper::plot(map, calib);
// how to handle VAPs
vap = new VAPGrouper(VAPGrouper::Mode::LAST_MAC_DIGIT_TO_ZERO, VAPGrouper::Aggregation::AVERAGE);
// the optimizer
opt = new WiFiOptimizer::LogDistCeiling(map, *vap, *calib, WiFiOptimizer::LogDistCeiling::Mode::MEDIUM);
opt = new WiFiOptimizer::LogDistCeiling(map, *vap, calib, WiFiOptimizer::LogDistCeiling::Mode::MEDIUM);
// some ceiling calculations
ceilings = Floorplan::Ceilings(map);
@@ -115,6 +122,7 @@ public:
continue;
}
plot(result);
results.push_back(result);
dumpStats(result);
@@ -135,8 +143,10 @@ public:
}
// average error
std::cout << "OVERALL RESULT: " << std::endl;
std::cout << "error signed: " << statsSigned.asString() << std::endl;
std::cout << "error unsigned: " << statsAbs.asString() << std::endl;
std::cout << "--------------------------------------------------------" << std::endl;
// all APs known to the map but invisible during fingerprinting [should not happen]
std::unordered_set<MACAddress> mapUnseen = mapAPs;
@@ -212,7 +222,9 @@ public:
// }
// }
plot.plot();
if (1 == 0) {
plot.plot();
}
return;
}
@@ -224,7 +236,7 @@ public:
optStats.mac = mac;
const WiFiOptimizer::LogDistCeiling::APParams params = opt->optimize(mac, optStats.opt);
const std::vector<WiFiFingerprint> fps = calib->getFingerprintsFor(vap->getBaseMAC(mac));
const std::vector<WiFiFingerprint> fps = calib.getFingerprintsFor(vap->getBaseMAC(mac));
optStats.params = params;