1
我想重現約30飛秒激光脈衝的變化。我及時創建和顯示這個脈衝就好了。此外,這個脈衝的fft在matlab上表現得很好(中心頻率和寬度都非常好)。但是,當我使用ifft()函數對變換後的那個進行逆變換時,脈衝會及時移動(可能是由於相位變化,我不知道),而且峯值最大值也不同。可能是這種原因?我正在使用ifft錯誤的方式?MATLAB:FFT信號到頻率和IFFT回到時域,不完全是第一個信號
我使用的代碼是這樣的:
atto=1e-18;
c = 299792458;
femto=1e-15;
lamda0=800e-9;
f_0=c/lamda0;
omega0=2*pi*c/lamda0;
T=2*pi/omega0;
a=2*log(2)/((36.32*femto)^2);
Fs=3/atto; %samplying rate
t=-200*femto:1/Fs:200*femto;
Efield=exp(-a.*(t-T).^2).*exp(1j.*omega0.*(t-T));
nfft=2^nextpow2(length(Efield));
Efieldfft=fft(Efield,nfft);
f=(0:nfft-1)*Fs/nfft;
omega=2*pi*f;
figure(1)
plot(t,Efield)
xlabel('s [fs]')
ylabel('Amplitude')
figure(2)
plot(omega,abs(Efieldfft))
xlim([2e15 2.8e15])
xlabel('omega [rad]')
ylabel('Amplitude')
figure(3)
plot(f,abs(Efieldfft))
xlim([3.3e14 4.1e14])
xlabel('frequency [Hz]')
ylabel('Power')
test=ifft(Efieldfft,length(t));
figure(4)
plot(t,test)
xlabel('s[fs]')
ylabel('amplitude')