Forums

Cross Power Spectrum Estimation

Started by ryujin_ssdt August 7, 2007
The only way I have seen documented to estimate the cross spectrum density
is by obtaining the DTFT of the cross correlation of the two signals of
interest.

With so many spectrum estimation methods available I was wondering if it
is possible to estimate cross spectrum using those methods. For example
using the MEM (aka Burg), MUSIC, ESPRIT, CAPON, APES, Yulk-Walker, etc.

Even in Matlab the only build in function to get cross spectrum (cpsd)
uses Welch to estimate it.

References to treatment of cross spectrum estimation using methods others
than DTFT are appreciated.

thanks,
Horacio
On Aug 7, 9:43 am, "ryujin_ssdt" <hsan...@gmail.com> wrote:
> The only way I have seen documented to estimate the cross spectrum density > is by obtaining the DTFT of the cross correlation of the two signals of > interest. > > With so many spectrum estimation methods available I was wondering if it > is possible to estimate cross spectrum using those methods. For example > using the MEM (aka Burg), MUSIC, ESPRIT, CAPON, APES, Yulk-Walker, etc. > > Even in Matlab the only build in function to get cross spectrum (cpsd) > uses Welch to estimate it. > > References to treatment of cross spectrum estimation using methods others > than DTFT are appreciated. > > thanks, > Horacio
Horacio, please note that you are comparing non-parametric methods with parametric methods. So sure, it is possible to use those parametric estimators to estimate cross spectrum, if it fits the model. I think the problem is that it's very rare to find a cross spectrum model that fits the parametric model. Or if it does, it's easier to first do individual spectrum estimation or parameter estimation, and then correlating the two in the parameter domain. This works without loss iff the parameter of interest is a sufficient statistic for what you are looking for in the end. And in most cases, this is probably true. Julius
On Aug 8, 2:43 am, "ryujin_ssdt" <hsan...@gmail.com> wrote:
> The only way I have seen documented to estimate the cross spectrum density > is by obtaining the DTFT of the cross correlation of the two signals of > interest. > > With so many spectrum estimation methods available I was wondering if it > is possible to estimate cross spectrum using those methods. For example > using the MEM (aka Burg), MUSIC, ESPRIT, CAPON, APES, Yulk-Walker, etc. > > Even in Matlab the only build in function to get cross spectrum (cpsd) > uses Welch to estimate it. > > References to treatment of cross spectrum estimation using methods others > than DTFT are appreciated. > > thanks, > Horacio
Use this method Sxy(i)=beta*Sxy(i-1)+(1-beta)*X(i)Y*(i) where beta (0<beta<1) is a forgetting factor and X and Y are respectively the FFTs of the two signals x and y. This will smooth the cross power spectrum if beta =0.9 say and provide tracking if the signals are non-stationary. '*' is conjugate in Y*(i).
>On Aug 7, 9:43 am, "ryujin_ssdt" <hsan...@gmail.com> wrote: >> The only way I have seen documented to estimate the cross spectrum
density
>> is by obtaining the DTFT of the cross correlation of the two signals
of
>> interest. >> >> With so many spectrum estimation methods available I was wondering if
it
>> is possible to estimate cross spectrum using those methods. For
example
>> using the MEM (aka Burg), MUSIC, ESPRIT, CAPON, APES, Yulk-Walker,
etc.
>> >> Even in Matlab the only build in function to get cross spectrum (cpsd) >> uses Welch to estimate it. >> >> References to treatment of cross spectrum estimation using methods
others
>> than DTFT are appreciated. >> >> thanks, >> Horacio > >Horacio, please note that you are comparing non-parametric >methods with parametric methods. So sure, it is possible to >use those parametric estimators to estimate cross spectrum, >if it fits the model. > >I think the problem is that it's very rare >to find a cross spectrum model that fits the parametric model. >Or if it does, it's easier to first do individual spectrum estimation >or parameter estimation, and then correlating the two in the >parameter domain. This works without loss iff the parameter >of interest is a sufficient statistic for what you are looking for >in the end. And in most cases, this is probably true. > >Julius > >
Can I assume that when working with cross-spectrum it is better to use non-parametric methods (i.e Welch, Black-Tukey, CAPON, APES, etc.) and ignore the parametric ones?? This would greatly simplify my search for a spectrum estimator.
>On Aug 8, 2:43 am, "ryujin_ssdt" <hsan...@gmail.com> wrote: >> The only way I have seen documented to estimate the cross spectrum
density
>> is by obtaining the DTFT of the cross correlation of the two signals
of
>> interest. >> >> With so many spectrum estimation methods available I was wondering if
it
>> is possible to estimate cross spectrum using those methods. For
example
>> using the MEM (aka Burg), MUSIC, ESPRIT, CAPON, APES, Yulk-Walker,
etc.
>> >> Even in Matlab the only build in function to get cross spectrum (cpsd) >> uses Welch to estimate it. >> >> References to treatment of cross spectrum estimation using methods
others
>> than DTFT are appreciated. >> >> thanks, >> Horacio > >Use this method > >Sxy(i)=beta*Sxy(i-1)+(1-beta)*X(i)Y*(i) > >where beta (0<beta<1) is a forgetting factor and X and Y are >respectively the FFTs of the two signals x and y. This will smooth the >cross power spectrum if beta =0.9 say and provide tracking if the >signals are non-stationary. > >'*' is conjugate in Y*(i). > >
Thanks, never saw this method before but surely makes sense.
On 7 Aug, 19:07, julius <juli...@gmail.com> wrote:
> On Aug 7, 9:43 am, "ryujin_ssdt" <hsan...@gmail.com> wrote: > > > > > > > The only way I have seen documented to estimate the cross spectrum density > > is by obtaining the DTFT of the cross correlation of the two signals of > > interest. > > > With so many spectrum estimation methods available I was wondering if it > > is possible to estimate cross spectrum using those methods. For example > > using the MEM (aka Burg), MUSIC, ESPRIT, CAPON, APES, Yulk-Walker, etc. > > > Even in Matlab the only build in function to get cross spectrum (cpsd) > > uses Welch to estimate it. > > > References to treatment of cross spectrum estimation using methods others > > than DTFT are appreciated. > > > thanks, > > Horacio > > Horacio, please note that you are comparing non-parametric > methods with parametric methods. So sure, it is possible to > use those parametric estimators to estimate cross spectrum, > if it fits the model. > > I think the problem is that it's very rare > to find a cross spectrum model that fits the parametric model. > Or if it does, it's easier to first do individual spectrum estimation > or parameter estimation, and then correlating the two in the > parameter domain. This works without loss iff the parameter > of interest is a sufficient statistic for what you are looking for > in the end. And in most cases, this is probably true.
Once upona a time I made an attempt to design a parametric cross correlation estimator for sum-of-sines signals. If anybody out there manage to get hold of a copy of my PhD tesis, check out chapter 2.3, on the analysis of vector-sensor data. The (x[n],y[n])signals I analyzed were (wrongly) assumed to have line spectra on the form X(w) = A_x D(w-w_c) Y(w) = A_y D(w-w_c) i.e. that the x and y components of the vector-valued signal each had a spectrom line at w = w_c with coefficient A_x and A_y, respectively. The cross correlation coefficient between the two signals would then become cxy(w_c) = A_x conj(A_y). Once you add noise, the estimates for the spectrum lines become X(w) = A_x D(w-w_c+eps_x) Y(w) = A_y D(w-w_c+eps_y) where eps_x and eps_y are estimation errors for the center frecuency w_c of the lines. The probability of eps_x = eps_y is for all practical purposes 0. The first problem one encounters is how to correlate parametric components in the two signals in the presence of noise. That was the problem I managed to solve, but it was by no means easy and the maths is messy. In the past I have made a couple of attempts to solve the remaining problem, to come up with an estimate for the cross spectrum coefficients as well, but so far I haven't quite got there. It may be because I have not tried hard enough, but it might also be that the models I have used are too sensistive for errors in w_c to come up with usable results. The bottom line is that computing cross spectrum estimates for parametric models in noise is very hard. I am not aware of anybody else than myself that have attempted it (but then, I haven't paid much attention to the state of the art since around 2001-2002). If somebody out there should know about such attemts, I would be very interested in learning about them. Rune
On Aug 8, 6:53 am, Rune Allnor <all...@tele.ntnu.no> wrote:

> The bottom line is that computing cross > spectrum estimates for parametric models > in noise is very hard. I am not aware of > anybody else than myself that have > attempted it (but then, I haven't paid much > attention to the state of the art since around > 2001-2002). If somebody out there should > know about such attemts, I would be very > interested in learning about them. > > Rune
Yep. I agree with Rune. It's very important to check and check again and reconsider if your nice model will survive reality. Julius
> I herewith reproduce parametric cross spectral analysis procedure from
'Signal Processing for Industrial Diagnostics'. Parametric cross spectra can be computed using the Burg MEM approach by using the Burg spectrum of sum and difference of the two time series along with Burg spectrum of the individual series x(t) and y(t) ( simultaneously sampled). The procedure is given below: From TM Romberg and JL Black and TJ Ledwidge, &lsquo; Signal Processing for Industrial Diagnostics&rsquo;, John Wiley & Sons PARAMETRIC CROSS-SPECTRAL ANALYSIS Ulrych and Jensen (1974) extended the above maximum entropy method (MEM) concepts for power spectra analysis to the computation of the MEM cross-spectra from a knowledge of the MEM power spectra. Their analysis provides an useful bridge between the non-parametric bivariate spectral analysis methods discussed in Chapter 4 and the multivariate spectral analysis methods discussed in Chapter 7. Consider the bivariate time series {xt} and {yt}, We define two new time series vt=xt+ jyt &hellip;.. (6.73a) and wt= xt+yt&hellip;&hellip;&hellip;.(6.73b) Taking Fourier transforms, we obtain V(f)= X(f)+jY(f)&hellip;&hellip;.(6.74a) and W(f)= X(f)+Y(f)&hellip;&hellip;.(6.74b) Using the usual definitions, the power spectral density of the derived series {vt} and {wt} are: Svv(f)= E[V*(f)V(f)] = E[{X*(f)-jY*(f)} {X(f)+jY(f)}] =E[{X*(f)X(f)+Y*(f) Y(f)}-j{Y*(f)X(f)-X*(f)Y(f)}] =Sxx(f)+ Syy(f)-2Im{E[X*(f)Y(f)]} &hellip;&hellip;&hellip;.. (6.75) and, similarly, Sww(f)= E[W*(f)W(f)] = E[{X*(f)+Y*(f)} { X(f)+Y(f)}] = E[{ X*(f)X(f)+ Y*(f)Y(f)} + Y*(f)X(f)+ X*(f)Y(f)}] = Sxx(f) + Syy(f) +2E[Re{X*(f)Y(f)}] &hellip;&hellip;&hellip;. ( 6.76) Now the co spectral density and quad spectral density functions of {xt} and {yt} are defined respectively as: CXY(f)= E[Re{X*(f)Y(f)}] = [ SWW(f) &ndash; SXX(f)- SYY(f)] &hellip;.. (6.77) and QXY(f)= E[Im{X*(f)Y(f)}] [ SVV(f)- Sxx(f)- Syy(f)] &hellip;&hellip; (6.78) from which the cross-spectral density is given by SXY(f)=Cxy(f)-jQXY(f) &hellip;.. (6.79) A disadvantage of this approach is that, if {xt} and {yt} are contaminated by broadband noise, then , as shown in section 4.6.1, Chapter 4, both the cross spectral density( hence transfer function) modulus and phase estimates will be affected, in contrast to only the modulus estimates computed by DFT methods, equation (4.23). Sadasivan
>