LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

如何将采集到的加速度信号转换成位移?

如何将采集到的加速度信号转换成位移?

本人应用采集卡采集数据,采用的是光纤加速度传感器,得到加速度信号,现在要求得到该采集信号的位移值,所以要进行数据的转化——积分。
在对采集信号值进行积分时候遇到困难了,希望路过的高手给予指导和帮助。
遇到的问题:
1)采集的加速度信号如何用连续积分二次来实现其位移值,我看了很多帖子,没有得到满意的答案,例如能对一个随机信号进行二次积分。
2)在加速度积分变成位移的过程中要注意什么问题。
希望高手指点~~
0 Kudos
Message 1 of 5
(6,598 Views)

The first thing to do in this situation is to understand conceptually the relationship between acceleration and displacement.

Acceleration is the second derivative of displacement, or conversely, displacement is the second integral of acceleration.

 

Since you have discrete points, rather than a function, this would just be two sums.

Do both your velocity and acceleration start at 0? If so, this would make it easier, if not, its not that big of a problem.

 

Just set up a for loop to run through your array of acceleration data, and calculate the displacement from there.


For i in accerationArray: (where accelerationArray is an array of your data)
  product = i * dX

  velocity += product (this will serve as a counter for your current velocity)

  velocityArray[i] = velocity

end

 

For  j in velocityArray:

  product = j * dX

  displacement += product

  displacementArray[j] = displacement

end

 

 

Once you aquire acceleration data into a data array, you can generate a corresponding velocity and displacement array accordingly. 

 

 

I apoligize for the text code, but I dont have LabVIEW on this computer Smiley Sad

Let me know if my explination was confusing.

 

Cory K
0 Kudos
Message 2 of 5
(6,586 Views)

Note : I deliberately did not initialize 'velocity' or 'displacement'.

You should use your initial values from your test for initialization.

If the object starts at rest, both values will be initialized to 0.

Cory K
0 Kudos
Message 3 of 5
(6,584 Views)

我的问题和你一样,请问你解决了吗?如果解决了,希望给些指点。

0 Kudos
Message 4 of 5
(5,217 Views)

我用的逐点积分,但是效果不好。请问您解决了吗?

0 Kudos
Message 5 of 5
(626 Views)