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

Aliasing when using Downsampler

SigmaDSP & SigmaStudio Franky45 Apr 21, 2025 00:00 2 replies Original on forum ↗
Thread Summary

Thread Summary

The user is experiencing aliasing at 500Hz after downsampling a 48kHz signal to 8kHz using the ADAU1452 REV BZ Board. The final answer suggests setting the LPF cutoff frequency below 4kHz and using a higher-order FIR filter to achieve at least -60dB attenuation at the Nyquist frequency of 4kHz. The accompanying answer notes that the signal level is below the noise floor and suggests checking the serial output port configuration and signal representation.
AI Generated Content
Subscribe
Franky45 Question
Apr 21, 2025 00:00

Dear Team,

I am using the ADAU1452 REV BZ Board. My system Sampling rate is 48kHz . I would be taking input from the oscillator and downsampling it to 8kHz . I know there is a problem with the LPF that comes with the Downsampler so I LPF the signal after Downsampling and strange enough the output shows what seems to be like an alias at 500Hz . While it is well below the noise floor at the moment , what worries me is when i send it furthe down other modules in my signal chain there is a chance this will inevitable cause the alias to show us a peak with anywhere above the Noise Floor. Is this typical of DS or what can be done to prevent the alias from creeping in and wreaking havoc.

Regards,

Frank

Audio Signal Processors

adau1452

Datasheet/Specs

SigmaDSP Audio Processors

pastedimage1745237884464v1.png
pastedimage1745237884464v1.png
pastedimage1745237992845v2.png
pastedimage1745237992845v2.png
Harishgowtham Reply
Apr 21, 2025 00:00

Hello Frank,

There are a few things that I can see here.

I hope your serial output port is running at 48kHz, and I see your signal at 8KHz fs is directly being sent to the serial output port without being up sampled to 48KHz.

And the signal sent out of DSP core to serial out port is 1.23 (after truncation/saturation enabled), so it's a 24-bit number which has the DR of 144dB. What you are having is -165dB signal. it's not even representable with a 24-bit number. So, it's not coming from the DSP.

Here is the post, which is similar to yours and discusses this topic, please go to the bottom of the post and see Dave's reply.

Regards,

Harish

DaveThib Reply
Apr 21, 2025 00:00

Hello Franky45,

I see you set the filter for exactly 4kHz. this means it will be only 3dB down at 4kHz. You will need to either set it to like 3.5Khz and also you may have to use a filter with a steeper cut off curve. I do not know if this is a single order or second order filter. You might need to use a higher order filter if you want to assure you have very low amount of aliasing. I like to be -60dB or more at the Nyquist frequency. Use the stimulas and probe feature to see what the filter is doing at Nyquist.

Here is an example from my multirate example project. This is the section where I use an FIR filter from the standard library. You can see that if you set the cutoff exactly to the Nyquist it allows audio to pass above Nyquist. I will put up several screenshots with different settings on the probe.

Note that this project is set for 192kHz fs so I am able to use the probe above 24kHz. the probe feature only works up to the Nyqust frequency of the schematic section where it is being used. Digital theory still applies. LOL

Note that the cut off (the order) of the FIR is good.

Here it is zoomed in a bit. I wish there was a cursor feature on the probe block but there is not. I roughly circled the area around 24kHz which in this case is the Nyquist of the down sampled rate.

So you would have tons of aliasing!!

Setting the filter to 22kHz gives around a -60 to -70dB reduction at Nyquist.

So now I swapped out a 2nd order IIR filter from the library. With the same 22kHz corner frequency this is what I get:

NO Attenuation AT ALL!

Let me back away to see a wider response.

This is the filter response. An IIR filter is very gentle. They sound great and sound like analog filters but are lousy for this sort of use. You would have to use a higher order IIR

Here is a 6th order Butterworth. It is better but still not great. this is creating a lot of computational overhead. If you can deal with the latency of an FIR filter then use one.

I experimented a bit and to get the cutoff of -60 at 24kHz I had to set the corner frequency to 9kHz. Less than half of what Nyquist is for the new rate!

I think I am proving my case to use an FIR filter.

Dave T

pastedimage1745242554225v1.png
pastedimage1745242554225v1.png
pastedimage1745243091447v2.png
pastedimage1745243091447v2.png
pastedimage1745243230528v3.png
pastedimage1745243230528v3.png
pastedimage1745243392274v4.png
pastedimage1745243392274v4.png
pastedimage1745243513503v5.png
pastedimage1745243513503v5.png
pastedimage1745243657744v6.png
pastedimage1745243657744v6.png