LimeSDR-Mini diagram:
Note: DC-removal is based on Linear-phase DC Removal Filter (Dual-MA 1024 taps)
Works on Linux PC distributions (Ubuntu, Manjaro ...) or ARM boards (Rasperry Pi 3/4, Jetson Nano ...). First install docker:
curl -fsSL https://get.docker.com | sh
You must then add your user to the docker group:
sudo groupadd docker
sudo usermod -aG docker $USER
Log out and back in (or restart the computer) so that your group membership is re-evaluated.
Finally you need to install the 'spectrogram' script:
pip3 install spectrogram
Ubuntu note: You may need to first install pip3 with sudo apt install python3-pip
.
Rasbian/Ubuntu note: Script is installed to ~/.local/bin/spectrogram
, which is not on PATH by default. You need to execute it by using full path!
Invoking spectrogram
does following:
- If needed, programs the LimeSDR-Mini with FPGA accelerator ( restore with
spectogram --fpga_restore
) - Starts the local 'SoapySDR-Remote' server
- Starts GQRX - this connects to the SoapySDR server and displays the spectrogram
Warning: You should cool your LimeSDR-Mini, especially the FPGA. It takes 2.5 minutes for FPGA temperature to rise from 30C to 80C, after which you risk damage!
Works on RaspberryPi:
Notes: Current draw was around 1.25A@5V. 5’ TFT-Display created some noise in the spectrogram - this was not a problem with HDMI display. OTOH HDMI supports higher resolution, which may cap the CPU if GQRX window is too big (updating the waterfall is expensive).
Pair your LimeSDR-Mini with RaspberryPi and execute spectrogram --server_only
- this sets up a SoapySDR-Remote server.
Next, on the monitoring device, execute spectrogram
- this scans for remote devices and opens GQRX if one is found.
Network bandwidth will be around 1 MB/s.
This is a fixed-point accelerator, accuracy against the floating-point model has been verified.
It's about how many samples are averaged e.g. the 131k FFT averages 131k samples - same can be achieved with 512 point FFT and averaging 256 results - 512*256 = 131k.
In general this is a trade-off - hardware complexity is reduced, but you will lose ~3dB dynamic range.
Took 5 minutes to go from cold to critical FPGA temperature.
You will risk damaging your board!
Temperature is stable at ~65C after 10 minutes.
Temperature is stable at ~54C after 20 minutes.