phase information from pwelch or pmtm

17 visualizaciones (últimos 30 días)
HenryHoare
HenryHoare el 9 de Mayo de 2018
Comentada: Heinz Krug el 12 de Mayo de 2020
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!

Respuestas (2)

Mark Schwab
Mark Schwab el 17 de Mayo de 2018
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 el 18 de Mayo de 2018
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 comentario
Heinz Krug
Heinz Krug el 12 de Mayo de 2020
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?

Iniciar sesión para comentar.

Categorías

Más información sobre Spectral Estimation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by