我的问题是关于如何/应该如何平滑从测量中获得的相当嘈杂的功率谱。可以使用多种方法(移动平均线、分箱等),鉴于我将描述的情况,我不确定正确的方法是什么。
虽然乍一看,这听起来像是我在问要使用什么样的周期图(例如,请参阅这个问题的优秀答案),但我认为我的情况可能有点不同。我拥有的是一堆复值自相关函数(ACF):长度数据集, 以,以 1 纳秒的采样率(即 1 GHz 采样率)采集。
虽然细节与问题不太相关,但也无法更改;数据是使用 FPGA 获得的,FPGA 每纳秒接收一个复数,它内部使用涉及在二进制硬件中实现的 DFT 的一系列步骤来计算自相关函数。
所以我所拥有的数据基本上被困住了。鉴于这组 ACF,我现在想获得它们的功率谱,这当然只是傅立叶变换。这是一个例子:
有几件事要看。首先,在 -100 和 0 MHz 之间有两个峰值。这些是感兴趣的主要对象;他们在每个数据集中改变了它们的宽度和高度,我想整合它们来看看它们的区域是如何变化的。就像现在一样,它们相当嘈杂,我认为它们会从平滑中受益。
第二件事是 100 到 200 MHz 之间的主要峰值;这个峰值总是存在的(在这个分辨率下总是在完全相同的频率上),并且应该保持它。这意味着它不应该被平滑,它的邻居也不应该在平滑时考虑它。我想一种解决方案就是把它拿出来,平滑,然后放回去。
最后还有一些噪声背景,从大约 0 到 0.002 不等。这个我不感兴趣;它不必完全消失,但仍应将其展平,以便我可以将其视为一种静态背景。
所以,考虑到这一切,我正在寻找一些关于如何做的建议。一个简单的方法是装箱;将数据拆分为长度段并将每个片段的中心时刻作为我的新数据集。当然,它减少了点数。另一种选择是使用移动平均线,将每个数据点替换为其 r 范围平均值。然后还有一百万种平滑方法;我只是不知道什么更合适。
我想这是主要问题。鉴于我有一个如上所示的数据集,以及我描述的功能,我应该如何缩小最适合哪种类型的平滑方法?正如我之前提到的,主要的问题是找到 -100 和 0 之间的两个峰的面积。此外,使数据看起来更令人愉快也不是不重要的。移动平均线做到了这一切,但感觉如此……原始。
作为参考,可以在此处找到数据集(以逗号分隔的值) 。请注意,这已经是 PSD;我的原始数据集的傅里叶变换。