我最近遇到了以下问题,在计算我从测量技术获得的数据的光谱时,我们正在我们的小组中使用。
简而言之,我们在这项技术中所做的就是记录一个波动的、近乎圆形的物体的电影,并确定电影每一帧的轮廓。然后我们使用这些波动的光谱来测量物体的物理特性。
我现在已经改进了我们用于跟踪对象的算法,使其更加精确,并且我们能够确定更短波长或相应更多模式的轮廓。
该系统背后的物理理论预测,低模式数的波动幅度将远大于高模式数 - 在现在可观察的模式范围内跨越高达 5 个数量级。
现在有了很大的模式范围和频谱中相应的巨大幅度范围,我似乎遇到了一个由我们用来计算频谱的 FFT 固有的窗口引起的伪影。
上面的频谱显示了静态对象的七个不同的模拟数据集。数据集之间唯一变化的是电影图像的图像 SNR 增加(红色:高 SNR;黄色:低 SNR)。可以看出,不同数据集的光谱似乎由两个贡献组成:1) 具有周期性最大值和最小值的窗口函数/内核 2) 由于 SNR 降低,轮廓跟踪越来越不精确造成的噪声贡献。这种贡献似乎与窗口函数相加,并在窗口函数具有最小值的范围内占主导地位(尤其是对于高 SNR 数据集)。
现在在下图中,您可以看到一个物体的实验光谱,该光谱在测量/电影结束时几乎停止波动(蓝色:电影开始时的光谱,绿色:电影结束时的光谱)。(注意:x 轴现在是波数 - 与反波长成正比)
在蓝色光谱中,我们看到: 1. 我们可以看到光谱主要由对象在前约 50 个模式上的波动(例如,对于波数<=0.1e8)。2. 之后我们看到窗口函数的贡献。3. 之后我们看到在窗函数的第一个最小值(1.1e8<=wavenumber<=1.6e8)的位置,我们又可以看到物体的实际波动了。事实证实了这一点,我们能够在此范围内区分最初强烈波动的物体(蓝色)和后期波动较低的物体(绿色)的两个光谱。如果我们只是在这个范围内看到图像噪声,那么蓝色和绿色光谱应该在这个范围内重叠。
此外,在查看每种模式的自相关函数时,我发现以下内容:在 (wavenumber<=0.1e8) 和 (1.1e8<=wavenumber<=1.6e8) 范围内,自相关函数表现出相关性,而在其他区域,时间与预期的噪声一样,一系列模式完全去相关。
所以在这个冗长的介绍之后,我有以下问题:
- 我认为这与窗口函数有关的假设是否合理?如果是这样,我还不明白为什么......
- 此外,也许有人可以提出一种方法来绕过 FFT 窗口的这种伪影。
我一直在阅读不同的窗口函数,但据我了解,它们都具有比 FFT 的矩形窗口函数更宽的主瓣。由于我的频谱似乎“碰到”了主瓣,我不确定不同的窗口函数是否会有所帮助。
也许有一些方法可以利用我正在处理圆形轮廓的事实,这样我正在处理的信号不是窗口化的,而是本质上是周期性的和“无限的”(就像 FFT 一样)?!
在执行 FFT 之前对信号进行低通滤波(可能使用巴特沃斯滤波器)有帮助吗?
注 1:澄清傅里叶变换的内容
对象跟踪算法产生笛卡尔坐标 (x_i,y_i),我使用质心作为中心坐标将其转换为极坐标 (theta_i,r_i)。I FFT 的信号是 r_i-,例如与轮廓平均半径的偏差 因此,原则上,信号应该是真正的周期性的——这就是我上面所说的“内在周期性”的意思。矩形窗口是指由于 FFT 的有限输入信号而产生的固有窗口。我目前没有使用任何额外的窗口功能。
注释 2: FFT 补零效应的跟进关于光谱的缩放行为,我按照 Eric Jacobsen 的建议进行了以下测试。在下图中,我展示了使用不同级别的零填充执行 FFT 的相同数据集。具有不同零填充的 FFT 图的颜色编码:红色:无填充,绿色:+1 零填充,蓝色:+4 零填充,青色:+6 零填充数据长度:2048(每个相同)
单个电影帧轮廓的 FFT 图
计算为每个模式值的方差的频谱波动图:
<|c|^2>_t-<|c|>_t^2
其中 c 是信号的 FFT。
非零填充变换的方差的两个分量的图:
红色:<|c|^2>_t,蓝色:<|c|>_t^2
可以看出,由于窗口函数的贡献以略微不同的强度存在,因此在计算差异时不会被抵消。
编辑: 结束这个话题:我发现在光谱中观察到的类 sinc 模式不是由 FFT 的窗口引起的,而是由(不幸的是)仍然显着显示在跟踪信号中的像素模式引起的. 结合像素的插值,这会导致与三角形内核的卷积(参见线性插值及其频率响应;所以 sinc^2参见此处)
最后,让我意识到,由于傅立叶空间中的逆行为,任何大模式都是由真实空间中的小结构产生的(另见我的评论之一),就像FFT的窗口效应。
我将 Eric Jacobsen 的答案标记为正确,因为他建议该结构也可能是由与 FFT 的窗口效应非常不同的东西引起的。