Target localisation for multi-static radar
Go to file
2024-03-07 04:35:06 +00:00
api Add Ellipse method 2024-03-05 12:22:30 +00:00
cesium Add Cesium container 2024-02-05 13:43:59 +00:00
common Can finally do arbitrary message sizes 2024-03-03 08:55:28 +00:00
event Added truth to API 2024-03-07 04:35:06 +00:00
test/event I think I finally got enu2ecef working 2024-02-29 15:28:03 +00:00
.gitignore Add pycache git ignore 2024-02-09 14:48:58 +00:00
.gitmodules Remove cesium submodule grr 2024-02-04 12:08:48 +00:00
docker-compose.yml Fix geometry lla2ecef and ecef2lla 2024-02-28 12:00:09 +00:00
LICENSE Initial commit 2024-01-29 18:26:41 +10:30
README.md A bunch of UI and formatting changes 2024-03-05 11:51:07 +00:00

3lips

Target localisation for multi-static radar using ellipse intersections. Not a dating app.

Features

  • Provides a JSON API for geolocation of targets given blah2 radar nodes.
  • Uses a CesiumJS web front-end to visualise data.
  • Ability to compare a number of algorithms for target localisation.

Usage

  • Install docker and docker-compose on the host machine.
  • Clone this repository to some directory.
  • Run the docker compose command.
sudo git clone http://github.com/30hours/3lips /opt/3lips
sudo docker compose up -d —build

The API front-end is available at http://localhost:49156.

Method of Operation

The association uses the following algorithm:

  • ADS-B associator will associate the highest SNR target within some delay and Doppler boundary around the truth.

The target localisation uses 1 of the following algorithms:

  • Ellipse parametric samples an ellipse (2D) at 0 altitude. Find intersections between 3 or more ellipses such that the distance to each point is under some threshold.

  • Ellipsoid parametric samples an ellipsoid (3D). Find intersections between 3 or more ellipsoids such that the distance to each point is under some threshold.

  • Spherical intersection a closed form solution which applies when a common receiver or transmitter are used. As described in Two Methods for Target Localization in Multistatic Passive Radar.

The system architecture is as follows:

  • The API server and HTML pages are served through a Flask in Python.
  • An initial API request with a new set of parameters (algorithms or radar nodes) will add these parameters to a common processing loop. This is so fair comparisons can be made between these parameters on the same input data.
  • A set of API parameters will continue to be processed unless there is no API call in some specified time - see main.py to update. This allows the latest geolocation to be provided, rather than adding to the processing loop and waiting for the update from the next time increment.

Future Work

  • Implement an association algorithm that is not reliant on ADS-B truth.
  • Choose to use detection or track data from each radar.
  • Long term plots to show metrics such as 2D location accuracy to ADS-B, number of aircraft tracked, etc.

License

MIT