# [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>
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

```