MCPcopy Create free account
hub / github.com/TUC-ProAut/libRSF / CreateData

Function CreateData

examples/Example_FG_Pseudorange.cpp:34–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32#include "Example_FG_Pseudorange.h"
33
34void CreateData (libRSF::SensorDataSet &RangeMeasurements)
35{
36 std::default_random_engine Generator(42);
37 std::normal_distribution<double> Distribution(0.0, STDDEV_RANGE);
38
39 libRSF::Vector1 Range, StdDev, SatID;
40 vector<libRSF::Vector2> SatPositions;
41 vector<libRSF::Vector2> EgoPositions;
42
43 StdDev << STDDEV_RANGE;
44
45 SatPositions.push_back((libRSF::Vector2() << 10, 10).finished());
46 SatPositions.push_back((libRSF::Vector2() << 10, -10).finished());
47 SatPositions.push_back((libRSF::Vector2() << -10, 10).finished());
48 SatPositions.push_back((libRSF::Vector2() << -10, -10).finished());
49
50 EgoPositions.push_back((libRSF::Vector2() << 0, 0).finished());
51 EgoPositions.push_back((libRSF::Vector2() << 1, 0).finished());
52 EgoPositions.push_back((libRSF::Vector2() << 1, 1).finished());
53
54 for (int i = 0; i < static_cast<int>(EgoPositions.size()); i++)
55 {
56 for (int j = 0; j < static_cast<int>(SatPositions.size()); j++)
57 {
58 Range[0] = (SatPositions.at(j) - EgoPositions.at(i)).norm() + Distribution(Generator) + OFFSET;
59 SatID << j;
60
61 libRSF::Data PseudorangeMasurement(libRSF::DataType::Pseudorange2, i);
62 PseudorangeMasurement.setMean(Range);
63 PseudorangeMasurement.setStdDevDiagonal(StdDev);
64 PseudorangeMasurement.setValue(libRSF::DataElement::SatPos, SatPositions.at(j));
65 PseudorangeMasurement.setValue(libRSF::DataElement::SatID, SatID);
66
67 RangeMeasurements.addElement(PseudorangeMasurement);
68 }
69 }
70}
71
72#ifndef TESTMODE // only compile main if not used in test context
73

Callers 1

mainFunction · 0.70

Calls 4

setValueMethod · 0.80
setMeanMethod · 0.45
setStdDevDiagonalMethod · 0.45
addElementMethod · 0.45

Tested by

no test coverage detected