【问题标题】:How to pull out amplitude information from complex output of cpsd - MATLAB如何从 cpsd 的复数输出中提取幅度信息 - MATLAB
【发布时间】:2014-07-01 10:21:59
【问题描述】:

我有两个数据集,我想在 MATLAB 中使用函数 cpsd 的交叉功率谱密度图进行分析。对于 cpsd 的复杂输出,我想知道如何从中获取幅度信息。我知道我可以通过angle(Pxy) 获取相位信息,但我不知道如何提取幅度信息。谢谢

【问题讨论】:

  • 如果您还在,请将答案标记为正确或提供您自己的答案。

标签: matlab


【解决方案1】:

我认为您正在寻找的是abs(Pxy)。根据the documentation,如果Pxy = x + i*y,那么:

abs(Pxy) = sqrt(x^2 + y^2) = sqrt(real(Pxy)^2 + imag(Pxy)^2)

编辑: 不过,根据您的评论,您正在寻找时域幅度(而不是频域,如上文所述)。来自信号处理堆栈交换的This thread 可能会有所帮助。看起来cpsd 执行的平均消除了信号中的时域数据。

【讨论】:

  • 对不起,我应该更清楚。我想要时域信号的幅度。 Pxy 的绝对值是功率密度谱的一部分。用abs(Pxy) 绘制cpsd 的频率输出会给我一个频率与功率图。
  • @Fanylion,我更新了我的答案,但我不确定你能否从cpsd 得到你想要的。
  • 好的,感谢您的评论。就像您可能知道的另一个问题一样,获得噪声周期性信号的平均幅度的最简单方法是什么?这可能是一个非常广泛的问题。
  • @Fanylion,我认为这可能太宽泛了。有很多测量周期信号“平均值”的方法。您可以做一些简单的事情,例如时域中的信号均值、均方或 RMS。 This introduction 有更多信息。不过,这对您的应用程序来说可能太基础了。
猜你喜欢
  • 2019-06-10
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 2021-02-16
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
相关资源
最近更新 更多