I have been working with wireless networks and related stuff for several years. However, in all those works, I was working with radio transceivers which are dedicated to a particular standard or a protocol specification. Such a radio transceiver covers the communication protocol stack from the physical layer up to some significant parts of the data-link layer in many systems. Software implementations cover the rest of the protocol stack and has a very little control over the hardware controlled bottom most functionality. That is why we have to change the radio transceiver hardware in every time we need to switch from one wireless standard to another. Simple changes in software does not help in most cases. This is where, software defined radios (SDRs) comes into play a role.
Scientists and engineers who are working in developing new wireless communication technologies and standards have to continuously perform experiments with their designs in order to evaluate and fine tune them. They cannot fabricate a new radio transceiver chip in every time they want to test a slightly changed design. They need something easier to change and play with that gives the same functionality as real and technology specific radio transceivers. A software defined radio (SDR) is a combination of a special radio hardware and a software tool which completely revolutionize the way we play with wireless medium. SDRs have moved many of the hardware oriented functionality into the software layer in such a way that makes the user to switch between different wireless technologies easily. We can easily configure an SDR to use a specific frequency, modulation technique and various other things making it whatever we want. Hardware part of an SDR simply perform ADC and DAC conversions of the wireless signals and let the software to handle everything else making it extremely flexible.
When considering SDRs, we have to discuss about two things that are SDR hardware and various available SDR software. One of the most important software toolkit for SDR works is GNURadio. It is a free and opensource tool which supports various SDR hardware devices which we can find in this list. Among those, USRP devices from Ettus research are the most expensive but most powerful hardware according to what I have read. The simplest and easy to acquire devices are rtl-sdr dongles which are widely available as digital TV receivers. HackRF is a device which provide great functionality for most SDR based experiments which has a moderate price than USRP devices. Recently, we received a HackRF One device to our lab which significantly increased our capability to perform wireless research works. I would like to leave this article with a little note on the steps I followed on my first experience with HackRF One device. I created a simple FM radio receiver and was able to listen to FM radio stations. I learnt about this example from Michael Ossmann, the inventor of HackRF device who has a very nice website that provide so many useful information and learning materials.
Here is how I did it. First of all, I need to have GNURadio running in my system. Since I found installing GNURadio on a Linux system very complicated and tiresome, I decided to use a GNURadio pre-installed live Linux image to boot my computer and work. Various options are available to this end as you can find from the following link. I downloaded an Ubuntu 14.04 image with GNURadio version 184.108.40.206 pre-installed and then made my USB drive bootable with it by using the Ubuntu Statup Disk Creator tool available on my Ubuntu machine. After booting the system with the USB we are good to go. It's time to open the provided configuration file for an FM radio receiver using GNURadio Companion (GRC) tool. You can download the configuration file from here. After opening it from GRC tool, plugin the HackRF One device via the USB connector and simply click the play button to execute the flow graph. Now, you should be able to listen to FM radio stations by tuning with the slider.
I have a long way to go to be able to use this combination of hardware and software for advanced SDR works. I'm already impressed by these wonderful gadgets and I can't wait to see what I can do with them more.