phase information from pwelch or pmtm

18 ビュー (過去 30 日間)
HenryHoare
HenryHoare 2018 年 5 月 9 日
コメント済み: Heinz Krug 2020 年 5 月 12 日
When using the cross power spectral density ( cpsd) of two signals x and y , one obtains a complex output, describing the phase shift between both signals. cpsd is based on Welch's method. However, if I am just using pwelch to get the power spectral density of one of the signals, I am loosing the phase information (i.e. the output is real). Same applies for the multitaper techniques using pmtm.
Does somebody know how to get the phase information from pwelch or pmtm?
Thanks a lot!

回答 (2 件)

Mark Schwab
Mark Schwab 2018 年 5 月 17 日
In the calculation of the Power Spectral Density, you take the magnitude of the product of the summation or integral of the elements of your signal and some complex number. Since we take the magnitude, the Power Spectral Density will always be real valued. The equation for the Cross-Spectral Density is the fourier transform of the cross-correlation function which explains how you can obtain complex numbers. So to answer your question directly, there is no way obtain the phase information from pwelch or pmtm as these two functions can only produce real valued results.

HenryHoare
HenryHoare 2018 年 5 月 18 日
Thanks for your reply, Mark! The cross-spectral density is based on Welch's method and in fact, it is implemented as the convolution of the two signals (see line 72 in computeperiodogrom.m), i.e. as the cross-correlation of the spectra. But this should be equivalent to the definition in the cpsd-documentation (i.e. equal to the Fourier transform of the cross-correlation, right?).
However, the problem is indeed the magnitude. So to preserve the phase while using pwelch or pmtm I just modified a copy of the source-code in a way that it also keeps the spectrum before auto-correlating it.
  1 件のコメント
Heinz Krug
Heinz Krug 2020 年 5 月 12 日
Very interested in your modification, Henry. I have a problem where I also need the phase information. Is your code modification publicly available? Any links? Or would you be willing to email it to me?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpectral Estimation についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by