Coder Social home page Coder Social logo

spectrogram's Introduction

80MHz bandwidth with LimeSDR-Mini and GQRX

Build Status

Bluetooth GIF

LimeSDR-Mini diagram:

Block diagram

Note: DC-removal is based on Linear-phase DC Removal Filter (Dual-MA 1024 taps)

Install

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!

Usage

Invoking spectrogram does following:

  1. If needed, programs the LimeSDR-Mini with FPGA accelerator ( restore with spectogram --fpga_restore)
  2. Starts the local 'SoapySDR-Remote' server
  3. 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:

Pi setup

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).

Remote usage

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.

MISC

Using without GQRX

See demo notebook

Accuracy vs floating-point model

This is a fixed-point accelerator, accuracy against the floating-point model has been verified.

fix vs float accuracy

Reproduce

How is 512 point FFT comparable to 131k FFT??

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.

132k FFT vs 512 + averaging Reproduce

In general this is a trade-off - hardware complexity is reduced, but you will lose ~3dB dynamic range.

Cooling solutions

No cooling

No cooling

Took 5 minutes to go from cold to critical FPGA temperature.

You will risk damaging your board!

Heat-sink on FPGA

FPGA sinked

Temperature is stable at ~65C after 10 minutes.

Heat-sink everything

Massive sink

Temperature is stable at ~54C after 20 minutes.

spectrogram's People

Contributors

gasparka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.