Excel中的FFT——如何获得最真实的频谱

Excel中的FFT——如何获得最真实的频谱,excel,signal-processing,fft,Excel,Signal Processing,Fft,我试图用Excel获得这些数据的FFT谱:gggttt.host.sk/sample.xls@Paul R在另一个问题上帮了我很大的忙,让我明白了垃圾箱的含义,但还有一些问题我想理解 首先,Excel,即使模数以对数比例表示,也不会以dB显示。如何将这些量级转换为dB 此外,还有一个关于窗口函数、别名等的问题。因为我只处理一个时段的数据,所以似乎没有必要应用窗口函数。此外,因为我只需要基波、二次谐波和三次谐波,在较高的存储单元中不需要其他峰值,所以处理混叠似乎也没有必要。然而,最令人担忧的是非n

我试图用Excel获得这些数据的FFT谱:
gggttt.host.sk/sample.xls
@Paul R在另一个问题上帮了我很大的忙,让我明白了垃圾箱的含义,但还有一些问题我想理解

首先,Excel,即使模数以对数比例表示,也不会以dB显示。如何将这些量级转换为dB

此外,还有一个关于窗口函数、别名等的问题。因为我只处理一个时段的数据,所以似乎没有必要应用窗口函数。此外,因为我只需要基波、二次谐波和三次谐波,在较高的存储单元中不需要其他峰值,所以处理混叠似乎也没有必要。然而,最令人担忧的是非n^2点数–1253。我尝试在2048年之前用零填充它们,或者只在前1024个点上进行FFT,忽略剩余的229个点,最后,删除每6个点,然后删除每52个点,并将最后一个点加倍以获得所需的1024个点。最终,用零填充被证明是最糟糕的方法——一对高、低条在整个频谱中重复。截断数据(仅处理前1024个点)似乎效果最好。我真的很想知道有信号处理经验的人会推荐什么作为产生最真实频谱的最佳方法

以下是我对这些数据应用FFT的两种不同方法的示例:

gggttt.host.sk/fig_.jpg

gggttt.host.sk/fig_padded.jpg


gggttt.host.sk/fig_每删除一个第6点和第52点。jpg

如果只有一个数据周期,则应使用正好该长度的FFT(或DFT,如果没有FFT可用)。理论上,FFT的长度不限于2次方。

以下是Octave(MATLAB clone)使用所有1253个数据点生成的PSD图:

> t = load('sample.txt');
> m = mean(t)
m = -13.679
> periodogram(t,[],'onesided',1253,1e9)

正如你所看到的,有一个很大的直流分量,而非直流分量看起来就像一个典型的噪声地板,没有明显的峰值。我的猜测是,如果您怀疑噪声中确实存在峰值,那么您需要收集更多的数据-然后您可以使用时间平均或集合平均来提取这些峰值


以下是PSD的前十点:

> Pxx = periodogram(t,[],'onesided',1253,1e9);
> plot(10*log10(Pxx(1:10)))

抱歉-我没有从您之前的问题中了解到您只有一段数据,因此我之前的建议是重新设置窗口等,这是不正确的。从数据中我注意到的一件事是,你有一个非常大的(负)直流分量,非直流峰值与噪声地板相比相对较小-这就是你所期望的吗?这是我得到的-这张图显示了当数据以0填充到2048时FFT的结果:。以下是FFT下1024个数据点的图(其余229个点被忽略):。此链接显示每删除第6个点和第52个点,最后一个数据点加倍时的结果:。抱歉-我得到
禁止。您没有访问此服务器上的/fig_truncated.jpg的权限。
我有时会收到相同的消息。请尝试不带http://的地址,看看是否可以打开图片。@Paul R,我需要DC组件和非DC组件的组合。非直流分量是有用信号的一部分,应明显高于噪声。Excel不接受长度为2次幂以外的数据。如果我可以使用其他方式进行FFT(使用Excel中的某种宏),那么所有1253个点都可以处理,这比使用FFT Excel插件要好得多。你能只绘制前十个箱子吗?没问题-添加到上面的答案中(注意,对于第二个绘图,X轴是箱子编号(基于1)而不是频率)似乎至少可以清楚地看到偏移峰值(0Hz)和基波(~800kHz)。人们甚至可以考虑二次谐波(第三bin)高于噪声地板。这就是一切。如果我正确理解图表的话,在更高的频率下不会看到其他峰值。看起来像这样:gggttt.host.sk/fig_every_6th_和_52nd_point_deleted.jpg最接近您所展示的。如何从模计算dB值?dB值只是通常的
10*log10
(参见上面的倍频程代码)。如果你希望你的峰值位于前几个箱子内,那么你可能需要收集更多的数据(至少10倍多的点)或低通滤波器和下采样(抽取),并以这种方式获得更高的分辨率。