【发布时间】:2014-07-01 10:21:59
【问题描述】:
我有两个数据集,我想在 MATLAB 中使用函数 cpsd 的交叉功率谱密度图进行分析。对于 cpsd 的复杂输出,我想知道如何从中获取幅度信息。我知道我可以通过angle(Pxy) 获取相位信息,但我不知道如何提取幅度信息。谢谢
【问题讨论】:
-
如果您还在,请将答案标记为正确或提供您自己的答案。
标签: matlab
我有两个数据集,我想在 MATLAB 中使用函数 cpsd 的交叉功率谱密度图进行分析。对于 cpsd 的复杂输出,我想知道如何从中获取幅度信息。我知道我可以通过angle(Pxy) 获取相位信息,但我不知道如何提取幅度信息。谢谢
【问题讨论】:
标签: matlab
我认为您正在寻找的是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 执行的平均消除了信号中的时域数据。
【讨论】:
abs(Pxy) 绘制cpsd 的频率输出会给我一个频率与功率图。
cpsd 得到你想要的。