Refactored code to walk multiple runs
This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user