Software & hardware setup#

We will have hands-on exercises with ADAM-PLUTO. This page guides you how to install software and drivers to use it.

Tip

If you run into trouble during the setup, also check the troubleshooting section.

Software setup#

We will install two tools: Gqrx and GNU Radio. Install:

  1. GNU Radio according to the instructions on their wiki.

    • Windows & MacOS: You will install radioconda which includes many apps including GNU Radio. MacOS will block the installation of radioconda due to unknown developers. You have to confirm that you really want to install radioconda in Security & Privacy settings.

    • Linux: The tool should be available in your repository, e.g., gnuradio-companion on ArchLinux.

  2. Gqrx

    • Windows & MacOS: radioconda will automatically install Gqrx. You can test by typing Gqrx in your start bar.

    • Linux: Search for gqrx

Testing Gqrx with a recorded signal#

We will play a wireless communication signal recording on Gqrx. This recording contains a signal that you have to find.

  1. Download the compressed IQ file: gnuradio/lost-emergency-signal.raw.zip.

  2. Unzip the file. You should get lost-emergency-signal.raw.

  3. We will now copy the path of the file for Gqrx, because Gqrx does not have the feature to select a file in a file manager. If you don’t know the path of the file, the following may help:

    A. In Windows, you can use a keyboard shortcut to copy the path of a file. Select the *.raw file and press CtrlShiftc to copy the path. B. In Windows, you can right click on the file and on the opened menu, select Copy as path.

    We will paste this path in the next steps.

  4. Run Gqrx.

  5. Open Configure I/O devices. If you are running Gqrx for the first time, you should see this window directly.

  6. In Device drop-down menu, select Complex Sampled (IQ) File.

  7. In the Device string use file= variable to configure the path to the IQ file. Paste the path that we gathered before to replace the path similar to the following example:

    file="C:\Users\u\downloaded folder\lost-emergency-signal.raw"

    We are not finished. Gqrx does not know about Windows folder separator symbol \ (backslash) and interprets them as an escape symbol as in the Linux world. We have to replace \ with /:

    file="C:/Users/u/downloaded folder/lost-emergency-signal.raw"

    We are still not finished. Now we have to convert the double quotation marks to single quotation marks:

    file='C:/Users/u/downloaded folder/lost-emergency-signal.raw'

    We need the quotation marks, because we have a space character ( ), in our path. If the right quotation marks are missing, you get the following error:

    Parameter 'rate' is missing in arguments.
    Please select another device.
    
  8. Finally, we have to set the sample rate. The IQ file was sampled at 2 MHz, so we have to set this accordingly so that our recording is played at the right pace:

    file='C:/Users/u/downloaded folder/lost-emergency-signal.raw,rate=2e6'

    e stands for exponent in the E notation. \(2e6 = 2\cdot 10^6\).

    Configuration variables in the Device string other than rate and path are not relevant.

  9. Make sure that you left other settings as default. Especially Input rate should be empty, otherwise it may change the sample rate and the signals that you hear will be skewed.

  10. Click OK. You should see the main window.

  11. Click on the ▶️ button located in the top-left corner. You should see a moving texture with blue and black pixels like on the homepage of Gqrx. If you activate a demodulation technique like WFM (stereo) or AM in the Receiver Options -> Mode on the right, you should hear something – most likely noise.

Warning

In case you started playing with options 🤓: When you use a sample file as the Device, the Frequency setting on the main window does not have any effect.

Exercise 105 (Finding the hidden signal)

The recording includes a hidden signal. Could you find it?

Hint: Imagine you are on a road trip in a foreign country and are searching for a radio channel. Additionally Mode and Filter width may help.

What does Mode, Filter width and moving the red line (tuning cursor) change the sound you hear?

Signal processing basics and GNU Radio#

Digital signal processing basics and and intro to GNU Radio will be helpful for solving other problems later in the course. Feel free to skip parts that are familiar to you.

  1. Read through the page What is GNU Radio. Be prepared to explain:

    • What is GNU Radio and how can it help us to solve our problem?

    • What is software-defined radio (SDR)?

    • What is the main data do you get from an SDR?

  2. Create your first flowgraph.

Exercise 106

The Signal Source is set to 1 kHz (1k). Do you see this frequency on one of the plots?

Installing drivers for ADALM-PLUTO#

You can follow these instructions even you don’t have the hardware right now. We will test the hardware in a later step.

If you get any problems during installation, PlutoSDR Quick Start may be worth a look.

Windows#

  1. Install Libiio. Go to their releases page. Pick the newest release and browse to the Assets. If you don’t see the installation file for your operating system, e.g., *.exe for Windows, then click on Show all ... assets. Then you should see all installation files.

  2. Install PlutoSDR m2k USB drivers using their releases page. Similar to the previous step.

MacOS#

  1. Install Libiio similar to Windows

  2. According to the MacOS driver page on Analog Devices wiki you may have to change the USB Ethernet compatibility mode.

Linux#

  1. Libiio must be installed and it could already be available in your distribution. For example, on ArchLinux the package is called libiio.

  2. Soapy driver for PlutoSDR, e.g., on ArchLinux soapyplutosdr.

Testing the hardware#

Applies only if you have an ADALM-PLUTO.

Testing if your operating system sees ADALM-PLUTO#

When you connect ADALM-PLUTO, a file manager may pop up, because ADALM-PLUTO exposes itself both as a USB storage and Ethernet adapter. If ADALM-PLUTO does not behave like a USB storage, then check if you connected the USB cable to the USB socket in the middle and not the USB power socket on the right corner.

Testing Gqrx with Hardware#

  1. Attach your SDR to your computer.

  2. Run Gqrx.

  3. Open Configure I/O devices. If you are running Gqrx for the first time, you should see this window directly.

  4. In Device drop-down menu, select your hardware. ADALM-PLUTO should be available as:

    PlutoSDR #0 usb:...
    

    If you don’t see PlutoSDR, there could be a problem regarding device drivers.

    Choosing the device in the Device drop-down menu should change the Device string.

  5. Leave other settings in their default and click OK at the bottom. You should see the main window with Receiver Options on the right.

  6. Click on the ▶️ button located in the top-left corner. You should see a spectrum moving. If you change Mode to WFM, you should hear something – most likely noise.

Tip

Resetting Gqrx settings If you have problems and would like to reset your Gqrx settings:

  • Windows: type gqrx in your start bar, then click on gqrx [reset]. After resetting, Gqrx will start with Configure I/O devices again.

  • Linux: rm -r ~/.config/gqrx.

Tuning to an FM radio station with Gqrx#

We will try to tune to an FM radio station using the radio hardware. FM broadcast band typically uses 87.5 to 108 MHz band.

  1. Try to tune to 100 MHz by changing the frequency on the black window. You can either

    • use your mouse wheel to change the individual digits or

    • enter the frequency using your keyboard.

    100 MHz is used for radio broadcasting and if a radio sends at this frequency you should hear something. You will see that 100 MHz will be the center frequency and you will see a range spanning some MHz around the center frequency.

    You should see some peaks in the shown frequency range. The highest peak will be on your center frequency, but you may hear noise and nothing meaningful.

  2. If you don’t hear anything or just hear noise:

    On Receiver Options on the right column

    • change Mode to WFM (stereo).

    Mode determines how you interpret the signal you receive. For example AM focuses on how high the signal level is (amplitude) and WFM focuses on the frequency of the signal.

  3. Move the 🔴 vertical line to a peak. If you are lucky you should hear scratchy and unclear voice or music.

    For example, I see a peak on 103.6 MHz, on which Radio Play transmits in Storkøbenhavn.

If you could not hear anything meaningful, check troubleshooting.

Exercise 107 (Playing with filter window)

Tune to a radio station.

  1. Modify Filter width by moving the mouse pointer to the spectrum. Press and hold Ctrl + 🖱️ wheel. This changes the filter width which is represented by the transparent grey area around the red line.

  2. Modify the offset of the grey area by using the previous mechanism but using Shift instead.

    What happens with the signal quality in both cases?

  3. How does filter width change the information we extract from a radio signal?

For the curious 🤓

Try to interpret the FM signal using AM. You probably hear an unclear version of the FM-demodulated signal. Why?

FM encodes information through small frequency changes on the carrier signal. AM encodes information by changing the amplitude only. I believe, the frequency changes on the FM signal result in some amplitude changes which are correlated to the source signal and can be heard.

The only source I could find on this topic is this project which is not conclusive.

Used resources#