A real-time passive radar
Go to file
2024-02-06 11:32:54 +00:00
.devcontainer Compiles and removed unnecessary deps in Dockerfile 2024-01-02 02:52:58 +00:00
api Make timestamp in ms and time based detection stash 2024-01-02 11:14:13 +00:00
config Update radar4-usrp.yml 2024-02-01 21:16:12 +00:00
doc/html Add doxygen comments 2023-05-20 13:10:55 +09:30
html Add output to JSON for tracker 2023-12-27 09:17:43 +00:00
lib Update SDRplay API to 3.14.0 #6 2024-02-04 08:40:15 +00:00
script Remember to update new API everywhere (fix cron restart) 2023-12-05 13:32:03 +00:00
src Remove bridge networks for host as per #9 and tidy 2024-02-04 08:30:56 +00:00
test Add constants namespace for speed of light, etc 2024-01-20 12:43:31 +00:00
.dockerignore CfarDetector1D is mostly working at /api/detection 2023-11-21 13:41:35 +00:00
.gitignore Added devcontainer and removed dependence on vendored third-party libraries 2023-12-26 08:18:14 +00:00
CMakeLists.txt Update SDRplay API to 3.14.0 #6 2024-02-04 08:40:15 +00:00
CMakePresets.json Compiles and removed unnecessary deps in Dockerfile 2024-01-02 02:52:58 +00:00
docker-compose.yml Remove bridge networks for host as per #9 and tidy 2024-02-04 08:30:56 +00:00
Dockerfile Update SDRplay API to 3.14.0 #6 2024-02-04 08:40:15 +00:00
Doxyfile Add doxygen comments 2023-05-20 13:10:55 +09:30
example.png Initial commit 2023-05-04 20:55:37 +09:30
LICENSE Initial commit 2023-05-04 20:53:41 +09:30
README.md Add discord link to readme 2024-02-06 11:32:54 +00:00

blah2

A real-time radar which can support various SDR platforms. See a live instance at http://radar4.30hours.dev.

blah2 example display

Features

  • Support for the SDRplay RSPDuo and USRP (only tested on B210).
  • 2 channel processing for a reference and surveillance signal.
  • Designed as a passive radar, but can also work as an active radar.
  • Outputs delay-Doppler maps to a web front-end.
  • Record raw IQ data by pressing spacebar on the web front-end.
  • Saves delay-Doppler maps in a json array.

Services

The build environment consists of a docker-compose.yml file running the following services;

  • The radar processor responsible for IQ capture and processing.
  • The API middleware responsible for reading TCP ports for delay-Doppler map data, and exposing this on a REST API.
  • The web front-end displaying processed radar data.

Usage

  • Install docker and docker-compose on the host machine.
  • Clone this repository to some directory.
  • Install SDRplay API to run service on host.
  • Edit the config.yml for desired processing parameters.
  • Run the docker-compose command.
sudo git clone http://github.com/30hours/blah2 /opt/blah2
cd /opt/blah2
vim config/config.yml
./lib/sdrplay-3.14.0/SDRplay_RSP_API-Linux-3.14.0.run --tar -xvf -C ./lib/sdrplay-3.14.0
./lib/sdrplay-3.14.0/install_lib.sh
sudo docker network create blah2
sudo systemctl enable docker
sudo docker compose up -d

The radar processing output is available on http://localhost:49152.

Documentation

Future Work

  • Add a tracker in delay-Doppler space.
  • Add ADS-B overlay on the delay-Doppler map.
  • Support for the HackRF and RTL-SDR using a front-end mixer to sample 2 RF channels in 1 stream.
  • Support for using 2 HackRF boards with clock synchronisation.
  • Add automated Docker image builds on GHCR.
  • Add SoapySDR support for the C++ API to include a wide range of SDR platforms.

FAQ

  • If the SDRplay RSPduo does not capture data, restart the API service (on the host) using sudo systemctl restart sdrplay.api.

Contributing

Join the Discord chat for sharing results and support.

Pull requests are welcome - especially for adding support for a new SDR.

  • Currently have an issue where the USRP B210 is timing out after 5-10 mins and crashes the code. Convinced it's an issue with my usage of the API - email me for more info.

License

MIT