ADAU1772 - Active Noise Reduction?
Hi Guys,
I've had to ditch the use of the ADAU1701 for my application. Too many issues getting it working and also it appears that the latency from the ADC to DAC will be too large for what I need as the application is Active Noise Reduction for headphones. The reason for me picking it in the first place was the large amount of DSP blocks it supports in Sigma Studio as I was going to implement a FIR filter that compensates for the amplitude and phase response of the microphone/speaker. I've done this in the analog domain before, where a microphone in the headset cavity measures incoming noise, applies a filter to the signal and then drives a speaker to provide a 180' phase shift in the sound. However, doing this in the analog domain is a nightmare and for this particular design I decided to go the DSP route as arbitrary filters can be created.
However, it is proving to have its own can of worms. The next best device seems the ADAU1772 as it has extremely low latency and seems more geared for microphone/speaker driving than the ADAU1701, however, I see it supports very few of the functions in Sigma Studio that the ADAU1701 did. No FIR filters, no IIR filters, no delays even. I see on the datasheet it is supposed to be designed for Active Noise Reduction in mind, but I cannot see from the building blocks provided, how on earth this could be implemented?
Any help would be appreciated!
Kind regards
Charles
Audio Signal Processors
adau1772
Integrated/Special Purpose A/D Converters
noise
SigmaDSP Audio Processors
active
Audio CODECs
adau1701
reduction
Show More
Hi Charles,
The ADAU1772 is not a DSP in the same sense as the ADAU1701 or other SigmaDSPs. The ADAU1772 has a small filter engine that allows up to 31 IIR filters to be executed in the span of a single sample. There are also very basic functions like phase inversion (pass the signal through an allpass filter with a linear gain of -1), addition and subtraction.
Most active noise cancellation applications are simply filters and small delays on the order of a few samples, along with phase inversion or addition/subtraction. So the ADAU1772's processing engine and algorithm library, while limited, are suited for this kind of application.
If you look in the toolbox of algorithms for the ADAU1772, you'll see algorithms like filters, addition, and volume.
Hi Charles
Remember that any digital filtering will add a delay. The delay of the datasheet is the delay caused by the ADC and DAC systems. You will need to add to that any delay caused by the filters that you use.
Back of cig packet calculation:
Distance from microphone to ear - 6cm
Distance from speaker to ear - 2cm
Difference = 4cm
Time for sound to cover 4cm is the time you have to process the input and produce the output
= 0.04/330 = 121uS or just under 6 samples at 48kHz.
So the group delay of the devices ADC and DAC plus any digital filtering you introduce must be less than 6 samples at 48kHz. It might be worth running at 96kHz or 192kHz to give you more processing cycles and still stay within your time limits.
Regards
John
Hi Charles,
You can estimate the group delay of any SigmaStudio filter at a frequency of interest by plotting its phase response and approximating its derivative as shown here:
Here, the composite filter at left has its phase response plotted at right. Its group delay near 5KHz can be estimated by the slope of the phase curve around that frequency. The vertical change is about 25 radians, the horizontal is 10,000 radians per second (or 1590 Hz). The resulting group delay is T = - dy / dx = 25/10000 = 2.5 mS. Because the frequency axis is logarithmic. the group delay changes with frequency even when the phase curve appears as a straight line.
Best regards,
Bob
Thanks for all your help guys, I have spun up another design and have the board running. Hopefully this will be successful!
Hi Charles,
Did you ever get anywhere on this? We are looking at starting a similar project.
Best,
Dave.
Hi Charles,
Did you implement Active noise cancellation in ADAU1772 ?
freemanc
It would be really helpful if can share some info on it. I am asked to implement ANC adaptive algorithms on
1772.
Thanks in advance,
Best regards,
Vidhya
Hi, Charles
I am also doing something about the ANC by ADAU1772.I designed a 4-order IIR filter and it can works,however,it has poor noise cancellation performance.What‘s the order of the filter you use in your project and how to design a good filter.Can you give some advises?Thank you!
Hi Dave, Vidhya and ykanbb,
Sorry for the late reply, I didn't receive notification that there were follow ups, and stumbled on my own post while searching for info. I have had very little success, and immense frustration with this project. The major problem lies in that the transfer function from the microphone to the ANR speaker in a feedback setup, is always non-minimal phase, and so there is no inverse transfer function. So, the best compromise is to invert as much of the frequency range as possible without causing positive feedback at other frequencies. Very tricky. Here is the response of the project I'm working on, the problem is also that the tolerance on the specification of the speakers is not generally small enough to be able to apply this in production to a lot of units, without some problems.
What I'm trying to find next is how to implement in the ADAU1772, as an allpass filter with phase lead. In analog circuits, there are 2 types of allpass filters, one of which provides phase lead. This is negative group delay, which seems to indicate "prediction". It isn't, but it will work with a periodic signal, of which most sounds have for short periods of time at least. How to do this in this DSP is another story.
Have you had any success in the meantime?
Cheers
Charles
Please log in to reply.







