Post Go back to editing

ADAU1452 – Ripple/distortion occurs at low signal levels when using the xover filter.

Category: Software
Product Number: ADAU1452
Software Version: sigmastudio v4.7

The signal is distorted, similar to the blue response curve, when the volume is low using the General (2nd-Order / Lookup) filter on the ADAU1452. With other filters, this issue does not occur. I also tested it on the ADAU1401 and did not encounter this phenomenon. I’m not sure if my IC is faulty.



Edit the title to accurately reflect the issue encountered.
[edited by: DaNhanCach at 4:46 PM (GMT -4) on 30 May 2025]
  • Hello DaNhanCach,

    Could you please tell us what kind of distortion you are observing?

    If you are observing this using an oscilloscope, then attach scope captures it would be helpful.

    Please attach your project, so that we can see your filter curves, other info, clocking etc. 

    we basically need some information to work with. 

    Regards,

    Harish

  • Thank you for your interest in my topic. I don’t have an oscilloscope, but you can clearly see in the image where I measured SPL using the REW software: the red curve shows the signal passing through the Gen Filter1 block, which still produces a normal response at low volume levels. The blue curve shows the signal passing through the 2nd Order Filter1 block, where the response already shows abnormal behavior, and the more I lower the volume, the more it becomes distorted.

    2432W328C_1452.dspproj

  •      Hello all,

         Having no frequency response tool,  I inserted an oscillator and level meters into the project and ran it on my -1452 Eval Board.  With the oscillator set to 100 Hz, the board's 50 Hz output suggests a mismatch between the 96 K software setting and the PLL hardware settings.  That is, SigmaStudio is calculating its parameters for 96 K while the DSP core is running at only 48 K.  This halves the frequency settings of oscillators, filters, anything with a reference to time. Yet, your measured frequency response of your 'good' filter bank shows a cutoff near 100 Hz as expected.  So, it's all confusing to me.  Are you using a 24.5 MHz crystal?

    .

         Changing a PLL setting brought the DSP core rate to 96 K so it matches the software sample rate.  This brought the output to 100 Hz and made everything work better,  Interestingly, the eval board's AD1938 codec continues to output a signal, even though it's hardwired for 48 K.

         My tests at -40 dB, 200 Hz at the filter inputs showed significant noise, snowing how difficult it is to measure audio at such low levels.  The two level meters inside the DSP read similarly over a range of frequencies and levels.

         Best regards,

         Bob

  • Thank you for your interest in my post. As you mentioned, I am using a 24.576 MHz crystal oscillator. I have also tested with the ADAU1467 and got similar results. The measured response shows ripple at low signal levels. However, this does not happen on the ADAU1401, so I’m not sure if this issue is caused by hardware or software.

    As shown in this image, I tried using the peaking filter type and got similar results. The blue response curve is from the xover filter, which already shows the ripple phenomenon, while the orange response curve is from the regular filter, which remains very smooth at low signal levels.

  •      Hello,

         Thank you for your kindly response with additional information.  Further testing shows that there's definitely something up with the XOver (Lookup or Index) Filters.  Just as you have found, ADAU1452 and ADAU1401 / 1701 versions of these filters operate rather differently under the conditions described.  I also found out that the correct way to set the -1452 sample rate is not what I described above.  The correct setting to adjust is on the Core Control tab.  

    The -1452 index filters gave results which differed from the fixed 100 Hz filters when forced into a low output.  The extreme case of -40 dB, 400 Hz input is shown below.  We see that the level meters read quite differently -- I had to insert DC block filters to make the two filter banks read similarly.  It thus appears that the Index filters add a small DC bias which is absent in the fixed filters.

        This table with Index filter readings before and after the DC Block, as well as the fixed filter, shows how the results get progressively worse with inputs of lower amplitude and higher frequency.  Highlighted values indicate deviation from the fixed filter.

         The zero-index XOver filter and the fixed General Second Order filter receive the same coefficients, as shown by the Capture Window.  We can infer from this that the two use the same algorithm, thus should give the same results.

         The same project on the lowly ADAU1701 provides the exact same readings on all four level meters under all conditions. Viva 1701!:

         Perhaps placing DC block filters after your filter banks might make a difference.  Yet more likely, this is an issue for someone at ADI to check out.  Edit:  I wonder how much all of this matters toward audible sound quality -- yet both of us are measuring differences on the margins between two blocks containing essentially the same filter, on Sigma 300 DSPs but not with Sigma 100.  It's just strange to me.

         Best regards,

         Bob