A structural health monitoring Python code to detect small changes in frequencies - Nedelcu, Dorian; Gillich, Gilbert-Rainer (Mechanical systems and signal processing, 2021)
•A new frequency estimation algorithm and an application written in Python (PyFEST) are introduced.•The high accuracy of PyFEST is demonstrated involving generated signals with known frequencies.•The application is tested for real systems to detect small mass changes and quantify frequency changes due to damage.•Structural alteration is observed in a very early state and the position of damage is found precisely. Observing the occurrence of cracks in the early stage remains a challenge, as changes in the modal parameters produced by these cracks are small. This remark is also valid for deeper cracks because in most experiments it is possible to acquire short signals, which ensure a coarse frequency resolution. Therefore, the accurate estimation of frequency by standard methods is impossible. To improve frequency readability, we designed an algorithm that we implemented in the PyFEST application, written in Python programming language. It allows a fast and accurate calculation of harmonic components of a signal. PyFEST is based on an original signal post-processing algorithm, which consists of overlapping spectra for the signal iteratively cropped. The different signal lengths ensure different positions of the spectral lines in the overlapped spectrum. Therefore, adding numerous spectral lines of different positions in the overlapped spectrum we obtain a dense spectrum with significantly increased frequency resolution. From this spectrum, we select the three magnitudes of the individual spectra found in the frequency range of interest. By interpolation, we attain the maximum that has usually an inter-line position representing the estimated frequency. To this frequency, we apply a correction term that is known a priori and so we improve the frequency estimation. To test the reliability of PyFEST, we provide examples for signals generated with known frequencies that have one or more harmonic components. For signals containing one harmonic component the exact frequency was found, while for signals with multiple components the error are less than 0.1%. The frequency change is exactly estimated for both types of signals. Because PyFEST allows observing minor frequency changes, so we succeed to localize the crack position and severity in real beams with high precision.