diff --git a/CMakeLists.txt b/CMakeLists.txt index 77205a2..93b7967 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,7 +62,7 @@ ADD_DEFINITIONS( -fstack-protector-all -g3 - -O0 + -O2 -march=native -DWITH_TESTS diff --git a/main.cpp b/main.cpp index cf47317..6c08a20 100755 --- a/main.cpp +++ b/main.cpp @@ -785,7 +785,7 @@ void paperOutputs() { } /** plot wifi eval results */ - if (1 == 1) { + if (1 == 0) { WiFiFingerprints fps; fps.load(Settings::fCalib); @@ -1254,11 +1254,11 @@ int main(void) { Floorplan::IndoorMap* map = Floorplan::Reader::readFromFile(Settings::fMap); - plotAllWalks(map); + //plotAllWalks(map); - //compareAll(); + //compareAll(); - return 0; + //return 0; //testWAF(); //sleep(1); @@ -1266,7 +1266,7 @@ int main(void) { //const float rssi = LogDistanceModel::distanceToRssi(-100, 0, 999); //int i = 0; (void) i; - paperOutputs(); return 0; + // paperOutputs(); return 0; //showFingerprintsFor(Settings::fMap, Settings::fCalib, "D8:84:66:4A:4A:D0"); //showModelFor(Settings::fMap, Settings::wifiEachOptParPos_multimodel, "D8:84:66:4A:4A:D0"); @@ -1455,7 +1455,7 @@ int main(void) { // wifi vs ground-truth distance error - if (1 == 0) { + if (1 == 1) { std::vector files = { Settings::path1a, Settings::path1b, @@ -1486,9 +1486,26 @@ int main(void) { std::cout << "num scans: " << numScans << std::endl; - // stats as table + // different VAP settings if (1 == 1) { + EvalWiFiPaths ewp(Settings::fMap); + + ewp.vap->setMinOccurences(2); + ewp.loadModel(Settings::wifiEachOptPar, "0"); + ewp.walks(files, gtIndices); + + ewp.vap->setMinOccurences(0); + ewp.loadModel(Settings::wifiEachOptPar, "1"); + ewp.walks(files, gtIndices); + + sleep(10000); + + } + + // stats as table + if (1 == 0) { + EvalWiFiPaths ewp(Settings::fMap); ewp.loadModel(Settings::wifiAllFixed, "0"); ewp.walks(files, gtIndices); @@ -1514,7 +1531,7 @@ int main(void) { } // stats as GFX - if (1 == 1) { + if (1 == 0) { EvalWiFiPaths ewp(Settings::fMap); ewp.loadModel(Settings::wifiAllFixed, "\\noOptEmpiric{}"); diff --git a/tex/chapters/experiments.tex b/tex/chapters/experiments.tex index 727f44a..fb3d507 100755 --- a/tex/chapters/experiments.tex +++ b/tex/chapters/experiments.tex @@ -542,10 +542,15 @@ Removing this (valid) information will increase the error for such situations. However, incorporating additional knowledge provided by virtual \docAP{}s (see section \ref{sec:vap}) mitigated this issues. - If only one out of six virtual networks is seen, this observation is likely to be erroneous, no matter - what the corresponding signal strength indicates. This approach improved the location estimation especially - for areas where a transmitter was hardly seen within the reference measurements and its optimization is thus - expected to be inaccurate. + If e.g. only one out of six virtual networks is seen, this observation is likely to be erroneous, no matter + what the corresponding signal strength indicates. + As those occasions are relatively seldom, the impact is a minor one. + Nevertheless, depending on the used prediction model, a handful of major estimation errors were prevented. + Additionally, among all examined models and walks, there was none where this approached lead to increased error values. + + %This approach improved the location estimation especially + %for areas where a transmitter was hardly seen within the reference measurements and its optimization is thus + %expected to be inaccurate. Using a smaller $\sigma$ or a stricter exponential distribution for the model vs. scan comparison in \refeq{eq:wifiProb} had a positive effect on the misclassification error for some of the walks, but also slightly increased the overall estimation error. diff --git a/wifi/EvalWiFiPaths.h b/wifi/EvalWiFiPaths.h index f28c1c1..cd6fbfc 100755 --- a/wifi/EvalWiFiPaths.h +++ b/wifi/EvalWiFiPaths.h @@ -42,7 +42,7 @@ /** evaluate just the wifi error for several given paths */ class EvalWiFiPaths { -private: +public: Floorplan::IndoorMap* map; BBox3 mapBBox;