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 an input
signal, x
, and an output signal, y
.
The signals may be either vectors or two-dimensional matrices.
If both are vectors, they must have the same length. If both are matrices,
they must have the same size, and tfestimate
operates
columnwise: Txy(:,n) = tfestimate(x(:,n),y(:,n))
.
If one is a matrix and the other is a vector, then the vector is converted
to a column vector and internally expanded so both inputs have the
same number of columns.
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 If | 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 |
Note
You can use the empty matrix |
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
, then Txy
uses a
Hamming window of that length.
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 (in rad/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