Analog ASRC and ADAU1701

HI, this is my first DSP project (a three-way audio crossover, with speaker compensation).

I already have a Sure ADAU1701 board, with relevant programmer.

I would like to add a SPDIF input, with multi-rate capability (from 44.1 to192KHz), but I haven’t found any suitable (and reasonably priced) ready-to-use ASRC board and I have not the skill (and the patience) to design one.

So, I am considering to use the analog equivalent of ASRC, that is:

 SPIDIF source > SPDIF receiver/DAC > analog filter > ADAU ADC.

 (I already have several SPDIF receiver/DAC).

The critical part of this solution is clearly the analog filter, needed to avoid aliasing of the ADAU ADC; I don’t know how to dimension this filter (I don’t know the oversampling ratio of the ADAU ADC), but I think that a 8th order low pass filter based on a LTC1064-x ic will be adequate (elliptic LTC1064-04 has 80dB Stopband Attenuation at 2 x fCUTOFF).

In order to make this filter work at a fCUTOFF of about 20KHz, I need a clock of about 1MHz or 2 MHz (depending on the LT1064 setting).

The question is: is it possible to derive this clock directly from a GPIO of the ADAU1701 and, more general, is this solution feasible?

Note that this filter will be useful also when, for example, the analog output from a CD player is connected to the ADAU ADC (in this case the aliasing could be produced by the images present in the output spectrum of the DAC inside the CD player).

Thanks

Fulvio

  • 0
    •  Super User 
    on Jan 21, 2021 10:58 PM 1 month ago

         Hello Fulvio,

         Perhaps I'm missing something, yet if your SPDIF/DAC can supply an analog output compatible with other audio components (such as anything with RCA input jacks), the ADAU1701's ADCs should handle it fine.  Likely the SPDIF receiver's DAC includes an oversampled reconstruction filter to shape its output noise far outside the audio range.  Although I couldn't find an oversampling spec, the 1701's ADC anti-aliasing filter has quite a brick-wall response on its own:

         Since the -1701's ADC filter already cuts off near 20 kHz, all you may need is a simple one-pole RC lowpass filter with a 3 dB point at around 50 kHz to remove any remaining HF hash beyond the oversampling capabilities of both the DAC and ADC filters.  A series 3.3 K ohm resistor and a shunt 1 nF (0.001 uF) capacitor per channel should do the trick.

         Although "real" ASRCs are digital-in / digital-out, their mathematical constraints impart finite "analog" specs such as S/N.  Of course they work much better than the ADC-DAC, yet you may obtain adequate performance with this solution.  Be sure to have a solid common ground for the modules to avoid introducing ground-loop noise between them.

         Best regards,

         Bob

  • Hi Bob,

    many thanks for your help; till now I have worked mainly on analogic (RF in particular), so many features of A/D and D/A conversion are new to me.

    My perplexity was originated after reading the very basic Analog Devices application note AN-282, in particular the following picture:

     PDF

     

    that shows that oversampling relaxes the anti-aliasing filter requirements but doesn’t allow to eliminate it; obviously. I forgot the reconstruction filter of the preceding DAC.

     

    Regards

    Fulvio