逆傅立叶变换matlab高斯

时间:2017-06-06 21:53:06

标签: matlab fft gaussian ifft

我想对普通高斯进行离散横向傅里叶变换,但得到某种delta函数,无法理解为什么。

我也应该在时域中获得高斯。

这是功能:

close
clear
clc
lamda=1000:1e-2:6000; %nm
c=3e17; %nm/sec
L_Zblan=5e9; %nm
lamda0=(2800+2200)/2;
w0=2*pi*c/lamda0;
W=((2800-2200)/2)*2*pi*c/(lamda0)^2;
gauss=@(x,w0,W) (1/(W*sqrt(2*pi)))*exp(-((x-w0).^2)/(2*(W^2)));
w_plus=2.*pi.*c./lamda; 
n_zblan=n_Zblan(lamda);
k_Zblan_w=n_zblan.*w_plus./c;
F1=gauss(w_plus,w0,W);

F=F1.*exp(-i.*k_Zblan_w.*L_Zblan);
t=lamda./c;
plot(t,abs(ifft(F1)))

有人能发现这有什么问题吗? 我用Google搜索并发现了fftshift,但仍然无法使用它。 我做错了。

这是我在这里使用的n_Zblan函数:

function [n]=n_Zblan(lamda)
a=0.3418;b=70.2017;c=0.9206;d=100.8285;e=0.3055;f=9951.44;

n2=1+a.*lamda.^2./(lamda.^2-b^2)+c.*lamda.^2./(lamda.^2-d^2)+e.*lamda.^2./(lamda.^2-f^2);

 n=sqrt(n2);

 end

0 个答案:

没有答案