GithubHelp home page GithubHelp logo

ognlvnt / gr-inspector Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gnuradio/gr-inspector

0.0 2.0 0.0 1.74 MB

Signal Analysis Toolbox for GNU Radio

CMake 37.19% Python 10.65% C 0.38% C++ 51.78%

gr-inspector's Introduction

The Inspector (gr-inspector)

Introduction

This GNU Radio module is developed to realize signal analysis abilities in typical block-structure. The module is capable of the following:

  • Energy detection of continuous signals
  • Filtering of detected signals
  • OFDM parameter estimation (carrier spacing, symbol time)
  • Blind OFDM synchronization
  • Resampling of signals to constant rate
  • 3D Visualisation of FAM data, from gr-specest
  • Using TensorFlow models for AMC

Installation

To install the Inspector, the following dependencies are required:

  • GNU Radio
  • gr-analog, gr-blocks, gr-channel, gr-filter
  • QT4
  • QWT 6.1.0
  • QwtPlot3D
  • TensorFlow 0.12 (pip installation - you need the version for Python 2.7)

Install by the following shell commands:

git clone [email protected]:gnuradio/gr-inspector.git
cd gr-inspector
mkdir build
cd build
cmake ..
make -j4
sudo make install

Usage

Get inspired by the examples. There are flowgraphs for each block that should explain how to use them.

For detailed information about each block, visit the Doxygen HTML pages.

Brief block description

A typical inspector flowgraph could look like this: A typical inspector flowgraph

Signal Detector

Performs an energy detection of continuous input signals. A threshold in dB can be set or an autmatic threshold calculation can be used.

Inspector GUI

GUI where the spectrum is displayed along with signal markers for the detected signals. Also, signal can be selected manually in this block.

Signal Separator

Takes the signal info from the previous blocks and performs a down-mixing, filtering and decimation of each detected signal. The samples for each signal are passed on as a message.

Signal Extractor

Adapter block to extract the samples of one signal out of the messages from the Signal Separator. Output is again a complex stream.

Resampling can be used to assure a constant output sample rate of the stream. (Needed for FM demod for instance.)

OFDM Estimator

Estimates the parameters subcarrier spacing, symbol time, FFT size and cyclic prefix length for a input signal. The signal should not be oversampled for this block.

OFDM Synchronizer

After OFDM parameter estimation, the signal is frequency synced and symbol beginnings are marked with stream tags.

3D Data Visualisation

Visualisation of FAM data from gr-specest.

TensorFlow AMC Model

Loading of TensorFlow models for AMC.

Google Summer of Code

This GNU Radio module is part of the Google Summer of Code (GSoC) program 2016. The target is to develop a signal analysis / signal intelligence toolbox with the following capabilities:

  • Automatic signal detection
  • Automatic modulation classification
  • OFDM parameter estimation and synchronization
  • GUI feedback
  • Doxygen documentation

Read the full proposal here.

This project was developed in cooperation with the Communications Engineering Lab of the Karlsruhe Institute of Technology.

The modulation classification is developed by @chrisruk during ESA Summer of Code in Space program.

License

This software is Copyright © 2016 Free Software Foundation, Inc. and part of GNU Radio. It is free software, and is released under the GPLv3 License.

Contact/Help

If you run into problems installing or using gr-inspector, the GNU Radio mailing list is the right place to get help. There are many people who will provide assistance. Please do provide a complete problem description containing

  1. What exactly where you trying to do?
  2. What steps did you perform to achieve this?
  3. What happend (with complete verbose output)?
  4. Why do you think something went wrong? What should have happend instead?

Visit How to report errors for more detailed instructions.

Please only use GitHub issues for actual bugs and improvements! "This command is not working on my machine" is not a bug.

Maintainer of this module:

Sebastian Müller
gsenpo[at]gmail.com

Christopher Richardson
chrisrichardsonuk[at]gmail.com

If you want to know more about the development process, please visit the blog.

gr-inspector's People

Contributors

sbmueller avatar gnieboer avatar chrisruk avatar mbr0wn avatar

Watchers

James Cloos avatar  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.