Problem with Inverse Fourier Transform
1 view (last 30 days)
Show older comments
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])
%---------------------
0 Comments
Answers (0)
See Also
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!