Foundations of Amateur Radio During the week I was reading a comment from another amateur about digital modes. Tucked inside that comment was a phrase that could easily have been overlooked, but it reminded me that there is plenty to learn and test in the field of amateur radio. The phrase, "requires actual understanding of audio level paths" was uttered by Chris, VK2CJB and it prompted a brief conversation at the time, but I've been working on it ever since. Where I arrived at is an attempt, incomplete as yet, to design a mechanism to show the impact of various transmitter settings on the received audio in such a way that you can test your own gear and see the result. Before I explain how I'm doing this, let me describe why it's important. Using a radio in concept is pretty simple, if you yell into the microphone, the audio comes out distorted and if you whisper, it might also be distorted, but in a different way, neither is conducive to communication. One way to improve this is a tool called the ALC. Using Automatic Level Control as a guide to what level your audio should be is outlined in every amateur radio manual I've seen, but how much it matters and to what extent is left unsaid. If you apply a filter or any number of other fancy options, what happens to your audio? To get some sense of what I'm describing, listening back to your own voice after it comes across HF SSB is surprisingly distorted in comparison to a local recording. You might argue, what's the harm, as long as the other station can hear my voice, we're good to go. Sure, if voice is all you're using, but what if it's data? In that case, the audio you're transmitting is actually encoded digital information. To decode it, the software needs to deal with frequencies, distortion and levels to name a few. In computer science, "garbage in, garbage out" is the concept that flawed, or nonsense input data produces nonsense output. In our case, if you transmit garbage, the receiver is going to start with garbage and what gets decoded is likely not what you expect. Without going into error correction, essentially, the cleaner the path between the transmitter and the receiver, the higher the chances of success and to be fair, you already know this when you attempt to work a pile-up on a noisy band. "Again, again, just the prefix, again!", sound familiar? To achieve this I started with the idea that you could transmit a tone and if you knew what it was, you could determine the difference between what was sent and what was received. My first step was to generate a single 1 kHz tone, but then I wondered what would happen if you did multiple tones, one after the other. My current version is an audio frequency sweep, running from 0 to 5 kHz in five seconds. It's essentially a computer generated sequence of tones with known characteristics. You transmit this audio file using your radio and then record it off air, either from a local receiver, WebSDR, or the radio belonging to a friend. Using the recording, you can create a spectrogram, a picture, showing the frequencies over time present in the audio. Compare the two and you just learnt what each setting on your radio does precisely to the audio. Of course it's simple for me to say this, but I'm working on using a tool I've spoken about before, csdr, to do the heavy lifting, so you can actually do a meaningful comparison between the various audio files. In the mean time, I've managed to use SoX, the so-called Swiss Army knife of sound processing programs to both generate the audio sweep and draw a preliminary spectrogram. Next up is showing some side-by-side images of various radio settings and their effect on the spectrogram. I'll publish this on my website when I have something to show-and-tell. I also don't yet know if my source audio file is going to be sufficient, but I'll subject that to some testing as well. For example, I'm investigating multiple simultaneous audio sweeps with different frequency ranges. The more complex the spectrogram, the more we might be able to learn from the distortion on receive, but time will tell. If you have some ideas on how to improve this, let me know. I'm Onno VK6FLAB