Calculating displacement from acceleration

Click For Summary
The discussion revolves around the challenges of calculating displacement from acceleration data obtained via an accelerometer, where the expected peak-to-peak displacement is around 1 cm, but the results show approximately 5 cm. The user is utilizing Matlab to transform the signal to the frequency domain for integration, a method suggested by an engineer to reduce errors. The data collection involves measuring chiropractic thrusts on sheep, with accelerometers attached to vertebrae, and the user notes that the initial displacement was not zeroed out. Participants suggest that potential errors could stem from not accounting for linear or parabolic shifts during integration, and they recommend examining the raw data for scale factors and other inconsistencies. The user seeks guidance on specific steps to identify and rectify these issues.
mac101
Messages
3
Reaction score
0
Hi All,

I have acceleration data from an accelerometer. I tried integrating it twice to calculate displacement. The problem is that its off. I am expecting about 1 cm peak to peak but instead getting about 5 cm peak to peak.

The Matlab program we use transforms the signal from a time to frequency domain then change it back after integration.

I attached a sample data set. The first column shows displacement in mm, this is the measured displacement we are trying to match. The second shows acceleration in volts. The first 3000 samples are the reading with 1 g. A change of 0.198 v causes a 1 g change.

The sampling rate is 5000 Hz.

I have been trying to figure this out for months with no luck.

Any help would be appreciated.

Thank you for your time.
 

Attachments

Physics news on Phys.org
Hi and welcome.

Why are you using the frequency domain for this? What motion is it that you are investigating? Why doesn't the displacement start with zero?
Some more background would be useful.
I think you need to describe what's going on before we can help. Also, a graph plot would be more easy to understand than the raw data. Few of us would be bothered to do that before giving an answer.
 
Thank you very much for the reply. I apologize for not putting any graphs, I should have thought about that. I added it to the file and uploaded it to this reply. Hopefully it posts.

The displacement data is captured by LVDT. The reason it doesn't start at zero is that it wasn't zeroed out. The person collecting the data forgot to do that but since we are interested in peak to peak displacements, that didn't matter.

As for what we are using this for. This is used to study chiropractic thrusts on the back of sheep. The thrusts are done mechanically by a device. Accelerometers are attached to the vertebrae and device. We are interested in calculating the displacement of the vertebrae which should be about half to 1-2 mm at the most. However, to make sure out methods are correct, we wanted to see if the displacement of the device would be similar or even in the ball park of displacements calculated from the Accelerometer attached to it and the LVDT.

As for converting it to a frequency domain. That was actually a recommendation by an engineer (that i cannot get a hold of right now), he to me there's potential for lots of error if we just integrate (that what we were originally doing) and that changing to a fluency domain would take out these issues. Having said that, I'm not expert so I cannot tell you what these exact errors are.

Again, thank you very much and I really hope someone could help me figure this out.
 

Attachments

  • acceleration.gif
    acceleration.gif
    8.7 KB · Views: 824
  • displacement.gif
    displacement.gif
    9.5 KB · Views: 826
Last edited:
Perhaps the frequency domain was used for filtering out the noise.
It would not be hard to subtract a constant slope from the data, if that's all that's wrong but is it just linear? You may need also to deal with a parabolic shift from the first integration.

There are many possible reasons for a wrong scale factor. There could be places where 2pi was omitted, for instance. You would need to unpick what was done to the raw data.
 
First of all I would like to thank you very much for your help.

Are there particular steps to test the potential causes? I attached an image of what Matlab gives me. On the top is the acceleration data, in the middle is the velocity, and the displacement is at the bottom. The displacement is in meters so peak to peak displacement is approximately from -0.025 to 0.025 giving me a 0.05 displacement which doesn't make sense.

Again, thank you very much!
 

Attachments

  • Matlab Output.gif
    Matlab Output.gif
    22.5 KB · Views: 993
For simple comparison, I think the same thought process can be followed as a block slides down a hill, - for block down hill, simple starting PE of mgh to final max KE 0.5mv^2 - comparing PE1 to max KE2 would result in finding the work friction did through the process. efficiency is just 100*KE2/PE1. If a mousetrap car travels along a flat surface, a starting PE of 0.5 k th^2 can be measured and maximum velocity of the car can also be measured. If energy efficiency is defined by...

Similar threads

  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 7 ·
Replies
7
Views
1K
  • · Replies 49 ·
2
Replies
49
Views
4K
Replies
4
Views
1K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 12 ·
Replies
12
Views
24K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
11
Views
24K
  • · Replies 35 ·
2
Replies
35
Views
5K