[PD] help with rfft~

thewade pdman at aproximation.org
Tue Nov 29 20:31:57 CET 2005


Stefan Turner wrote:

>Or rather convolution was multiplying the
>  
>
>>frequancy magnitudes but 
>>also multiplying the two frequency values as well.
>>    
>>
>
>Convolution is multiplication in the frequency domain.
>This free guide is quite good for explaining this and
>more: http://www.dspguide.com/
>
>  
>
I have the Roads Computer Music Tutorial ( 
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=8218 ). It 
is pritty good about a lot of topics, and it does describe convolution 
as multiplication in the frequency domain, but I guess I intrepreted 
that to mean more then just frequency. For example in the xy plane if 
you add two vectors you don't neccessarily just get a y value back. 
Multiplication in the frequency domain involves frequency magnitude, but 
also frequency phase and frequency value. It seems to me that frequency 
space is 3D where as time space is 2D also.
I guess what you are saying is that convolution is just amplitude 
modulation of two signals frequency values, right? 
Mag1(freq)=Mag1(freq)*Mag2(freq) - Phi1(freq)=Phi1(freq)
I thought it was more (F1,M1,P1)*(F2,M2,P2) like vectors.

(Georg, I would still like to figure out frequency - perhaps I could 
just use the bin number / block size * sampleing rate, or would this 
loose resolution?)

>>I know you can use block~ to change sample block
>>size, but I have never 
>>seen the second argument. What does this second
>>argument do (its not in 
>>the pd help)?
>>    
>>
>
>"The block~ and switch~ objects set the block size,
>overlap, and up/down-sampling ratio for the window.
>(The overlap and resampling ratio are relative to the
>super-patch.)" From the, er, help :)
>
The help just describes the second parameter as overlap, which I might 
misunderstand to mean calculating one sample block in half the time for 
a value of two, and then adding them back togeather with that offset. 
e.g. (blocksize of 4)
0125
--2452
current block: = 0149
Which doesnt make much sense to me. What I understand you to be saying 
is that a value of two is:
0125
----2452
current block: 2577

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?

Thank you for being patient with this newbie,
-thewade




More information about the Pd-list mailing list