Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
ESA UNCLASSIFIED - For Official Use
ESA's OPS-SAT Mission: Powered by GNU Radio
Tom MladenovYGT Mission Operations Concept Engineer ESA/ESOC
15/09/2020
Benjamin Fischer, David Evans
GRCon20
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 2
Overview
• What is OPS-SAT?
• UHF link
• Implementation in GNU Radio
Receiver
Demodulator/decoder
GUI Application
• Amateur Radio outreach
• OPS-SAT ground segment
• Launch day and mission status
• Conclusion
• Outlook
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 3
What is OPS-SAT? (1/2)
• 3U CubeSat (ESA’s first)
• Dedicated to executing hardware/software
experiments in Low Earth Orbit
• ESA GSTP Funding
• 100+ companies from 17 countries registered
experiments
• Academia, start-ups and large corporations are
looking to innovate on OPS-SAT
• Launched 18th Dec 2019 at 05:54:20 from French
Guyana (VS23)
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 4
What is OPS-SAT? (2/2)
Spacecraft bus:
• Gomspace UHF AX100 radio + EPS/ACU
• Nanomind A3200 OBC (AVR32)
• S-band TRX + TMTC encoder/decoder (256kbps↑ 1Mbps↓)
• GNSS receiver
Payloads available to experimenters:
• HD-camera (Nadir-facing)
• Advanced iADCS (RW + MTQ + startracker)
• Optical receiver (data uplink via laser)
• SDR (LMS6002D)
• 2x Altera Cyclone V SoC (Dual Core ARM Cortex-A9)
• X-band transmitter
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 5
UHF link
• GMSK @ 9.6kBd, 437.2 MHz
• CubeSat Space Protocol* (CSP) packets + AX.25 + HDLC (mode 6)
CSP payload:
• Destination/source = OBC -> CCSDS Space Packets
• Destination/source ≠ OBC -> low level TM/TC packets
(4)
*https://github.com/libcsp/libcsp
(nr .of bytes)
https://github.com/libcsp/libcsp
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 6
Implementation in GNU Radio
• Main purpose: reference/starting implementation for the community
• Some (minor) modifications for use in ESA OPS-SAT ground segment
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 7
Receiver
• Simple receiver application
• Acquire IQ samples (HW fc set to fnom - 40 kHz)
• Use relative Doppler frequency (40 kHz + fDopp) for Xlating FIR filter fc
• Resample to fixed rate for demodulator/decoder flowgraph
• Send filtered IQ samples to ZMQ PUB sink
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 8
Demodulator/decoder
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 9
Demodulator/decoder (1/4)
• Quadrature Demod G=2*(samp_rate/baudrate)/pi + Gaussian FIR filter
• Clock Recovery MM + Binary Slicer -> hard symbols
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 10
Demodulator/decoder
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 11
Demodulator/decoder (2/4)
• NRZI decode + G3RUH descrambling of bitstream
• Deframe ‘flagged’ HDLC payloads into packetized AX.25
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 12
Demodulator/decoder
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 13
Demodulator/decoder (3/4)
• Strip AX.25 header and convert to bitstream
• Prepare for decoding of CSP packet
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 14
Demodulator/decoder
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 15
Demodulator/decoder (4/4)
• CCSDS descrambling according to
• Reed-Solomon decoding of packet
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 16
GUI Application
• Viewing the packets from GR in an interactive way
self.context = zmq.Context()
self.socket = self.context.socket(zmq.SUB)
self.socket.connect('tcp://127.0.0.1:38211')
self.socket.setsockopt_string(zmq.SUBSCRIBE, "")
self.socket.setsockopt(zmq.RCVTIMEO, 15000)
w hile self.active:
try:
data = self.socket.recv()
except Exception as e:
print('No packets received in the last 15 seconds...{ERR}'.format(ERR=e))
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 17
OPS-SAT ground segment (ESOC)
ESOC-2 UHF antennaESOC1 3.7m S/X dish
SMILE LAB at ESOC
• SMILE = Special Mission
Infrastructure Laboratory
Environment
• All operations automated
• Spacecraft commissioning currently
performed remotely
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 18
OPS-SAT ground segment (external)
TUG-1 (Austria, TU Graz)IE-01 G/S (Ireland, LeafSpace)
Image: LeafSpace
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 19
OPS-SAT ground segment (external)
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 20
Launch day and mission status
• Launch 18th Dec 2019 at 05:54:20 Kourou Local
time
• Separation at 14:05 UTC with ANGELS and EyeSAT
• First beacon acquisition by radio amateurs and via
SatNOGS
• S/C slow tumble seen in SatNOGS RF-waterfalls
• S/C healthy and plenty of power reserve
• Passes outside of working hours -> heavy use of
automation tools
• SatNOGS* = Satellite Network Operated
Groundstations
*https://db.satnogs.org/
https://db.satnogs.org/
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 21
Launch day and mission status
• Commissioned:
• SEPP (Satellite Experimental Processing
Platform)
• SDR
• HD-Camera
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 22
Launch day and mission status
• Commissioned:
• SEPP (Satellite Experimental Processing
Platform)
• SDR
• HD-Camera
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 23
Amateur radio outreach
• Worldwide call for Radio Amateurs to
listen for OPS-SAT
• Beacons received and decoded
confirming S/C is healthy and
functioning before ESA even made
contact with the satellite
• Coordination with SatNOGS team for
early entry of OPS-SAT
• Certificates provided to participants of
the ‘Catch OPS-SAT competition’
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 24
Conclusion
• Early operations carried out on UHF due to S-band safety issue
• GNU Radio:
• crucial for the UHF ground segment
• lead to first beacon reports after separation
• played an important role in the LEOP
• made the amateur radio outreach possible
• ESA lesson learnt: “Radio Amateur support was essential to our mission success. If an ESA
mission is using those frequencies then it is essential to prepare and involve that
community and stick to their rules in order to fully benefit from that support.”
• The Flight Control Team would like to thank the Amateur radio and GNU Radio
project communities for their support and on-going development
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 25
Outlook
• Beginning of experimental phase
Validation of ‘experiments’ (validated software packages) on satellite
Engineering Model
Uplink to spacecraft
Execution
Dissemination of results to experimenter
• External experiments: Start-ups to large space and defence corporations
• Internal experiments by ESA
• Amateur radio experiments over the UHF link
Image dissemination
RF Uplink experiments
ESA UNCLASSIFIED - For Official Use Tom Mladenov ESA/ESOC | GRCon20 | 15/09/2020 | Slide 26
Thank you for your attention!
Contact:[email protected]@esa.intLinks:https://github.com/esa/gr-opssathttps://www.esa.int/Enabling_Support/Operations/OPS-SAThttps://opssat1.esoc.esa.int/projects/amateur-radio-information-bulletin
mailto:[email protected]:[email protected]://github.com/esa/gr-opssathttps://www.esa.int/Enabling_Support/Operations/OPS-SAThttps://opssat1.esoc.esa.int/projects/amateur-radio-information-bulletin