2021-05-21 01:31 AM
4) Which FFT algorithm is best for my application (RFFT/CFFT)
5) After FFT will i get three output for x , y , z or only 1.
6) Output example of after FFT.
Solved! Go to Solution.
2021-05-24 07:54 AM
Hi @HPate.7 ,
you can find the answer to your first questions on the datasheet.
1- the range of the raw data depends on the number of bits used ( from -2^(n-1) to +2^(n-1) where n is the number of bits)
the number of bits depends on the mode you use (described in table 9, page 15)
2- the range in mg depends on the Full Scale you set through bits FS1 and FS0 in register CTRL_REG4 (23h)
it goes from +- 2g to +-16g
3- to retrieve the mg value from the raw data you need the sensitivity in table 3 page 10
following the formula data = sens * raw_data
4- I would use the RFFT for this type of data
5- you can apply the FFT to all axis and have 3 different FFTs or compute the absolute value and have only one FFT to compute
6- it depends on many values, but you can try to visualize the output values in a way you can check the values around 1 Hz , then you proceed to move the sensor one time per second and check if the values are higher there
hope this helps
Niccolò
2021-05-24 07:54 AM
Hi @HPate.7 ,
you can find the answer to your first questions on the datasheet.
1- the range of the raw data depends on the number of bits used ( from -2^(n-1) to +2^(n-1) where n is the number of bits)
the number of bits depends on the mode you use (described in table 9, page 15)
2- the range in mg depends on the Full Scale you set through bits FS1 and FS0 in register CTRL_REG4 (23h)
it goes from +- 2g to +-16g
3- to retrieve the mg value from the raw data you need the sensitivity in table 3 page 10
following the formula data = sens * raw_data
4- I would use the RFFT for this type of data
5- you can apply the FFT to all axis and have 3 different FFTs or compute the absolute value and have only one FFT to compute
6- it depends on many values, but you can try to visualize the output values in a way you can check the values around 1 Hz , then you proceed to move the sensor one time per second and check if the values are higher there
hope this helps
Niccolò
2021-05-28 12:52 AM
Hi @niccolo.ruffini ,
Thanks for the clarification.
1) which data i should use for FFT ? (Raw data / mg)
2) how i can use FFT output to get Acceleration peak value [m / s2], Acceleration rms [m / s2], Velocity m/s, Displacement m
2021-05-28 01:55 AM
Hi @HPate.7 ,
you are welcome =)
1) I would use mg values, so that it is easier to read the data in FFT format
2)
a) isn't the peak value the maximum value of the acceleration in the timeframe of the FFT? you don't need the FFT, in my opinion
b) the rms is computed even without the FFT, by using the formula
c) for the velocity you should integrate the signal, not the FFT, but the results may be not accurate because of environmental noise
d) for the displacement you should integrate the velocity signal, but the error propagates even further
hope this helps
Niccolò
p.s. if you found a solution to your problem, please, select a best answer to help other users with similar issues
2021-05-28 04:29 AM
Thanks @niccolo.ruffini ,
From IIS2DH sensor, i need to collect below details,
please suggest formula to get below value.
1) Acceleration FFT [m / s2] (2 to maximum Hz)
2) Speed FFT [mm / s] (2-1kHz) → Rotation speed [rpm]
3) Acceleration HFFT [m / s2] (2 to maximum Hz) → Sum of amplitude level values of 3 characteristic frequencies (different for each motor)
4) Acceleration peak value [m / s2] (2 to maximum Hz)
5) Acceleration rms [m / s2] (2 to maximum Hz)
6) Speed rms [mm / s] (2-1kHz)
7) Displacement rms [μm] (2-1kHz)
2021-05-28 05:20 AM
Hi @HPate.7 ,
I think this could be worth a new post, because it is a totally different question from the one in the original post.
Niccolò