Wireless Lab 1: Software Defined Radio

EECS 16A: Designing Information Devices and Systems I, Spring 2015

Name 1:

Login: ee16a-

Name 2:

Login: ee16a-

Introduction to Software Defined Radio

One of the most exciting developments in hobbyist signal processing is the discovery that the RTL2832U commonly used in TV tuner dongles can be used as a software defined radio.

What is Software Defined Radio?

We often think of radios as those things built into cars that play music. For most of radio’s history, things like tuning to a particular frequency, demodulation, etc. were handled by physical hardware (often with dials to adjust volume, frequency, etc). This meant that a radio’s capabilities were either very limited and pre-determined at construction, or buried beneath enough complexity to require licenced operators. Software Defined Radio (SDR) moves most of this complexity to software instead. An SDR still requires some kind of antenna and amplifier however it then digitizes the raw data and allows the user to do any further processing on a computer.

How Does it Work?

Just like a regular radio, the antenna plugged into your computers captures the RF signals being broadcast. A regular radio then uses complex circuits to convert the data transmitted on that signal into audio that you hear. A SDR simply takes the raw signal and lets your computer handle the details. The block diagram below shows the components found in a typical SDR.

Task 1: Visualizing Frequencies

We've started talking about signals in terms of their frequency, and in this lab we will visualize some real signals using an SDR to get a better understanding of this concept.

In order to view the data from our SDR we will be using a program called SDRSharp.

  • Connect your speaker and SDR to the computer.
  • Open SDRSharp and click on the tab labeled “Source”. Make sure the dropdown is set to “RTL-SDR / USB”.
  • Under "Settings" make sure "Tuner AGC" is selected.
  • Click the play button to start recording data.

SDRSharp shows two plots in the main interface. What are the axes of the top plot?

What does the moving axis of the bottom plot represent? What do the colors mean?

Looking For Tones

Now lets actually use SDRSharp for something. The world is full of radio signals that we can measure, but we have a transmitter in the lab broadcasting the following signal: $$x(t) = cos(\omega_0 t)cos(\omega_1 t)$$

In our setup $\omega_0 = 315 MHz$ and $100kHz\le \omega_1 \le500kHz$.

Simplify the signal $x(t)$ into a sum of cosines or sines. If we were to plot each of the frequencies ?

Use SDRSharp to determine what value of $\omega_1$ our transmitter is broadcasting.

Harmonics and Non-Linearity

You may have noticed other peaks in the spectrum, in particular harmonics or peaks occuring at multiples of $\omega_1$. These occur because of nonidealities in our actual system. The receiver inside the SDR dongle has an circuit which amplifies the received signal from the antenna. The transfer function of an ideal linear amplifier is in the form of: $V_{out} = a_1 V_{in}$ Therefore, when having a tone with the frequency of $\omega_1$ at the input, we expect an amplified tone with the same frequecny at the output. However, the SDR amplifier is not ideal. We can model the response in terms of higher powers of our input: $$V_{out} = a_1 V_{in} + a_2 V_{in}^2 + a_3 V_{in}^3 \dots$$

Using identities we can show that the squared term will produce tones at multiples of our input frequency: $$V_{out} = a_1 * \cos(\omega t) + a_2 * \cos^2(\omega t) = a_1\cos(\omega t) + a_2 (1+\cos(2\omega t)/2$$

These additional tones are called harmonics. You can derive other harmonics through the same procedure. Depending on the magnitude of a2, a3, ... you may see other tones in the spectrum.

Task 2: Listen to FM Radio

Frequency modulation, as the name implies encodes data such as a song you want to broadcast in the frequency of a signal.

  • Select NFM
  • Go to 145.530 MHz
  • Move around this value until you can hear the music.

If you look closely at the spectrogram (bottom plot) you should see that it isn't just a pure tone and is indeed changing in order to send information.


If you're interested in some of the things you can do with an SDR check out the following links.

In [ ]: