Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
高斯函数的Matlab快速傅里叶变换_Matlab_Fft - Fatal编程技术网

高斯函数的Matlab快速傅里叶变换

高斯函数的Matlab快速傅里叶变换,matlab,fft,Matlab,Fft,我试图通过使用matlab的fft获得高斯曲线。问题是,在一种情况下,我试图通过除以F=dt.*F./exp(-1i.*nu.*T/2)来降低噪声的方法不起作用(img1),而在第二种情况下,如果我试图获取fft结果的绝对值,我在图中没有合适的比例(img2) img 1 img2 您的解析傅里叶变换公式中的比例似乎不太正确。根据该方法,对连续时域信号进行变换 t=linspace(-5,5,N); f=exp(-t.^2); 是 在您的情况下,a=1。相应地,您应该比较时域信号的FFT

我试图通过使用matlab的fft获得高斯曲线。问题是,在一种情况下,我试图通过除以
F=dt.*F./exp(-1i.*nu.*T/2)
来降低噪声的方法不起作用(img1),而在第二种情况下,如果我试图获取fft结果的绝对值,我在图中没有合适的比例(img2)

img 1

img2

您的解析傅里叶变换公式中的比例似乎不太正确。根据该方法,对连续时域信号进行变换

t=linspace(-5,5,N);
f=exp(-t.^2);

在您的情况下,
a=1
。相应地,您应该比较时域信号的FFT

t=linspace(-5,5,N);
f=exp(-t.^2);
用解析傅里叶变换

F2 = sqrt(pi)*exp(-(pi*y).^2);
因此,用以下公式绘制比较:

hold off;
plot(y,F2); 
hold on;
plot(nu,abs(F),'r');
legend('analiticFT','FFT')
xlim([-5 5])
收益率:

现在我们已经建立了一个适当的比较基础,我们可以看看为什么在
img1
中会出现振荡。简单地说,参考高斯脉冲
f=exp(-t.^2)
t=0处有一个峰值。相应的“零”离散时间瞬间自然是数组中的第一个索引(索引1)。但是,在数组中,此峰值出现在索引
N/2
处。在下,这会在频域中产生一个额外的
exp(-pi*j*k)
项,负责您看到的振荡。要解决此问题,您应该使用
ifftshift

F=fftshift(fft(ifftshift(f)));

请注意,当您为变量指定有意义的名称时,帮助您会容易得多。(注2:为了实现F1和F2的功能,您可以调用
fftshift(F)
)您的意思是什么?