When you key your transceiver, as-in, you trigger the Push To Talk or PTT button, you close a switch that activates the transmitter and in turn allows your voice to make it through the microphone and radio, via the coax out to the antenna and the world. When you release the button, the transmission stops.

This is pretty much how we’re taught that a radio transceiver works, essentially switching between transmit and receive, depending on the state of that magic switch.

If you want to create a transmitter in software using GNU Radio, you might get to a point where you start looking for a conditional block, a magic piece of code that you can add to the system that checks the state of the PTT button and sets the state of your contraption accordingly.

In programming terms, you might start looking for an IF … THEN … ELSE block, as in, IF PTT THEN transmit ELSE receive. Let me save you the trouble of looking for such a thing, because it doesn’t exist.

With that revelation you are forgiven if you come to the conclusion that you cannot create a PTT system using GNU Radio. It’s a perfect example of attempting to think in a certain way and I’d like to show you that there are alternatives if only to help you experience an insight into how we do the things we do.

I’ve told this story before, but it bears repeating. Over a decade ago I was helping with the erection of an antenna during a field day. It was a massive multi-element 10m yagi, heavy, unwieldy and precariously bolted to the top of a spindly mast strapped to the tray of a ute. Before lifting it to the top of the mast I was tasked with checking the SWR. I dutifully plugged in the coax, turned on my radio, keyed the microphone and confidently reported a 1:1 SWR. Over the next hour the antenna was manhandled into the air by half a dozen people and we set about making noise only to discover that the SWR was horrible. My lesson was that you need to whistle or hum into the microphone when you use SSB to test the SWR.

Said differently, using SSB, if you transmit no sound, there is no signal and no standing wave to measure.

Right now you’re likely to picture a PTT switch as switching between open and closed. In one state nothing gets through, in the other, everything gets through. For example, you could construct a switch where in one position your analogue signal is connected to ground and disappears. In the other state it reappears. If you think about it, yelling into the microphone whilst not activating the PTT does exactly this.

A Software Defined Radio or SDR uses an Analogue to Digital Converter, or ADC, to receive an analogue signal from an antenna and convert it into a series of numbers. To transmit, it uses the reverse, a Digital to Analogue Converter, or DAC, that converts a series of numbers into an analogue signal.

No analogue signal means a voltage that doesn’t change. In the digital world, it’s the same, a series of numbers that don’t change.

When you multiply a number by zero, you get zero and when you multiply a number by one, you get the number. So, if you were to take a digital signal, which is nothing more than a series of numbers, and multiply it with zero, you’d get a series of zeros. If you multiply it by one, you’d get the original numbers.

If you sent that series to a SDR transmitter, remember, it’s essentially nothing more than a Digital to Analogue Converter, you’d get either no signal when you were converting only zeros, or you’d get an analogue signal when you’re converting numbers.

So, if you made a button that changed a variable to one when you pressed it and changed it to zero when you released it, you could multiply your digital signal by that variable and switch between getting a series of numbers or a series of zeros.

Remind you of anything?

That button, that changes between zero and one is your software defined PTT. It represents the software version of a switch and it shows us that signal processing requires that you look at problems in subtly different ways.

This all to illustrate that using GNU Radio is going to take some time to get your head around. For some this happened years ago, for others like myself, we’re in the thick of it.

While you’re thinking about that, consider time. What type of time accuracy would you need to synchronise two signals from two different antennas and why would you want to?

I’m Onno VK6FLAB