Talk:FAQ

From GNU Radio
Revision as of 00:02, 7 April 2020 by Duggabe (talk | contribs) (first draft)
Jump to navigation Jump to search

This page is not a support forum.


DRAFT REVISIONS TO FAQ

Getting Started

What is GNU Radio?

Check out our page What is GNU Radio? for an introduction to what GNU Radio is and why you would want to use it.

How do I get / install GNU Radio?

We strongly encourage you to use your distro package manager. Debian/Ubuntu and Fedora/RedHat as well as many of the other popular Linux distros keep these packages well up to date. For Mac OS X, using Macports is strongly encouraged. See InstallingGR for details.

Which operating systems are supported? Does GNU Radio run on Windows or Mac OS X? What about 32, 64 Bits?

We mostly develop under Linux, and we've gotten GNU Radio to run under most current Linux distros. The best support will be for the latest supported versions of Ubuntu (their Long Term Support versions) and Fedora. Other common distros like Debian are well-maintained and will generally work fine. For Redhat and CentOS, you may find yourself needing to install some dependencies by hand. We highly recommend the use of PyBOMBS with these distros.

GNU Radio is also maintained on OS X. We have installation instructions and can help doing source builds on OS X. However, we highly recommend that you use the Macports installation of GNU Radio to make sure all of the dependencies are taken care of properly.

GNU Radio will build and run under Windows. However, we don't have direct, maintained support for Windows and few of us can help you with Windows issues. We hope to have better support in the future, but in the meantime, there are plenty of people with various levels of success working under Windows that you can contact through the discuss-gnuradio Mailing List.

GNU Radio supports both 32- and 64-bit operating systems.

For processor support, we generally develop and build on Intel x86 architectures. These processors have the best support for features and speed. However, we are actively developing our support and capabilities on ARM processors, currently only those running the ARMv7 instruction set. Older ARM processors with ARMv6 support have been known to work, but we have no direct support for them. They tend to be severely underpowered for math and signal processing for any serious GNU Radio app. We will be developing support for ARMv8. We also have a limited list of embedded devices and development kits that we are able to support.

What are the system requirements (minimum power, etc.)?

GNU Radio in its core is C++ with lots of user functionality relying on Python. So basically, as long as there is a feasible compiler for your platform, it can work.

Hardware requirements basically depend on what you want to do. A modern PC/laptop computer is usually up to most tasks such as receiving broadcast signals, doing audio frequency processing, and many narrowband digital signals.

When dealing with telecommunication signals, however, sample rates of over 5 Msamples/s are not uncommon. The average embedded ARM platform is generally not up to that task. Even rather modern hardware often meets its limits when it comes to doing things in realtime; it all depends on your processing requirements, GNU Radio is only the platform to perform these computationally intensive tasks.

I installed GNU Radio, but some components seem to be missing.

Missing components are usually seen because blocks are missing from GRC. This usually only happens when you did a source build. After running cmake, you might see something like this at the end of CMake's output (this list is heavily cropped for simplicity, it is much longer in reality):

-- ######################################################
-- # Gnuradio enabled components                         
-- ######################################################
--   * python-support
--   * testing-support
--   * volk
--   * doxygen
--   * gnuradio-runtime
--   * gr-blocks
--   * gnuradio-companion
--   * gr-fec
--   * gr-fft
--   * gr-filter
--   * [...]
-- 
-- ######################################################
-- # Gnuradio disabled components                        
-- ######################################################
--   * gr-ctrlport
--   * gr-dtv
--   * gr-atsc
--   * gr-wxgui

If the components you are missing are listed under the 'disabled' components, there's your problem.
There are two reasons why components are disabled:
- You disabled them yourself, e.g. by supplying a `-DENABLE_GR_DTV=OFF` switch to CMake.
- The component was automatically enabled because CMake could not find certain dependencies.

In both cases, you can read the CMake output to see what the reason is. If dependencies are missing, you might have to install developer packages for something (on Debian and Ubuntu systems, these are packages ending with -dev, on Fedora, they end with -devel). Consult the build manual for which dependencies are required.

If you don't understand or know how to do this, consider installing precompiled binaries. Usually, they will pull in all the required dependencies.

Which Radio Hardware is supported?

There is a growing list of radio front ends for software radio uses. It is difficult to keep up with, and support for a particular radio front end in GNU Radio is generally left to the hardware manufacturer. The Ettus Research USRP product line, supported by UHD, is the exception since the USRP and GNU Radio have had a long history of developing and working together. See also Hardware.

Can you suggest any reading material for DSP/SDR/Digital Comms?

We have a wiki page for this: SuggestedReading