Signal Processing Toolbox Previous page   Next Page
tfestimate

Transfer function estimate

Syntax

Description

Txy = tfestimate(x,y) finds a transfer function estimate Txy given input signal vector x and output signal vector y. Vectors x and y must be the same length. The relationship between the input x and output y is modeled by the linear, time-invariant transfer function Txy. The transfer function is the quotient of the cross power spectral density (Pxy) of x and y and the power spectral density (Pxx) of x.

If x is real, tfestimate estimates the transfer function at positive frequencies only; in this case, the output Txy is a column vector of length nfft/2+1 for nfft even and (nfft+1)/2 for nfft odd. If x or y is complex, tfestimate estimates the transfer function for both positive and negative frequencies and Txy has length nfft.

tfestimate uses the following default values:

Parameter
Description
Default Value
nfft
FFT length which determines the frequencies at which the power spectrum is estimated

For real x and y, the length of Txy is (nfft/2+1) if nfft is even or (nfft+1)/2 if nfft is odd. For complex x or y, the length of Txy is nfft.
Maximum of 256 or the next power of 2 greater than the length of each section of x or y

fs
Sampling frequency
1
window
Windowing function and number of samples to use to section x and y
Periodic Hamming window of length nfft
noverlap
Number of samples by which the sections overlap
Value to obtain 50% overlap

Txy = tfestimate(x,y,window) specifies a windowing function, divides x and y into overlapping sections of the specified window length, and windows each section using the specified window function. If you supply a scalar for window, Txy uses a Hamming window of that length. The length of the window must be less than or equal to nfft. If the length of the window exceeds nfft, tfestimate zero pads the sections

Txy = tfestimate(x,y,window,noverlap) overlaps the sections of x by noverlap samples. noverlap must be an integer smaller than the length of window.

[Txy,W] = tfestimate(x,y,window,noverlap,nfft) uses the specified FFT length nfft in estimating the PSD and CPSD estimates for the transfer function. It also returns W, which is the vector of normalized frequencies (inrad/sample) at which the tfestimate is estimated. For real signals, the range of W is [0, pi] when nfft is even and [0, pi) when nfft is odd. For complex signals, the range of W is [0, 2pi).

[Txy,F] = tfestimate(x,y,window,noverlap,nfft,fs) returns Txy as a function of frequency and a vector F of frequencies at which tfestimate estimates the transfer function. fs is the sampling frequency in Hz. F is the same size as Txy, so plot(f,Txy) plots the transfer function estimate versus properly scaled frequency. For real signals, the range of F is [0, fs/2] when nfft is even and [0, fs/2) when nfft is odd. For complex signals, the range of F is [0, fs).

[...] = tfestimate(x,y,...,'whole') returns a transfer function estimate with frequencies that range over the whole Nyquist interval. Specifying 'half' uses half the Nyquist interval.

tfestimate(...) with no output arguments plots the transfer function estimate in the current figure window.

Examples

Compute and plot the transfer function estimate between two colored noise sequences x and y:

Algorithm

tfestimate uses Welch's averaged periodogram method. See pwelch for details.

See Also

cpsd, mscohere, periodogram, pwelch, spectrum.welch


Previous page  tf2zpk triang Next page

© 1994-2005 The MathWorks, Inc.