Problem with Inverse Fourier Transform

1 view (last 30 days)
Arijit De
Arijit De on 20 Feb 2014
I was trying to generate a time domain pulse from its frequency domain spectrum; I am unable to produce it correctly: the time domain oscillations are not "smooth" and it is much narrower than expected from the Gaussian time-bandwidth product. Here it is:
%---------------------
w = 2*pi*(0.3300 : 3e-05 : 0.4200); %frequency range
w0 = 2*pi*0.375; %central frequency
dw = 2*pi*0.009./(2*sqrt(2*log(2))); %frequency width (standard deviation)
%---------------------
Nw = 1./(dw*sqrt(2*pi));
zw = (w-w0)/dw;
Sw = Nw.*exp(-(1/2)*(zw.^2)); %intensity in frequency domain (spectrum)
%---------------------
Ew0 = sqrt(Sw); %spectral amplitude
phiw = 0; %spectral phase
Ew = Ew0.*exp(i*phiw); %pulse in frequency domain
%---------------------
t = (-1500:1:1500)./(3001*2*pi*3e-05); %time range
Et = ifftshift(ifft(Ew)); %pulse in time domain
St = (abs(Et)).^2; %intensity in time domain
%---------------------
subplot (2,2,1)
plot (w,real(Ew))
subplot (2,2,2)
plot (w,Sw)
subplot (2,2,3)
plot (t, real(Et))
xlim ([-100 100])
subplot (2,2,4)
plot (t, St)
xlim ([-100 100])
%---------------------

Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!