Add constants namespace for speed of light, etc

This commit is contained in:
30hours 2024-01-20 12:43:31 +00:00
parent c37704457d
commit 3ccf6dc093
5 changed files with 25 additions and 10 deletions

View file

@ -15,6 +15,7 @@
#include "process/detection/Interpolate.h" #include "process/detection/Interpolate.h"
#include "process/spectrum/SpectrumAnalyser.h" #include "process/spectrum/SpectrumAnalyser.h"
#include "process/tracker/Tracker.h" #include "process/tracker/Tracker.h"
#include "data/meta/Constants.h"
#include <ryml/ryml.hpp> #include <ryml/ryml.hpp>
#include <ryml/ryml_std.hpp> // optional header, provided for std:: interop #include <ryml/ryml_std.hpp> // optional header, provided for std:: interop
@ -193,8 +194,8 @@ int main(int argc, char **argv)
tree["process"]["tracker"]["initiate"]["N"] >> n; tree["process"]["tracker"]["initiate"]["N"] >> n;
tree["process"]["tracker"]["delete"] >> nDelete; tree["process"]["tracker"]["delete"] >> nDelete;
tree["process"]["tracker"]["initiate"]["maxAcc"] >> maxAcc; tree["process"]["tracker"]["initiate"]["maxAcc"] >> maxAcc;
rangeRes = 299792458.0/fs; rangeRes = (double)Constants::c/fs;
lambda = 299792458.0/fc; lambda = (double)Constants::c/fc;
Tracker *tracker = new Tracker(m, n, nDelete, ambiguity->cpi_length_seconds(), maxAcc, rangeRes, lambda); Tracker *tracker = new Tracker(m, n, nDelete, ambiguity->cpi_length_seconds(), maxAcc, rangeRes, lambda);
// setup process spectrum analyser // setup process spectrum analyser

View file

@ -1,4 +1,5 @@
#include "Detection.h" #include "Detection.h"
#include "data/meta/Constants.h"
#include <iostream> #include <iostream>
#include <cstdlib> #include <cstdlib>
#include <chrono> #include <chrono>
@ -93,7 +94,7 @@ std::string Detection::delay_bin_to_km(std::string json, uint32_t fs)
document["delay"].Clear(); document["delay"].Clear();
for (int i = 0; i < delay.size(); i++) for (int i = 0; i < delay.size(); i++)
{ {
document["delay"].PushBack(1.0*delay[i]*(299792458/(double)fs)/1000, allocator); document["delay"].PushBack(1.0*delay[i]*(Constants::c/(double)fs)/1000, allocator);
} }
rapidjson::StringBuffer strbuf; rapidjson::StringBuffer strbuf;

View file

@ -1,4 +1,5 @@
#include "Map.h" #include "Map.h"
#include "data/meta/Constants.h"
#include <iostream> #include <iostream>
#include <cstdlib> #include <cstdlib>
#include <chrono> #include <chrono>
@ -172,7 +173,7 @@ std::string Map<T>::delay_bin_to_km(std::string json, uint32_t fs)
document["delay"].Clear(); document["delay"].Clear();
for (int i = 0; i < delay.size(); i++) for (int i = 0; i < delay.size(); i++)
{ {
document["delay"].PushBack(1.0*delay[i]*(299792458/(double)fs)/1000, allocator); document["delay"].PushBack(1.0*delay[i]*(Constants::c/(double)fs)/1000, allocator);
} }
rapidjson::StringBuffer strbuf; rapidjson::StringBuffer strbuf;

11
src/data/meta/Constants.h Normal file
View file

@ -0,0 +1,11 @@
#ifndef CONSTANTS_H
#define CONSTANTS_H
#include <stdint.h>
namespace Constants
{
const uint32_t c = 299792458;
}
#endif

View file

@ -8,6 +8,7 @@
#include "data/Detection.h" #include "data/Detection.h"
#include "data/Track.h" #include "data/Track.h"
#include "process/tracker/Tracker.h" #include "process/tracker/Tracker.h"
#include "data/meta/Constants.h"
#include <string> #include <string>
#include <vector> #include <vector>
@ -24,9 +25,9 @@ TEST_CASE("Constructor", "[constructor]")
double cpi = 1; double cpi = 1;
double maxAccInit = 10; double maxAccInit = 10;
double fs = 2000000; double fs = 2000000;
double rangeRes = 299792458.0/fs; double rangeRes = (double)Constants::c/fs;
double fc = 204640000; double fc = 204640000;
double lambda = 299792458.0/fc; double lambda = (double)Constants::c/fc;
Tracker tracker = Tracker(m, n, nDelete, Tracker tracker = Tracker(m, n, nDelete,
cpi, maxAccInit, rangeRes, lambda); cpi, maxAccInit, rangeRes, lambda);
} }
@ -40,9 +41,9 @@ TEST_CASE("Process ACTIVE track constant acc", "[process]")
double cpi = 1; double cpi = 1;
double maxAccInit = 10; double maxAccInit = 10;
double fs = 2000000; double fs = 2000000;
double rangeRes = 299792458.0/fs; double rangeRes = (double)Constants::c/fs;
double fc = 204640000; double fc = 204640000;
double lambda = 299792458.0/fc; double lambda = (double)Constants::c/fc;
Tracker tracker = Tracker(m, n, nDelete, Tracker tracker = Tracker(m, n, nDelete,
cpi, maxAccInit, rangeRes, lambda); cpi, maxAccInit, rangeRes, lambda);
@ -64,9 +65,9 @@ TEST_CASE("Test predict", "[predict]")
double cpi = 1; double cpi = 1;
double maxAccInit = 10; double maxAccInit = 10;
double fs = 2000000; double fs = 2000000;
double rangeRes = 299792458.0/fs; double rangeRes = (double)Constants::c/fs;
double fc = 204640000; double fc = 204640000;
double lambda = 299792458.0/fc; double lambda = (double)Constants::c/fc;
Tracker tracker = Tracker(m, n, nDelete, Tracker tracker = Tracker(m, n, nDelete,
cpi, maxAccInit, rangeRes, lambda); cpi, maxAccInit, rangeRes, lambda);