https://github.com/30hours/3lips
Target localisation for multi-static radar
https://github.com/30hours/3lips
multistatic passive passive-radar radar real-time target-localisation
Last synced: 2 months ago
JSON representation
Target localisation for multi-static radar
- Host: GitHub
- URL: https://github.com/30hours/3lips
- Owner: 30hours
- License: mit
- Created: 2024-01-29T07:56:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-26T12:43:25.000Z (about 1 year ago)
- Last Synced: 2025-01-25T07:13:18.929Z (4 months ago)
- Topics: multistatic, passive, passive-radar, radar, real-time, target-localisation
- Language: Python
- Homepage: http://30hours.dev
- Size: 1.34 MB
- Stars: 25
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 3lips
Target localisation for multi-static radar using ellipse intersections. Not a dating app.
See a live instance at [http://3lips.30hours.dev](http://3lips.30hours.dev).

## Features
- Provides a JSON API for geolocation of targets given [blah2](http://github.com/30hours/blah2) radar nodes.
- Uses a [CesiumJS](http://github.com/CesiumGS/cesium) 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.
- Edit the [config/config.yml](config/config.yml) file for scenario.
- Run the docker compose command.```bash
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](http://localhost:49156).
## Method of Operation
The association uses the following algorithm:
- ADS-B associator will associate the closest target within some delay and Doppler 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](https://ieeexplore.ieee.org/document/6129656).
The system architecture is as follows:
- The API server and HTML pages are served through a [Flask](http://github.com/pallets/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 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.
- Scale number of samples in ellipse/ellipsoid to size of shape.## License
[MIT](http://choosealicense.com/licenses/mit)