3 Replies Latest reply on May 18, 2017 10:46 AM by Tom McHale

    PSD- Linear Dynamic simulation random vibration curve input

    Micha Vardy

      SW forum:

      I am trying to process time sample data in matlab in order to input into the selected base excitation frequency curve, I don't 100% understand what PSD is, how it works, and what units/normalized units, solidworks is expecting, I was thinking about using the periodogram function in matlab to return a PSD magnitude vector, however I am not sure how to match that with frequency vector, do you have any suggestions? thanks

        • Re:  PSD- Linear Dynamic simulation random vibration curve input
          Bill McEachern

          There is pretty decent, albeit simplified, explanation in the dynamics training manual. The PSD one uses is usually an" enveloped" version of that you would compute for the PSD - that is to say the one computed is approximated as a set of straight lines bounding the computed PSD.

          • Re:  PSD- Linear Dynamic simulation random vibration curve input
            Siavash Khajehhasani

            As an initial hint about PSD, I would say the most common type of acceleration PSD data in SW is g^2/Hz wherein this represents the magnitude of PSD (y axix) and frequency range (x axis) is better to represent in term of Hz. Please ote that PSD can be input in term of displacement and velocity as well, all depends on what sort of data you have.

            • Re:  PSD- Linear Dynamic simulation random vibration curve input
              Tom McHale

              Random vibration cannot be easily resolved in the time domain and so it is converted to the power spectral density (PSD) function which is based in the frequency domain. This conversion is a two step process. First, the random vibration is used to construct an auto-correlation function (ACF) and the PSD function is the result of the Fourier transformation of the ACF.


              The ACF is necessary due to the mathematical limitations of the Fourier transformation. It provides information on the dependence of the value of a random variable at one point in time to the value of the variable at another point in time. Phase shift and time information is lost at this stage but frequency information is retained.


              The Fourier transformation of the ACF provides the PSD function and effectively converts a complex signal into a signal that can be represented by sine waves of varying frequencies, these frequencies are then extracted and their amplitudes are converted into the frequency domain.


              In terms of the units, the PSD is expressed as (units of quantity)^2/Hz or (units of quantity)^2/(rad/s). Typically, it is hard to get experimental data for displacements and velocities so the units are normally based in terms of acceleration - g^2/Hz.


              The input into solidworks is actually very simple compared to the incredibly complex random vibration signal it is generated from. For example, in the training manual the data is expressed as two rows of data with Hz specified as X and g^2 specified as Y and X varies from 0 to 100 Hz and Y stays at 0.001 g^2 across this range.


              More information about this can be found on the help (linked below) but I also found a forum post which may help you manage all of this in MATLAB (also linked below).


              Obtaining power spectrum from ACF, FFT using Matlab and FFTW - Signal Processing Stack Exchange

              2017 SOLIDWORKS Help - Random Vibration Analysis