Foundations of Amateur Radio Recently I received a lovely email from Michele IU4TBF asking some pertinent questions about the Bald Yak project. If you're unfamiliar, the Bald Yak project aims to create a modular, bidirectional and distributed signal processing and control system that leverages GNU Radio. The short answer to how I'm doing getting GNU Radio to play nice with my computer is that I have bruises on my forehead from banging my head against the wall. When I get to success I'll document it. To be clear, I'm not sure what the root cause is. I suspect it lies between the GNU Radio developers, the people making packages and the manufacturer of my computer. I'm the lucky one stuck in the middle. A more interesting question that Michele asked was, for Bald Yak, what is the A/D and D/A requirement for making GNU Radio talk to an antenna? This is a much deeper question that meets the eye and I think it serves as a way to discuss what I think that this project looks like. Ultimately in the digital realm, to receive, an analogue antenna signal needs to be converted to digital using an Analogue to Digital or A/D converter, and to transmit, the reverse uses a Digital to Analogue or D/A converter to make an electrical signal appear on your antenna. The specific A/D or D/A converter determines what you can do. The sampling rate of such a converter determines what frequencies it can handle, the sample size determines the range of signals it can handle. You can compare it with a video screen. The sample rate determines how many pixels on the screen, the sample size determines how many colours in each pixel. The sample rate of an A/D converter is measured in samples per second. If the device only has one channel, you could think of this as Hertz, but if there are multiple channels, like say a sound-card, the sample rate is likely equally divided across each channel. You might have a sound card capable of 384 thousand samples per second, or kilo-samples, but if it supports simultaneous stereo audio input and output, only 96 of those 384 kilo-samples will be allocated to each channel and only half of those will actually help reconstruct the audio signal, leaving you with 48 kHz audio. In other words, the advertised frequency response might not have a direct and obvious relationship with the sample rate. At the moment I have access to a few different A/D and D/A converters. The simplest one, a USB audio sound card, appears to do up to 192 kilo-samples at 16 bits. The next one, an RTL-SDR tops out at a theoretical rate of 3.2 million or mega-samples at 8 bits. The Analog Devices ADALM-PLUTO, or PlutoSDR handles 61.44 mega-samples at 12 bits. Now, to be clear, there are other limitations and considerations which I'm skipping over. Consider for example the speed at which each of these devices can talk to a computer, in this case over USB. I'm also going to ignore things like mixers, allowing devices like the RTL-SDR and PlutoSDR to tune across frequency ranges that go beyond their sample rate. Each of these three devices can convert an analogue antenna signal into bits that can be processed by GNU Radio. All of them can also be used to do the opposite and transmit. Yes, you heard me, several amateurs figured out that an RTL-SDR can actually transmit. Credit to Ismo OH2FTG, Tatu OH2EAT, and Oscar IK1XPV. The point being that whatever Bald Yak looks like, it will need to handle a range of A/D and D/A converters. As I've said previously, I'm aiming for this to work incrementally for everyone. This means that if you have a sound card in your computer or an $8 USB one, this should work and if you have an $33,000 NI Ettus USRP X410 lying around, this too should work. Also, if you have an X410 lying around not doing anything, I'd be happy to put it to use, you know, for testing. So, kidding aside, what about the rest of the Bald Yak experience? GNU Radio works with things called blocks. Essentially little programs that take data, do something to it, then output it in some way. It follows the Unix philosophy, make each program do one thing well, expect the output of every program to become the input to another, design and build software to be tried early and use tools rather than unskilled labour. Amateur radio transceivers traditionally use electronics blocks, but if we move to software, we can update and expand our capabilities as the computer we're using gets faster and the GNU Radio blocks evolve, and because it's all digital the computer doesn't actually have to be in the same box, let alone the same room, it could be in multiple boxes scattered around the Internet. So, the idea of Bald Yak is a collection of blocks that allow you to do radio things. You might have a separate box for each amateur radio mode, AM, FM, SSB, RTTY, CW, WSPR, FT8, FT4, Q65, but also modes like Olivia, FreeDV, SSTV, Packet, PSK31 or Thor. Instead of having to figure out how to wire these modes into your radio and your ...