估计没有“安静”部分的噪音水平

信息处理 噪音 频谱图 信噪比
2022-01-25 14:44:59

我有一个信号,它由开始释放期组成。

开始,听起来像砰的一声,激发整个频率范围(0-22 kHz)的频率。持续约 0.1 秒。

释放,听起来像一个环,激发了 2-5 个特定的窄频带。它们的幅度呈指数衰减,尽管速率略有不同。

我想找到这些狭窄山峰轨道的尽头我现在使用的方法跟踪窄频带中的最大幅度并采用窗口导数。当该导数通过阈值时,标记峰值轨迹的末端。对于特别嘈杂的信号,这似乎并不能始终如一地工作。

我的第二个想法是跟踪峰值轨迹的幅度并将它们与噪声水平进行比较。一旦它们达到噪音水平,就将其标记为结束。

如果没有非信号段,我如何估计噪声水平?罢工前的段通常很短或幅度有一些斜坡,因此不适合作为平均值。

编辑:这是频谱图:

在此处输入图像描述

2个回答
  1. 如果要确定是否存在 2-5 个窄带频率,请使用具有阈值的匹配滤波器来确定它们的存在。在 matlab 中,函数是 xcorr。
  2. 如果您想确定只有信号存在时的噪声水平,请尝试过滤掉信号。为每个频率创建一个滤波器,然后将这些滤波器卷积在一起以获得最终滤波器。

一些可能的方法:

  • 计算衰减段的 DFT,找到 2-5 个部分,消除它们,并将剩余频带中的能量相加得到噪声水平。
  • 将“指数衰减正弦曲线 + 噪声之和”模型拟合到您的信号。这实际上会给你每个部分的指数衰减因子,我相信这是你想要提取的实际信息。如果您只对噪声水平感兴趣,您甚至不必估计模型的所有参数 - 只需在噪声子空间上投影即可。