mPOD¶
- modulo_vki.modulo.ModuloVKI.mPOD(self, Nf, Ex, F_V, Keep, SAT, boundaries, MODE, dt, SAVE=False, K_in=None, Sigma_type='accurate', conv_type: str = '1d', verbose=True)¶
Multi-Scale Proper Orthogonal Decomposition (mPOD) of a signal.
- Parameters:
Nf (np.array) – Orders of the FIR filters used to isolate each scale. Must be of size len(F_V) + 1.
Ex (int) – Extension length at the boundaries to impose boundary conditions (must be at least as large as Nf).
F_V (np.array) – Frequency splitting vector, containing the cutoff frequencies for each scale. Units depend on the temporal step dt.
Keep (np.array) – Boolean array indicating scales to retain. Must be of size len(F_V) + 1.
SAT (int) – Maximum number of modes per scale.
boundaries ({'nearest', 'reflect', 'wrap', 'extrap'}) – Boundary conditions for filtering to avoid edge effects. Refer to: https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html
MODE ({'reduced', 'complete', 'r', 'raw'}) – Mode option for QR factorization, used to enforce orthonormality of the mPOD basis to account for non-ideal filter responses.
dt (float) – Temporal step size between snapshots.
SAVE (bool, default=False) – Whether to save intermediate results to disk.
K_in (np.array, default = none) – K matrix. If none, compute it with D.
Sigma_type ({'accurate', 'fast'}) – If accurate, recompute the Sigmas after QR polishing. Slightly slower than the fast option in which the Sigmas are not recomputed.
conv_type ({'1d', '2d'}) – If 1d, compute Kf applying 1d FIR filters to the columns and then rows of the extended K. More robust against windowing effects but more expensive (useful for modes that are slow compared to the observation time). If 2d, compute Kf applying a 2d FIR filter on the extended K.
- Returns:
Phi_M (np.array) – Spatial mPOD modes (spatial structures matrix).
Psi_M (np.array) – Temporal mPOD modes (temporal structures matrix).
Sigma_M (np.array) – Modal amplitudes.