0
\$\begingroup\$

I’m using Arduino 33 Sense IMU to measure vibrations and I have tweaked it up to about 400Hz. However, the object (motor) I’m measuring can have a vibration frequency of up to 10kHz.

My question is; how does the frequency limitation on the IMU affect the measurement? Will the m/s^2 be correct for a e.g. a second or will I miss out on data?

I’m having hard time testing this due to I don’t have a test equipment.

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Can you measure 10kHz with an 0.4kHz sensor? Not well. \$\endgroup\$
    – user16324
    Commented Oct 14, 2021 at 19:31
  • \$\begingroup\$ Thousands separators vary by location and language, so "10.000" could either mean "ten thousand" or it could mean "10 with an accuracy to 3 decimal places". Please use SI units for expressing this kind of thing where possible - so if you mean "10 thousand Hertz" here, then "10kHz" is unambiguous. \$\endgroup\$
    – brhans
    Commented Oct 14, 2021 at 20:21

2 Answers 2

3
\$\begingroup\$

That particular product uses an LSM9DS1 MEMS IMU.

When you set the frequency, you are setting the frequency cutoff of the internal anti-aliasing filter.

There should be minimal aliasing, but the bandwidth will be limited to the 408Hz, assuming you have set the ODR (Output Data Rate) and filter to the maximum.

enter image description here

If you increase the ODR but set the anti-aliasing filter to a lower number, the output will roll off at a lower frequency than 408Hz.

If you have a large amount of high frequency vibration (which seems unlikely in most situations) it may come across as greatly attenuated aliased signal and/or a DC shift.

If you have no idea whatsoever what signal there is, it's probably a good idea to somehow borrow something (perhaps a calibrated piezo sensor) that will tell you what is there in the high-frequency part of the spectrum. It's possible a microphone could be of help if you can't do that. You'll need to sample at typical audio sampling frequencies, 48kHz is good, but definitely well over 20kHz to get 10kHz bandwidth.

\$\endgroup\$
2
\$\begingroup\$

You will alias. When you sample a signal, you must sample faster than twice the highest frequency content in that signal. Otherwise, the higher frequencies will sort of disguise themselves as lower frequencies.

\$\endgroup\$
3
  • \$\begingroup\$ Thank you @Scott for explaining. I’m not actually interested in the frequencies but rather the movement (m/s^2). Will that be affected or is it “just” the frequency. So I’m guessing my question is actually: Does the IMU add up the vibrations from higher frequency than it self has? \$\endgroup\$
    – Rolf
    Commented Oct 15, 2021 at 7:05
  • \$\begingroup\$ @Rolf -- as Sphero points out, the 400Hz is a digital filter cutoff, so you won't actually alias -- you just won't see frequencies above that amount. No, the IMU won't do anything to frequencies above the cutoff, and if you have no frequencies below that, you won't detect the movement. It looks like you may be using the wrong tool for the wrong job. \$\endgroup\$ Commented Oct 15, 2021 at 14:18
  • \$\begingroup\$ My recommendation would be to use some sort of piezo-device, High-pass filter that, and then rectify and low-pass filter that to detect something related to your vibration envelope. \$\endgroup\$ Commented Oct 15, 2021 at 14:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.