Software Infrastructure for NeXtRAD Development in Julia Programming Language

Master Thesis


Permanent link to this Item
Journal Title
Link to Journal
Journal ISSN
Volume Title

University of Cape Town

This dissertation presents the implementation of signal processing infrastructure in Julia Programming Language. The aim is to aid sea clutter analysis using NetRAD and NeXtRAD data. Scripts written in Julia Programming Language and supporting documentation on how to navigate through compressed HDF5 files, apply pulse compression, pulse-Doppler processing and an adaptive LMS filter for interference suppression is presented. Both serial and multi-core pulse compression and pulse-Doppler processing functions are implemented. The assessment of the algorithm computation times highlights Julia's dependence on large amounts of RAM and slow data movement between worker processes. Multi-core pulse compression on 130 000 pulses each with 2 048 samples was not found to be faster than the serial implementation. Multi-core pulse-Doppler processing was able to achieve a speedup of 1:6 for a dataset with 102 400 pulses. Datasets larger than 102 400 pulses resulted in a memory bottleneck. The adaptive LMS filter was validated by applying an OS-CFAR detector to match filtered data before and after filtering. The filter was unable to improve the precision or recall for highly cluttered pulses, but was able to reduce the number of highly cluttered pulses.