Giter Site home page Giter Site logo

antoniovazquezblanco / sigdigger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from batchdrake/sigdigger

0.0 0.0 0.0 20.64 MB

Qt-based digital signal analyzer, using Suscan core and Sigutils DSP library

Home Page: https://batchdrake.github.io/SigDigger/

License: GNU General Public License v3.0

C++ 95.57% C 1.17% QMake 1.12% Shell 2.14%

sigdigger's Introduction

SigDigger - The free digital signal analyzer

SigDigger is a free digital signal analyzer for GNU/Linux and macOS, designed to extract information of unknown radio signals. It supports a variety of SDR devices through SoapySDR, and allows adjustable demodulation of FSK, PSK and ASK signals, decode analog video, analyze bursty signals and listen to analog voice channels (all in real time).

Wait, why does it look like Gqrx?

Because I'm a terrible person. Also, because after dealing with a lot of software of the sort, I realized that Gqrx had the best UI of them all: minimalistic yet operative. Earlier versions of the UI were somewhat different, but after a lot of debugging I came to the conclusion that it would be better off if I just tried to mimic existing (and successful) software, reducing the learning curve to the new feature set.

You may notice that the spectrum widget looks a lot like Gqrx's. This is because the specturm widget is actually Gqrx's with minimal modifications (like support for configurable Waterfall palettes). I tried to code my own Waterfall widget in Suscan and Xorg ended up hogging the CPU, so I'm not reinventing the wheel anymore: I decided to extend the existing Gqrx's Plotter widget so it fits SigDigger's set of features.

Apart from the UI layout and the plotter widget, SigDigger bears little resemblance to Gqrx: Gqrx depends on GNU Radio, while SigDigger is a Qt5 frontend for Suscan. The DSP chains are totally different and Suscan's thread model is optimized for a very specific set of tasks.

How am I supposed to compile this?

SigDigger depends on three different projects: Sigutils, Suscan and SuWidgets. You need to build and install these projects in your computer prior to compile SigDigger.

  • Sigutils build instructions can be found here.
  • Suscan build instructions can be found here.

Before even attempting to run cmake, you may want to decide which branch you want to build. If you build from master (this is the default for SigDigger and all its dependencies), you will get a fresh executable of the latest stable release of SigDigger. If you build from develop (by running git fetch origin develop and git checkout develop in all four projects, right after git clone), you will get SigDigger with the latest experimental features. Plese note that the develop branch is still under validation, so if you want to build from it, expect bugs, inconsistent behaviors and crashes. Any feedback is welcome though.

After successfully building Sigutils and Suscan, you can now proceed to build SuWidgets. SuWidgets is Qt 5 graphical library containing all SigDigger's custom widgets. In order to build it, ensure you have the Qt 5 (>= 5.9) development framework installed in your system and then run:

% git clone https://github.com/BatchDrake/SuWidgets
% cd SuWidgets
% qmake SuWidgetsLib.pro
% make
% sudo make install

If you the above steps were successful, chances are that you will success on building SigDigger too. In order to build SigDigger, do:

% git clone https://github.com/BatchDrake/SigDigger
% cd SigDigger
% qmake SigDigger.pro
% make
% sudo make install

And, in order to run SigDigger, just type:

% SigDigger

If the command above fails, it is possible that you got SigDigger installed somewhere else, like /opt/SigDigger. In that case, you can try to run instead:

% /opt/SigDigger/bin/SigDigger

Precompiled releases

You can find precompiled releases under the "Releases" tab in this repository. For the time being, these releases are meant for x64 Linux only (preferably Debian-like distributions) and have been minimally tested. Although I have plans to port Sigutils, Suscan and SigDigger to other platforms, I'd like to have a stable codebase before going any further.

Obviously, your feedback will make my job easier. If you experience any issues building or using SigDigger, go ahead and use the fantastic GitHub's bug tracking system. It works pretty well and it is way easier for me to keep track of the existing issues.

Looking forward for your feedback! :)


73 de EA1IYR

sigdigger's People

Contributors

arf20 avatar batchdrake avatar japm48 avatar jedi7 avatar jeffpc avatar newproggie 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.