Revised: February 11, 2020
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 or both. Approach this material with your particular level of 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, predictable, and fast and requires 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: 1) the computer hardware, 2) the computer operating system, and 3) managing GRC.
Computer hardware: The GNU Radio developers recommend a multiple core Intel i5 or i7 level CPU to reliably run GNU Radio at adequate performance levels. “Performance” in this context is sufficient CPU capacity for rapid software download and installation and the ability to dependably run complex DSPs, such as real world multi-mode radio transceivers with simultaneous FFT and waterfall displays. Installation of the GNU Radio software using an adequate computer takes less than 20 minutes. Attempts at software installation with less than adequate computer systems can take 24 hours or more! Simple simulation DSP flowgraphs will work with marginal computers. That said, CPU resource hungry DSP applications and simultaneous applications such as GNU Radio plus an internet browser will not run or are completely unstable with less powerful computers. The result will be many <Force Quit> error messages.
A means to identify suitable a CPU for GNU Radio is the composite benchmark score for common CPUs published at PassMark, PassMark Benchmark. PassMark benchmark scores of 4000 or greater are necessary, in my experience, for frustration free operation. A laptop with a dual core i7-6500u, composite score ~4400, and a desktop dual core i3-4500 with a composite score of ~ 4900, have both delivered years of service with passing grade performance. A desktop quad core i7-4770 CPU, and a laptop the the quad core i5-1035G4, both with a composite score ~9700, deliver brilliant performance and cannot be brought to their knees with DSP demand. Memory demands are modest with 4 GB being an adequate amount. An SSD makes life easier but is not necessary.
I have helped others install GNU Radio on single core Intel based computers. The performance is seriously compromised and the results are disappointing and discouraging. 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 a day or longer! 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 in radio applications. Not up to a GNU Radio work station level of function.
Operating System: GNU Radio now offers dependable cross platform capabilities. 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, can get GNU Radio to operate on non-Ubuntu Linux OSs. Those individuals who successfully run GNU Radio on the Apple OS are not beginners and are quite computer competent. In 2019 a GNU Radio installation on Windows OS became fairly straightforward. My experience is that there remain mysterious instabilities with Windows installations. Problems that I cannot easily identify the cause and cure. GNU Radio in Windows is certainly a good learning environment for the basics but might not be ideal for more advanced DSPs. More to follow as the Windows installation and trouble shooting efforts evolve.
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 GNU Radio 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 from ‘Ubuntu speak’ trouble shooting is otherwise needed if one uses the Ubuntu OS. The cross Linux distro OS translations are 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 a 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 that gets better overtime.
Ubuntu has all the look and feel, and 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: Installation of GNU Radio
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. The current Ubuntu version, 18.04 LTS, was released in April of 2018 and is scheduled for long term support by Ubuntu. We can anticipate Ubuntu version 20.04 LTS will be released in April 2020.
Mostly good news and and very little 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 sometimes 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 brought temporary incompatibility with GNU Radio versions which get resolved quickly by the GNU Radio support community. In reality, I have suffered very little over the past decade with GNU Radio version and OS incompatibilities. A general rule is to utilize the most current LTS version of Ubuntu, and the most recent version of GNU Radio.
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 and similarly resist random up grading your Ubuntu version. 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
If you run into backward incompatibility issues with your GNU Radio flow graphs, 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 but the block does not function. All that is necessary to recover the flow graph back to functionality as 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 of the new blocks. Save the revised flow graph and you are done.
Step by step instructions for deleting, installing (re-installing), GNU Radio are available at this website on this page: Installation of GNU Radio
Link to Terms and Abbreviations Page: Terms and Abbreviations
Home Page link: Home Page