Google Summer of Code 2020

Open Research Institute
Google Summer of Code 2020
Proposed Project List

A Novel User Interface Design for HEO/GEO Broadband Microwave Multiuser Amateur Communication Satellite

Work product is a high level software design document with reference design wireframe, requirements, and specifications.
Phases are as follows.
1) Review and research user interface design software best practices, including accessibility.
2) Identify specific user interface needs in amateur broadband multi-user microwave space communications equipment. Transmitted signals are data, which may consist of video, audio, voice, voice memo, text, and other types of communications. Student must evaluate and document the software user interface needs of low earth orbit (LEO), high earth orbit (HEO), geosynchronous orbit (GEO), lunar orbit, and deep space.
3) Analyze identified needs using a systems engineering approach.
4) Identify and review software requirements.
5) Synthesize software specifications from the requirements.
6) Review specifications.
7) Revise the high level software design document for final review.
Mentors provide systems engineering process and subject matter expertise.


Software Design Document (SDD) for a genetic algorithm approach to LDPC decoding for DVB-S2 and DVB-S2X receivers

The research question is how a genetic algorithm would perform compared to the linear programming (LP) and satisfiability (SAT) backtracking algorithms in low density parity check decoders.
Right now the SAT implementation needs from minutes to days while using a few mega bytes to many giga bytes of ram.
The coding mentor has examples for the idea here: https://gist.github.com/xdsopl/3dee21d563196ee70b52cb9e593ba71a
We believe that a genetic algorithm would mostly run in cache, would be very parallel, and should perform very well on a modern multi-core CPU.
At a minimum, a thorough SDD will be produced by the student. Prototyping, coding, and testing follow review of the SDD.
The benefits to the organization are the exploration of a promising research question for open source LDPC decoders. The benefits to the student are mentored experience with a modern research question and authorship of a relevant and useful software design document.


CODEC2 improvements – Build Process

As explained at http://www.rowetel.com/wordpress/?page_id=452, “CODEC2 is an open source speech codec designed for communications quality speech between 700 and 3200 bit/s. The main application is low bandwidth HF/VHF digital radio. It fills a gap in open source voice codecs beneath 5000 bit/s and is released under the GNU Lesser General Public License (LGPL).”
This project is to continue the update of the CODEC2 build process. With mentoring, the student will research, document, code, and test the best possible build practices.
Improving and documenting the build process will increase adoption of CODEC2.


CODEC2 improvements – Fixed Point

As explained at http://www.rowetel.com/wordpress/?page_id=452, “CODEC2 is an open source speech codec designed for communications quality speech between 700 and 3200 bit/s. The main application is low bandwidth HF/VHF digital radio. It fills a gap in open source voice codecs beneath 5000 bit/s and is released under the GNU Lesser General Public License (LGPL).”
This project is to research, document, build, and test a fixed point implementation of CODEC2. Both CODEC2 and the WaveNet decoder would benefit from fixed point instructions.


CODEC2 improvements – Single Instruction Multiple Data (SIMD)

As explained at http://www.rowetel.com/wordpress/?page_id=452, “CODEC2 is an open source speech codec designed for communications quality speech between 700 and 3200 bit/s. The main application is low bandwidth HF/VHF digital radio. It fills a gap in open source voice codecs beneath 5000 bit/s and is released under the GNU Lesser General Public License (LGPL).”
This project is to research, document, build, and test a single instruction multiple data (SIMD) implementation of CODEC2. Both CODEC2 and the WaveNet decoder would benefit from SIMD instructions.


Implementation and Demonstration of 128-channel Theseus Cores Polyphase Filter Bank Receiver Design

Theseus Cores (https://www.theseus-cores.com/) is an open source collection of powerful field programmable gate array (FPGA) designs for digital communications. The polyphase channelizer is a central component of Open Research Institute’s receiver designs. This project implements and demonstrates the Theseus Cores channelizer at 5 GHz.
Our design consists of 128 user channels distributed across 10 MHz in the amateur satellite uplink sub-band.
Theseus Cores blocks are written to use GNU Radio’s Radio Frequency Network on a Chip (RFNoC) framework. This is the way GNU Radio deploys hardware description language code directly to FPGAs in software defined radios (SDR).
This is very necessary and exciting work because the load-balancing act between general purpose processors and increasingly complex and powerful FPGAs is one of the most important architectural challenges currently faced by software designers.
This project takes the Theseus Cores blocks as a starting point. The student will modify and update the blocks and create any other software necessary to achieve the 128-channel demonstration version. The goal is a documented working reference design in GNU Radio.
The process will be document, design, code, and test.
Expected challenges include navigating the RFNoC build process and toolchain installation and learning curve.
The identification and documentation of specific and particular software or hardware bottlenecks in Theseus Cores that prevent deployment of 128 channels in 10 MHz would be a perfectly acceptable work product.
Mentorship from Theseus Cores and experts in polyphase design is available.


Software Design Document for Open Source Ion Thruster Simulation and Control

Applied Ion Systems (https://appliedionsystems.com/) is an ongoing open source research and development effort into low-cost propulsion systems for CubeSats.
This project addresses immediate software programming needs in simulation, visualization, and control of Applied Ion Systems designs. One area of work will be ion beam simulation to optimize particle trajectories for ion thrusters. The opportunity will be tailored to fit the interests and abilities of the student.


Comb Filter Software Defined Radio Stabilization Technique for 10 GHz

This project implements design approaches discussed by Tom Clark K3IO and Kerry Banke N6IZW, where an injected local signal is used to stabilize a 10 GHz downlink signal received by a dish antenna.
Higher frequency digital communications generally require an increase in the quality of the clock signals in the radio. Attempting to receive without sufficient clock performance results in loss of data or the inability to receive a signal at all. There are multiple ways to specify clock signal quality, with phase noise being of special interest. Here, we want to use a known stable signal to correct a particular type of received signal.
This project will research, document, and simulate the proposed technique.
After review, the student will write code that simulates the technique under worst case conditions. What are the limits of this technique? Can machine learning be applied? Can the technique be adaptive or automated? What are the failure modes? How can those be prevented with software? What is required to deploy the code as a reference design in GNU Radio?
A mathematical background and basic understanding of digital signal processing is helpful but not required.


Remote Operation of Satellite Ground Stations using MQTT and Node-RED

Design, document, code, and test application layer software to control a satellite ground station. This project begins with a survey of existing satellite ground station remote control software, from custom VPNs to SatNOGs control pane. After the identification of useful and appropriate open source components, the student will implement remote control software using MQTT and Node-RED.
MQTT stands for MQ Telemetry Transport. It is an open publish-subscribe and messaging protocol with several high-quality open source implementations. It is very simple and lightweight and is designed for constrained devices and low-bandwidth, high-latency or unreliable networks. More information can be found at http://mqtt.org/
Node-RED is an open source programming tool for connecting hardware devices, APIs and online services. More information can be found at https://nodered.org/.
This project may extend existing remote control software. This project may also replace existing software. The decision-making process will be student-driven and student-focused.

Possible GSoC project. BSP and processor port as necessary of RTEMS to ARM R5F. The project can utilitze the Ti RM57L843 Hercules Microcontroller on a Low cost RM57Lx LaunchPad board. The ultimate target will the R5F lockstep processor on the Zync Ultrascale+ MPSoC.

Proposals in addition to these listed will be enthusiastically received and reviewed.

Submission Guidelines

Please make your plain text submission with contact information to [email protected]
Phone 858 229 3399 for accessibility accommodations and questions.