RF Monitor

Listen / Record RF Traffic

The problem

Most common problems for monitoring

  • SDR Spectrum (Bandwidth)
  • CPU Usage (might have too much channels)
  • Disk Space / Organization
  • Network Usage

CPU Usage

When you have too much channels

14 Individual Transmissions

Demod Flow

Simple Demodulator Flow

Multi-channel Demodulator Flow

Multi-Channel Multi-SDR Flow

MultiSDR + Frequency Shift

SpyServer

  • Supports RTL-SDR, Airspy Mini, Airspy R2, Airspy HF+
  • Has independent FFT and IQ Stream
  • Can do frequency shifting to select just a portion of IQ

FIlter + Demodulator

SegDSP!

SegDSP

  • Means: Segment Digital Signal Processor
  • Connects to SpyServer
  • Event Driven Actions
  • Self-Contained
  • Outputs through WebSocket, TCP

Recording / Watching

SegDSP Features for Watch / Record

  • Record to Disk (IQ / Demod Out)
  • WebUI with WebSockets to check status / listen
  • Record on Squelch Off Feature
  • (Future) Integration with RADOS block storage
  • (Future) Event Driven Script Execute

SegDSP WebUI

Ok so far we got

  • Multi-SDR / Multi-IQ => Many Spyserver
  • Multi-Filter-Demod => SegDSP
  • Record / Watch => SegDSP

So, what's missing?

CPU Usage

SegDSP

Single Core Usage for WBFM

demodulation / webui / record

Solution?

Multi-Machine!

Cheap SBC with Docker

Odroid Cluster

Raspberry Pi Cluster

Boise University PhD candidate Joshua Kiepert Pi Cluster

Advantages

  • Scale how-ever you want - Single Machine or one machine per process
  • Have specific machine roles: SDR Machine, Processing and Storage
  • Use of low cost machines like Pi Zero for processing Narrow Band signals.
  • Use of cloud computing for processing signals
  • Dynamically spawn / despawn DSP Workers when needed (LEO Satellites)

Then...

Usages

  • Never miss that Satellite Pass again
  • Dynamically spawn recorder
  • Monitor for jammers and unauthorized TX and (maybe) warn authorities automagically
  • Learn how a distributed system work (at home)

SegDSP

  • Dockerized
  • Event Driven
  • File Recorder
  • FM Demodulator
  • WebUI
  • Made in Go

Future

  • RADOS Block Storage Recording
  • Event Folder Script ( events.d/squelch_on/myscript.sh )
  • AM, SSB, LSB, PSK, FSK, etc... demodulators
  • Dynamic Signal Detection and Recorder Spawner
  • Remote Control

Any Questions?

Project: https://github.com/racerxdl/segdsp/

My contact:

  • KeyBase: https://keybase.io/racerxdl
  • Telegram: @lucasteske
  • Twitter: @lucasteske
  • Website: https://www.teske.net.br/lucas/

Thanks for watching!