Drone FPGA Radio-Telescope Beam Mapping

We will fly a large hexacopter drone with a weak radio transmitter to calibrate the beam pattern of a radio telescope. Our on-campus “telescope” will be a dish antenna on an amateur astronomy telescope mount that can bring outside and point it in different direction to map out its beam pattern.

We transmit a custom wide-band signal out of a fast FPGA-controlled digital to analog converter (DAC) with 16-bit samples at 4 GHz. We receive the signal with an equally-fast analog to digital converter (ADC). We perform digital signal processing (DSP) with Fast Fourier Transforms (FFTs) to compare how much of the transmitted signal. This basically makes our own software defined radio (SDR).

I have written custom Verilog code that interfaces with python to transmit and receive fixed-length arrays. Pieces of the project you'd work on include: 

  • Working with the FPGA to send samples out of a GHz digital-to-analog converter (DAC) and retrieve samples from a GHz analog-to-digital converter (ADC), store them and analyze them (python, numpy, scipy, jupyter-lab, matplotlib, bokeh).
  • Radio frequency (RF) work with amplifiers and antennas.
  • Programming flight paths of the drone and analyzing the data that comes out (python, ardupilot, PX4).
  • Synchronizing the radio samples with the drone GPS and orientation data (linux, networking).
  • Design and build a mount for the antenna and transmitter on the drone, along with a mount for our test "radio telescope" antenna on the ground. (Laser cutter, 3D printing).
  • Making the electrical system of the drone and radio robust and reliable on battery power (Circuits and soldering).

Please list your relevant experience, detailing your particular contribution to any group projects. Relevant skills include the above, but also any of:

  • All software is numpy-based python running on Linux, so experience in Linux, especially with things like low-level networking and serial ports would be relevant.
  • C or C++ array and pointer management at the level of CS70
  • Computer architecture at the level of E85
  • Digital signal processing at the level of E101

Not all of this background is required, but to accept any ambitious 1st or 2nd year students, I'd need to be convinced of your ability to independently pick up a useful subset.

Two or three students will participate. You must be willing to commit 4, 8, or 12 hours/week on this project in the spring in 3-4 hour blocks. There will be a separate application later for summer, funding pending, which would require committing to 10 weeks, usually starting the first or second week.

Name of research group, project, or lab
Drones, FPGAs, and Radio Astronomy
Why join this research group or lab?

Drones and software-defined radio are fun and emerging technologies. The project will help radio astronomy research. My group also does optics and quantum entanglement work, but this project is unrelated.

Logistics Information:
Project categories
Engineering
Physics
Astronomy
Circuit Design
Robotics
Signal Processing
Student ranks applicable
First-year
Sophomore
Junior
Senior
Student qualifications

Please reply with a description of any relevant experience: drones, flying, radio, astronomy, FPGA, DSP, electronics, soldering, etc.

Applicants will be selected based on their ability to independently read relevant documentation and figure out how to make the FPGA, electronics, and python work together under Linux. Please list your own relevant experience from classes or personal projects, detailing your particular contribution to any group projects.

Time commitment
Spring - Part Time
Summer - Full Time
Compensation
Academic Credit
Paid Research
Number of openings
3
Techniques learned

Basic electronics, aeronautical engineering, mechanical engineering, flying, radio, Linux, and python data analysis.

Contact Information:
Mentor
jason@hmc.edu
Physics Professor
Name of project director or principal investigator
Jason Gallicchio
Email address of project director or principal investigator
jason@hmc.edu
3 sp. | 10 appl.
Hours per week
Spring - Part Time (+1)
Spring - Part TimeSummer - Full Time
Project categories
Robotics (+5)
EngineeringPhysicsAstronomyCircuit DesignRoboticsSignal Processing