Software packages performance evaluation of basic radar signal processing techniques
Master Thesis
2019
Permanent link to this Item
Authors
Supervisors
Journal Title
Link to Journal
Journal ISSN
Volume Title
Publisher
Publisher
Department
License
Series
Abstract
This dissertation presents a radar signal processing infrastructure implemented on scripting language platforms. The main goal is to determine if any open source scripted packages are appropriate for radar signal processing and if it is worthwhile purchasing the more
expensive MATLAB, commonly used in industry. Some of the most common radar signal
processing techniques were considered, such as pulse compression, Doppler processing and
adaptive filtering for interference suppression. The scripting languages investigated were
the proprietary MATLAB, as well as open source alternatives such as Octave, Scilab,
Python and Julia.
While the experiments were conducted, it was decided that the implementations should
have algorithmic fairness across the various software packages. The first experiment
was loop based pulse compression and Doppler processing algorithms, where Julia and
Python outperformed the rest. A further analysis was completed by using vectors to index
matrices instead of loops, where possible. This saw a significant improvement in all of the
languages for Doppler processing implementations. Although Julia performed extremely
well in terms of speed, it utilized the most memory for the processing techniques. This was
due to its garbage collector not automatically clearing the memory heap when required.
The adaptive LMS (least mean squares) filter designs were a different form of analysis,
as a vector of data was required instead of a matrix of data. When processing a vector
or one dimensional array of data, Julia outperformed the rest of the software packages
significantly, approximately a 10 times speed improvement.
The experiments indicated that Python performed satisfactorily in terms of speed and
memory utilization. Physical RAM of computer systems is, however, constantly improving, which will mitigate the memory issue for Julia. Overall, Julia is the best open source
software package to use, as its syntax is similar to MATLAB compared with Python, and
it is improving rapidly as Julia developers are constantly updating it. Other disadvantage
of Python is that the mathematical signal processing is an add-on realized by modules
such as NumPy.
Description
Reference:
Frantz, X. 2019. Software packages performance evaluation of basic radar signal processing techniques. . ,Engineering and the Built Environment ,Department of Electrical Engineering. http://hdl.handle.net/11427/30160