COMPLEX MODE INDICATOR FUNCTION
CMIF is defined as the eigenvalues solved from the normal matrix, which is formed from frequency response function (FRF) matrix.
CMIF can be computed from multiplication of normal matrix with its Hermitian matrix or by singular value decomposition (SVD) of normal matrix at each spectral line.
This function computes CMIF using "economy size" SVD.
[W, CMIF] = cmif(Y,window,noverlap,nfft,fs,fmax)
Y = p by m matrix of multiple reference time signals; "m" is
the number of reference measurements and "p" is the length of
measurement. For example, if you have data from seven
reference measurements (seven channels) with 1000 samples in
each measurement. Y should be a 1000x7 matrix
window = windowing function and number of samples to use for each
section (e.g., 1024)
noverlap = number of samples by which the sections overlap (e.g.,
nfft = FFT length which determines the frequencies at which the PSD
is estimated. If nfft is greater than the signal length, the
data is zero-padded. If nfft is less than the signal length,
the segment is wrapped so that the length is equal to nfft
fs = sampling frequency (e.g., 100 samples-per-second)
fmax = maximum value of frequency output vector (e.g., 20 Hz)
W = Frequency vector in Hz (1xn)
CMIF = CMIF function (mxn)
Example: Input matrix (Y) is seven channels time-signal sampled at 200
samples-per-second. Let us compute CMIF functions and plot them on
semi-log scale to identify fundamental frequencies.
fs = 200;
window = 1024;
noverlap = window/2;
nfft = length(Y);
fmax = 20;
[W,CMIF] = cmif(Y,window,noverlap,nfft,fs,fmax);
Shih, C.Y., Y.G. Tsuei, R.J. Allemang, and D.L. Brown (1988). Complex
mode indication function and its applications to spatial domain
parameter estimation, Mech. Syst. Signal Process. 2, no. 4, 367-377.
In preparing this function, I have benefitted from MatLAB help
document for CPSD, JZCMIF function written by Jaroslaw
Zwolski (also available at MathWorks file exchange), and the MatLAB
function written by H.Ulusoy.
Inspired by: CMIF - Complex Mode Indicator Function
Create scripts with code, output, and formatted text in a single executable document.