I have a question.

Suppose we have a signal $x(n)$, length (samples) $N=400$ which have been sampled with $f_s=8000 \mathtt{Hz}$. Also suppose $X(k)$ - the DFT transform of this signal.

How many zeros we must add at the end of $x(n)$ in order to change the frequency resolution of the DFT to $1 \mathtt{Hz}$?

My question: Is $7600$ zeros the right answer? Because $\Delta f = \frac{f_s}{N}$, so: $$1\mathtt{Hz} = \frac{8000}{x+400} \Rightarrow x=7600$$

Thanks, I appreciate.


2 Answers 2


One very important thing - zero padding does not increase your spectral resolution. What does matter is how many meaningful samples is in your signal ($N=400$). This is defining your frequency resolution, which is in fact 20Hz. Adding extra zeros to your signal is only interpolating values between your frequency bins - what you will observe is the side-lobes of your window.

To wrap up - if you want to increase the spectral resolution then you must take a longer analysis window. Below you have example of spectrum for simple rectangular signal (blue) and zero padded version with factor of 10 (red). Sampling frequency is 10 Hz. You can see that you are interpolating samples of Sinc function.

enter image description here

  • $\begingroup$ so 7600 is wrong ? $\endgroup$ Jun 27, 2014 at 13:30
  • $\begingroup$ 7600 is OK if you want to have frequency vector with resolution of 1Hz. Although values of amplitude for most of the frequencies are interpolated and do not contain any extra information. spectral resolution $\ne$ resolution of frequency vector. $\endgroup$
    – jojeck
    Jun 27, 2014 at 13:33

Adding 7600 in zero-padding will increase the number of sample points in your FFT result plot. But it won't increase the the resolution in terms of being able to separate 2 or more signals with nearby frequencies. It might help interpolate some spectral peaks that are "between bins" given a shorter FFT size, but that is no more an increase in informational resolution than any other high-quality interpolation.


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.