Autonomous Ground Target Tracking, Testing, Commissioning
and Operations for Greenhouse Gas Satellite Demonstrator
(GHGSat-D)
by
Jagannath Kshtriya
A thesis submitted in conformity with the requirements
for the degree of Master of Applied Science
Graduate Department of Aerospace Science and Engineering
University of Toronto
© Copyright by Jagannath Kshtriya 2017
ii
Autonomous Ground Target Tracking, Testing, Commissioning and Operations for Greenhouse
Gas Satellite Demonstrator (GHGSat-D)
Jagannath Kshtriya
Master of Applied Science
Graduate Department of Aerospace Science and Engineering
University of Toronto
2017
Abstract
Greenhouse gas satellite demonstrator (GHGSat-D) is a microsatellite designed, built, tested and
operated by Space Flight Laboratory (SFL) on behalf of GHGSat Inc. that demonstrates the
payload technology needed to monitor carbon dioxide and methane gas emissions, which directly
contribute to the epidemic that is global warming, using an infrared spectrometer and a
hyperspectral imager.
Mission background and satellite overview are presented, followed by a deeper look into various
methods of ground and environmental testing involving the author in preparation for satellite
integration and operations. A more efficient method of downloading data while maximizing use
of pass time is established through the implementation of an autonomous ground target tracking
algorithm. Finally, results of a successful commissioning phase and daily operations are
revealed.
iii
Acknowledgments
Dr. Zee, I literally thank you daily for giving me an excellent education at SFL. I feel very
blessed and grateful for this amazing opportunity to be on a team of incredible engineers,
learning and problem solving daily, working on an exciting mission and seeing it to completion,
and most importantly improving overall as a human being.
All I have is a lot of love and gratitude for Cordell and Paul. They have immensely supported
and guided me in my time here. I probably would not have gotten much done without their
backing.
Daniel is just awesome! He has more solutions and answers than Google! I could definitely live
without the Internet with him around!
Thank you for helping me with various tasks around the lab: Jake, Mirella, Brian, Niels, Karan,
Marc, Mark, Laura, Najmus and Brad.
And to my classmates and fellow students, and to Ben, Andrea, Chris and Shari-Ann I say –
“Thanks for the memories!”
I extend my gratitude for the support and love my parents and sister have shown me over the last
couple years, and a big shout out to them for putting up with me. Also hugs to grand-dad and
apologies to grand-mom for being unable to keep my promise of visiting her.
Lastly, I thank Jonathan Kelly for his feedback, encouragement and time as the second reviewer
for my thesis document and George Zhu from York University who served as my undergraduate
research supervisor for laying the foundations to my work at SFL.
iv
Table of Contents Acknowledgments ........................................................................................................................ iii
Table of Contents ......................................................................................................................... iv List of Tables ................................................................................................................................ vi List of Figures .............................................................................................................................. vii List of Acronyms ........................................................................................................................... x
Introduction .............................................................................................................................. 1 1
1.1 Space Flight Laboratory ...................................................................................................... 1
1.2 Greenhouse Gas Satellite Demonstrator (GHGSat-D) ....................................................... 2 1.3 Thesis Outline ..................................................................................................................... 4
Greenhouse Gas Satellite Demonstrator (GHGSat-D) ......................................................... 5 2
2.1 Launch Overview ................................................................................................................ 5 2.2 Mission Overview ............................................................................................................... 6
2.3 Satellite Overview ............................................................................................................... 6
2.3.1 Command and Data Handling Subsystem .............................................................. 9 2.3.2 Communication Subsystem .................................................................................. 10
2.3.3 Attitude and Orbital Determination and Control Subsystems .............................. 11 2.3.4 Power Subsystem .................................................................................................. 11 2.3.5 Thermal Subsystem ............................................................................................... 13
2.3.6 Payload .................................................................................................................. 14
Satellite Testing ...................................................................................................................... 16 3
3.1 Flatsat ................................................................................................................................ 17
3.2 Antenna Pattern Test ......................................................................................................... 18 3.3 Satellite Functional Tests .................................................................................................. 19
3.3.1 Command and Data Handling Subsystem Tests ................................................... 21
3.3.2 Communication Subsystem Tests ......................................................................... 21
3.3.3 Attitude and Orbital Determination and Control Subsystem Tests ...................... 21 3.3.4 Power Subsystem Tests ......................................................................................... 24
3.4 Payload Tests .................................................................................................................... 25 3.4.1 User Interface ........................................................................................................ 25 3.4.2 Functional Tests .................................................................................................... 26
3.4.3 Electromagnetic Compatibility Testing ................................................................ 26 3.4.4 Open Field Testing ................................................................................................ 27
3.5 Burn-In .............................................................................................................................. 28 3.6 Thermal Vacuum Test ....................................................................................................... 29
Autonomous Ground Target Tracking ................................................................................ 31 4
4.1 Background ....................................................................................................................... 32 4.2 Requirements .................................................................................................................... 37
4.3 SAPIANT Arithmetic ....................................................................................................... 37 4.3.1 Station and Satellite Position ................................................................................ 38
4.3.2 Distance to Horizon .............................................................................................. 41 4.3.3 Slant Range ........................................................................................................... 43 4.3.4 Maximum Elevation .............................................................................................. 44
4.4 Ground Station In-View Determination ............................................................................ 48 4.5 Horizon+ ........................................................................................................................... 52 4.6 SAPIANT Algorithm ........................................................................................................ 53
4.6.1 Concept Overview ................................................................................................ 55
v
4.7 SAPIANT Software Development (Thread) ..................................................................... 62
4.7.1 Ground Simulation ................................................................................................ 67 4.7.2 On-Orbit Results ................................................................................................... 69
Commissioning and Operations ............................................................................................ 76 5
5.1 GHGSat-D Satellite Operational Modes ........................................................................... 78 5.2 Requirements .................................................................................................................... 80 5.3 Commissioning Procedure Development ......................................................................... 81 5.4 Commissioning Tasks and Execution ............................................................................... 82
5.4.1 Command and Data Handling Subsystem Checkouts .......................................... 82
5.4.2 Communication Subsystem Checkouts ................................................................. 83 5.4.3 Attitude and Orbital Determination Control Subsystem Checkouts ..................... 83 5.4.4 Power Subsystem Checkouts ................................................................................ 84 5.4.5 Payload Checkouts ................................................................................................ 84
5.4.6 On-Orbit Insertion to Stabilization ....................................................................... 85 5.5 Satellite Operations ........................................................................................................... 86
5.5.1 Day-In-Life ........................................................................................................... 86
Conclusion ............................................................................................................................... 99 6
6.1 Satellite Testing Conclusion ........................................................................................... 100 6.2 Autonomous Ground Target Tracking Conclusion ......................................................... 100 6.3 Commissioning and Operations Conclusion ................................................................... 100
References .................................................................................................................................. 102
vi
List of Tables
Table 1: NEMO vs GHGSat-D Specification ................................................................................. 6
Table 2: GHGSat-D Component List ............................................................................................. 8
Table 3: Driving Requirements for the GHGSat-D Flatsat .......................................................... 17
Table 4: Functional Test Requirements [13] ................................................................................ 20
Table 5: Describing Station Pass labels ........................................................................................ 33
Table 6: SFL Ground Station Coordinates .................................................................................... 33
Table 7: Downlink margin vs elevation ........................................................................................ 36
Table 8: SAPIANT Requirements ................................................................................................ 37
Table 9: Station in View Determination Parameter List ............................................................... 39
Table 10: Variables required calculating maximum elevation ..................................................... 45
Table 11: SAPIANT Commands .................................................................................................. 63
Table 12: SAPIANT Control Parameters ..................................................................................... 65
Table 13: Simulation results ......................................................................................................... 68
Table 14: GHGSat-D station passes (July 1, 2016) ...................................................................... 69
Table 15: GHGSat-D station passes as recorded by SAPIANT (July 1, 2016) ............................ 70
Table 16: Proportion of downlink during every scalable data rate block (July 1, 2016) .............. 73
Table 17: Data Budget (July 1, 2016) ........................................................................................... 74
Table 18: GHGSat-D Satellite Operational Modes ...................................................................... 78
Table 19: Commissioning and Operations Requirement .............................................................. 80
vii
List of Figures
Figure 1: The GHGSat-D Mission Patch ........................................................................................ 3
Figure 2: GHGSat-D External Layout ............................................................................................ 7
Figure 3: GHGSat-D Internal Layout ............................................................................................. 7
Figure 4: GHGSat-D On-Board Computer Interface ...................................................................... 9
Figure 5: GHGSat-D MPS ............................................................................................................ 11
Figure 6: GHGSat-D Power Distribution (MPS) .......................................................................... 12
Figure 7: Payload .......................................................................................................................... 14
Figure 8: GHGSat-D Flatsat ......................................................................................................... 17
Figure 9: Antenna Pattern Test Setup ........................................................................................... 18
Figure 10: SCROLL Flowchart .................................................................................................... 19
Figure 11: Sun Sensor (+X) Non-Irradiated (left) and Irradiated (right) Centroid/Profiles ......... 22
Figure 12: Magnetometer with no magnetic field (left) and with a magnetic field (right) ........... 22
Figure 13: Rate Sensor Polling ..................................................................................................... 23
Figure 14: Reaction Wheel Test Sequence ................................................................................... 24
Figure 15: Payload Ground Testing Interface ............................................................................... 25
Figure 16: Payload EMC Testing at the SFL Anechoic Chamber ................................................ 26
Figure 17: Payload Open Field Testing outside SFL .................................................................... 27
Figure 18: The Bathtub Curve [18] ............................................................................................... 28
Figure 19: Thermal Vacuum Testing for GHGSat-D ................................................................... 29
Figure 20: Temperature Profile during TVAC ............................................................................. 30
Figure 21: Station Pass .................................................................................................................. 32
Figure 22: GHGSat-D Downlink Antenna Orientation ................................................................ 34
Figure 23: Measured S-Band Antenna Circular Polarization Gain .............................................. 35
viii
Figure 24: SAPIANT Station In-View Parameters ....................................................................... 38
Figure 25: Distance to Horizon in a Two-Dimensional Plane ...................................................... 41
Figure 26: Slant Range in a Two-Dimensional Plane ................................................................... 43
Figure 27: Maximum Elevation .................................................................................................... 44
Figure 28: Satellite Horizon Assumption ..................................................................................... 48
Figure 29: Satellite Distance to Horizon (dhorizon) ......................................................................... 50
Figure 30: Summation of Distance to Horizon (dhorizon) and Horizon+ (H+) ................................ 52
Figure 31: SAPIANT's control and logic flowchart ..................................................................... 54
Figure 32: Priority Listed Ground Stations ................................................................................... 55
Figure 33: Initializing SAPIANT .................................................................................................. 56
Figure 34: SAPIANT AODCS Data and Station Calculation Checks .......................................... 58
Figure 35: Station in-view Determination in SAPIANT .............................................................. 60
Figure 36: Thread Access ............................................................................................................. 62
Figure 37: SAPIANT Control Parameters .................................................................................... 64
Figure 38: Simulation Snapshot .................................................................................................... 67
Figure 39: SFL station passes # 1 and # 2 (July 1, 2016) ............................................................. 71
Figure 40: SFL station passes # 3 and # 4 (July 1, 2016) ............................................................. 72
Figure 41: Locked Contact Period during a Station Pass ............................................................. 73
Figure 42: Data Volume Downlinked at Scalable Data Rate ....................................................... 74
Figure 43: GHGSat-D Commissioning and Operations Illustration ............................................. 76
Figure 44: High-Level Sequencing of Commissioning Tasks ...................................................... 81
Figure 45: GHGSat-D Body Rates - Tumbling to Nadir Tracking ............................................... 85
Figure 46: Day-In-Life Attitude Profile ........................................................................................ 87
Figure 47: Day-In-Life Temperature Profile of Solar Arrays ....................................................... 88
Figure 48: Day-In-Life Current Profile of Solar Arrays ............................................................... 89
ix
Figure 49: Day-In-Life UHF RSSI ............................................................................................... 91
Figure 50: Day-In-Life UHF receiver and S-band transmitter Temperature Profile .................... 92
Figure 51: Day-In-Life Micro Switch Power Node (uSPN) Temperature Profile ........................ 93
Figure 52: Day-In-Life Power Distribution and Management Temperature Profile .................... 94
Figure 53: Day-In-life Battery Voltage ......................................................................................... 95
Figure 54: Day-In-Life Payload Power Consumed ...................................................................... 96
Figure 55: Day-In-Life Power Consumed by Satellite bus only and Satellite (w/payload) ......... 97
Figure 56: Day-In-Life Power Difference .................................................................................... 98
Figure 57: GHGSat-D prior to being shipped for launch ........................................................... 101
x
List of Acronyms
ACS Attitude Control System
AODCS Attitude and Orbital Determination and Control System
AQG Air Quality Gas
BIM Battery Interface Module
CANOE Canadian Advanced Nanosatellite Operating Environment
C&DH Command and Data Handling
COTS Commercial Off The Shelf
GNB Generic Nanosatellite Bus
GSS Ground Support Software
GHG Greenhouse Gas
GHGSat-D Greenhouse Gas Satellite Demonstrator
I/O Input/output
I2C Inter-integrated Circuit
IFN Interface Node
NSP Nano-Satellite Protocol
OBC On-Board Computer
LEO Low-Earth Orbit
LTAN Local Time of Ascending Node
LTDN Local Time of Descending Node
RSSI Received Signal Strength Indicator
SABIN Solar Array and Battery Interface Node
SABR Solar Array and Battery Regulator
SCC Serial Communication Controllers
SFL Space Flight Lab
SPI Serial Peripheral Interface Bus
UART Universal Asynchronous Receiver/Transmitter
UI User Interface
𝜇SPN Micro Switch Power Node
UTIAS University of Toronto Institute for Aerospace Studies
1
Chapter 1
Introduction
Introduction 1
Small satellites are single handedly responsible for easing barriers to entry into space ushering an
era of modernism into satellite development. The small satellite industry is driven by the
microspace philosophy that embraces a distinct way of approaching space missions. The
microspace philosophy approach yields inexpensive, accelerated missions utilizing state-of-the-
art technologies with appropriately managed risk, relying on embracing commercial off the shelf
(COTS) technologies, rapid prototyping, comprehensive testing and intensive mission driven
objectives. GHGSat Inc. aims to use satellite technology to become the global reference for
remote sensing of greenhouse gas (GHG) and air quality gas (AQG) emissions from industrial
sites around the world [1], and as such has commissioned Space Flight Laboratory (SFL) to
design, build and operate Greenhouse Gas Satellite Demonstrator (GHGSat-D). GHGSat-D is the
first satellite launched as a precursor to a commercial constellation of greenhouse gas monitoring
satellites which will allow the company to enhance its global GHG measurements and frequency,
and its purpose is to demonstrate the viability of an optical scientific payload required to collect
and examine GHG data, in addition to GHGSat Inc.’s mission objectives.
1.1 Space Flight Laboratory
The Space Flight Laboratory (SFL) is a specialty lab established in 1998, at the University of
Toronto Institute for Aerospace Studies (UTIAS). SFL builds low cost satellite platforms ranging
from nanosatellites (<10 kg) to microsatellites (<100 kg) and XPOD separation systems, in
addition to organizing launch services and handling satellite operations. SFL applies the
microspace philosophy to develop state-of-the-art satellites in reduced time and cost than
conventional satellites, using modern technology, without sacrificing quality or introducing risk.
Furthermore, SFL provides graduate students with a unique opportunity to work alongside
engineering professionals in small teams developing real space missions [1].
2
1.2 Greenhouse Gas Satellite Demonstrator (GHGSat-D)
Air pollution adversely affects the ecosystem putting plants, animals, and humans on risk over
long time frames, jeopardizing the well-being of all living things. Measuring air emissions is
complex since they are generally invisible to the naked eye and because they are carried far and
wide by the wind. Today air emissions are measured using a variety of technology and tools
around the world and in some cases are expensive and depending on the region may not be
measured regularly or accurately enough. NASA, ESA, JAXA have several satellites on-orbit
that map greenhouse gases globally, however these measurements cover large areas, and are not
designed to pinpoint and report on specific industrial GHG emitters.
Greenhouse Gas Satellite Demonstrator (GHGSat-D) is also known as Claire. Claire has the
potential to monitor individual emitters, and is the first satellite in the world with the ability to
measure GHG from individual sites, and the ability to do so more cheaply, safely, accurately and
fairly than traditional methods anywhere in the world. Claire is capable of measuring the amount
of methane (CH4) and carbon dioxide (CO2) being emitted from sites as small as a single
building or from sites as large as the oil sands. The technology benefits both industrial partners
and government regulators. Industries benefit from having better data to manage and control
their emission targets. Claire helps regulators track polluters in their jurisdiction and provides
better data to support climate change discussions with other nations.
The aforementioned technology is integrated on a microsatellite named Claire and is based on
the Next-generation Earth Monitoring and Observation (NEMO) bus developed at SFL for Earth
observation missions with small budgets and short schedules. Claire carries a single payload
comprising of two instruments. The primary instrument is a spectrometer and the data (images) it
collects aid in calculating emission rates of CH4 and CO2 from GHG emitter sources. The
secondary instrument is a hyperspectral imager and the data (images) it collects detects and
quantifies clouds and aerosols [2].
The official mission patch for Claire is shown below in Figure 1, listing all the organizations
involved in GHGSat-D operations.
3
Figure 1: The GHGSat-D Mission Patch
GHGSat Inc. (Montreal, Quebec) is the primary business and mission lead, in charge of payload
operations planning, and product order and generation. Xiphos Systems Corporation (Montreal,
Quebec) provides computing hardware solutions for space applications. MPB Communications
Inc. (Pointe-Claire, Quebec) is responsible for the payload. UTIAS/SFL (Toronto, Ontario) is the
primary contractor in charge of satellite development, which includes satellite bus design,
testing, integration, launch and operations. And finally James Sloan (Waterloo, Ontario) is
Professor Emeritus in atmospheric chemistry at the University of Waterloo, advising on the
mission science.
The primary objectives of GHGSat-D mission are to [3]:
1. Verify and validate the spectrometer and hyperspectral imager (payload) technology.
2. Demonstrate targeted GHG monitoring services to secure interest in a constellation of
satellites.
3. Develop data processing tools and techniques, and build market for GHG information
products.
4
The thesis objectives are:
1. Design functional tests and code test scripts in addition to performing ground,
environmental and field testing to prepare GHGSat-D for operations on-orbit and
reporting any issues detected during testing to the mission lead for further analysis and
instructions.
2. Develop, write code and debug an autonomous ground target tracking algorithm to
maximize use of pass time by allowing the satellite to have information on a ground
station’s position and point the transmitting antenna toward the station prior to coming in
contact with it.
3. Perform GHGSat-D commissioning and daily operations and coordinate between
multiple teams to command the satellite, schedule payload observation, monitor satellite
health telemetry and report anomalies to the subsystem leads.
1.3 Thesis Outline
The life cycle of satellite development is divided in phases:
1. Phase A - System Concept
2. Phase B - Preliminary Design
3. Phase C - Detailed Design
4. Phase D - Manufacturing, Assembly, Integration and Test
5. Phase E - Launch Campaign, Commissioning, and Operations
This thesis covers the author’s work on the GHGSat-D mission beginning from acquisition of
satellite parts and electronic components (Phase D – Manufacturing, Assembly, Integration and
Test) to the completion of commissioning (Phase E – Launch Campaign, Commissioning, and
Operations). Chapter 1 introduces the GHGSat-D mission and provides the required background
information for the ensuing work presented in this thesis. Chapter 2 presents a more insightful
representation of the satellite bus and payload, as well as an in-depth view of GHGSat-D.
Chapter 3 presents the ground and environmental testing developed and performed on the
satellite to prepare it for operations on-orbit. Chapter 4 outlines the autonomous target tracking
algorithm and its implementation on GHGSat-D, followed by ground simulations and on-orbit
results. Chapter 5 covers the commissioning and operation tasks, procedural development and
on-orbit data for GHGSat-D satellite. And finally Chapter 6 presents the conclusion.
5
Chapter 2
Greenhouse Gas Satellite
Demonstrator (GHGSat-D)
Greenhouse Gas Satellite Demonstrator (GHGSat-D) 2
This section presents a further insight into the GHGSat-D mission, describing satellite
capabilities from the perspective of both the satellite bus and the payload. GHGSat-D’s bus
components include command and data handling system, telemetry and command system, power
system, attitude determination and control system, structure, thermal control, and the payload.
2.1 Launch Overview
GHGSat-D was launched onboard the Polar Satellite Launch Vehicle - C34 (PSLV) from Satish
Dhawan Space Centre (SHAR), Sriharikota, India on June 22, 2016 at 03:57 UTC. The PSLV is
a four-stage rocket, combined with liquid and solid fueling, in addition to six solid fueled
boosters, and provides best money for buck. PSLV - C34 hosts twenty satellites, Cartosat-2C
being the primary payload on board, along with nineteen secondary satellites amongst which
GHGSat-D is one. GHGSat-D is inserted into a sun-synchronous Low Earth Orbit (LEO) with a
period of 95 minutes, at an approximate altitude of 505 km and with a Local Time Descending
Node (LTDN) of 9:30 am. GHGSat-D has been designed for a one-year mission that can be
extended to three years.
The first ground station pass occurred around 11 hours after launch. The satellite remained safe
and power positive while tumbling prior to contact. Separation from the launch vehicle was
completed in just less than eighteen minutes after launch (T+ 17.87 minutes). First tracking data
was obtained by NORAD and collected approximately an hour after lift-off, and the Two Line
Elements (TLE) were made available an additional hour after that.
6
2.2 Mission Overview
GHGSat-D mission is slated for one full year of operations after launch; however the satellite is
expected to stay operational well beyond its mission timeline. GHGSat-D is primarily a
technology demonstration mission whose purpose is to demonstrate methane (CH4) and carbon
dioxide (CO2) detection accurately from greenhouse gas (GHG) emitting sources around the
world. The mission genesis follows the announcement of a cap and trade scheme1 by the Quebec
government in 2011. Government regulatory bodies all around the world are imposing such
schemes hence generating an economic incentive for industries to better understand their
emissions so that they can control and ultimately reduce them. Some companies that have
publicly expressed interest in GHGSat services include Hydro Quebec, Suncor, Imperial Oil,
Shell, and Canada Natural Resources Limited.
2.3 Satellite Overview
GHGSat-D is a microsatellite weighing 13.5 𝑘𝑔 with an outer dimension of 440 × 200 ×
267 𝑚𝑚, not including surface protrusions (solar cells, startracker, screw heads, etc.). The
structure and all mounting points are made of Aluminum-6061 [4]. Table 1 compares typical
NEMO bus specification to those applied on GHGSat-D.
Table 1: NEMO vs GHGSat-D Specification
NEMO GHGSat-D
Satellite Mass 15 kg 13.5 kg
Satellite Volume 200 x 200 x 400 mm 440 x 200 x 267 mm
Payload Mass 6 kg 5.5 kg
Payload Volume 8,000 cm3 2,000 cm
3
Peak Power (𝟐𝟓°, 𝑩𝑶𝑳) 50 W 21 W
Payload Power 45 W @ 40% min 12 W @ 40% min
ACS Stability ~2°𝑜𝑟 ~60" ~60"
Downlink 32 kbps – 2048 kbps 128 kbps – 2048 kbps
1 A flexible market mechanism started on January 1, 2013, introducing a carbon cost in business decisions,
encouraging clean technology and facilitating a GHG emission reduction, targeting industries emitting more than
25000 metric tons of CO2 annually.
7
Figure 2: GHGSat-D External Layout
Figure 3: GHGSat-D Internal Layout
8
Figure 2 illustrates GHGSat-D’s external layout and Figure 3 presents its internal layout. A
complete satellite component list is itemized in Table 2.
Table 2: GHGSat-D Component List
Panel/Tray External Components Internal Components
+𝑿 S-band Antenna (1/2), Sun Sensor
(1/5), 2xSolar cell strings (16 cells) Separation switches (2)
−𝑿 S-band Antenna (2/2), Sun Sensor
(2/5), 2xSolar cell strings (16 cells) Magnetorquer (1/3)
+𝒀
GPS Antenna, UHF Antennas (4/4),
Sun Sensor (3/5), 1xSolar cell string
(8 cells)
Magnetorquer (2/3)
−𝒀 Payload baffle/aperture, Payload
Testport Payload instruments (C&A, SWIR)
+𝒁
Radiator, Startracker, Sun Sensor
(4/5), Testport, 1xSolar cell string (8
cells), UHF antennas (2/4)
Magnetorquer (3/3), Magnetometer,
Modular Power System (MPS), Battery
pack (3 cells), Battery Interface Module
(BIM), GPS receiver, DC-DC converter
−𝒁 Sun Sensor (5/5), 2xSolar cell strings
(16 cells)
On Board Computer (2), UHF receiver, S-
band transmitter, S-band LNA, Rate
Sensor, Reaction wheels (3)
The payload (baffle/aperture) is positioned on the –𝑌 face of the satellite and is nominally Earth
(nadir) pointed. The GPS antenna is located on the +𝑌 face of the satellite and is nominally
aligned with zenith that is ideal for guaranteeing a satisfactory number of tracked GPS satellites
regularly. The startracker is located on the +𝑍 face of the satellite since it desires a view of the
dark sky in order to keep it pointed away from the sun to mitigate stray light, while maintaining a
fixed view factor of the Earth [5].
9
2.3.1 Command and Data Handling Subsystem
The Command and Data Handling (C&DH) on GHGSat-D comprises of two On-Board
Computers (OBC-301) developed by SFL. OBC-301 supports a CAN interface and are an
upgraded version of OBC-300 that has flight heritage on several SFL satellites. These computers
use a ARM7 processor, have 2 𝑀𝐵 of Error Detection and Correction (EDAC) protected Static
Random Access Memory (SRAM) and 1 𝐺𝐵 of FLASH. The OBC supports communication
interfaces including 𝐼2𝐶, 𝑆𝐶𝐶,𝑈𝐴𝑅𝑇,𝑆𝑃𝐼,𝐶𝐴𝑁and 𝑅𝑆485.
Figure 4: GHGSat-D On-Board Computer Interface
It is imperative to have sufficient knowledge of the various OBC interfaces linking other
subsystems for developing GHGSat-D test scripts (Chapter 3). Reaction wheels, startracker, and
Modular Power System (MPS) are on CAN, which allows the payload to use a dedicated 𝑅𝑆485
bus. The GPS receiver has two communication ports, one used by the satellite and the other by
the payload which simplifies commanding and timing of observations as the payload is now
capable of synchronizing its own clock.
GHGSat-D carries two OBCs and both use software that allows each computer to do
housekeeping tasks (telemetry collection, radio communication management, etc.) and handle
attitude determination and control, which were performed by distinct OBCs in the past. All the
functionality is handled by a single computer with the second computer only available for use
should the first fail.
10
OBCs operate under two modes: bootloader mode, and application mode. Bootloader only
contains a minimal set of functionality and is not reprogrammable on flight, and is used for
uploading and executing application software. Application mode is enabled by running the
Canadian Advanced Nanospace Operating Environment (CANOE) operating system developed
by SFL. CANOE is a multithreaded operating system responsible for message passing between
threads and makes up the functional components of the system for interfacing the ground
segment software with an On Board Computer (HKC) (ground-satellite), and for handling
input/output between the OBC and multiple satellite subsystems (satellite-satellite). The
Spacecraft Autonomously Pointing Its ANTennas (SAPIANT) algorithm runs on GHGSat-D as
a thread on CANOE (Chapter 4).
Communications between a ground station and SFL satellites, amongst the satellite’s On-Board
Computers between CANOE software (threads) on the satellite are delivered through the
Nanosatellite Protocol (NSP) [6].
2.3.2 Communication Subsystem
Communications on GHGSat-D is full-duplex and handled by two distinct radio links
incorporating an Ultra-High Frequency (UHF) receiver for the uplink to the satellite and an S-
band transmitter (Tx) for the downlink from the satellite.
The UHF receiver operates at a fixed uplink rate of 4 𝑘𝑏𝑝𝑠, and the antenna system is an
omnidirectional pre-deployed quad-canted monopole configuration placed on the +𝑌 panel of
the satellite. The S-band transmitter with enhanced filtering operates at a scalable rate from
128 𝑘𝑏𝑝𝑠 to 2048 𝑘𝑏𝑝𝑠 and the antenna system is an omnidirectional pair of patch antennas
bonded directly to opposing satellite panels (+𝑋 𝑎𝑛𝑑 – 𝑋). [7]
11
2.3.3 Attitude and Orbital Determination and Control Subsystems
Coarse attitude determination (~2°) is achieved by five sun sensors and a magnetometer
providing a full three-axis solution. Fine attitude determination (~60′′) is achieved by the
Sinclair Interplanetary S3S startracker, mounted directly onto the payload for optimum
alignment stability over temperature variations experienced on-orbit.
Fine and Coarse attitude control is achieved by a set of three orthogonal high-torque (60Nm)
reaction wheels, providing improved slew rates. Detumbling and momentum dumping are
provided by a set of three orthogonal magnetorquers designed and built at SFL. These
magnetorquers have circuitry built into it allowing control of torquer states, eliminating the need
for dedicated torquer drivers.
Orbit determination is achieved by a GPS Receiver. Both the payload and satellite can request
position, velocity and time information from the GPS receiver.
Attitude and Orbital Determination and Control Subsystem (AODCS) activities are recorded,
measured, and satellite maneuvers on-orbit are handled by the On-orbit Attitude System
Software (OASYS).
2.3.4 Power Subsystem
GHGSat-D power subsystem is driven by the Modular Power System (MPS). The GHGSat-D
MPS is composed of eight individual cards, although it has provision for nine, each performing a
specific task but all having a common interface. Figure 5 shows the MPS for GHGSat-D. The
Figure 5: GHGSat-D MPS
12
𝟓𝑽 Regulator generates 5𝑉 for powering low voltage units. Interface Node (IFN) collects UHF
temperature (℃) and RSSI (𝑉) telemetry. Micro Switched Power Node (μSPN) distributes
power to the various loads on the satellite and each μSPN provides power to five digitally
controlled switches configured for either 𝑉𝑏𝑢𝑠 or 5𝑉. Solar Array and Battery Interface Node
(SABIN) filters noise from SABR and prevents power from being injected back onto the solar
arrays, and collects solar array telemetry prior to power being processed by the SABR. Solar
Array and Battery Regulator (SABR) is a power converter interfacing the solar arrays (peak
power tracking) to the internal battery (regulates battery charging).
Figure 6 illustrates the designed power distribution by the MPS on GHGSat-D, including power
generation by the solar arrays and energy storage by the batteries. The figure also shows each
subsystem’s link to its power switch on a micro switch power node (μSPN) including those to
the communication interfaces on the OBC. Knowledge of such information is required to
develop GHGSat-D test scripts (Chapter 3).
Figure 6: GHGSat-D Power Distribution (MPS)
Each solar cell string has eight cells connected in series, and is equipped with blocking diodes (in
SABIN) to prevent power from being dissipated in the shadowed strings that are connected in
parallel with the illuminated strings. The +𝑋,−𝑋, 𝑎𝑛𝑑 – 𝑍 panels have two strings, +𝑌 𝑎𝑛𝑑 + 𝑍
panels have one string and –𝑌 panel has no strings. Solar arrays produce ~21 𝑉 of unregulated
13
output voltage to charge the 12 𝑉 batteries or provide power directly to various satellite
subsystems when the batteries are completely charged at (𝑉𝑏𝑢𝑠 = ~12.3 𝑉).
SABR is a DC/DC converter, which connects the solar arrays to the battery and allows solar
arrays to run at a higher voltage than when directly connected to the battery. The higher
unregulated output voltage is converted to a lower bus voltage (𝑉𝑏𝑢𝑠) but since only a negligible
amount of power is dissipated, more current is available to charge the battery quicker or power
the various satellite subsystems faster2. The peak power tracking functionality available in
SABR increases the efficiency of the power subsystem by closely matching the output voltage of
the solar array to the input voltage of the batteries.
Batteries are connected in a 3S1P3 configuration, and are coupled with the Battery Interface
Module (BIM) that monitors battery charging and discharging, manages the battery heaters,
which turn ON when the battery temperature drops below 5 ℃ and turn OFF when the battery
temperature rises above 10 ℃, and collects battery health telemetry.
The ~12.3 𝑉 regulated output voltage is further down converted to 5 𝑉 by the 5V regulator.
Power is then provided to the solid-state switches on the μSPN as either 𝑉𝑏𝑢𝑠 or 5𝑉.
2.3.5 Thermal Subsystem
GHGSat-D thermal subsystem is passively designed relying heavily on thermal tapes applied to
external panels of the satellite with the exception of battery heaters, which are actively managed
through BIM.
2 Higher current rate does not directly lead to quicker charging but instead allows the battery/system to reach the
voltage peak faster that intern fastens charging.
3 Three-Series (3S), One-Parallel (1P)
14
2.3.6 Payload
GHGSat-D carries a single payload containing two instruments. The primary instrument is a
Short-Wave-Infrared Spectrometer (SWIR) measuring absorption “fingerprints” for both CH4
and CO2. The secondary instrument is a Visible-and-Near-Infrared hyperspectral sensor (VNIR)
measuring clouds and aerosols. Both the instruments are designed to complement each other and
target the same region of interest (ROI). The secondary instrument adds to the accuracy of the
primary instrument by discarding cloud and aerosol detection (which add to the concentration
levels of GHG) from the field of view of the primary instrument’s image.
An advantage of observing in the near-infrared is dust’s transparency to it. This is why an optical
(visible) telescope is unable to see a point on the surface of Earth obscured in dust, whereas one
working in the near-infrared is be able to detect emissions. Dust becomes observable in far-
infrared, and relatively cold objects become visible in the infrared. [8]
Figure 7 provides a standalone payload image. Both the SWIR and VNIR instruments are clearly
visible. Payload consumes 12 𝑊 at maximum capacity (both instruments and heaters are
activated). The payload weighs 5.5 𝑘𝑔 and has a volume of 2000 𝑐𝑚3.
Figure 7: Payload
Gases absorb light at different wavelengths creating spectral fingerprints. GHGSat-D will find
those fingerprints using sunlight and will measure the brightness of those fingerprints to
determine how much of each pollutant is present. GHGSat-D’s infrared spectrometer uses
multiple beam interference of light for high resolution spectroscopy and is based on the Fabry-
15
Perot interferometer, and is used to resolve sources of light that have narrowly separated
wavelengths. The Fabry-Perot interferometer is able to produce sharp interference peaks because
it uses multiple beams’ interference resulting for a higher resolution of the interferometer. Higher
resolution images allow GHGSat-D to accurately pinpoint GHG emissions to their source.
GHGSat-D will measure fingerprints from sites all around the world – such as oil wells in Texas,
oil sands in Canada, and even coal mines in China. Data products produced by GHGSat-D
mission for commercial and regulatory activities target the following sources:
1. Oil and gas
2. Waste disposal management
3. Power generation
4. Mining and exploration
5. Pulp and paper
6. Agriculture
7. Transportation
8. Government (regulation and enforcement)
16
Chapter 3
Satellite Testing
Satellite Testing 3
Thorough testing is the only way of determining the build of GHGSat-D satellite and the
reliability of its operations over its designed life. GHGSat-D satellite undergoes various types of
testing and this section includes those involving the author, beginning from development of
GHGSat-D mission “Flatsat,” antenna pattern testing, functional tests, payload testing, satellite
burn-in and thermal vacuum testing. GHGSat-D satellite testing takes up a significant portion of
GHGSat-D mission schedule and adds a sizeable chunk to the program cost.
Phase-D - Manufacturing, Assembly, Integration and test is the highest contributor to mission
cost and this is in line with the microspace philosophy which relies heavily on comprehensive
testing of the satellite, and the breakdown shows the importance of test, analysis, inspection,
verification and validation in the life cycle of satellite development.
17
3.1 Flatsat
The GHGSat-D Flatsat is representative of the satellite hardware components and is integrated
using engineering model hardware and spares, and aids in the development of the satellite.
Figure 8: GHGSat-D Flatsat
The OBC and ACS software is integrated and tested, in addition to developing functional test
software (chapter 3), preparing, testing and debugging Spacecraft Autonomously Pointing Its
ANTennas (SAPIANT) thread (chapter 4), and commissioning procedures (chapter 5) that are
executed on the Flatsat. Table 4 lists the driving requirement supporting the Flatsat design.
Table 3: Driving Requirements for the GHGSat-D Flatsat
# Requirement Rationale
1 GHGSat-D Flatsat dimensions shall
be 550 × 660 𝑚𝑚
Flatsat has to be stackable with other Flatsats hence
must be the same size as other flatsat plates
2 Spacers shall be used to mount the
units indirectly to the plate Reduces/eliminates electrostatic charge/discharge
3
Flatsat shall provide at least a 6 𝑐𝑚
gap between units using the DF11
connectors
Needed to make room for connector savers for units
with DF11 connectors that have connector savers
attached to them
18
3.2 Antenna Pattern Test
GHGSat-D’s communication subsystem was validated through a series of antenna pattern and
isolation tests, performed using the spare satellite bus (structure and antennas only) in an
anechoic chamber at the St. George Campus (University of Toronto) on July 23, 2014. These
tests include characterizing the performance of the UHF receiver, S-band transmitter, and GPS
antennas and measurements are taken with the spare satellite bus in four orientations
(45° increments) rotated 360° with respect to an immobile source antenna [9].
Figure 9: Antenna Pattern Test Setup
The test setup equipment is designed using (mostly) foam and (some) wood in order to keep
electromagnetic (EM) reflections from influencing the antenna measurement results as some
types of foam absorb electromagnetic radiation.
The antenna pattern measurement technique involves placing the satellite on a wooden platform
that rotates about the azimuth to generate a 2𝐷 radiation pattern, one with the source antenna in
horizontal polarization and a second in vertical polarization, taken at each of the four orientations
per frequency band. Circular polarized antenna characteristics are determined by measuring the
horizontal and vertical electric field components [10]. The test data is used to construct the
polarization gain of the UHF receiver (uplink), S-band transmitter (downlink), and GPS antenna
by determining the free space loss and the system cable loss.
Isolation testing between antennas is performed to determine the amount of energy transferred
from one antenna to the other (coupling) as the satellite contains multiple radios where one is a
transmitter. Excessive coupling degrades the performance of the receiver [11].
19
3.3 Satellite Functional Tests
GHGSat-D functional test scripts and procedures were developed over a period of eight months
(September 2014 to May 2015). Functional testing is a complete test of the satellite hardware put
together with the developed flight software, tested as a single integrated system, to make sure
that the satellite correctly responds to commands and operates as expected on-orbit.
Two types of functional test scripts and procedures are developed for GHGSat-D. The first is the
Long Form Functional Test (LFFT) and the second is the Short Form Functional Test (SFFT).
LFFT is a thorough test involving checks on all units’ operational modes, transition between
modes, power consumption, operating temperatures, and overall unit functionality/performance.
SFFT is a shorter version of the LFFT and as such includes a subset of checks available in the
former. These functional tests are performed at regular intervals from satellite assembly right up
to launch, and satellite performance is recorded after every formal test in order to review the
results to ensure that anomalies are evaluated and rectified in a timely way. Margins are applied
during testing to reach the worst-case extremes or levels of efficiency as listed in GHGSat-D
requirement documents such as [12].
Test scripts, unit interface modules, satellite libraries and dictionaries for GHGSat-D are written
in a Python based framework named Unified Spacecraft Task Scripting Toolkit (SCROLL)
developed at SFL. Figure 10 illustrates the SCROLL framework.
Figure 10: SCROLL Flowchart
20
Each test script under SCROLL contains four main functions – Prepare, Setup, Run, and
Teardown. These functions are modified, and written with required margins for every subsystem
available on GHGSat-D. Once individual scripts are tested and completed, they are compiled
together to run autonomously during varying stages of satellite development.
Prepare includes every satellite subsystem to subsystem, or subsystem to ground
software/equipment interfacing modules which link the satellite to the ground software. Setup
includes powering ON devices or transitioning them to a required state prior to commencing a
test. Run function is where the test is performed, margins compared, and results verified. Once
in Run, test results can either fall within acceptable margins (pass) or not (fail). On a failed test,
an operator has the choice of either to Continue, Abort or Run Again. Continue transitions the
subsystem test to Teardown, which powers OFF the device and ends the test for the device.
Abort is generally avoided and only used in cases where devices go completely unresponsive.
Finally, Run Again transitions the subsystem test to Run, restarting the test sequence.
Key driving requirements adhered to during functional test development are listed in Table 4.
Table 4: Functional Test Requirements [13]
# Requirement Rationale
1 Functional tests shall be as automated as
is reasonable to achieve
Automation saves time, reducing operating
costs and eliminates mundane user repetitions
2 Functional test results shall be self-
documenting
Test report with results and telemetry are
recorded for evaluating performance
3
Functional test shall communicate via
NSP and run over both the test port and
radio links
Provides an option to repeat ground tests on-
orbit, directly comparing the results if a
problem is uncovered
4
Functional test software shall be
modular and easily configurable for
multiple satellite configurations
SCROLL framework and functional test
software will be used to implement tests on
future SFL satellites, and must be capable of
running when some units are not present
The average LFFT run duration on GHGSat-D is four hours and the average SFFT run duration
is thirty minutes.
21
3.3.1 Command and Data Handling Subsystem Tests
The On Board Computer (OBC) tests are performed on both the House Keeping Computer
(HKC) and the Attitude Determination Control Computer (ADCC) on GHGSat-D satellite.
These OBCs are tested through radio links and the test port (CAN) on the satellite, in
conjunction with other subsystems. The test library is loaded onto the computer to perform the
tests, followed by output data review to verify the test outcome. Furthermore, the OBC tests
thoroughly examine the performance of the on-board RAM and Flash, in addition to
investigating and assessing the communication interfaces on the OBC.
3.3.2 Communication Subsystem Tests
The UHF receiver test includes measuring the unit’s power consumption, received signal
strength indicator (RSSI) and temperature, while the S-band transmitter tests examines the
unit’s communication interface (SPI), power consumption, temperature, data rates (32kpbs,
64kbps, 128 kpbs, 256 kpbs, 512 kpbs, 1024 kpbs, and 2048 kpbs), modulation (BPSK and
QPSK), and bit error rates and assesses that evaluations remain within acceptable margins for the
aforementioned investigations to be concluded confidently.
3.3.3 Attitude and Orbital Determination and Control Subsystem Tests
The AODCS tests are carried out on all the GHGSat-D sensors and actuators. The sensors
include GPS receiver, sun sensors (x5), magnetometer, rate sensors, and startracker. The
actuators include magnetorquer (smart torquer) (x3) and reaction wheels (x3).
The GPS receiver test examines the pulses per second (PPS) signal; power consumed, ground
broadcast packets and lastly the log version. The GPS receiver is a COTS unit modified for use
in space. Such a modification allows the GPS receiver to be used on a satellite at high altitudes
and speeds experienced on-orbit. The log version check verifies that such a modification has
been made on the satellite’s GPS receiver.
22
The sun sensor tests are performed in both irradiated and non-irradiated conditions examining
the centroid/profile frames for each sun sensor, and basic telemetry such as unit responsiveness,
power, temperature, and internal rail voltages are logged and analyzed. Figure 11 shows the
centroid/profile results of a single sun sensor (+𝑋) after completion of its functional test.
Figure 11: Sun Sensor (+X) Non-Irradiated (left) and Irradiated (right) Centroid/Profiles
The magnetometer test is performed both with a magnetic field induced by bringing a bar
magnet near the magnetometer’s location on the satellite, and without inducing a magnetic field.
Figure 12 shows the results of both these cases.
Figure 12: Magnetometer with no magnetic field (left) and with a magnetic field (right)
The magnet is rotated on all three magnetometer’s axes and the results are accounted for in the
form of logs and plots (magnetic count vs. time), in addition to telemetry checks similar to those
of the sun sensors.
23
The rate sensor tests include a polling test, which examines the total number of raw angular rate
measurement made, in addition to telemetry collection and investigation. Figure 13 shows results
of one such polling test.
Figure 13: Rate Sensor Polling
The startracker test examines the unit’s responsiveness in various transition states and modes
and performs a built in self-check which inspects the analogue frame telemetry (sensor current,
detector voltages and core temperatures) and performs a dark image pattern check.
The smart torquer tests include altering the direction of current flow in the torquer from
clockwise direction to counter-clockwise direction by controlling the GPIO pins and recording
the measured current. The test is also performed with a compass to validate the direction of
current, discerning for certain that the current flow is directed as intended.
The reaction wheels are sped at varying angular velocities, and are accelerated to a predefined
highest limit in clockwise and counter-clockwise direction to attain a required angular velocity.
Figure 14 shows the sequence of events that followed during a reaction wheel test. Throughout
the sequence, wheel telemetry is collected and plotted illustrating a trend shown in the said
figure.
24
Figure 14: Reaction Wheel Test Sequence
Positive torque is applied to spin the wheels in a clockwise direction and negative torque is
applied to spin the wheel in a counter-clockwise direction. After application of positive or
negative torques, the wheel is spun at a maximum rate. Continuous polling telemetry is collected
until the wheels reach saturation and the desired mode change. Speed mode allows transitioning
the wheels to a state from where they are further accelerated, idle mode eliminates further
accelerations, and natural decay due to friction brings the wheels to a stop.
3.3.4 Power Subsystem Tests
The power subsystem check thoroughly examines the power producing (solar arrays), energy
storing (batteries (BIM)), and power managing (MPS) units in addition to the separation switches
(x2).
The solar array check is performed on every array, both in irradiated and non-irradiated
conditions, measuring and validating the current produced by the arrays in each case. It was
imperative to power ON other satellite subsystems if the battery was completely charged during
these tests as otherwise the solar arrays would not show any current reading.
The BIM and MPS tests are similar and they check the satellite’s power up before and after
loadshed (system reset) and simulate performance during eclipse and sunlit conditions while
logging telemetry related to unit modes, alarms, responsiveness, current, voltage, and efficiency.
25
3.4 Payload Tests
GHGSat-D payload tests were developed from June-2015 to January-2016 and performed up to
the satellite’s launch on July 22, 2016.
3.4.1 User Interface
Payload software is developed by GHGSat Inc. and interactions occur through NSP or the
electrical bus (Ethernet). Payload software has several states and functionalities, which are listed
in [14], and it runs on the Linux operating system.
To simplify a test operator’s interaction with the payload using the electrical bus (Ethernet)
during ground testing, microspace philosophy is employed to develop a simple, easy, and quick
interface providing the operator with access to all the required payload features, commands, and
instrument and heater settings that make it redundant for the operator to have any prior
knowledge about payload software or states.
Figure 15 shows the Python based user interface named call.py¸ which imports the TIP socket to
complete the link between the ground software and the satellite (payload).
Figure 15: Payload Ground Testing Interface
The test operator simply runs the script entering numbered values matching the labelled states.
Every numbered value state has a hierarchical flow, leading to other configurations allowing the
operator to work with the payload system and perform tasks as required. Linux operating system
works on the Shell script command line interpreter and the user interface developed above also
has the embedded capability to run shell commands from a windows computer to control the
payload.
26
3.4.2 Functional Tests
Both the LFFT and SFFT scripts are developed for the payload. The LFFT script turns the
payload ON and OFF, measures power (voltage and current), loads/configures the payload
application and cameras, queries states, performs IMU check, tests the payload to GPS line
(PPS), performs a bit error test, NSP stress test, a SD card check, records the temperature log and
test results logs while capturing SWIR and VNIR images in dark and lit conditions. The SFFT
script is a subset of the payload LFFT and simply turns the payload ON and OFF, measures
power (voltage and current), and captures SWIR and VNIR images in either dark or lit
conditions.
The functional script commands are written in shell script for every individual test and loaded on
to the payload computer. These scripts are then called either through an automated user prompt
inclusive setup developed via SCROLL or through the Python based user interface call.py.
3.4.3 Electromagnetic Compatibility Testing
Electromagnetic Compatibility (EMC) testing is performed on the payload to catch any
electromagnetic interferences (EMI) picked up by the sensor or its front-end or Analogue to
Digital Converter (ADC) electronics, to verify the payload image quality experienced during
irradiated and non-irradiated frame capture, so that they can be compared statistically, while
observing sensitivity between GHGSat-D in a quiet (all OFF) and noisy (all ON) state. [15]
Figure 16: Payload EMC Testing at the SFL Anechoic Chamber
EMC tests are performed at the in-house anechoic chamber. The test results were analyzed by
GHGSat Inc. and it was determined that satellite unit configuration does not cause any EMC
problems on the payload. [16]
27
3.4.4 Open Field Testing
Open field testing was performed on January 7, 2016. Desired target locations were carefully
selected in advance to make sure that there were no close objects around the field of view where
stray light problems were expected.
Figure 17: Payload Open Field Testing outside SFL
The ideal open field testing scenario would have been a bright source at an infinite distance,
having an angular separation of a few pixels, surrounded by 5° to 10° of darkness with the
payload positioned on a controllable pan-tilt mechanism [17]. An ideal open field scenario was
successfully replicated with the exception of a bright source at an infinite distance. The source
distance ranged between 100 𝑚 𝑡𝑜 1 𝑘𝑚 depending on the location.
Frame sequences were acquired while panning the payload. The results were successfully
verified by GHGSat Inc. and the flat field extractions and coefficients produced were within
acceptable margins.
28
3.5 Burn-In
GHGSat-D satellite hardware Burn-In was performed over a period of three months (October
2015 to December 2015). The Burn-In script is developed as a single script capable of
controlling every unit and software mode, in addition to the reaction wheel and torquer current
directions in SCROLL, within a week in advance of the Burn-In start period.
Extensive Burn-In is performed on the GHGSat-D to screen subsystem units for reliability.
Satellite hardware Burn-In is performed for 1000 hours to expunge early part failures. Most
components fail either very early or very late. Beyond a certain operational point, a unit can
confidently be predicted to continue operating until its envisioned end of life. [18]
Figure 18: The Bathtub Curve [18]
Figure 18 illustrates the Burn-In cycle. In accordance with the microspace philosophy, SFL’s
approach to Burn-In on GHGSat-D is to keep it at as low maintenance as possible. All
subsystems are transitioned into a state in which components are powered and left in this state
for as long as possible with minimal telemetry collected and monitored, logging the duration of
Burn-In. Burn-In is accelerated by warmer temperatures due to internal dissipation, and
temperatures in excess of +50℃ are observed.
The payload Burn-In script is loaded on the payload computer and it runs the payload heaters at
low duty cycle (5%) whilst capturing images at a regular cadence, with the data generated being
discarded to avoid adding too many write cycles on the onboard FLASH memory.
29
3.6 Thermal Vacuum Test
Faults are revealed in a satellite via testing in an environment that simulates conditions within
which a satellite will operate while in space. Thermal vacuum (TVAC) testing at SFL’s vacuum
chamber creates thermal cycles and thermal gradients in a clean room environment used to verify
and validate4 GHGSat-D’s thermal analysis. TVAC was performed in December 2015.
Figure 19 shows GHGSat-D being placed into the vacuum chamber. A standard technique to
create a microgravity environment is to suspend each segment of the structure from its center of
mass, using lightweight wires creating the one-g environment. Liquid nitrogen is used to reduce
the chamber temperature to between −150℃ 𝑡𝑜 − 200℃ and the chamber pressure is
maintained at 10−7 𝑇𝑜𝑟𝑟. Infrared lamps generate heat cycles experienced by GHGSat-D while
orbiting around Earth, simulating infrared radiation emitted by the Sun, and reflecting infrared
radiation and albedo, emitted back from the surface of Earth.
Figure 19: Thermal Vacuum Testing for GHGSat-D
Together, the light weight wires suspending the satellite, liquid nitrogen cooling the chamber,
low pressure replicating near vacuum conditions, and infrared heat lamps generating heat cycles
recreate the thermal vacuum environment in which GHGSat-D will operate, thus engineering
environmental conditions needed to thoroughly test the satellite.
4 Verify is checking if analysis meets the requirements and Validate is checking if the process of checking the
requirements meet the customers specifications.
30
Figure 20 illustrates the temperature profile that GHGSat-D is transitioned through for the
duration of the TVAC testing.
Figure 20: Temperature Profile during TVAC
During TVAC testing, fifteen GHGSat-D orbits were simulated, with ten simulated payload
observations. Operating the satellite during TVAC is akin to simulating an on-orbit flight. Four
LFFTs are performed during the test, first at the beginning (+20℃), followed by another after
transitioning to extreme hot (+50℃), then again at extreme cold (−20℃), and finally the last
one, once the satellite is back at an ambient temperature (+20℃).
Since GHGSat-D is nominally nadir pointing, a nadir tracking/payload observation simulation
was performed, with both a sunlit and eclipse portion of the orbit accounted for, while running
the SFFT during each orbit in addition to the detumbling simulation that occurred earlier.
Anomalies during these cycles were noted and immediately looked into. Only minor issues were
detected such as overcurrent on the Attitude Determination and Control Computer (ADCC) due
to the overcurrent limit being set too low, reaction wheels and sun sensors not initialized by the
attitude determination and control system (ADCS) software due to a software bug, and negligible
payload issues that were handled by GHGSat. Finally, all critical internal conductances were
verified and deemed acceptable by the thermal engineer and the TVAC was successfully
completed.
31
Chapter 4
Autonomous Ground Target Tracking
Autonomous Ground Target Tracking 4
Small satellites in Low Earth Orbit (LEO) are producing data at greater volumes than ever
before, driving the need for efficient and creative ways to download that data. While few small
satellites employ high gain antennas, the omni-directional antennas used tend to have
significantly higher than average gain in certain regions of the sphere. A satellite, particularly
one equipped with a transmitter having scalable data rate, can use this fact to improve downlink
performance by keeping its antennas pointed at a ground station during passes.
To maximize use of pass time, the satellite must orient its antennas prior to the start of the pass
rather than being commanded to do so after the pass has started. While such scheduling could be
achieved using time-tagged commands, this would require effort on the ground, uplink time to
execute, and knowledge of all other potentially conflicting operations scheduled on the satellite
(e.g. payload operations). An alternative, more robust, approach would be to embed the
intelligence for detecting and executing these manoeuvres onto the satellite itself where the
Attitude and Orbital Determination and Control Subsystem (AODCS) already possesses the
necessary orbital position data and where simple logic can be used to avoid scheduling conflicts.
The Space Flight Laboratory (SFL) has developed and tested an algorithm for GHGSat-D
satellite that autonomously detects when ground station passes are imminent and issues
commands to the AODCS to execute the tracking maneuver. The algorithm is scalable to
constellations of satellites making shared use of multiple ground stations. Chapter 4 describes the
aforementioned algorithm known as Spacecraft Autonomously Pointing Its ANTennas
(SAPIANT) and summarizes the results of inflight tests conducted using GHGSat-D to
demonstrate nearly an order of magnitude increase in downloaded data-volume.
32
4.1 Background
Ground station software uses orbital elements to determine the duration of contact time between
the satellite and itself, and subsequently prepares the station antenna in advance, for upcoming
pass of the satellite. Communication is locked when the satellite appears on the horizon plane -
tangent plane to the surface of the Earth at the ground station [19].
Figure 21: Station Pass
The elevation is an angle between a satellite and a ground station ranging from 0° to 90°, and
the elevation angle at 0° represents the ideal horizon. In any given direction of the horizon
plane, the natural barriers and man-made barriers will differ, reducing or raising the required
elevation. This is the visible horizon, and for the SFL ground station ranges between 5° to 10°
depending on the satellite’s orbital track. Visible horizon is always shorter than the ideal horizon,
reflecting on shorter communication time between a satellite and a ground station. To avoid
problems of natural barriers, satellite operators predetermine the lowest elevation of the horizon
plane. The horizon plane with a predetermined minimum elevation is the designed horizon, and
is set at a 5° elevation in SAPIANT.
33
Table 5 presents a description of labels (A to E) depicted in Figure 21.
Table 5: Describing Station Pass labels
Label Description
A Maximum distance between a satellite and a ground station presenting the worst link
budget case at 0° elevation.
B Minimum distance between a satellite and a ground station presenting the best link
budget case at 90° elevation.
C Ideal Horizon: The elevation at 0° , without accounting for Earth’s terrain
irregularities.
D Visible Horizon: The elevation between 5° to 10° due to natural and man-made
barriers.
E Designed Horizon: The minimum elevation set at 5° in SAPIANT.
SFL ground station has a visible horizon starting from 5° elevation and rising up to 10° elevation
around the UTIAS dome. The designed horizon is set at 5° elevation in SAPIANT, and does not
account for the varying visible horizon.
Table 6: SFL Ground Station Coordinates
Latitude (degrees) 43.9 N
Longitude (degrees) 79.5 W
Elevation (meters) 193
Designed horizon (degrees) 5
The contact duration between an orbiting satellite and ground station depends on the maximum
elevation of satellite’s path over the ground station. The length of locked communication
between a satellite and ground station depends on the satellite’s maximum elevation and altitude.
High altitude results in a longer contact period. Satellites in Geosynchronous (GEO) and
Geostationary (GSO) orbits (36000 km from Earth) maintain a 24-hour ground contact due to
their higher altitude. The altitude of LEO (160 km to 2000 km) satellites is significantly lower
than those in the aforementioned orbits, resulting in shorter contact period. Satellites in LEO
experience 5 to 15 minutes of ground contact 4 to 8 times per day [19]. Such short contacts
during orbit mean telemetry downlink (data transmitted from satellite to ground) and command
34
uplinks (data transmitted from ground to satellite) must be performed in an efficient manner.
Telemetry downlink provides the ground control team with information on the satellite’s health
and payload data. Command uplink allows the ground controller to operate the satellite, update
software, and set parameters [20].
Downlinks can become bottlenecks for small satellites with increasing satellite functionality and
data production. The performance of a downlink can be increased by either providing more
power to the transmitting antenna or by using a larger antenna. However, the simplest way to
increase downlink performance and hence the achievable data rate, in addition to bettering the
link margin, would be to point the transmitting antenna. .
Antenna performance is characterized by terms such as efficiency and gain. Gain combines
antenna’s efficiency and its directivity into one figure and is used to measure antenna
performance by determining the efficiency of radiated output in one direction [21]. S-band patch
antennas are positioned on +𝑋 and −𝑋 panels of the satellite bus. Figure 22 depicts a single S-
band patch antenna positioned on the +𝑋 panel along with its coordinates.
Figure 22: GHGSat-D Downlink Antenna Orientation
The S-band antenna coordinates are assigned according to the GHGSat-D satellite bus coordinate
system. The coordinates are as follows:
1. +𝑋 axis is out of the page
2. +𝑌 axis is pointed towards the right when looking into the page
3. +𝑍 axis is pointed towards the top when looking into the page
35
Figure 23 displays the 2D constructed circular polarization gain of the S-band downlink patch
antenna as seen from one direction only. Gain is measured in an anechoic chamber by feeding
power to the antenna and measuring the strength of radiated electromagnetic field in different
angles of the surrounding space.
Figure 23: Measured S-Band Antenna Circular Polarization Gain
Gain measurements were collected during GHGSat-D antenna pattern testing. The circular axis
(degrees) represents antenna orientation beginning with the S-band antenna on the +𝑋 plane of
the satellite bus pointed towards boresight. The radial axis denotes gain in decibels (dBi). Two
dimensional views from multiple directions are required to gather sufficient gain estimates of
antenna radiation in surrounding space. A three dimensional pattern provides a better
understanding of antenna radiation.
Gain information from known measurements helps in identifying and selecting the GHGSat-D
plane that must be pointed towards the SFL ground station or any other selected ground station
during a pass in order to improve the quality of downlink. Using this information SAPIANT
repositions the satellite in such a way that the S-band patch antenna located on the +𝑋 panel of
GHGSat-D is directed towards the ground station during a pass since this achieves maximum
downlink antenna gain as seen in Figure 23. Furthermore, downlink margin improves during a
pass since satellite elevation increases.
36
Table 7 provides GHGSat-D’s downlink margin for 0 and 90 degree elevation angles.
Table 7: Downlink margin vs elevation
Refer to Figure A B
Elevation Angle (degrees) 0 90
GHGSat-D orbital altitude
(km)
505 505
Distance to station (km) 2586 505
Total propagation loss (dB) -170 -155
Downlink margin (dB) 7 21
Once GHGSat-D passes over SFL ground station (above 5° elevation), downlink margin of 9 dB
and higher is achieved. Moreover, it is worth noting that the orbital plane is assumed fixed and
defined by orbital parameters. Due to the Earth’s rotation, the ground station position changes
relative to the orbital plane leading to varying duration of daily pass times. It is also important to
note that downlink antenna performance improves as the satellite’s elevation angles increases
(even without antenna pointing), and is clearly noted in the table above.
37
4.2 Requirements
Table 8 presents a list of requirements, which form the basis of measuring the successful
implementation of SAPIANT on GHGSat-D.
Table 8: SAPIANT Requirements
# Requirement Rationale
1 SAPIANT shall track stations based
on their tracking priority.
Higher priority stations are tracked prior to lower
priority stations. Prevents station tracking conflicts
(multiple stations in view) and allows operators to
plan passes with the desired station.
2 SAPIANT shall track at most 10
ground stations.
The limit can be increased to a higher number. It is
unlikely at present that GHGSat-D will require a
number exceeding 10 stations. Keeping the station
limit fixed reduces memory used on the OBC.
Single station information includes latitude,
longitude, elevation and elevation mask.
3 SAPIANT shall validate data prior
to performing on-orbit calculations.
Data is validated through a series of checks which
prevents processing corrupt data thus reducing
processing time (cycle count) of SAPIANT thread
hence allowing other threads loaded on OBC
(CANOE) to function in a timely manner.
4
SAPIANT shall align GHGSat-D
such that its S-band transmitter
antenna boresight is pointed towards
the SFL ground station during a
station pass.
Improves the scalability of the data rate aiding in
downlinking at least (confidential) Mbpd of
GHGSat-D data.
4.3 SAPIANT Arithmetic
This section highlights the mathematical structure that forms the backbone of the autonomous
ground station tracking algorithm. The calculations are performed in Earth-Centered, Earth-
Fixed frame (ECEF).
38
4.3.1 Station and Satellite Position
Figure 24 represents a station tracking scenario and introduces a set of data that is either
provided to or calculated by the autonomous station tracking algorithm.
Figure 24: SAPIANT Station In-View Parameters
The terms in Figure 24 are defined as follows:
Orbital radius (𝒅𝑺) is the distance from the center of Earth to the satellite.
Station radius (𝒅𝒈) is the distance from the center of Earth to the ground station.
Slant range (𝑳) is the distance from the ground station to the satellite.
Altitude (𝑨) is the distance from the surface of Earth to the satellite.
Horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) is the distance to the horizon from the satellite.
Radius of Earth (𝑹𝒆) is the distance from the center of Earth to its surface at the equator.
39
Table 9 lists all the parameters required to calculate and determine when a station enters and
leaves view of the satellite.
Table 9: Station in View Determination Parameter List
Variable Description
𝑟𝑔⃗⃗⃗ Station position vector, 𝑟𝑔⃗⃗⃗ = [𝑋𝑔, 𝑌𝑔, 𝑍𝑔] (km)
𝑟𝑠⃗⃗ Satellite position vector, 𝑟𝑠⃗⃗ = [𝑋𝑠, 𝑌𝑠, 𝑍𝑠] (km)
𝑑𝑆 Orbital radius, 𝑑𝑠 = √𝑋𝑠2 + 𝑌𝑠
2 + 𝑍𝑠2 (km)
𝑑𝑔 Station radius, 𝑑𝑔 = √𝑋𝑔2 + 𝑌𝑔
2 + 𝑍𝑔2 (km)
𝐿 Slant range, 𝐿 = √(𝑋𝑠 − 𝑋𝑔)2 + (𝑌𝑠 − 𝑌𝑔)2 + (𝑍𝑠 − 𝑍𝑔)2 (km)
𝐴 Altitude, 𝐴 = 𝑑𝑠 − 𝑅𝑒 (km)
𝑑ℎ𝑜𝑟𝑖𝑧𝑜𝑛 Horizon, 𝑑ℎ𝑜𝑟𝑖𝑧𝑜𝑛 = (𝑑𝑠2 − 𝑅𝑒
2)1
2⁄ (km)
𝑅𝑒 Radius of Earth, 𝑅𝑒 = 6378.137 km (WGS84)
4.3.1.1 Station Position
Station coordinates in the geodetic coordinate frame are represented by 𝑷𝑮⃗⃗⃗⃗ ⃗:
𝑃𝐺⃗⃗⃗⃗ = [𝜆 𝛷 𝘩]
Where, 𝜆 is the longitude (-180 degrees to +180 degrees), 𝛷 is the geodetic latitude (-90
degrees
to +90 degrees), and 𝘩 is the altitude above the reference ellipsoid in km.
The algorithm transforms station coordinates 𝑷𝑮⃗⃗⃗⃗ ⃗ to Earth-Centered, Earth-Fixed frame (ECEF).
ECEF is a Cartesian coordinate system where the center of Earth is its origin. The X-axis passes
through the Greenwich meridian, the Z-axis coincides with Earth’s axis of rotation, and its Y-
axis lies in the equatorial plane, completing the right-handed system [22].
40
Station ECEF Cartesian coordinates (𝑹𝒈⃗⃗⃗⃗ ⃗) are determined as follows:
𝑟𝑔⃗⃗⃗ = [
𝑋𝑔
𝑌𝑔𝑍𝑔
] = [
(𝐶⊕ + ℎ)𝑐𝑜𝑠𝛷𝑐𝑜𝑠𝜆
(𝐶⊕ + ℎ)𝑐𝑜𝑠𝛷𝑠𝑖𝑛𝜆
[(1 − 𝑒2)𝐶⊕ + ℎ]𝑠𝑖𝑛𝛷
] Eq. 1.0
Where, 𝑒 is the eccentricity of Earth and 𝐶⊕ is the radius of curvature of Earth in the prime
vertical. 𝐶⊕ is defined in Eq. 1.1.
𝐶⊕ =𝑅𝑒
√1 − 𝑒2𝑠𝑖𝑛2𝛷 Eq. 1.1
Eq. 1.2 is derived as follows resulting from the eccentricity 𝑒 of Earth due to flattening of at the
poles.
𝑒2 = 1 − (𝑅𝑝𝑜𝑙𝑒
𝑅𝑒𝑞𝑢𝑎𝑡𝑜𝑟)
2
Eq. 1.2
Where, 𝑅𝑝𝑜𝑙𝑒 is the semi-minor axis and 𝑅𝑒𝑞𝑢𝑎𝑡𝑜𝑟 is the semi-major axis as attributed by the
World Geodetic System 1984 (WGS84), which is an Earth-centered, Earth-fixed (ECEF)
reference system.
Earth’s equatorial radius 𝑅𝑒 from WGS84 is used to simplify the ellipsoidal model into a
simplified spherical model, resulting in the spherical model having a larger radius at the poles.
The spherical Earth model is used to simplify the equation. Due to the spherical Earth model
assumption, a small time difference exists between the actual pass start/end time (as recorded by
SFL ground station) and the pass start/end time calculated by SAPIANT. Currently, this
difference is less than 20 seconds. Using a WGS84 model would improve the accuracy of the
pass start/end time calculated by SAPIANT and reduce this time difference.
Eq. 1.3 modifies Eq. 1.2 by equating 𝑅𝑝𝑜𝑙𝑒 = 𝑅𝑒𝑞𝑢𝑎𝑡𝑜𝑟 = 𝑅𝑒 = 6378.137 𝑘𝑚
𝑒2 = 1 − (𝑅𝑒
𝑅𝑒)2
Eq. 1.3
Eq. 1.1 is further simplified in Eq. 1.4 by substituting Eq. 1.3 into Eq. 1.1
𝐶⊕ =𝑅𝑒
√1= 𝑅𝑒 Eq. 1.4
41
Using a spherical Earth model, station position ECEF Cartesian coordinates (𝒓𝒈⃗⃗⃗⃗ ) are adjusted as
follows:
𝑟𝑔⃗⃗⃗ = [
𝑋𝑔𝑌𝑔𝑍𝑔
] = [
𝑅𝑒 + ℎ)𝑐𝑜𝑠𝛷𝑐𝑜𝑠𝜆(𝑅𝑒 + ℎ)𝑐𝑜𝑠𝛷𝑠𝑖𝑛𝜆
(𝑅𝑒 + ℎ)𝑠𝑖𝑛𝛷] Eq. 1.5
4.3.1.2 Satellite Position
Satellite coordinates in the ECEF frame are defined as follows:
𝑟𝑠⃗⃗ = [𝑋𝑠 𝑌𝑠 𝑍𝑠]
Satellite position (𝒓𝒔⃗⃗ ⃗) is collected directly from the AODCS.
4.3.2 Distance to Horizon
Figure 25 illustrates a triangular geometry through which distance to the horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) is
determined.
Figure 25: Distance to Horizon in a Two-Dimensional Plane
Two sides of the triangle are usually known. The two known sides are as follows and appear in
Figure 25 and Figure 26:
1. The distance from the satellite to the center of Earth (orbital radius (𝒅𝒔)) – Figure 25
2. The distance from the ground station to center of Earth (station radius (𝒅𝒈)) – Figure 26
42
The orange dot is representative of the satellite’s position on-orbit. Distance to the horizon
(horizon plane (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏)) is derived using Pythagorean theorem.
𝑅𝑒2 + 𝑑ℎ𝑜𝑟𝑖𝑧𝑜𝑛
2 = (𝑅𝑒 + 𝐴)2 Eq. 1.6
𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏 is dependent on radius of Earth (𝑹𝒆) and the satellite’s altitude (𝑨).
A ground station is considered in-view of the satellite if the station lies within the satellite’s
horizon plane. Re-arranging Eq. 1.6 produces:
𝑑ℎ𝑜𝑟𝑖𝑧𝑜𝑛 = ((𝑅𝑒 + 𝐴)2 − 𝑅𝑒2)
12⁄ Eq. 1.7
Orbital radius (𝒅𝒔) is calculated by taking the square root of the sum of squares of the satellite
position (𝒓𝒔⃗⃗ ⃗).
𝑑𝑠 = √𝑋𝑠2 + 𝑌𝑠
2 + 𝑍𝑠2 Eq. 1.8
The relationship between orbital radius (𝒅𝒔), altitude (𝑨), and radius of Earth (𝑹𝒆) is given by
Eq. 1.9.
𝑑𝑠 = 𝑅𝑒 + 𝐴 Eq. 1.9
Plugging Eq. 1.9 into Eq. 1.7 produces a simplified equation for the distance to horizon
(𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) as shown in Eq. 2.0.
𝑑ℎ𝑜𝑟𝑖𝑧𝑜𝑛 = ((𝑑𝑠2 − 𝑅𝑒
2)1
2⁄ Eq. 2.0
43
4.3.3 Slant Range
Figure 26 illustrates a triangular geometry through which slant range (𝑳) is determined.
Figure 26: Slant Range in a Two-Dimensional Plane
The orange dot is representative of the satellite’s position on-orbit and the smaller green dot
represents ground station position on Earth. Since, satellite position (𝒓𝒔⃗⃗ ⃗) and station position (𝒓𝒈⃗⃗⃗⃗ )
are in the ECEF frame, slant range is determined by calculating the square root of the sum of
squares of the difference between the (𝒓𝒔⃗⃗ ⃗) and (𝒓𝒈⃗⃗⃗⃗ ). Eq. 2.1 represents slant range (𝑳).
𝐿 = √(𝑋𝑠 − 𝑋𝑔)2 + (𝑌𝑠 − 𝑌𝑔)2 + (𝑍𝑠 − 𝑍𝑔)2 Eq. 2.1
44
4.3.4 Maximum Elevation
It is imperative to calculate the maximum elevation (𝜺𝒎𝒂𝒙) of a pass onboard, using information
available from AODCS, since this adds value to the calculations by avoiding the issue of
pointing unnecessarily at a station.
Figure 27: Maximum Elevation
Figure 27 illustrates a sketch to calculate the maximum elevation of the satellite on-orbit. The
elevation angle of a satellite is a measure of how directly overhead a satellite is at a given time.
The elevation angle of a satellite is the angle between a satellite and the local horizon as seen
from a given location (i.e. ground station). The motion of the satellite relative to the Earth is
determined by the orbital motion of the satellite and the Earth’s axial spin. And due to the
rotational motion of the Earth, when the satellite returns to same attitude on orbit one period
later, it is no longer over the same location on Earth.
A satellite in Low Earth Orbit (LEO) is in view of a particular location (i.e. ground station) for
only a short time. To a location on the ground directly under the orbit, the satellite appears above
the horizon on one side of the sky (elevation angle increases from 0° to 90°), traverses the sky
and vanishes on the opposite side (elevation angle decreases to 0°). An elevation of 90° implies
that the satellite is directly overhead. Elevation is measured with respect to a ground location,
and it varies with time as the satellite moves through its orbit. For locations (i.e. ground station)
on Earth at higher latitude, the satellite may be observable but it will never be directly overhead
45
(i.e. elevation angle is never 90°). A satellite appears directly overhead ground stations that are
located at the equator. A satellite will not be visible to the ground station if it does not pass
overhead.
Maximum elevation (𝜺𝒎𝒂𝒙) depends on the position of the ground station, and the position of the
satellite and its altitude. The observable area of Earth’s surface from a satellite depends on its
altitude. The maximum elevation angle is the highest elevation a satellite reaches during a pass
and it increases with a satellite’s altitude.
A ground station can communicate with a satellite only if it is at an elevation angle greater than a
minimum value. Such a minimum value is called the minimum elevation angle (𝜺𝒎𝒊𝒏), and
typically ranges between 5° to 10° (visible horizon). The designed horizon, which is the
predetermined lowest elevation, is set at 5° in SAPIANT, therefore a ground station is only
tracked if the maximum elevation (𝜺𝒎𝒂𝒙) a satellite reaches during a pass is larger than the 5°
designed horizon. The designed horizon value in SAPIANT is adjustable by the satellite
operator.
𝜀𝑚𝑎𝑥 ≥ 𝐷𝑒𝑠𝑖𝑔𝑛𝑒𝑑 ℎ𝑜𝑟𝑖𝑧𝑜𝑛 (𝜺𝒎𝒊𝒏)
Table 10 lists the variables present in Figure 27. Variables listed in Table 9 are not re-discussed
here again such as the satellite and ground station positon.
Table 10: Variables required calculating maximum elevation
Variable Description
𝑣𝑠⃗⃗ ⃗ Satellite velocity vector,𝑣𝑠⃗⃗ ⃗ = [𝑉𝑋, 𝑉𝑌, 𝑉𝑍] (km/s)
𝜂 Plane normal (out of page), 𝜂 = 𝑟𝑠⃗⃗ × 𝑣𝑠⃗⃗ ⃗
∝ Alpha angle, ∝ = cos−1 (|�⃗⃗� ∙ 𝑟𝑔⃗⃗⃗⃗
|�⃗⃗� ||𝑟𝑔⃗⃗⃗⃗ ||)
𝛽 Central angle,𝛽 =𝜋
2− ∝
ι Range, 𝛊 = (𝑑𝑠2 + 𝑑𝑔
2 − 2𝑑𝑠𝑑𝑔 cos(𝛽))1
2⁄
𝜀𝑚𝑎𝑥 Maximum Elevation Angle, 𝜀𝑚𝑎𝑥 = cos−1 ( 𝑑𝑠sin(𝜷)
𝛊)
46
Determining the maximum elevation angle (𝜺𝒎𝒂𝒙) in a three-dimensional plane involves finding
alpha angle (∝), followed by the central angle (𝜷) and range (ι), by having information already
available on satellite position (𝒓𝒔⃗⃗ ⃗), velocity (𝒗𝒔⃗⃗⃗⃗ ) and station position (𝒓𝒈⃗⃗⃗⃗ ).
Alpha angle (∝) is the angle under which the satellite sees ground station. Central angle (𝜷) is
the angle whose vertex is at the center of Earth and whose sides are radii intersecting the satellite
and the ground station. Range (ι) is the length between the satellite and the ground station
separated by the central angle between them.
Information pertaining to satellite position (𝒓𝒔⃗⃗ ⃗), satellite velocity (𝒗𝒔⃗⃗⃗⃗ ) is obtained through the
Attitude and Orbital Determination and Control Subsystem (AODCS), and station position (𝒓𝒈⃗⃗⃗⃗ )
is input by the operator to SAPIANT. Alpha angle (∝) is determined by Eq. 2.2 (dot product).
cos(∝) = (𝑟𝑠⃗⃗ × 𝑣𝑠⃗⃗ ⃗) ∙ 𝑟𝑔⃗⃗⃗
|𝑟𝑠⃗⃗ × 𝑣𝑠⃗⃗ ⃗||𝑟𝑔⃗⃗⃗ | Eq. 2.2
Eq. 2.2 is simplified in Eq. 2.3 as follows. Here, the plane normal (�⃗⃗� ) replaces the cross product
between satellite position (𝒓𝒔⃗⃗ ⃗) and velocity (𝒗𝒔⃗⃗⃗⃗ ).
cos(∝) = 𝜂 ∙ 𝑟𝑔⃗⃗⃗
|𝜂 ||𝑟𝑔⃗⃗⃗ | Eq. 2.3
Eq. 2.4 solves for ∝
∝ = cos−1 (|𝜂 ∙ 𝑟𝑔⃗⃗⃗
|𝜂 ||𝑟𝑔⃗⃗⃗ ||) Eq. 2.4
∝ is determined by taking the arc cosine of the absolute value of the dot product between plane
normal (�⃗⃗� ) and station position (𝒓𝒈⃗⃗⃗⃗ ) and dividing the result with the product of the magnitude of
plane normal (�⃗⃗� ) and magnitude of station position (𝒓𝒈⃗⃗⃗⃗ ). Absolute value is required to account
for the movement of the satellite from east to the west of the station (prograde orbit).
Eq. 2.5 solves for the central angle (𝜷)
𝛽 =𝜋
2− ∝ Eq. 2.5
Once central angle (𝜷) is determined, cosine law is applied to calculate the range (ι).
𝛊2 = 𝑑𝑠2 + 𝑑𝑔
2 − 2𝑑𝑠𝑑𝑔 cos(𝛽) Eq. 2.6
47
Solving for the range (ι),
𝛊 = (𝑑𝑠2 + 𝑑𝑔
2 − 2𝑑𝑠𝑑𝑔 cos(𝛽))1
2⁄ Eq. 2.7
Scalar values of orbital radius (𝒅𝒔) and ground station radius (𝒅𝒈) are required in addition to the
central angle (𝜷) to solve Eq. 2.7 for range (ι).
Finally, using sine law, the maximum elevation (𝜺𝒎𝒂𝒙) is determined by the following iterations
sin(𝜷)
𝛊=
sin (𝜋2 + 𝜀𝑚𝑎𝑥)
𝑑𝑠 Eq. 2.8
Eq. 2.8 is simplified as
sin(𝜷)
𝛊=
cos(𝜀𝑚𝑎𝑥)
𝑑𝑠 Eq. 2.9
Solving for maximum elevation (𝜺𝒎𝒂𝒙) results in Eq. 3.0
𝜀𝑚𝑎𝑥 = cos−1 ( 𝑑𝑠sin(𝜷)
𝛊) Eq. 3.0
Calculating the arc cosine of the product of satellite orbital radius (𝒅𝒔) and sine of the central
angle (𝜷), and dividing the result by the range (ι), helps in determining the maximum elevation
(𝜺𝒎𝒂𝒙).
The elevation angle of a satellite at a ground station has a strong influence on how it can be used,
and therefore calculating the maximum elevation a satellite can achieve during a pass becomes
imperative.
A ground station has a hard time receiving signals from a satellite that is at a low elevation for
two reasons:
1. A signal from the satellite travels a longer distance through the atmosphere, than if sent
from a satellite at a higher elevation angle, leading to a greater attenuation of signal
strength.
2. Natural or man-made objects on the horizon such as trees, mountains or tall building,
may be in the line of sight between the ground station and satellite, resulting in blocked
signal transmission.
48
4.4 Ground Station In-View Determination
As the satellite crosses its orbit, it passes directly over a ground station, and its elevation angle
increases from 0° to 90°, and then decreases back to 0° for the ground station at any point on the
equator. At higher latitudes the maximum elevation the satellite reaches during a pass is less
than 90°. The measurable Earth’s surface as observed from the satellite (distance to the
horizon 𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏), depends on the satellite’s altitude (𝑨) (Eq. 2.0). The altitude determines the
maximum area the satellite can observe. The outer edge of such an observable region is a circle,
the radius of which depends on the satellite’s altitude (𝑨) (Figure 29). The radius of the effective
region is a function of satellite altitude and the maximum elevation angle a satellite reaches
during a pass (Eq. 3.1), since a ground station can communicate with a satellite only if it is at an
elevation angle greater than minimum elevation. The outcome here is such that, the ground area
with which the satellite can communicate with is less than the full area the satellite can observe
Figure 28: Satellite Horizon Assumption
Figure 28 illustrates the assumptions made in SAPIANT for calculating the maximum elevation
a satellite reaches during a pass.
As the satellite moves in its orbit, the point on Earth directly beneath the satellite traces out a
path called the satellite’s ground track. The satellite’s ground track is represented as a white
curve that passes above and below the equator since half of the satellite’s orbit lies above the
equatorial plane and half lies below. The maximum latitude the ground track reaches is equal to
the inclination of the orbit.
49
The orange filling represents the ground station’s visible horizon. The orange perimeter along
the orange filling represents the ground station’s ideal horizon. The ideal horizon does not
account for obstructions in view to the satellite in the form of natural and man-made barriers in
any given direction on the horizon plane and thus has an elevation of 0°, whereas the visible
horizon ranges from 5° to 10° in elevation fluctuating with the azimuthal rotation (0° to 360°).
The designed horizon is set to 5° and accounts for the natural barriers but at a fixed elevation,
unlike the variable elevation seen in the natural environment. The visible horizon has a smaller
radius than the ideal horizon, resulting in shorter contact duration between a satellite and ground
station.
SAPIANT considers a satellite revolving around a spherical Earth with an equatorial radius (𝑅𝑒)
everywhere. This means the satellite is in a circular equatorial orbit (inclination angle of 0°),
which results in the distance to the horizon (radius of a circle) being the same all over (imagine
several lines connecting the horizon from the satellite from 0° to 360°) forming a circular pattern
on Earth. The radius of this circle is the distance to the horizon, and a ground station is regarded
as being in-view of the satellite if the distance between the station and satellite (slant range 𝐿) is
less than the distance to the horizon (𝑑ℎ𝑜𝑟𝑖𝑧𝑜𝑛).
Figure 29 presents the above concept in the form of circles. A (radius of) circle represents the
distance to the horizon and any station within the circle is considered in-view of the satellite
(green) and any station outside the circle is considered out-of-view of the satellite (red).
The elevation angle as seen from the satellite to the ground station is just the inclination angle of
the orbit, and as it is a circular equatorial orbit, the elevation angle observed from the satellite to
the ground station is 0°. At 0° elevation, the radius of the circle, which is the distance to horizon
(𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) is the largest thus producing the largest possible circle.
Maximum distance to horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) is calculated at 0° elevation. The field of view
determination of a station by SAPIANT is illustrated through the use of circles in what follows.
50
The relationship between distance to horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏), slant range (𝑳) and maximum elevation
(𝜺𝒎𝒂𝒙) determines when a ground station is deemed in-view (green) or out-of-view (red) of a
satellite. Figure 29 illustrates the above.
Figure 29: Satellite Distance to Horizon (dhorizon)
Distance to horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) and slant range (𝑳) is equal to each other at 0° elevation. At 90°
elevation, slant range (𝑳) is equal to the altitude (𝑨) of the satellite. Distance to horizon
(𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) is measured at 0° elevation. Slant range (𝑳) reduces as satellite’s elevation over a
station rises. SAPIANT bases a ground station’s visibility as apparent to the satellite as follows:
1. Ground Station in-view of the satellite:
𝑳 ≤ 𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏 𝒂𝒏𝒅 𝜺𝒎𝒂𝒙 ≥ 𝜺𝒎𝒊𝒏 Eq. 3.1
2. Ground Station out-of-view of the satellite:
𝑳 > 𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏 Eq. 3.2
If the value of the slant range (𝑳) is less than or equal to the distance to the horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏)
as measured by SAPIANT, and the maximum elevation (𝜺𝒎𝒂𝒙) calculated is greater than or
51
equal to the designed horizon (𝜺𝒎𝒊𝒏)of the ground station, then a ground station is considered to
be in-view of the satellite and a station tracking command is sent to the AODCS which then
performs required satellite transmitter antenna pointing maneuvers once a ground station is in-
view. GHGSat-D’s +𝑋 axis is pointed towards a ground station once a ground station appears in-
view of the satellite.
If the value of the slant range (𝑳) is higher than the distance to the horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) as
measured by SAPIANT, then a ground station is considered to be out-of-view of the satellite and
a command is sent to the AODCS which places the satellites in its nominal operational
orientation. Nadir tracking is the nominal operational orientation of GHGSat-D; hence once the
ground station is out-of-view, GHGSat-D is placed in the said orientation.
52
4.5 Horizon+
An additional variable named Horizon+ is incorporated into the inequality Eq. 3.1 and Eq. 3.2 to
determine whether a ground station is in-view (green) or out-of-view (red) of a satellite. Figure 30
illustrates Horizon+ (𝐻+) scope.
Figure 30: Summation of Distance to Horizon (dhorizon) and Horizon+ (H+)
Horizon+ (𝐻+) is zero by default and its purpose is to increase the distance to the horizon
(𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏) providing additional time for the satellite to complete its transmitter antenna’s station
pointing maneuvers by commencing the satellite’s reorientation process prior to initiating a
station pass, resulting in the best possible downlink rate from the onset of a pass. The dotted
circle in the above figure is the summation of distance to the horizon and Horizon+.
Downlink data rate is scalable on GHGSat-D, which means that the satellite regularly attempts to
achieve the best possible data rate during a ground station pass. Highest achievable downlink
data rate is 2048 𝑘𝑏𝑝𝑠 on GHGSat-D, however such a rate is attained only when GHGSat-D’s
transmitting S-band antenna is directed at the ground station. GHGSat-D manages between
128 𝑘𝑏𝑝𝑠 to 1024 𝑘𝑏𝑝𝑠 downlink data rate during a pass. Having the S-band antennas already
53
pointed at the station just prior to the onset of a station pass aids in obtaining a data rate of
2048 𝑘𝑏𝑝𝑠 for the majority of the pass. Satellite antenna maneuvering during a pass could delay
obtaining the highest possible downlink data rate. The inclusion of Horizon+ (𝑯+) prevents the
aforementioned delay. GHGSat-D mission requirements state that the maximum duration of any
attitude change on the satellite will be completed within 90 seconds.
Ground station in-view and out-of-view determination inequality equation with the addition of
Horizon+ (𝑯+) is presented below:
1. Ground Station in-view of the satellite with Horizon+ (𝑯+):
𝑳 ≤ 𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏 + 𝑯+ 𝒂𝒏𝒅 𝜺𝒎𝒂𝒙 ≥ 𝜺𝒎𝒊𝒏 Eq. 3.3
2. Ground Station out-of-view of the satellite Horizon+ (𝑯+):
𝑳 > 𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏 + 𝑯+ Eq. 3.4
Horizon+ (𝑯+) proved very beneficial during SAPIANT algorithm’s simulations on GHGSat-D
Flatsat by providing additional control to station in-view and out-of-view determination and in
testing the algorithm’s priority tracking functionality by enlarging satellite’s distance to the
horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏), encapsulating more than a single station in the satellite’s path at any given
period, as shown in Figure 30. Horizon+ (𝑯+) is currently being calibrated on-orbit to track a
station before the station pass begins in order to achieve the best orientation for the S-band
transmitter.
4.6 SAPIANT Algorithm
The algorithm flowchart shown in Figure 31 for SAPIANT documents a set of logical steps
visually showing a sequence of control and logic activities. These logical steps are explained
after the flowchart.
54
Figure 31: SAPIANT's control and logic flowchart
55
4.6.1 Concept Overview
SAPIANT’s algorithm flowchart in Figure 31 is explained through a series of emblematic
scenarios below. A curly bracket adjacent to each control and logic block is an event number and
is used in what follows to explain the algorithm’s control sequence. Every scenario is presented
by five ground stations listed in Figure 32 and SAPIANT’s response to such scenarios.
Additionally, identical ground stations are used to test the correctness of the algorithm and its
performance.
Ground stations are listed according to their station priority (station ID). A lower station ID
represents a higher station tracking priority. Station 2, 4, and 5 are selected such that their
visibility regions overlap, and due to their proximity to the SFL ground station that presents an
ideal scenario to test the priority tracking functionality of the algorithm, followed by station 1
and 3 which are selected for their closeness to the equator in both the northern and southern
hemisphere, to test the accuracy of the algorithm by comparing the tracking performance for all
five stations with STK station tracking. The green horizontal and vertical lines denote 0° latitude
and 0° longitude.
Figure 32: Priority Listed Ground Stations
In the following images (Figure 35-37), the radius of the circle is the distance to the
horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏). The red slant range (𝑳) indicates that a station is out-of-view of the satellite
and a green slant range (𝑳) indicates that a station is in-view of the satellite.
SAPIANT thread acknowledges three commands, namely:
1. Enable
2. Disable
3. Re-initialize
56
In addition to the above, SAPIANT operates in either:
1. Enabled Actuated State - SAPIANT reads satellite position and velocity data from the
sensors and command the actuators to transition the satellite into the required attitude.
2. Passively Actuated State - SAPIANT reads satellite position and velocity data from the
sensors but does not command the actuators.
Figure 33 introduces SAPIANT following initialization (enable state). Information on station
position (𝒓𝒈⃗⃗ ⃗⃗ ⃗⃗ ⃗) is available in SAPIANT’s initial state (disable state), and can be updated in both
enable and disable states.
Figure 33: Initializing SAPIANT
The radius of the circle is satellite’s distance to horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏). Ground stations are labelled
according to station priority depicted earlier. In what follows, slant range (𝑳) drawn in red
denotes station out-of-view and green denotes station in-view. Stations with higher priority have
precedence over stations with lower priority when multiple stations fall under the visibility
region of an on-orbit satellite, and such (higher priority) stations are tracked first.
Once SAPIANT is enabled (enable command), the tracking algorithm starts searching for a
ground station from a list of stored ground station coordinates, and uses satellite position and
velocity information to begin iteratively calculating when a station comes in-view and goes out-
of-view of a satellite. A station is considered in-view when the distance to the horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏)
57
(radius of the circle) is larger than distance between the satellite and ground station (slant
range (𝑳)). Once a station is determined to be in-view of the satellite, SAPIANT issues a station
tracking command to the AODCS. A re-initialize command re-sends the tracking command to
the AODCS and a disable command stops SAPIANT.
While enabled, SAPIANT records and keeps account of the station ID, which is called a tracking
trace in the algorithm flowchart. The tracking trace drops to zero when no station is tracked and
takes on the priority value of the station (station ID), during station tracking. This allows the
algorithm to determine when a station enters and leaves view of a satellite, and commands are
sent accordingly. These commands include a station tracking command while a station is in-view
and a nadir tracking command while no station is available.
SAPIANT does not send tracking commands to AODCS while a station is currently out-of-view
from a satellite’s visibility region (target tracking) or if a station has not been tracked in the past
(nadir tracking). A likelihood of satellite observations being put at risk exists if a station
concurrently appears in-view, as SAPIANT will send new target tracking commands (transmitter
antenna pointing) to the AODCS overriding the existing observation (payload pointing). It is up
to the satellite operator to safeguard against such an outcome.
The above figure represents SAPIANT searching for ground stations once initialized.
58
AODCS Data Checks and Station Calculation Checks maintain the accuracy of the algorithm, by
validating the correctness of the calculated and processed data. Figure 34 illustrates a set of built
in checks embedded under SAPIANT.
Figure 34: SAPIANT AODCS Data and Station Calculation Checks
SAPIANT’s algorithm employs two primary control logic checks as follows:
1. AODCS Data Check
2. Station Calculation Check
AODCS Data Check is performed during retrieval of satellite position and velocity data from the
AODCS (ACS thread). These checks implicitly determine the current operating mode of the
satellite.
GHGSat-D has three major modes of operations and these are:
1. Safe
2. Passive
3. Three-Axis
A brief overview of the essential satellite modes is available in Chapter 5. The ACS thread has
its own set of checks that deal with the accuracy of information calculated within its data
structures. ACS thread retrieves satellite position and velocity data in Passive and Three-Axis
59
modes, but not in Safe mode, which means SAPIANT will have knowledge on the satellites
position and velocity only in Passive or Three-Axis mode.
If in Safe mode, SAPIANT will not search for stations, instead will fail the AODCS Data Check
and continue trying to collect satellite position and velocity data first. Only if this check passes,
will SAPIANT begin searching for stations, and perform station searching calculation. This
saves on-board computer’s processing time and memory by avoiding unnecessary calculations.
SAPIANT is designed to operate in any of the three main operational modes (SAPIANT is
envisioned to run in the background with little to no operator control once enabled).
Station Calculation Check is performed once the satellite transitions to Passive or Three-Axis
mode. Satellite position, velocity and station position data is available to SAPIANT prior to
entering this check. These checks account for the proper calculation of distance to horizon, slant
range and maximum elevation which lead to figuring out when a station appears in-view of the
satellite. Human errors involved in station coordinate inputs, arithmetic by/from zero, and
conversions to units recognized by the ACS thread is carrier out here.
Station Calculation Check is performed iteratively on all available stations. If a single station
fails this check, then these checks are performed on the next, until the station list is exhausted.
Once the station list is exhausted, SAPIANT will collect an updated satellite position and
velocity data and re-begin calculations to determine when a station appears in-view of the
satellite. Once these checks pass, SAPIANT will issue station tracking commands to the
AODCS, to track the current ground station in-view.
In summary, the AODCS Checks are performed prior to beginning station in-view determination
calculations, and implicitly provides SAPIANT with knowledge of the current satellite mode.
Following which, the Station Calculation Checks are performed after station position and
satellite position and velocity data is available from the operator and AODCS in SAPIANT, and
manages sending station tracking commands to the AODCS. Station tracking commands are sent
once this check passes, else calculation are performed with an updated satellite orbital data, and
satellite remains in its nominal operational mode (nadir pointing).
The above figure shows that these checks can fail either when a station is in-view or when a
station is out-of-view from satellite’s visibility region. Station 2 and 3 are in-view, and when
station 2 fails a check, it is omitted from SAPIANT’s station in-view calculation. A tracking
command is sent to AODCS to track station 3. If station 3 is out-of-view, then a nadir tracking
60
command is sent. Station 5 is disregarded from the station list, as it is already out-of-view during
a failed check. These checks allow SAPIANT to run without interruptions.
Figure 35 illustrates a scenario in which multiple stations appear on a satellite’s visibility region.
Figure 35: Station in-view Determination in SAPIANT
A ground station is considered in-view of a satellite when slant range is less than the satellite’s
distance to the horizon and the maximum elevation angle a satellite reaches during a pass is
greater than the designed horizon (i.e. the minimum elevation angle above which a satellite is
able to communicate with a ground station as set in SAPIANT).
SAPIANT performs calculations to determine a ground station is in-view of the satellite after
successfully passing the Station Calculation Checks. Ground station in-view determination
calculations are performed in two scenarios. First, a ground station is already in-view of the
satellite, i.e. SAPIANT has already commanded the AODCS to track a station, in which case no
further station tracking command will be sent as long as the ground station continues to remain
in-view. Second, a station is not in-view initially or a higher priority station appears in-view of
the satellite, in which case a new station tracking command is sent to the AODCS. And in both
cases, once the ground station goes out-of-view, then a nadir tracking command is sent to the
AODCS.
61
The following events occur when a station is no longer in-view to the satellite:
1. SAPIANT sends a nadir tracking command to the AODCS whenever the number of
stations in-view goes from greater than zero to zero from one cycle to the next.
2. SAPIANT does not send a nadir tracking command to the AODCS if the number of
stations in-view is at zero on one cycle and stays at zero on the next cycle.
The figure above presents an example of the two scenarios under which station in-view
determination calculation are made, that is, first when a station is already in-view and second
when a station enters in-view for the for the first time or a higher priority station replaces a lower
priority station in-view of the satellite.
In the current scenario, station 2 and 3 are considered in-view of the satellite’s visibility region,
and station 1, 4, and 5 are considered out-of-view. As station 2 has precedence over station 3
SAPIANT commands the AODCS to initiate target tracking station 2, and station 2 continues
being tracked for as long as it is available. Once station 2 exits view, and if station 3 is available
and falls within satellite’s distance to horizon (𝒅𝒉𝒐𝒓𝒊𝒛𝒐𝒏), then SAPIANT commands the
AODCS to initiate target tracking station 3, and so on. Station 1, 4, and 5 are never tracked in
this scenario. Once station tracking is completed, SAPIANT commands the AODCS to drop the
satellite back to nadir tracking mode (nominal operations mode for GHGSat-D).
SAPIANT passes on appropriate tracking commands (station tracking or nadir tracking) to the
AODCS when applicable conditions are met or cease to be met. It is then AODCS’s
responsibility to effectively execute such instructions to maneuver the satellite accordingly.
62
4.7 SAPIANT Software Development (Thread)
SAPIANT algorithm runs as a C programming language thread on the Canadian Advanced
Nanospace Operating Environment (CANOE). SAPIANT thread collects telemetry from the
ACS thread once every five seconds (0.2 𝐻𝑧) to determine its position and velocity on-orbit with
respect to Earth, making the necessary calculations to determine if the ground station is in-view
and then issue the appropriate commands to the AODCS when the right conditions are met (or
cease to be met). SAPIANT thread’s execution is limited by the computational load (ability of
processor and time it takes to poll and read out sensor data) of AODCS/OASYS (1 𝐻𝑧).
Satellite’s orbital data, ground track and orbital path from Satellite Tool Kit (STK) are available
for analysis on any selected time period with a minimum time increment of five seconds within
the total start and stop time of the analysis. SAPIANT has to collect telemetry every one second
or slower due to the computation load restriction of AODCS/OASYS. A five second period for
telemetry collection from the ACS thread allows SAPIANT to compare its station tracking
results with those simulated by STK (Chapter 4.7.1) on a 1:1 time scale.
Figure 36: Thread Access
Figure 36 presents the data flow structure between the ground segment, CANOE, on-board
computer, OASYS, sensors and actuators on GHGSat-D. CANOE is the satellite’s thread-based
operating system and OASYS is its attitude system software, and both are embedded on the on-
board computer. CANOE is responsible for interfacing with the ground segment and also for
handling the inputs and outputs to the attitude hardware through AODCS/OASYS (On-orbit
Attitude System Software). OASYS manages routines that determine what modes to run using
63
which sensors, process raw sensor measurement, run filters to estimate a satellite’s dynamic and
kinetic state, and calculates actuation efforts [23]. SAPIANT collects processed data from the
ACS thread. Satellite position and velocity telemetry can directly be accessed from the ACS
Exchange data structure in OASYS, but is avoided in order to prevent potential conflicts that
may arise due to queuing of raw sensor measurements during collection.
SAPIANT commands adhere to the nanosatellite protocol (NSP). The destination, command, and
data byte are listed in the table below.
Table 11: SAPIANT Commands
Destination address
0x36
Command Data Description Rationale
0x00 - Ping Asses thread responsiveness
0x01
0x00 Disable Thread initial state (idle state)
0x01 Enable Initialize thread actions
0x02 Re-initialize Reset parameters, resend tracking commands
SAPIANT software is developed with variables that can be updated on the go using control
parameters in addition to the commands listed above. Control parameters variables are either
read/write or read only.
Once enabled, SAPIANT operates in either a Passively Actuated State or Enabled Actuated
State. In a Passively Actuated State SAPIANT thread continues searching for ground station(s),
but it does not send any tracking command to the AODCS, which is only done once in an
Enabled Actuated State. The above choice of states, provides the operator with additional
flexibility during satellite operations, by allowing continuous telemetry collection to evaluate
thread performance.
64
Figure 37 presents input data accepted and output telemetry received by SAPIANT thread.
Figure 37: SAPIANT Control Parameters
Table 12 lists the control parameters and briefly explains its purpose and functionality. Blocks 1-
2 displays command input accepted by SAPIANT, block 3 lists ground station information where
station 1 has the highest tracking precedence and station 10 has the lowest tracking precedence,
blocks 4-9 shows adjustable parameters, blocks 10-12 represents the time, position, and velocity
data collected from the ACS thread and used by SAPIANT, and finally blocks 13-22 indicates
the output results.
65
Table 12: SAPIANT Control Parameters
# Variable type Type Rationale/Comment
1 Enable/Disable Read Only
Alter between SAPIANT states. Command
is only accepted as NSP packet and not via
control parameters.
2 Passive/Actuated Read/Write Alter between SAPIANT conditions
3 Stations 1 to 10 Read/Write Required ground station information
4 Expected station
elevation range Read/Write Used for station checks
5 Expected satellite
altitude Read/Write Used for satellite mode check
6 Expected satellite
altitude range Read/Write Used for satellite mode check
7 Retry Limit Read/Write Number of attempt to resend tracking
command
8 Slew Read/Write Commence earlier station tracking
9 Earth Radius Read Only Earth Equatorial Radius (WGS84)
10 Time Read Only Collected Satellite Time (J2000) Telemetry
11 Position Read Only Collected Satellite Position Telemetry
12 Velocity Read Only Collected Satellite Velocity Telemetry
13 Tracking Command Read Only
Informs operator of current tracking type. 1
= No command sent, 2= Nadir tracking
command sent, 3 = Target Command
Tracking sent, 4 = Target Already Tracking
14 Station In-View Read Only Station in-view or out-of-view
15 Tracking Station Read Only Station priority tracking ID
16 Elevation Angle Read Only Calculated maximum elevation. Eq. 3.0
66
17 Slant Range (L) Read Only Eq. 2.1
18 Line Of Sight
(Distance to Horizon) Read Only Distance to Horizon, Eq. 2.0
19 ACS Error Read Only AODCS check flag
20 Station Error Read Only Station check flag
21 Timeout Count Read Only Tracking/command load error
22 Target Tracking
Attempts Read Only
Number of attempt to resend tracking
command. Will be less than Retry Limit.
67
4.7.1 Ground Simulation
SAPIANT algorithm is coded in the Excel Visual Basic Editor (VBE), which is a user-friendly
environment to develop, test and modify the conceived logic. Satellite position and velocity
vector (orbit state) data in an ECEF reference frame is collected from Satellite Tool Kit (STK)
and input into VBE. The coded algorithm is then initiated, and its result output onto an Excel
sheet. These results are then evaluated and compared to a solution produced by STK. Output
results current station tracked, tracking command sent (target and nadir), priority tracking
performance, maximum elevation, check failures, performance on ACS availability/unviability,
command received, slew, and ground station pass duration.
During algorithm development, orbit state data from STK is collected for a single day at five-
second intervals for GHGSat-D satellite. A fifty second snapshot of the simulation results in
VBE is shown in figure below.
Figure 38: Simulation Snapshot
Ground stations (Station 1 to Station 5) are identical to those listed in Figure 32. The snapshot
above demonstrates an instance where multiple stations are in-view of the satellite. Station 2 is
tracked first, following that, the satellite tracks Station 4 as it has a higher tracking priority than
Station 5, even though both Station 4 and Station 5 are in-view of the satellite during the same
period.
Following successful algorithm edits and performance results, the final version of the simulation
code is generated and tested against STK’s pass duration metric for a one year GHGSat-D orbit
state data. The number of stations is limited to one, and running a one year long simulation
68
permits collection of a large sample size of passes. This is done twice, first with minimum
elevation angle set to 5 degrees, and second with the maximum elevation angle set to 5 degrees
and minimum elevation angle set to 0 degrees. The data is post processed using SAPIANT’s
algorithm and the output generates a list of passes it tracks and a list that it does not track. The
results are listed in Table 13.
Table 13: Simulation results
Total Passes Minimum elevation
of 5 degrees
Maximum elevation of 5 degrees and
minimum elevation set to 0 degrees
STK 2331 1866 465
Algorithm 2295 1862 433
Every pass is matched to STK’s pass ID. Only 98.5% of STK passes are matched by the
algorithm. The match success goes up to 99.7% for a set station elevation mask (minimum
elevation) of 5 degrees (one in a yearly chance of missing a day’s worth of passes). These
simulation results are based on a 12 month period, prior to the launch of GHGSat-D. STK
generates a set of multiple Two-Line-Elements (TLEs) to plot the satellite’s orbit track and to
determine its orbital data. During ground simulation, multiple TLE solutions in STK are deleted,
leaving only a single TLE to produce a solution. This is done to avoid TLE mismatch between
STK and the one entered on the GHGSat-D flatsat since the AODCS software accepts only one
TLE at a time. Generally on-orbit, TLE is updated once every two-weeks to maintain the
accuracy of the satellite’s orbital data. All of the unmatched results are produced for passes set at
a minimum elevation of 5 degrees, and low elevation passes that have a contact durations of two
minutes or less during the last month and a half of the twelve month simulation. Reducing the
simulation period to ten months produces a 100% match success. This means that the failed pass
matches may be a result of low accuracy of the TLE for long simulation durations.
The algorithm is written as C code in CANOE running on an on-board computer, after attaining
satisfactory simulation results. GHGSat-D orbit TLE is loaded on to the Flatsat and similar
simulations to the above are performed and output is saved on the on-board computer as a
control parameter log. These logs contain data such as distance to horizon, slant range, ACS
mode out/in, pass start and stop time, in addition to those available in VBE simulations. The
results from these logs are downloaded and compared with those of STK and this comparison is
nearly identical, providing further confidence in the code. The difference in the recorded pass
69
duration and STK’s pass duration is less than fifteen seconds thus bringing the on-ground
simulations to a successful conclusion.
4.7.2 On-Orbit Results
SAPIANT’s performance results are shown below in the form of data rate (speed at which data
is transmitted from one device to another) achieved by GHGSat-D during downlink and the
duration of a ground station pass as observed on July 1, 2016 that is a period of commissioning
when SAPIANT is first implemented and tested on-orbit. SAPIANT is first actively run on
GHGSat-D after successfully completing a passive run on the satellite with promising results.
GHGSat-D makes four contacts of varying communication times with the SFL ground station
on July 1, 2016. Table 15lists the pass start and end time, pass duration, and the maximum
elevation angle recorded by the SFL ground station and Table 16 lists the same information as
calculated in SAPIANT. SAPIANT is enabled in all four passes below. It is in an Enabled
Actuated State (actively operating) during pass #2 and in a Passively Actuated State (passively
operating) during pass #1, #3 and #4. The S-band transmitter on the +X axis of GHGSat-D is
pointed towards the SFL ground station during pass #2 and the payload boresight on the -Y axis
of GHGSat-D is pointed towards nadir during pass #1, #3 and #4.
Table 14: GHGSat-D station passes (July 1, 2016)
Pass # Pass Start Time
(UTC)
Pass End Time
(UTC)
Pass Duration
(min)
Maximum
Elevation (deg)
1 00:44:18 00:53:00 9 8
2 02:15:57 02:27:48 12 81
3 15:18:26 15:30:09 12 76
4 16:53:31 17:01:17 8 6
70
Table 15: GHGSat-D station passes as recorded by SAPIANT (July 1, 2016)
Pass
#
Pass Start Time
(UTC)
Pass End Time
(UTC)
Pass Duration
(min)
Maximum
Elevation (deg)
1 00:44:38 00:53:05 9 8
2 02:16:01 02:27:40 12 80
3 15:18:32 15:30:18 12 75
4 16:53:35 17:01:27 8 6
A higher elevation angle results in a longer duration of station pass. Clearly, the pass start time
and end time, pass duration, and maximum elevation is equivalent to the similar data calculated
by the SFL ground station. However, there does exist some difference in the pass time (seconds)
and maximum elevation (deg) between GHGSat-D’s and SAPIANT’s arithmetic for station
visibility since SAPIANT assumes a perfectly spherical Earth with no terrain irregularities to
simplify calculations.
Earth is ellipsoidal with several terrain irregularities, forming mounting and oceans. The ground
station can be located at an altitude above mean sea level, or below mean sea level. Earth is
ellipsoid with an equatorial radius of 6378 km, polar radius of 6356 km and a volumetric mean
radius of 6371 km. The mean radius results in an Earth’s sphere that is smaller than its real
representation, therefore SAPIANT uses the equatorial radius to develop a spherical Earth
model, since at such a value, the Earth at least is the same size at the equator albeit slightly larger
at the poles. The SFL ground station is nearer the (North) pole than the equator, which means in
reality this station is much further than what it appears to SAPIANT, resulting in a some
difference in the pass times (seconds) and maximum elevation (deg).
71
GHGSat-D is nadir tracking during station pass #1, #3 and #4, and SAPIANT is actuated on-
board GHGSat-D during station pass #2. Figure 39 and Figure 40 reveal GHGSat-D’s downlink
performance during the aforementioned passes.
Figure 39: SFL station passes # 1 and # 2 (July 1, 2016)
The 𝑋-axis encompasses the entire duration of a station pass. 𝑌-axis displays data rate (kbps)
(green) and the quotient of energy per bit to the spectral noise density (𝑬𝒃
𝑵𝟎) (blue). LockStatus
(red) represents the actual station communication contact period within the total duration of a
station pass.
72
Figure 40: SFL station passes # 3 and # 4 (July 1, 2016)
During each pass, the downlink data rate fluctuates between 128 𝑘𝑏𝑝𝑠, 256 𝑘𝑏𝑝𝑠,
512 𝑘𝑏𝑝𝑠,1024 𝑘𝑏𝑝𝑠, and 2048 𝑘𝑏𝑝𝑠 resulting in varying volumes of data downloaded.
2048 𝑘𝑏𝑝𝑠 is achieved only when GHGSat-D’s transmitter antenna is pointed towards the SFL
ground station during a pass.
Portion of period GHGSat-D spends within each scalable block of data rate during downlink
(station pass) through all four passes are summarized in Table 16.
73
Table 16: Proportion of downlink during every scalable data rate block (July 1, 2016)
Pass
#
Duration
(sec)
Locked
(sec)
Unlocked
(sec)
128 kbps
(sec)
256 kbps
(sec)
512 kbps
(sec)
1024 kbps
(sec)
2048 kbps
(sec)
1 522 268 254 268 0 0 0 0
2 711 495 216 182 97 39 46 131
3 703 246 457 97 35 28 86 0
4 466 265 201 265 0 0 0 0
SFL station passes 1 and 4 are low elevation passes (8° 𝑎𝑛𝑑 6°), and SFL station passes 2 and 3
are high elevation passes (80° 𝑎𝑛𝑑 75°).
Figure 41: Locked Contact Period during a Station Pass
It is clear that satellite coverage depends on elevation angle [24] thus a high elevation angle pass
means the proximity between GHGSat-D and SFL ground station is the smallest; hence better
downlink performance is achieved due to lower noise levels (loss) experienced. GHGSat-D is
locked on for 51% of the total pass duration on the first SFL ground station pass. Downlink is
reached at 128 𝑘𝑏𝑝𝑠 for 268 𝑠𝑒𝑐𝑜𝑛𝑑𝑠. SAPIANT is enabled and actuated on the satellite during
the second pass, which is a high elevation pass and GHGSat-D is locked on for 70% of the total
pass duration and downlink is topped at 2048 𝑘𝑏𝑝𝑠 for 26% of the locked pass. SAPIANT
remains enabled but reconfigured to a Passively Actuated State during the third pass, which is
also a high elevation pass and GHGSat-D is locked on for 35% of the total pass duration and
downlink is topped at 1024 𝑘𝑏𝑝𝑠 for 35% of the locked pass. During the fourth ground station
74
pass, GHGSat-D is locked on for 57% of the total pass duration, and downlink is topped at the
baseline 128 𝑘𝑏𝑝𝑠 for 265 𝑠𝑒𝑐𝑜𝑛𝑑𝑠. Table 17 presents the total data volume downlinked during
each ground station pass.
Table 17: Data Budget (July 1, 2016)
Pass
#
Data @128
kbps (MB)
Data @256
kbps (MB)
Data @512
kbps (MB)
Data @1024
kbps (MB)
Data @2048
kbps (MB)
Total Data
Volume (MB)
1 4.29 0.00 0.00 0.00 0.00 4.29
2 2.91 3.10 2.50 5.89 33.70 48.10
3 1.55 1.12 1.79 11.01 0.00 15.47
4 4.24 0.00 0.00 0.00 0.00 4.24
Benefit of steering the satellite antenna at the ground station is clearly evident through the
comparison between the second and third pass since the data downlinked in the second pass is
three-times higher than those experienced on the third pass. In the second pass the S-band
transmitter on the +X axis of GHGSat-D is pointed towards the SFL ground station whereas in
the third pass the payload boresight on the –Y axis of GHGSat-D is pointed towards nadir. As
the S-band transmitter is not pointed at the ground station during the third pass, a lower data rate
is achieved resulting in reduced data volume downloaded than in the second pass.
Figure 42: Data Volume Downlinked at Scalable Data Rate
Data downloaded during the first and fourth pass is 4 𝑀𝐵 and downlink data rate is topped
at 128 𝑘𝑏𝑝𝑠. When SAPIANT is enabled and actuated, 48 𝑀𝐵 of data is downloaded overall, of
which 70% of the data volume is collected through just the 2048 𝑘𝑏𝑝𝑠 data rate block. The third
75
pass results in 16 𝑀𝐵 of downlinked data as GHGSat-D is nadir aligned hence never reaching
2048 𝑘𝑏𝑝𝑠 which is reached when the satellite antenna is pointed towards the ground station,
which is the case while SAPIANT is operating.
Antenna pointing during pass # 2 results in a longer duration of locked contact time (Figure 41),
achieves the maximum possible data rate (2048 kbps) and subsequently results in a greater
quantity of data downloaded (Figure 42) than experienced on the other three passes (#1,#3,#4).
76
Chapter 5
Commissioning and Operations
Commissioning and Operations 5
GHGSat-D monitors emissions of 𝐶𝑂2 and 𝐶𝐻4 gases and measures air quality from targeted
sources using an infrared spectrometer and a hyperspectral imager. Figure 43 illustrates the
commissioning and operations objectives of GHGSat-D satellite.
Figure 43: GHGSat-D Commissioning and Operations Illustration
Commissioning is the phase in which the satellite is proven to perform properly [25]. The
commissioning process tests all the subsystems on GHGSat-D and concludes with successful
observation, although additional calibration of the instrument may continue into nominal
operations phase [5]. A satellite is not ready for active operations until a commissioning process
takes place, and is successfully completed.
The microspace philosophy dictates that the commission phase be performed cautiously, yet is
different from one that follows a traditional philosophy. Traditional satellites may have death
modes that an operator could command a satellite into, potentially killing the satellite. GHGSat-
77
D is designed to avoid death modes5 therefore the satellite is more robust to operator error.
Applying the microspace philosophy, the satellite is allowed to autonomously use hardware only
once these units have been tested.
Commissioning is a subset of operations and involves many activities such as turning on and
testing individual units, payload instrument calibrations and preparation for
science/demonstration operations [26]. Commissioning phases allows operators to learn more
about the satellite as real operations may be different from how operations are envisioned prior
to launch since no amount of ground testing or simulations can 100% replicate actual satellite
behavior in space.
The commissioning and operations process must be well coordinated as it involves multiple team
participation during on-orbit checkouts such as the Operations Team, Ground Station
Management Team, and the Individual Subsystem Leads who calibrate and validate satellite bus
and payload instruments to ensure that these are operating correctly and that measurements are
accurately performed and data is successfully transmitted back to ground and analyzed. The
operations team executes a succession of procedures to issue commands from the ground station
to the satellite in order to power ON and activate all satellite subsystem bus and payload
instruments.
5 GHGSat-D satellite does not have any solar arrays on the – 𝑌 panel (with the payload). The payload is nominally
nadir pointed and therefore the solar arrays are not required on the –𝑌 panel since the panel never points towards the
sun. If for some reason the – 𝑌 panel faces the sun, and if the batteries are depleted beyond a certain level, the
satellite will begin tumbling and commence recharging the satellite (battery) since the solar arrays on the other
remaining panels face the sun at some point, hence GHGSat-D does not have any death modes.
78
5.1 GHGSat-D Satellite Operational Modes
GHGSat-D satellite has three levels of operational modes. Each higher-level mode hierarchically
breaks down into a lower level mode. Lower Level modes are the sub-modes of the higher-level
modes. For example, Level 3 modes are sub-modes of level 2 Three-axis modes, and level 2
modes are the sub-modes of level 1 Application modes. A brief overview of some essential
modes is provided in Table 18 below, which aids in understanding the commissioning and
operation phase, while a detailed description of all modes is available in [27].
Table 18: GHGSat-D Satellite Operational Modes
Mode Rationale/Comment
KickOff (level 1)
Only units required to receive commands from the ground are active
(Power System (MPS), UHF receiver). KickOff is entered on
satellite power up, immediately after launch, and on receiving a
System Reset firecode.
Safehold (level 1)
OBC software state is Bootloader (lowest level software), and at
least a single OBC (HKC or ADCC) has been turned ON. All other
units may be turned ON/OFF via ground command.
Safe (level 2)
The ADCS is active but no determination or control of any sensors
or actuators is happening. It is the default state entered upon
initialization of the ADCS thread.
Passive (level 2)
Satellite uses its coarse attitude sensors (Magnetometer, Sun
Sensors, and Rate Sensor) to estimate the attitude and rotation rates
of the satellite in all three axes. Satellite attitude is not controlled.
Detumble (B-Dot) (level 2)
Satellite uses its coarse attitude sensors to estimate the attitude and
rates of the satellite in all three axes, and uses its magnetorquers to
reduce the rotational rates.
Antenna Pointing (level 3) SAPIANT (Chapter 4)
Nadir Pointing (level 3)
A satellite body vector (target) is pointed toward the center of the
Earth while another body vector (constraint) is kept as close as
possible to a reference direction. On GHGSat-D, this is the nominal
79
attitude mode when not performing a payload observation. In its
nominal attitude the target vector would be set as the -Y axis
(payload aperture) while the constraint vector would be set as the +Z
axis (startracker/radiator). The reference direction is set to the
negative orbit normal axis so that the radiator and startracker are
pointed away from the Sun while maintaining a fixed view factor of
the Earth.
Target Tracking (level 3)
A satellite body vector (target) is pointed toward a location above,
on the surface of or inside Earth while another body vector
(constraint) is kept as close as possible to a reference direction. In
Three-Axis (Coarse) this is the mode used to point the downlink
antennas at the ground station. In Three-Axis (Fine) this is the mode
used to perform payload observations.
GHGSat-D was launched into a sun-synchronous Low Earth Orbit (LEO) with a period of 95
minutes, an approximate altitude of 505 Km and with Local Time of Descending Node (LTDN)
of 9:30 am on June 22, 2016. The first ground station pass occurred 11 hours after launch.
Contact was made with GHGSat-D satellite on the second ground station pass with an elevation
angle of 47°. The first pass had an elevation angle of 2° that is lower than the (SFL) station’s
horizon mask of 5° hence no contact was made. The satellite remained safe and power positive in
any orientation prior to contact.
When the GHGSat-D satellite first passes over the ground station it remains in KickOff mode.
The first task performed is to firecode ON the HKC to get a real-time telemetry snapshot from
the satellite for performing a basic health check. From this point forward the commissioning
approach involves testing units in as rapid a fashion as possible without compromising satellite
safety.
Such an approach attempts to minimize the commissioning period by making use of the flight
heritage and experience gained with many of the units and algorithms on other SFL missions.
Detailed investigation may be required if problems are encountered in any given step.
80
5.2 Requirements
A collection of driving requirements for GHGSat-D satellite commissioning and operations are
listed in Table 19 and are taken from a larger set of the GHGSat-D satellite bus, ground control,
and launch requirement recorded in [28].
Table 19: Commissioning and Operations Requirement
# Requirement Rationale
1
The GHGSat-D satellite bus shall be
steered during every pass over the
ground station such that the satellite
antenna will track the ground station
Required to downlink sufficient data
(confidential) Mbpd to service GHGSat-D
customers
2
The GHGSat-D satellite bus shall have a
baseline average data rate of at least
128 𝑘𝑏𝑝𝑠
Required to downlink sufficient data
(confidential) Mbpd to service GHGSat-D
customers
3
The maximum time required between
GHGSat-D targeting schedule
modifications and target observations
shall be less than 8 hours using a single
uplink
Required to provide sufficient time for the
operators to schedule payload observations and
configure imaging parameters, and provide a
responsive service
4
SFL shall make all downloaded
GHGSat-D telemetry and payload data
available to GHGSat Inc. using a secure
server
All data should be securely managed to protect
GHGSat Inc. and its customers
5
All GHGSat-D satellite telemetry and
payload data shall be retrievable at any
time after it has been downloaded.
All data should be securely managed to protect
GHGSat Inc. and its customers
81
5.3 Commissioning Procedure Development
High-level sequences of commissioning tasks are illustrated in Figure 44. Each box represents a
specific commissioning milestone. The arrows leading into a box indicate the prerequisite
milestones for the initiation of that milestone. Milestones on parallel tracks can be performed
concurrently. Milestones with significant complexity are included in [5].
Figure 44: High-Level Sequencing of Commissioning Tasks
82
5.4 Commissioning Tasks and Execution
Commissioning of GHGSat-D satellite bus began on June 22, 2016 and was completed in early
July, 2016. The first tracking data obtained by NORAD is collected an hour after lift-off, and the
GHGSat-D satellite two line elements (TLE) made available an hour later. GHGSat-D has an on-
board GPS, which permits the satellite to recognize its own whereabouts. The commission
process was accelerated as it was based on lessons learned from previous SFL satellite
commissioning, and satellite ground testing that offered an introductory view of the procedures
needed to activate and checkout instruments. Each designed procedure is tested on GHGSat-D
Flatsat prior to its use operationally. Command sequence scripts are written based on testing and
repeated several times during commissioning, and are verified to load successfully and be void
of syntax errors.
The commissioning effort can be split into four chief themes [29]:
1. Subsystems and communication checkout
2. Payload instrument initiation and checkout
3. Data processing and verification
4. Satellite bus and payload Calibration activities
Whole Orbit Data (WOD) and ACS log are recorded during flight and downloaded during
ground station contact using time-tagged commands.
5.4.1 Command and Data Handling Subsystem Checkouts
The Housekeeping Computer (HKC) and the Attitude Determination and Control Computer
(ADCC) checkout must be performed before the computer is put into regular use on the
GHGSat-D satellite. It is necessary for an OBC to be running its application software to route
communication packets to serial devices or other computers. The Bootloader allows querying
core telemetry from a few devices. Immediately after launch, and during first contact, the OBC
(HKC) is firecoded ON and a telemetry snapshot frame to verify the satellite’s state of health is
collected followed by loading the application and collecting WOD for an entire orbit prior to
moving onto other system checkouts.
83
5.4.2 Communication Subsystem Checkouts
There are no checkouts explicitly designed to validate the UHF receiver and the S-band
transmitter. These units are instead implicitly checked out during satellite command uplinks,
logs/data downlink and through health and performance telemetry collection.
5.4.3 Attitude and Orbital Determination Control Subsystem Checkouts
The AODCS checkout is performed before the subsystem is put into regular use on the satellite.
Refer to Figure 44 for dependencies between the various sequences found in this section. For all
AODCS checkouts, the HKC is in application mode.
It should also be noted that a GPS lock is only expected if the GPS antenna is oriented within at
least 90 degrees of zenith at least some of the time. While the satellite is tumbling (i.e. Passive
mode) at a not terribly high rate, the duty cycle at which the receiver is locked will not be non-
zero but will likely be less than 50%. If the satellite is nadir pointing with the GPS antenna at
zenith, lock is achieved almost 100% of the time.
As reliable attitude determination is required for stable attitude control, determination must be
validated prior to attempting any attitude control of GHGSat-D satellite. Execution of Detumble
(B-Dot) mode is only required if the satellite has a body rate in excess of 5 degrees per second,
assuming a limiting wheel speed of 500 rad/s, the wheels absorb between 7 and 17 deg/s of
satellite rotation depending on the axis. For conservatism the lowest of these values was used and
then rounded down. GHGSat-D detumbling rates were reduced to less than 5 degrees per second
within a single ground station pass after transitioning the satellite to Detumble mode.
Nadir Tracking is a sub mode of Three-Axis control mode in which one satellite body vector is
pointed toward the center of the Earth while another vector (ideally orthogonal to the first vector)
is constrained. Nadir tracking is the default attitude mode on GHGSat-D when the satellite is not
target tracking a measurement site (payload observations) or ground station (antenna pointing),
and in nadir tracking mode, magnetorquers and reaction wheels are powered and controlled
autonomously by the onboard computer.
In nominal operations the satellite keeps its -Y axis (payload boresight) pointed at nadir while
constraining the +Z axis (startracker and payload radiator) toward the negative orbit normal (i.e.
away from the sun for a 09:30am LTDN). The procedure to verify the performance of nadir
tracking is executed immediately after GHGSat-D has been placed into a nadir tracking mode for
the first time. Since nadir tracking mode places the satellite in a significantly different thermal
84
and power state than it had been in previously, this procedure not only verifies nadir pointing
performance, but also re-verifies some power and thermal telemetry as well. Since both
temperature and battery state of charge have long term trends not obvious from short term
datasets, the power and thermal states of the satellite are monitored closely for 24 hours
following the initiation of nadir pointing.
Target Tracking is a sub mode of Three-Axis control mode in which a specific satellite body
vector is pointed at a target on or in the Earth (Panning Mode Observations [30]). Target
Tracking requires that both a target location and an attitude constraint be specified. As such, the
required control inputs include the target coordinates (latitude, longitude and altitude), pointing
body vector (vector to align with the target), constraint body vector (vector to align with a
constraint) and the constraint option (choice of orbit normal, “relative” velocity (spacecraft
velocity vector) or target local east).
For each tracking mode checkout (coarse and fine) the target is selected such that it lies at the
same extreme cross track angle so that the startracker stray light from the Earth is again at a
maximum. Like the nadir case, the baseline constraint is to align the radiator and startracker
(both on the +Z face of the satellite) with the negative orbit normal so that they are pointed away
from the sun. In coarse mode, the startracker is not enabled. In fine mode, the startracker is
enabled and its quaternions are being used by the ACS.
Once GHGSat-D satellite transitions to target tracking mode, data used to verify the performance
during the maneuver is collected and provided the ACS Mission Lead for further analysis.
5.4.4 Power Subsystem Checkouts
The power system checkout ensures that the satellite has sufficient power to operate and that all
satellite subsystems operate within their power limits. The units are left in their expected
software state and Whole Orbit Data (WOD) collected for one full orbit before providing the
logs to Mission Power Subsystem Lead for verification.
5.4.5 Payload Checkouts
Payload checkouts involve testing a subset of payload functionality that can be verified without
attitude control, which essentially amounts to telemetry checks for all payload devices.
Payload checkouts also involve testing another subset of payload functionality that can only be
properly verified once the satellite has three-axis attitude control. This includes capturing images
and confirming GPS performance.
85
The final payload checkout for the portion of payload commissioning requires observation data
to be collected and analyzed by GHGSat Inc. Satellite Operations
5.4.6 On-Orbit Insertion to Stabilization
Immediately upon deployment from the XPOD on-orbit, GHGSat-D is alive and collecting
telemetry (WOD), but tumbling. During the second ground station pass (roughly 11.5 hours after
lift-off), successful contact is made with the satellite from the SFL Mission Control Center
(MCC), and the process of commissioning the satellite begins, leading to a controlled/stabilized
orientation.
Figure 45 shows the satellite’s body rates in each axis in 𝑑𝑒𝑔/𝑠 denoted by the vertical axis. The
horizontal axis represents the Eastern Standard Time (EST). The Y-axis is tumbling at a higher
rate than the other two axes at 6 𝑑𝑒𝑔/𝑠. Body rates are relatively uncontrolled in all three axes
implying satellite tumbling. Once attitude control is achieved, body rates stabilize and remain
negligible going forth. The transition from a state of tumbling to control is clearly visible in the
figure below, and is completed during the initial commissioning phase.
Figure 45: GHGSat-D Body Rates - Tumbling to Nadir Tracking
86
The initial commissioning of transitioning the satellite into three-axis control takes place after
the completion of individual subsystem checkouts, followed by applying B-dot control to
stabilize the satellite.
5.5 Satellite Operations
A satellite operator’s task entails monitoring satellite health (monitoring power and thermal
variations/profiles), providing subsystem engineers timely system updates, setting alarms and
limit changes as suggested by an engineer, sending commands to the satellite, managing ground
station passes, downloading data (telemetry and images), and getting information to the customer
in a timely manner.
Payload observations, instrument setting and calibration, and imaging targets are scheduled by
GHGSat Inc. and satellite tasks pertaining to those above are performed by SFL’s GHGSat-D
satellite operators. High-resolution images are collected daily from multiple target sites and
moved to a secure server from where the data is then used, analyzed and sold by GHGSat Inc.
5.5.1 Day-In-Life
Day-In-Life of GHGSat-D satellite includes commanding the satellite, making payload
observations, gathering temperature and power profiles, managing downlink capacity, and
collecting the attitude profile of the satellite near/during observations, during passes and at all
other times (Nadir Tracking). Results and observations made on a typical day in a satellite’s life
(24 hours) are provided in what follows. A typical day includes fifteen orbits around Earth, and
four ground station passes. For the purposes of this analysis, a day with a couple of payload
observations was used. The horizontal axis represents the Coordinated Universal Time (UTC).
Attitude profile of GHGSat-D is shown in Figure 46. The numbered peaks represents an attitude
profile that is not nadir tracking. Nadir tracking is GHGSat-D’s nominal operational mode and in
such a mode the – 𝑌 axis of the satellite (payload boresight) is pointed towards nadir, while the
+𝑍 axis (radiator and startracker) is constrained to the orbit normal to prevent stray light
complications.
87
Figure 46: Day-In-Life Attitude Profile
Events 1, 2, 5, and 6 represent satellite maneuvers during ground station contact wherein the
satellite is station tracking and its +𝑋 axis (S-band transmitter antenna) is pointed towards the
SFL ground station to successfully meet the daily downlink capacity requirement of
(confidential) Mbpd per the mission requirements. Antenna pointing successfully allows up to
1024 kbps downlink speeds at low elevation angles and up to 2048 kpbs at high elevation angles.
Events 1 and 2 are night passes with a maximum elevation angle of 20° and 28°, and 5, 6 are day
passes with maximum elevation angle of 20° and 29°.
Events 3 and 4 represent payload observations and these are performed during sunlit conditions
to provide the satellite with sufficient energy to power its subsystems and acquire high-resolution
images of target sites. The satellite slews around a target in order to complete the along and cross
track frame acquisitions while maintaining a power positive state throughout the observation.
Currently, with antenna pointing GHGSat-D satellite is able to download up to 50 MB of data
per pass (> confidential Mbpd) and as such satisfies the mission requirement.
88
Temperature and power profiles offer the first hints of system anomalies hence it becomes
imperative to analyze these profiles. GHGSat-D satellite orbits fifteen times around Earth
resulting in fifteen charge/discharge cycles. Each orbit is 95 minutes long, and the satellite
observes 61 minutes of each orbit in sunlit condition and the remaining 34 minutes in eclipse
daily.
Figure 47 shows the solar array temperature profile on each of the five satellite panels (axes) for
a period of 24 hours. The +X, -X, and –Z have two strings each (16 cells), -Y and +Z have one
string each (8 cells), and –Y axis has no string (0 cells).
Figure 47: Day-In-Life Temperature Profile of Solar Arrays
The longer the solar arrays face the sun, the more it gets heated providing current to the satellite.
A higher charge current does not shorten the charge time of the satellite, instead allows the
voltage peak to be reached quickly. Events 1 and 2 are evening passes over SFL ground station,
89
event 3 and 4 are payload observation performed during sunlit periods, and events 5 and 6 are
day passes over the SFL ground station.
Figure 48 provides the current profile of the solar arrays, which offer a pleasant comparison
between temperature and current. Satellite components are more sensitive to hot thermal cases
since heat lowers electrical resistance of units, triggering an increase in current. Monitoring the
current produced by individual panels allows the operator to estimate the satellite’s attitude.
Figure 48: Day-In-Life Current Profile of Solar Arrays
Every pass over the SFL ground station results in repositioning the satellite to point its
transmitting antenna on the +𝑋 axis towards the SFL ground station. S-band antennas draw more
90
current during a station pass since they are under use to download payload observation data and
satellite bus health and performance logs (shown in Figure 48 by current spikes during events 1 –
evening pass on +Z array, event 2 – evening pass on +X array, event 5 – day pass on +Z array
and event 6 – day pass on –X array). Similarly, more current is produced by the +𝑌 panel during
payload observations as the satellite is nadir pointed (−𝑌 panel towards Earth, +𝑌 panel towards
the sun), shown by current spikes in event 3 and 4 on the +𝑌 panel. The +𝑍 panel is nominally
pointing away from the sun, thus generally does not generate any current, however a spike in
current is observed due to a surge in current draw resulting from the use of the transmitter
antenna during events 5 and 6. The circles in Figure 48 are meant to show the order of rotation of
the satellite during antenna pointing in an evening pass and a day pass. The rotation order is
simply reversed. The blue circle in Figure 48 represents this spike in current on the +Z panel due
to satellite repositioning performed during a day pass, and an identical red circle in the figure
represents a surge in current, but instead on the -Z panel during an evening pass.
Cold thermal cases have their own adverse effects on units but they are not as severe as those of
hot cases. During nominal conditions (nadir tracking), panels’ +X, -X, +Y, and -Z produces
current and the temperature range of these arrays fluctuates between 0 and 40 degrees. The +Z
array clearly operates in a smaller temperature range (0 and 20 degrees) as the +Z panel is facing
away from the sun. During ground station contact (antenna pointing) and payload observations
(target tracking), a higher rate of current is supplied to the satellite since more instruments such
as the S-band transmitter and payload instruments are functioning during these transitions for
data downlink and observations.
91
Figure 49 indicates a measure of the UHF receiver performance in terms of its received signal
strength indication (RSSI), which is a measure of the power available in a received signal, and is
evaluated in voltage (V) with one as the maximum obtainable RSSI value.
Figure 49: Day-In-Life UHF RSSI
GHGSat-D’s receiver antennas are performing optimally since the values of RSSI are at one or
near one during ground station contacts (Events 1, 2, 5, and 6).
92
The temperature profile of the radios – S-band transmitter and UHF receiver is illustrated in the
figure below.
Figure 50: Day-In-Life UHF receiver and S-band transmitter Temperature Profile
The horizontal axis for the S-band transmitter in the figure above is the pass start and end time in
Coordinated Universal Time (UTC), as the S-band transmitter is turned ON only prior to contact
with the SFL ground station and turned OFF immediately after the completion of a station pass.
Since the first two passes (Periods 1 and 2) are evening passes, the temperature range (10 to 20
degrees Celsius) observed is lower than the next two-day passes (Periods 5 and 6) where
temperature gradient ranges from 10 to 30 degrees Celsius. The horizontal axis for the UHF
receiver in the figure above is the 24-hour observed temperature period in Coordinated Universal
Time (UTC) as the UHF receiver is always active and a more cyclical temperature gradient
ranging between 10 and 35 degrees Celsius is observed.
93
The operating temperature profiles of the Modular Power System (MPS) are depicted in Figure
51 and Figure 52. The MPS operates between 10 to 30 degrees Celsius, which is within
acceptable margins. The information presented so far shows optimal satellite performance. The
battery heaters haven’t been turned on yet, as their temperature have not fallen below 10 degree
Celsius providing added confidence on the satellite design.
Figure 51: Day-In-Life Micro Switch Power Node (uSPN) Temperature Profile
94
Figure 52: Day-In-Life Power Distribution and Management Temperature Profile
The number of charge/discharge cycles (15) undergone by the battery equals the number of
orbital rotations around Earth (15). Batteries (x3) are charged during sunlit period of the orbit,
and are discharged during the eclipse period. Solar Array and Battery Regulator (SABR)
functions during the sunlit period of the orbit, and is not in use during the eclipse period of the
orbit hence temperature profile for the SABR is recorded between 0 degrees Celsius and 30
degree Celsius.
95
Figure 53: Day-In-life Battery Voltage
During the sunlit period, the solar array provide sufficient energy to power the satellite in
nominal operations and ensures the batteries are completely re-charged after being depleted
during eclipse, as the satellite’s energy needs are solely satisfied by the batteries during eclipse.
Payload observation (Events 3 and 4) are performed during sunlit periods, however the solar
energy is unable to completely meet the demands of the satellite operations thus battery
discharging occurs during payload observations.
96
Figure 54 and Figure 55 provide information on power consumed by GHGSat-D satellite during
a 24-hour window. At full capacity the payload draws 12 W. GHGSat-D is designed to operate at
up to 21 W.
Figure 54: Day-In-Life Payload Power Consumed
97
Figure 55: Day-In-Life Power Consumed by Satellite bus only and Satellite (w/payload)
GHGSat-D satellite is either only performing payload observation or downlinking data to the
SFL ground station and never both, in order to remain power positive. Scheduling well
planned/organized satellite tasks, ensuring that GHGSat-D remains power positive, and in the
required orientation, is carefully managed by the operations team.
98
Figure 56: Day-In-Life Power Difference
GHGSat-D operates at a 12.3 V bus voltage. The bottom most chart in Figure 56 plots the
difference between the total power produced and total power consumed by GHGSat-D satellite.
A deeper battery charge is observed immediately following antenna pointing and payload
observations, since more energy is depleted. Moreover, the satellite always produces sufficient
power to meet the power requirements of all the various GHGSat-D tasks.
99
Chapter 6 Conclusion
Conclusion 6
GHGSat-D satellite is successfully orbiting Earth performing payload observations and
collecting telemetry daily. GHGSat-D has many “first” on-orbit accomplishments:
1. Modular Power System (MPS), which is an updated power distribution and management
system developed in SFL.
2. S-band transmitter with enhanced filtering that allows the satellite to achieve data rates of
2048 kbps during antenna pointing.
3. OBC-301 with CAN bus is also on its maiden voyage although it draws flight heritage
from OBC-300.
4. Reaction wheels and the startracker are on the CAN bus, and this change allows the
payload to have its own designated bus (RS485).
5. Reaction wheels are of a higher torque generating variety (60Nm), up from 30Nm.
6. Smart torquers, which are magnetorquers with embedded control, are also flown for the
first time.
7. Autonomous station tracking algorithm developed at SFL is also tested and flown on
board on-orbit for the first time, producing promising results.
Successfully progress to date builds confidence in the technology on-board GHGSat-D making it
highly plausible and likely to have a future constellation of greenhouse gas monitoring satellites.
100
6.1 Satellite Testing Conclusion
Successful satellite operations on-orbit is a result of fruitful and thorough testing of GHGSat-D
satellite on ground in simulated environment conditions similar to those experienced in space.
All faults and bugs are caught during testing resulting in a near perfect satellite prior to launch.
6.2 Autonomous Ground Target Tracking Conclusion
Autonomous ground target tracking is actively running on the satellite and has shown promising
results and is currently undergoing further calibrations, prior to proceeding towards having it run
in the background during GHGSat-D operations, without further operator intervention as
envisioned.
A few lessons have been learned from the algorithm’s performance in space to date and some
future work is listed below, based off these lessons:
1. The SAPIANT thread should run its own cycle count and not rely on that of the ACS and
must log complete NSP command prompt packets. Currently command type issued is
logged but not in the form of a complete NSP packet. This will help in simplifying
debugging.
2. The thread does not have any knowledge on the prevailing ACS state of the satellite
hence careful scheduling is required to avoid ensuring conflicts with payload
observations. Such changes would override SAPIANT instructions. Having knowledge of
the ACS state in SAPIANT would further improve the autonomy of the thread by
allowing the thread to know in advance the state of the satellite. Using the said insight
will allow SAPIANT to schedule transitioning to antenna pointing on its own, without
operator involvement, only when the satellite is not doing anything else.
6.3 Commissioning and Operations Conclusion
GHGSat-D satellite has undergone successful commissioning, attitude and instrument
calibrations and payload observations due to the development of systematic procedures and
methodical work performed by GHGSat-D Operations team whose task includes daily monitory
of the satellite.
101
Figure 57: GHGSat-D prior to being shipped for launch
102
References
[1] "UTIAS-SFL," January 2014. [Online]. Available: www.utias-sfl.net. [Accessed 1 May
2016].
[2] "GHGSat," August 2014. [Online]. Available: www.ghgsat.com. [Accessed May 2016].
[3] "GHGSat-D Mission Operatinos Plan," GHGSat, Montreal, (Confidential).
[4] B. Brakeboer, GHGSat-D Structural Design Document, Toronto: UTIAS-SFL,
(Confidential).
[5] J. Kshtriya and C. Grant, GHGSat-D Commissioning and Operations Overview, Toronto:
UTIAS-SFL, (Confidential).
[6] D. D. Kekez, Nanosatellite Protocol (NSP) Version 3 and 4, (Confidential).
[7] C. Grant, GHGSat-D CDR System Design Document, Toronto: UTIAS-SFL,
(Confidential).
[8] ESA, "Why The Infrared?," [Online]. Available:
http://www.esa.int/Our_Activities/Space_Science/Herschel/Why_the_infrared. [Accessed 8
September 2016].
[9] P. Ang and J. Kshtriya, "GHGSat-D Antenna Pattern Test Plan," UTIAS-SFL, Toronto,
(Confidential).
[10] C. C. Cutler, A. P. King and W. E. Kock, "Microwave Antenna Measurements," IRE, vol.
35, no. 12, p. 1462 to 1471, 1947.
[11] P. Ang and C. Ma, "GHGSat-D Antenna Pattern Test Results," UTIAS-SFL, Toronto,
(Confidential).
[12] GHGSat-D, "Satellite Bus, Ground Control and Launch Requirements," GHGSat Inc.,
Montreal, (Confidential).
[13] C. Grant, GNB Long Form Functional Test Procedure/Software Requirements, SFL-GNB-
SYS-R014, 2009.
103
[14] B. Durak and L. Beguin, "GHGSat-D Payload Software Documentation," GHGSat Inc.,
Montreal, (Confidential).
[15] C. Grant, "GHGSat-D FRR Report," UTIAS-SFL, Toronto, (Confidential).
[16] Support Ticket, "Payload Camera Pattern and EMC Tests," GHGSat Inc., Montreal,
(Confidential).
[17] Support Ticket, "Open Field Testing," GHGSat Inc., Montreal, (Confidential).
[18] Support Ticket, "Spacecraft/payload 1000 Hour Burn-In," GHGSat Inc., Montreal,
(Confidential).
[19] S. Cakaj, "The Range and Horizon Plane Simulation for Ground Stations of Low Earth
Orbiting (LEO) Satellites," www.SciRP.org/journal/ijcns, 2011.
[20] M. F. A. S. S. cakaj, "Practical Horizon Plane for Low Earth Orbiting (LEO) Satellite
Ground Stations," WSEAS International Conference Proceeding, 2013.
[21] J. Liflander, "Radiated Efficiency: A true Measure of Antenna Performance," Pulse
Electronics, 2010.
[22] H. L. M. B. Y. Zhou, "Sensor Alignment with Earth-Centered Earth-Fixed (ECEF)
Coordinate System," IEEE, vol. 35, no. 2, p. 9, 1999.
[23] T. S. Tuli, "BRITE and CanX-4/5 Software Architecture," SFL-GNB-CDR-D007, 2007.
[24] e. a. S. Cakaj, "The Coverage Analysis for Low Earth Orbtining Satellites at Low
Elevation," IJACSA, vol. 5, no. 6, p. 5, 2014.
[25] M. Mahmoud and e. al., "Microsatellite Commissioning Hands on Experience," Research
Gate, no. https://www.researchgate.net/publication/236912315, 2008.
[26] C. M. C. a. L. Learned, "J. Stone; et. al.," IEEE, 2016.
[27] C. Grant, "GHGSat-D Spacecraft Mode Definationsa and Transitions," UTIAS-SFL,
Toronto, (Confidential).
[28] GHGSat Inc., "GHGSat-D Satellite Bus, Ground Control and Launch Requirments,"
GHGSat Inc., Montreal, (Confidential).
104
[29] NASA, "Commissioning the Landsat Data Continuity Mission," Landsat Science, 2016.
[30] C. Grant, Panning Mode Observations, Toronto: UTIAS-SFL, (Confidential).
[31] W. P. Ramadge, "The Control Of Discrete Event Systems," IEEE, vol. 77, no. 1, p. 20,
1989.
[32] J. Pearce, "Spread Spectrum Scene Online," 2000. [Online]. Available:
http://www.eletrica.ufpr.br/evelio/TE111/Eb_N0.pdf. [Accessed 25 06 2016].
[33] Motorola, "Motorola S-records (srec)," [Online]. Available:
http://www.amelek.gda.pl/avr/uisp/srecord.htm.
[34] UTIAS/SFL, Greenhouse Gas Satellite Demonstration (GHGSat-D) Mission - Technical
Proposal, SFL-BUS-XSC-2011202, 2011.