WikiStart
Version 122 (Martin Braun, 07/10/2012 02:11 pm)
| 1 | 73 | Tom Rondeau | h1. Welcome to GNU Radio! |
|---|---|---|---|
| 2 | 1 | ||
| 3 | 1 | h2. Introduction |
|
| 4 | 73 | Tom Rondeau | |
| 5 | 99 | Martin Braun | {{>toc}} |
| 6 | 73 | Tom Rondeau | |
| 7 | 104 | Ben Hilburn | 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. |
| 8 | 50 | Johnathan Corgan | |
| 9 | 105 | Ben Hilburn | GNU Radio applications are primarily written using the Python programming language, while the supplied performance-critical signal processing path is implemented in C++ using processor floating-point extensions, where available. Thus, the developer is able to implement real-time, high-throughput radio systems in a simple-to-use, rapid-application-development environment. |
| 10 | 1 | ||
| 11 | 1 | While not primarily a simulation tool, GNU Radio does support development of signal processing algorithms using pre-recorded or generated data, avoiding the need for actual RF hardware. |
|
| 12 | 1 | ||
| 13 | 81 | Dimitrios Symeonidis | GNU Radio is licensed under the GNU General Public License (GPL) version 3. All of the code is copyright of the Free Software Foundation. |
| 14 | 81 | Dimitrios Symeonidis | |
| 15 | 117 | Tom Rondeau | h2. GNU Radio Conference, 2012 |
| 16 | 117 | Tom Rondeau | |
| 17 | 117 | Tom Rondeau | We are actively working on putting together the second annual GNU Radio conference to be held in Atlanta, September 24 - 27. Please visit the main conference website for details, updates, and to submit ideas for presentations: |
| 18 | 117 | Tom Rondeau | http://www.trondeau.com/gnu-radio-conference-2012/ |
| 19 | 117 | Tom Rondeau | |
| 20 | 1 | ||
| 21 | 1 | h2. Content |
|
| 22 | 73 | Tom Rondeau | |
| 23 | 99 | Martin Braun | h3. I. Getting started |
| 24 | 1 | ||
| 25 | 104 | Ben Hilburn | 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. |
| 26 | 1 | ||
| 27 | 99 | Martin Braun | * [[WhatIsGR|What is GNU Radio and why do I want it?]] - Read this if you really have no idea what this project is about. |
| 28 | 99 | Martin Braun | * [[InstallingGR|Installing GNU Radio]] - This will explain all the steps to get a working installation of GNU Radio. |
| 29 | 99 | Martin Braun | ** [[Download]] - Jump straight to the source. |
| 30 | 99 | Martin Braun | ** [[BuildGuide|Build Guide]] - For experts: how to build GNU Radio manually from source code. |
| 31 | 99 | Martin Braun | * [[FAQ|Frequently Asked Questions]] - Read this. Seriously, really read this before asking questions. |
| 32 | 1 | ||
| 33 | 118 | Tom Rondeau | h3. II. Documentation |
| 34 | 1 | ||
| 35 | 118 | Tom Rondeau | 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":http://www.stack.nl/~dimitri/doxygen/ markup comments in the public header files. These are the basis for both manuals. The Python documentation uses "Sphinx":http://sphinx.pocoo.org/ to pull in both the Doxygen documentation as well as any formatted comments present in any Python files. |
| 36 | 118 | Tom Rondeau | |
| 37 | 118 | Tom Rondeau | * "C++ Manual":http://gnuradio.org/doc/doxygen/index.html - This includes a complete list of available blocks. |
| 38 | 118 | Tom Rondeau | ** [[old-docs|Documentation for older releases]] |
| 39 | 118 | Tom Rondeau | * "Python Manual":http://gnuradio.org/doc/sphinx/index.html - This includes a complete list of available blocks. |
| 40 | 118 | Tom Rondeau | ** [[old-sphinx|Documentation for older releases]] |
| 41 | 118 | Tom Rondeau | |
| 42 | 118 | Tom Rondeau | |
| 43 | 118 | Tom Rondeau | h3. III. Community & Communicating |
| 44 | 118 | Tom Rondeau | |
| 45 | 99 | Martin Braun | There's a nice community of people involved in GNU Radio. Here's some pointers on how to connect with us. |
| 46 | 103 | Tom Rondeau | * [[ReportingErrors|Asking Questions and Reporting Errors]] - We're helpful people, but *we expect you to try to help yourself first.* |
| 47 | 99 | Martin Braun | * [[MailingLists|Mailing lists]] - Where most of the communication happens, but please read the previous article first. |
| 48 | 114 | Martin Braun | * [[IRC|IRC]] - For a more real-time interaction, come join our chat room @#gnuradio@ on Freenode. |
| 49 | 99 | Martin Braun | * [[MoreCommunity|More GNU Radio on the web and in social media]] |
| 50 | 115 | Martin Braun | * [[DevelopersCalls]] - The developers have monthly VoIP conferences which are open to join. |
| 51 | 99 | Martin Braun | * [[GNURadioConference|The GNU Radio Conference]] |
| 52 | 99 | Martin Braun | *** "GRCon2012 Call for presentations":http://www.trondeau.com/grc2012-call-for-presentations/ |
| 53 | 1 | *** "GNU Radio Conference 2011":http://gnuradio.trondeau.com/gnu-radio-conference-2011/, a real-life developers and enthusiast meeting |
|
| 54 | 99 | Martin Braun | |
| 55 | 118 | Tom Rondeau | h3. IV. Using GNU Radio |
| 56 | 99 | Martin Braun | |
| 57 | 99 | Martin Braun | Once GNU Radio is installed and running, check these pages to find out how to actually use GNU Radio. These articles refer to anything that does not involve writing C++ or signal processing code. |
| 58 | 99 | Martin Braun | * [[HowToUse|How do I use GNU Radio?]] - A short introduction to the possibilities you have as a GNU Radio user. |
| 59 | 104 | Ben Hilburn | * [[GNURadioCompanion|The GNU Radio Companion]], a GUI IDE for developing GNU Radio applications. |
| 60 | 1 | * [[HowToUse#Using-the-included-tools-and-utility-programs|Utilities and tools that come with GNU Radio]] |
|
| 61 | 99 | Martin Braun | * [[Tutorials|Tutorials]] |
| 62 | 107 | Tom Rondeau | ** [[TutorialsWritePythonApplications| How to write Python applications]] - This includes a guide on how to read and use the Doxygen-generated API docs. |
| 63 | 99 | Martin Braun | * [[Simulations|A quick guide on doing simulations with GNU Radio]] |
| 64 | 99 | Martin Braun | |
| 65 | 118 | Tom Rondeau | h3. V. Developing GNU Radio |
| 66 | 99 | Martin Braun | |
| 67 | 99 | Martin Braun | 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. |
| 68 | 119 | Tom Rondeau | * [[Development|Development Information for Contributors]] |
| 69 | 119 | Tom Rondeau | * [[Coding_guide_impl|Coding and style guidelines for GNU Radio]] |
| 70 | 119 | Tom Rondeau | * [[BlocksCodingGuide|Block structure guide]] |
| 71 | 122 | Martin Braun | * [[OutOfTreeModules|How to Write a GNU Radio Signal Processing Block]] |
| 72 | 99 | Martin Braun | * [[Octave|How to use Octave or Matlab with GNU Radio]] |
| 73 | 99 | Martin Braun | * [[ChangeSets|API and Code Version Changes]] |
| 74 | 99 | Martin Braun | * [[DevelopingWithGit|How to use git to track your own GNU Radio code]] |
| 75 | 111 | Tom Rondeau | * YouTube feed from Ettus Research "featuring demos and howtos":http://www.youtube.com/user/ettusresearch/feed for using GNU Radio and USRPs. |
| 76 | 112 | Martin Braun | |
| 77 | 118 | Tom Rondeau | h3. VI. Hardware |
| 78 | 104 | Ben Hilburn | |
| 79 | 99 | Martin Braun | 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. |
| 80 | 104 | Ben Hilburn | |
| 81 | 99 | Martin Braun | The most commonly used equipment are the USRP devices by "Ettus Research, LLC.":http://www.ettus.com. |
| 82 | 99 | Martin Braun | * [[Hardware]] - A quick guide for getting all kinds of hardware running with GNU Radio. |
| 83 | 99 | Martin Braun | * "UHD - Hardware driver for all Ettus Research products":http://code.ettus.com/redmine/ettus/projects/uhd/wiki |
| 84 | 1 | * The [[USRP|USRP1]] |
|
| 85 | 99 | Martin Braun | * The [[USRP2]] |
| 86 | 99 | Martin Braun | * [[List_of_USRP_daughterboards|List of USRP daughterboards]] |
| 87 | 99 | Martin Braun | |
| 88 | 100 | Martin Braun | For other Ettus products check out their "website":http://www.ettus.com! |
| 89 | 99 | Martin Braun | |
| 90 | 99 | Martin Braun | |
| 91 | 118 | Tom Rondeau | h3. VII. Further information and 3rd party extensions |
| 92 | 99 | Martin Braun | |
| 93 | 104 | Ben Hilburn | 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. |
| 94 | 99 | Martin Braun | * "The Comprehensive GNU Radio Archive Network":https://cgran.org - 3rd party GNU Radio applications and extensions. |
| 95 | 99 | Martin Braun | * [[SuggestedReading|Suggested Reading]] - A list of non-GNU Radio-related literature, including good introductions to signal processing, radio engineering and software development. |
| 96 | 99 | Martin Braun | * [[OtherCode|GNU Radio code on other servers]] |
| 97 | 120 | Martin Braun | * [[ExternalDocumentation|Documentation and Videos for GNU Radio on other servers]] |
| 98 | 99 | Martin Braun | * [[OurUsers|Real world users]] |
| 99 | 99 | Martin Braun | * [[AcademicPapers|Academic papers involving GNU Radio]] |
| 100 | 99 | Martin Braun | * [[Support|Commercial support and training]] |
| 101 | 99 | Martin Braun | * [[Presentations]] |
| 102 | 121 | Martin Braun | * "OpenBTS":http://wush.net/trac/rangepublic - An Open Source GSM interface. This is a separate project, with its own mailing list. |
| 103 | 99 | Martin Braun | * [[SampleData|Pre-recorded sample data]] - If you don't have a USRP, find real recorded signals for offline analysis here. |
| 104 | 99 | Martin Braun | |
| 105 | 99 | Martin Braun | h2. Other Languages |
| 106 | 1 | ||
| 107 | 99 | Martin Braun | * [[gnuradio_zh|SimpleChinese(中文)]] |
| 108 | 99 | Martin Braun | * [[EnEspanol|Spanish]] |