我正在做一个实验程序。我在汽车仪表板上安装了一个智能手机,在旅行期间,我从应用程序中读取了一些惯性传感器的价值。加速到位移
准确地说,我读了每秒注册的加速度计数据时间(以固定间隔)。
所以,现在我想从垂直加速度转移到垂直位移,为此,我应该进行双重积分。
我试过欧拉法。从最初的条件,如:
v0=0.v0=0
这是零时间的初始速度。
x0=0.x0=0
这是零时刻的初始位置。
限定,
deltaT=registrationinterval.deltaT=registrationinterval
(在我的情况0,04s)
然后为每个注册制成,我做的:
vi=vi−1+ayi∗deltaT.vi=vi−1+ayi∗deltaT
xi=xi−1+vi∗deltaT.xi=xi−1+vi∗deltaT
i
其中表示目前,还有先例。
但是我得到的图表并不是很现实,实际上速度和位移都只是增长,而我必须得到的效果是垂直位移出现类似于加速度图。
鉴于应用此程序,我也是一个很高的错误,有可能图形只是增长,我没有看到任何类型的垂直振荡?
我也读过卡尔曼滤波器可以提前应用来清洗信号,可能是解决方案吗?
或者我应该改变积分方法并从龙格库塔切换到欧拉? (但最后,我没有丝毫知道如何设置它)。
或者有人知道一个算法可以帮助我吗?
在这里有登记,如果是有帮助的数据的example: