Software defined radio has exhibited tremendous growth in the last years thanks to the wide availability of significant computational power available in embedded and personal computers and ubiquity of radiofrequency interfaces. One Open Source environment suitable for grasping the basics of digital signal processing, in particular applied to radiofrequency signals, is GNURadio. While software is freely available and shared through the internet, hardware remains dependent on the availability of suitable boards from hardware vendors. In order to justify the time investment in learning to use this signal processing environment, we discuss the development of custom processing blocks and adding custom sources.
Radiofrequency communication has become ubiquitous with the proliferation of digital radiofrequency networks and the continuing use of analog communication through wireless links (eg satellite and commercial FM transmission). The trend to shift from analog, hardware based receiver to software-based digital signal processing is dictated by the flexibility of the approach in which hardware is developed once and then used for multiple purposes by updating the firmware and processing algorithms. GNURadio provides a development environment in which a signal source is fed multiple processing blocks before reaching a data sink (oscilloscope output, sound card, file storage). Not only are most basic processing blocks already available, but the opensource aspect of the software allows for new developers to quickly become familiar with the various interfaces by browsing through the source codes. Hence, the time investment of learning the constraints of complying with the framework requirements of GNURadio is compensated for by the availability of most useful processing functions and quick display of basic processing functionalities (eg oscilloscope or FM radio reception). Dedicated applications of this processing environment to unusual applications such as physics lab or experiments is possible by implementing dedicated processing blocks and including these in the processing chain.
Indeed, signal processing functionalities are not limited to radiofrequency signals but can be extended to all sorts of capabilities: in this presentation, we will start by illustrating the development steps for implementing a new digital communication procotol (ACARS communication protocol used between aircrafts and ground) from prototyping using an interpreted language (GNU/Octave) in order to identify the core processing steps, to converting to C and then complying with the GNURadio framework. We will further discuss the development of such signal processing blocks as part of low-cost physics experiments in which various input sources (sound card and DVB-T receivers) are connected to dedicated digital signal blocks to extract the transfer function of a quartz tuning fork. Complying with the GNURadio framework allows for real time processing. Finally, we present the addition of custom hardware as input source, demonstrating the flexibility of the opensource approach and the relevance of the investment of learning this new development framework whose use is hence mostly independent of available hardware peripherals.
The last issue in the
Speakers: Jean-Michel Friedt