KC7MM Wiki

Amateur Radio with KC7MM

User Tools

Site Tools


sdr:sdr_home:rtl-sdr

RTL-SDR

Notes on using the RTL-SDR dongle with Amateur Radio.

Using rtl_fm to stream radio over a network

Sept. 5, 2020: Succeeded in streaming VHF & UHF captured on a Linux workstation over the network. Tested for FM broadcast band, UHF repeater, and UHF simplex.

Systems

The computer systems used:

  • Server: a Linux desktop host with the RTL-SDR dongle plugged into a USB port. Ethernet connection to the LAN. OS: Linux Mint 19.3
  • Client 1: a second terminal on the same host.
  • Client 2: a Linux laptop connecting via WiFi. OS: PureOS (from Librem, based on Debian 10).
  • Home LAN running over 75-Ohm cable TV coax vial MoCa adapters, plus WiFi.

Software

  • On server: rtl_sdr, sox + libsox-fmt-all, socat repository packages.
  • On client (laptop): sox + libsox-fmt-all repository packages.

Procedure

  • On server:
    • Plug in the dongle and test with rtl_test.
    • Tune frequency with $ rtl_fm -M wbfm -f 446.0M | sox -traw -r32k -es -b16 -c1 -V1 - -tmp3 - | socat -u - TCP-LISTEN:8080. Change -f value for other frequencies. (See Rtl_fm Guide for more detail on switches and their values.)
      • Note 32k rate, needed to get true audio. (Example code used 24k – too slow')
      • Uses mp3 format. Will try some others in future.
      • TCP-LISTEN:8080 sets socat to listen for a connection on port 8080. Works both on 127.0.0.1 and LAN/WIFI connection.
  • On client (laptop):
    • Listen to the stream with nc <mike ip address> 8080
      • nc is netcat.
      • Note space between IP address and port.

Results

On the server host with the RTL-SDR attached:

  • Original test was on an FM broadcast station. Had to adjust the rate under Sox to get true audio; 32k sounded right.
  • Ran netcat 127.0.0.1 8080 | play -t mp3 - in another terminal on the same host to listen, and it worked fine. (The play utility is part of Sox.)
  • Tried again with a UHF repeater and it worked the same, both for repeater ID and my voice.
  • I noted a delay of about 8 seconds between reception and audio output. This is caused by buffering for the MP3 stream.

With the second (client) host:

  • Again tried the repeater, with the same result.
  • Tried UHF simplex, with the same result.

Observations

  • The output of rtl_fm is audio, which is converted to MP3 format by sox and then streamed by socat.
  • The 8-second time delay would not work for 2-way communication, but could be acceptable for monitoring. Perhaps another streaming format could reduce that – more testing needed.
  • The sound quality of the streamed audio was decent.
  • It would be interesting to test AM and SSB, which rtl_fm also can handle.

Resources

sdr/sdr_home/rtl-sdr.txt · Last modified: 2020/09/08 03:05 by KC7MM