高斯脉冲的FFT

时间:2015-08-12 10:14:54

标签: matlab gaussian

我试图对高斯脉冲进行傅里叶变换。这是我在互联网上找到的示例代码。

fs=80; %sampling frequency
sigma=180;
t=-0.5:10/fs:0.5; %time base

variance=sigma^2;
x=1/(sqrt(2*pi*variance))*(exp(-t.^2/(2*variance)));
subplot(2,1,1)
plot(t,x,'b');
title(['Gaussian Pulse \sigma=', num2str(sigma),'s']);
xlabel('Time(s)');
ylabel('Amplitude');

L=length(x);
NFFT = 1024;
X = fftshift(fft(x,NFFT));
Pxx=X.*conj(X)/(NFFT*NFFT); %computing power with proper scaling
f = fs*(-NFFT/2:NFFT/2-1)/NFFT; %Frequency Vector

subplot(2,1,2)
plot(f,abs(X)/(L),'r');
title('Magnitude of FFT');
xlabel('Frequency (Hz)')
ylabel('Magnitude |X(f)|');
xlim([-10 10])

我需要一个解释。假设我试图获得100飞秒高斯脉冲的傅里叶变换。如何计算采样频率,sigma和t变量。

1 个答案:

答案 0 :(得分:0)

http://www.gaussianwaves.com/2014/07/generating-basic-signals-gaussian-pulse-and-power-spectral-density-using-fft/

高斯脉冲具有无限的支持,所以没有" 100飞秒高斯脉冲"然而,你可以有一个高斯脉冲,其西格玛为100飞秒,这可能就是你想。对于您的采样频率,您可能希望选择一些实际捕获有关脉冲的有趣信息的内容。因此,您的采样周期小于sigma(原始代码(不是您发布的代码)来自博客使用的sigma / 8)。至于t,如果你想捕获脉冲中的大部分能量,你需要在0的左右两侧去几个sigmas,这是脉冲在时间中心的位置。