ADAU1777 or ADAU1772 - general approach to adaptive ANC

This is a general question for anyone with experience in using the ADAU1777 of ADAU1772 in adaptive ANC headset applications.

The outstanding performance feature of the part for ANC is the low latency analog-to-analog path, which allows feedforward ANC to operate. External sounds reaching an outward facing microphone (analog or digital PDM) can be processed with filters and output to the DAC in as little as 5us.

Unfortunately, there is little online info about successful strategies, algorithms, or methods used to adapt the filters in the feedforward path. I assume that a standard algorithm such as FxLMS can be used, implemented on an external processor that adapts/updates the filter coefficients on the ADAU1777.

My questions relate to the recommended connection strategy between this external processor and the ADAU1777.

1) I assume that the external processor connects to the ADAU1777 via the I2C/SPI control interface for purposes of re-configuring the ADAU1777 filters for adaptive ANC. Is this generally correct?

2) I assume that the ADAU1777 can send audio out to the external processor over its serial output port via the output ASRCs. Is this generally correct?

(NOTE - the purpose of this would be to measure the residual sound inside the ANC headset for purposes of calculating updated adaptive filter coefficients).

3) Are there any whitepapers, reference designs, or example systems using ADAU1777 or ADAU1772 that anyone can share?

Thank you,

Parents
  • Hello HonestEffort,

    Like your screenname suggests, I need to be honest. We cannot really help out with the algorithm since we do work with many companies that have their own algorithms, we have to guard our relationship and trust with these companies. So we really need to step back  and let customers work on their own IP.

    But, we can answer questions regarding using the part and so I can answer some of your questions.

    1) I assume that the external processor connects to the ADAU1777 via the I2C/SPI control interface for purposes of re-configuring the ADAU1777 filters for adaptive ANC. Is this generally correct?

    Yes, that is one of the uses of the serial port aside from programming and controlling it. 

    2) I assume that the ADAU1777 can send audio out to the external processor over its serial output port via the output ASRCs. Is this generally correct?

    Yes, you can send audio out from many sources inside the part. Either a microphone directly or an output from the core. The ASRCs are there to enable you to run the core at a high rate but still be able to send audio out at a more reasonable rate.

    3) Are there any whitepapers, reference designs, or example systems using ADAU1777 or ADAU1772 that anyone can share?

    No, this we do not have.

    I can add that the part has two banks of coefficients. This is specifically made for these adaptive algorithms. You can have an active set of coefficients in Bank A while you load in coefficients into bank B and then instantly switch between them allowing you to then update Bank A.

    Hope this helps.

    Thanks,

    Dave T

Reply
  • Hello HonestEffort,

    Like your screenname suggests, I need to be honest. We cannot really help out with the algorithm since we do work with many companies that have their own algorithms, we have to guard our relationship and trust with these companies. So we really need to step back  and let customers work on their own IP.

    But, we can answer questions regarding using the part and so I can answer some of your questions.

    1) I assume that the external processor connects to the ADAU1777 via the I2C/SPI control interface for purposes of re-configuring the ADAU1777 filters for adaptive ANC. Is this generally correct?

    Yes, that is one of the uses of the serial port aside from programming and controlling it. 

    2) I assume that the ADAU1777 can send audio out to the external processor over its serial output port via the output ASRCs. Is this generally correct?

    Yes, you can send audio out from many sources inside the part. Either a microphone directly or an output from the core. The ASRCs are there to enable you to run the core at a high rate but still be able to send audio out at a more reasonable rate.

    3) Are there any whitepapers, reference designs, or example systems using ADAU1777 or ADAU1772 that anyone can share?

    No, this we do not have.

    I can add that the part has two banks of coefficients. This is specifically made for these adaptive algorithms. You can have an active set of coefficients in Bank A while you load in coefficients into bank B and then instantly switch between them allowing you to then update Bank A.

    Hope this helps.

    Thanks,

    Dave T

Children