FFT in MATLAB help

  • Thread starter Fronzbot
  • Start date
  • #1
62
0

Homework Statement


Find the Fourier Transform of a unity amplitude rectangular pulse of width 2T, where T=[ims]. Use MATLAB to plot the magnitude response of this signal's FT.


Homework Equations





The Attempt at a Solution


I got something that LOOKS right, but the first zero-crossing SHOULD be +-pi/T which equals 3.14e3, in this case (since I'm taking the Fourier Transform of an aperiodic rectangular pulse). However, when plotted, MATLAB is telling me it's about 2000. On top of that, the amplitude should be 2*T which, in this case, is 0.002 but MATLAB says it's 3.... I have no clue what is going wrong with the code. Any help would be GREATLY appreciated.

Code:
clear all
close all

% Part 1

%Following generates pulse of width T
T = 1e-3; %half-width of rectangular pulse
dt = 1e-3;
ts = [-T:dt:T];
pulse = rectpuls(ts);


%Generate fft of pulse
N = 1024; %Number of samples
y=fftshift(fft(pulse,N)); 
ws = 2*pi/T;
waxis = [-ws/2:ws/N:ws/2-(ws/N)];
plot(waxis,abs(y))
title(['FT of Rectangular Pulse of width ',num2str(2.*T./1e-3),'ms']);
xlabel('w [rad/s]');
ylabel('Amplitude');
axis auto
 

Answers and Replies

  • #2
62
0
anyone?
 

Related Threads on FFT in MATLAB help

  • Last Post
Replies
6
Views
11K
  • Last Post
Replies
6
Views
4K
  • Last Post
Replies
9
Views
2K
  • Last Post
Replies
0
Views
3K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
1
Views
1K
Replies
3
Views
794
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
2
Views
1K
  • Last Post
Replies
1
Views
3K
Top