Log-scale transfer function estimates


Multivariate power spectral density on a logarithmic scale can be performed by the LPSD algorithm (Measurement 39 (2006) 120-129), which is an application of Welch's averaged, modified periodogram method. The transfer function 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.

ao/ltfe estimates the transfer function 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 = ltfe(a1,a2,pl)
  

a1 and a2 are the 2 aos containing the input time series to be evaluated; b is the output object. The parameter list pl includes the following parameters:

The length of the window is set by the value of the parameter 'Nfft', so that the window is actually rebuilt using only the key features of the window, i.e. the name and, for Keiser windows, the PSLL.

As an alternative, the user can input, as a value for the 'Win' key, a string corresponding to the name of the window. In the case of Kaiser window, it's necessary to specify the additional parameter 'psll'.

If the user doesn't specify the value of a given parameter, the default value is used.

The function makes logaritmic frequencyscale transfer functions estimates between the 2 input aos, and the output will contain the transfer function estimate from the first ao to the second.

Example

Evaluation of the transfer function between 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.

    nsecs = 1000;
    fs  = 10;
    x = ao(plist('waveform','sine wave','f',0.1,'A',1,'nsecs',nsecs,'fs',fs)) + ...
        ao(plist('waveform','noise','type','normal','nsecs',nsecs,'fs',fs));
    x.setYunits('m');
    y = ao(plist('waveform','sine wave','f',0.1,'A',2,'nsecs',nsecs,'fs',fs,'phi',90)) + ...
        4*ao(plist('waveform','noise','type','normal','nsecs',nsecs,'fs',fs));
    y.setYunits('V');
    nfft = 1000;
    Txy = ltfe(x,y,plist('win',specwin('Kaiser',1,200),'nfft',nfft));
    Tyx = ltfe(y,x,plist('win',specwin('Kaiser',1,200),'nfft',nfft));
    iplot(Txy);
    iplot(Tyx);
  





©LTP Team