Check the repository: UIRAPURU2025
Setup and Status¶
Data Sources
Physical Temperature, Voltage and current:
Analog Sensors
arduino
raspberry
ADSB monitoring:
dipole antenna
RTL-SDR dongle
raspberry
dump1090 over TCP
pymodeS client
linux machine
GNSS:
gnss antenna
2xLNA
USRP ettus N200
gnss-sdr
docker container
linux machine
RFI
omnidirectional antenna
2xLNA
Skarab
linux machine
Noise Injection
Callisto Callibration Unit
Callisto Spectrometer (bystander)
raspberry + TCPSerialBridge
linux machine (controller)
Select , , for 30 minutes, once a day.
Skarab
Linux machine
Other polarization directly into receiver and skarab
Dfficulties
👷 Real life is a bitch!
Connections, cables, components, parts should be checked and matched accordingly.
👷 Skarap development in python 2.7 environment makes it very difficult to integrate code efficiently.
👷 We need a 12V 2A DC source and 3 5V 3A DC sources and a 4V 1A DC source, all the available power sources at our disposal were compromised in some sort.
👷 The main computer was relying on ethernet mounts to boot and function, while destructive maintenance in the server was happening, leaving the system innoperative.
👷 Every components should fit in a box....
Status of the Assembly
📌 All antennas are in place.
📌 All hardware are in place.
📌 All the connections are done.
📌 All power sources are in place.
🚒 We need to fix boot of the main controller
✅ 23/10
🧹 Some network tweaks
✅ 23/10
🧹 Finish installing software in raspberry
Plan
📅 Finish installation by 23/10/2025
⏯️ Run at least 24h with 2048 FFT channels
⏯️ Run at least 24h with 4096 FFT channels
⏯️ Run at least 24h with 8192 FFT channels
🔁 Preferable 48h for each of the above.
⁉️ Stop, analyze, plan further actions
🖋️ Commit knowledge to an article
Code¶
Skarab¶
❓ fpg bitstream:
We would be using three ADC channels and it is not clear that current bitstream can handle it.
⏳ For future thoughts: current bitstream is not adequate to serious signal processing.
Data Ingestion:
🏗️ Python code running is messy and saves npz files. At the very least the code should be upgraded to store a minimum metadata plus other important informations, like frequencies and timestamps.
It is not difficult to implement a data streaming with this code, using zmq protocol and consume this stream with a more thoughtful logic at the other end.
Raspberry (Callisto)¶
Calibration Unit controller.
Callisto controller
TCP2SerialBridge
Arduino Controller with pyfirmata2 : not tested
Arduino Sensor data stream: not tested
Raspberry (ADSB)¶
dump1090-mutability + configurations: not tested
Linux controller¶
TCP client connecting to TCPSerialBridge: coded and tested in different setup, but not integrated in an operational code base with current setting.
pymodeS TCP client for ADS-B not tested
docker gnss-sdr
gnss-sdr configuration and test.
Task scheduler: good starting point tested in different configuration but needs work.
zmq client for skarab data stream.
HDF5 format: CSIRO SDHDF is a good starting point, we already have code along this lines but we should decide the exact format to use the engine.
Implementation of HDF5 engine
Code for Analysis¶
pointing array
sattelite tracker
radiosources event array: for speed we can track nvss sources and use specfind catalog to retrieve spectral indices. All funcionalities are already coded, but not integrated in a package.
baseline extraction
RFI flagging
Compare continuum measures with convolved map:
❓pysm3
❓HIPASS?
❓ASKAP?
❓VLASS?
RINEX downloader and Analyser
Solar flux calculator: download data from learmonth observatory and interpolate to desired frequency.
Ideas for Analysis¶
Questions¶
Receiver physical parameters and
Correlation with RFI and horn signal
Robustness of calibration procedure
Timescale for receiver stability
local RFI characterization
GNSS carrier x GNSS observed spectrum
Time variabilityy
Frequency shift/drift
time of detection
Time of detection and ephemeris for radiosources
Pointing correction
Sensitivity
SEFD
Polarization?
Keeping or removing filters?