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')
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.
FFT length which determines the frequencies at which the PSD 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.
If nfft is greater than the signal length, the data is zero-padded. If nfft is less than the signal length, the data segment is wrapped so that the length is equal to nfft.
Maximum of 256 or the next power of 2 greater than the length of each section of x or y
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 x into eight sections and then applying the default or specified overlap.
Number of samples by which the sections overlap
Value to obtain 50% overlap
Note You can use the empty matrix  to specify the default value for any input argument except x or y. For example, Txy = tfestimate(x,y,,,128) uses a Hamming window with default length, as described above, default 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, then Txy uses a Hamming window of that length.
[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.
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 Pyx, the cross power spectral density of x and y, and Pxx, the power spectral density of x: