### FFT of a Zero-Padded Sinusoid

Looking back at Fig.8.2c, we see there are no negative dB values. Could this be right? Could the spectral magnitude at all frequencies be 1 or greater? The answer is no. To better see the true spectrum, let's use*zero padding*in the time domain (§7.2.7) to give

*ideal interpolation*(§7.4.12) in the frequency domain:

zpf = 8; % zero-padding factor x = [cos(2*pi*n*f*T),zeros(1,(zpf-1)*N)]; % zero-padded X = fft(x); % interpolated spectrum magX = abs(X); % magnitude spectrum ... % waveform plot as before nfft = zpf*N; % FFT size = new frequency grid size fni = [0:1.0/nfft:1-1.0/nfft]; % normalized freq axis subplot(3,1,2); % with interpolation, we can use solid lines '-': plot(fni,magX,'-k'); grid on; ... spec = 20*log10(magX); % spectral magnitude in dB % clip below at -40 dB: spec = max(spec,-40*ones(1,length(spec))); ... % plot as before

*sidelobe*structure. On the dB scale in Fig.8.4c, negative values are now visible. In fact, it was desirable to

*clip*them at dB to prevent deep nulls from dominating the display by pushing the negative vertical axis limit to dB or more, as in Fig.8.1c (page ). This example shows the importance of using zero padding to interpolate spectral displays so that the untrained eye will ``fill in'' properly between the spectral samples.

**Next Section:**

Use of a Blackman Window

**Previous Section:**

FFT of a Not-So-Simple Sinusoid