Owning Class: spectral analysis
Requires: MathScript RT Module
tf_estimate(x, y)
tf_estimate(x, y, fftsize, fs, window)
tf_estimate(x, y, fftsize, fs, window, noverlap)
tf_estimate(x, y, fftsize, fs, window, noverlap, flag)
H = tf_estimate(x, y)
H = tf_estimate(x, y, fftsize, fs, window)
H = tf_estimate(x, y, fftsize, fs, window, noverlap)
H = tf_estimate(x, y, fftsize, fs, window, noverlap, flag)
[H, f] = tf_estimate(x, y)
[H, f] = tf_estimate(x, y, fftsize, fs, window)
[H, f] = tf_estimate(x, y, fftsize, fs, window, noverlap)
[H, f] = tf_estimate(x, y, fftsize, fs, window, noverlap, flag)
Legacy Name: tfe
Estimates the transfer function from the stimulus and response. If you do not specify an output, this function plots the magnitude of the estimated transfer function in the current plot window.
| Name | Description | ||||||
|---|---|---|---|---|---|---|---|
| x | Specifies the stimulus signal. | ||||||
| y | Specifies the response signal stimulated by x. length(y) must equal length(x). | ||||||
| fftsize | Specifies the length of the FFT to perform on each segment of data. The default is the minimum of 256 and the length of x. | ||||||
| fs | Specifies the sampling frequency. The default is 2. | ||||||
| window | Specifies the window to apply to x and y. The length of the window must be less than or equal to fftsize. The default is a Hanning window with a length of fftsize. | ||||||
| noverlap | Specifies the number of overlapping data elements between adjacent segments of data. noverlap must be less than the length of window. The default is 0. | ||||||
| flag | Specifies the method to use to preprocess x and y before applying the window. flag is a string that accepts the following values.
|
| Name | Description |
|---|---|
| H | Returns the transfer function. If x and y are real, the length of H is fftsize / 2 + 1 for an even fftsize and (fftsize + 1) / 2 for an odd fftsize. If x and y are complex, the length of H is fftsize. |
| f | Returns the frequencies that correspond to H. |
This function uses the Welch method to compute the power spectrum of x and the cross power spectrum of x and y. LabVIEW uses the following equation to compute the transfer function: H(f) = Pxy(f)/Pxx(f)
This function is supported in the LabVIEW Run-Time Engine only if you request an output from the function. This function can remain in your scripts when you build a stand-alone application or shared library, but if you do not request an output, the LabVIEW Run-Time Engine does not execute this function. If you request an output, the LabVIEW Run-Time Engine executes this function as normal.
fs = 1000;
T = 2;
t = 0:1 / fs:T-1 / fs;
fftsize = 512;
window = win_hann2(fftsize);
noverlap = fftsize / 2;
dflag = 'none';
xn = randnormal(1, length(t));
h = fir_win(5, 0.2, 'low', win_hann2(6));
yn = filter(h, 1, xn);
[H, f] = tf_estimate(xn, yn, fftsize, fs, window, noverlap, dflag);