[PD] help with rfft~ (fwd)
Mathieu Bouchard
matju at artengine.ca
Wed Nov 30 07:48:18 CET 2005
What's this with not receiving a copy of the mails I send to pd-list ? But
only *sometimes* ? Does anyone get this mail?
---------- Forwarded message ----------
Date: Tue, 29 Nov 2005 18:44:52 -0500 (EST)
From: Mathieu Bouchard <matju at artengine.ca>
To: thewade <pdman at aproximation.org>
Cc: Georg Holzmann <grhPD at gmx.at>, pd-list <pd-list at iem.kug.ac.at>
Subject: Re: [PD] help with rfft~
On Tue, 29 Nov 2005, thewade wrote:
> So which is better for convolution: polar or rectangular? Some processing must
> happen for convolution, because just multiplying the real outputs of two rfft~
> objects and the two complex outputs makes for very poor convolution. Do most
> convolution tools (PD or otherwise) convert to polar, multiply the
> frequencies, divide by niquist (I have no idea here), then use one of the the
> signal phases and convert back to rectangular for rifft~, or is there some
> oter way?
excuse me? multiplying the frequencies? i think you mean, for each
frequency, multiply the amplitudes together.
multiplication of two complexes x+y*i and x'+y'*i in cartesian
representation is:
x'' = x*x' - y*y'
y'' = x*y' + y*x'
Then with a polar representation:
x = r*cos(a)
y = r*sin(a)
It becomes as easy as:
a'' = a+a'
r'' = r*r'
Or even easier in complex log representation:
s+a*i = log(x+y*i)
s = log r
a'' = a+a'
s'' = s+s'
However, it only makes sense if you are going to make many multiplications
between polar forms. If not, then the sin,cos conversions and their
inverses r=sqrt(x*x+y*y),a=atan2(y,x) become more of a burden than a
shortcut.
____________________________________________________________________
Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
Freelance Digital Arts Engineer, Montréal QC Canada
More information about the Pd-list
mailing list