Golda, Peter J. Software Simulation of Synthetic Aperture Radar. MSc Dissertation. Department of Electrical Engineering, University of Cape Town, 1997.
The purpose of this report is to set out the results of the development of SAR simulation software. The aim of the thesis was to develop such software so that it provides the necessary functionality but is still flexible and simple to use. In addition, it must be developed such that it may be compiled and run on as many platforms as possible ad future functionality may be added with ease. All this in order to enable other RRSG members to obtain known simulated SAR data for the purpose of testing SAR processing algorithms.
First, the introductory theory of SAR was studied, and once understood, a top level algorithm was designed. The required functionality was specified in more detail and with further study of SAR theory a detailed algorithm design took place.
Thereafter, the ANSI C programming standard was studied, as well as numerous documentation detailing C programming styles, commenting habits, and software design and implementation. Once completed, RadSim was specified in detail and designed.
The key design decision was to couple the simulator engine and the offered functionality loosely. This resulted in the engine being the controlling body of the simulation, responsible for software initialisation, the reading and parsing of the simulation cmomand file and the consequent setting up of the simulation parameters. After this, the engine’s responsibility would lie in calling independent functionality modules in the order they were called in the simulation command file and with the appropriate parameters. Each functionality module was then designed to be as independent of other modules as possible and completely separate from the simulation engine.
The implementation of the above design now began and, as with any software project, numerous problems were encountered, especially when it came to the correct implementation of complex functionality such as Fourier transforms, pulse generation and the calculation of the return pulse. However, debugging was made simlpe due to the above mentioned loose coupling of the simulation engine and the functionality, which allowed for each simulation function to be tested independently of most other code modules.
After implementation and debugging, thorough and controlled testing began. Although all tests were passed, it was found that due to the representation of analogue waveforms using a finite number of finte precision elements, the resulting waveforms appeared severely quantised in phase and magnitude. This is a problem that cannot be alleviated completely due to the inherent digital computing platform; however a number of steps were taken to improve the results. First, the key mathematical formulas were rearranged so as to minimise the occurrences where very small numbers interact with very large numbers, thus improving result precision. With the same thought, the units of some parameters in the command file were changed so as to scale them down – for example from hertz to gigahertz – such that these small and large numbers were again minimised. The most important breakthrough was the computation of the return waveform’s in-phase and quadrature components AFTER the completion of the calculation of the final phase of the pulse, that is the initial phase of the pulse at some point plus the phase change due to range. Before, the initial pulse was separated into its two components and thus its phase was quantised. Onto this quantised phase, a quantised version of the phase change due to range was added. The collective result of thee quantisations had disastrous effects. The new method of quantising the phase after its final value had been calculated removed these additional quantisation layers and produced greatly improved results. Finally, this problem’s effects are further diminished when the number of sample points that make up all waveforms is increased, as ith any system where sampling is employed.
After several months of the use of RadSim by other members of the RRSG and some minor bug fixes and adjustments, the software was deemed complete. It was concluded that all requirements have been met and that a working SAR simulator had been produced and that it could be used to simulate both ideal situation and real life situations reliably. The software has already been instrumental in a number of postgraduate theses and has helped a number of students to understand SAR.