Main Page: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
m (removed items that are already included in the tutorials list)
No edit summary
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Stage2 grc.png|upright=1.2|thumb|right|Example GNU Radio Flowgraph]]
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 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.


Line 7: Line 9:
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.
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.


The recommended way to get started with GNU Radio is to read the '''[[Guided Tutorials|Guided Tutorials]]'''.
The recommended way to get started with GNU Radio is to read the '''[[Tutorials|Guided Tutorials]]'''.


* [[WhatIsGR|What is GNU Radio and why do I want it?]] - Read this if you really have no idea what this project is about.
* [[WhatIsGR|What is GNU Radio and why do I want it?]] - Read this if you really have no idea what this project is about.
Line 22: Line 24:
There also exists a less detailed [https://www.gnuradio.org/doc/sphinx/ Python Manual], which  is primarily used for finding the Python versions of C++ functions/classes/blocks.  It is based on Sphinx to pull in both the Doxygen documentation as well as any formatted comments present in any Python files.  
There also exists a less detailed [https://www.gnuradio.org/doc/sphinx/ Python Manual], which  is primarily used for finding the Python versions of C++ functions/classes/blocks.  It is based on Sphinx to pull in both the Doxygen documentation as well as any formatted comments present in any Python files.  


We also have a variety of [[Tutorials]]
We also have [[Tutorials | a variety of Tutorials]]


Lastly, our Usage Manual contains information about various aspects of GNU Radio not specific to a certain block:
Lastly, our Usage Manual contains information about various aspects of GNU Radio not specific to a certain block:
* [[Handling Flowgraphs]]
* [[Handling Flowgraphs]]
* [[Types of Blocks]]
* [[Polymorphic Types (PMTs)]], which are heavily used in the stream tags and message passing interfaces
* [[Polymorphic Types (PMTs)]], which are heavily used in the stream tags and message passing interfaces
* [[Metadata Information]], which can be added to a raw IQ file
* [[Metadata Information]], which can be added to a raw IQ file
Line 37: Line 40:
* [[VOLK Guide]], details about how GNU Radio performs efficient vector-optimized operations using SIMD
* [[VOLK Guide]], details about how GNU Radio performs efficient vector-optimized operations using SIMD
* [[GNURadioCompanion|The GNU Radio Companion (GRC)]], a GUI IDE for developing GNU Radio applications.
* [[GNURadioCompanion|The GNU Radio Companion (GRC)]], a GUI IDE for developing GNU Radio applications.
* [[Polyphase Filterbanks]]


= Community & Communicating =
= Community & Communicating =
Line 51: Line 55:
* [[DevelopersCalls]] - The developers have monthly VoIP conferences which are open to join.
* [[DevelopersCalls]] - The developers have monthly VoIP conferences which are open to join.
* [[GNURadioConference|The GNU Radio Conference (GRCon)]] - archive pages: [http://gnuradio.org/grcon-2017/ 2017] | [http://gnuradio.org/grcon-2016/ 2016] | [http://www.trondeau.com/gnu-radio-conference-2015/ 2015] | [http://www.trondeau.com/gnu-radio-conference-2014/ 2014] | [http://www.trondeau.com/gnu-radio-conference-2013/ 2013] | [http://www.trondeau.com/gnu-radio-conference-2012/ 2012] | [http://www.trondeau.com/gnu-radio-conference-2011/ 2011]
* [[GNURadioConference|The GNU Radio Conference (GRCon)]] - archive pages: [http://gnuradio.org/grcon-2017/ 2017] | [http://gnuradio.org/grcon-2016/ 2016] | [http://www.trondeau.com/gnu-radio-conference-2015/ 2015] | [http://www.trondeau.com/gnu-radio-conference-2014/ 2014] | [http://www.trondeau.com/gnu-radio-conference-2013/ 2013] | [http://www.trondeau.com/gnu-radio-conference-2012/ 2012] | [http://www.trondeau.com/gnu-radio-conference-2011/ 2011]
* [[Archive of Hack Fests]]


List of Hack Fests
* [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]
* [[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]]
 
[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]


= Developing GNU Radio =
= Developing GNU Radio =
Line 76: Line 70:
* YouTube feed from Ettus Research [http://www.youtube.com/user/ettusresearch/feed featuring demos and howtos] for using GNU Radio and USRPs.
* 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]]
* [[Embedded|Embedded Development with GNURadio]]
* [[GSoC|Summer of Code Programs]] Student Summer of Code Programs from Google (GSoC) and ESA (SOCIS)
* [[GSoC|Summer of Code Programs]] - Student Programs from Google (GSoC) and ESA (SOCIS), see [[GSoCIdeas|Summer of Code Project Ideas List]]
** [[GSoCIdeas|Summer of Code Project Ideas List]]


= Hardware =
= Hardware =
Line 98: Line 91:
* [[Presentations]]
* [[Presentations]]
* [[SampleData|Pre-recorded sample data]] - If you don't have a USRP, find real recorded signals for offline analysis here.
* [[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://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
* [http://gqrx.dk/ GQRX] - Very nice spectrum analysis tool, powered by GNU Radio

Revision as of 02:06, 15 September 2018

Example GNU Radio Flowgraph

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.

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.

The recommended way to get started with GNU Radio is to read the Guided Tutorials.

Documentation

The primary documentation is our C++ Manual, which includes a complete list of available blocks. It is based on Doxygen, using markup comments in the public header files.

There also exists a less detailed Python Manual, which is primarily used for finding the Python versions of C++ functions/classes/blocks. It is based on Sphinx to pull in both the Doxygen documentation as well as any formatted comments present in any Python files.

We also have a variety of Tutorials

Lastly, our Usage Manual contains information about various aspects of GNU Radio not specific to a certain block:

Community & Communicating

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

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.

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.

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.