mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-01-15 03:35:46 +00:00
· Non-optimised multi-dwell acquisition with fine doppler estimation is now enabled in the block factory (It is used by the front-end calibration utility). It can be instantiated from the configuration file.
· Bug fixed in the configuration parser that prevented the use of non-integer thresholds · Provisional patch added to disable the PVT output if the height is above 50 km (due to a random bug that appears with some satellite configurations..) git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@407 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
parent
c0e103aabc
commit
74817d6d07
@ -336,7 +336,12 @@ bool gps_l1_ca_ls_pvt::get_PVT(std::map<int,Gnss_Synchro> gnss_pseudoranges_map,
|
|||||||
mypos = leastSquarePos(satpos, obs, W);
|
mypos = leastSquarePos(satpos, obs, W);
|
||||||
DLOG(INFO) << "(new)Position at TOW=" << GPS_current_time << " in ECEF (X,Y,Z) = " << mypos << std::endl;
|
DLOG(INFO) << "(new)Position at TOW=" << GPS_current_time << " in ECEF (X,Y,Z) = " << mypos << std::endl;
|
||||||
gps_l1_ca_ls_pvt::cart2geo(mypos(0), mypos(1), mypos(2), 4);
|
gps_l1_ca_ls_pvt::cart2geo(mypos(0), mypos(1), mypos(2), 4);
|
||||||
|
//ToDo: Find an Observables/PVT random bug with some satellite configurations that gives an erratic PVT solution (i.e. height>50 km)
|
||||||
|
if (d_height_m>50000)
|
||||||
|
{
|
||||||
|
b_valid_position=false;
|
||||||
|
return false; //erratic PVT
|
||||||
|
}
|
||||||
// Compute UTC time and print PVT solution
|
// Compute UTC time and print PVT solution
|
||||||
double secondsperweek = 604800.0; // number of seconds in one week (7*24*60*60)
|
double secondsperweek = 604800.0; // number of seconds in one week (7*24*60*60)
|
||||||
boost::posix_time::time_duration t = boost::posix_time::seconds(utc + secondsperweek*(double)GPS_week);
|
boost::posix_time::time_duration t = boost::posix_time::seconds(utc + secondsperweek*(double)GPS_week);
|
||||||
|
@ -84,7 +84,7 @@ Channel::Channel(ConfigurationInterface *configuration, unsigned int channel,
|
|||||||
|
|
||||||
float threshold = configuration->property("Acquisition" + boost::lexical_cast<std::string>(channel_)
|
float threshold = configuration->property("Acquisition" + boost::lexical_cast<std::string>(channel_)
|
||||||
+ ".threshold",0.0);
|
+ ".threshold",0.0);
|
||||||
if(threshold==0.0) threshold = configuration->property("Acquisition.threshold",0);
|
if(threshold==0.0) threshold = configuration->property("Acquisition.threshold",0.0);
|
||||||
|
|
||||||
acq_->set_threshold(threshold);
|
acq_->set_threshold(threshold);
|
||||||
|
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
#include "freq_xlating_fir_filter.h"
|
#include "freq_xlating_fir_filter.h"
|
||||||
#include "gps_l1_ca_pcps_acquisition.h"
|
#include "gps_l1_ca_pcps_acquisition.h"
|
||||||
#include "gps_l1_ca_pcps_assisted_acquisition.h"
|
#include "gps_l1_ca_pcps_assisted_acquisition.h"
|
||||||
|
#include "gps_l1_ca_pcps_acquisition_fine_doppler.h"
|
||||||
#include "galileo_e1_pcps_ambiguous_acquisition.h"
|
#include "galileo_e1_pcps_ambiguous_acquisition.h"
|
||||||
#include "gps_l1_ca_dll_pll_tracking.h"
|
#include "gps_l1_ca_dll_pll_tracking.h"
|
||||||
#include "gps_l1_ca_dll_pll_optim_tracking.h"
|
#include "gps_l1_ca_dll_pll_optim_tracking.h"
|
||||||
@ -336,6 +337,11 @@ GNSSBlockInterface* GNSSBlockFactory::GetBlock(
|
|||||||
block = new GalileoE1PcpsAmbiguousAcquisition(configuration, role, in_streams,
|
block = new GalileoE1PcpsAmbiguousAcquisition(configuration, role, in_streams,
|
||||||
out_streams, queue);
|
out_streams, queue);
|
||||||
}
|
}
|
||||||
|
else if (implementation.compare("GPS_L1_CA_PCPS_Acquisition_Fine_Doppler") == 0)
|
||||||
|
{
|
||||||
|
block = new GpsL1CaPcpsAcquisitionFineDoppler(configuration, role, in_streams,
|
||||||
|
out_streams, queue);
|
||||||
|
}
|
||||||
|
|
||||||
// TRACKING BLOCKS -------------------------------------------------------------
|
// TRACKING BLOCKS -------------------------------------------------------------
|
||||||
else if (implementation.compare("GPS_L1_CA_DLL_PLL_Tracking") == 0)
|
else if (implementation.compare("GPS_L1_CA_DLL_PLL_Tracking") == 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user