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

Google Summer of Code 2017 with AerospaceResearch.net, KSat-Stuttgart e.V. and the Institute of Photogrammetry (IFP, University of Stuttgart)

This is AerospaceResearch.net’s common ideas page for Google Summer of Code 2017. Read everything, have fun, make space possible! You will 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 won’t believe how vastly, hugely, mind-bogglingly big it is. I mean, you may think it’s a long way down the road to the chemist’s, but that’s just peanuts to space“ – Douglas Adams

We really enjoyed mentoring creative students during GSOC 2013 and 2014. We gain a lot and we learned a lot, so we want to share this experience again and support you! We collaborated with Cosmic Dust Group of the Institute of Space Systems (IRS) at the University of Stuttgart. With them, we achieved 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 discussed 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 didn’t expect overwhelming reactions about our ideas and the great support by people also being a mentor. So we would like to expand the mentor and project scale here and please keep on applying for these important tasks. There is space for everyone!

2. Coding Ideas List

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

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

AerospaceResearch.net IFP and IRS

  • [gsoc17-a01] Lone Pseudoranger: fast CubeSat tracking by signal correlation of 5+ iq-streams
  • [gsoc17-a02] Lone Pseudoranger: fast CubeSat positioning by signal
  • [gsoc17-a03] Lone Pseudoranger: orbit position data analysis and interpolation (3d)
  • [gsoc17-a04] Lone Pseudoranger: orbit position data 3d visualization (GUI, video)
  • [gsoc17-a05] Ground Station: autonomous operation
  • [gsoc17-a06] Ground Station: parallel file handler
  • [gsoc17-a07] Ground Station: file collector and server
  • [gsoc17-a08] Ground Station: module installation & updating
  • [gsoc17-a09] Ground Station: synchronization of received and processed data
  • [gsoc17-a10] Signal detection and qualification of analog RF-signals (IQ-modulated)
  • [gsoc17-a11] Signal detection and decoding for ADSB
  • [gsoc17-a12] Signal detection and decoding for GPS or Galileo (GNSS)
  • [gsoc17-a13] Comet Trails: GPU integration for particle simulation

KSat-Stuttgart e.V.

  • [gsoc17-k01] ROACH: Ground Station Software – For ROACH-RX experiment on sounding rocket
  • [gsoc17-k02] KSat: Re-entry capsule firmware
  • [gsoc17-k03] KSat: Bandwidth limited transmission schemes for cubesats and re-entry capsules
  • [gsoc17-k04] KSat: VisMa – VisualMath with a visual equation solver

Misc

 

3. Coding Ideas Full Description

AerospaceResearch.net + IFP + IRS

[gsoc17-a01] Lone Pseudoranger: fast CubeSat tracking by signal correlation of 5+ iq-streams

Tracking cubesats by finding it’s rf-signal pattern in all received iq-streams of different ground stations. When match is found, the time-of-arrival of those patterns are determined and used for trilateration aka pseudoranging the signal propagation path. This is one of the key challenges of the project in correlating two squences of the same signal with different power levels, 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-a02] Lone Pseudoranger: fast 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

 

[gsoc17-a03] Lone Pseudoranger: orbit position data analysis and interpolation (3d)

no measurement is perfect. there will be a lot of jitter of the calculated xyz over time data. there won’t be perfect elipsoid for the orbital track, it will be a lot more zigzag. this code shall interpolate the data to improve the tracking performance

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

Mentor: A. Hornig, D. Horwedel

Code-Difficulty: Python-medium/hard

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

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

 

[gsoc17-a04] Lone Pseudoranger: orbit position data 3d visualization (GUI, video)

Validating the results interactively and also showing it to other audiences is important. It will help us find errors in the code and see patterns in the data. It will be the starting point to discuss the results within the scientific community and also support the usability for peopleinterested 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, D. Horwedel

Code-Difficulty: Python-medium

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

 

[gsoc17-a05] Ground Station: autonomous operation

The ground stations will be deployed globally and will perform their task of tracking cubesat. For convinience reasons, the ground station shall operator autonomously following a schedule / plan. The demonstrator station will be placed in northern Sweden during a sounding REXUS rocket campaign and snowy winter conditions will force the operator (us) to rely on the stations. A daily manual operation cannot be possible then. We cannot  just go there because it will be too cold. The final station will also be rely on the operation techniques worked out during this demonstration campaign.

Expected Outcome: generating scheduler, watchdog service of sw and hw. interface to schedule server. also ueing tasks in case of out-of-contact times to server.

Mentor: A. Hornig, D. Horwedel

Code-Difficulty: Python-medium

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

 

[gsoc17-a06] Ground Station: parallel file handler

Each ground station will record many iq-streams wth the rtlsdr receivers. Later processing steps will use those iq-streams for their analysis. A file handler for parallel tasks will be required

Expected Outcome: parallel file handler. locking and releasing files for worker processes. shall support Windows, Linux and Mac.

Mentor: A. Hornig, D. Horwedel

Code-Difficulty: Python-low

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

 

[gsoc17-a07] Ground Station: file collector and server

After all files are created and handled with [gsoc17-a06] on each of the many stations, they need to e transferred to a central server/hub for final processing like positioning and tracking of the cubesat.

Expected Outcome: automatic transfer of all files to a connected server. interfaces for conencting via the internet or LAN is required. alternative system via usb hdds and other storage devices is an option. files shall be effiently and lossly transferred.

Mentor: A. Hornig, D. Horwedel

Code-Difficulty: Python-low

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

 

[gsoc17-a08] Ground Station: module installation & updating

Operating maaaaany ground stations is a huge task. Keeping the stations updated is another one. The design of the software is based on modularity and for each processing task (recording, gps synchronization of data, signal correlation, signal detection…) there will be another module. Thos modules will be uploaded to the station during the initiation phase and those modules will be regularly checked for updates. And if needed the update shall be performed to keep it up to date.

Expected Outcome: coding an updateing service for the ground station. integration of the existing modules and external modules (3rd party) in this service. update shall be possible from online repositories like GitHub and from servers connected via LAN or from HDDs

Mentor: A. Hornig, D. Horwedel

Code-Difficulty: Python-low/medium

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

 

[gsoc17-a09] Ground Station: synchronization of received and processed data

Each iq-stream file includes special markers for time synchronization. The markers are generated based on the GPS time source. With this, several files recorded at different ground station sites can be synched. The markers are inside the IQ-streams and can already be detected with our code.

Expected Outcome: improving efficiency of analysis for staying realtime.

Mentor: A. Hornig, D. Horwedel

Code-Difficulty: Python-medium

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

 

[gsoc17-a10] Signal detection and qualification of analog RF-signals (IQ-modulated)

Our ground stations are using software defined radio dongles called rtlsdr and also full fledged BladeRFs. They can tune to frequencies between 50 to 1700 MHz. There are many radio sources out there and on a few bands, there are satellite signals. We need to detect them qualify them for processing just the intersting parts of the otherwisely received noise.

Expected Outcome: simple signal detection. qualification by modulation (am, fm, fsk, qpsk, etc…). detecing sequences for later pattern recognition. If possible, decoding of received data.

Mentor: A. Hornig, D. Horwedel

Code-Difficulty: Python-medium/high

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

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

 

[gsoc17-a11] Signal detection and decoding for ADSB

On 1090 MHz airplanes are transmitting their meta data like aircraft id, location, speed and direction.It is called adsb. That is well understood and fun to watch on flightradar24. Not in all of the transmitted meta data is the location. We want to trilaterate the position of those signals to provide it as an open data-set. And also, it is a great validation scheme because our result can be cross-checked with the provided location (when the meta data included 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 loadable by the ground station main software [gsoc17-a08]. the output shall be each adsb signals by their data and the starting time (sample count) within the input file (an iq-stream). the output of this ground station and from further stations shall be processible by the Lone 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

 

[gsoc17-a12] 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. GNSS satellite orbits need to be well known, otherwise we could not use them. The orbit data is available and shall 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. the output of this ground station and from further stations shall be processible by the Lone 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

 

[gsoc17-a13] Comet Trails: GPU integration for particle simulation

Lots of cometary dust particles are simulated here. This is a known task for parallelization. We just want to have the results faster.

Expected Outcome: porting the code to GPUs. At least one state of the art GPU architecture shall be used.

Mentor: A. Hornig, IRS Cosmic Dust team

Code-Difficulty: C/C++-medium

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

 

KSat-Stuttgart e.V.

[gsoc17-k01] ROACH: Ground Station Software – For ROACH-RX experiment on sounding rocket

Expected Outcome: Making the source code for ROACH nice and tidy and publishable will require some additional time. Provide a proper documentation to be able to adjust the software for the needs of your REXUS sounding rocket mission, CubeSat mission or SmallSatellite mission.

Mentor: M. Ehresmann

Code-Difficulty: Java /medium

Source: Github repo exists

 

[gsoc17-k02] KSAT: Re-entry capsule firmware

Expected Outcome: Creating the structure of a generic application. Providing a demonstrator for a non-arduino cubesat software. Creating system checks and test cases for testing the firmware on ground.

Code-Difficulty: java-medium

Mentor: M. Ehresmann

Source: git@bitbucket.org:ksatstuttgart/mirka2-rx-obc.git + git@bitbucket.org:ksatstuttgart/mirka2-rx-ocu.git

 

[gsoc17-k03] Bandwidth limited transmission schemes for cubesats and re-entry capsules

Motivation: Small and CubeSats usually offer only a very limited bandwidth, to make the most out of it, each transferred bit should be as useful as possible.

Expected Outcone: Provide a library (language tbd) for transmission schemes that reduce the required bandwidth will requiring only minimal computation effort. Good documentation and theoretical background required, as adjustments of the software by users highly likely.

Code-Difficulty: java-medium

Mentor: M. Ehresmann

 

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

Motivation: A lot of people are scared of math. Especially once numbers are out of the game and mainly symbols are used. At this point most people either simple trust the experts or stop caring about the problem at hand at all.
By having a software that shows slowly and step by step how an equation is solved to derive the description of a novel physical phenomenon the hurdle to understand math and the working of nature can be severely reduced.

Baseline Functions:

  • Display an equation on the software GUI.
  • Support easy and intuitive input of equations
  • Allow for manual conversion of the equation for common math operators
  • Support all special symbols, especially math operators and greek alphabet
  • Allow for substitutions of symbols
  • Animate canceling of terms

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

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

Code-Difficulty: medium

Mentor: M. Ehresmann

 

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 2017 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 on of the hardware related projects, do you have (access to) it?

Again, Please try to follow this list 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