/RadioHeatmap

Software for creating a radio frequency heatmap

Primary LanguageJava

Example Waterfall

Heatmap is a piece of software for creating a heatmap from rtl_power csv data collected using RTL-SDR software defined radio. Usefull for finding active frequencies in the rf spectrum. All decibel values are normalized and then drawn using Princeton's StdDraw library. Blue represents the highest and red the lowest value. At the moment very large files cannot yet be processed.

Usage:

To see some examples, view example 1 and example 2.

  1. Download repository If you don't have a java runtime environment installed you can do it with this command:
    sudo apt install openjdk-8-jre
    git clone https://github.com/gue-ni/heatmap.git
    cd build

  2. Collect signal data:

    24h survey of the entire spectrum covered by the RTL-SDR:
    rtl_power -f 24M:1700M:1M -i 100 -g 50 -e 24h data.csv

    Survey of the upper 19 MHz airband for one hour. This can be used to find active air traffic control channels.
    rtl_power -f 118M:140M:8k -i 10 -g 50 1h airband.csv

  3. Process data and create heatmap:

    java -jar RadioHeatmap.jar -f file.csv -i filename -t [png/jpeg] [OPTIONS]

    Use this command to create and label the heatmap.
    java -jar RadioHeatmap.jar -f data.csv -i image -t png -l

    Usage: java -jar RadioHeatmap.jar -f file -i image -t filetype [OPTIONS]
        -f      path to csv source file [-f example.csv]
        -i      name of target image file [-i example]
        -t      image file type [-t png/jpeg]
        -p      print raw data
        -h      help
        -s      draw scale on heatmap
        -l      draw label on heatmap
        -br     brightness [0.0 - 1.0]
        -sa     saturation [0.0 - 1.0]
        -deb    debugging mode
    
    Example: java -jar RadioHeatmap.jar -f survey.csv -i survey -t png