Beginners are the intended audience of this website.  One can be a ‘beginner’ when it comes to basic computer skills and/or a ‘beginner’ with respect to GNU Radio and DSP.  Approach this material with your particular understanding and needs in mind.

To assemble a GNU Radio work station one must make a number of strategic choices.   Since the focus of this website is on DSP for telecommunication applications, primarily oriented toward SWL and ham radio ‘rigs’ there is the emphasis on ‘real time’ signal processing.  ‘Real time’ signal processing for a radio operator is different from the level of performance demanded from modeling and post-processing applications that are typical in a laboratory or educational environments.  In other words, the capture and demodulation of signals must occur relatively coincident with the signals reception at the antenna; minimum delay or latency is acceptable.  As a result, a GNU Radio ‘work station’ must allow the DSP operation to be smooth, and predictable using a capable computer system.  A capable computer system in this application should boot up rapidly, applications should load quickly, and the CPU capacity should be sufficient to permit dependable real time signal processing.

A dissection of a GNU Radio workstation involves three main components:  the computer hardware, the operating system, and managing GRC.

Computer hardware:  The GNU Radio developers recommend an Intel i5 or i7 level CPU to reliably run GNU Radio at adequate performance levels.  Those who work seriously with GNU Radio tend to use Intel 4770 or 4771 series CPUs based computers with 6 GB of RAM and an SSD.  With that equipment there is plenty of CPU overhead for any application that I am aware.  The installation of GNU Radio takes only 25 minutes.  An i3 level computer does, in practice, work satisfactorily for many projects.  My 2.5 GHz i3 CPU computer runs all my current ham radio applications, though the OS performance monitor indicates 90% CPU utilization.  In that situation, attempts to open another application, such as an Internet browser, causes the computer to go into a force quite situation and the DSP application terminates.

I have helped others install GNU Radio on Atom based computers and single core Intel based computers.  The performance is seriously compromised.  The DSP flow graphs typically run slowly or haltingly or not at all.  The time to install and compile the GNU Radio application can take up to 24 hours!  Overall, this type of installation is a good proof of concept, “yes I can see and use GNU Radio for simple DSP”, but is not suitable for any form of real DSP study or utilization.  Not up to a GNU Radio work station level of function.

Operating System:  GNU Radio is reputed to offer cross platform capabilities.  But, for beginners this is not true.  The developers are quite explicit that they only support GNU Radio for the Linux Ubuntu operating system.  With the considerable common architecture in the different Linux distributions, beginners, with luck, may get GNU Radio to operate on non-Ubuntu Linux OSs.  Those individuals who successfully run GNU Radio on Windows and the Apple OS are not beginners with computers and are quite computer competent.  My experience with installing GNU Radio on Windows OS has been quite frustrating.  The dependencies for Windows are often obsolete, or dead ends, and workarounds must be found on an individual basis.  Even when GNU Radio is apparently installed and ‘operational’, not all components of the DSP library are necessarily available to the user.  Furthermore, all of the non-UHD useful radio hardware drivers, out of tree (OOT) DSP modules, cannot be installed.

I recommend choosing the Ubuntu OS for a variety of practical reasons.  Ubuntu is the supported OS by the GNU Radio developers.  Remember, both Ubuntu and GNU Radio are open source projects both of which are characterized by constant development with frequent changes and updates.  This combination of two open source projects has many moving parts with version changes every few months.  The inevitable version change problems with the GNU Radio and OS compatibility are immediately addressed by the GNU Radio developers.  Their solutions and directions are given in ‘Ubuntu speak’.  No translation is necessary to implement a solution as might otherwise be required if one uses an OS different from Ubuntu.  These cross OS translations are certainly beyond the capabilities of most computer beginners.

The Ubuntu OS is the most widely used Linux distribution with deep support resources.  Ubuntu may not be the ‘best’ or the ‘latest’ distribution, but it is the most thoroughly understood and documented version.  If one is having a problem with Ubuntu it is only necessary to enter the error message into the Bing or Google search engines and multiple posts and solutions will be returned.  Rather simple in practice.

Ubuntu has all the look and feel, operational logic, of a standard Windows OS.  The migration for Windows user to be successful with Linux Ubuntu is surprisingly simple and uneventful.  The trepidation and sense of dread of many beginners to try Ubuntu is unwarranted.  The step by step directions provided on this website make it very easy for the beginner to install and work with Ubuntu.

Managing GNU Radio and Ubuntu:  GNU Radio is an open source software project in a constant state of development.  The code is updated weekly, unscheduled minor versions are released every 4 months or so, with major version changes are released approximately annually.  Ubuntu is routinely updated on a fixed schedule each spring and each fall with major version changes every 2 years.  Ubuntu version 16.04 LTS was released in April of 2016 and is scheduled for long term support by Ubuntu in London.  We can anticipate Ubuntu version 18.04 LTS will be released in April 2018.  Good news and bad news.  The constant development is proof of the dedication and commitment of both communities of developers to put GNU Radio and Ubuntu as top shelf software applications.  The constant GNU Radio development brings with it problems of backward compatibility with your previously authored DSP programs and the inevitable ‘bugs’ and other operational problems.   The Ubuntu development has in the past brought temporary incompatibility with GNU Radio versions.

How does one behave in this constantly changing software environment?  Above all, keep current with your GNU Radio version and your Ubuntu LTS version.  That said, don’t upgrade or update GNU Radio too soon after a version change is posted.  Give the user community time to identify any problems and allow the developers to perform ‘bug fixes’.  This cycle is usually very rapid and ‘bug fix release’ sub-versions quickly follow.  The best place of monitor GNU Radio issues is the website: GNU Radio Main Page

Similarly, resist up grading your Ubuntu version.  Stick with the latest LTS version and wait for the GNU Radio user community to identify potential incompatibilities and solutions with the most recent LTS release.

If you run into backward incompatibility issues with GNU Radio, the solution is surprisingly simple.  If you execute an old flow graph that is not compatible with the current version, the DSP blocks show up on the GUI in skeletal form.  The title of the block and the operating parameters are displayed.  All that is necessary to recover the flow graph to function as it once did is to incorporate the equivalent replacement block from the new version of the DSP library and copy the correct parameters into the proper parameter fields.   Save the revised flow graph and you are done.

Step by step instructions for deleting, installing (re-installing), and updating GNU Radio using the build-GNU Radio script are available here:  Maintain and Update GNU Radio   At present, I prefer using the Build GNU Radio Script method for all updating of GNU Radio because this process automatically includes all components of the GNU Radio package.