Problem with Inverse Fourier Transform
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!