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

Sigma DSP IPAT Use Question

SigmaDSP & SigmaStudio Tingting1992 Dec 15, 2022 00:00 2 replies Original on forum ↗
Thread Summary

Thread Summary

The user asked if using Block Write to send biquad coefficients via the Indirect Parameter Access Table (IPAT) on ADAU146X, ADAU145X, and ADAU144X processors can cause pop noise. The engineer confirmed that both safe load and IPAT methods function similarly to avoid pop noise and unstable filters. The user then inquired about the worst-case cycles for sending five biquad coefficients, which the engineer estimated to be approximately 50 cycles based on the IPAT documentation.
AI Generated Content
Subscribe
Tingting1992 Question
Dec 15, 2022 00:00

Hi,

I am checking the IPAT feature introduced in Indirect Parameter Access Table (IPAT) (ADAU146X, ADAU145X, ADAU144X) [Analog Devices Wiki] and have a quesion.

As we know, we need to use Safeload Write method to send biquad coefficients from SigmaStudio to SigmaDSP. This can avoid pop noise or some other strange behaviors.

When we use IPAT, we can only use Block Write to send the five biquad coefficients.

Will this method casue the pop noise?

Thanks,

Tingting.

software

biquad_safeload.PNG
biquad_safeload.PNG
IPAT_Biquad_Coeffs.png
IPAT_Biquad_Coeffs.png
Harishgowtham Reply
Dec 16, 2022 00:00

Hello Tingting,

The IPAT and the safe load. They work pretty much the same way. You should either use a safe load or IPAT to directly write the co-effs into the memory.

Safe load: You load in the data and the start address and then the number of bytes to trigger the transfer.

Indirect Parameter Access: You load in your data into the fixed address for the parameter, and then you load in the start address of the first parameter and the number of parameters to trigger the transfer.

They function in the same way. The Indirect Parameter Access Table allows you to FIX the addresses of the desired parameters, so you do not have to know where the compiler had placed them in memory. If you do not use the table, then you have to recompile your controller code with the updated addresses every time you make changes in the program flow in Sigma Studio.

ALL filters need to use either Safe load or the Indirect Parameter Access Table. If you directly write to a filter coefficient and it happened to occur over several sample periods (and it will most likely happen) then the combination of old and new coefficients can result in an unstable filter for a few samples which is not good!

This IPAT feature is applicable only for some of the processors mentioned in the wiki page. Since you didn't mention your processor name. So, I just want to notify this.

Regards,

Harish

Tingting1992 Reply
Dec 16, 2022 00:00

Hi Harish,

Thanks for the reply.

By the way, I am checking the cycles consumbed by IPTA. The description in Indirect Parameter Access Table (IPAT) (ADAU146X, ADAU145X, ADAU144X) [Analog Devices Wiki] is as follows:

In my case, I need to send five biquad coeffs at a time. Does it mean the worst-case cycles are approximately 10*Max(Number of Loads)=10*5=50?

Thanks,

Tingting.

IPAT_Cycles.PNG
IPAT_Cycles.PNG