Main Page: Difference between revisions
m (periods) |
(correct link to GNU Radio Leadership) |
||
(65 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[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. | ||
= Getting started = | = 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. | 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. | * [[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. | * [[InstallingGR|Installing GNU Radio]] - This will explain all the steps to get a working installation of GNU Radio. | ||
* [[ | * [[Tutorials|Tutorials]] - The '''GNU Radio Academy''' is a complete course from beginner to advanced user. | ||
* [[ | * [[Chat|GNU Radio Community Chat]] - For real-time interaction, come join our chat rooms on [https://chat.gnuradio.org Matrix] | ||
* [http://cgran.org The Comprehensive GNU Radio Archive Network (CGRAN)] - A list of 3rd party GNU Radio apps, check out some examples of what folks use GNU Radio to do. | |||
* [[FAQ|Frequently Asked Questions]] - Check this page before asking questions on the mailing list. | * [[FAQ|Frequently Asked Questions]] - Check this page before asking questions on the mailing list. | ||
= Documentation = | = Documentation = | ||
The | * 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. | |||
*# [[GNU Radio 3.10 OOT Module Porting Guide|3.9 to 3.10 OOT Module Porting Guide]] | |||
*# [[GNU Radio 3.9 OOT Module Porting Guide|3.8 to 3.9 OOT Module Porting Guide]] | |||
*# [[GNU Radio 3.8 OOT Module Porting Guide|3.7 to 3.8 OOT Module Porting Guide]] | |||
* [[ | * [[Tutorials|Tutorials]] - Several tutorials for varying skill levels. | ||
* [[ | |||
* [[ | |||
= Community & Communicating = | = Community & Communicating = | ||
Line 42: | Line 30: | ||
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. | ||
* [[HowToGetInvolved|How to get involved]] - Do you want to help with the project, or simply become part of the GNU Radio Community? Read this! | * [[HowToGetInvolved|How to get involved]] - Do you want to help with the project, or simply become part of the GNU Radio Community? Read this! | ||
* [[ | * [[Chat|Chat]] - For a more real-time interaction, come join our chat rooms on [https://chat.gnuradio.org Matrix] | ||
* [[MoreCommunity|More GNU Radio on the web and in social media]] | * [[MoreCommunity|More GNU Radio on the web and in social media]] | ||
* [https://www.gnuradio.org/ | * [https://www.gnuradio.org/leadership/ GNU Radio Leadership] | ||
* [[WorkingGroups|Working Groups]] - Communities of interest for various aspects of the GNU Radio ecosystem. | * [[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. | * [[DevelopersCalls]] - The developers have monthly VoIP conferences which are open to join. | ||
* [[GNURadioConference|The GNU Radio Conference]] | * [[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]] and miscellaneous [[Presentations]] | |||
* We have a [[Calendar]] containing project calls and other events | |||
* [[ | |||
= Developing GNU Radio = | = Developing GNU Radio = | ||
Line 79: | Line 50: | ||
* [[Coding_guide_impl|Coding and style guidelines for GNU Radio]] | * [[Coding_guide_impl|Coding and style guidelines for GNU Radio]] | ||
* [[BlocksCodingGuide|Block structure guide]] | * [[BlocksCodingGuide|Block structure guide]] | ||
* [[ChangeSets|API and Code Version Changes]] | * [[ChangeSets|API and Code Version Changes]] | ||
* [http://www.trondeau.com/blog/2013/9/15/explaining-the-gnu-radio-scheduler.html An overview of the GNU Radio scheduler] | * [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. | * 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 | * [[GSoC|Summer of Code Programs]] - Student Programs from Google (GSoC) and ESA (SOCIS), see [[GSoCIdeas|Summer of Code Project Ideas List]] | ||
= Hardware = | = Hardware = | ||
GNU Radio 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. | |||
For a list of supported devices, see our [[Hardware]] page. | |||
= Further information and 3rd party extensions = | = Further information and 3rd party extensions = | ||
Line 99: | Line 64: | ||
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. | 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. | ||
* [[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]] | ||
* [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 |
Latest revision as of 17:29, 17 April 2024
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.
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.
- What is GNU Radio and why do I want it? - Read this if you really have no idea what this project is about.
- Installing GNU Radio - This will explain all the steps to get a working installation of GNU Radio.
- Tutorials - The GNU Radio Academy is a complete course from beginner to advanced user.
- GNU Radio Community Chat - For real-time interaction, come join our chat rooms on Matrix
- The Comprehensive GNU Radio Archive Network (CGRAN) - A list of 3rd party GNU Radio apps, check out some examples of what folks use GNU Radio to do.
- Frequently Asked Questions - Check this page before asking questions on the mailing list.
Documentation
- User Documentation
- The Usage Manual contains information about various aspects of GNU Radio not specific to a certain block.
- List of Blocks (or just wiki search the block name)
- Developer Documentation
- Our C++ Manual and API Reference includes documentation targeted for developers. It is based on Doxygen, using markup comments in the public header files.
- 3.9 to 3.10 OOT Module Porting Guide
- 3.8 to 3.9 OOT Module Porting Guide
- 3.7 to 3.8 OOT Module Porting Guide
- Tutorials - Several tutorials for varying skill levels.
Community & Communicating
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 describes our expectations for community participation.
- Asking Questions and Reporting Errors - We're helpful people, but we expect you to try to help yourself first.
- Mailing lists - Where most of the communication happens, but please read the previous article first.
- How to get involved - Do you want to help with the project, or simply become part of the GNU Radio Community? Read this!
- Chat - For a more real-time interaction, come join our chat rooms on Matrix
- More GNU Radio on the web and in social media
- GNU Radio Leadership
- 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.
- The GNU Radio Conference (GRCon) - archive pages: 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011
- Archive of Hack Fests and miscellaneous Presentations
- We have a Calendar containing project calls and other events
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.
- Development Information for Contributors
- Coding and style guidelines for GNU Radio
- Block structure guide
- API and Code Version Changes
- An overview of the GNU Radio scheduler
- YouTube feed from Ettus Research featuring demos and howtos for using GNU Radio and USRPs.
- Embedded Development with GNURadio
- Summer of Code Programs - Student Programs from Google (GSoC) and ESA (SOCIS), see Summer of Code Project Ideas List
Hardware
GNU Radio 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.
- Suggested Reading - A list of non-GNU Radio-related literature, including good introductions to signal processing, radio engineering and software development.
- Documentation and Videos for GNU Radio on other servers
- Real world users and Commercial Support/Training
- Selected Academic papers involving GNU Radio
- GQRX - Very nice spectrum analysis tool, powered by GNU Radio