Date: Sep 30, 2005 12:53 AM
Author: Gareth Davies
Subject: derivative of discrete fourier transform interpolation

Hi everyone
I'm trying to understand this problem which arises in a paper I've been reading. I'm quite new to fourier analyses, and I haven't been able to find anything in books/web which answers it.


If x(s) is an (unknown) real function which is sampled at evenly spaced intervals denoted s0,s1,s2,s3...s(N-1), we get a known real sequence x0,x1,x2,...x(N-1).

Now we make an interpolation of the original function. Define X0,X1,X2....X(N-1) as the discrete fourier transform of x0,x1...x(N-1). The Xj's are typically complex numbers. Now, I believe we can interpolate x(s) as

x(s)= (1/N)*sum {n=0...(N-1)} Xn*exp(2i*pi*n*s/N)

This is a real valued function thanks to the Xn's occurring in suitable conjugate pairs.

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...(N-1)} 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