平滑功率谱

信息处理 功率谱密度 过滤 平滑
2022-02-10 20:47:15

我的问题是关于如何/应该如何平滑从测量中获得的相当嘈杂的功率谱。可以使用多种方法(移动平均线、分箱等),鉴于我将描述的情况,我不确定正确的方法是什么。

虽然乍一看,这听起来像是我在问要使用什么样的周期图(例如,请参阅这个问题的优秀答案),但我认为我的情况可能有点不同。我拥有的是一堆复值自相关函数(ACF):n长度数据集m=8192, 以t=0,以 1 纳秒的采样率(即 1 GHz 采样率)采集。

虽然细节与问题不太相关,但也无法更改;数据是使用 FPGA 获得的,FPGA 每纳秒接收一个复数,它内部使用涉及在二进制硬件中实现的 DFT 的一系列步骤来计算自相关函数。

所以我所拥有的数据基本上被困住了。鉴于这组 ACF,我现在想获得它们的功率谱,这当然只是傅立叶变换。这是一个例子: 在此处输入图像描述

有几件事要看。首先,在 -100 和 0 MHz 之间有两个峰值。这些是感兴趣的主要对象;他们在每个数据集中改变了它们的宽度和高度,我想整合它们来看看它们的区域是如何变化的。就像现在一样,它们相当嘈杂,我认为它们会从平滑中受益。

第二件事是 100 到 200 MHz 之间的主要峰值;这个峰值总是存在的(在这个分辨率下总是在完全相同的频率上),并且应该保持它。这意味着它不应该被平滑,它的邻居也不应该在平滑时考虑它。我想一种解决方案就是把它拿出来,平滑,然后放回去。

最后还有一些噪声背景,从大约 0 到 0.002 不等。这个我不感兴趣;它不必完全消失,但仍应将其展平,以便我可以将其视为一种静态背景。

所以,考虑到这一切,我正在寻找一些关于如何做的建议。一个简单的方法是装箱;将数据拆分为k长度段l并将每个片段的中心时刻作为我的新数据集。当然,它减少了点数。另一种选择是使用移动平均线,将每个数据点替换为其 r 范围平均值。然后还有一百万种平滑方法;我只是不知道什么更合适。

我想这是主要问题。鉴于我有一个如上所示的数据集,以及我描述的功能,我应该如何缩小最适合哪种类型的平滑方法?正如我之前提到的,主要的问题是找到 -100 和 0 之间的两个峰的面积。此外,使数据看起来更令人愉快也不是不重要的。移动平均线做到了这一切,但感觉如此……原始。

作为参考,可以在此处找到数据集(以逗号分隔的值) 。请注意,这已经是 PSD;我的原始数据集的傅里叶变换。

1个回答

两件事:1)除非频谱分析仪振荡器和信号源之间存在某种同步性,否则频谱应该在 0Hz 附近相当对称(AWGN 除外)。所以我强烈怀疑那里有问题,因为它不是对称的。2)由于(我假设)您获得了不止一次的频谱扫描,因此对于每个频率区间,取类似于多次扫描的区间的平均值。例如,给定的频率区间可以是该区间的最后几次扫描的平均值,或者它是区间历史的 FIR 的 IIR。除非您只有一次数据扫描而没有其他任何东西,否则不要在频率上进行平滑处理。