Ecompass算法和卡尔曼滤波

3视图(30天)
Mattia Vesperini
Mattia Vesperini 2020年1月24日
回答: 维姆Rathod 2020年1月31日
你好,我使用ecompass算法分析磁强计和加速度计信号。处理我的数据与输入:我需要一个卡尔曼滤波器(四元数/欧拉角)和陀螺仪。我怎样才能实现它呢?
3评论
Mattia Vesperini
Mattia Vesperini 2020年1月27日
编辑:Mattia Vesperini 2020年1月27日
我咨询了这个链接,我无法理解如何在kallmanfilter输入我的数据。我附上我的代码:
取向= ecompass (accelerometerReading magnetometerReading);
rotationvector = rotvecd(方向);
quaterionEulerAngles = eulerd(取向,“ZYX股票”,“帧”)

登录置评。

答案(1)

维姆Rathod
维姆Rathod 2020年1月31日
使用卡尔曼滤波分析信号首先必须创建一个将直接通过状态空间模型的噪声协方差 卡尔曼滤波函数。
请参考以下链接了解更多关于如何创建一个状态空间模型。
请参考以下链接了解更多关于如何应用卡尔曼滤波器使用状态空间模型
如果你只是想估计读数的方向加速度计和陀螺仪数据,您可以使用imufilter函数返回一个卡尔曼滤波器对象可用于信号直接读数。
请参考以下链接更信息化的 imufilter 函数和 保险丝 使用对象时将返回imufilter。
参考下面的示例代码了解如何使用它。在以下示例中给出的简单版本但你可以设置不同的属性过滤器通过不同的输入imufilter函数。
%返回一个卡尔曼滤波器对象。
保险丝= imufilter;
%生成对方向和角速度估计
[定位、angularVelocity] =保险丝(accelReadings gyroReadings);
希望这可以帮助!

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的