Member of the spectral analysis class.
cohere(x, y)
cohere(x, y, nfft, fs, window)
cohere(x, y, nfft, fs, window, noverlap)
cohere(x, y, nfft, fs, window, noverlap, flag)
Rxy = cohere(x, y)
Rxy = cohere(x, y, nfft, fs, window)
Rxy = cohere(x, y, nfft, fs, window, noverlap)
Rxy = cohere(x, y, nfft, fs, window, noverlap, flag)
[Rxy, f] = cohere(x, y)
[Rxy, f] = cohere(x, y, nfft, fs, window)
[Rxy, f] = cohere(x, y, nfft, fs, window, noverlap)
[Rxy, f] = cohere(x, y, nfft, fs, window, noverlap, flag)
Uses the Welch method to estimate the coherence of two signals. If you do not specify an output, this function plots the coherence in the current plot window.
| Name | Description | ||||||
| x | Specifies the first input sequence. | ||||||
| y | Specifies the second input sequence. length(y) must equal length(x). | ||||||
| nfft | 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 nfft. The default is a Hanning window with a length of nfft. | ||||||
| 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 |
| Rxy | Returns the coherence of the input signals x and y. If x and y are real, the length of Rxy is nfft/2 + 1 for an even nfft and (nfft + 1) / 2 for an odd nfft. If x and y are complex, the length of Rxy is nfft. |
| f | Returns the frequencies that correspond to Rxy. |
This function uses the Welch method to compute the power spectrum of x, the power spectrum of y, and the cross power spectrum of x and y. LabVIEW uses the following equation to compute the coherence of x and y: R_xy(f) = |P_xy(f)|^2/(P_xx(f)*P_yy(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;
nfft = 256;
noverlap = nfft / 2;
window = hanning(nfft);
dflag = 'none';
xn = sin(2*pi*100*t) + randn(1, length(t));
h = fir1(5, 0.2, 'low', hanning(6));
yn = filter(h, 1, xn);
[Rxy, f] = cohere(xn, yn, nfft, fs, window, noverlap, dflag);