pyOMA.core.PostProcessingTools.pair_modes#
- pyOMA.core.PostProcessingTools.pair_modes(freq_a, freq_b, shapes_a, shapes_b, freq_thresh=0.2, mac_thresh=0.8)[source]#
A function to pair two sets of modes (here: a and b) based on frequency differences and mode shape similarity. The number of modes in both sets may be different and relative complements of both arrays may be non-empty.
The threshold where pairing stops is based on normalized frequency differences AND modal assurance criteria.
- Parameters:
f_a (np.ndarray) – Arrays holding the natural frequencies of both sets of modes. The dimension (number of modes) of both sets can be different.
f_b (np.ndarray) – Arrays holding the natural frequencies of both sets of modes. The dimension (number of modes) of both sets can be different.
d_a (np.ndarray) – Arrays holding the damping ratios of both sets of modes. The dimension (number of modes) of both sets can be different.
d_b (np.ndarray) – Arrays holding the damping ratios of both sets of modes. The dimension (number of modes) of both sets can be different.
phi_a (np.ndarray) – Arrays holding the mode shapes of both sets of modes. The first dimension is the number of channels, that must match in both arrays.
phi_b (np.ndarray) – Arrays holding the mode shapes of both sets of modes. The first dimension is the number of channels, that must match in both arrays.
kwargs – Additional kwargs are passed to pair_modes
- Returns:
inds_a, inds_b (np.ndarray,) – Arrays holding the indices of paired modes sorted by ascending frequencies (set a). Length represents the number of common modes.
unp_a, unp_b (np.ndarray) – Arrays holding the indices of modes that could not be paired