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:
To learn more about how System objects work, see What Are System Objects?
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.
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.
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.
Specify the length of the FFT that the transfer function estimator uses to compute spectral estimates as a positive, integer scalar.
This property applies when you set the FFTLengthSource property to 'Property' .
Data Types: double
Specify a window function for the transfer function estimator as one of 'Rectangular' , 'Chebyshev' , 'Flat Top' , 'Hamming' , 'Hann' , or 'Kaiser' .
Specify the side lobe attenuation of the window as a real, positive scalar, in decibels (dB).
This property applies when you set the Window property to 'Chebyshev' or 'Kaiser' .
Data Types: double
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.
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.
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.
This property applies when you set AveragingMethod to 'Running' .
Data Types: double
Specify the exponential weighting forgetting factor as a scalar value greater than zero and smaller than or equal to one.
Tunable: Yes
This property applies when you set AveragingMethod to 'Exponential' .
Data Types: single | double
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.