sdr-heatmap icon indicating copy to clipboard operation
sdr-heatmap copied to clipboard

Visualizes wireless spectrum scans generated by rtl_power

sdr-heatmap Codecov Coveralls github

I'm using this as an opportunity to learn Rust.

A tool to visualize files generated by rtl_power. Inspired by heatmap.py. It aims to provide better speed than heatmap.py, while keeping the same image format. Another similar tool is rtl-gopow, but it produces a different (IMO inferior) image than heatmap.py.

Installation

Packaging status

cargo install sdr-heatmap (from crates.io)

Speed (WIP) (v0.1.2, singlethreaded)

Benchmark sdr-heatmap heatmap.py rtl-gopow Notes
14 MB 375 ms 4558 ms 1995 ms
gzipped 44 MB 14 s failed after 3 m gz not supported Raspberry Pi 3B+
44 MB 17 s 801 s 141 s Raspberry Pi 3B+
829 MB 19,37 s 268,26 s 141,34 s
829 MB 611 MB 427 MB 5164 MB Peak memory, using time -v, single run, v0.1.3

See raw results in bench.md

Roadmap

  • [ ] Produce image like heatmap.py
    • [x] Signal values
    • [ ] Frequency header
    • [ ] Palettes
  • [ ] Performance
    • [ ] Multithreading (currently singlethreaded)
    • [ ] Memory usage
  • [ ] Formats
    • [x] PNG
    • [ ] WebP
    • [ ] Lossy?
    • [ ] Own, efficient, binary format
  • [ ] Viewer