# Cross Power Spectrum Estimation

Started by 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

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).