One of the unsung hero components of a Software Defined Radio is the A/D or Analogue to Digital converter. Its job is to convert the analogue signal that's coming in via the antenna into a digital signal that is processed by software.
I've talked about the difference between analogue and digital before and many explanations talk about converting things into zero and one. There are a few steps before that.
Imagine a row of identical glasses, let's say eight. Grab a jug of milk and pour it into the first glass. Keep pouring until it's full. Now do the same to the second glass, rinse and repeat until you either run out of milk, or run out of glasses.
You now have either a row of glasses full with milk and some spilled all over your desk, or you have some full glasses and some empty ones.
Now if you were to mark a one on your logging paper for every full glass and a zero for every empty glass, you'll end up with a row of zeros and ones. Essentially you've converted an analogue signal into a digital one and in effect, this is how an A/D converter works. Each glass represents effectively what's known in computing as a bit. Grab eight of them and you have a byte.
I will point out that this is just one example of an A/D converter, there are many others.
You may have noticed I've skipped over some interesting things here.
For example, what happens when you spill your milk all over the desk? Or what happens if you don't completely fill a glass?
This is the bit where the action is.
So, let's look at that.
If you've ever over driven a microphone or a speaker, heard of clipping, or distortion, those are all equivalent to spilling milk all over your desk. The take-away is that there is an indeterminate amount of milk and no place to store it, so your row of glasses says all full, but you and I both know that there is some spillage. This is lost information, we don't know if there is a droplet spilled or a whole ocean spilled.
So, one consideration in picking an A/D converter is how to deal with high signal levels. You may need to either increase the number of glasses, or bits, or you may need to decrease the signal before measuring it.
Another interesting thing is what happens at the boundary between full glasses and empty glasses. If you pour one glass full and run out of milk, you're good to go, but the reality says that you'll start pouring the next glass and you'll run out, having a glass that's only half-full. Or is it? Is it half-empty? How do you know? Is this glass represented as a one or as a zero?
You could create a row that's twice as long with glasses that are half the size, and at the boundary you'd have a more accurate idea, but you'd still have the same issue, is the glass that you filled only partly, half-full, or half-empty?
There's more to come, but the basic idea of converting an infinitely variable signal coming from your antenna into something used by software is a big part of a Software Defined Radio.
I'm Onno VK6FLAB
Create your
podcast in
minutes
It is Free