Design and Implementation of a Graphical User Interface for the Flexible, Extensible Radar and Sonar Simulator
Total Page:16
File Type:pdf, Size:1020Kb
Design and Implementation of a Graphical User Interface for the Flexible, Extensible Radar and Sonar Simulator Prepared by: Poovendren Govender A dissertation submitted to the Department of Electrical Engineering, University of Cape Town, in fulfillment of the requirements for the degree of Bachelor of Science in Engineering 21 October 2008 Supervisor: Yoann Paichard Abstract This project describes the design, implementation and testing of a Graphical User Inter- face for the Flexible Extensible Radar Simulator which was developed by the RRSG at UCT. Prior to the actual design and implementation, research relevant to the GUI development needed to be examined. Research included a basic understanding of radar systems, the FERS simulator and an already existing graphical radar simulator, Sarsim2. The software tools used to complete this project included Qt, OpenGL and QWT. The design phase involved determining the functionality of the GUI and separating the GUI into smaller manageable components. These were the main window, pulse compres- sions, 3D visualization and 2D graphs of results. This allowed for modular design of the GUI. The implementation phase involved realizing the functionality set out in the design phase by using the software tools and relevant research. Once implementation was complete the testing of the GUI was carried out. Any inconsis- tencies found at this stage were either corrected or included as future work. The GUI created utilizes the FERS simulator to model both bistatic and monostatic radars and a maximum of 6 isotropic targets. The radar platforms and targets are displayed on a 3D plot created with OpenGL. The user is able to rotate, zoom and move the 3D coordinate system. When simulation is complete the user has the option of viewing basic 2D graphs of the results produced by the FERS simulator. i Acknowledgements The author would like to thank the following people: • Joan Paichard, my thesis supervisor for his guidance and support. • Michael Inggs for providing the author with this project • Marc Brooker who provided much insight into the functioning of the FERS simu- lator. • Telkom which has paid for the author to attend the University of Cape Town for four years. • The author’s good friends Anndrea Naidu, Clement Clementson, Hilary Chisepo, Jared Baboo, Lorin Zaal, Neehal Mooruth, Nicolas Ip Cho, Mayuresh Kulkarni, Shannon Anne Boonzaier and Yuven Naidoo for the support throughout the years at UCT . • The author’s friends who were present in spirit, Kreben, Chervin, Ronell, Akash, Wesley, Yoganathan, Ruveshan, Annil and Kerusha. • Last but certainly not least, the author’s family for their love and encouragement throughout the years at UCT. • The author would also like to acknowledge some of the Open Source software which was used in preparing this thesis: Kubuntu, OpenGL, QWT, Qt and LATEX. ii Contents Abstract i Acknowledgements ii Nomenclature x 1 Introduction 1 1.1 Background . 1 1.2 Projects requirements . 1 1.3 Requirements Review . 2 1.4 Project overview . 3 1.4.1 Relevant research and software tools . 3 1.4.2 Design . 4 1.4.3 Implementation . 5 1.4.4 Testing, Evaluation and Debugging . 5 1.4.5 Command Summary . 6 1.4.6 Conclusions . 6 1.4.7 Future Work and Recommendations . 7 2 Relevant research and software tools used 8 2.1 Radar Systems . 8 2.1.1 Basic theory of radars . 8 2.1.2 Classification of radars . 8 2.1.3 Important radar concepts . 9 2.2 FERS . 10 2.2.1 Background . 10 2.2.2 Functionality . 11 2.2.3 FERS simulation definition . 11 2.2.4 Results of the FERS simulator . 13 iii 2.3 User requirements . 14 2.4 Existing GUI . 14 2.5 SARSIM2 . 16 2.5.1 Features . 16 2.5.2 SARSIM2 Input window . 16 2.5.3 SARSIM2 3D coordinate system . 18 2.6 Pulse compression . 18 2.6.1 Monochrome . 18 2.6.2 Chirp . 19 2.6.3 Step frequency . 19 2.7 Qt4.3 Designer . 19 2.8 OpenGL . 20 2.8.1 Objects . 20 2.8.2 Transformations . 21 2.8.3 Glut libraries . 21 2.9 QWT . 21 3 Design 23 3.1 System overview . 24 3.2 Functional requirements . 24 3.3 Additional features . 26 3.4 System components . 26 3.4.1 Input Window . 26 3.4.2 Pulse compression . 27 3.4.3 3D visualization . 27 3.4.4 Simulation . 27 3.4.5 Graphs . 27 3.5 Component Diagram . 28 4 Implementation 29 4.1 Input window . 29 4.2 Pulse compression . 29 4.2.1 Monochrome . 29 4.2.2 Chirp . 31 4.2.3 Step frequency . 31 4.3 3D visualization . 31 iv 4.3.1 Coordinate system . 31 4.3.2 Plotting objects . 32 4.3.3 Manipulating the visualization . 33 4.4 Running the Simulation . 34 4.5 Drawing Graphs of results . 35 4.5.1 Power vs Time . 35 4.5.2 Doppler vs Time . 35 4.5.3 Power vs Range . 35 4.5.4 Doppler vs Range . 36 5 Testing, Evaluation and Debugging 37 5.1 Main input window . 37 5.2 Pulse compression . 37 5.3 FERS definition script . 37 5.4 3D Visualization . 39 5.4.1 Plotting . 39 5.5 Systems Testing . 40 6 Command summary 41 6.1 Main Window . 41 6.2 Simulation Inputs . 42 6.2.1 Parameters . 42 6.2.2 Pulse Type . 43 6.2.3 Platforms . 44 6.2.4 Working directory and results buttons . 46 6.3 A simple example . 46 6.3.1 Simulation setup . 46 6.3.2 3D visualization . 49 6.3.3 Simulation . 50 6.3.4 Results . 51 7 Conclusions 55 8 Future work and recommendations 57 A Matlab source code for pulse compressions 60 A.1 Chirp . 60 A.2 Step frequency . 61 v B Software source code 62 B.1 Source header files . 62 B.1.1 Fersgui . 62 B.1.2 Glwidget . 64 B.1.3 Fersout . 66 B.2 Build notes . 67 vi List of Figures 1.1 Overview of System . 4 2.1 The Doppler Effect . 10 2.2 FERS definition script . 12 2.3 XML response . 13 2.4 Interface for the simulator’s parameters . 15 2.5 SARSIM2 main window . 17 2.6 SARSIM2 3D coordinate system . 18 2.7 Qt4.3 Designer . 20 2.8 Example of a QWT plot . 22 3.1 System overview . 24 3.2 Component diagram . 28 4.1 Input window . ..