[sdiy] Vocoder dabblings
Richie Burnett
rburnett at richieburnett.co.uk
Thu Nov 29 23:57:53 CET 2012
The short answer is that an envelope value calculated from
abs[sin(w)]+abs[cos(w)]
produces a result which still contains a lot of ripple. Particularly at 4 times the signal frequency. You can try this for yourself easily in Excel.
The neat thing about calculating the envelope from
sqrt{ [sin(w)]^2 + [cos(w)]^2 }
is that the result theoretically contains no ripple. It perfectly follows the amplitude envelope of the signal, provided the sin and cos versions are exactly 90 degrees apart. So requires little or no filtering afterwards to remove ripple.
Eric, it's interesting to hear that you already use this technique for RF stuff. Thanks for the magnitude estimation formula. I hadn't seen this trick before!
Im currently using a MAC instruction to square a number inside a successive-approximation loop in order to calculate the square-root to 16-bits after 16 guesses. The sample rate is heavily decimated for the bottom few vocoder bands so can do a bit more number crunching here than I could afford in the top bands!
-Richie,
Tom Wiltshire <tom at electricdruid.net> wrote:
>
>On 29 Nov 2012, at 21:28, ASSI wrote:
>
>> On Thursday 29 November 2012, 21:10:20, Tom Wiltshire wrote:
>>> Is there some particular reason to use "sum of squares, then square root"
>>> over "sum of absolute values"?
>>
>> Because it is simply not the same thing?
>
>Thanks, I was aware of that. What I meant was "why use that in particular rather than something else?" but I obviously didn't express it very clearly. As Richie said, the square root operation is expensive, so there needs to be some decent reason to include it - I was wondering what that reason was, since it isn't immediately apparent to me.
>
>Cheers,
>Tom
>
>_______________________________________________
>Synth-diy mailing list
>Synth-diy at dropmix.xs4all.nl
>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list