The other day I stumbled on a random post by Gary N8DMT which caused me to view the world in a different way. The post outlined combining a PlutoSDR and an application called SATSAGEN to measure the frequency characteristics of a coupler.
Aside from a detailed description, the post includes a couple of excellent photos showing the PlutoSDR connected to the coupler and the output piped back into the Pluto.
Before I continue, a PlutoSDR is a Software Defined Radio or SDR, officially it's called the ADALM Pluto Software Defined Radio Active Learning Module. It's essentially a full-duplex radio and computer in a box. It runs Linux and connects to the world via USB, and of course radio, unofficially between 70 MHz and 6 GHz. I've talked about this device before. When I say full-duplex, I mean that it can transmit and receive at the same time.
Gary's post triggered something unexpected in me. The notion that you could use two patch leads, one connected to the transmitter, the other connected to the receiver, joined together by a device that you might want to test.
It immediately reminded me of another device that was given to me, a NanoVNA, a device that's specifically designed to measure things like impedance, frequency response, generate Smith charts and all manner of other characteristics.
Not only that, it also reminded me of another device, a TinySA, specifically designed to analyse spectrum and to generate signals.
Both the NanoVNA and TinySA are lovely tools, but in looking at the post it suddenly occurred to me that their functionality, at least superficially, appears to mirror the PlutoSDR, in that you can create a signal and then measure that signal.
Turns out that I'm not the first to make this observation. For example, the YouTube channel "From Concept To Circuit" goes through the process of describing precisely the concepts behind both a spectrum analyser and a network analyser while showing the programming code in Python. The channel also provides that code in a GitHub repository, which includes several other very interesting examples, like a beamforming transmitter as well as a beamforming receiver, also covered on YouTube.
Another example is a tool I already mentioned, SATSAGEN, by Alberto IU1KVL, which implements a wideband spectrum analyser. Although it's Windows only, Alberto includes information on how to run it using Wine under Linux and MacOS. As a bonus, SATSAGEN in addition to the PlutoSDR, also supports RTL-SDR dongles, HackRF, USRP, RSP1, AirSpy, and many others.
If text is more your thing, "retrogram-plutosdr", shows a spectrogram in your terminal window. Check out the "r4d10n" GitHub repository belonging to Rakesh VU3RGP, who says that the "retrogram" project is "hacked from" the "RX ASCII Art DFT" example, which you can find on the Ettus Research GitHub repository.
One thing to consider is that the various GitHub repositories I've pointed at, will give you access to the moving parts of how all this works.
I will mention that my favourite tool in this space continues to be GNU Radio, but I understand that you might not want to roll your own tool from parts. That said, rolling your own is in my experience a great way to discover precisely what you don't know and to come away learning more, but then, that's just me.
Regardless of your chosen tool, I think the takeaway should be that when you try something new, even if it's only new to you, the idea of writing down what you discovered and sharing it, is a fantastic way to grow our community. Remember, just because something is old hat to you, doesn't mean that it is to the person you share it with.
Besides, based on the current global birth rate, there's at least a thousand babies born during the past four minutes, some of whom will become radio amateurs, so, share.
Said differently, if you come across a person who has never heard of the "Diet Coke and Mentos" thing, it's your job to immediately drag them to the nearest grocery store and introduce them. In case you're wondering, xkcd 1053.
Now, I'm going to update the firmware on my PlutoSDR and have a play, I already know about the Mentos, but if you don't, you're in for a treat.
What are you going to do next?
I'm Onno VK6FLAB