Zero Padding Problem with FFT Square Wave Pulse

2 views (last 30 days)
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 Comments
Honglei Chen
Honglei Chen on 28 Jun 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 on 29 Jun 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.

Sign in to comment.

Answers (1)

Honglei Chen
Honglei Chen on 29 Jun 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)))

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!