## Documentation Center |

Transfer function estimate

`Txy = tfestimate(x,y)Txy = tfestimate(x,y,window)Txy = tfestimate(x,y,window,noverlap)[Txy,W] = tfestimate(x,y,window,noverlap,nfft)[Txy,F] = tfestimate(x,y,window,noverlap,nfft,fs)[...] = tfestimate(x,y,...,'twosided')tfestimate(...)`

`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 (*Pyx*)
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.

**Default Values**

Parameter | Description | Default Value |
---|---|---|

| FFT length which determines the frequencies at which the PSD is estimated For real | Maximum of 256 or the next power of 2 greater than the
length of each section of |

| Sampling frequency | 1 |

| Windowing function and number of samples to use to section x and y | Periodic Hamming window with length equal to the signal
segment length that results from dividing the signal |

| Number of samples by which the sections overlap | Value to obtain 50% overlap |

noverlap to
obtain 50% overlap, and the specified 128 nfft. |

`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. To replicate the output of the obsoleted `tfe` function,
specify `'hanning(nfft)'` as the window.

`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, *π*]
when `nfft` is even and [0, π)
when `nfft` is odd. For complex signals, the range
of `W` is [0, 2*π*).

`[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,...,'twosided')` returns
a transfer function estimate with frequencies that range over the
entire interval from 0 to the sampling frequency, [0,Fs). Specifying `'onesided'` uses
from 0 to the Nyquist frequency.

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

`cpsd` | `mscohere` | `periodogram` | `pwelch` | `spectrum`

Was this topic helpful?