StructuralVibration.jl
StructuralVibration.jl
is a Julia package designed to generate vibration data for mechanical systems. This package can be used for educational and research purposes. As a teacher, you can use it to illustrate vibration theory and its practical implementation. As a researcher, you can use it to test new methods on synthetic data.
Warning
The package is under active development. The package is developed as part of my research activities on source identification in structural dynamics and acoustics.
Features
The package provides the following features:
Mechanical models
- Discrete models
- Spring-mass-damper SDOF system
- Spring-mass-damper MDOF system
- FE models of bar, rod, strings and beams
- Continuous models
- Longitudinal bars
- Torsional bars
- Strings
- Beams
- Rectangular plates
- Rectangular membranes
- State space model
- Continuous state-space representation
- Discrete state-space representation
- Zero-order hold (ZOH)
- First-order hold (FOH)
- Band-limited hold (BLH)
- RK4
Vibration data generation
- Excitation signals
- Rectangular wave
- Triangular wave
- Hammer impact
- Smoothed rectangular wave
- Sine wave
- Half-sine pulse
- Harversine pulse
- Swept sine wave
- Gaussian pulse
- Colored noise
- Solution for SDOF systems
- Free response
- Forced response due to a harmonic force or a base motion
- Forced response due to any external force or base motion (Duhamel’s integral)
- Time-domain integration schemes for linear second order systems
- Central difference scheme
- RK4
- Newmark-beta method
- Linear acceleration method
- Fox-Goodwin method
- HHT
- WBZ
- Generalized-alpha
- Mid-Point rule
- Frequency-domain calculations for linear systems
- Frequency spectrum
- Modal summation
- Direct method
- Frequency response function (FRF)
- Modal summation
- Direct method
- Frequency spectrum
- State-space solvers
- Time domain
- RK4 for continuous systems
- ZOH, FOH, BLH, RK4 for discrete models
- Frequency spectrum
- Modal summation
- Direct method
- Frequency response function (FRF)
- Modal summation
- Direct method
- Time domain
- Measurement noise
- Additive Gaussian white noise (agwn) with a prescribed SNR
- Additive Colored noise (acn)
- Multiplicative noise
- Mixed - agwn + multiplicative noise
- Signal processing
- Measurement noise variance estimation algorithms from noisy data
- Regularization-based estimation
- D’Errico’s method - Link to the Matlab version
- SNR estimation from estimated measurement noise variance
- Denoising algorithms
- Regularization
- Kalman filtering
- Modal extraction - SDOF methods
- Peak picking method
- Circle fit method
- Detrending data using polynomial fit
- Gradient calculation using interpolation
- Signal estimation
- Transfer functions estimation (H1, H2, H3, Hv)
- Welch method (PSD, ESD, Autopower, Autopower linear)
- Signal spectrum estimation
- Measurement noise variance estimation algorithms from noisy data
- Visualization
- Bode plot
- 2D and 3D Nyquist plot
- Waterfall plot
- General 2D plot
Reproducibility
License
This package is under MIT License.