Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted

06-19-2019 04:10 PM

Options

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Labels:

Ive made a project for measuring G rms from accelerometers. i sample 512 samples, get the spectrum and calculate G rms overall value as described in this site:

this seem to be working fine. i test by using a function generator and feeding various voltage waveforms into the daq, and i get the same value when i calculate using spectrum as described above, as if i use labviews rms function and use it on time domain samples. So i assume this is working. Attached is a reduced version of this program, i hope this is also working (that i havent done mistakes when reducing the program).

Now i need to get velocity (mm/s) instead of acceleration. Ive read a couple of places that i can integrate in frequency domain by dividing each spectral line by omega. actually several places ive found that dividing by omega will double integrate to displacement (and a couple of places say it will just integrate). which is true? if dividing by omega is double-integrate is dividing by sqrt(omega) single integrate?

Please comment on my attached VI where i have tried to implement this to achieve overall RMS mm/s values.

i do not have access to SVT btw.

Also, if anyone is familiare with iso ISO 10816 and know if this is the reccomended way to integrate according to this standard it be glad to hear.

Solved! Go to Solution.

Solution

Accepted by topic author JanEgilGlaestad

06-19-2019 04:43 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Sinusoidal displacement at angular frequency omega can be expressed as *x* = **X***sin(*omega*t*) where *t* is time and **X** is the displacement amplitude.

Differentiating to get velocity gives *v* = *omega****X***cos(*omega***t*), so *omega***x* with a 90 degree phase shift. This can be also expressed as *v* = **j****omega**sin(*omega***t*) = **j****omega***x* where **j**^2 = -1.

Differentiating again to get acceleration gives *a* = -*omega*^2***X***sin(*omega***t*), so *omega*^2**x* with a 180 degree phase shift or *a* = -*omega*^2**x*. Expressing this in terms of velocity *a* = *omega***v* with a further 90 degree phase shift or *a* = **j****omega***v*.

To get velocity from acceleration, divide by (**j****omega*). However, if you are not concerned about phase (such as with an autopower spectrum), just ignore the **j** and divide by *omega* instead.

Andy

06-19-2019 11:25 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Thanks, this answers my question.

a follow up question; will the way im handling window correction factor and the way im summing into an overall rms value be affect by having done an integration?

please see how i did this in the code. seemed to work fine in the acceleration version (G).

06-20-2019 04:49 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Nevermind, Ive tested by feeding sinewave into the program and my handling window correction factor and the way im summing into an overall rms value seem ok. im getting same result when i test with this calculator:

https://www.hansfordsensors.com/resources/vibration-calculator/

so the mm/s-code is ok when i change sqrt(omega) to just omega.

06-20-2019 05:17 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Apply all the window corrections to the acceleration signal before any further calculation then calculate the overall level as an energy sum (the square root of the sum of the squared values).

I think this is mostly what you are already doing, but you have the energy correction in the wrong place.

You can apply the corrections directly to the 2D array of magnitudes before starting the overall level calculation.

06-21-2019 06:00 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Did you convert your g values to SI units first?

Greetings from Germany

Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

06-21-2019 06:31 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

For the velocity-version i started with m/s^2 when i created the channel,

-then multiplied by 1000 to get mm/s^2.

-then i used the PS/PSD.vi to get power spectrum.

-spectrum unit conversion.vi to convert to mm/s^2 amplitude spectrum RMS

-i divide spectrum by 2 (i believe this is necesary for stripping hanning amplitude correction, which i think has been applied by labview VI's. and it seem to give correct results)

-i calculate overall level as an energy sum (the square root of the sum of the squared values).

-i multiply by 1.63 hanning energy correction

For the acceleration version, where i calculated G rms i stayed with G all the way thru.