Skip to content

Latest commit

 

History

History
85 lines (53 loc) · 1.78 KB

README.md

File metadata and controls

85 lines (53 loc) · 1.78 KB

SSICOV Class

The SSICOV class a system identification method for structural health monitoring (SHM) using Stochastic Subspace Identification (SSI). It processes acceleration data to extract modal parameters of a structure.

Installation

pip install -r requirements.txt

Usage

Initialization

Create an instance of the SSICOV class with the required parameters.

import numpy as np
from SSICOV import SSICOV

ssicov = SSICOV(acc, fs, Ts, Nc, Nmax, Nmin)

Methods

NexT

Calculates the Impulse Response Function (IRF) using cross-correlation of the input acceleration data.

IRF = ssicov.NexT()

blockToeplitz

Generates the block Toeplitz matrix and performs Singular Value Decomposition (SVD).

U, S, V, T1 = ssicov.blockToeplitz(IRF)

modalID

Identifies modal parameters from the SVD components.

fn, zeta, phi = ssicov.modalID(U, S, Nmodes, Nyy, fs)

stabilityCheck

Checks the stability of the identified modes.

fn, zeta, phi, MAC, stability_status = ssicov.stabilityCheck(fn0, zeta0, phi0, fn1, zeta1, phi1)

getStablePoles

Filters and returns the stable poles from the identified modes.

fnS, zetaS, phiS, MACS = ssicov.getStablePoles(fn, zeta, phi, MAC, stability_status)

run

Runs the complete SSI process and returns the stable modal parameters.

fnS, zetaS, phiS, MACS, stability_status, fn2 = ssicov.run()
plotStabDiag(fn2, acc, fs, stability_status, Nmin, Nmax, acc.shape[1], 0, 7.5)

OUTPUT

STAB diagram

Utilities

The class uses several utility functions for timing and size printing. Ensure to include these utility functions in your project.

from utils import print_input_sizes, timeit