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?


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 '13 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 '13 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 '13 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 '13 at 16:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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