Difference between revisions of "Main Page"

From GNU Radio
Jump to navigation Jump to search
 
Line 1: Line 1:
<strong>MediaWiki has been successfully installed.</strong>
= Welcome to GNU Radio! =


Consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
== Introduction ==


== Getting started ==
{{&gt;toc}}
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
 
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
GNU Radio is a free &amp; open-source software development toolkit that provides signal processing blocks to implement software radios. It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in hobbyist, academic and commercial environments to support both wireless communications research and real-world radio systems.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
 
* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
GNU Radio is licensed under the GNU General Public License (GPL) version 3 or later. All of the code is copyright of the Free Software Foundation.
 
== Content ==
 
=== 0. GNU Radio Conference 2016 ===
 
Registration for GRCon16 is now open! Please see [http://gnuradio.org/grcon-2016/ the GRCon16 Website] for more details!
 
=== I. Getting started ===
 
If you've never touched GNU Radio before, these pages will get you started with a running installation of GNU Radio and will show you how to take your first steps with this software radio tool.
 
* [[WhatIsGR|What is GNU Radio and why do I want it?]] - Read this if you really have no idea what this project is about.
* [[InstallingGR|Installing GNU Radio]] - This will explain all the steps to get a working installation of GNU Radio.
* [[HowToUse|How do I use GNU Radio?]] - A short introduction to the possibilities you have as a GNU Radio user.
** [[HowToUse#Using-the-included-tools-and-utility-programs|Utilities and tools that come with GNU Radio]]
* [[Tutorials|Tutorials]]
** [[Guided Tutorials|Guided Tutorials]]
** [[TutorialsWritePythonApplications|How to write Python applications]] - This includes a guide on how to read and use the Doxygen-generated API docs.
** [[Simulations|A quick guide on doing simulations with GNU Radio]]
** [[OutOfTreeModules|How to write an out-of-tree (OOT) module]]
** [[OutOfTreeModulesConfig|Tutorial on how to configure OOT packages to find and link against GNU Radio]]
* [[FAQ|Frequently Asked Questions]] - Check this page before asking questions on the mailing list.
 
=== II. Documentation ===
 
GNU Radio has two manuals: one for the C++ API and another for the Python API. The majority of the documentation comes from using [http://www.stack.nl/~dimitri/doxygen/ Doxygen] markup comments in the public header files. These are the basis for both manuals. The Python documentation uses [http://sphinx.pocoo.org/ Sphinx] to pull in both the Doxygen documentation as well as any formatted comments present in any Python files.
 
* [http://gnuradio.org/doc/doxygen/index.html C++ Manual] - This includes a complete list of available blocks.
** [http://gnuradio.org/doc/doxygen/index.html Current Release]
** [http://jenkins.gnuradio.org/manual/doxygen/index.html Latest Development Build]
** [[old-docs|Documentation for older releases]]
 
The Sphinx documentation fills in some holes in the C++ docs where there is Python-only code:
 
* [[old-sphinx|Sphinx-based Documentation]]
 
{{collapse(Manual Pages of Interest (click to unfold))
 
* [http://gnuradio.org/doc/doxygen/build_guide.html Build Guide]
* [http://gnuradio.org/doc/doxygen/page_metadata.html Using Metadata]
* [http://gnuradio.org/doc/doxygen/page_msg_passing.html Message Passing]
* [http://gnuradio.org/doc/doxygen/page_pmt.html Polymorphic Types (PMTs)]
* [http://gnuradio.org/doc/doxygen/page_qtgui.html Using QTGUI Plotters]
* [http://gnuradio.org/doc/doxygen/volk_guide.html Using VOLK]
* [http://gnuradio.org/doc/doxygen/page_uhd.html UHD Interface]
* [http://gnuradio.org/doc/doxygen/page_affinity.html Block Thread Affinity API]
* [http://gnuradio.org/doc/doxygen/page_ctrlport.html ControlPort]
* [http://gnuradio.org/doc/doxygen/page_logger.html Logging]<br />
}}
 
Documentation on this wiki:
 
* [[GNURadioCompanion|The GNU Radio Companion]], a GUI IDE for developing GNU Radio applications.
 
=== III. Community &amp; Communicating ===
 
There's a nice community of people involved in GNU Radio. Here's some pointers on how to connect with us.
 
* [[ReportingErrors|Asking Questions and Reporting Errors]] - We're helpful people, but '''we expect you to try to help yourself first.'''
* [[MailingLists|Mailing lists]] - Where most of the communication happens, but please read the previous article first.
* [[HowToGetInvolved|How to get involved]] - Do you want to help with the project, or simply become part of the GNU Radio Community? Read this!
* [[IRC|IRC]] - For a more real-time interaction, come join our chat room <code>#gnuradio</code> on Freenode.
* [[MoreCommunity|More GNU Radio on the web and in social media]]
* [[Organization|GNU Radio organizing members]]
* [[WorkingGroups|Working Groups]] - Communities of interest for various aspects of the GNU Radio ecosystem.
* [[DevelopersCalls]] - The developers have monthly VoIP conferences which are open to join.
* [[GNURadioConference|The GNU Radio Conference]]
** [http://gnuradio.org/grcon-2016/ GRCon2016]
** [http://www.trondeau.com/gnu-radio-conference-2015/ GRCon2015]
** [http://www.trondeau.com/gnu-radio-conference-2014/ GRCon2014]
** [http://www.trondeau.com/gnu-radio-conference-2013/ GRCon2013]
*** [[GRCon13WG|GRCon13 Working Group Discussions]]
** [http://www.trondeau.com/gnu-radio-conference-2012/ GRCon2012]
** [http://www.trondeau.com/gnu-radio-conference-2011/ GRCon2011]
* [[Hackfests]] {{collapse((Click for notes))
** [[Hackfest1503|Hackfest 03/2015]] (Ettus Research)
** [[Hackfest1501|Hackfest 01/2015]] (TU Delft)
** [[Hackfest1405|Hackfest 05/2014]] (First EU Hackfest)
** [[Hackfest1403-2|Hackfest 03/2014]]
** [[Hackfest1403|Hackfest 03/2014]] (After WSR '14)
** [[Hackfest1310|Hackfest 10/2013]] (At GRCon '13)
** [[Hackfest1306|Hackfest 06/2013]]
** [[Hackfest1211|Hackfest 11/2012]]<br />
}}
* [https://calendar.google.com/calendar/embed?src=gnuradio.org_o5cbsdudkbk0f42ougcrcqgn00%40group.calendar.google.com&ctz=America/New_York GNU Radio Events Calendar]
** [https://calendar.google.com/calendar/ical/gnuradio.org_o5cbsdudkbk0f42ougcrcqgn00%40group.calendar.google.com/public/basic.ics ICS Import Link]
 
=== IV. Developing GNU Radio ===
 
Using GNU Radio is nice, but the real fun comes with developing new components for GNU Radio or actually changing the core itself. If you want to write some code, read these articles first. Some of the [[Tutorials|tutorials]] are also relevant.
 
* [[Development|Development Information for Contributors]]
* [[Coding_guide_impl|Coding and style guidelines for GNU Radio]]
* [[BlocksCodingGuide|Block structure guide]]
* [[OutOfTreeModules|How to Write a GNU Radio Signal Processing Block]]
* [[Octave|How to use Octave or Matlab with GNU Radio]]
* [[ChangeSets|API and Code Version Changes]]
* [[DevelopingWithGit|How to use git to track your own GNU Radio code]]
* [http://www.trondeau.com/blog/2013/9/15/explaining-the-gnu-radio-scheduler.html An overview of the GNU Radio scheduler]
* YouTube feed from Ettus Research [http://www.youtube.com/user/ettusresearch/feed featuring demos and howtos] for using GNU Radio and USRPs.
* [[Embedded|Embedded Development with GNURadio]]
 
=== V. Hardware ===
 
Hardware is strictly '''not''' part of GNU Radio, which is purely a software library. However, developing radio and signal processing code is even more fun when using hardware to actually transmit and receive, and GNU Radio supports several radio front-ends, either natively or through additional out-of-tree modules.
 
For a list of supported devices, see our [[Hardware]] page.
 
=== VI. Further information and 3rd party extensions ===
 
There's more stuff to be found for GNU Radio on the web. Check these pages to find tutorials, code and other information on GNU Radio.
 
* [http://cgran.org The Comprehensive GNU Radio Archive Network (CGRAN)]
* [https://github.com/search?q=gnuradio&ref=commandbar GNU Radio code on github.com]
* [[SuggestedReading|Suggested Reading]] - A list of non-GNU Radio-related literature, including good introductions to signal processing, radio engineering and software development.
* [[OtherCode|GNU Radio code on other servers]]
* [[ExternalDocumentation|Documentation and Videos for GNU Radio on other servers]]
* [[OurUsers|Real world users]]
* [[AcademicPapers|Academic papers involving GNU Radio]]
* [[Support|Commercial support and training]]
* [[Presentations]]
* [[SampleData|Pre-recorded sample data]] - If you don't have a USRP, find real recorded signals for offline analysis here.
 
==== Related projects ====
 
* [http://www.openbts.org OpenBTS] - An Open Source GSM interface. This is a separate project, with its own mailing list.
* [http://gqrx.dk/ GQRX] - Very nice spectrum analysis tool, powered by GNU Radio

Revision as of 21:05, 6 March 2017

Welcome to GNU Radio!

Introduction

{{>toc}}

GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software radios. It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in hobbyist, academic and commercial environments to support both wireless communications research and real-world radio systems.

GNU Radio is licensed under the GNU General Public License (GPL) version 3 or later. All of the code is copyright of the Free Software Foundation.

Content

0. GNU Radio Conference 2016

Registration for GRCon16 is now open! Please see the GRCon16 Website for more details!

I. Getting started

If you've never touched GNU Radio before, these pages will get you started with a running installation of GNU Radio and will show you how to take your first steps with this software radio tool.

II. Documentation

GNU Radio has two manuals: one for the C++ API and another for the Python API. The majority of the documentation comes from using Doxygen markup comments in the public header files. These are the basis for both manuals. The Python documentation uses Sphinx to pull in both the Doxygen documentation as well as any formatted comments present in any Python files.

The Sphinx documentation fills in some holes in the C++ docs where there is Python-only code:

{{collapse(Manual Pages of Interest (click to unfold))

}}

Documentation on this wiki:

III. Community & Communicating

There's a nice community of people involved in GNU Radio. Here's some pointers on how to connect with us.

}}

IV. Developing GNU Radio

Using GNU Radio is nice, but the real fun comes with developing new components for GNU Radio or actually changing the core itself. If you want to write some code, read these articles first. Some of the tutorials are also relevant.

V. Hardware

Hardware is strictly not part of GNU Radio, which is purely a software library. However, developing radio and signal processing code is even more fun when using hardware to actually transmit and receive, and GNU Radio supports several radio front-ends, either natively or through additional out-of-tree modules.

For a list of supported devices, see our Hardware page.

VI. Further information and 3rd party extensions

There's more stuff to be found for GNU Radio on the web. Check these pages to find tutorials, code and other information on GNU Radio.

Related projects

  • OpenBTS - An Open Source GSM interface. This is a separate project, with its own mailing list.
  • GQRX - Very nice spectrum analysis tool, powered by GNU Radio