PlutoSDR FMRadio

From GNU Radio
Revision as of 16:01, 14 July 2020 by Jpatel1993 (talk | contribs)
Jump to navigation Jump to search

The PlutoSDR (a.k.a. ADALM-PLUTO) is a low-cost SDR made by Analog Devices, based on a binned version of the AD9364 RFIC (same RFIC as in the USRP B200) which AD labels AD9363. It can operate from 70 MHz to 6 GHz using simple "hack" described at the bottom of this page, and has a max sample rate of 56 MHz, but because it only has USB 2.0, the 56 MHz can only be received in short bursts. The max sample rate when continuously receiving is more like 4 or 5 MHz. It has a Xilinx Zynq Z-7010 FPGA + ARM CPU on board, the ARM CPU runs a lightweight version of linux. It's set up to run as an IP device; the USB port on it appears as a USB to ethernet bridge. It also shows up a mass storage device which lets you easily change the config (e.g. IP address) or load new firmware.

For more info on getting the PlutoSDR installed and running, see this page https://wiki.analog.com/resources/tools-software/linux-software/gnuradio.

Configure PlutoSDR

Basic Connectivity
Let's make sure PlutoSDR connected properly and found from iio, To make sure please perform following command on terminal,
"iio_info -s" (without the quotes).
You should have something like this in your command prompt:
Cmd.png
PlutoSDR sampling rate
Let's find out correct sampling rate, Please perform following command on your command prompt and it will give you exact sampling rate.
"iio_attr -u <uri> -c cf-ad9361-lpc voltage0 sampling_frequency_available" (without the quotes)
You should have something like this in your command prompt:
Cmd1.png

PlutoSDR Source Parameters

LO Frequency
Selects the RX local oscillator frequency.
IIO context URI
IP address of the unit, e.g. "ip:192.168.2.1" (without the quotes)
Sample Rate
Sample rate in samples per second, this will define how much bandwidth your SDR receives at once (the RF bandwidth parameter below just defines the filter). limits: >= 520833 and <= 61440000
RF Bandwidth
Configures RX analog filters: RX TIA LPF and RX BB LPF. limits: >= 200000 and <= 52000000
Buffer size
Size of the internal buffer in samples. The IIO blocks will only input/output one buffer of samples at a time. To get the highest continuous sample rate, try using a number in the millions.
Quadrature
True/False
RF DC Correction
True/False
BB DC Correction
True/False
Gain Mode (Rx1)
Selects one of the available modes: manual, slow_attack, hybrid and fast_attack. For any type of spectrum sensing application, use a manual gain.
Manual Gain (Rx1)(dB)
gain value, initially use 64
Filter
Allows a FIR filter configuration to be loaded from a file.
Filter Auto
When enabled loads a default filter and thereby enables lower sampling / baseband rates.

Example Flowgraph

This flowgraph shows a broadcast FM receiver. You can also download the same fmradio_pluto_3.8.grc from https://github.com/patel999jay/ADALM-Pluto-File-Transfer/tree/master/FMReceiverPluto/source

FMRadio PlutoSDR.png

This will tune your PlutoSDR to 100.1 MHz station. You can see real time waterfall of FM Station and also can hear the sound too. If you have problem with audio change sampling rate accordingly.

Frequency Display

Freq Display.png


Time Domain Display

TimeDomainSignal.png


Waterfall Display

Waterfall freq Disp.png


Constellation Display

Constellation FM.png

Have Fun !

Source Files

The actual source and sink blocks are created by an 'Industrial I/O' module. See https://wiki.analog.com/resources/tools-software/linux-software/gnuradio for details.