【问题标题】:Can I retrieve a signal from a scipy.signal.welch power spectrum?我可以从 scipy.signal.welch 功率谱中检索信号吗?
【发布时间】:2022-01-15 13:31:23
【问题描述】:

如果我有一个使用 scipy.signal 中的 welch 方法计算的功率谱,有什么方法可以检索信号原始信号吗?如果不是,我能得到什么数据来告诉我给定功率谱的信号?

【问题讨论】:

  • 一个更具体的问题,在一个更具体的论坛中,有 40 次以上的浏览量,here,没有收到任何答案。您至少应该显示您用于生成 PSD 的代码,然后我们可以查看信号是否可以恢复。我能说的是,任意信号的完美重构是不可能的,否则可能使用它对数据进行任意压缩。

标签: python scipy signals


【解决方案1】:

有什么方法可以找回信号原始信号吗?

不可能从其功率谱密度恢复原始信号。韦尔奇方法计算为

其中 K 是平均在一起的段数,L 是每个段的傅里叶变换中的样本数,R 是抽取因子,或者移动到下一个段时“跳跃”的样本数,w[n]是一个窗函数(例如Hann,Hamming),U是一个归一化因子,等于窗函数的能量:

需要注意的两个重要事项:

  1. 傅立叶变换(由 n 索引的和)有一个绝对值的平方。这意味着您丢失了信号的所有相位信息。以post 为例,了解信号中相位信息的重要性。仅使用幅度信息,无法判断原始信号/图像是什么。

  2. 上面的等式是对多个 PSD 估计值进行平均(修改后的周期图是具体的)。与简单平均会丢失单个样本 x[n] 中包含的所有详细信息以及它们如何随时间变化的方式相同,Welch 的方法也会丢失信号随时间变化的方式。要获得有关信号如何随时间变化的任何信息,您需要计算频谱图。

如果不是,我能得到什么数据来告诉我给定功率谱的信号?

顾名思义,功率谱密度 (PSD) 告诉您每个频率的能量密度。您可以确定大部分能量是在低频、中频还是高频。 Welch 方法的平均在减少随机噪声方面做得不错,因此信号中存在的稳态特征应该与噪声很好地分离。假设您的 L 足够大并且您没有混淆数据,您应该能够轻松估计任何签名的功率水平和频率。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    相关资源
    最近更新 更多