[PD] derivative function

Piotr Majdak piotr at majdak.com
Tue Jun 27 09:51:01 CEST 2006


I forgot to send this here to the list _and_ frederico (again, damn)!

Federico wrote:

 > -----BEGIN PGP SIGNED MESSAGE-----
 > is there an object to compute the derivative function of a signal?
 >
 > don't know if derivative is the right term..
 > i mean:
 > f(x)=x      => f'(x)=1
 > f(x)=ln(x)  => f'(x)=1/x
 > f(x)=sin(x) => f'(x)=cos(x)


I don't know such as object, but maybe this will help you a little bit: Because 
you're dealing with finite discrete signals, the derivative of a signal becomes 
a difference between two consecutive samples. You can easily implement it using 
[z~] (from zexy, I think) and then subtract the delayed and original sequence:

y[n]= x[n]-x[n-1]

 > and a more question: has this anything to do with complex signals


I don't think so.

 > or fourier?


It can, if you wish: derivative corresponds to a multiplication with a ramp in 
the frequency domain. So, theoretically, you can transform your signal to the 
frequency domain, multiple with a ramp
(watch for 2-sided spectrum), and then, back to time domain, you should have 
something like "derivative". I have no idea if this works in practice :-) 
Computation the group delay (=negative derivative of the phase) works using this 
algorithm, compare 
http://ccrma.stanford.edu/~jos/filters/Numerical_Computation_Group_Delay.html

br, Piotr





More information about the Pd-list mailing list