SDR Utilities

I’ve been experimenting with an SDR dongle to see how it can be used as a 1.5GHz scalar network analyser, as a time domain reflectometer, and to estimate digital signal edge speeds. While doing that I’ve developed several general-purpose command-line utilities which capture and post-process power spectrums. These utilities are distributed with a MIT licence, and the code is at the bottom of this note.

  • rtlscan: scans, measures and displays a raw scalar power spectrum, and saves the power spectrum in a CSV file
  • rtlplot: displays one or more raw power spectrums
  • rtldiff: displays one or more calibrated power spectrums, i.e. the difference between multiple raw spectrums and a single reference or calibration spectrum
  • rtltdr: displays the impulse response implicit in a calibrated power spectrum

The graphs can have linear or logarithmic frequency axis, can be zoomed, panned and printed, and have text annotations added. The interaction with the SDR dongle is via Kyle Keen’s rtl_power program, so its capabilities and limitations are reflected in these utilities.

As is traditional, these are an unfinished work; I already know of the next change I would make, but I have not verified that it would be an improvement. Nonetheless, the utilities are usable.

Continue reading


Measuring Input Protection Components’ Effects With a TDR

My previous post used a Tektronix 1502 to examine discontinuities in cables. This post examines the discontinuity introduced by a “nominally invisible” protection diode on a PCB; it is clearly visible with the TDR, but probably won’t affect the final application.

Continue reading

A Traditional TDR Cable Tester With <2cm Resolution

What can you see, test and measure with a traditional time domain reflectometer (TDR)? The answer is “more than you might expect”:

  • measure impedance variations in connectors/filters/antennas/PCBs
  • locate short/open circuits and damage in cables
  • locate intermittent faults in cables and connectors
  • locate connectors in cables

and can resolve discontinuities around 2cm apart. That resolution is at least 10 times better than can be obtained with the typical homebrew logic pulse + oscilloscope combination.

I recently bought a couple of cheap 1970s Tektronix 1502s in the hope that I could make a single working frankenmachine.  My initial assessment was depressing: one had a cracked and broken case (so I assumed the CRT was also broken), the other’s electrolytic caps had spewed acid across the PSU and had a faulty 2kV PSU, and both had defective NiCd batteries – and it won’t even start without a working battery. But eventually I managed to get both working: I recapped the PSUs, rewelded the case with methylene chloride, used my “new” 12kV scope probe and 40kV meter to repair the HV PSU, created a “NiCd emulator”, and the CRT wasn’t damaged after all. Later reading of a TekScope magazine indicates it isn’t surprising the CRT survived: it is mechanically completely isolated from the chassis to protect against up to 26 12″ drops.

So I am now the proud possessor of two nice little portable waterproof instruments, literally designed for field use – one of the service manuals indicates they were used with Patriot missile defence systems.

Tektronix 1502 TDR Cable Tester

Tektronix 1502 TDR Cable Tester

Continue reading

Measuring Digital Signal Edge Speeds Without An Oscilloscope

This note shows that measuring a digital signal’s risetimes and falltimes does not require multi-GHz oscilloscopes; with imagination, very cheap test equipment is sufficient. Measurements show that even common-or-garden 74LVC gates can have 10%-90% transition times of around 625ps.

Continue reading

Poor Man’s Homebrew TDR With 4cm Resolution – Part 1

The standard equipment for measuring impedance variations is a Time Domain Reflectometer, TDR. TDRs are very effective but resolving small elements requires a wide bandwidth, which implies the TDR will be very expensive. This note explores a £35/$55 alternative based on SDR dongles and noise sources, to see what can and cannot be achieved.

Although there are limitations, initial results are surprisingly good and useful. For example, Figure 1 shows reflections in two different transmission lines with an open-circuit stub 3.1m from the TDR.  The first stub is 19cm long, and the second is 29cm long.


Figure 1: 19cm & 29cm Stubs

The stubs’ differing lengths are clearly distinguishable.

Why do such impedance variations matter? Because with RF circuits and medium/high speed digital circuits, connections must be uniform-impedance correctly terminated transmission lines. Impedance discontinuities in RF circuits causes peaks and troughs in the frequency response, leading to poor performance and/or link failure. Impedance discontinuities in digital circuits cause signal integrity problems, leading to marginal operation and/or pattern-sensitive errors.

Continue reading