对于高斯频谱的时域信号,相位不是线性的

问题描述

据我从数学上的理解,高斯的傅里叶逆变换 (IFFT) 是高斯的。如果我有一个均值 (mu) 和方差 (sigma^2) 的高斯,我可以写成,

S(f) = 1/sqrt(2 * pi * sigma^2) .* exp(-(f - mu).^2/(2 * sigma^2))

其中 f 是频率轴。从 Matematica 中,我发现高斯脉冲平方根的 IFFT 解析表达式为,

s(t) = (2 / pi)^(1/4) .* sqrt(sigma) .* exp(-t .* 2 .* pi .* ((sigma)^2 .* 2 .* pi .* t + 1j .* mu)))

我使用 2 * pi * t 而不是 Mathematica 的 t,因为它们使用角度术语。无论如何,我不在 MATLAB 中使用这个表达式。我使用 IFFT 与此表达式进行比较。

如果我们仔细检查这个时域 s(t),我们会注意到相位是线性的。我用以下方式定义频率轴,

f = linspace(-1/(2 * PRT),1/(2 * PRT),N);

因此,在进行 IFFT 后,如果我从信号的相位中除 2 * pi * mu,我应该看到从 0(N - 1)*PRT 的线性变化。

我有 N = 60000PRT = 1e-3 所以,我应该看到从 060 秒的线性图。但是,我看到了一个60 秒之前结束的非线性图。

如果我用 Dirac delta 而不是高斯谱做同样的练习,我会正确地看到线性相位。

高斯图像:

enter image description here

高斯代码

clear; 
% close all;


lambda = 0.03;


mu = 4 * 2 / lambda; % Mean Doppler
sigma = 0.2 * 2 / lambda;


PRT = 1e-3; 
f_amb = 1/(2 * PRT);


N = 60000; % Total number of points in time axis


f = linspace(-f_amb,f_amb,N); % veLocity axis for the entire rotation



S_ = gaussmf(f,[sigma,mu]);


s_num = ifft(ifftshift(sqrt(S_)));


figure; plot(unwrap(angle(s_num))/(2*pi*mu));

狄拉克谱图:

enter image description here

狄拉克谱代码:你可以在上面的高斯代码下面添加这个:

[~,idx1] = (min(abs(f - mu)));
S_Dirac_f = dirac(f - f(idx1)); 
idx = S_Dirac_f == Inf;
S_Dirac_f(idx) = 1;

s_num_dirac = ifft(ifftshift(sqrt(S_Dirac_f)));

figure; plot(unwrap(angle(s_num_dirac))/(2*pi*mu));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)