[hamradio-commits] [gnss-sdr] 193/303: Add Doppler observables
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Mon Feb 13 22:36:00 UTC 2017
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch master
in repository gnss-sdr.
commit 1eb75e01708ecfeac0be4a9ed26cc66e1b03542b
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date: Sat Dec 24 19:51:13 2016 +0100
Add Doppler observables
---
src/tests/system-tests/trk_system_test.cc | 57 +++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/src/tests/system-tests/trk_system_test.cc b/src/tests/system-tests/trk_system_test.cc
index 6af4a87..a28220a 100644
--- a/src/tests/system-tests/trk_system_test.cc
+++ b/src/tests/system-tests/trk_system_test.cc
@@ -347,9 +347,11 @@ void Trk_System_Test::check_results()
{
std::vector<std::vector<std::pair<double, double>> > pseudorange_ref(33);
std::vector<std::vector<std::pair<double, double>> > carrierphase_ref(33);
+ std::vector<std::vector<std::pair<double, double>> > doppler_ref(33);
std::vector<std::vector<std::pair<double, double>> > pseudorange_meas(33);
std::vector<std::vector<std::pair<double, double>> > carrierphase_meas(33);
+ std::vector<std::vector<std::pair<double, double>> > doppler_meas(33);
// Open and read reference RINEX observables file
try
@@ -387,6 +389,11 @@ void Trk_System_Test::check_results()
double L1 = dataobj.data;
std::pair<double, double> carrier(sow, L1);
carrierphase_ref.at(myprn).push_back(carrier);
+
+ dataobj = r_ref_data.getObs(prn, "D1C", r_ref_header);
+ double D1 = dataobj.data;
+ std::pair<double, double> doppler(sow, D1);
+ doppler_ref.at(myprn).push_back(doppler);
} // End of 'if( pointer == roe.obs.end() )'
} // end for
} // end while
@@ -453,6 +460,11 @@ void Trk_System_Test::check_results()
double L1 = dataobj.data;
std::pair<double, double> carrier(sow,L1);
carrierphase_meas.at(myprn).push_back(carrier);
+
+ dataobj = r_meas_data.getObs(prn, "D1C", r_meas_header);
+ double D1 = dataobj.data;
+ std::pair<double, double> doppler(sow, L1);
+ doppler_meas.at(myprn).push_back(doppler);
} // End of 'if( pointer == roe.obs.end() )'
} // end for
} // end while
@@ -476,6 +488,7 @@ void Trk_System_Test::check_results()
// Time alignment
std::vector<std::vector<std::pair<double, double>> > pseudorange_ref_aligned(33);
std::vector<std::vector<std::pair<double, double>> > carrierphase_ref_aligned(33);
+ std::vector<std::vector<std::pair<double, double>> > doppler_ref_aligned(33);
std::vector<std::vector<std::pair<double, double>> >::iterator iter;
std::vector<std::pair<double, double>>::iterator it;
@@ -483,6 +496,7 @@ void Trk_System_Test::check_results()
std::vector<std::vector<double>> pr_diff(33);
std::vector<std::vector<double>> cp_diff(33);
+ std::vector<std::vector<double>> doppler_diff(33);
std::vector<std::vector<double>>::iterator iter_diff;
std::vector<double>::iterator iter_v;
@@ -522,6 +536,23 @@ void Trk_System_Test::check_results()
}
prn_id++;
}
+ prn_id = 0;
+ for(iter = doppler_ref.begin(); iter != doppler_ref.end(); iter++)
+ {
+ for(it = iter->begin(); it != iter->end(); it++)
+ {
+ // If a measure exists for this sow, store it
+ for(it2 = doppler_meas.at(prn_id).begin(); it2 != doppler_meas.at(prn_id).end(); it2++)
+ {
+ if(std::abs(it->first - it2->first) < 0.001) // store measures closer than 1 ms.
+ {
+ doppler_ref_aligned.at(prn_id).push_back(*it);
+ doppler_diff.at(prn_id).push_back(it->second - it2->second );
+ }
+ }
+ }
+ prn_id++;
+ }
// Compute pseudorange error
prn_id = 0;
@@ -575,6 +606,32 @@ void Trk_System_Test::check_results()
prn_id++;
}
+ // Compute doppler error
+ prn_id = 0;
+ for(iter_diff = doppler_diff.begin(); iter_diff != doppler_diff.end(); iter_diff++)
+ {
+ // For each satellite with reference and measurements aligned in time
+ int number_obs = 0;
+ double mean_diff = 0.0;
+ for(iter_v = iter_diff->begin(); iter_v != iter_diff->end(); iter_v++)
+ {
+ //std::cout << *iter_v << std::endl;
+ mean_diff = mean_diff + *iter_v;
+ number_obs = number_obs + 1;
+ }
+ if(number_obs > 0)
+ {
+ mean_diff = mean_diff / number_obs;
+ std::cout << "-- Mean Doppler difference for sat " << prn_id << ": " << mean_diff << std::endl;
+ }
+ else
+ {
+ mean_diff = 0.0;
+ }
+
+ prn_id++;
+ }
+
//return 0;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git
More information about the pkg-hamradio-commits
mailing list