# [PD] help with rfft~

Stefan Turner stefanlturner at yahoo.co.uk
Tue Nov 29 22:39:54 CET 2005

```> <snip>I guess what you are saying is that
convolution is just amplitude
> modulation of two signals frequency values, right?

I think AM is only time domain...Having looked at
www.dspguide.com the correct equations are, unlike the
last thing I posted (sorry!):

ReY[f] = ReX[f]ReH[f] - ImX[f]ImH[f]
ImY[f] = ImX[f]ReH[f] + ReX[f]ImH[f]

Re = real (cos), Im = imaginary (sin) for two inputs X
and H.

Haven't tried this yet but I think it should sound
better than the other way I suggested, which I think
is more how non-FFT vocoders work.

> <snip>Is this some way of getting better frequency
resolution - more samples
> in the same ammount of time?
> If you just had an [inlet~] connected to an
[outlet~] with a [block~ 64
> 4] how would you signal be changed (in the time
domain)? Would it have
> a
> gain of 4x?

With block size of 4:

Sample index:    0  1  2  3  4  5  6  7  8  9 10 11 12
13 14 15..........

Normal case:   | 0  1  2  3| 0  1  2  3| 0  1  2  3| 0
1  2  3|.........

Overlap x4:    | 0  1  2  3| 0  1  2  3| 0  1  2  3| 0
1  2  3|.........
...| 0  1  2  3| 0  1  2  3| 0  1  2
3| 0  1  2  3|......
......| 0  1  2  3| 0  1  2  3| 0  1  2
3| 0  1  2  3|...
.........| 0  1  2  3| 0  1  2  3| 0  1
2  3| 0  1  2  3|

Each block is one of these: |0  1  2  3|

In the normal case there is no overlap, they just
follow each other directly. With overlap of 4, there
are 4 being calculated at once, shifted equally in
time. So with block size of 64, each new block will be
64 samples long, and a new one will start every 16
samples. These 4 blocks are then added at the
outlet~s. The point is that each block will see a
different portion of the input from each inlet~, which
is essential for doing the overlap-and-add.

___________________________________________________________
How much free photo storage do you get? Store your holiday