Main Page: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(22 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]]
[[File:FunCube_2_meter_NB_FM_fg.png|upright=1.8|thumb|right|Example 2 meter NBFM receiver]]


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 12: Line 12:


* [[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.
* [[GNU_Radio_Live_SDR_Environment|GNU Radio Live SDR Environment]] - Get a bootable DVD/USB/Cloud image with a fully functional GNU Radio and a lot of examples.
* [[InstallingGR|Installing GNU Radio]] - This will explain all the steps to get a working installation of GNU Radio.
* [[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.
* [[Tutorials|Tutorials]] - Several tutorials for varying skill levels.
* [[Tutorials|Tutorials]] - Several tutorials for varying skill levels.
* [http://cgran.org The Comprehensive GNU Radio Archive Network (CGRAN)] - A list of 3rd party GNU Radio apps
* [http://cgran.org The Comprehensive GNU Radio Archive Network (CGRAN)] - A list of 3rd party GNU Radio apps
Line 21: Line 19:
= Documentation =
= Documentation =


The primary documentation is our [http://gnuradio.org/doc/doxygen/index.html C++ Manual], which includes a complete list of available blocks. It is based on Doxygen, using markup comments in the public header files.
* User Documentation
*# The [[Usage Manual]] contains information about various aspects of GNU Radio not specific to a certain block.
*# [[:Category:Block_Docs|List of Blocks]] (or just wiki search the block name)
* Developer Documentation
*# Our [http://gnuradio.org/doc/doxygen/index.html C++ Manual and API Reference] includes documentation targeted for developers. It is based on Doxygen, using markup comments in the public header files.


We also have [[Tutorials | a variety of Tutorials]]
* [[:Category:3.8|Landing page for GNU Radio 3.8 related resources]]
 
Lastly, our [[Usage Manual]] contains information about various aspects of GNU Radio not specific to a certain block.


= Community & Communicating =
= Community & Communicating =
Line 31: Line 31:
There's a nice community of people involved in GNU Radio. Here's some pointers on how to connect with us.
There's a nice community of people involved in GNU Radio. Here's some pointers on how to connect with us.


* Our [[Code_of_Conduct|Code of Conduct]] describes our expectations for community participation.
* [[ReportingErrors|Asking Questions and Reporting Errors]] - We're helpful people, but '''we expect you to try to help yourself first.'''
* [[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.
* [[MailingLists|Mailing lists]] - Where most of the communication happens, but please read the previous article first.
Line 40: Line 41:
* [[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-2018/ 2018] | [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-2018/ 2018] | [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]]
* [[Archive of Hack Fests]] and miscellaneous [[Presentations]]


= Developing GNU Radio =
= Developing GNU Radio =
Line 67: Line 68:
* [[SuggestedReading|Suggested Reading]] - A list of non-GNU Radio-related literature, including good introductions to signal processing, radio engineering and software development.
* [[SuggestedReading|Suggested Reading]] - A list of non-GNU Radio-related literature, including good introductions to signal processing, radio engineering and software development.
* [[ExternalDocumentation|Documentation and Videos for GNU Radio on other servers]]
* [[ExternalDocumentation|Documentation and Videos for GNU Radio on other servers]]
* [[OurUsers|Real world users]]
* [[OurUsers|Real world users]] and [[Support|Commercial Support/Training]]
* [[AcademicPapers|Selected Academic papers involving GNU Radio]]
* [[AcademicPapers|Selected Academic papers involving GNU Radio]]
* [[Support|Commercial support and training]]
* [[SampleData|Pre-recorded sample data]] - If you don't have a USRP, find real recorded signals for offline analysis here.
* [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 17:20, 20 January 2020

Example 2 meter NBFM receiver

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

  • User Documentation
    1. The Usage Manual contains information about various aspects of GNU Radio not specific to a certain block.
    2. List of Blocks (or just wiki search the block name)
  • Developer Documentation
    1. Our C++ Manual and API Reference includes documentation targeted for developers. It is based on Doxygen, using markup comments in the public header files.

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.