Foundations of Amateur Radio
SDR: How many colours inside a Software Defined Radio?
If you were asked to make an image of the Sydney harbour bridge and only use four dots, the viewer might struggle to determine what was the bridge, the sky, the water and the Sydney Opera House. Regardless of the number of colours available to you, the number of dots would not be enough information for most people. You might have a nice piece of art on your hands, but it might be ineligible for the Archibald prize. Even if you were allowed many colours, and just four dots, figuring out if the blue dot was water, sky, or the background of the Australian flag on top of the bridge might be just as complicated.
If you were asked to make the image with one hundred dots, and only use black and white, from the perspective of the viewer you'd have a result that was easier to understand. Use a thousand dots, even easier, even if you only used black and white.
Now, if you were to use a hundred dots, with ten colours, your image might be just as easy to understand as if it was a thousand dots in black and white.
The point is, there are two things going on here. The number of dots and the information contained in each dot.
More dots or more colours, or both, will help your image.
Similarly, in Software Defined Radio, more dots, that is, more samples, will help and as I've previously mentioned, you need at least twice the number of samples as the highest frequency that you're measuring. But what of the colours in relation to an SDR?
Measuring voltage as a human with a piece of paper is pretty straightforward. Provided you've got a Volt meter, a piece of paper and a scribble stick, you're good to go. If you measure your voltage as 1 Volt, you write 1, if it's -1 Volt, you write -1. Similarly, if it's 100 Volts, you'd write 100, 13.8 Volts and you'd write 13.8. We'll get back to colours in a moment.
Provided your paper is big enough, you can record as many values as you need and as accurately as you desire. 13.8 or 13.8853, makes no difference to a piece of paper.
Computers represent numbers internally using powers of two, called bits. A single bit can represent two values, 0 and 1. Two bits can represent four values, 8 bits represent 256 values and 16 bits represent 65536 different values.
The takeaway is that there are a specific number of values that you can represent inside a computer, depending on how many bits you use.
Consider the values I've mentioned, 1, -1, 100 and 13.8. That's four different values. If it's not immediately obvious, what ever solution you come up with, tracking positive and negative, tracking small and large, whole and fractions should all be part of the mix. In case you're wondering, we're essentially describing here how many colours or values we are going to allow, or in terms of a computer, how many bits.
Let's consider all the values you might measure and represent inside a computer. How many different voltages do you want to be able to record between 1 Volt and 100 Volt?
If you allow for ten values, you can record 10 Volt, 20 Volt and so-on, but you can't record 15 Volt.
If you allow for a hundred values, you can record 1 Volt, 2 Volt and up, but you won't be able to record 1.5 Volt.
If you account for a thousand values then you can record 1.1 Volt, 1.2 Volt and so-on, but you can't record -10 Volt.
Remember, our computer representation can only manage a specific list of values and the size of the list is determined by the number of bits you're using.
The rabbit hole goes even deeper.
Radio signals vary massively in their strength, which is why we use a decibel scale to represent the signal strength, instead of saying station A is a thousand times stronger than station B, we say it has a signal level that's 30 dBm higher. That's comparing a 1 Watt station to a 1 kilowatt station, and in terms of voltage, that's between 20 Volt and 632 Volt.
If you're designing a mechanism to store your measurements inside a computer, you might decide to use dBm to record your measurement. Let's say 30 values from 30 to 60 dBm. Sounds great, where do I sign up?
Not so fast. What happens if our station is running less than 1 Watt, or if it's running 100 kilowatt, like when you happen to receive a nearby FM broadcast station?
Not only do you need to contend with a whole range, called a Dynamic Range of measurements, you also need to deal with what happens to the overall picture.
Let me say that in another way.
Your voltage measurements at the base of your antenna are a representation of the RF information that your antenna is receiving, or transmitting for that matter. Representing that inside a computer means that the values you're using, and how fast your gathering them, determine how well the RF signal is represented.
One thing to note is that the largest values represented by what ever you choose is only part of the problem.
A signal that is stronger than the largest value you can record is not going to be recorded correctly. Similarly, a signal that is so small that it doesn't register as a change, also has an incorrect recording.
Picking the right combination of dots and colours, sample size and bit-depth, doesn't end there, because there's even more to this, but I'll leave that for next time.
To blow your mind, the Dynamic Range, bit-depth and sample size I've talked about in relation to Software Defined Radio, also applies to many other things, like taking a photo with your digital camera, or sampling digital audio, so understanding this in one area will likely help you in other places as well.
The final takeaway is that a computer records a range of values that can represent a measurement in the real world. Picking the correct range of values determines how well your computer represents what your measuring.
I'm Onno VK6FLAB