ΣSigmaStudio Ask AI Русский Log in

ADAU1772 Noise Generated within Sigma Studio

SigmaDSP & SigmaStudio freemanc Feb 9, 2014 00:00 8 replies Original on forum ↗
Subscribe
freemanc Question
Feb 9, 2014 00:00

Hi Everyone,

I have an audio design using the ADAU1772. It seems to be working perfectly well from the hardware point of view as the DSP is biasing an electret microphone and outputting the signal to a speaker. The application is Active Noise Reduction. The microphone and speaker naturally cause feedback as they are close to each other in the cup of the headphone. Now, if I create a very simple schematic that feeds the microphone input (0) to the output (0), through a single filter element, all is fine (as in, there is still positive audio feedback squealing, but the hardware is working fine). However, if I insert 2 or more filters in series, I get a chopped up "white noise" signal. Sometimes it is continuous. Now, I cannot see there is a problem with the hardware, as it works fine as described above. And I SHOULD only get a single tone of feedback (and harmonics thereof), not white noise. I've take a recording of the sound to describe it. The signal I suspect is clipped though, but I think it gives the idea correctly. Firstly, why would adding other filters or element (even adding a Mute button function causes this!) create this problem, and secondly, why on earth is it intermittent?

Any help would be appreciated please!

Kind regards

Charles

adau1772

Integrated/Special Purpose A/D Converters

Audio CODECs

ADIApproved Reply
Feb 10, 2014 00:00

Hi Charles,

This sounds like it could be a sample rate issue within the part. Could you verify that the ADCs fs and Core fs are both operating at the same frequency? You can check the ADC sample rate in the Hardware Configuration tab/Register Control section and set the system sample rate at the top of the SigmaStudio window. Follow the first step "Setting Software Sample Rate" in this document https://ez.analog.com/docs/DOC-1431 to properly set the rate.

Regards,

-BillJ

freemanc Reply
Feb 10, 2014 00:00

Hi BillJ,

Thank you for your reply. I've checked the ADC and core fs are the same (192kHz), and even tried different matching ADC and fs values. Same problem persists, and it's intermittent. This is my schematic (just DSP part, PVDD is 3.3V):

These are the steps I've taken (just with arbitrary filters to show the problem) as well as all the register settings. Even if I have a single filter with a mute somewhere in the line, the problem crops up!

Does anything look wrong here? Currently I am only looking at the left hand microphone, so have disabled anything to do with the right hand channel till I get the first bit working properly.

Kind regards

Charles

062bcf3590fce995ab33c960ba917dda.jpg
062bcf3590fce995ab33c960ba917dda.jpg
062bcf3590fce995ab33c960ba917dda.jpg-450x211.jpg
062bcf3590fce995ab33c960ba917dda.jpg-450x211.jpg
ef6d8b4b696f88d4ec2a16926e1d4301.jpg
ef6d8b4b696f88d4ec2a16926e1d4301.jpg
ef6d8b4b696f88d4ec2a16926e1d4301.jpg-450x169.jpg
ef6d8b4b696f88d4ec2a16926e1d4301.jpg-450x169.jpg
f2d6c6d2783b9fab1b3fe647506d2ff5.jpg
f2d6c6d2783b9fab1b3fe647506d2ff5.jpg
f2d6c6d2783b9fab1b3fe647506d2ff5.jpg-450x300.jpg
f2d6c6d2783b9fab1b3fe647506d2ff5.jpg-450x300.jpg
07bfa4d4587a030714df1af1c3b8d83d.jpg
07bfa4d4587a030714df1af1c3b8d83d.jpg
07bfa4d4587a030714df1af1c3b8d83d.jpg-450x359.jpg
07bfa4d4587a030714df1af1c3b8d83d.jpg-450x359.jpg
10c191a0653d907d29409ab739434026.jpg
10c191a0653d907d29409ab739434026.jpg
10c191a0653d907d29409ab739434026.jpg-450x359.jpg
10c191a0653d907d29409ab739434026.jpg-450x359.jpg
90156445e78996c9ee1f2db7114f2371.jpg
90156445e78996c9ee1f2db7114f2371.jpg
90156445e78996c9ee1f2db7114f2371.jpg-450x359.jpg
90156445e78996c9ee1f2db7114f2371.jpg-450x359.jpg
de950188ead38a27bdabefbc0de7aab3.jpg
de950188ead38a27bdabefbc0de7aab3.jpg
de950188ead38a27bdabefbc0de7aab3.jpg-450x359.jpg
de950188ead38a27bdabefbc0de7aab3.jpg-450x359.jpg
95bfb6df1b7e07b24454e2ae60f56f5f.jpg
95bfb6df1b7e07b24454e2ae60f56f5f.jpg
95bfb6df1b7e07b24454e2ae60f56f5f.jpg-450x359.jpg
95bfb6df1b7e07b24454e2ae60f56f5f.jpg-450x359.jpg
e16d4f067018f0af3432a980f5fdb853.jpg
e16d4f067018f0af3432a980f5fdb853.jpg
e16d4f067018f0af3432a980f5fdb853.jpg-450x359.jpg
e16d4f067018f0af3432a980f5fdb853.jpg-450x359.jpg
a8e80046bedba17b9ae7731f782b7417.jpg
a8e80046bedba17b9ae7731f782b7417.jpg
a8e80046bedba17b9ae7731f782b7417.jpg-450x359.jpg
a8e80046bedba17b9ae7731f782b7417.jpg-450x359.jpg
ColemanR Reply
Feb 10, 2014 00:00

Hi Charles,

I have done some optimization tests regarding the decoupling on the MICBIAS pin, and I recall that it is possible to use too much. I think the circuit was optimized with 2.2 uF, using too much caused oscillation in the generator that shows up as noise. Try removing the 10 uF altogether before installing a 2.2 or 1 uF.

Best regards,

Coleman

freemanc Reply
Feb 10, 2014 00:00

Hi Coleman,

Thanks for the reply, I removed C11 and the problem still persists unfortunately. Any other ideas?

Kind regards

Charles

freemanc Reply
Feb 11, 2014 00:00

Hi BillJ,

After playing around a lot more, it appears the problem is not just related to having 2 filters, the problem persists with a single filter. I've even tried enabling and disabling all the features in the Register Settings, one at a time, and there appears to be absolutely no correlation between any setting and the noise created. The only thing for sure is that the noise is started or stopped immediately, when changing a software setting, or changing the filter parameters. The hardware is sitting dead-still on my desk, so it's definitely not a "loose wire". Also, when it operates correctly, it only ever goes to the white noise or crackling state from there, but never returns to normal. I have to power off the PCB and restart it.

Any more ideas on what the problem could be?

Kind regards

Charles

ADIApproved Reply
Feb 12, 2014 00:00

Hi Charles,

I noticed in the PLL & Clock Control tab you have the PLL setup correctly to output a 24.576 MHz signal. However you should be dividing the signal by 2 before clocking the core with it. Change the Main Clock divider to /2. I'm unsure if this will fix your problem but should be addressed anyway.

What version of SigmaStudio are you using?

Regards,

-BillJ

freemanc Reply
Feb 12, 2014 00:00

BillJ you genius! I changed both the Main Clock and Core Clock to 1/2 and this appears to have fixed the problem completely! I've added filters and a mute block and fiddled with the design for about an hour now, powering down and up, erasing the EEPROM and re-programming, and so far not a problem at all. Thank you for your help!

Incidentally, I'm using Sigma Studio Version 3.9, Build 2, Rev 1246. Are there any bugs known with this version that I should keep an eye out for?

Kind regards

Charles

freemanc Reply
May 20, 2014 00:00

Hi BillJ,

Hardware is working fine, but the software is driving me round the bend. I had originally wanted to use Matlab to find an inverse of the transfer function of the microphone and speaker, but it cannot find a stable (causal) solution in generating the IIR filter. So I simply tried to manually find an approximate using the traditional filters in Sigma Studio. The results have been sketchy and I cannot find a solution that gives me a decent noise reduction at low frequencies without producing positive feedback at higher frequencies. At best I have a low-pass filter in parallel with an all-pass filter, summed and then passed through a notch-filter. But the result is not repeatable for some reason in a different headphone cup. Is there a generic solution (as in "this block" in series with "that block") that you know of, whose values I can tweak, to get the system working?

Kind regards

Charles