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

Strange output on biquad

SigmaDSP & SigmaStudio guytaar Mar 1, 2013 00:00 4 replies Original on forum ↗
Subscribe
guytaar Question
Mar 1, 2013 00:00

Hi all,

I've noticed strange behavior with the biquad blocks in a device that we'll be selling soon. It has an ADAU1442 inside. I've notice some output signal after a biquad which has no input (only a bit noise, if this noise is removed by putting the level at -inf, the issue disappears). The filter I've used is a HPF (butterworth) at 20Hz but also with peak or other filters types in low freqencies, it happens. I've attached a scope image and what I see is like a very low frequency ocillation. I've also added some views of the debug software that I use and there I can see that level before the biquads is (lower than) -100dBFS and after the biquads it can go up to -30dBFS so it's noticable on the signal indication. The VU bars go up and down slow, like the wave of the scope. When I put the biquad off (b0 = 1, all others 0), the signal after the biquad also goes below -100dBFS and on the scope, I don't see the low frequency swings. I've read back the parameters from the DSP (for the HPF) and they seem correct to me (

b0 = 0x007FC366, b1 = 0x0F007934, b2 = 0x007FC366, -a1 = 0x00FF86B0 and -a2 = 0x0F807917). Is there anything I did wrong? Any hints how it could happen and maybe info how to solve this? Thanks in advance!

Best regards,

Guy

Audio Signal Processors

adau1442

SigmaDSP Audio Processors

KJBob Reply
Mar 1, 2013 00:00

Hello Guy,

The user interface you set up is awesome!

The symptoms you're observing resemble those of a single-precision filter. Once in the project schematic, single-precision and double-precision filters appear identical. So to be absolutely sure, you could just delete the HPF in use and drag back in its place a known double-precision version. Save your project as-is before doing this in case there's no improvement. It is sure frustrating to have trouble when under time pressure, so let's hope the problem is something easy like this.

BTW -- at the very slow time base it's set for, your scope dropped down to a 100/sec sample rate -- so it is aliasing anything it sees above 50 Hz!

Best regards,

Bob

guytaar Reply
Mar 1, 2013 00:00

Thank you Bob for the fast reply!

I indeed use the single precision version. When I started this project, I had read that double-precision is only required in a limited number of cases, and outside of those cases, single-precision can get the same performance with fewer instruction cycles. I could test to see if this is the issue but I don't have enough resources to change all biquad blocks by double precision. Did I understood well that for double precision, I will need to calculate the parameters as well in double precision?

Thanks in advance!

Best regards,

Guy

ADIApproved Reply
Mar 1, 2013 00:00

HI bob and guy:

I'm pretty sure the problem you are seing is a limic cycle problem cause by using single precision filters in lower frequency, or high Q filters. I'm also confident that your problem will get alleviated by using double precision. the double precison implementation on the Sigma is a direct form one where the double precision doesn't happen in the coefficients and therefore your address map will not need to change, so in short, your GUI will not need to change with this change in the SigmaStudio schematic.

Also do NOT change all the biquads, only those that are doing the filtering on lower frequencies OR those that that have high Q (I doubt you have those type of filters in your design).

Good luck and please let us know your results.

Regards

Miguel

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin