Skip to content

SoapySDR

AIS-catcher -gu [setting value] ...

In general we recommend to use the built-in drivers for supported SDR devices. However, AIS-catcher also supports a wide variety of other devices via the SoapySDR library which is an independent SDR support library. SoapySDR is not included by default in the standard build. To enable SoapySDR support follow the build instructions below but replace the cmake call with:

cmake .. -DSOAPYSDR=ON
The result is that AIS-catcher adds a few additional "devices" to the device list (-l): a generic SoapySDR device and one device for each receiving channel for each device, e.g. with one RTL-SDR dongle connected this would look like:
Found 3 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
1: SOAPYSDR, 1 device(s), SN: SOAPYSDR
2: SOAPYSDR, driver=rtlsdr,serial=00000001, SN: SCH0-00000001
To start streaming via Soapy we can use:
AIS-catcher -d SCH0-00000001
Note that the serial number has a prefix of SCH0 (short for SoapySDR Channel 0) to distinguish it from the device accessed via the native SDR library. Alternatively, we can use a device-string to select the device:
AIS-catcher -d SOAPYSDR -gu device "serial=00000001,driver=rtlsdr" -s 1536K
Stream arguments and gain arguments can be set similarly via -gu STREAM and -gu GAIN followed by an argument string (if it contains spaces use ""). Please note that SoapySDR does not signal if the input parameters for the device are not set properly. We therefore added the -gu PROBE on switch which displays the actual settings used, e.g.
AIS-catcher -d SOAPYSDR -s 1536K -gu GAIN "TUNER=37.3" PROBE on SETTINGS "biastee=true"
To complete the example, this command also sets the tuner gain for the RTL-SDR to 37.3 and switches on the bias-tee via the SETTING command giving access to the device's extra settings.

If the sample rates for a device are not supported by AIS-catcher, the SOXR functionality could be considered (e.g. -go SOXR on). Again, we advise to use the built-in drivers and include resampling functionality where possible.

Summary Settings

Key Type Default Description
Generic Options
SAMPLE_RATE integer 0/span> Sampling rate in Hz (0-20,000,000)
BANDWIDTH integer 0 Tuner bandwidth in Hz (0-1,000,000, 0=off)
FREQOFFSET integer 0 Frequency correction in PPM (-150 to +150)
FORMAT string CF32 Data type for input source
Specific Options
DEVICE string "" SoapySDR device arguments string
GAIN string - Gain settings in key=value pairs
STREAM string - Stream arguments in key=value pairs
SETTING string - Device settings in key=value pairs
ANTENNA string - Antenna selection
AGC boolean true Enable/disable Automatic Gain Control
PROBE boolean false Print actual device settings
CH integer 0 Channel selection (0-32)