Electronics, SDR

Pluto SDR Matlab SNA

A Scalar Network Analyzer (SNA) is a type of RF network analyzer that only measures the amplitude properties of the device under test (DUT). A Vector Network Analyzer (VNA) is also capable of measuring the phase of the DUT. An SNA can be used to measure RF properties such as Voltage Standing Wave Ratio (VSWR) and Return Loss that only require the measurement of amplitude at a particular frequency. In this post, I will use this capability of an SDR to measure the Return Loss of a few of my antennas.

Return Loss is the amount of power reflected back by the antenna when a signal is transmitted through it. A low return loss is desirable at the frequency your antenna is to operate at because this means that it is efficiently radiating that energy instead of creating just heat.

Pluto SDR overview

The ADALM-PLUTO is a low-cost SDR geared toward students and people looking to learn more about RF, Digital Communications, and SDR in general. The device has both transmit and receive functionality which sets it apart from devices like the RTL-SDR. It can be used as a connected device attached to a computer or as a stand-alone device! It is Based on Analog Devices AD9363 and the Xilinx Zynq Z-7010 FPGA. This gives the SDR a wide tuning range from 325 MHz to 3.8 GHz and can go from 70MHz to 6GHz with a firmware modification. It can also handle up to 20MHz of instantaneous bandwidth, all in a device that costs $150.

This device will form the basis of the SNA which will transmit and receive the signal necessary to perform the amplitude measurements. But we need a separate device to feed only the reflected signal to the receiver without the transmitted signal overpowering it.

Transverter RF bridge

An RF bridge will allow the transmitted signal to be fed to the antenna and only allow the reflected signal not radiated by the antenna to pass to the receive side within a specified frequency range.

I purchased an RF Bridge with a working frequency range of 1MHz to 3GHz. This limits my measurements to this frequency range but was inexpensive around $20 total. I have found some that go up to 6GHz to take advantage of the full frequency range of the Pluto but they are in the $300 range which is a bit too expensive at this point.

Setup

The test setup requires a few extra components. We need a couple of extension coax cables to connect the Pluto TX to the bridge input, and the Pluto RX to the bridge output. We also need a reference to compare against, I used a 50ohm reference attached to the REF port to check the antenna match. The antenna is then connected to the DUT port.

Matlab code

I found a MATLAB script that implements a simple SNA on the EngineerZone forum hosted by Analog Devices. I have included a .txt that you can download (just change the .txt to .m for MATLAB)

To use the script we need to first attach the Pluto SDR to your computer and make sure you have installed the MATLAB support package for the Pluto hardware. Instructions can be found here.

Run the script and follow the instructions. This consists of a calibration step where the test DUT (Device Under Test in our case an antenna) is removed so that the reflection bridge can be characterized.

Then we attach the DUT and test again. MATLAB then produces a plot of the return loss vs frequency.

Test Antennas

I decided to test a few antennas that I own. From left to right we have the antennas that came with the Pluto SDR, an antenna from the LimeSDR kit, an antenna from an Immersion RC RF power meter, and lastly a LoRa antenna.

I also decided to test a 6GHz 10dB attenuator as well as a 100MHz Low Pass Filter and a 50ohm terminator, shown below from left to right.

Results

Pluto Stock Antenna

The stock Pluto antenna looks to perform according to the specified frequency bands 824-894 and 1710-2170MHz

LimeSDR Stock Antenna

The Lime stock antenna is by far the most expensive to purchase, does it provide the specified frequency bands in the documentation? It should cover 800-960 MHz, 1710-2170 MHz, and 2400-2700 MHz. It looks to do really well at the 900MHz and good at 2.1GHz with worsening performance after that.

ImmersionRC Power Meter Stock Antenna

This antenna is mostly used as a sniffer antenna at 5.8GHz for FPV video frequencies but the power meter does have some other modes it can tune in to, so I decided to check out its antenna. The meter can do 35, 72, 433, 868, 915, 1200, 2400, 5600-6000MHz in 50MHz steps. This antenna looks to be well matched at the 1200MHz and is probably more specifically tuned for the 5.8GHz band (I don’t have an RF bridge that will go that high).

LoRa Antenna

The LoRa antenna was the most surprising of the batch to me. I am using it for a 915MHz LoRa transceiver which I thought it would be matched for. It seems to be much better suited to the 810MHz LoRa frequency and has some decent performance at 2GHz and 2.8GHz!

Extending Antenna

The standard car extending pole antenna seems to do really well across the entire range… This could be due to the low power transmit signal coming from the Pluto and having to travel a couple of meters to the antenna feed. I expected the antenna to be very narrow, I will have to do a few more experiments on this one!

10dB 6GHz Attenuator

100MHz LPF

simple 10dB attenuator, similar to the 50ohm terminator below, but the design must introduce a small amount of matching error when applied.

The 100MHz LPF seems to provide about 10dB of rejection, but the measurement is very noisy.

To test the LPF I needed to sample the lower end of the spectrum with more points so I needed to perform a new calibration vector which is shown below. The amplitude range is consistent with the 3GHz scan at the lower end.

50ohm Terminator

The terminator is exactly matched to the reference load. This graph shows that we have the most dynamic range at the low end, but better noise performance starting at 700MHz.

Limitations

The current limitations of this are two-fold. One is that the measurements at the low end, below 1GHz, are extremely noisy so it’s difficult to make conclusions when the return loss is bouncing 10s of dB. The good news is that it is consistent, providing similar results over multiple measurements. The other limitation is that the RF bridge does not provide a good dynamic range at the higher end, only reaching -10dB at 3GHz.

Currently, you need MATLAB, and a host of toolboxes to run this which does significantly increase the price if you are not a student. But there are new open-source SNA programs that use both the Pluto and originally the Lime SDR that I look forward to testing this against!

Conclusions

With the current price of $150 for the PlutoSDR and $20 for the Transverter RF bridge it’s hard to beat for a 70MHz – 3GHz SNA. That being said it is not something a professional would use, but it is better than having nothing to get a quick and dirty idea about what could be wrong or right with your antenna design, concerning return loss that is. Also, don’t forget this is an SDR so there are boundless things you can also do with it! Check back for more SDR content in the future!