[sdiy] Vocoder dabblings

Eric Brombaugh ebrombaugh1 at cox.net
Thu Nov 29 22:17:39 CET 2012


On 11/29/2012 01:45 PM, Richie Burnett wrote:
> The biggest hit in CPU cycles is the final square-root operation!

Nice writeup on the hilbert envelope. I use similar techniques in RF DSP 
on the day job.

If the sqrt() operation is eating your cycles you might consider one of 
the simple magnitude approximations. All are based on the following 
relation:

abs(I+Qi) ~= a * max(abs(I),abs(Q)) + b * min(abs(I),abs(Q))

where a and b are chosen for the least error with a given type of 
signal. Good starting values are

a = 1.0
b = 0.5

but you can optimize them for best fit with different statistics.

More can be found here:

http://www.dspguru.com/dsp/tricks/magnitude-estimator

Eric





More information about the Synth-diy mailing list