# Use Zero Padding to find hidden peaks

I know adding zeros will not increase the frequency resolution. I have couple of waveforms in time domain measured over months. I take the fft of the waveforms to find frequency components. The problem is I get several points around each peak, but only based on visual check i found that the real peak is not the one hit by discrete frequency points.

To shovel this, 1. I can add zeros to get finer structure so that the frequency points are more close to the real peak points.

My question is: I can perform the same procedure for all waveforms. But can I really compare the peaks identified with such zero padding so that I can get the conclusion about whether there is peak shift over time or not in terms of frequency.

Zero-padding can be used to more accurately estimate the frequency of a single sinusoid in zero noise. Since a zero-padded FFT produces a smoother looking plot, and thus shallower peaks, if there are any subtle changes in the inflections and thus peak location caused by noise, those shifts will be magnified by the zero-padded FFT, perhaps from a fraction of a FFT result bin to several bins of random shift.

So, one needs to have a good estimate of the S/N ratio to know whether and how much zero-padded will produce a usefully more accurate frequency peak estimate of a sinusoidal (or narrow band) signal.

Zero-padding can be used to more accurately pinpoint the frequency of a single sinusoid. If that is your case, I think you can safely compare the zero-padded spectrums.

I tried this code in Matlab/Octave:

fs = 1000; % sampling frequency
Ts = 1/fs; % sampling period
t = 0:Ts:0.05;
s = cos(2*pi*200*t);


By calculating the FFT with 2048 points, I get a resolution of 0.488 Hz. Plotting the spectrum, I got a peak at 200.1953 Hz. Then I changed the frequency of the cosine to 201 Hz, and got a peak at 201.1719 Hz.

So, just make sure that:

• Your resolution is higher than the frequency shifts you're expecting.

• You're actually looking at a single sinusoid; zero-padding will not help you resolve between closely spaced signals.

• Thanks. it is a good point: zero padding will give finer structure for the single frequency component but will not resolve the two frequency component separated less than the resolution given by time domain signal. – PhySics Mar 11 '15 at 7:53