{"id":13497152,"url":"https://github.com/gnuradio/gr-inspector","last_synced_at":"2025-05-16T05:04:15.542Z","repository":{"id":8155528,"uuid":"56888434","full_name":"gnuradio/gr-inspector","owner":"gnuradio","description":"Signal Analysis Toolbox for GNU Radio","archived":false,"fork":false,"pushed_at":"2025-03-03T19:55:38.000Z","size":2066,"stargazers_count":287,"open_issues_count":5,"forks_count":97,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-05-16T05:04:07.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gnuradio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-04-22T22:20:38.000Z","updated_at":"2025-05-13T12:29:18.000Z","dependencies_parsed_at":"2024-10-31T13:31:40.694Z","dependency_job_id":"66accd85-f1d0-4cae-a913-842d7a347efa","html_url":"https://github.com/gnuradio/gr-inspector","commit_stats":{"total_commits":233,"total_committers":10,"mean_commits":23.3,"dds":"0.10729613733905574","last_synced_commit":"5d96308d14e660cc3c2f571d1f9a484bbbfb04e8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnuradio%2Fgr-inspector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnuradio%2Fgr-inspector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnuradio%2Fgr-inspector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnuradio%2Fgr-inspector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gnuradio","download_url":"https://codeload.github.com/gnuradio/gr-inspector/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T20:00:24.722Z","updated_at":"2025-05-16T05:04:15.514Z","avatar_url":"https://github.com/gnuradio.png","language":"C++","funding_links":[],"categories":["\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++","GnuRadio Software"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://github.com/gnuradio/gr-inspector/blob/master/docs/doxygen/images/logo_body_big.png\" /\u003e\n\n\u003c/div\u003e\n\n# The Inspector (gr-inspector)\n\n## Introduction\nThis GNU Radio module is developed to realize signal analysis abilities in typical block-structure. The module is capable of the following:\n- Energy detection of continuous signals\n- Filtering of detected signals\n- OFDM parameter estimation (carrier spacing, symbol time)\n- Blind OFDM synchronization\n- Resampling of signals to constant rate\n- 3D Visualisation of FAM data, from gr-specest (not on GR 3.8 yet)\n- Using TensorFlow models for AMC (not on GR 3.8 yet)\n\n## Installation\n\nTo install the Inspector, the following dependencies are required:\n\n- [GNU Radio](https://github.com/gnuradio/gnuradio) 3.8\n    - gr-blocks, gr-filter, gr-fft\n    - Optional for tests: gr-analog, gr-channel\n- Qt5\n- Qwt 6.1.0\n\nThis OOT follows the GNU Radio [development\nmodel](https://wiki.gnuradio.org/index.php/GNU_Radio_3.8_OOT_Module_Porting_Guide#Development_Model),\nthere are different branches for compatibility with different GNU Radio\nversions.\n\nInstall by the following shell commands:\n\n```\ngit clone git@github.com:gnuradio/gr-inspector.git\ncd gr-inspector\nmkdir build\ncd build\ncmake ..\nmake -j4\nsudo make install\n```\n\n## Usage\nGet inspired by the examples. There are flowgraphs for each block that should explain how to use them.\n\nFor detailed information about each block, visit the Doxygen HTML pages.\n## Brief block description\n\nA typical inspector flowgraph could look like this:\n![A typical inspector flowgraph](https://grinspector.files.wordpress.com/2016/05/decentral.png)\n\n#### Signal Detector\nPerforms an energy detection of continuous input signals. A threshold in dB can be set or an autmatic threshold calculation can be used.\n\n#### Inspector GUI\nGUI where the spectrum is displayed along with signal markers for the detected signals. Also, signal can be selected manually in this block.\n\n#### Signal Separator\nTakes 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.\n\n#### Signal Extractor\nAdapter block to extract the samples of one signal out of the messages from the Signal Separator. Output is again a complex stream.\n\nResampling can be used to assure a constant output sample rate of the stream. (Needed for FM demod for instance.)\n\n#### OFDM Estimator\nEstimates 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.\n\n#### OFDM Synchronizer\nAfter OFDM parameter estimation, the signal is frequency synced and symbol beginnings are marked with stream tags.\n\n## Google Summer of Code\nThis 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:\n\n- Automatic signal detection\n- Automatic modulation classification\n- OFDM parameter estimation and synchronization\n- GUI feedback\n- Doxygen documentation\n\nRead the full proposal [here](https://github.com/sbmueller/gsoc-proposal/blob/master/sigint-proposal.pdf).\n\nThis project was developed in cooperation with the [Communications Engineering Lab](http://www.cel.kit.edu/) of the Karlsruhe Institute of Technology.\n\nThe modulation classification is developed by @chrisruk during ESA Summer of Code in Space program.\n\n## Pybind11 QT binding issues\nTrying to generate the qt_gui_inspector_sink_vf module python bindings, you may get an error that the \"qapplication.h\" include cannot be found. Use this\ncommand and modify the include directory according to your system:\n```\ngr_modtool bind qtgui_inspector_sink_vf --addl_includes /usr/include/x86_64-linux-gnu/qt5/,/usr/include/x86_64-linux-gnu/qt5/QtWidgets -D\"__PIC__ 2\"\n```\nAdd to the qtgui_inspector_sink_vf_python.cc :\n```\n#include \u003cQtWidgets/qwidget.h\u003e\n```\n## License\nThis software is Copyright © 2016 Free Software Foundation, Inc. and part of GNU Radio. It is free software, and is released under the [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html) License.\n\n## Contact/Help\nIf you run into problems installing or using gr-inspector, the GNU Radio [mailing list](https://wiki.gnuradio.org/index.php/MailingLists) is the right place to get help. There are many people who will provide assistance. **Please do provide a complete problem description containing**\n\n1. What exactly where you trying to do?\n2. What steps did you perform to achieve this?\n3. What happend (with complete verbose output)?\n4. Why do you think something went wrong? What should have happend instead?\n\nVisit [How to report errors](https://wiki.gnuradio.org/index.php/ReportingErrors) for more detailed instructions.\n\n**Please only use GitHub issues for actual bugs and improvements!** \"This command is not working on my machine\" is not a bug.\n\nMaintainer of this module:\n\nSebastian Müller\u003cbr/\u003e\ngsenpo[at]gmail.com\n\nChristopher Richardson\u003cbr/\u003e\nchrisrichardsonuk[at]gmail.com\n\nIf you want to know more about the development process, please visit the [blog](https://grinspector.wordpress.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnuradio%2Fgr-inspector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgnuradio%2Fgr-inspector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnuradio%2Fgr-inspector/lists"}