Forums

Cross correlation and system ID

Started by Unknown June 22, 2006
I was looking at this link

http://www.prosig.com/signal-processing/CorrelationExample.html

and is says that for a system with excitation x and output y that the
transfer function is found to be


H(f)=Gxy(f)/Gxx(f)

where Gxy is cross power spectrum and Gxx is auto power spectrum.

Trouble is - H(f) must be uncausal (or unstable) since Power spectrum
has poles in the right half plane symmetrical to the stable ones. Is
this the right definition? Is there a simpel proof for this and how do
we get the causal H(f)? I assume we just take the first N/2-1 points of
H(f). Should there not be a Wiener notation around H(f) ie


H(f)={Gxy(f)/Gxx(f)}+

where {.}+ represents the causal realisation?


Tam

sheepshaggerx@yahoo.co.uk wrote:
> I was looking at this link > > http://www.prosig.com/signal-processing/CorrelationExample.html > > and is says that for a system with excitation x and output y that the > transfer function is found to be > > > H(f)=Gxy(f)/Gxx(f) > > where Gxy is cross power spectrum and Gxx is auto power spectrum. > > Trouble is - H(f) must be uncausal (or unstable) since Power spectrum > has poles in the right half plane symmetrical to the stable ones.
poles are something systems have. x(t) is just a signal going in to the system H(.) (that needs to be sufficiently broadbanded to measure H(.) with) and y(t) is the signal coming out. since they are "power signals", they have autocorrelation and crosscorrelation defined by: T/2 gxx(tau) = lim 1/T integral{ x(t) conj{x(t+tau)} dt } T->+inf -T/2 T/2 gxy(tau) = lim 1/T integral{ x(t) conj{y(t+tau)} dt } T->+inf -T/2 and the power spectrums are the Fourier transform of these. no poles. if the output is defined from the input by: y(t) = h(t) (*) x(t) where (*) means convolution then, i think, you can show that h(tau) = gxy(tau)/gxx(0) gxx(0) just happens to be the power of x(t). i am not sure that agrees with what you have at top. i think when you apply the F.T. to h(tau) you get H(f) = Gxy(f)/Gxx(0) i think what i'm doing wrong is that the preceding 2 equations assume that x(t) is white. beats me, at the moment, how to extend this for a colored driving signal. r b-j
"robert bristow-johnson" <rbj@audioimagination.com> wrote in message
news:1151027254.375889.184140@r2g2000cwb.googlegroups.com...
> sheepshaggerx@yahoo.co.uk wrote: > > I was looking at this link > > > > http://www.prosig.com/signal-processing/CorrelationExample.html > > > > and is says that for a system with excitation x and output y that the > > transfer function is found to be > > > > > > H(f)=Gxy(f)/Gxx(f) > > > > where Gxy is cross power spectrum and Gxx is auto power spectrum. > > > > Trouble is - H(f) must be uncausal (or unstable) since Power spectrum > > has poles in the right half plane symmetrical to the stable ones. > > poles are something systems have. x(t) is just a signal going in to the > system H(.) (that needs to be sufficiently broadbanded to measure H(.) > with) and y(t) is the signal coming out. since they are "power > signals", they have autocorrelation and crosscorrelation defined by: > > T/2 > gxx(tau) = lim 1/T integral{ x(t) conj{x(t+tau)} dt } > T->+inf -T/2 > > T/2 > gxy(tau) = lim 1/T integral{ x(t) conj{y(t+tau)} dt } > T->+inf -T/2 > > and the power spectrums are the Fourier transform of these. no poles. > > if the output is defined from the input by: > > y(t) = h(t) (*) x(t) where (*) means convolution > > then, i think, you can show that > > h(tau) = gxy(tau)/gxx(0) > > gxx(0) just happens to be the power of x(t). i am not sure that agrees > with what you have at top. i think when you apply the F.T. to h(tau) > you get > > H(f) = Gxy(f)/Gxx(0) > > i think what i'm doing wrong is that the preceding 2 equations assume > that x(t) is white. > > beats me, at the moment, how to extend this for a colored driving > signal. > > r b-j >
A power spectrum is derived from a signal but it has poles and zeros in as much if y=Hu then Gyy=mod(H)^2Guu where mod(H)^2 = H(s)H(-s) (or equiv for discrete time G(z)G(z^-1)). This is why a Wiener filter is defined (by Wiener himself in his book!) by using the {.}+ notation, otherwise we get an unrealisable solution. M.P -- Posted via a free Usenet account from http://www.teranews.com