Zero Padding Problem with FFT Square Wave Pulse

7 vues (au cours des 30 derniers jours)
Matt
Matt le 28 Juin 2012
Hi,
I'm trying to smoothen out the sinc pulse response that I get from the fft of a rectangular pulse. I thought that zero padding should help me to do this but I still end up with a sharp/pointy pulse after everything. Any help would be greatly appreciated.
Lamda1 = .003;
N = 8*pi./Lamda1;
Step1 = .05;
A1 = [-N/2:Step1:(N/2)-Step1];
R1 = zeros(size(A1));
R1(A1>(-N/4)& A1<(N/4)-Step1) = 1;
figure (1); plot(A1,R1)
FD1 =fft(R1)/N;
figure (2); plot(abs(FD1))
figure (3); plot(abs(fftshift(FD1)))
  2 commentaires
Honglei Chen
Honglei Chen le 28 Juin 2012
Could you clarify a little more? I don't know what you mean by smoothen out the sinc pulse response. The reason you see a pulse is because your sample rate is very high. You can try to increase Step1 and decrease Lamda1 and see if that's what you want.
Matt
Matt le 29 Juin 2012
I create the square pulse. No problems there.
The problem occurs when I look at the fft outputs. When I zoom in on Figure (3), the sinc pulse doesn't have the typical sinusoidal curvature. It is pointy, slightly triangular...
I think I need to pad the R1 with more zeros, I just don't know how to do that... I can't really change the limits of A1.
Do you know if the R1 = zeros ((size (A1)); function is correct?
Thanks.

Connectez-vous pour commenter.

Réponses (1)

Honglei Chen
Honglei Chen le 29 Juin 2012
R1 is correct. If all you want is to do zero padding and then FFT, you can do it by specifying the number of FFT points in fft() function. For example
FD1 = fft(R1,nextpow2(numel(R1)))

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by