Post Go back to editing

How to eliminate feedback in ADAU1701

Hi everyone,

I am using ADAU1701 for the application Voice Processing. Everything is working fine. But our problem is while speaking via microphone it is fine, but when it is in normal position we are getting whistle kind of sound.

How to eliminate the feedback which is coming from microphone with speakers. Please help to resolve this problem.

I have attached our setup.

Regards

Vishnu

attachments.zip
Parents
  • Hello Vishnu,

    With the speaker and the microphone close together this will be a problem. You may be able to improve this by shutting off the microphone when nobody is speaking. A squelch control. I have put together a project that does this in a simple way. It can be done in a way where you have more control of the switching time and detection characteristics but it would be much more complicated. This is a simple approach using the Signal Detect cell.

    The only downside of this cell is that the minimum time you can set it for is 2 seconds. This may be OK for you. The limitation is with the GUI in SigmaStudio and not in the DSP code. If you have a system controller then you can change this time parameter to be as short as you need.

    Once your product mechanical housings are complete and all the cabinet resonances and distance between the microphone and speakers are fixed, then you probably could add a notch filter or two right at the feedback frequencies. There is no point in doing it now since the frequencies will all change.

    So try this simple method and see how it works for you. I arbitrarily chose the threshold. You will need to adjust for your system. Also, make certain you add a DC block at the input of the DSP program. Electret mics and our ADCs all will have some DC offset which can be significant. Enough to trip a low threshold level.

    I think Sri is also working with you. Your post helped a lot since you showed me what the hardware configuration was and what the nature of the problem is.

    Here is a screenshot of the program. I will also attach it to this post.

      Thanks,

    Dave T

    ADAU1701SequelchControlusingSignalDetect.dspproj.zip
Reply
  • Hello Vishnu,

    With the speaker and the microphone close together this will be a problem. You may be able to improve this by shutting off the microphone when nobody is speaking. A squelch control. I have put together a project that does this in a simple way. It can be done in a way where you have more control of the switching time and detection characteristics but it would be much more complicated. This is a simple approach using the Signal Detect cell.

    The only downside of this cell is that the minimum time you can set it for is 2 seconds. This may be OK for you. The limitation is with the GUI in SigmaStudio and not in the DSP code. If you have a system controller then you can change this time parameter to be as short as you need.

    Once your product mechanical housings are complete and all the cabinet resonances and distance between the microphone and speakers are fixed, then you probably could add a notch filter or two right at the feedback frequencies. There is no point in doing it now since the frequencies will all change.

    So try this simple method and see how it works for you. I arbitrarily chose the threshold. You will need to adjust for your system. Also, make certain you add a DC block at the input of the DSP program. Electret mics and our ADCs all will have some DC offset which can be significant. Enough to trip a low threshold level.

    I think Sri is also working with you. Your post helped a lot since you showed me what the hardware configuration was and what the nature of the problem is.

    Here is a screenshot of the program. I will also attach it to this post.

      Thanks,

    Dave T

    ADAU1701SequelchControlusingSignalDetect.dspproj.zip
Children
No Data