Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

IIR EQ Design - Lowering CPU

DSP related issues, mathematics, processing and techniques

Re: IIR EQ Design - Lowering CPU

Postby Rocko » Wed Mar 26, 2014 2:36 pm

Hi,

Thanks again.

so, a 64bit system over a 32 bit system difference is actually the RAM size availability, from CPU's point of view. Correct?

How does this effect a music DAW? The ability to keep more addresses and 'address' them in parallel, like when using samples (of a sampler VST for instance).

Am I correct?
Rocko
 
Posts: 186
Joined: Tue May 15, 2012 12:42 pm

Re: IIR EQ Design - Lowering CPU

Postby KG_is_back » Wed Mar 26, 2014 5:26 pm

Rocko wrote:Hi,

Thanks again.

so, a 64bit system over a 32 bit system difference is actually the RAM size availability, from CPU's point of view. Correct?

How does this effect a music DAW? The ability to keep more addresses and 'address' them in parallel, like when using samples (of a sampler VST for instance).

Am I correct?


Yes. the operating system is a limiting factor of how much files can you have opened in single thread. When you load too many audio samples for example and you reach the limit and you'll get a warning that your RAM is full or Buffer owerflow or something similar (might even crash your DAW or system). Some DAWs have workarounds, for example they can 'Keep audio files on disk' and stream them instead of having them loaded in RAM. Or you can run your VST plugins in 'Bridged' mode so they run on separate thread (use their own address system - this way you can also load 32bit VSTs in 64bit DAWs). Such Bridging and streaming takes CPU and is generally not as reliable.
KG_is_back
 
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: IIR EQ Design - Lowering CPU

Postby Rocko » Tue Sep 01, 2015 2:54 pm

Hi,

Is it correct to say that for music applications, one doesn't need such a long word length (32 bit) if using floating point?

As an example, thinking of a DSP chip (not a PC which is designed for other tasks, not just audio). Why do audio DSP's have word lengths of 24 bit floating point? couldn't they have sufficient D.R. even with 16 bit, due to floating point architecture?
I mean 16bit word length floating point is still higher D.R. than 24bit fixed point? Isn't it?
Rocko
 
Posts: 186
Joined: Tue May 15, 2012 12:42 pm

Re: IIR EQ Design - Lowering CPU

Postby KG_is_back » Tue Sep 01, 2015 11:44 pm

It depends on the task you perform with DSP. Let me introduce you to chaos theory (it's probably not what you think it is). Different systems have different needs of precision. Chaotic system is a system, that is very sensitive to data-precision - even small changes to input data result in big changes in output.

As an example: gain knob is very non-chaotic. If you change the gain by a little amount, the output changes proportionally by a little amount.
However feedback-delay is very chaotic as the feedback gain approaches 1. You get massively different "echo decay" with gain at 0.95 and 0.98 .
Data precision plays a big role in these kind of things, because it is equivalent to rounding result of every operation to a certain level (effectively changing the result by a small amount). For example filters of order higher than 8 are too unstable with 32bit float format to be usable. Often you can hack things by choosing an algorithm, that is more precise (and usually more CPU expensive) ie. direct form I instead of direct form II for biquads.

To represent audio as "lossless" (to a human ear) you can go as low as 14bit fixed point. However, there is very little you can actually do with the audio at that resolution without audible artefacts, for above mentioned reasons.

Computers use highly optimized circuits to preform calculations. Using lower data format (as long as its supported by your machine) has relatively small effect on performance (for example 64bit floats take only 1cycle more per operation than 32bit floats). However, bigger number means bigger circuit = more expensive and bigger power consumption. I saw this video, where they stack million ARM processors in a very small space. Though ARM processor is considerably slower than say a Intel Haswell, if you'd stack haswells that way you'd basically had an oven instead of supercomputer.
KG_is_back
 
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: IIR EQ Design - Lowering CPU

Postby Rocko » Wed Sep 02, 2015 8:23 am

KG hi,

Thanks for the explanation.
Untill now I had gained some experience with IIR filters (direct form II) MS matrix stuff and compressors.

I tend to play atound with the mentioned feedback delay as you mention in future, to learn about the instability issue as an experiment.

Is there a way to recreate the mention stability issue with an IIR direct form 2?
Like insert low frequency and limit the word length, or something of that sort?
Rocko
 
Posts: 186
Joined: Tue May 15, 2012 12:42 pm

Re: IIR EQ Design - Lowering CPU

Postby KG_is_back » Wed Sep 02, 2015 6:16 pm

This little module allows you to reduce the bitdepth of both mantissa and exponent of a float number. The exponent is limited only downwards. You can insert it in key places of your schematic to reduce bitdepth there.
Attachments
bitreducer.fsm
(857 Bytes) Downloaded 1340 times
KG_is_back
 
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Previous

Return to DSP

Who is online

Users browsing this forum: No registered users and 31 guests