mail lost? resending...
---------- Forwarded message ---------- Date: Tue, 29 Nov 2005 18:44:52 -0500 (EST) From: Mathieu Bouchard matju@artengine.ca To: thewade pdman@aproximation.org Cc: Georg Holzmann grhPD@gmx.at, pd-list pd-list@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