Software Infrastructure for NeXtRAD Development in Julia Programming Language - Jonkers, Stephanie Cavale (Department of Electrical Engineering, 2017)
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.