• 一种多源信息融合方法及其应用(Matlab代码实现)


     👨‍🎓个人主页:研学社的博客 

    💥💥💞💞欢迎来到本博客❤️❤️💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    📋📋📋本文目录如下:🎁🎁🎁

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码实现


    💥1 概述

    多源信息融合(简称为信息融合)是指组合和合并多个来源的信息或数据以便形成一个统一结果的技术。它起源于军事领域中的多传感器综合应用,往往又叫多传感器数据融合(或数据融合),是对人或动物利用各种感官来获取信息并通过大脑综合分析来认识客观世界的一种功能模拟。随着研究的进展,信息融合领域中的“传感器”泛指各种信息来源,除了电子传感器,还包括数据库、网络系统等等。借助机器系统实现信息融合,既能有效地提高系统性能,也能扩展人的认识能力、辅助人类决策、提高解决问题的效率。因此,信息融合技术在军事和民用领域都有广阔的应用前景。近几年来,随着信息科技的发展,国内外掀起了信息融合技术研究的新热潮。

    信息融合本质上是对大脑综合分析信息能力的模拟,其目的是要获得对事物(包括实体、关系和事件)的认识或相关知识,以促进有效决策。其中,实体既包括各个目标对象也包括融合主体(系统或人),关系反映了实体间的关联和所处情境,而事件一般跟时间有关,反映了实体的动态行为、状态或关系的变化(包括某种情境中实体的出现与消失)。信息融合的核心任务包括:(1)多源信息组合、优势互补,提高信息的完整性;(2)排除冗余与噪声、降低不确定性,提高信息的精确度和可靠性;(3)化解矛盾、去伪存真,提高信息的一致性和可信度。各任务相辅相成,由此带来很多其它好处,如扩展系统时空覆盖范围、提高信息和资源的利用率,支持更有效的推理与决策,改善系统整体性能等等。

    📚2 运行结果

     

    部分代码:

    load('ExampleData.mat');

    figure('Name', 'Sensor Data');
    axis(1) = subplot(3,1,1);
    hold on;
    plot(time, Gyroscope(:,1), 'r');
    plot(time, Gyroscope(:,2), 'g');
    plot(time, Gyroscope(:,3), 'b');
    legend('X', 'Y', 'Z');
    xlabel('Time (s)');
    ylabel('Angular rate (deg/s)');
    title('Gyroscope');
    hold off;
    axis(2) = subplot(3,1,2);
    hold on;
    plot(time, Accelerometer(:,1), 'r');
    plot(time, Accelerometer(:,2), 'g');
    plot(time, Accelerometer(:,3), 'b');
    legend('X', 'Y', 'Z');
    xlabel('Time (s)');
    ylabel('Acceleration (g)');
    title('Accelerometer');
    hold off;
    axis(3) = subplot(3,1,3);
    hold on;
    plot(time, Magnetometer(:,1), 'r');
    plot(time, Magnetometer(:,2), 'g');
    plot(time, Magnetometer(:,3), 'b');
    legend('X', 'Y', 'Z');
    xlabel('Time (s)');
    ylabel('Flux (G)');
    title('Magnetometer');
    hold off;
    linkaxes(axis, 'x');

    %% Process sensor data through algorithm

    AHRS = MadgwickAHRS('SamplePeriod', 1/256, 'Beta', 0.1);
    % AHRS = MahonyAHRS('SamplePeriod', 1/256, 'Kp', 0.5);

    quaternion = zeros(length(time), 4);
    for t = 1:length(time)
        AHRS.Update(Gyroscope(t,:) * (pi/180), Accelerometer(t,:), Magnetometer(t,:));    % gyroscope units must be radians
        quaternion(t, :) = AHRS.Quaternion;
    end

    %% Plot algorithm output as Euler angles
    % The first and third Euler angles in the sequence (phi and psi) become
    % unreliable when the middle angles of the sequence (theta) approaches �90
    % degrees. This problem commonly referred to as Gimbal Lock.
    % See: http://en.wikipedia.org/wiki/Gimbal_lock

    euler = quatern2euler(quaternConj(quaternion)) * (180/pi);    % use conjugate for sensor frame relative to Earth and convert to degrees.

    figure('Name', 'Euler Angles');
    hold on;
    plot(time, euler(:,1), 'r');
    plot(time, euler(:,2), 'g');
    plot(time, euler(:,3), 'b');
    title('Euler angles');
    xlabel('Time (s)');
    ylabel('Angle (deg)');
    legend('\phi', '\theta', '\psi');
    hold off;

      

    🎉3 参考文献

    部分理论来源于网络,如有侵权请联系删除。

    [1]陈科文,张祖平,龙军.多源信息融合关键问题、研究进展与新动向[J].计算机科学,2013,40(08):6-13.

    🌈4 Matlab代码实现

  • 相关阅读:
    JS--判断空值(null、undefined、NaN、false、空字符串等)
    急救医学-习题集-复习资料-题库
    Python3.11教程5:类与对象
    python占位符
    【博客540】k8s资源限制管理:LimitRange and ResourceQuota
    基于深度学习的“语义通信编解码技术”框架分类
    多VLAN之间的通信,静态路由
    pcb电路板常见的用途有哪些?
    Pyspark读写csv,txt,json,xlsx,xml,avro等文件
    正确安装gdal库:ModuleNotFoundError: No module named ‘osgeo‘
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127980937