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

Question about H/W accelerators

SigmaDSP & SigmaStudio IRON Apr 12, 2016 00:00 5 replies Original on forum ↗
Subscribe
IRON Question
Apr 12, 2016 00:00

Hello all,

I have a question on a line below. (chapter "Hardware Accelerators" on the data sheet p.78/180.)

"The slew accelerators provide for click-free updates of parameters that must change slowly over time, allowing for audio processing algorithms such as mixers, crossfaders, dynamic filters, and dynamic volume controls."

What exactly does that mean by "that must change slowly over time"?

I found the "clickless HW slew" in both "Basic DSP->Adjustable Gain" and "Volume Controls->Adjuctable Gain".

Which should I use for what purpose?

Also, which curve shape would the gain be? Linear, RC, Constant dB?

Best Regards,

Yuta Mihara

KJBob Reply
Apr 12, 2016 00:00

Hello,

Often gain changes cause audible artifacts. Sudden gain changes cause "pops" and clicks. Gain changes from turning a knob can cause "zipper noise." Slewing minimizes or prevents these undesirable effect. Thus, use slewing whenever a parameter changes while "live" (sound is being reproduced).

The wiki only lists the older slew blocks for DSPs earlier than the ADAU145x. An EZ resource on the new slew blocks:

Sigma 300 (ADAU145x) Slew Volume Rates

Best regards,

Bob

IRON Reply
Apr 13, 2016 00:00

Hello Bob,

Thank you for the very quick reply.

I appreciate that.

I understand the impotance of slew to remove various kinds of noise.

But, I still do not understand the usage of gain blocks.

Question1

There are 2 adjustable gain folders.

->one is in Basic DSP folder on Tree ToolBox. (seems this one has only Linear gain)

->The other is in Volume Controls. (seems this one has gains that has only exponential curve.)

what are the differences?

Question2

Each Adjustable gain flolder has Clickless HW Slew and SW Slew.

What are the differences?

KJBob Reply
Apr 14, 2016 00:00

The Linear Gain block works exactly the same as multiplying by a DC source.

The Slew External Volume block also works as a linear gain. Its only difference is the slewing which occurs should the control input change.

The GUI volume control defaults to dB, but you can adjust its range and change it to linear by right-clicking on its slider knob. SigmaStudio figures the linear gain from the GUI setting, then loads the DSP parameter memory with it. The HW and SW slew versions work similarly, but use a slightly different number of instructions (the HW slew version uses the HW slew accelerator you mentioned above).

3fd087bad963f1c4900d976603fb2788.png
3fd087bad963f1c4900d976603fb2788.png
3fd087bad963f1c4900d976603fb2788.png-620x251.png
3fd087bad963f1c4900d976603fb2788.png-620x251.png
IRON Reply
Apr 15, 2016 00:00

Hi Bob,

Sorry to be late to get back to you and thank you so much for the very clear answer.

I am understanding this gradually but surely.

I have further questions on this.

Q1

You explained that only HW slew blocks utilize HW accelerator which sound much more efficient.

Why do we need SW slew block then? For what purpose?(Is it for Sigma200 or other legacies that do not have HW accelerator?)

Q2

Why does HW slew block requires heavier resources?

I've checked the MIPS and required memory size on SigmaStudio in below 2 patterns.

1. SW slew

2. HW slew

HW slew module was heavier even though it uses accelerator.

Q3

In "Volume Controls" => "Adjustable Gain" => "Clickless SW Slew",

There are "RC optimized" and "RC Accurate".

What are the differences?

hoping these would be the very last questions for you Bob-San!

Best Regards,

Yuta Mihara

KJBob Reply
Apr 17, 2016 00:00

Hello,

Good questions! I'm afraid these are beyond my experience with the ADAU1452. Perhaps one of the ADI application engineers will see this thread and answer for you.

Q1: Yes, earlier SIgmaDSPs only had SW slew. HW slew is new with the -1452.

Q2: This does appear strange, the SW slew uses fewer instructions than either of the HW slews. Also there's two kinds of instructions listed, cycles and size -- this is another -1452 aspect I'm not familiar with. I assume that cycles refers to core usage while size is memory space:

Q3: At least the Optimized version uses fewer instructions than the Accurate one. When two similar algorithms are offered, often this allows a choice between more instructions and better accuracy.

Best regards,

Bob

7cc15b652c9de032c775e8c2b28b72e4.png
7cc15b652c9de032c775e8c2b28b72e4.png
7cc15b652c9de032c775e8c2b28b72e4.png-562x439.png
7cc15b652c9de032c775e8c2b28b72e4.png-562x439.png