1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-13 16:56:52 +00:00
gnss-sdr/src/core/system_parameters/galileo_ephemeris.cc

63 lines
2.4 KiB
C++
Raw Normal View History

/*!
* \file galileo_ephemeris.cc
* \brief Interface of a Galileo EPHEMERIS storage and orbital model functions
* \author Javier Arribas, 2013. jarribas(at)cttc.es
* \author Mara Branzanti 2013. mara.branzanti(at)gmail.com
*
*
2020-07-28 14:57:15 +00:00
* -----------------------------------------------------------------------------
*
* GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
* This file is part of GNSS-SDR.
*
* Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
* SPDX-License-Identifier: GPL-3.0-or-later
*
2020-07-28 14:57:15 +00:00
* -----------------------------------------------------------------------------
*/
#include "galileo_ephemeris.h"
double Galileo_Ephemeris::Galileo_System_Time(double week_number, double TOW)
{
2020-07-19 23:20:15 +00:00
/* GALILEO SYSTEM TIME, ICD 5.1.2
*
* input parameter:
*
* week_number: The Week Number is an integer counter that gives the
* sequential week number from the origin of the Galileo time. It covers
* 4096 weeks (about 78 years). Then the counter is reset to zero to cover
* additional period modulo 4096
*
* TOW: The Time of Week is defined as the number of seconds that have
* occurred since the transition from the previous week. The TOW covers an
* entire week from 0 to 604799 seconds and is reset to zero at the end of
* each week
*
* week_number and TOW are received in page 5
*
* output:
*
* t: it is the transmitted time in Galileo System Time (expressed
* in seconds)
*
* The GST start epoch shall be 00:00 UT on Sunday 22nd August 1999
* (midnight between 21st and 22nd August). At the start epoch, GST shall be
* ahead of UTC by thirteen (13) leap seconds. Since the next leap second
* was inserted at 01.01.2006, this implies that as of 01.01.2006 GST is
* ahead of UTC by fourteen (14) leap seconds.
*
* The epoch denoted in the navigation messages by TOW and week_number will
* be measured relative to the leading edge of the first chip of the first
* code sequence of the first page symbol. The transmission timing of the
* navigation message provided through the TOW is synchronised to each
* satellites version of Galileo System Time (GST).
*
*/
2020-07-19 12:26:15 +00:00
const double sec_in_day = 86400;
const double day_in_week = 7;
double t = week_number * sec_in_day * day_in_week + TOW; // second from the origin of the Galileo time
return t;
}