Rusty
Posts:
108
Registered:
6/16/05


Re: derivative of discrete fourier transform interpolation
Posted:
Sep 30, 2005 4:19 AM


"Gareth Davies" <gd340@uow.edu.au> wrote in message > > My problem arises when trying to calculate dx/ds using this interpolation. > Differentiating term by term, we find > > dx/ds(s)= (1/N^2)*2i*pi*sum {n=0...(N1)} n*Xn*exp(2i*pi*n*s/N) > > Now, it seems to me that dx/ds is typically not real valued, even though > x(s) is real valued. > > From this I have 2 questions > > 1. Is what I've said above correct?? > 2. What is a better approach to calculating the derivatives. > > Thanks, > Gareth Davies
I think there is an aliasing problem here. Interpolation is well defined for bandlimited data and your formula can be used in the Fourier domain to do it and get realvalued interpolates. However, if the time data is not BL, the interpolate is complex valued and so is the derivative.
One solution is to split the spectrum half way and use the formula
x(s)= (1/N)*sum {n=0...(N/2)} Xn*exp(2i*pi*n*s/N) + (1/N)*sum {n=1...(N/2)1} Xn*exp(2i*pi*n*s/N)
noting changes in limits, which is symmetric about the origin. The imaginary part is very small when I test it. Not sure why it isn't exactly zero.
rusty.

