Nonstandard 1-D fast Fourier transform.
Syntax
[XHAT,OMEGA] = nstdfft(X,LOWB,UPPB)
Description
nstdfft is a general mathematical utility.
[XHAT,OMEGA] = nstdfft(X,LOWB,UPPB) returns a non-standard FFT of signal X sampled on a power of 2 regular grid (not necessarily integers) on the interval [LOWB,UPPB].
Output arguments are XHAT, the shifted FFT of X computed on the interval OMEGA given by OMEGA = [-n:2:n-2] / (2*(UPPB - LOWB)), where n is the length of X. Outputs are vectors of length n.
Length of X must be a power of two.
Algorithm
Given
observations between two bounds l and u: x1, x2, . . . , xN, which are regularly sampled from a continuous signal f:
xk = f(l + (k - 1)
) for k = 1 to N where
= (u - 1)/N
nstdfft computes approximations of the continuous Fourier transform
coefficients:

for
:
:
using the
standard discrete fast fourier transform fft.
For a given frequency
:

can be rewritten
as

using t = sN
+ l .
The integral term can be approximated by the finite sum:
.
Since
:
:
then
: 1 :
, which are the usual frequencies of the discrete
Fourier transform.
It turns out that
can be approximated by:
where
which can be computed using standard fft and a normalization. The function instdfft inverts this transform in three steps: normalization, use of ifft, and translation in time.
The length of X must be a power of two.
See Also
fft, fftshift, instdfft
[ Previous | Help Desk | Next ]