The External Calibrator for Hydrogen Observatories (ECHO) is a subset of the Low Frequency Cosmology Group (LoCo) at Arizona State University. ECHO aims to develop a set of tools for measuring the primary beam response of 21cm observatories using drones.
The ECHO Procedure
An antenna is mounted beneath a drone and flown over an antenna under test (ground antenna) in a spiral pattern from horizon to zenith, covering the ground antenna's entire field of view. During flight, the drone antenna broadcasts a constant power radio signal generated by a programmable synthesizer. The radio spectrum from the ground antenna is then combined with GPS data from the drone to create a FITS file that contains the primary beam response of the ground antenna. This process is done using two networked machines which will be referred to as the ground station and the accumulation station. Each station receives a different data stream, being GPS data for the ground station and radio spectrum data for the accumulation station.
pyECHO is a Python package in development with tools for accumulation and plotting of data via networked machines. As outlined in the ECHO procedure, there are two different incoming data streams: GPS data from the drone and radio spectrum data from the antenna. These data streams are handled seperately by the ground and accumulation stations. Prior to using any scripts contained in pyECHO, the user must first install
Opens an additional MAVLink UDP connection so that GPS data can be fed simultaneously to APM Planner and ECHO_get_gps.py and then opens APM Planner
Using pymavlink, a Python implementation of the MAVLink protocol, GPS positions of the drone are recorded in real time and written to a text file. Upon calling this script, the following flags can be passed by the user
|--gps_file||Filename for generated output file with GPS data|
|--trans||Drone antenna polarization. Added to filename passed by
gps_file flag if present upon execution
ECHO utilizes a Linux machine for the accumulation station, which is required for use of the Signal Hound bb60a/c spectrum analyzer SDK. Radio spectrum data is received and written to a file get_sh_spectra. The spectrum data can then be passed to ECHO_accumulate.py which can be done in realtime, by specifying the --realtime flag. An accumulated text file containing GPS and radio spectrum data is then generated, which can then be passed to ECHO_plot.py with the --realtime flag for real time visualization, or to