LTPDA Toolbox | contents | ![]() ![]() |
Multivariate power spectral density on a logarithmic scale can be performed by the LPSD algorithm, which is an application of Welch's averaged, modified periodogram method, cross-spectral density estimates are not evaluated at freqencies which are linear multiples of the minimum frequency resolution 1/T where T is the window lenght, but on a logarithmic scale. The algorithm takes care of calculating the frequencies at which to evaluate the spectral estimate, aiming at minimizing the uncertainty in the estimate itself, and to recalculate a suitable window length for each frequency bin.
ltpda_lcpsd estimates the cross-spectral density of time-series
signals, included in the input AOs. Data are windowed prior to the estimation of the spectra, by multiplying
it with a spectral window object, and can be detrended by polinomial of time in order to reduce the impact
of the border discontinuities. Detrending is performed on each individual window.
Syntaxis
b = ltpda_lcpsd(a1,a2,a3,...,pl)
a1, a2, a3, ... are AOs containing the input time series to be evaluated. They need to be in a number N >= 2. b includes the NXN output objects. The parameter list pl includes the following parameters:
If the user doesn't specify the value of a given parameter, the default value is used. The function makes CPSD estimates between all input AOs. Therefore, if the input argument list contains N analysis objects, the output a will contain NxN CPSD estimates. The diagonal elements will be S_ai_ai and will be equivalent to the output of ltpda_lpsd(ai).
Example
Evaluation of the CPSD of two time-series represented by: a low frequency sinewave signal superimposed to white noise, and a low frequency sinewave signal at the same frequency, phase shifted and with different amplitude, superimposed to white noise.
x = ao(plist('waveform','sine wave','f',0.1,'A',1,'nsecs',1000,'fs',10)) + ... ao(plist('waveform','noise','type','normal','nsecs',1000,'fs',10)); y = ao(plist('waveform','sine wave','f',0.1,'A',2,'nsecs',1000,'fs',10,'phi',90)) + ... 4*ao(plist('waveform','noise','type','normal','nsecs',1000,'fs',10)); pl = plist('order',2,'win',specwin(plist('name','BH92'))); z = ltpda_lcpsd(x,y); iplot(z(1,1)); iplot(z(1,2)); iplot(z(2,1));
![]() |
Log-scale power spectral density estimates | Log-scale cross coherence density estimates | ![]() |
©LTP Team