Home

Awesome

MATLAB Companion to Emitter Detection and Geolocation for Electronic Warfare

<img src="Graphics/cover_emitterDet.png" height=200 /><img src="Graphics/cover_practicalGeo.png" height=200 />

This repository contains the MATLAB code, released under the MIT License, that generates all of the figures and implements all of the algorithms and many of the performance calculations within the texts Emitter Detection and Geolocation for Electronic Warfare, by Nicholas A. O'Donoughue, Artech House, 2019 and Practical Geolocation for Electronic Warfare using MATLAB, by Nicholas A. O'Donoughue, Artech House, 2022.

The textbooks can be purchased from Artech House directly at the following links: Emitter Detection and Geolocation for Electronic Warfare, and Practical Geolocation for Electronic Warfare using MATLAB Both are also available from Amazon.

A python port is in progress, check the git repository.

Update 20221027 -- Additional Features Complete

This repository now contains code for several new features, discussed in the second textbook.

A few of the new features include:

Installation

Simply open the folder in MATLAB or add the root folder containing this repository to the MATLAB search path. Clone this repository, or download the latest release from the Mathworks File Exchange.

View Emitter Detection and Geolocation for Electronic Warfare on File Exchange

Figures

To generate the figures in the book, execute the script runAll.m.

Warning: Some of the figures are generated through a Monte Carlo simulation that can take several hours to complete. For this reason, the variable force_recalc is set to False, which will skip any figures that were generated with a lengthy simulation. To generate those figures, set force_recalc=True.

Alternatively, one can call one of the chapter specific scripts in the folder make_figures, such as:

force_recalc=True;
make_figures/ch1_drawFigures;

Files with the prefix make_figures/book2_ generate figures from the second textbook.

The output will be stored in the figures/ folder. Output for the second book will be placed in a nested folder called practicalGeo/ under the figures/ folder.

Examples

The examples/ folder contains the code to execute each of the examples in the textbook. Files with the prefix book2_ refer to the second textbook.

Homework

The hw/ folder contains data sets used for two homework problems in Chapter 8.

Live Scripts

The live_scripts/ folder contains MATLAB Live script versions for the examples in examples/. It is currently a work in progress, and more will be added over the coming weeks. MATLAB Live scripts blend text and code to enable interactive learning.

Test Scripts

The testscripts/ folder is used to house test scripts, to ensure that utilities are operating as functions, and to enable regression testing in the future. Currently, there is only a single test script, used to verify that coordinate conversions are internally consistent.

Utilities

A number of utilities are provided in this repository, under the following namespaces:

Feedback

Please submit any suggestions, bugs, or comments to nicholas [dot] odonoughue [at] ieee [dot] org.