mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into rx_clock_correction
This commit is contained in:
		| @@ -1871,19 +1871,22 @@ if(Protobuf_FOUND AND CMAKE_VERSION VERSION_LESS 3.9) | ||||
|     endif() | ||||
| endif() | ||||
| if(Protobuf_FOUND AND CMAKE_CROSSCOMPILING) | ||||
|     find_program(PROTOC_EXECUTABLE protoc) | ||||
|     if(NOT PROTOC_EXECUTABLE) | ||||
|         find_program(PROTOC_EXECUTABLE protoc | ||||
|             HINTS | ||||
|             /usr/local/bin/ | ||||
|                 /usr/bin/ | ||||
|         NO_SYSTEM_ENVIRONMENT_PATH | ||||
|                 /usr/local/bin/ | ||||
|         ) | ||||
|     endif() | ||||
|     if(PROTOC_EXECUTABLE) | ||||
|         set_target_properties(protobuf::protoc PROPERTIES | ||||
|             IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" | ||||
|             IMPORTED_LOCATION ${PROTOC_EXECUTABLE} | ||||
|         ) | ||||
|         set(Protobuf_PROTOC_EXECUTABLE ${PROTOC_EXECUTABLE}) | ||||
|     else() | ||||
|         message(FATAL ERROR "Please install the Protocol Buffers compiter v${Protobuf_VERSION} in the host machine") | ||||
|         message(FATAL_ERROR "Please install the Protocol Buffers compiler v${Protobuf_VERSION} in the host machine") | ||||
|     endif() | ||||
| endif() | ||||
| if((NOT Protobuf_FOUND) OR (NOT Protobuf_PROTOC_EXECUTABLE) OR (${Protobuf_VERSION} VERSION_LESS ${GNSSSDR_PROTOBUF_MIN_VERSION})) | ||||
|   | ||||
							
								
								
									
										18
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								README.md
									
									
									
									
									
								
							| @@ -71,7 +71,7 @@ $ sudo apt-get install build-essential cmake git libboost-dev libboost-date-time | ||||
|        libgtest-dev libprotobuf-dev protobuf-compiler | ||||
| ~~~~~~ | ||||
|  | ||||
| Please note that the required files from `libgtest-dev` were moved to `googletest` in Debian 9 "stretch" and Ubuntu 18.04 "bionic", and moved back again to `libgtest-dev` in Debian 10 "buster" and Ubuntu 18.10 "cosmic". | ||||
| Please note that the required files from `libgtest-dev` were moved to `googletest` in Debian 9 "stretch" and Ubuntu 18.04 "bionic", and moved back again to `libgtest-dev` in Debian 10 "buster" and Ubuntu 18.10 "cosmic" (and above). | ||||
|  | ||||
| **Note for Ubuntu 14.04 LTS "trusty" users:** you will need to build from source and install GNU Radio manually, as explained below, since GNSS-SDR requires `gnuradio-dev` >= 3.7.3, and Ubuntu 14.04 came with 3.7.2. Install all the packages above BUT EXCEPT `libuhd-dev`, `gnuradio-dev` and `gr-osmosdr` (and remove them if they are already installed in your machine), and install those dependencies using PyBOMBS. The same applies to `libmatio-dev`: Ubuntu 14.04 came with 1.5.2 and the minimum required version is 1.5.3. Please do not install the `libmatio-dev` package and install `libtool`, `automake` and `libhdf5-dev` instead. A recent version of the library will be downloaded and built automatically if CMake does not find it installed. | ||||
|  | ||||
| @@ -120,7 +120,7 @@ $ sudo yum install make automake gcc gcc-c++ kernel-devel cmake git boost-devel | ||||
|        boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel \ | ||||
|        blas-devel lapack-devel matio-devel armadillo-devel gflags-devel \ | ||||
|        glog-devel openssl-devel libpcap-devel python-mako python-six \ | ||||
|        pugixml-devel protobuf-devel | ||||
|        pugixml-devel protobuf-devel protobuf-compiler | ||||
| ~~~~~~ | ||||
|  | ||||
| Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux). | ||||
| @@ -130,13 +130,23 @@ Once you have installed these packages, you can jump directly to [download the s | ||||
|  | ||||
| If you are using openSUSE Leap: | ||||
|  | ||||
| ~~~~~~ | ||||
| zypper install cmake git gcc-c++ boost-devel libboost_atomic-devel \ | ||||
|        libboost_system-devel libboost_filesystem-devel libboost_chrono-devel \ | ||||
|        libboost_thread-devel libboost_serialization-devel log4cpp-devel \ | ||||
|        gnuradio-devel pugixml-devel libpcap-devel armadillo-devel libtool \ | ||||
|        automake hdf5-devel openssl-devel python-Mako python-six protobuf-devel | ||||
| ~~~~~~ | ||||
|  | ||||
| If you are using openSUSE Tumbleweed: | ||||
|  | ||||
| ~~~~~~ | ||||
| zypper install cmake git gcc-c++ boost-devel libboost_atomic-devel \ | ||||
|        libboost_system-devel libboost_filesystem-devel libboost_date_time-devel \ | ||||
|        libboost_thread-devel libboost_chrono-devel libboost_serialization-devel \ | ||||
|        log4cpp-devel gtest gnuradio-devel pugixml-devel libpcap-devel \ | ||||
|        armadillo-devel libtool automake hdf5-devel libopenssl-devel python-Mako \ | ||||
|        python-six protobuf-devel | ||||
|        armadillo-devel libtool automake hdf5-devel libopenssl-devel \ | ||||
|        python3-Mako python3-six protobuf-devel | ||||
| ~~~~~~ | ||||
|  | ||||
| Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux). | ||||
|   | ||||
| @@ -11082,8 +11082,16 @@ boost::posix_time::ptime Rinex_Printer::compute_UTC_time(const Gps_Navigation_Me | ||||
|     //: idea resolve the ambiguity with the leap second  http://www.colorado.edu/geography/gcraft/notes/gps/gpseow.htm | ||||
|     const double utc_t = nav_msg.utc_time(nav_msg.d_TOW); | ||||
|     boost::posix_time::time_duration t = boost::posix_time::milliseconds(static_cast<int64_t>((utc_t + 604800 * static_cast<double>(nav_msg.i_GPS_week)) * 1000)); | ||||
|     if (nav_msg.i_GPS_week < 512) | ||||
|         { | ||||
|             boost::posix_time::ptime p_time(boost::gregorian::date(2019, 4, 7), t); | ||||
|             return p_time; | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|             boost::posix_time::ptime p_time(boost::gregorian::date(1999, 8, 22), t); | ||||
|             return p_time; | ||||
|         } | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -11108,8 +11116,16 @@ boost::posix_time::ptime Rinex_Printer::compute_GPS_time(const Gps_Ephemeris& ep | ||||
|     // --??? No time correction here, since it will be done in the RINEX processor | ||||
|     const double gps_t = obs_time; | ||||
|     boost::posix_time::time_duration t = boost::posix_time::milliseconds(static_cast<int64_t>((gps_t + 604800 * static_cast<double>(eph.i_GPS_week % 1024)) * 1000)); | ||||
|     if (eph.i_GPS_week < 512) | ||||
|         { | ||||
|             boost::posix_time::ptime p_time(boost::gregorian::date(2019, 4, 7), t); | ||||
|             return p_time; | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|             boost::posix_time::ptime p_time(boost::gregorian::date(1999, 8, 22), t); | ||||
|             return p_time; | ||||
|         } | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -11121,8 +11137,16 @@ boost::posix_time::ptime Rinex_Printer::compute_GPS_time(const Gps_CNAV_Ephemeri | ||||
|     // --??? No time correction here, since it will be done in the RINEX processor | ||||
|     const double gps_t = obs_time; | ||||
|     boost::posix_time::time_duration t = boost::posix_time::milliseconds(static_cast<int64_t>((gps_t + 604800 * static_cast<double>(eph.i_GPS_week % 1024)) * 1000)); | ||||
|     if (eph.i_GPS_week < 512) | ||||
|         { | ||||
|             boost::posix_time::ptime p_time(boost::gregorian::date(2019, 4, 7), t); | ||||
|             return p_time; | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|             boost::posix_time::ptime p_time(boost::gregorian::date(1999, 8, 22), t); | ||||
|             return p_time; | ||||
|         } | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -11178,6 +11202,7 @@ boost::posix_time::ptime Rinex_Printer::compute_UTC_time(const Glonass_Gnav_Ephe | ||||
|     return utc_time; | ||||
| } | ||||
|  | ||||
|  | ||||
| double Rinex_Printer::get_leap_second(const Glonass_Gnav_Ephemeris& eph, const double gps_obs_time) | ||||
| { | ||||
|     double tod = 0.0; | ||||
|   | ||||
| @@ -49,7 +49,7 @@ void Tracking_2nd_PLL_filter::calculate_lopp_coef(float* tau1, float* tau2, floa | ||||
|  | ||||
| void Tracking_2nd_PLL_filter::set_PLL_BW(float pll_bw_hz) | ||||
| { | ||||
|     //Calculate filter coefficient values | ||||
|     // Calculate filter coefficient values | ||||
|     d_pllnoisebandwidth = pll_bw_hz; | ||||
|     calculate_lopp_coef(&d_tau1_carr, &d_tau2_carr, d_pllnoisebandwidth, d_plldampingratio, 0.25);  // Calculate filter coefficient values | ||||
| } | ||||
| @@ -64,14 +64,13 @@ void Tracking_2nd_PLL_filter::initialize() | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * PLL second order FIR filter | ||||
|  * PLL second order IIR filter | ||||
|  * Req Input in [Hz/Ti] | ||||
|  * The output is in [Hz/s]. | ||||
|  */ | ||||
| float Tracking_2nd_PLL_filter::get_carrier_nco(float PLL_discriminator) | ||||
| { | ||||
|     float carr_nco = d_old_carr_nco + (d_tau2_carr / d_tau1_carr) * (PLL_discriminator - d_old_carr_error) + (PLL_discriminator + d_old_carr_error) * (d_pdi_carr / (2.0 * d_tau1_carr)); | ||||
|     //carr_nco = d_old_carr_nco + (d_tau2_carr/d_tau1_carr)*(PLL_discriminator - d_old_carr_error) + PLL_discriminator * (d_pdi_carr/d_tau1_carr); | ||||
|     d_old_carr_nco = carr_nco; | ||||
|     d_old_carr_error = PLL_discriminator; | ||||
|     return carr_nco; | ||||
| @@ -80,16 +79,15 @@ float Tracking_2nd_PLL_filter::get_carrier_nco(float PLL_discriminator) | ||||
|  | ||||
| Tracking_2nd_PLL_filter::Tracking_2nd_PLL_filter(float pdi_carr) | ||||
| { | ||||
|     //--- PLL variables -------------------------------------------------------- | ||||
|     // PLL variables | ||||
|     d_pdi_carr = pdi_carr;  // Summation interval for carrier | ||||
|     //d_plldampingratio = 0.65; | ||||
|     d_plldampingratio = 0.7; | ||||
| } | ||||
|  | ||||
|  | ||||
| Tracking_2nd_PLL_filter::Tracking_2nd_PLL_filter() | ||||
| { | ||||
|     //--- PLL variables -------------------------------------------------------- | ||||
|     // PLL variables | ||||
|     d_pdi_carr = 0.001;  // Summation interval for carrier | ||||
|     d_plldampingratio = 0.7; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Javier Arribas
					Javier Arribas