Signals and Communication

From Raspberry Pi Min-Grant project
Revision as of 14:57, 15 April 2015 by Cmaina (talk | contribs)
Jump to: navigation, search

Signals and Communication

This course is taught in the third year of the electrical engineering curriculum. After an introduction to the classification and mathematical analysis of signals in both the time and frequency domains, the course introduces analogue modulation schemes such as amplitude modulation (AM) and frequency modulation (FM). We propose to enhance the laboratory exercises in this course by introducing the students to the concept of software defined radio (SDR) using the Raspberry Pi and designing two laboratory exercises that implement SDR on a Raspberry Pi. We first briefly introduce SDR and then describe the two laboratory exercises.


Software Defined Radio


SDR is a communication system framework that moves all the signal processing in current radio systems from dedicated hardware modules to software. Therefore the same hardware system is capable of implementing several modulation schemes by simply changing the controlling software. An SDR system consists of an antenna, an analogue-to-digital converter which converts the radio frequency (RF) signal to digital samples and software which manipulates these samples to retrieve the information 


SDR has become popular with electronics hobbyists because it was discovered that cheap USB receivers (also known as dongles) designed to receive digital TV broadcasts could be turned into SDR receivers allowing access to samples of analogue RF signals. These samples could then be processed using appropriate software. A popular dongle is the DVB-T TV tuner dongle based on the RTL2832U chipset which retails for about $20.


With one of these cheap dongles, it is possible to implement different communication systems. In fact a large community of hobbyists has emerged and a number of their projects are freely available online (see http://www.rtl-sdr.com/about-rtl-sdr/). An open source driver rtl-sdr is also available for linux based systems. This software allows the user to tune to a particular frequency in the range of the dongle's tuner (27-1700 MHz for the DVB-T TV tuner) and to obtain samples of the in-phase and quadrature components of the RF signal. These samples can then be appropriately processed to recover the message signal.


Software Setup

In order to run the laboratory exercises, we will need to install the rtl-sdr driver which turns the DVB-T TV tuner dongle into a software defined radio. You can obtain the source for the driver here [https://github.com/steve-m/librtlsdr]. To check out the repository type

git clone git://github.com/steve-m/librtlsdr.git

Once the code is downloaded. Follow these instructions [1]. You will need to have installed cmake and libusb1.0. You can do this by typing

sudo apt-get install cmake

and

sudo apt-get install libusb-1.0-0-dev




FM Signal Demodulation

In FM systems, a baseband message signal modifies the instantaneous frequency of the carrier signal. In order to recover the message signal at the receiver, we must take the first derivative of the instantaneous angle of the received signal.