Documentation Center

  • Trial Software
  • Product Updates

etfe

Estimate empirical transfer functions and periodograms

Syntax

Description

example

g = etfe(data) estimates a transfer function of the form:

data contains time- or frequency-domain input-output data or time-series data:

  • If data is time-domain input-output signals, g is the ratio of the output Fourier transform to the input Fourier transform for the data.

    For nonperiodic data, the transfer function is estimated at 128 equally-spaced frequencies [1:128]/128*pi/Ts.

    For periodic data that contains a whole number of periods (data.Period = integer ), the response is computed at the frequencies k*2*pi/period for k = 0 up to the Nyquist frequency.

  • If data is frequency-domain input-output signals, g is the ratio of output to input at all frequencies, where the input is nonzero.

  • If data is time-series data (no input channels), g is the periodogram, that is the normed absolute square of the Fourier transform, of the data. The corresponding spectral estimate is normalized, as described in Spectrum Normalization and differs from the spectrum normalization in the Signal Processing Toolbox™ product.

example

g = etfe(data,M) applies a smoothing operation on the raw spectral estimates using a Hamming Window that yields a frequency resolution of about pi/M. The effect of M is similar to the effect of M in spa. M is ignored for periodic data. Use this syntax as an alternative to spa for narrowband spectra and systems that require large values of M.

example

g = etfe(data,M,N) specifies the frequency spacing for nonperiodic data.

  • For nonperiodic time-domain data, N specifies the frequency grid [1:N]/N*pi/Ts rad/TimeUnit. When not specified, N is 128.

  • For periodic time-domain data, N is ignored.

  • For frequency-domain data, the N is fmin:delta_f:fmax, where [fmin fmax] is the range of frequencies in data, and delta_f is (fmax-fmin)/(N-1) rad/TimeUnit. When not specified, the response is computed at the frequencies contained in data where input is nonzero.

Examples

expand all

Compare an Empirical Transfer Function to a Smoothed Spectral Estimate

Load estimation data.

load iddata1 z1;

Estimate empirical transfer function and smoothed spectral estimate.

ge = etfe(z1);
gs = spa(z1);

Compare the two models on a Bode plot.

bode(ge,gs)

Generate Empirical Transfer Function Using Periodic Input

Generate a periodic input, simulate a system with it, and compare the frequency response of the estimated model with the original system at the excited frequency points.

Generate a periodic input signal and output signal using simulation.

m = idpoly([1 -1.5 0.7],[0 1 0.5]);
u = iddata([],idinput([50,1,10],'sine'));
u.Period = 50;
y = sim(m,u);

Estimate an empirical transfer function.

me = etfe([y u]);

Compare the empirical transfer function with the original model.

bode(me,'b*',m,'r')

Apply Smoothing Operation on Empirical Transfer Function Estimate

Perform a smoothing operation on raw spectral estimates using a Hamming Window and compare the responses.

Load data.

load iddata1

Estimate empirical transfer functions with and without the smoothing operation.

ge1 = etfe(z1);
ge2 = etfe(z1,32);

Compare the models on a Bode plot.

ge2 is smoother than ge1 because of the effect of the smoothing operation.

bode(ge1,ge2)

Compare Effect of Frequency Spacing on Empirical Transfer Function Estimate

Estimate empirical transfer functions with low- and high-frequency spacings and compare the responses.

Load data.

load iddata9

Estimate empirical transfer functions with low and high frequency spacings.

ge1=etfe(z9,[],32);
ge2=etfe(z9,[],512);

Plot the output power spectrum of the two models.

spectrum(ge1,'b.-',ge2,'g')

Input Arguments

expand all

data — Estimation dataiddata

Estimation data, specified as an iddata object. The data can be time- or frequency-domain input/output signals or time-series data.

M — Frequency resolution[] (default) | positive scalar

Frequency resolution, specified as a positive scalar.

N — Frequency spacing128 for nonperiodic time-domain data (default) | positive scalar

Frequency spacing, specified as a positive scalar. For frequency-domain data, the default frequency spacing is the spacing inherent in the estimation data.

Output Arguments

expand all

g — Transfer function estimateidfrd

Transfer function estimate, returned as an idfrd model.

See Also

| | | | | | |

Was this topic helpful?