1

Suppose I have a set of $n$ points $\underline{x}\in\mathbb{C}^n$ with $n \in \mathbb{P}$ ($n$ is prime), and I want to find the Fourier transform of $\underline{x}$.

There are some prime-length Fourier algorithms out there, but what about this... What if I add a single constant, say zero, to the end of $\underline{x}$ to give $\underline{\hat{x}}$. If I compute the Fourier transform of $\underline{\hat{x}}$, I can use various faster, simpler algorithms. (For argument's sake, suppose the length of $\underline{\hat{x}}$ is highly composite, although this isn't strictly necessary, in which case I could use the Cooley-Tukey FFT).

The data I get from Fourier transforming $\underline{\hat{x}}$ is not the same as the data I would have gotten had I applied the same transform to $\underline{x}$; not least because the former is longer than the latter.

Is there some simple tweak I can make to the result of Fourier transforming $\underline{\hat{x}}$ to make it like the Fourier transform of $\underline{x}$? Surely there is a trivial relationship between the two results.

(I understand there may be a slight numerical inaccuracy)

Ozzah
  • 252

1 Answers1

1

They are the same Fourier transform but just sampled at different locations. If your signal vector is of length $N$ and sampled at $f_s$ Hertz, then an $N$-point DFT will have a sample spacing of $f_s / N$ Hertz/sample with the samples ranging from $-f_s/2$ to $+f_s/2 - f_s/N$. If you zeropad your data out to $M>N$ samples by appending zeros to the end of it and then take the DFT, you'll get the same spectrum but with a sample spacing of $f_s/M$ Hertz/sample with the samples ranging from $-f_s/2$ to $+f_s/2 - f_s/M$. This technique is commonly used to manipulate the sample spacing.

Note, that this works in the other direction, too. A quick and easy way to upsample your data is to zeropad its DFT coefficients with zeros and then inverse transform it back to the time domain.