As I discussed two weeks ago, it is time to refocus my efforts on the DSP-based ham radio project that started this blog. Let’s take a look at the architecture I had in mind originally:
This is a popular topology for radios that put their intermediate frequency at or near 0 Hz. It is also very similar to the most popular ham software-defined radio topology. In fact, those ham SDRs simply substitute a PC sound card for the ADC and the PC’s CPU for the FPGA. Here, though, I don’t want to bring a PC into the picture yet. Radios that require a PC don’t feel like “real radios” to me. I want to end up with a self-contained box, though I won’t mind if it optionally integrates with a PC.
For simplicity, I want to implement the receiver’s automatic gain control (AGC) functional digitally, after the ADCs. This means that with a well-designed front end, the ADC dynamic range will become the radio’s dynamic range.
With that in mind, I went looking for the best dynamic range audio ADC I could find, or at least the best one I could afford. I have identified seven manufacturers of 24-bit audio ADCs. Here is the best that they have:
||123 dB (Note 1)
Figures are typical values as shown in the manufacturer’s data sheet. All are for two channels active and 24-bit PCM output. Prices are quantity 1 from the cheaper of Digi-Key or Mouser.
1. The AK5388 is a four-channel ADC with 120 dB SNR. The 123 dB SNR requires the use of “mono mode”, which connects each stereo pair in parallel with a single input, effectively creating a two-channel ADC with 3 dB better SNR.
* Non-stock item, but a limited number of units are currently in stock.
The AK5388 looks like the price/performance winner, at $10.93 for 123 dB SNR and the best THD+N. One catch is figuring out the mono mode, which didn’t have crystal-clear documentation in the data sheet. On the other hand, even in four-channel mode it has 120 dB SNR, which still puts it at an excellent price/performance point.
Lurking in the SNR specification is A-weighting, which is a specification used for audio that isn’t much seen in the measurement world. The idea behind A-weighting is to reflect the human ear’s varying perception of noise at different frequencies by doing a weighted sum of the noise in the SNR measurement. Thus, frequencies where noise is more audible count worse than frequencies where it isn’t. A-weighting is not quite the right measurement for a near-zero IF ADC, first because a communications receiver’s bandwidth is quite a bit smaller than the 20 kHz used for the A-weighted measurement, and second because the communications signal being digitized is not necessarily at its final audible frequency yet.
I used A-weighting for the comparison because all of the ADCs were specified that way. Some of them also had an SNR in 20 kHz bandwidth specification, which does not weight the noise spectrum. For those ADCs, the 20 kHz SNR was 3 dB lower than the A-weighted SNR. , I decided to compare the A-weighted SNR to put the ADCs on equal ground, even though the 20 kHz bandwidth SNR is closer to what I would like to know for a communications receiver.
It’s worth mentioning that I looked at precision ADCs as well. I couldn’t find any 24-bit precision ADCs from Analog Devices or Linear Technologies that had a high-enough sample rate to be usable. In contrast, TI offers the single-channel ADS1281 and ADS1282, which offer a stunning 130 dB SNR (unweighted) at 250 samples per second. These might be reasonable for a Morse code receiver with a 100 Hz passband. When used for sideband, these ADCs would have to be operated in their 4000 SPS mode, at which their SNR drops to 118 dB. When one considers that filtering the output of the audio ADCs down to 100 Hz would provide an extra 6+ dB of SNR (because less bandwidth means less noise power), the ADS1281/1282 no longer has such an advantage. Worse, a pair of ADS1281 (two are needed because they are single-channel) will set you back $108 at Digi-Key.
In the end, I’ve found a combination of excellent performance and a good price. The AK5388 it is. The next step is to build or buy a board for it so I can start experimenting.