GSOC2018 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart

Google Summer of Code 2018 with Aerospace Research.net , KSat-Stuttgart eV and the Institute of Photogrammetry (IFP, University of Stuttgart)

This is AerospaceResearch.net’s common ideas page for Google Summer of Code 2018 . Read everything, have fun, make space possible! You want to find here …

  1. General information
  2. Our Coding Ideas List for you
  3. Coding Ideas Full Description
  4. Infos for Students
  5. What else do we offer?
  6. Contacts

1. General information:

Constellation brings space to people by means of citizen science. We believe there is an open space for everybody …

„Space, is big, really big, you just do not believe how much, hugely, mind-bogglingly, big it is, I mean, you may think it’s a long way down the road to the chemists, but that’s just peanuts to space “ – Douglas Adams

We really enjoyed mentoring creative students during GSOC 2013,  2014 and 2017 . We’ve learned a lot, so we want to share this experience again and support you! We collaborated with the Cosmic Dust Group and the KSat-Stuttgart Team of the Institute of Space Systems (IRS) at the University of Stuttgart. With them, we have launched two new apps, we even supported the European Space Agency (ESA) and their Interplanetary meteoroid environment for exploration (IMEX) project, we released several papers, simulated comets worth 10000 hours of computing power and discussing our findings with an astronaut and experts. How cool is that? And we want you to be part of this again. So we are re-applying this year and give you three chances to be part of this coding family.

– Be a GSOC student!
– Be a GSOC Mentor!
– Provide a GSOC Project!

We did not expect overwhelming reactions about our ideas. So we would like to expand the mentoring and projecting the process. There is space for everyone!

2. Coding Ideas List

Okay, ready for lift-off, we are approaching our coding ideas for GSOC 2018.
The following is our list of current tasks we offer you. Feel free to select one or more for your application. If you can not find one you like, we have always attached it to you. The Cometary Dust simulation for ESA in the next video what so proposed by a student.

And we have lift-off with headlines (full description below) …

AerospaceResearch.net IFP and IRS

  • [gsoc18-a-lp1] Lone Pseudoranger: almost CubeSat tracking by signal correlation of 5+ iq streams
  • [gsoc18-a-lp2] Lone Pseudoranger: almost CubeSat positioning by signal
  • [gsoc18-a-od1] Orbit Determinator: improvement of orbit position data analysis and interpolation (3d) [continuation of GSOC2017 project]
  • [gsoc18-a-od2] Orbit Determinator: orbit position data 3d visualization (GUI, video)
  • [gsoc18-a-od3] Orbital Determinator: Implementing Two-Line Element (TLE) Input / Output and using it for evaluation
  • [gsoc18-a-sd1] Signal Detection: Passive radar reflection detection of satellites (GRAVES radar)
  • [gsoc18-a-sd2] Signal Detection: Meteorite Scattering (GRAVES radar)
  • [gsoc18-a-sd3] Signal Detection: Automatic detection of weak and strong signals in the spectrum by machine learning
  • [gsoc18-a-dd1] DirectDemod: FM demodulator
  • [gsoc18-a-dd2] DirectDemod: Decoding of AFSK (APRS) 
  • [gsoc18-a-dd3] DirectDemod: Decoding of FSK 
  • [gsoc18-a-dd4] DirectDemod: Decoding of PSK, BPSK, QPSK
  • [gsoc18-a-dd5] DirectDemod: Decoding of ADSB
  • [gsoc18-a-dd6] DirectDemod: Decoding of Automatic Picture Transmission (NOAA)
  • [gsoc18-a-dd7] DirectDemod: Signal detection and decoding for GPS or Galileo (GNSS)

KSat-Stuttgart eV

  • [gsoc18-k01] Ksat:  Universal Space Operation Center GUI
  • [gsoc18-k02] KSat: High-Altitude Balloon Bus Software
  • [gsoc18-k03] KSat: Iridium Communication Software Upgrades for enhanced usability
  • [gsoc18-k04] KSat:  VisMa – VisualMath with visual equation solving
  • [gsoc18-k05] KSat: Development &  Simulation Software Building Blocks for CubeSat SOURCE
  • [gsoc18-k06] KSat:  Satellite Bus Software for the CubeSat SOURCE

Misc

 

3. Coding Ideas Full Description

AerospaceResearch.net + IFP + IRS

[gsoc17-a-lp1] Lone Pseudoranger: almost CubeSat tracking by signal correlation of 5+ iq streams

Tracking cubesats by finding it’s rf signal pattern in iq streams of different ground stations. In the process of correlating two squats of the same signal with different levels of power, noise levels, jittering clock and further properties.

Expected Outcome: automatic pattern matching. demonstrating the accuracy of matching with sample data (generated with random noise) and recorded with rtlsdr rf-receiver.

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python medium

Source: https://github.com/aerospaceresearch/lonepseudoranger

Training Data: raw IQ data of our space balloon https://drive.google.com/open?id=0B-6iySZt3rrjRmR2aFpXRWRBN2c

 

[gsoc17-a-lp2] Lone Pseudoranger: almost CubeSat positioning by signal

Expected Outcome: using the existing Lone Pseudoranger software and extand the code to handle massive amounts of time-of-arrival meta-data (5 times xyz-coordinates) over time data.

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python medium

Source: https://github.com/aerospaceresearch/lonepseudoranger

 

[gsoc18-a-od1] Orbit Determinator: improvement of orbit position data analysis and interpolation (3d) [ continuation of GSOC2017 project ]

No measurement is perfect. we know it now, because last year’s GSOC project, we have the OrbitDeterminator. In it measurements of satellite tracks with a lot of jitter on it are processed to get the orbital paramaters. There will not be a perfect ellipsoid for that orbital track at the end, it will be a lot more zigzag. This code should interpolate the data to improve the tracking performance and we still need to improve it.

Expected Outcome: determination of orbital elements („track data“) with massive data sets of jittery input data.

Mentor: A. Hornig, Support by Alexandros K., Nilesh K.

Code Difficulty: Python medium / hard

Source:  https://github.com/aerospaceresearch/orbitdeterminator

Source Test Data: https://github.com/aerospaceresearch/summerofcode2017/tree/master/gsoc2017/a03-LonePseudorangerOrbitPosition

 

[gsoc18-a-od2] Orbit Determinator: orbit position data 3d visualization (GUI, video)

Validating the results interactively and thus showing it to other audiences is important. It wants to find errors in the code and see patterns in the data. It aims to discuss the results within the scientific community and thus support the usability for people interested in using the software.

Expected Outcome: visualize the 3d position data of the satellite track. The gui shall display the total track, it shall be possible to time-wind and see the track unfold over time. the gui shall be able to create a video. Example below.

Mentor: A. Hornig

Code Difficulty: Python medium

Source: https://github.com/aerospaceresearch/orbitdeterminator

 

[gsoc18-a-od3] Orbital Determinator: Implementing Two-Line Element (TLE) Input / Output and using it for evaluation

During orbit on the orbit determiner it became clear very early that we needed to evaluate our results with known tracks or simulated tracks based on two-line elements . TLEs are provided by services like US NORAD or others, and of course there are databases of space-occupied space objects and hoby astronomers. For now, we did not implement it because we focused on the determination of algorithms, but now it is time to find out more.

Expected Outcome: Finding sources for TLEs and tracks of satellites. Implementing these standards to our orbit determiner. Using it for evaluating our algorithms and its results to the externally accessible data.

Mentor: A. Hornig, Support by Alexandros K., Nilesh K.

Code Difficulty: Python medium

Source:  https://github.com/aerospaceresearch/orbitdeterminator

 

[gsoc18-a-sd1] Signal Detection: Passive radar reflection detection of satellites (GRAVES radar)

In other words in other words in satellite signals. One way is reflected off the satellites surface. These signals were transmitted from radio sources on Earth, like the GRAVES space radar in France, and can be received after the bouncing back on receivers on Earth.

A Doppler shift is being performed on a flight of the same frequency. We also want to exploit this and add it as a „signal“ (even though they are not really their signals). It is not quite easy, but it is really interesting.

Expected Outcome: detecting the reflected weak signal in the spectrum. isolate it from other reflected signals and other frequency sources besides the radar frequency. Developing a way to determine the time the signal is received at a station will be possible. Of course 90% if the time there is nothing usefull in the spectrum, so a good noise detection needs to be applied. In the end, we want to detect the ISS by this method for the „our demonstration day“

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python medium / high

Source: https://github.com/aerospaceresearch/

 

[gsoc18-a-sd2] Signal Detection: Meteorite Scattering (GRAVES radar)

As with [gsoc18-a-sd2], the strong space radar waves are also reflected on other objects on their propagation path. One of these objects are meteorites passing the atmosphere. Even though the meteorites are small, they are currently in the atmosphere. And the charged plasma channels serve as a natural reflector for radio waves. This is called meteorite scattering and we want to demonstrate the cosmic dust community.

Expected Outcome: Same as athe previous [gsoc18-a-sd2] but with data for meteorites.

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python medium / high

Source: https://github.com/aerospaceresearch/

 

[gsoc18-a-sd3] Signal Detection: Automatic detection of weak and strong signals in the spectrum by machine learning

The spectrum is limitless and so are the signals within it. As you can see in the following video, even in a small slice of spectrum reserved for transmissions of man-made satellites the coding, the power, the doppler shift and so many more factors are different. But you can still distinguish them easily by their patterns. DGSN easier and faster, but also to see wat else we can get out of it to help others.

Expected Outcome: machine learning applied to the spectrum. Finding and classifying the signal for use of DGSN. Categorizing the signals under categories the student wants to develop the team, but at least „communication signal, space origin, modulation standard“. For „our demonstration day“, we will feed the student’s code with lots and lots of recorded RF spectra.

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python-high

Source: https://github.com/aerospaceresearch/

 

[gsoc18-a-dd1] DirectDemod: FM demodulator

In the CubeSat sector, FM modulation is still important and included as transmission mode. It’s still very important and wants to be the first module in our DirectDemod tool. And the 2nd demodulation of rawly recorded signals in IQ-mode and the original 2MHz sampling rate (or even higher). For most CubeSat processing the signals with an intermediate step in the range of KHz is fine, but for us 2MHz is important because we would loose the possibility to track the signal if sampled in the KHz range.

Expected Outcome: Developing a demodulator for FM signals without loosing the sampling rate for later steps in the process chain (see following GSOC2018 ideas). If you select this task, so select another idea because we consider this idea simple! Too simple for just working on this as your single project

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python low / medium

Source: https://github.com/aerospaceresearch/DirectDemod

 

[gsoc18-a-dd2] DirectDemod: Decoding of AFSK (APRS)

This is a perfect match to the FM demodulator idea. Because the signal decoding always wants to rely on post-processed RF signals. And APRS, which is also transmitted by various CubeSats and the ISS, uses Audio Frequency Shift Keying. And AFSK is basically a modulation of the frequency to transmit Zeros and Ones. You want interface the FM Demodulated signal and decode the APRS signal inside of it.

The range of signal quality is expected to be perfect and to be weak and noisy So you want to realize the APRS standard and therefore, the 2MHz original signal for your DGSN system is ready to go back to the original.

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python medium / high

Source: https://github.com/aerospaceresearch/DirectDemod

Training Data: raw IQ data of our space balloon https://drive.google.com/open?id=0B-6iySZt3rrjRmR2aFpXRWRBN2c

 

[gsoc18-a-dd3] DirectDemod: Decoding of FSK

there are thus more complex transmission modes than AFSK in [gsoc18-a-dd3], and that is FSK with 9.6kbit / s and higher. So we want to implement it in DirectDemod.

Expected Outcome: As in [gsoc18-a-dd3]

Mentor: A. Hornig

Code Difficulty: Python medium / high

Source: https://github.com/aerospaceresearch/DirectDemod

 

[gsoc18-a-dd4] DirectDemod: Decoding of PSK, BPSK, QPSK

And for those of you who the previous ideas were boring, cubesats also use phase shift keying. For that, the FM demodulator needs to receive some tweaks and therefore the decoding algorithms needs to reflect it. In the future, with more and more CubeSats going to Sband (2.2GHz) and even Xband (8GHz), PSK is the standard to be. We want to be prepared for this and have this „child’s discipline“ amoung our ideas.

Expected Outcome: On „our demonstration day“, we want to make contact with the Flying Laptop of the University of Stuttgart. That would be our high hanging fruit, but for the low hanging fruits, so there are cubesats with lower datarates to start with. At the end of the QPSK signal we recorded as an RF file.

Mentor: A. Hornig

Code Difficulty: Python-high

Source: https://github.com/aerospaceresearch/DirectDemod

 

[gsoc18-a-dd5] DirectDemod: Decoding of ADSB

On 1090 MHz airplanes are transmitting their meta data like aircraft id, location, speed and direction.It is called adsb. It is well-understood and fun to watch on flight radar24. Not in all the meta data is the location. We want to trilaterate the position of those signals to provide it as an open data set. And so, it is a great validation scheme because it can cross-checked with the provided location (which is half of all signals)

Expected Outcome: create a module out of the python libdump1090 from muzy linked below. the module needs to be loaded by the ground station main software [gsoc17-a08]. the output should be at each input signal (to iq-stream). Pseudoranger trilateration (positioning) software.

Mentor: A. Hornig, Muzy

Code Difficulty: Python low / medium

Source: https://github.com/muzy/libdump1090

Some Files to play with: https://drive.google.com/open?id=0B-6iySZt3rrjWEw4SUh5MzdaRkE

 

[gsoc18-a-dd6] DirectDemod: Decoding of Automatic Picture Transmission (NOAA)

One of the cool things about space is peacefully working together and using space. The NOAA Weather satellites are good examples here, even though they were financed by the US, they offer all their home harbor. These maps allow ships to recognize dangerous storms on their routes so they can ship around it.

The NOAA satellites are like lines scanners constantly scanning the Earth below them and directly sending each line down to Earth. This is done with the APT method, the automatic picture transmission, that some people also call „weather fax“ because of the noise pattern that you can. Like the mentioned software before, there is no software yet. RF data in high sampling rate and IQ-mode and output the final data (in this case the weather map). For DGSN and so everyone else, we would like you to develope open source tool.

Expected Outcome: At „our demonstration day“. The RF data will be grabbed from the RTL-SDR receiver in IQ mode and you will use your software to generate the maps as seen in the above video. But now with only one tool, directly and by keeping the 2MHz original signal usefull for DGSN and our tracking algorithm.

Mentor: A. Hornig

Code Difficulty: Python-high

Source: https://github.com/aerospaceresearch/

 

[gsoc18-a-dd7] DirectDemod: Signal detection and decoding for GPS or Galileo (GNSS)

This task is similar to [gsoc17-a11] but with Global Navigational Satellite Systems (GNSS). We could use GPS or now Galileo signals and trilaterate the position of origin. Otherwise, we could not use them. The orbit data is available and will be used to validate our tracking techniques.

Expected Outcome: detect GPS or Galileo signals within the iq streams (raw). determine the sample count within the iq stream for the time-of-arrival state of each signal start. Pseudoranger trilateration (positioning) software.

Mentor: A. Hornig, D. Horwedel

Code Difficulty: Python-high

Source: https://github.com/aerospaceresearch/

Some Files to play with: https://drive.google.com/open?id=0B-6iySZt3rrjZk42RGY1dmNNaG8

 

KSat-Stuttgart eV

[gsoc18-k01] Ksat:  Universal Space Operation Center GUI

Ground stations for student projects tend to be one-offs. Our Universal Space Operation Center , What started at GSOC2017, aims to put an end to this by providing an easily customizable open-source framework for others to use. The main task of this GSOC period is to provide the possibility to generate a ready-to-use ground station with a simple GUI setup. This will also be a review of the current storage system of the setup data.

Expected outcome: Creating an interface for the GUI. Design a design that allows fast access to all requisite data for the mission. Logging features for later mission evaluations. The GUI should be robust against handling failures. The GUI shall be tested under real conditions on several Operating Systems with the support provided by the KSat mission operations team.

Code Difficulty: Java, Intermediate

Mentor: Victor Hertel, Valentin Starlinger

Source:   https://github.com/aerospaceresearch/Universal-Space-Operation-Center

 

[gsoc18-k02] KSat: High-Altitude Balloon Bus Software

Description: Currently the Small Satellite Student Society is currently conducting high-altitude balloon missions. A high-altitude balloon wants to be equipped with a payload bus, which carries the payload. For the bus, basic functionality is required. This includes reading GPS data, power handling, communication with the payload, beacon operation and (potentially) communication with a ground station.

Expected outcome: Bus software for high-altitude balloon operation.

Code Difficulty: Python, C ++, Intermediate

Mentor: Manfred Ehresmann,  Valentin Starlinger, more tbd

(Optional) Source: New Project

(Optional) Training data: Will be provided soon

 

[gsoc18-k03] Iridium Communication Software Upgrades for enhanced usability 

Expected Outcome: Streamlining, debugging of current Iridium short message service software for sample communication and high altitude balloon tracking and communication.
Porting to more generic application.

Code is heritage from the sounding rocket mission MIRKA2-RX and the high altitude balloon mission MIRKA2-ICV .

Code Difficulty: C ++, Intermediate
Mentor: Florian Grabi
(Optional) Source: New Project
(Optional) Training data: to be provided

 

[gsoc18-k04] VisMa – VisualMath with a visual equation solver

Motivation: Description: Maths gets tougher once numbers start to vanish, and alphabets start to take over? VisMa aims to make life simpler, VisMa provides step by step solution to basic algebraic equations. The project aims to help people solve complex problems and learn. It can help students in learning concepts. It can be used in research-oriented, double-checking the solution to problems.
This will be the second GSOC year for VisMa, so there is a lot of scope for development.

Expected Outcome: Video, gif, web of solving an equation. Provide a beginners tutorial for different types of equations. Document properly the use of the software

Bonus: Implement to auto-solver for any equation (solve for symbol ‚x‘)
Add an adjustable skill-level bar. These impacts are many steps taken at once.
Support LaTeX style input of equations

Code Difficulty: Python – Intermediate
Mentor: Siddharth Kothiyal, Manfred Ehresmann
Source: https://github.com/aerospaceresearch/VisMa

[gsoc18-k04] KSat: Development & Simulation Software Building Blocks for CubeSat SOURCE

Description: As part of the University of Stuttgart’s lecture „CubeSat Technology“ the CubeSat SOURCE wants to be developed. Several building blocks for CubeSat design choices and CubeSat simulation will be required for the development.

Expected outcome: Tool that aid the CubeSat design process.

Code Difficulty: C ++, Intermediate

Mentor: Manfred Ehresmann, TBD

(Optional) Source: New Project

(Optional) Training data:

 

[gsoc18-k05] Satellite Bus Software for the CubeSat SOURCE

Description: As part of the University of Stuttgart’s lecture „CubeSat Technology“ the CubeSat SOURCE wants to be developed. The satellite is a small scale variant of a real satellite. Thus, a fully functioning software is required in the end. Critical CubeSat functions include Communication, power handling and thermal management. Additional functions are: Payload operation, attitude control and propulsion.

Expected outcome: Generic satellite bus software.

Code Difficulty: C ++, Intermediate

Mentor: Manfred Ehresmann, more tbd

(Optional) Source: New Project

(Optional) Training data:

Misc

[gsoc17XX] Propose YOUR idea!

This is up to you! Propose your idea what you think we need and miss. Please contact us to discuss it beforehand. Also provide your expected results. Having working code would be beneficial!

[XXXX17xX] Previously unused ideas of other coding campaigns

Click the link above to find previous ideas of previous coding campaigns. Please refer to their ideas code (in []).

4. Infos for Students:

Being accepted as a GSOC 2017 student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. Simply copying and pasting an idea here will not work. On the other hand, creating a completely new idea without first consulting potential mentors is unlikely to work out. But we encourage you to also submit and post your own ideas. Prepared and working code works best for our well-acceptance.

As a result of our last two participations in Google and ESA summer of code campaigns, we adapted our selection process. We now have a transparent application scheme where you see for what you get points. And you get points for what we expect of you. We tried to find a good compromise between the fundamental skills we want to see, and also give newcomers and space students a fair chance. And as you can see, there is also a way to surprise us with your creativity. We like to be convinced with working prototypes and good community interaction. Overall, we BELIEVE everyone can do that and we mentors will help you help yourself.

When you will ask us afterwards, we will also take time to discuss with you how you ranked. This could help you improve for next year’s GSOC.

Transparent Application Rating (New since 2016)

Please read the baseline and the optional parts of the pointing schemes. We are listing those points to help you successfully apply and not missing an obvious point. You can always do more, but please check those points. We will be fair, we promise. You can always ask us and we will help you.

Baseline:

  • 5pts Communicated with us org mentors (via their emails below)?
  • 5pts Communicated with the community (via email list)?
  • 5pts Does your application contain a motivation letter? Tell us why you like us and our projects! And prove that you know who we are and what we do! 😉 (1 page is okay)
  • 5pts Do you reference projects you coded WITH links to repos or provided code?
  • 5pts Do you provide all demanded ways of contact (email, skype, mobile/phone, and twitter, chat and/or tumblr if available)
  • 3pts Do you add a preliminary project plan (before, during, after GSOC)?
  • 3pts Do you state which project you are applying for and why you think you can do that?
  • 3pts Do you have time for GSOC? This is a paid job! State that you have time in your motivation letter, and list other commitments!
  • 1pts Only applied via the GSOC 2018 page (please don’t send it directly to us!)
  • 1pts Added a link to ALL your application files to a cloud hoster like github or dropbox? (easy points! 😉 )
  • 0pts Be honest! Only universal Karma points. 🙂
  • 5pts Did you do push code to the existing code? Or did a bugfix?

Optional:

  • 10pts Do you have an aerospace background and did you reference it in your application?
  • 15pts Wild space. Be creative, impress us! 🙂
  • 5pts completed CV (1-2 pages optimal!)
  • 2pts If you select hardware related projects, do you have (access to) it?

Again, please try to get the maximum number of points! 🙂

5. What else do we offer?

  • Awesome space projects
  • long term involvement
  • scientific papers with you as Co-Author for international conferences (video below)
  • letter of recommendation

6. #contact