Best way is to take your two FFT frequency vector ersults (say X and Y) and
do this
Sxx(i)=beta*Sxx(i-1)+(1-beta)*XX^
(here ^ is complex conjugate)
where beta 0<beta<1 is a forgetting factor (say 0.9)
Syy(i)=beta*Syy(i-1)+(1-beta)*YY^
and for cross spectrum we have
Sxy(i)=beta*Sxy(i-1)+(1-beta)*XY^
This method tracks variations for non-stationary signals - works well.If
beta is close to unity it performs an averaging ie smoothing effect. When
beta is say 0.5 it is better for tracking but less smooth. If you just use
straight periodograms and cross-periodograms the results will be more noisy.
F.
--
Posted via a free Usenet account from http://www.teranews.com
Hi All,
I have two waveforms X and Y. X is input waveform and Y is output.
I have FFT algorithm with me.
Now can anyone help me calculate the Transfer function and Coherence using
the FFT, rather than Matlab etc.
I have read at many places that the transfer function is calculated by the
cross spectrum X(k)*Y(k) divided by the autospectrum of the input signal
X(k)*X(k).
But how shall calculate cross spectrum and autospectrum using FFT?
If there are any other suggestions ... please specify.
Any suggestions are welcome.
Thanks and regards,
Ajith