SIP Toolbox

fftderiv - Derivative of a vector using FFT

Calling Sequence

[Dy, DY] = fftderiv(y, [n , sigma, delta, in, out])
[Dy, DY] = fftderiv(y, <named_args>)

Input Parameters

Output Parameters

Description

Function fftderiv performs the n-th derivative of a periodic function, stored in a vector, using FFT. The optional arguments in and out enables the user to reuse previously done FFTs. Here are some possible uses:

Dy = fftderiv(y)
n defaults to 1, sigma defaults to 5, in and out both defaults to 'time'.
Dy = fftderiv(y,2,3)
n equals 2, sigma equals 3, in and out both defaults to 'time'.
Dy = fftderiv(y,sigma=3, in='frequency',out='frequency')
n dafaults to 1, y in frequency domain (fft has already been done). Dy in frequency domain (inverse fft is NOT done by gsm)

In all above examples, FDy is in the frequency domain. It is the second output parameter, and thus it was discarded in the above examples.

Examples

       step = 2*%pi/100;
       y = sin(step:step:2*%pi);  // from 2pi/100 to 2pi
       xbasc()
       plot(y);
       // 1st derivative, a sigma of 3 steps to the left and to the right
       d = fftderiv(y,1,3*step,step);
       xbasc()
       plot(d)   // a cosine period
   

Authors

Ricardo Fabbri <ricardofabbri (AT) users DOT sf DOT net>

Remarks

For a derivative without noises, the vector y must be an exact period of a continuous periodic function, i.e., its repetition has to be continuous. A direct way for checking this is to plot z = [y y] and look close in the middle. If there is not a minimal discontinuity, then fftderiv will certainly work without need for smoothing.

y should be smoothed before using fftderiv so the derivative is less sensitive to discontinuities and aliasing. For an estimation of the sigma parameter, please refer to the references below.

Bibliography

"Shape Analysis and Classification", L. da F. Costa and R. M Cesar Jr., CRC Press, pp. 335-347.

"1D and 2D Fourier-based approaches to numeric curvature estimation and their comparative performance assessment", L. F. Estrozi, L. G. R. Filho, A. G. Campos and L. da F. Costa, Digital Signal Processing, 2002.

Availability

The latest version of the Scilab Image Processing toolbox can be found at

http://siptoolbox.sourceforge.net

See Also

follow,  gsm,  fftshift,  curvature,