The fdd algorithm module

This module provides implementation of the Frequency Domain Decomposition (FDD) algorithm [BZA01], the Enhanced Frequency Domain Decomposition (EFDD) algorithm [BVA01], and the Frequency Spatial Domain Decomposition (FSDD) algorithm [ZWT10], along with their adaptations for multi-setup experimental data [SARB21]. These algorithms are used in structural dynamics to identify modal parameters such as natural frequencies, damping ratios, and mode shapes from ambient vibration measurements.

Classes:
FDD

Implements the basic FDD algorithm for single setup modal analysis.

EFDD

Extends FDD to provide Enhanced FDD analysis.

FSDD

Implements the Frequency-Spatial Domain Decomposition, a variant of EFDD.

FDD_MS

Adapts FDD for multi-setup modal analysis.

EFDD_MS

Extends EFDD for multi-setup scenarios.

Important

Each class contains methods for executing the respective Frequency Domain Decomposition based algorithm, extracting modal parameters, plotting results, and additional utilities relevant to the specific FDD approach.

Note

Users should be familiar with the concepts of modal analysis and system identification to effectively use this module.

The FDD class

class pyoma2.algorithms.fdd.FDD(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)[source]

Bases: BaseAlgorithm

Frequency Domain Decomposition (FDD) algorithm for operational modal analysis.

This class implements the FDD algorithm, used to identify modal parameters such as natural frequencies, damping ratios, and mode shapes from ambient vibrations. The algorithm operates in the frequency domain and is suitable for output-only modal analysis.

RunParamCls

Class of the run parameters specific to the FDD algorithm.

Type:

Type[FDDRunParams]

ResultCls

Class of the results generated by the FDD algorithm.

Type:

Type[FDDResult]

data

Input data for the algorithm, typically a time series of vibration measurements.

Type:

Iterable[float]

ResultCls

alias of FDDResult

RunParamCls

alias of FDDRunParams

__init__(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)

Initialize the algorithm with optional run parameters and a name.

Parameters:
  • run_params (Optional[T_RunParams], optional) – The parameters required to run the algorithm. If not provided, can be set later.

  • name (Optional[str], optional) – The name of the algorithm. If not provided, defaults to the class name.

  • *args (tuple) – Additional positional arguments.

  • **kwargs (dict) – Additional keyword arguments used to instantiate run parameters if run_params is not provided.

mpe(sel_freq: List[float], DF: float = 0.1) Any[source]

Performs Modal Parameter Estimation (mpe) on selected frequencies using FDD results.

Estimates modal parameters such as natural frequencies and mode shapes from the frequencies specified by the user.

Parameters:
  • sel_freq (List[float]) – List of selected frequencies for modal parameter estimation.

  • DF (float, optional) – Frequency resolution for estimation. Default is 0.1.

Returns:

The method updates the results in the associated FDDResult object with the estimated modal parameters.

Return type:

None

mpe_from_plot(freqlim: tuple[float, float] | None = None, DF: float = 0.1) Any[source]

Extracts modal parameters interactively from a plot using selected frequencies.

This method allows for interactive selection of frequencies from a plot, followed by mpe at those frequencies.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency range for the interactive plot. Default is None.

  • DF (float, optional) – Frequency resolution for estimation. Default is 0.1.

Returns:

Updates the results in the associated FDDResult object with the selected modal parameters.

Return type:

None

plot_CMIF(freqlim: tuple[float, float] | None = None, nSv: int | None = 'all') Any[source]

Plots the Complex Mode Indication Function (CMIF) for the FDD results.

CMIF is used to identify modes in the frequency domain data. It plots the singular values of the spectral density matrix as a function of frequency.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency range for the CMIF plot. Default is None.

  • nSv (Optional[int], optional) – Number of singular values to include in the plot. Default is ‘all’.

Returns:

A tuple containing the Matplotlib figure and axes objects for the CMIF plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

run() FDDResult[source]

Executes the FDD algorithm on the input data and computes modal parameters.

Processes the input time series data to compute the spectral density matrix. It then extracts its singular values and vectors, which are crucial for modal parameter identification.

Returns:

An object containing frequency spectrum, spectral density matrix, singular values, and vectors as analysis results.

Return type:

FDDResult

set_run_params(run_params: T_RunParams) BaseAlgorithm

Set the run parameters for the algorithm.

Parameters:

run_params (T_RunParams) – The run parameters for the algorithm.

Returns:

Returns the instance with updated run parameters.

Return type:

BaseAlgorithm

Note

This method allows dynamically setting or updating the run parameters for the algorithm after its initialization.

The EFDD class

class pyoma2.algorithms.fdd.EFDD(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)[source]

Bases: FDD

Enhanced Frequency Domain Decomposition (EFDD) Algorithm Class.

This class implements the EFDD algorithm, an enhanced version of the basic FDD method. It provides more accurate modal parameters from ambient vibration data.

method

The method used in the analysis. Set to “EFDD” for this class.

Type:

str

RunParamCls

Class for the run parameters specific to the EFDD algorithm.

Type:

EFDDRunParams

ResultCls

Class for storing results obtained from the EFDD analysis.

Type:

EFDDResult

Note

Inherits from FDD and provides specialized methods and functionalities for EFDD-specific analyses.

ResultCls

alias of EFDDResult

RunParamCls

alias of EFDDRunParams

__init__(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)

Initialize the algorithm with optional run parameters and a name.

Parameters:
  • run_params (Optional[T_RunParams], optional) – The parameters required to run the algorithm. If not provided, can be set later.

  • name (Optional[str], optional) – The name of the algorithm. If not provided, defaults to the class name.

  • *args (tuple) – Additional positional arguments.

  • **kwargs (dict) – Additional keyword arguments used to instantiate run parameters if run_params is not provided.

mpe(sel_freq: List[float], DF1: float = 0.1, DF2: float = 1.0, cm: int = 1, MAClim: float = 0.85, sppk: int = 3, npmax: int = 20) Any[source]

Performs Modal Parameter Estimation (mpe) on selected frequencies using EFDD results.

Estimates modal parameters such as natural frequencies, damping ratios, and mode shapes from the frequencies specified by the user.

Parameters:
  • sel_freq (List[float]) – List of selected frequencies for modal parameter estimation.

  • DF1 (float, optional) – Frequency resolution for the first stage of EFDD. Default is 0.1.

  • DF2 (float, optional) – Frequency resolution for the second stage of EFDD. Default is 1.0.

  • cm (int, optional) – Number of closely spaced modes. Default is 1.

  • MAClim (float, optional) – Minimum acceptable Modal Assurance Criterion value. Default is 0.85.

  • sppk (int, optional) – Number of peaks to skip for the fit. Default is 3.

  • npmax (int, optional) – Maximum number of peaks to use in the fit. Default is 20.

Returns:

Updates the EFDDResult object with estimated modal parameters.

Return type:

None

mpe_from_plot(DF1: float = 0.1, DF2: float = 1.0, cm: int = 1, MAClim: float = 0.85, sppk: int = 3, npmax: int = 20, freqlim: tuple[float, float] | None = None) Any[source]

Performs Interactive Modal Parameter Estimation using plots in EFDD analysis.

Allows interactive selection of frequencies from a plot for modal parameter estimation. The method enhances user interaction and accuracy in selecting the frequencies for analysis.

Parameters:
  • DF1 (float, optional) – Frequency resolution for the first stage of EFDD. Default is 0.1.

  • DF2 (float, optional) – Frequency resolution for the second stage of EFDD. Default is 1.0.

  • cm (int, optional) – Number of clusters for mode separation. Default is 1.

  • MAClim (float, optional) – Minimum acceptable MAC value. Default is 0.85.

  • sppk (int, optional) – Number of spectral peaks to consider. Default is 3.

  • npmax (int, optional) – Maximum number of peaks. Default is 20.

  • freqlim (Optional[tuple[float, float]], optional) – Frequency limit for interactive plot. Default is None.

Returns:

Updates the EFDDResult object with modal parameters selected from the plot.

Return type:

None

plot_CMIF(freqlim: tuple[float, float] | None = None, nSv: int | None = 'all') Any

Plots the Complex Mode Indication Function (CMIF) for the FDD results.

CMIF is used to identify modes in the frequency domain data. It plots the singular values of the spectral density matrix as a function of frequency.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency range for the CMIF plot. Default is None.

  • nSv (Optional[int], optional) – Number of singular values to include in the plot. Default is ‘all’.

Returns:

A tuple containing the Matplotlib figure and axes objects for the CMIF plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

plot_EFDDfit(freqlim: tuple[float, float] | None = None, *args, **kwargs) Any[source]

Plots Frequency domain Identification (FIT) results for EFDD analysis.

Generates a FIT plot to visualize the quality and accuracy of modal identification in EFDD.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency limit for the FIT plot. Default is None.

  • *args – Additional arguments and keyword arguments for plot customization.

  • **kwargs – Additional arguments and keyword arguments for plot customization.

Returns:

A tuple containing the Matplotlib figure and axes objects for the EFDD FIT plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

run() FDDResult

Executes the FDD algorithm on the input data and computes modal parameters.

Processes the input time series data to compute the spectral density matrix. It then extracts its singular values and vectors, which are crucial for modal parameter identification.

Returns:

An object containing frequency spectrum, spectral density matrix, singular values, and vectors as analysis results.

Return type:

FDDResult

set_run_params(run_params: T_RunParams) BaseAlgorithm

Set the run parameters for the algorithm.

Parameters:

run_params (T_RunParams) – The run parameters for the algorithm.

Returns:

Returns the instance with updated run parameters.

Return type:

BaseAlgorithm

Note

This method allows dynamically setting or updating the run parameters for the algorithm after its initialization.

The FSDD class

class pyoma2.algorithms.fdd.FSDD(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)[source]

Bases: EFDD

Frequency-Spatial Domain Decomposition (FSDD) Algorithm Class.

This class provides the implementation of the Frequency-Spatial Domain Decomposition (FSDD) algorithm, a variant of the Enhanced Frequency Domain Decomposition (EFDD) method. The FSDD approach extends the capabilities of EFDD enhancing the accuracy of modal parameter estimation in operational modal analysis.

method

The method used in the analysis. Set to “FSDD” for this class.

Type:

str

RunParamCls

Class for specifying run parameters unique to the FSDD algorithm.

Type:

Type[EFDDRunParams]

ResultCls

Class for storing results obtained from the FSDD analysis.

Type:

Type[EFDDResult]

Inherits all methods from the EFDD class, with modifications for the FSDD approach.

Note

Inherits functionalities from the EFDD class while focusing on the unique aspects of the FSDD approach.

ResultCls

alias of EFDDResult

RunParamCls

alias of EFDDRunParams

__init__(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)

Initialize the algorithm with optional run parameters and a name.

Parameters:
  • run_params (Optional[T_RunParams], optional) – The parameters required to run the algorithm. If not provided, can be set later.

  • name (Optional[str], optional) – The name of the algorithm. If not provided, defaults to the class name.

  • *args (tuple) – Additional positional arguments.

  • **kwargs (dict) – Additional keyword arguments used to instantiate run parameters if run_params is not provided.

mpe(sel_freq: List[float], DF1: float = 0.1, DF2: float = 1.0, cm: int = 1, MAClim: float = 0.85, sppk: int = 3, npmax: int = 20) Any

Performs Modal Parameter Estimation (mpe) on selected frequencies using EFDD results.

Estimates modal parameters such as natural frequencies, damping ratios, and mode shapes from the frequencies specified by the user.

Parameters:
  • sel_freq (List[float]) – List of selected frequencies for modal parameter estimation.

  • DF1 (float, optional) – Frequency resolution for the first stage of EFDD. Default is 0.1.

  • DF2 (float, optional) – Frequency resolution for the second stage of EFDD. Default is 1.0.

  • cm (int, optional) – Number of closely spaced modes. Default is 1.

  • MAClim (float, optional) – Minimum acceptable Modal Assurance Criterion value. Default is 0.85.

  • sppk (int, optional) – Number of peaks to skip for the fit. Default is 3.

  • npmax (int, optional) – Maximum number of peaks to use in the fit. Default is 20.

Returns:

Updates the EFDDResult object with estimated modal parameters.

Return type:

None

mpe_from_plot(DF1: float = 0.1, DF2: float = 1.0, cm: int = 1, MAClim: float = 0.85, sppk: int = 3, npmax: int = 20, freqlim: tuple[float, float] | None = None) Any

Performs Interactive Modal Parameter Estimation using plots in EFDD analysis.

Allows interactive selection of frequencies from a plot for modal parameter estimation. The method enhances user interaction and accuracy in selecting the frequencies for analysis.

Parameters:
  • DF1 (float, optional) – Frequency resolution for the first stage of EFDD. Default is 0.1.

  • DF2 (float, optional) – Frequency resolution for the second stage of EFDD. Default is 1.0.

  • cm (int, optional) – Number of clusters for mode separation. Default is 1.

  • MAClim (float, optional) – Minimum acceptable MAC value. Default is 0.85.

  • sppk (int, optional) – Number of spectral peaks to consider. Default is 3.

  • npmax (int, optional) – Maximum number of peaks. Default is 20.

  • freqlim (Optional[tuple[float, float]], optional) – Frequency limit for interactive plot. Default is None.

Returns:

Updates the EFDDResult object with modal parameters selected from the plot.

Return type:

None

plot_CMIF(freqlim: tuple[float, float] | None = None, nSv: int | None = 'all') Any

Plots the Complex Mode Indication Function (CMIF) for the FDD results.

CMIF is used to identify modes in the frequency domain data. It plots the singular values of the spectral density matrix as a function of frequency.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency range for the CMIF plot. Default is None.

  • nSv (Optional[int], optional) – Number of singular values to include in the plot. Default is ‘all’.

Returns:

A tuple containing the Matplotlib figure and axes objects for the CMIF plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

plot_EFDDfit(freqlim: tuple[float, float] | None = None, *args, **kwargs) Any

Plots Frequency domain Identification (FIT) results for EFDD analysis.

Generates a FIT plot to visualize the quality and accuracy of modal identification in EFDD.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency limit for the FIT plot. Default is None.

  • *args – Additional arguments and keyword arguments for plot customization.

  • **kwargs – Additional arguments and keyword arguments for plot customization.

Returns:

A tuple containing the Matplotlib figure and axes objects for the EFDD FIT plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

run() FDDResult

Executes the FDD algorithm on the input data and computes modal parameters.

Processes the input time series data to compute the spectral density matrix. It then extracts its singular values and vectors, which are crucial for modal parameter identification.

Returns:

An object containing frequency spectrum, spectral density matrix, singular values, and vectors as analysis results.

Return type:

FDDResult

set_run_params(run_params: T_RunParams) BaseAlgorithm

Set the run parameters for the algorithm.

Parameters:

run_params (T_RunParams) – The run parameters for the algorithm.

Returns:

Returns the instance with updated run parameters.

Return type:

BaseAlgorithm

Note

This method allows dynamically setting or updating the run parameters for the algorithm after its initialization.

The FDD_MS class

class pyoma2.algorithms.fdd.FDD_MS(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)[source]

Bases: FDD

Frequency Domain Decomposition (FDD) Algorithm for Multi-Setup Analysis.

This class extends the standard FDD algorithm to handle data from multiple experimental setups. It’s designed to merge and analyze data from different configurations.

RunParamCls

Defines the run parameters specific to the FDD algorithm for multi-setup analysis.

Type:

Type[FDDRunParams]

ResultCls

Represents the class for storing results obtained from multi-setup FDD analysis.

Type:

Type[FDDResult]

data

The input data for the algorithm, typically a collection of vibration measurements from multiple setups.

Type:

Iterable[dict]

Note

Inherits the functionality from the standard FDD algorithm class, modifying it for application with multiple experimental setups.

ResultCls

alias of FDDResult

RunParamCls

alias of FDDRunParams

__init__(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)

Initialize the algorithm with optional run parameters and a name.

Parameters:
  • run_params (Optional[T_RunParams], optional) – The parameters required to run the algorithm. If not provided, can be set later.

  • name (Optional[str], optional) – The name of the algorithm. If not provided, defaults to the class name.

  • *args (tuple) – Additional positional arguments.

  • **kwargs (dict) – Additional keyword arguments used to instantiate run parameters if run_params is not provided.

mpe(sel_freq: List[float], DF: float = 0.1) Any

Performs Modal Parameter Estimation (mpe) on selected frequencies using FDD results.

Estimates modal parameters such as natural frequencies and mode shapes from the frequencies specified by the user.

Parameters:
  • sel_freq (List[float]) – List of selected frequencies for modal parameter estimation.

  • DF (float, optional) – Frequency resolution for estimation. Default is 0.1.

Returns:

The method updates the results in the associated FDDResult object with the estimated modal parameters.

Return type:

None

mpe_from_plot(freqlim: tuple[float, float] | None = None, DF: float = 0.1) Any

Extracts modal parameters interactively from a plot using selected frequencies.

This method allows for interactive selection of frequencies from a plot, followed by mpe at those frequencies.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency range for the interactive plot. Default is None.

  • DF (float, optional) – Frequency resolution for estimation. Default is 0.1.

Returns:

Updates the results in the associated FDDResult object with the selected modal parameters.

Return type:

None

plot_CMIF(freqlim: tuple[float, float] | None = None, nSv: int | None = 'all') Any

Plots the Complex Mode Indication Function (CMIF) for the FDD results.

CMIF is used to identify modes in the frequency domain data. It plots the singular values of the spectral density matrix as a function of frequency.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency range for the CMIF plot. Default is None.

  • nSv (Optional[int], optional) – Number of singular values to include in the plot. Default is ‘all’.

Returns:

A tuple containing the Matplotlib figure and axes objects for the CMIF plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

run() FDDResult[source]

Executes the FDD algorithm on multi-setup data for operational modal analysis.

Processes input data from multiple experimental setups to conduct frequency domain decomposition. The method computes spectral density matrices for each setup and then merges them to extract singular values and vectors.

Returns:

An object encapsulating the results of the FDD analysis for multi-setup data, including frequency spectrum, merged spectral density matrix, and associated singular values and vectors.

Return type:

FDDResult

set_run_params(run_params: T_RunParams) BaseAlgorithm

Set the run parameters for the algorithm.

Parameters:

run_params (T_RunParams) – The run parameters for the algorithm.

Returns:

Returns the instance with updated run parameters.

Return type:

BaseAlgorithm

Note

This method allows dynamically setting or updating the run parameters for the algorithm after its initialization.

The EFDD_MS class

class pyoma2.algorithms.fdd.EFDD_MS(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)[source]

Bases: EFDD

Enhanced Frequency Domain Decomposition (EFDD) Algorithm for Multi-Setup Analysis.

This class extends the EFDD algorithm to accommodate operational modal analysis across multiple experimental setups.

method

The method employed for multi-setup analysis (“EFDD”).

Type:

str

RunParamCls

Class for specifying run parameters unique to the EFDD algorithm for multi-setups.

Type:

EFDDRunParams

ResultCls

Class for storing results obtained from the multi-setup EFDD analysis.

Type:

EFDDResult

data

The input data, consisting of vibration measurements from multiple setups.

Type:

Iterable[dict]

Note

This class adapts the EFDD algorithm’s functionality for multiple experimental setups.

ResultCls

alias of EFDDResult

RunParamCls

alias of EFDDRunParams

__init__(run_params: T_RunParams | None = None, name: str | None = None, *args: Any, **kwargs: Any)

Initialize the algorithm with optional run parameters and a name.

Parameters:
  • run_params (Optional[T_RunParams], optional) – The parameters required to run the algorithm. If not provided, can be set later.

  • name (Optional[str], optional) – The name of the algorithm. If not provided, defaults to the class name.

  • *args (tuple) – Additional positional arguments.

  • **kwargs (dict) – Additional keyword arguments used to instantiate run parameters if run_params is not provided.

mpe(sel_freq: List[float], DF1: float = 0.1, DF2: float = 1.0, cm: int = 1, MAClim: float = 0.85, sppk: int = 3, npmax: int = 20) Any

Performs Modal Parameter Estimation (mpe) on selected frequencies using EFDD results.

Estimates modal parameters such as natural frequencies, damping ratios, and mode shapes from the frequencies specified by the user.

Parameters:
  • sel_freq (List[float]) – List of selected frequencies for modal parameter estimation.

  • DF1 (float, optional) – Frequency resolution for the first stage of EFDD. Default is 0.1.

  • DF2 (float, optional) – Frequency resolution for the second stage of EFDD. Default is 1.0.

  • cm (int, optional) – Number of closely spaced modes. Default is 1.

  • MAClim (float, optional) – Minimum acceptable Modal Assurance Criterion value. Default is 0.85.

  • sppk (int, optional) – Number of peaks to skip for the fit. Default is 3.

  • npmax (int, optional) – Maximum number of peaks to use in the fit. Default is 20.

Returns:

Updates the EFDDResult object with estimated modal parameters.

Return type:

None

mpe_from_plot(DF1: float = 0.1, DF2: float = 1.0, cm: int = 1, MAClim: float = 0.85, sppk: int = 3, npmax: int = 20, freqlim: tuple[float, float] | None = None) Any

Performs Interactive Modal Parameter Estimation using plots in EFDD analysis.

Allows interactive selection of frequencies from a plot for modal parameter estimation. The method enhances user interaction and accuracy in selecting the frequencies for analysis.

Parameters:
  • DF1 (float, optional) – Frequency resolution for the first stage of EFDD. Default is 0.1.

  • DF2 (float, optional) – Frequency resolution for the second stage of EFDD. Default is 1.0.

  • cm (int, optional) – Number of clusters for mode separation. Default is 1.

  • MAClim (float, optional) – Minimum acceptable MAC value. Default is 0.85.

  • sppk (int, optional) – Number of spectral peaks to consider. Default is 3.

  • npmax (int, optional) – Maximum number of peaks. Default is 20.

  • freqlim (Optional[tuple[float, float]], optional) – Frequency limit for interactive plot. Default is None.

Returns:

Updates the EFDDResult object with modal parameters selected from the plot.

Return type:

None

plot_CMIF(freqlim: tuple[float, float] | None = None, nSv: int | None = 'all') Any

Plots the Complex Mode Indication Function (CMIF) for the FDD results.

CMIF is used to identify modes in the frequency domain data. It plots the singular values of the spectral density matrix as a function of frequency.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency range for the CMIF plot. Default is None.

  • nSv (Optional[int], optional) – Number of singular values to include in the plot. Default is ‘all’.

Returns:

A tuple containing the Matplotlib figure and axes objects for the CMIF plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

plot_EFDDfit(freqlim: tuple[float, float] | None = None, *args, **kwargs) Any

Plots Frequency domain Identification (FIT) results for EFDD analysis.

Generates a FIT plot to visualize the quality and accuracy of modal identification in EFDD.

Parameters:
  • freqlim (Optional[tuple[float, float]], optional) – Frequency limit for the FIT plot. Default is None.

  • *args – Additional arguments and keyword arguments for plot customization.

  • **kwargs – Additional arguments and keyword arguments for plot customization.

Returns:

A tuple containing the Matplotlib figure and axes objects for the EFDD FIT plot.

Return type:

tuple

Raises:

ValueError – If the algorithm has not been run and no results are available.

run() FDDResult[source]

Executes the Enhanced Frequency Domain Decomposition (EFDD) algorithm on multi-setup data.

Processes input data from multiple experimental setups for operational modal analysis using the EFDD method. The method computes spectral density matrices for each setup and then merges them to extract singular values and vectors.

Returns:

An object encapsulating the results of the EFDD analysis for multi-setup data, including enhanced frequency spectrum, merged spectral density matrices, and associated singular values and vectors.

Return type:

EFDDResult

set_run_params(run_params: T_RunParams) BaseAlgorithm

Set the run parameters for the algorithm.

Parameters:

run_params (T_RunParams) – The run parameters for the algorithm.

Returns:

Returns the instance with updated run parameters.

Return type:

BaseAlgorithm

Note

This method allows dynamically setting or updating the run parameters for the algorithm after its initialization.