dfft#
Purpose#
Computes a discrete Fourier transform.
Format#
- y = dfft(x)#
- Parameters:
x (Nx1 vector) – Values used to compute the discrete Fourier transform.
- Returns:
y (Nx1 vector) – The discrete Fourier transform.
Examples#
In this example we will a use a discrete sample of frequencies given by
\[f[k] = 5 + 2 * cos(\frac{\pi}{2}k - \frac{\pi}{2}) + 3cos(\pi k)\]
// Set k
k = seqa(0, 1, 4);
// Compute discrete frequencies
f_k = 5 + 2 * cos(pi/2*k - 90*pi/180) + 3 * cos(pi*k);
After this f_k
is equal to:
8
4
8
0
Now take the discrete Fourier transform of f_k
:
// Discrete Fourier transform
print dfft(f_k);
After the code the discrete Fourier transform is printed:
5
0 - 1i
3 + 0i
0 + 1i
Remarks#
The transform is divided by \(N\).
This uses a second-order Goertzel algorithm. It is considerably slower
than fft()
, but it may have some advantages in some circumstances. For one
thing, \(N\) does not have to be an even power of 2.
Source#
dfft.src