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

Noise reduction algorithm module for Fs=48kHz

SigmaDSP & SigmaStudio naimark Feb 9, 2018 00:00 4 replies Original on forum ↗
Subscribe
naimark Question
Feb 9, 2018 00:00

Sigma DSP has noise reduction algorithm module for ADAU1761.

Unfortunately, it runs only for Fs=16kHz.

What’s need to be done to run it for Fs=48kHz.

Thanks

Mark

Audio Signal Processors

noise reduction algorithm module for fs=48khz

SigmaDSP Audio Processors

adau1761

KJBob Reply
Feb 11, 2018 00:00

Hello Mark,

The ADI NR algorithm runs at 16K because that's what the chip can handle. I've made several alternative NRs which run at 48K, using a frequency gating method. This splits the incoming audio into a number of frequency bands, gating each one ON only if its level is above threshold. Thus the scheme places "holes" in the response wherever the signal is insignificant -- which of course takes out the corresponding noise. Below is an example setup with three sections out of the total of 14 shown:

To design a frequency-selective noise gate like this, keep these principles in mind:

Each section's frequency is a fixed multiple of the previous one -- for example, a multiplier of two gives one filter per octave. Thus the sections appear evenly spaced on a log scale. This design uses a multiplier of 2^(2/3) to provide 3/2 = 1.5 filters per octave.

All filters are peaking type of identical Q. Here a Q value of 1.6 was chosen so that the filter responses add with a moderate ripple (about 1 dB p-p). A design with more filters closer together in frequency would use a higher Q.

Adjust the speed of the Peak Envelope and Slew Volume blocks for the desired time response.

I'm on vacation so I could not test the attached project. It should run on a ADAU1761 eval board.

Best regards,

Bob

686b988745bc199cb54a87ae88659d4b.png
686b988745bc199cb54a87ae88659d4b.png
686b988745bc199cb54a87ae88659d4b.png-620x306.png
686b988745bc199cb54a87ae88659d4b.png-620x306.png
DaveThib Reply
Feb 12, 2018 00:00

Hello naimark,

KJBob is correct in that there is not enough processing power to run it at 48kHz. However, these are only designed for audio used for voice communication systems which do not require full bandwidth. It is very difficult to design noise reduction that has a higher bandwidth. It requires very long FIR filters which will have a very long group delay so you will generally only see wideband noise reduction for system that process audio "off-line".

The spectral method KJBob suggested is one way to get some improvement.

Is your application for voice?

Dave T

KJBob Reply
Feb 17, 2018 00:00

Hi Dave,

Thanks for your input on this interesting topic. I had assumed that since Mark prefers to run at 48K, he actually needed a wider signal bandwidth. On the other hand, the spectral technique also adapts to voice bandwidth simply by using closer-spaced, higher-Q filters at whatever sample rate. Several examples of this technique are scattered around the boards here. So far I haven't tried the ADI voice NR block -- does it use FIR (I see it includes a delay setting)?

Best regards,

Bob

naimark Reply
Mar 28, 2018 00:00

Thanks everyone!

Sorry,

I couldn’t reply to your posts last month.

Yes, this is voice related application and DSP is running as a slave from external clocks.

Also, I don’t have a lot of recourses left on this DSP and I can’t use larger chip because of the space constrains.

Looks like I have no choice and will implement a BPF.

Thanks again.

Mark