Problem with Inverse Fourier Transform
조회 수: 3 (최근 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에서 Spectral Measurements에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!