mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 04:30:33 +00:00
Expose more tracking parameters to the configuration: filters order, FLL usage, pull-in time
This commit is contained in:
parent
446d3baf32
commit
6a17a33d6f
@ -73,6 +73,49 @@ BeidouB1iDllPllTracking::BeidouB1iDllPllTracking(
|
||||
dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz);
|
||||
}
|
||||
trk_param.dll_bw_hz = dll_bw_hz;
|
||||
|
||||
int dll_filter_order = configuration->property(role + ".dll_filter_order", 2);
|
||||
if (dll_filter_order < 1)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 1.";
|
||||
dll_filter_order = 1;
|
||||
}
|
||||
if (dll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 3.";
|
||||
dll_filter_order = 3;
|
||||
}
|
||||
trk_param.dll_filter_order = dll_filter_order;
|
||||
|
||||
int pll_filter_order = configuration->property(role + ".pll_filter_order", 3);
|
||||
if (pll_filter_order < 2)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 2.";
|
||||
pll_filter_order = 2;
|
||||
}
|
||||
if (pll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 3.";
|
||||
pll_filter_order = 3;
|
||||
}
|
||||
trk_param.pll_filter_order = pll_filter_order;
|
||||
|
||||
if (pll_filter_order == 2)
|
||||
{
|
||||
trk_param.fll_filter_order = 1;
|
||||
}
|
||||
if (pll_filter_order == 3)
|
||||
{
|
||||
trk_param.fll_filter_order = 2;
|
||||
}
|
||||
|
||||
bool enable_fll_pull_in = configuration->property(role + ".enable_fll_pull_in", false);
|
||||
trk_param.enable_fll_pull_in = enable_fll_pull_in;
|
||||
float fll_bw_hz = configuration->property(role + ".fll_bw_hz", 35.0);
|
||||
trk_param.fll_bw_hz = fll_bw_hz;
|
||||
float pull_in_time_s = configuration->property(role + ".pull_in_time_s", 2.0);
|
||||
trk_param.pull_in_time_s = pull_in_time_s;
|
||||
|
||||
float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5);
|
||||
trk_param.early_late_space_chips = early_late_space_chips;
|
||||
float early_late_space_narrow_chips = configuration->property(role + ".early_late_space_narrow_chips", 0.5);
|
||||
|
@ -68,6 +68,49 @@ BeidouB3iDllPllTracking::BeidouB3iDllPllTracking(
|
||||
float dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0);
|
||||
if (FLAGS_dll_bw_hz != 0.0) dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz);
|
||||
trk_param.dll_bw_hz = dll_bw_hz;
|
||||
|
||||
int dll_filter_order = configuration->property(role + ".dll_filter_order", 2);
|
||||
if (dll_filter_order < 1)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 1.";
|
||||
dll_filter_order = 1;
|
||||
}
|
||||
if (dll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 3.";
|
||||
dll_filter_order = 3;
|
||||
}
|
||||
trk_param.dll_filter_order = dll_filter_order;
|
||||
|
||||
int pll_filter_order = configuration->property(role + ".pll_filter_order", 3);
|
||||
if (pll_filter_order < 2)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 2.";
|
||||
pll_filter_order = 2;
|
||||
}
|
||||
if (pll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 3.";
|
||||
pll_filter_order = 3;
|
||||
}
|
||||
trk_param.pll_filter_order = pll_filter_order;
|
||||
|
||||
if (pll_filter_order == 2)
|
||||
{
|
||||
trk_param.fll_filter_order = 1;
|
||||
}
|
||||
if (pll_filter_order == 3)
|
||||
{
|
||||
trk_param.fll_filter_order = 2;
|
||||
}
|
||||
|
||||
bool enable_fll_pull_in = configuration->property(role + ".enable_fll_pull_in", false);
|
||||
trk_param.enable_fll_pull_in = enable_fll_pull_in;
|
||||
float fll_bw_hz = configuration->property(role + ".fll_bw_hz", 35.0);
|
||||
trk_param.fll_bw_hz = fll_bw_hz;
|
||||
float pull_in_time_s = configuration->property(role + ".pull_in_time_s", 2.0);
|
||||
trk_param.pull_in_time_s = pull_in_time_s;
|
||||
|
||||
float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5);
|
||||
trk_param.early_late_space_chips = early_late_space_chips;
|
||||
float early_late_space_narrow_chips = configuration->property(role + ".early_late_space_narrow_chips", 0.5);
|
||||
@ -141,8 +184,7 @@ BeidouB3iDllPllTracking::BeidouB3iDllPllTracking(
|
||||
}
|
||||
|
||||
|
||||
BeidouB3iDllPllTracking::~BeidouB3iDllPllTracking()
|
||||
= default;
|
||||
BeidouB3iDllPllTracking::~BeidouB3iDllPllTracking() = default;
|
||||
|
||||
|
||||
void BeidouB3iDllPllTracking::start_tracking()
|
||||
|
@ -88,6 +88,49 @@ GalileoE1DllPllVemlTracking::GalileoE1DllPllVemlTracking(
|
||||
trk_param.pll_bw_narrow_hz = pll_bw_narrow_hz;
|
||||
float dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", 0.25);
|
||||
trk_param.dll_bw_narrow_hz = dll_bw_narrow_hz;
|
||||
|
||||
int dll_filter_order = configuration->property(role + ".dll_filter_order", 2);
|
||||
if (dll_filter_order < 1)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 1.";
|
||||
dll_filter_order = 1;
|
||||
}
|
||||
if (dll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 3.";
|
||||
dll_filter_order = 3;
|
||||
}
|
||||
trk_param.dll_filter_order = dll_filter_order;
|
||||
|
||||
int pll_filter_order = configuration->property(role + ".pll_filter_order", 3);
|
||||
if (pll_filter_order < 2)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 2.";
|
||||
pll_filter_order = 2;
|
||||
}
|
||||
if (pll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 3.";
|
||||
pll_filter_order = 3;
|
||||
}
|
||||
trk_param.pll_filter_order = pll_filter_order;
|
||||
|
||||
if (pll_filter_order == 2)
|
||||
{
|
||||
trk_param.fll_filter_order = 1;
|
||||
}
|
||||
if (pll_filter_order == 3)
|
||||
{
|
||||
trk_param.fll_filter_order = 2;
|
||||
}
|
||||
|
||||
bool enable_fll_pull_in = configuration->property(role + ".enable_fll_pull_in", false);
|
||||
trk_param.enable_fll_pull_in = enable_fll_pull_in;
|
||||
float fll_bw_hz = configuration->property(role + ".fll_bw_hz", 35.0);
|
||||
trk_param.fll_bw_hz = fll_bw_hz;
|
||||
float pull_in_time_s = configuration->property(role + ".pull_in_time_s", 2.0);
|
||||
trk_param.pull_in_time_s = pull_in_time_s;
|
||||
|
||||
int extend_correlation_symbols = configuration->property(role + ".extend_correlation_symbols", 1);
|
||||
float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.15);
|
||||
trk_param.early_late_space_chips = early_late_space_chips;
|
||||
|
@ -83,6 +83,49 @@ GalileoE5aDllPllTracking::GalileoE5aDllPllTracking(
|
||||
dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz);
|
||||
}
|
||||
trk_param.dll_bw_hz = dll_bw_hz;
|
||||
|
||||
int dll_filter_order = configuration->property(role + ".dll_filter_order", 2);
|
||||
if (dll_filter_order < 1)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 1.";
|
||||
dll_filter_order = 1;
|
||||
}
|
||||
if (dll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 3.";
|
||||
dll_filter_order = 3;
|
||||
}
|
||||
trk_param.dll_filter_order = dll_filter_order;
|
||||
|
||||
int pll_filter_order = configuration->property(role + ".pll_filter_order", 3);
|
||||
if (pll_filter_order < 2)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 2.";
|
||||
pll_filter_order = 2;
|
||||
}
|
||||
if (pll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 3.";
|
||||
pll_filter_order = 3;
|
||||
}
|
||||
trk_param.pll_filter_order = pll_filter_order;
|
||||
|
||||
if (pll_filter_order == 2)
|
||||
{
|
||||
trk_param.fll_filter_order = 1;
|
||||
}
|
||||
if (pll_filter_order == 3)
|
||||
{
|
||||
trk_param.fll_filter_order = 2;
|
||||
}
|
||||
|
||||
bool enable_fll_pull_in = configuration->property(role + ".enable_fll_pull_in", false);
|
||||
trk_param.enable_fll_pull_in = enable_fll_pull_in;
|
||||
float fll_bw_hz = configuration->property(role + ".fll_bw_hz", 35.0);
|
||||
trk_param.fll_bw_hz = fll_bw_hz;
|
||||
float pull_in_time_s = configuration->property(role + ".pull_in_time_s", 2.0);
|
||||
trk_param.pull_in_time_s = pull_in_time_s;
|
||||
|
||||
float pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", 5.0);
|
||||
trk_param.pll_bw_narrow_hz = pll_bw_narrow_hz;
|
||||
float dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", 2.0);
|
||||
|
@ -89,6 +89,49 @@ GpsL1CaDllPllTracking::GpsL1CaDllPllTracking(
|
||||
dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz);
|
||||
}
|
||||
trk_param.dll_bw_hz = dll_bw_hz;
|
||||
|
||||
int dll_filter_order = configuration->property(role + ".dll_filter_order", 2);
|
||||
if (dll_filter_order < 1)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 1.";
|
||||
dll_filter_order = 1;
|
||||
}
|
||||
if (dll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 3.";
|
||||
dll_filter_order = 3;
|
||||
}
|
||||
trk_param.dll_filter_order = dll_filter_order;
|
||||
|
||||
int pll_filter_order = configuration->property(role + ".pll_filter_order", 3);
|
||||
if (pll_filter_order < 2)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 2.";
|
||||
pll_filter_order = 2;
|
||||
}
|
||||
if (pll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 3.";
|
||||
pll_filter_order = 3;
|
||||
}
|
||||
trk_param.pll_filter_order = pll_filter_order;
|
||||
|
||||
if (pll_filter_order == 2)
|
||||
{
|
||||
trk_param.fll_filter_order = 1;
|
||||
}
|
||||
if (pll_filter_order == 3)
|
||||
{
|
||||
trk_param.fll_filter_order = 2;
|
||||
}
|
||||
|
||||
bool enable_fll_pull_in = configuration->property(role + ".enable_fll_pull_in", false);
|
||||
trk_param.enable_fll_pull_in = enable_fll_pull_in;
|
||||
float fll_bw_hz = configuration->property(role + ".fll_bw_hz", 35.0);
|
||||
trk_param.fll_bw_hz = fll_bw_hz;
|
||||
float pull_in_time_s = configuration->property(role + ".pull_in_time_s", 2.0);
|
||||
trk_param.pull_in_time_s = pull_in_time_s;
|
||||
|
||||
float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5);
|
||||
trk_param.early_late_space_chips = early_late_space_chips;
|
||||
float early_late_space_narrow_chips = configuration->property(role + ".early_late_space_narrow_chips", 0.5);
|
||||
|
@ -77,6 +77,49 @@ GpsL2MDllPllTracking::GpsL2MDllPllTracking(
|
||||
float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5);
|
||||
trk_param.early_late_space_chips = early_late_space_chips;
|
||||
trk_param.early_late_space_narrow_chips = 0.0;
|
||||
|
||||
int dll_filter_order = configuration->property(role + ".dll_filter_order", 2);
|
||||
if (dll_filter_order < 1)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 1.";
|
||||
dll_filter_order = 1;
|
||||
}
|
||||
if (dll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 3.";
|
||||
dll_filter_order = 3;
|
||||
}
|
||||
trk_param.dll_filter_order = dll_filter_order;
|
||||
|
||||
int pll_filter_order = configuration->property(role + ".pll_filter_order", 3);
|
||||
if (pll_filter_order < 2)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 2.";
|
||||
pll_filter_order = 2;
|
||||
}
|
||||
if (pll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 3.";
|
||||
pll_filter_order = 3;
|
||||
}
|
||||
trk_param.pll_filter_order = pll_filter_order;
|
||||
|
||||
if (pll_filter_order == 2)
|
||||
{
|
||||
trk_param.fll_filter_order = 1;
|
||||
}
|
||||
if (pll_filter_order == 3)
|
||||
{
|
||||
trk_param.fll_filter_order = 2;
|
||||
}
|
||||
|
||||
bool enable_fll_pull_in = configuration->property(role + ".enable_fll_pull_in", false);
|
||||
trk_param.enable_fll_pull_in = enable_fll_pull_in;
|
||||
float fll_bw_hz = configuration->property(role + ".fll_bw_hz", 35.0);
|
||||
trk_param.fll_bw_hz = fll_bw_hz;
|
||||
float pull_in_time_s = configuration->property(role + ".pull_in_time_s", 2.0);
|
||||
trk_param.pull_in_time_s = pull_in_time_s;
|
||||
|
||||
int vector_length = std::round(static_cast<double>(fs_in) / (static_cast<double>(GPS_L2_M_CODE_RATE_HZ) / static_cast<double>(GPS_L2_M_CODE_LENGTH_CHIPS)));
|
||||
trk_param.vector_length = vector_length;
|
||||
int symbols_extended_correlator = configuration->property(role + ".extend_correlation_symbols", 1);
|
||||
|
@ -90,6 +90,49 @@ GpsL5DllPllTracking::GpsL5DllPllTracking(
|
||||
trk_param.dll_bw_narrow_hz = dll_bw_narrow_hz;
|
||||
float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5);
|
||||
trk_param.early_late_space_chips = early_late_space_chips;
|
||||
|
||||
int dll_filter_order = configuration->property(role + ".dll_filter_order", 2);
|
||||
if (dll_filter_order < 1)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 1.";
|
||||
dll_filter_order = 1;
|
||||
}
|
||||
if (dll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "dll_filter_order parameter must be 1, 2 or 3. Set to 3.";
|
||||
dll_filter_order = 3;
|
||||
}
|
||||
trk_param.dll_filter_order = dll_filter_order;
|
||||
|
||||
int pll_filter_order = configuration->property(role + ".pll_filter_order", 3);
|
||||
if (pll_filter_order < 2)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 2.";
|
||||
pll_filter_order = 2;
|
||||
}
|
||||
if (pll_filter_order > 3)
|
||||
{
|
||||
LOG(WARNING) << "pll_filter_order parameter must be 2 or 3. Set to 3.";
|
||||
pll_filter_order = 3;
|
||||
}
|
||||
trk_param.pll_filter_order = pll_filter_order;
|
||||
|
||||
if (pll_filter_order == 2)
|
||||
{
|
||||
trk_param.fll_filter_order = 1;
|
||||
}
|
||||
if (pll_filter_order == 3)
|
||||
{
|
||||
trk_param.fll_filter_order = 2;
|
||||
}
|
||||
|
||||
bool enable_fll_pull_in = configuration->property(role + ".enable_fll_pull_in", false);
|
||||
trk_param.enable_fll_pull_in = enable_fll_pull_in;
|
||||
float fll_bw_hz = configuration->property(role + ".fll_bw_hz", 35.0);
|
||||
trk_param.fll_bw_hz = fll_bw_hz;
|
||||
float pull_in_time_s = configuration->property(role + ".pull_in_time_s", 2.0);
|
||||
trk_param.pull_in_time_s = pull_in_time_s;
|
||||
|
||||
int vector_length = std::round(static_cast<double>(fs_in) / (static_cast<double>(GPS_L5I_CODE_RATE_HZ) / static_cast<double>(GPS_L5I_CODE_LENGTH_CHIPS)));
|
||||
trk_param.vector_length = vector_length;
|
||||
int extend_correlation_symbols = configuration->property(role + ".extend_correlation_symbols", 1);
|
||||
|
Loading…
Reference in New Issue
Block a user