Refactored code to walk multiple runs

This commit is contained in:
2019-10-08 16:46:22 +02:00
parent 08be3e9af5
commit 8236069094
7 changed files with 130 additions and 78 deletions

View File

@@ -75,7 +75,7 @@ static void computeDensity(const BBox3& bbox, std::vector<std::pair<Point2, doub
int nucIndex = Settings::nucIndex(mac);
// compute AP distance
const Point3 apPos = Settings::data.CurrentPath.nucInfo(nucIndex).position;
const Point3 apPos = Settings::CurrentPath.nucInfo(nucIndex).position;
Point3 pos = Point3(pt.x, pt.y, 1.3); // smartphone h<>he
const float apDist = pos.getDistance(apPos);
@@ -83,7 +83,7 @@ static void computeDensity(const BBox3& bbox, std::vector<std::pair<Point2, doub
if (useFtm)
{
// compute ftm distance
float ftm_offset = Settings::data.CurrentPath.NUCs.at(mac).ftm_offset;
float ftm_offset = Settings::CurrentPath.NUCs.at(mac).ftm_offset;
float ftmDist = wifi.getFtmDist() + ftm_offset; // in m; plus static offset
dist = ftmDist;
@@ -91,7 +91,7 @@ static void computeDensity(const BBox3& bbox, std::vector<std::pair<Point2, doub
else
{
// compute rssi distance
float rssi_pathloss = Settings::data.CurrentPath.NUCs.at(mac).rssi_pathloss;
float rssi_pathloss = Settings::CurrentPath.NUCs.at(mac).rssi_pathloss;
float rssiDist = LogDistanceModel::rssiToDistance(-40, 2.25 /*rssi_pathloss*/, wifi.getRSSI());
dist = rssiDist;
@@ -187,10 +187,10 @@ static CombinedStats<float> run(Settings::DataSetup setup, int walkIdx, std::str
};
std::array<Point2, 4> apPositions{
Settings::data.CurrentPath.NUCs.at(Settings::NUC1).position.xy(),
Settings::data.CurrentPath.NUCs.at(Settings::NUC2).position.xy(),
Settings::data.CurrentPath.NUCs.at(Settings::NUC3).position.xy(),
Settings::data.CurrentPath.NUCs.at(Settings::NUC4).position.xy(),
Settings::CurrentPath.NUCs.at(Settings::NUC1).position.xy(),
Settings::CurrentPath.NUCs.at(Settings::NUC2).position.xy(),
Settings::CurrentPath.NUCs.at(Settings::NUC3).position.xy(),
Settings::CurrentPath.NUCs.at(Settings::NUC4).position.xy(),
};
std::vector<WiFiMeasurement> obs;
@@ -241,7 +241,7 @@ static CombinedStats<float> run(Settings::DataSetup setup, int walkIdx, std::str
plot.setCurEst(Point3(estPos.x, estPos.y, 0.1));
// Plot density
//plotDensity(plot, density);
plotDensity(plot, density);
// Error
distErrorFtm = gtPos.getDistance(estPos);
@@ -304,14 +304,14 @@ int mainProp(int argc, char** argv)
std::string evaluationName = "prologic/tmp";
for (size_t walkIdx = 0; walkIdx < Settings::data.CurrentPath.training.size(); walkIdx++)
for (size_t walkIdx = 0; walkIdx < Settings::CurrentPath.training.size(); walkIdx++)
{
std::cout << "Executing walk " << walkIdx << "\n";
for (int i = 0; i < 1; ++i)
{
std::cout << "Start of iteration " << i << "\n";
tmp = run(Settings::data.CurrentPath, walkIdx, evaluationName);
tmp = run(Settings::CurrentPath, walkIdx, evaluationName);
statsAVG.ftm.add(tmp.ftm.getAvg());
statsMedian.ftm.add(tmp.ftm.getMedian());