Let us say we have a signal $y(k)$ that is of length $K$. I can compute its PSD, also of length $K$. Let us say that this length was not good for finding peaks, so I computed a PSD that was of length $10 \ K$ instead, by doing a zero-padding in the time-domain. I understand that this is equivalent to interpolating the frequency domain result.

So my question is, at this point, if I resample the actual $10 \ K$ length PSD back to be $K$ samples long, would it give me the same result as if I took a $K$ length PSD to begin with? If not, is there any advantage to doing it this way, or would I just be better off sticking to taking a length $K$ PSD to begin with?


1 Answer 1


Consider these two cases where you operate on a signal $y[k], K = 0, \ldots K-1$:

  1. You take the DFT of the signal $y[k]$ to obtain a length-K frequency-domain signal.

  2. You first zero-pad $y[k]$ to obtain a longer signal $y_p[k], k = 0, \ldots, 10K-1$. You then take its DFT. Finally, you downsample the DFT by discarding all but the first of every 10 samples (i.e. you keep the first, tenth, twentieth, and so on).

The two processes will yield the exact1 same result.

1 In practice, that is, when using finite-precision arithmetic, it's likely that you won't arrive at results that are identical bit for bit. However, in theory, and with the use of infinite arithmetic precision, the two approaches are equivalent.

  • $\begingroup$ Imagine a scenario where you had took the $10 \ K$ length FFT so that you could get better granularity of the PSD result. Now you are then told that we would like to store the PSD result, but we can only store $K/2$ samples. ($K$ is even). Thus, my thought is to low-pass filter and downsample the PSD result, so that I have a $K/2$ length approximation. Do you see any issue with this? $\endgroup$ Dec 6, 2013 at 4:31
  • $\begingroup$ It's certainly possible to do that. The output of a DFT is a discrete-time signal just like any other. Whether the result is useful for you is application-dependent. $\endgroup$
    – Jason R
    Dec 6, 2013 at 12:30
  • $\begingroup$ Ok thank you. I will accept your answer. Last question, do any other methods come to your mind for doing what I mentioned in the comment? $\endgroup$ Dec 6, 2013 at 15:23
  • $\begingroup$ If you want a downsampled-by-2 DFT of a signal (i.e. a length $\frac{K}{2}$ DFT from a length-$K$ signal), then you can time-alias the original signal by a factor of 2, then take a DFT. Specifically, form a new signal $y_a[k] = y[k] + y[k+\frac{K}{2}], k = 0, \ldots, \frac{K}{2}-1$. The DFT of $y_a[k]$ will be equivalent to the DFT of $y[k]$, downsampled by a factor of 2. $\endgroup$
    – Jason R
    Dec 6, 2013 at 16:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.