dsp.TransferFunctionEstimator

The dsp.TransferFunctionEstimator System object™ computes the transfer function of a system, using the Welch's averaged periodogram method.

To implement the transfer function estimation object:

  1. Create the dsp.TransferFunctionEstimator object and set its properties.
  2. Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

Creation

Syntax

Description

tfe = dsp.TransferFunctionEstimator returns a transfer function estimator object, that computes the transfer function of real or complex signals. This System object uses the periodogram method and Welch’s averaged, modified periodogram method.

tfe = dsp.TransferFunctionEstimator( Name,Value ) returns a transfer function estimator object with each specified property set to the specified value. Unspecified properties have default values.

Properties

Unless otherwise indicated, properties are nontunable , which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable , you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

FFTLengthSource — Source of FFT length value
'Auto' (default) | 'Property'

Specify the source of the FFT length value as either 'Auto' or 'Property' . If you set this property to 'Auto' , the transfer function estimator sets the FFT length to the input frame size. If you set this property to 'Property' , then specify the number of FFT points using the FFTLength property.

FFTLength — FFT Length
128 (default) | positive integer

Specify the length of the FFT that the transfer function estimator uses to compute spectral estimates as a positive, integer scalar.

Dependencies

This property applies when you set the FFTLengthSource property to 'Property' .

Data Types: double

Window — Window function
'Hann' (default) | 'Rectangular' | 'Chebyshev' | 'Flat Top' | 'Hamming' | 'Kaiser'

Specify a window function for the transfer function estimator as one of 'Rectangular' , 'Chebyshev' , 'Flat Top' , 'Hamming' , 'Hann' , or 'Kaiser' .

SidelobeAttenuation — Side lobe attenuation of window
60 (default) | positive scalar

Specify the side lobe attenuation of the window as a real, positive scalar, in decibels (dB).

Dependencies

This property applies when you set the Window property to 'Chebyshev' or 'Kaiser' .

Data Types: double

FrequencyRange — Frequency range of the transfer function estimate
'Twosided' (default) | 'onesided' | 'centered'

Specify the frequency range of the transfer function estimator as one of 'twosided' , 'onesided' , or 'centered' .

If you set the FrequencyRange to 'onesided' , the transfer function estimator computes the one-sided transfer function of real input signals, x and y . If the FFT length, NFFT, is even, the length of the transfer function estimate is NFFT/2+1 and is computed over the interval [0, SampleRate/2] . If NFFT is odd, the length of the transfer function estimate is equal to (NFFT+1)/2 , and the interval is [0, SampleRate/2] .

If FrequencyRange is set to 'twosided' , the transfer function estimator computes the two-sided transfer function of complex or real input signals, x and y . The length of the transfer function estimate is equal to NFFT and is computed over [0, SampleRate] .

If you set the FrequencyRange to 'centered' , the transfer function estimator computes the centered two-sided transfer function of complex or real input signals, x and y . The length of the transfer function estimate is equal to NFFT and it is computed over [-SampleRate/2, SampleRate/2] for even lengths, and [-SampleRate/2, SampleRate/2] for odd lengths.

AveragingMethod — Averaging method
'Running' (default) | 'Exponential'

Specify the averaging method as 'Running' or 'Exponential' . In the running averaging method, the object computes an equally weighted average of a specified number of spectrum estimates defined by the SpectralAverages property. In the exponential method, the object computes the average over samples weighted by an exponentially decaying forgetting factor.

SpectralAverages — Number of spectral averages
8 (default) | positive integer

Specify the number of spectral averages as a positive, integer scalar. The transfer function estimator computes the current estimate by averaging the last N estimates, where N is the number of spectral averages defined in the SpectralAverages property.

Dependencies

This property applies when you set AveragingMethod to 'Running' .

Data Types: double

ForgettingFactor — Forgetting factor
0.9 (default) | scalar in the range ( 0 , 1 ]

Specify the exponential weighting forgetting factor as a scalar value greater than zero and smaller than or equal to one.

Tunable: Yes

Dependencies

This property applies when you set AveragingMethod to 'Exponential' .

Data Types: single | double

OutputCoherence — Magnitude squared coherence estimate
false (default) | true

Specify true to compute and output the magnitude squared coherence estimate using Welch’s averaged, modified periodogram method. The magnitude squared coherence estimate has values between 0 and 1 that indicate the correspondence at each frequency between two input signals. If you specify false , the magnitude squared coherence estimate is not computed.