The 4S Symposium 2018 – A. N. Nikicio, et al 1
GPS AND SGP4 BASED ORBIT PROPAGATION ONBOARD
THE GALASSIA-2 NANOSATELLITE
Ajie Nayaka Nikicio (1), Weiqi Tu (1), Edwin Chen (1),
Sha Luo (1), Cher-Hiang Goh (2)
(1)Satellite Technology and Research Centre (STAR), National University of Singapore,
Department of Electrical and Computer Engineering
5 Sports Drive 2, Singapore 117508
+65 6601 7028, firstname.lastname@example.org, email@example.com
(2)DSO National Laboratories
12 Science Park Drive, Singapore 118225
+65 6308 1690, firstname.lastname@example.org
With an increasing demand for nanosatellites to perform accurate pointing such as Earth observation
missions, the availability and accuracy of the orbital position and velocity information on board the
satellite’s computer becomes indispensable. The conventional way of providing this information is
to run an orbit propagator such as the Simplified General Perturbations Satellite Orbit Model 4
(SGP4) onboard the satellite, supplied with the Two-Line Elements (TLE) obtained from NORAD
and uploaded from the ground station on a regular basis, e.g. every one or two days. For a satellite
mission with a more stringent requirement such as Galassia-2, however, an onboard Global
Positioning System (GPS) receiver is desirable to get a much higher accuracy. Additionally, the GPS
receiver can be used for time synchronization in-orbit and for accurately timing the image captures.
In this paper, we describe the design, implementation and preliminary pre-flight testing of the GPS
receiver and SGP4 orbit propagator. We also explain the technique to generate the satellite’s TLE in-
orbit from GPS data as a more up-to-date and accurate backup compared to NORAD TLE. Lastly,
we describe our plans on how to test and operate the GPS receiver in-orbit.
Galassia-2 is a 3U CubeSat under development at the Satellite Technology and Research Centre
(STAR) at the National University of Singapore (NUS). The 4 kg nanosatellite is equipped with a
multispectral camera payload designed for precision agriculture. This project is funded by the
Engineering Design and Innovation Centre (EDIC) and the Department of Electrical and Computer
Engineering (ECE), and the team consists of research engineers and undergraduate students primarily
within the education curriculum of the Innovation & Design-Centric Program (iDCP).
1.1 Mission Requirements
The mission objective is twofold: to successfully demonstrate agricultural remote sensing with a
nanosatellite and to build up our university’s capability through qualifying in-house developed
The 4S Symposium 2018 – A. N. Nikicio, et al 2
subsystems in space. At a reference orbit altitude of 550 km, Galassia-2 will capture images with a
ground resolution of 40 m and swath width of 80 km, with the image capture accuracy defined to be
within 10 km radius from the intended imaging centre. These images will be captured at four spectral
bands: Green (580 nm), Red (650 nm), Red-Edge (720 nm), and NIR (800 nm). With these four
bands, a number of analysis can be performed including Normalised Difference Vegetation Index
(NDVI) and Soil-adjusted Vegetation Index (SAVI).
After capturing the images, the payload computer shall follow with demosaicing process and lossless
compression. These compressed images shall then be transferred to the ground station in NUS over
S-band up to speeds of 2 Mbps using the Software-Defined Radio (SDR) controlled by the same
payload computer. Onboard processing and compression are mandatory due to the short ground
contact window and the physical speed limit of the wireless transmission.
1.2 Orbit Determination and Time Requirements
Deriving from the mission requirements, there are two main tasks that the onboard GPS receiver and
orbit propagator have to accomplish. First, images shall be tagged with position information of < 1
km and time information of < 1 ms. Second, both state vector and time are required for the Attitude
Determination and Control System (ADCS) for attitude estimation and manoeuvres such as sun and
nadir pointing. Attitude information will also be tagged to the captured images for further post-
processing on the ground such as orthorectification.
Both tasks are easily achieved when GPS lock is maintained. However, there are several constraints
that may prevent the GPS receiver from maintaining a lock, such as antenna pointing constraints and
link margin constraints. When real-time GPS data is unavailable, the conventional backup strategy is
to use NORAD TLE, uplinked from the ground station, and propagate it with an orbit propagator
such as SGP4. This approach, however, has its own constraints, i.e. it is not as accurate as GPS data
and the TLE is only updated every one or two days, which can result in an error of up to 10 km for a
two-day old TLE . We are exploring a better backup strategy for our mission.
2 DESIGN and METHODOLOGY
To fulfil the orbit determination and time requirements, we have to select a suitable set of hardware
and implement a set of strategies in the software running on the ADCS computer, which controls the
GPS receiver and runs the calculations for orbit propagation.
2.1 GPS Receiver, Antenna and LNA
The GPS receiver selected for Galassia-2 is the NovAtel OEM615, a geodetic grade dual-frequency
GPS receiver capable of tracking all GNSS constellations including GPS, GLONASS, Galileo,
BeiDou and QZSS. It has a high Technology Readiness Level (TRL), flown on board a few missions
including GOMX-3 (2015) and VELOX-II (2015). Earlier versions of receiver from NovAtel have
also been successfully demonstrated, such as OEMV-1-L1 on board RAX nanosatellites (2010, 2011)
and OEM4-G2 on board CanX-2 (2008).
The 4S Symposium 2018 – A. N. Nikicio, et al 3
The OEM615 is mounted on the ADCS motherboard next to the ADCS computer as can be seen in
Figure 1 and Figure 2. It has a size of 46 x 71 x 11 mm and a mass of 24 g. The receiver typically
draws < 1 W at 3.3 V and based on our satellite’s power budget, it is not a problem to operate it full-
time including in eclipse. Based on the datasheet, OEM615 can provide a position accuracy of < 1.5
m and time accuracy of < 20 ns. The ADCS computer communicates with the receiver over UART
in order to request state vector and time information as well as to set important parameters.
There are several important considerations in order to use a geodetic grade receiver in space. To allow
high speed and high altitude operation, the limits from the Coordinating Committee for Multilateral
Export Controls (CoCom) have to be disabled. Additionally, corrections from tropospheric effects
have to be removed and because the relative velocities between our satellite in the Low Earth Orbit
(LEO) and GPS satellites are quite significant, the Doppler windows have to be expanded. Based on
our calculation, we are expecting a Doppler shift of up to 40 kHz at L1 frequency.
Figure 1. Mounting Location of the OEM615 GPS Receiver on Galassia-2
Figure 2. OEM615 Mounted at the Bottom of the Motherboard
The 4S Symposium 2018 – A. N. Nikicio, et al 4
The ACTPAT154 patch antenna from Inventek Systems was selected for our mission. It has a very
small size of 15 x 15 x 7 mm and hence we do not need to sacrifice much space that otherwise can
be used for solar cells. The antenna comes with a built-in LNA providing 26 to 35 dB gain and has a
3 dB beamwidth of about 120°. Because we expect Galassia-2 to perform sun pointing most of the
time, we decided to place the antenna on the -X surface of the satellite as shown in Figure 3, which
is also the face of the solar panels once deployed, such that the antenna’s boresight is pointed as close
to zenith as possible. The effects of the choice and location of the antenna were studied through link
budget and simulations as shown in Section 3.
Figure 3. ACTPAT154 Patch Antenna Mounted on the -X Body Mounted Solar Panel
2.2 Orbit Determination Strategy
Once Galassia-2 is fully commissioned, the preferred way of providing orbital position and velocity
information will be to enquire the GPS receiver in real-time, i.e. at a defined sampling time within
the ADCS software. In the event that GPS lock is lost, a TLE is immediately generated on board the
ADCS computer using the position and velocity obtained from the GPS at the most recent epoch, and
the SGP4 propagator takes over. This strategy, which we will demonstrate in orbit, would be
beneficial in a way that it can provide a more accurate and up-to-date TLE as compared to the
conventional way of using NORAD TLE that is only updated every one or two days. However, a
fallback plan to utilise NORAD TLE uploaded from the ground station is also made available.
A similar motivation to increase the accuracy of orbit determination came from the CanX-2 team by
downloading the GPS data and subsequently converting it to a TLE using an MS-DOS program called
VEC2TLE before propagating it with the SGP4 propagator . We would like to test and validate
our strategy if it would yield a better result in improving the accuracy of an onboard orbit
determination system both for Galassia-2’s remote sensing mission and for research purposes.
2.3 Time Synchronization Strategy
In addition to providing orbital position and velocity information, the GPS receiver can be used for a
more accurate time synchronization and time propagation. The conventional way of synchronizing
the clock on board a satellite is to uplink the time from the ground station, which is also how we
perform time synchronization on Galassia-1, our university’s first nanosatellite . The flight
The 4S Symposium 2018 – A. N. Nikicio, et al 5
computer would then be responsible for propagating (ticking) the time. In the case of our new mission,
we would like to achieve a better accuracy by using the GPS receiver to obtain the time information
and propagate it with interrupt triggers from the receiver’s Pulse-Per-Second (PPS) output. A PPS is
an electrical signal that precisely triggers at the beginning of a second. The PPS output works even
when the GPS lock is lost, however it will drift. It is important to characterise how long it takes for
the drift to grow and fail the mission requirement. If the satellite is unable to maintain a GPS lock,
the ADCS computer will use its own clock as a fallback.
3 GPS LOCK and LINK ANALYSIS
Before implementing our strategy, it is important to evaluate the constraints in orbit in order to verify
our design decisions. In the case of the GPS receiver, we run a simulation to calculate the number of
visible GPS satellites it can lock onto under different attitude scenarios and a given antenna field of
view (FOV). This is important because the state vector can only be solved when the receiver locks to
4 GPS satellites or more. We also create both worst-case and best-case link budgets to calculate the
expected received signal power at Galassia-2’s GPS receiver and determine if the link satisfies our
3.1 Orbit Simulations
There are three attitude scenarios that we consider when running simulations in STK to evaluate the
visibility of the GPS satellite constellation from Galassia-2 when in orbit: sun pointing, nadir
pointing, and tumbling at rates of 0.1°/s, 1°/s, and 10°/s on all 3 axes. In these simulations, the GPS
antenna cone angle is set to 180°. To take the effect of this cone angle into account, the worst-case
link budget uses the side lobe gain of the antenna, i.e. 90° away from the boresight.
Galassia-2 will be spending most of its time performing sun pointing to generate as much energy as
possible through its 3 x 7.2 W solar panels. Since the antenna is mounted on the same surface as the
solar panels, we expect the GPS receiver to perform best during this pointing mode. When Galassia-
2 takes pictures, it will point its camera to the Earth using nadir pointing mode. During this mode, the
GPS antenna will be pointing 90° away from zenith and hence it might be more difficult for the
receiver to maintain a lock as it does not have a full view of the constellation. Other than the two
pointing modes, we also perform a simulation when Galassia-2 is tumbling, which is the case when
it is initially deployed by the launch vehicle or whenever an ADCS fault or reset happens. Figure 5
shows a visualization of the different attitude scenarios studied.
The 4S Symposium 2018 – A. N. Nikicio, et al 6
Figure 5. Various Attitude Scenarios Studied to Determine GPS Visibility
Figure 6 shows the simulation result of the number of GPS satellites in view during a sun pointing
scenario over 1 day. In most cases, there are sufficient number of GPS satellites that Galassia-2 can
possibly lock to, however there are some instances in eclipse when the number of GPS satellites fall
below the minimum requirement. In eclipse, Galassia-2 is planned to perform a standby pointing
mode, which means it will hold its last attitude before entering eclipse and hence the GPS antenna
may be blocked by the Earth at times.
Figure 6. Number of Satellites in View for Sun Pointing Scenario
It is also of interest to know how the GPS receiver performs when Galassia-2’s attitude is out of
control, i.e. tumbling. Figure 7 shows the simulation result when Galassia-2 is tumbling on all its 3
axes. Even though the number of satellites in view is similar to the sun pointing scenario, the viewing
time is much less. Since the OEM615’s Time to First Fix (TTFF) is 35 seconds for a hot start and 50
The 4S Symposium 2018 – A. N. Nikicio, et al 7
seconds for a cold start, it is expected that Galassia-2 will have to be detumbled at least at 1°/s before
a solution can be computed by the receiver. A summary of all the attitude scenarios is presented in
Figure 7. Number of Satellites in View for Tumbling Scenario at (a) 0.1°/s and (b) 1°/s
Table 1. Expected GPS Constellation Visibility from Galassia-2
Average Number of GPS
Satellites in View
Average Viewing Time
per GPS Satellite
39 min 54 sec
36 min 57 sec
Tumbling at 0.1°/s
16 min 41 sec
Tumbling at 1°/s
2 min 11 sec
Tumbling at 10°/s
The 4S Symposium 2018 – A. N. Nikicio, et al 8
3.2 Link Budget
A link budget is developed to ensure the received signal power at the GPS receiver is sufficiently
higher than the noise level, given the antenna and LNA chosen. Best-case scenario is achieved when
Galassia-2 is closest to the GPS satellite (19,011 km), whereas worst-case happens when Galassia-2
is farthest from the GPS satellite (29,168 km) and its antenna facing 90° away. Based on the link
budget calculated and shown in Table 2, the best-case and worst-case links are both healthy, with
margins of 16.6 dB and 5.4 dB, respectively.
Table 2. GPS Link Budget for Best-Case and Worst-Case Scenarios
(Best-Case / Worst-Case)
Distance to Galassia-2
19,011 / 29,168
RF Losses in Transmitter Path
Free space propagation loss
181.97 / 185.69
GPS Antenna Gain
0 / -7.5
GPS Antenna to LNA Connector
LNA Noise Figure
LNA to Receiver Connector Loss
Power Received at GPS Receiver
-105.42 / -116.64
16.58 / 5.36
4 ONBOARD TLE GENERATION FROM GPS DATA
As mentioned in Section 2.2, when real-time GPS information in unavailable, we intend to use the
last available GPS orbital state for orbit propagation with SGP4. To do so, we wrote a software code
that runs on the ADCS computer to convert the position, velocity and time information from the GPS
into a TLE.
In order to assemble a TLE, we need to identify the important parameters for orbit determination.
There are 8 parameters in total to be calculated. These are the classical orbital elements, the epoch
time, and the drag term called B-Star. The first and second time derivatives of mean motion are not
The 4S Symposium 2018 – A. N. Nikicio, et al 9
used by the SGP4 model and thus can be omitted . Other details such as the satellite number,
classification, designator, and other non-orbit state related information will be appended after these
8 parameters are calculated to form a TLE, represented in two arrays of characters.
4.1 Deriving Classical Orbital Elements and Epoch Time
The classical orbital elements are six parameters required to uniquely determine a specific orbit and
are all specified in a TLE. It comprises of
1. : Semi-Major Axis - defines the size of the orbit
2. : Eccentricity - defines the shape of the orbit
3. : Inclination - defines the orientation of the orbit with respect to the equator
4. : Argument of Perigee - defines where the perigee is with respect to the Earth’s surface
5. : Right Ascension of the Ascending Node - defines the location of the ascending and
descending nodes with respect to the equatorial plane
6. : Mean Anomaly - defines where the satellite is within the orbit with respect to perigee
It should be noted that the Semi-Major Axis is expressed as Mean Motion in the TLE. The mean
motion is defined as the mean number of orbits per day a satellite travels around the Earth, and the
relationship between the two can be expressed by Eq. 1, where
is the mean motion, is the semi-
major axis, and is the standard gravitational parameter.
These classical orbital elements located on the second line of the TLE can be derived from an orbital
state vector (position and velocity) such as from the GPS using a set of equations written in , which
are also well summarised in . The epoch time, located on the first line field 7 and 8 of the TLE,
can be derived immediately from the GPS time, i.e. the time at which the orbital state vector is
obtained. The process of deriving these parameters is summarised in Figure 9.
Figure 9. Overview of Derivation of Classical Orbital Elements and Epoch Time from GPS Data
The 4S Symposium 2018 – A. N. Nikicio, et al 10
4.2 B-Star ()
The B-Star parameter is used to model the aerodynamic drag and is a measure of how susceptible the
satellite is to drag. A higher B-Star means more susceptibility to drag. It affects how much the satellite
is expected to slow down in the propagation of its orbit. B-Star is defined by Eq. 2 .
Where is the drag coefficient, is the frontal area of the satellite (surface area perpendicular to
the velocity vector of the satellite), is the mass of the satellite, is the atmospheric density at
perigee and is the Earth radius.
Based on our simulations in STK with a TLE of an existing 3U CubeSat in the Low Earth Orbit with
a similar mass and surface area to Galassia-2, we found that the effect of the B-Star drag term is
insignificant. For example, changing the B-Star parameter to zero from the original give
insignificant maximum deviations of less than 0.1 km in range over 4 days. Changing it to two orders
of magnitude larger, however, results in a maximum range deviation of a little less than 10 km. The
range deviations are plotted in Figure 10.
Figure 10. Maximum Range Deviations between the Original and Various B-Star Values
It is therefore reasonable to set the B-Star parameter to zero for our purpose. An alternative would be
to use the B-Star parameter as specified in the latest TLE from NORAD.
5 PRE-FLIGHT TESTING and IN-ORBIT TEST PLAN
To test the functionality of both the receiver and the antenna, the ACTPAT154 antenna was mounted
on the roof of our lab building in the Faculty of Engineering of NUS to get a good view of the GPS
constellation in the sky. The OEM615 receiver was located in the lab and was connected to the
The 4S Symposium 2018 – A. N. Nikicio, et al 11
antenna over a 40 metre LMR-600 coaxial cable. With such a long cable, a bias-tee was required to
transfer the DC power reliably to the ACTPAT154’s built-in LNA.
Basic functions such as obtaining position and time information were tested using the commands log
bestxyza and log timea. The GPS receiver replies with other useful information that can be logged for
research and testing purposes, such as the number of GPS satellites the receiver manages to track and
the number of GPS satellites used in the solution. Standard deviation values of the position and
velocity are also important to determine the precision of each computation by the receiver. In addition
to testing through the serial commands, the PPS output from the receiver can also be tested while the
receiver is locked to the GPS constellation. The PPS output is available even when the receiver loses
lock, however it will drift. Every time the receiver locks back to the GPS constellation, the PPS will
It is understandable that operating a GPS receiver on the ground and in Low Earth Orbit are very
different. Due to the large relative speed between the GPS satellites and the receiver onboard
Galassia-2, we are expecting a large Doppler shift of up to 40 kHz at L1, which the OEM615 receiver
might not be able to handle without any software mitigation. It is therefore of our interest to test the
receiver with a GPS Satellite Simulator in the near-future to generate multiple GPS signals and
characterise the Doppler windows required to be assigned on the OEM615 onboard Galassia-2.
The next item to be tested is the quality of the conversion of TLE from the orbital state information
obtained from the GPS receiver. For this purpose, the VEC2TLE software  is used as a benchmark
and a set of position and velocity vectors from a given satellite found in STK’s database is used as an
input to both VEC2TLE and our software running on the ADCS computer. The test satellite in our
case is Galassia, satellite number 41170. The TLE generated by both VEC2TLE and our
implementation are then propagated using STK’s SGP4 propagator over 6 days. Figure 11 shows a
comparison of the propagated orbital positions between three TLEs: NORAD TLE and TLEs
generated by VEC2TLE as well as our implementation, termed PV2TLE.
Figure 11. Comparison of Propagated Positions from VEC2TLE, PV2TLE and NORAD TLE
The 4S Symposium 2018 – A. N. Nikicio, et al 12
From this test, we observe that even though PV2TLE shows a larger error in the long term, it is
comparable to VEC2TLE within the first day (within 0.8 km). This test however is not able to validate
the accuracy of our implementation because a NORAD TLE propagated with SGP4 is far from good
as a truth data. In order to fully test the accuracy, we plan to test it in orbit and benchmark it against
real-time position information from the GPS, which is able to provide truth data of up to three orders
of magnitude better accuracy (in the range of a few metres).
Other in-orbit tests will include collecting all GPS data at the various attitude scenarios, i.e. sun
pointing, nadir pointing and tumbling, to validate the number of GPS satellites that can be locked and
corresponding Time to First Fixes. These test outcomes will be useful for other and following satellite
programs from our university. In addition, to be able to access and fully test the OEM615 while in
orbit, we also implemented a debug mode on the ADCS computer where any NovAtel OEM6 Family
ASCII command can be sent or scheduled from the ground station to the OEM615 GPS receiver.
The main goal of the in-orbit tests will be to validate our strategy as described in the previous sections.
We hope that by being able to generate a TLE on board the satellite, it can give a better performance
compared to using the NORAD TLE in terms of accuracy and update frequency and that it can better
serve Galassia-2’s remote sensing mission.
6 CONCLUSIONS and FUTURE WORK
Design, methodology, preliminary pre-flight testing and in-orbit test plan of the GPS and SGP4 based
orbit propagation onboard Galassia-2 have been presented. As a nanosatellite with remote sensing
mission, the capability of accurately determining both position and time in orbit is critical. We
presented our strategy of generating a TLE onboard the satellite utilising the last available GPS data
as a more up-to-date and possibly more accurate backup as compared to NORAD TLE. A comparison
between an existing software called VEC2TLE and our implementation have also been presented.
Future work includes testing the GPS receiver with a GPS Satellite Simulator and validating our
strategy in orbit once launched. In-orbit analyses of our orbit and time determination strategy
associated with Galassia-2’s mission will be reported in future publications.
The authors would like to acknowledge Ng Zhen Ning, Eugene Ee, Harsh Kamdar, and the whole
team of Galassia-2 for their contributions. We also thank Chua Wee Liang and other alumni who
have greatly contributed in the technical development of parts of the Galassia-2 project. Lastly, the
authors would like to thank Assoc. Prof. Loh Ai Poh, Soh Eng Keng and the Engineering Design and
Innovation Centre from the Faculty of Engineering for their support in financial, educational and
The 4S Symposium 2018 – A. N. Nikicio, et al 13
 Kelso T.S., Validation of SGP4 and IS-GPS-200D against GPS Precision Ephemerides, 17th
AAS/AIAA Space Flight Mechanics Conference, Sedona, USA, 2007.
 Greene M. R., et al., Increasing the Accuracy of Orbital Position Information from NORAD SGP4
Using Intermittent GPS Readings, Proceedings of the AIAA/USU Conference on Small Satellites,
Logan, USA, 2009.
 Askari H. A., et al., Software Development for Galassia CubeSat – Design, Implementation and
In-Orbit Validation, Joint Conference of 31st International Symposium on Space Technology and
Science (ISTS), 26th International Symposium on Space Flight Dynamics (ISSFD), and 8th Nano-
Satellite Symposium (NSAT), Matsuyama, Japan, 2017.
 Kelso T. S., Frequently Asked Questions: Two-Line Element Set Format, Satellite Times, 1998,
 Vallado D. A., Fundamentals of Astrodynamics and Applications, 4th ed., Microcosm Press,
Hawthorne, USA, 2013.
 Schwarz R., Cartesian State Vectors to Keplerian Orbit Elements, 2017, Available:
 Vector to Two-Line Elements (VEC2TLE) Software, Available: