工业数据分析要用FusionInsight MRS IoTDB ?

随着工业互联网逐步兴起,在加速工业自动化、智能化的同时,也进一步加速工业生产时间序列数据的产生速度。但对于工业生产中的数据分析,仍然存在重复样本多,数据膨胀率大,缺乏专业易用的平台,这些问题成为阻碍工业数据分析的最大障碍。

工业是现代文明的基础,提起工业,我们就能想到滚动向前的火车,轰鸣的飞机,为现代工业生产、出行提供便利。同时,衡量一个国家的综合实力时,也离不开工业。工业数字化浪潮随着信息基础设施的建设,通过人工智能、大数据技术与行业的不断深入行业场景,使得数据在企业单位内得以正确使用,享受数据价值红利。

近年来,全球多个国家将数据列为战略资源,并颁布数项数据政策,旨在进一步通过数据提升经济实力,让人能享受数据带来的巨大进化红利。而在工业生产过程中,早期以流水线、自动化为主,对比其他产业,中国各行业的数字化整体规模仍存在差距第二产业数字化发展之后,但近年来增速较快,以能源业为代表的陕煤、山能、三峡集团等大中型企业,以“上云用数赋智”为牵引,不断提升生产效率,实现精细化运营。当前,中国是当前世界上最大的制造业国家,规模等于美日德综合,在数字化转型道路上道艰且长。

随着云计算、大数据、物联网、5G等场景对于时序数据需求的持续增长,专门用于存储和处理时间序列数据的时序数据库应运而生。时序数据库面临着采集频率密、采集精度高、采集跨度大、存储周期长、实时要求高等有别于传统数据库的挑战。

1 什么是时序数据及工业时序数据的特点

工业数字化滚滚而来,在信息基础设施之上,工业生产环境产出了大量的以物联网IoT(Internet Of Things)数据,并随着时间的演进连续不断地产生大量传感器数值或事件数据。时间序列数据(time series data)就是以数据(事件)发生的时刻(时间戳)为时间轴形成的连续不断的数值序列。

例如,下表为某物联网设备不同时刻的的温度数据构成的一个时间序列数据样本:

无论是机器产生的传感器数据,还是工业生产活动的数据,都有一些共同的特征:

(1)实时性要求高:处理上无论是传感器数据还是事件数据,都需要毫秒级、秒级的实时处理能力,以确保对实时响应和处理能力;采集最少支持毫秒级采集,有些需要支持微秒级、纳秒级采集;

(2)采集频率高:每秒采集几十次、上百次、十万次乃至百万次;

(3)存储分析周期长:需要支持时序数据的持久存储,甚至对有些数据需要进行长达上百年的永久存储(例如地震数据);分析需7*24小时持续不断地连续采集几年、乃至数十年数据;查询窗口长:需要支持从毫秒、秒、分钟、小时到日、月、年等不同粒度的时间窗口查询;也需要支持万、十万、百万、千万等不同粒度的数量窗口查询;

(4)数据清洗难:时间序列数据存在乱序、缺失、异常等复杂情况,需要专用算法进行高效实时处理;

(5)算法专业强:时间序列数据在工业、金融、电力、交通等不同领域,都有很多垂直领域的专业时序分析需求,需要利用时序趋势预测、相似子序列分析、周期性预测、时间移动平均、指数平滑、时间自回归分析以及基于LSTM的时序神经网络等算法进行专业分析。

从时序数据的共同特征可以看出,时间序列特殊的场景需求给传统的关系数据库存储和大数据存储都带来了挑战,无论是采用关系数据库进行结构化存储,还是采用NoSQL数据库进行存储,都无法满足海量时序数据高并发实时写入和查询的需求。因此,迫切需要一种专门用于存储时间序列数据的专用数据库,时序数据库的概念和产品就这样诞生了。

2 时序数据库和其他数据库的区别

需要注意的是,时序数据库不同于时态数据库和实时数据库。时态数据库(Temporal Database)是一种能够记录对象变化历史,即能够维护数据的变化经历的数据库,比如TimeDB。时态数据库是对传统关系数据库中时间记录的时间状态进行细粒度维护的系统,而时序数据库完全不同于关系数据库,只存储不同时间戳对应的测点值。

时序数据库也不同于实时数据库。实时数据库诞生于传统工业,主要是因为现代工业制造流程及大规模工业自动化的发展,传统关系数据库难以满足工业数据的存储和查询需求。因此,在80年代中期,诞生了适用于工业监控领域的实时数据库。由于实时数据库诞生早,在扩展性、大数据生态对接、分布式架构、数据类型等方面存在局限,但是也有产品配套齐全、工业协议对接完整的优势。时序数据库诞生于物联网时代,在大数据生态对接、云原生支持等方面更有优势。

时序数据库与时态数据库、实时数据库的基本对比信息如下:

2.1 当前主流时序数据库的基本情况

为了高效存储、处理、查询和分析海量时序数据,市面上先后出现了几十种时序数据库。

时序数据库是时间序列数据库的简称,指的是专门对带时间标签(按照时间的顺序变化,即时间序列化)的数据进行存储、查询、分析等处理操作的专用数据库系统。通俗来说,时序数据库就是专门用来记录例如物联网设备的温度、湿度、速度、压力、电压、电流以及证券买入卖出价等随着时间演进不断变化的各类数值(测点、事件)的数据库。

这些时序数据库架构形态和性能特性各异,但是基本上可以概括为以下几种:

2.1.1 基于传统关系库扩展的时序数据库

在传统关系数据库的基础上,利用关系数据库的内核引擎,把时间序列作为一个插件扩展实现。例如,TimescaleDB是基于PostgreSQL数据库打造的一款时序数据库。PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统。PostgreSQL拥有强劲的功能集,其中包括多版本并发控制(MVCC)、时点恢复、细粒度访问控制、表空间、异步复制、嵌套事务、联机/热备份、完善的查询规划器/优化器以及预写式日志。

由于TimescaleDB基于PostgreSQL,因此同时具备了传统关系数据库的优点和缺点,优点在于PostgreSQL完备地实现了关系数据库标准,因此具有强大的生态兼容能力和强一致性的保障。Timescale作为PostgreSQL的一个插件,为快速获取和复杂查询进行了优化。它执行的是完整的SQL,相应地很容易像传统的关系数据库那样使用。然而,TimescaleDB也继承了传统关系数据库的不足:单边列数有上限、单表行数不宜过多(少于一千万行)、需要手动进行分库分表,缺乏自动伸缩能力,时间序列数据随着导入时间的增加,导入速度不断下降,海量(GB或千万条以上)时序数据遍历速度缓慢等。

2.1.2 基于KV数据库的时序数据库

随着大数据技术的兴起,以KV数据库为代表的NoSQL数据库大量涌现,打破了关系数据库ACID的严格限制,以CAP作为约束,底层以大数据分布式文件系统为存储引擎,突破了传统关系数据库面对海量数据存储的局限。其中,HBase是NoSQL数据库的典型代表,具备海量数量的灵活扩展存储能力。时序数据库OpenTSDB基于HBase的这种能力,专门针对时序数据的海量存储和查询做了扩展。OpenTSDB的整体架构如下所示,由运行在HBase之上的一个或者多个时间序列守护程序TSD (Time Series Daemon) 组成,每个TSDB都是无状态的独立节点,因此可以根据系统负载情况进行任意节点的横向扩展:

OpenTSDB的数据模型是基于tag的单值模型,即写入的每行记录(数据点)中只有一个指标值,如下所示:

由于基于HBase,OpenTSDB具备了HBase的优势:可以轻松管理海量时间序列数据,支持时序分区和并行查询,具备分布式集群部署和扩展能力。但是,同样也具备基于HBase带来的不足:由于HBase是弱类型列式数据库,使用Java语言操作,使得OpenTSDB也存在查询受限问题,对于多序列时间对齐查询等复杂查询支持能力受限,但客户和技术人员通常仅具备标准SQL语言技术知识储备,使用门槛高。同时由于采用的是HBase通用存储格式,没有针对时间序列数据的特性进行针对性压缩,因此导致压缩比低,读写速度较慢,通常1份数据要膨胀3倍,使用和运维成本居高不下。OpenTSDB的存储模型,其主要设计特点是采用了UID编码,大大节省了存储空间,并且利用UID编码的固定字节数的特性,利用HBase的Filter做了很多查询的优化。但是采用UID编码后也带来了很多的缺陷,一是需要维护metric/tagKey/tagValue到UID的映射表,所有data point的写入和读取都需要经过映射表的转换,映射表通常会缓存在TSD或者client,增加了额外的内存消耗;二是由于采用了UID编码,导致metric/tagKey/tagValue的基数是有上限的,取决于UID使用的字节数,并且在UID的分配上会有冲突,会影响写入。

另外一款基于Cassandra的时序数据库KairosDB也是类似OpenTSDB。Cassandra是一个高度可扩展的高性能分布式NoSQL数据库,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障。它是一个通用NoSQL,面向列的数据库, 分布设计基于Amazon的Dynamo及其在Google的Bigtable上的数据模型,并不依赖于Hadoop生态体系,对于现网存在大数据平台的客户,将会造成进一步的数据孤岛、数据冗余和更多的数据搬迁工作。Cassandra实现了一个没有单点故障的Dynamo风格的复制模型,但增加了一个更强大的“列族”数据模型。Cassandra适应所有可能的数据格式,包括:结构化,半结构化和非结构化,可以根据需要动态地适应变化的数据结构。KairosDB采取的存储模型,是利用了Cassandra宽表的特性。Cassandra的底层文件存储格式与HBase不同,它一行数据不会为每一列都重复的存储Rowkey,所以它不需要使用UID编码。虽然Cassandra针对OpenTSDB的不足做了改进,本质都是依靠大数据领域已有的通用NoSQL分布式数据库引擎作为底层存储,因此从根本上受制于底层存储的限制,无法针对时间序列数据的特点进行针对性优化。

2.1.3 基于专有时序数据引擎的时序数据库

吸收了基于关系数据库和KV数据库在时序数据存储方面的经验教训,逐步出现了基于专有时序数据引擎的专业时序数据库,其中最有代表性的就是InfluxDB。InfluxDB是由InfluxData公司开发的时间序列数据库(TSDB)。InfluxDB使用Go语言编写,适用于各类时间序列数据的高效存储与检索。InfluxDB专为时间序列数据编写的定制高性能数据存储,TSM引擎可实现高提取速度和数据压缩。InfluxDB采用了专属文件结构和专属优化,具有高压缩比、高并发、海量存储等显著优势。但是其在易用性和生态对接方面仍需提供更多支持投入。

2.1.4 华为云MRS IoTDB “专快易稳省”的专业时序数据库

专业时序数据库的另一个代表就是MRS IoTDB,它是华为FusionInsight MRS大数据套件中的时序数据库产品,在深度参与Apache IoTDB社区开源版的基础上推出的高性能企业级时序数据库产品。IoTDB顾名思义,是针对IoT物联网领域推出的专用时序数据库软件,是由清华大学发起的国产Apache开源软件。自IoTDB诞生之初,华为就深度参与IoTDB的架构设计和核心代码贡献,对IoTDB集群版的稳定性、高可用和性能优化投入了大量人力并提出了大量的改进建议和贡献了大量的代码。

IoTDB在设计之初,全面分析了市面上的时序数据库相关产品,包括基于传统关系数据库的Timescale、基于HBase的OpenTSDB、基于Cassandra的KariosDB、基于时序专属结构的InfluxDB等主流时序数据库,借鉴了不同时序数据在实现机制方面的优势,形成了自己独特的技术优势:

(1)支持高速数据写入

独有的基于两阶段LSM合并的tLSM算法有效保障了IoTDB即使在乱序数据存在的情况下也能轻松实现单机每秒千万测点数据的并发写入能力。

(2)支持高速查询

支持TB级数据毫秒级查询

(3)功能完备

支持CRUD等完整的数据操作(更新通过对同一设备同一时间戳的测点数据覆盖写入来实现,删除通过设置TTL过期时间来实现),支持频域查询,具备丰富的聚合函数,支持相似性匹配、频域分析等专业时序处理。

(4)接口丰富,简单易用

支持JDBC接口、Thrift API接口和SDK等多种接口。采用类SQL语句,在标准SQL的语句上增加了对于时间滑动窗口的统计等时序处理常用的功能,提供了系统使用效率。Thrift API接口支持Java、C\C++、Python、C#等多语言接口调用。

(5)低存储成本

IoTDB独立研发的TsFile时序文件存储格式,专门针对时序处理处理做了优化,基于列式存储,支持显式的数据类型声明,不同数据类型自动匹配SNAPPY、LZ4、GZIP、SDT等不同的压缩算法,可实现1:150甚至更高的压缩比(数据精度进一步降低的情况下),极大地降低了用户的存储成本。例如某用户原来用9台KariosDB服务器存储的时序数据,IoTDB用1台同等配置的服务器即可轻松实现。

(6)云边端多形态部署

IoTDB独有的轻量级架构设计保障了IoTDB可以轻松实现“一套引擎打通云边端,一份数据兼容全场景”。在云服务中心,IoTDB可以采用集群部署,充分发挥云的集群处理优势;在边缘计算位置,IoTDB可以在边缘服务器上部署单机IoTDB,也可以部署少量节点的集群版,具体视边缘服务器配置而定;在设备终端,IoTDB可以TsFile文件的形态直接嵌入到终端设备的本地存储中,并直接被设备终端的直接读写TsFile文件,不需要IoTDB数据库服务器的启动运行,极大地减少了对终端设备处理能力的要求。由于TsFile文件格式开放,终端任意语言和开发平台可以直接读写TsFile的二进制字节流,也可以利用TsFile自带的SDK进行读写,对外甚至可以通过FTP将TsFile文件发送到边缘或云服务中心。

(7)查询分析一体化

IoTDB一份数据同时支持实时读写与分布式计算引擎分析,TsFile与IoTDB引擎的松耦合设计保障了一方面IoTDB可以利用专有的时序数据处理引擎对时序数据进行高效写入和查询,同时TsFile也可以被Flink、Kafka、Hive、Pulsar、RabbitMQ、RocketMQ、Hadoop、Matlab、Grafana、Zeepelin等大数据相关组件进行读写分析,极大地提升了IoTDB的查询分析一体化能力和生态扩展能力。

​MRS IoTDB对Apache IoTDB内核架构尤其是分布式集群架构做了大量的重构优化,在稳定性、可靠性、可用性和性能方面做了大量的系统级增强。

(1)接口兼容性:

进一步完善北向接口和南向接口,支持JDBC、Cli、API、SDK、MQTT、CoAP、Https等多种访问接口,进一步完善类SQL语句,兼容大部分Influx SQL,支持批量导入导出。

(2)分布式对等架构:

MRS IoTDB在基于Raft协议的基础上,采用了改进的Multi-Raft协议,并对Muti-Raft协议的底层实现进行了优化,采用了Cache Leader等优化策略在保障无单节故障的基础上,进一步提升MRS IoTDB数据查询路由的性能;同时,对强一致性、中等一致性和弱一致性策略进行了细粒度优化;对一致性哈希算法加入虚拟节点策略避免数据倾斜,同时融合了查表与哈希分区的算法策略,在提升集群高可用的基础上进一步保障集群调度的性能。

(3)双层粒度元数据管理:

由于采用了对等架构,元数据信息自然分布在集群所有节点上进行存储,但是由于元数据的存储量较大会带来内存的较大消耗。为了平衡内存消耗与性能,MRS IoTDB采用了双层粒度元数据管理架构,首先在所有节点间进行时间序列组元数据的同步,其次在分区节点间进行时间序列元数据的同步。这样在查询元数据的时候,首先会基于时间序列组进行过滤树剪枝,大大减少搜寻空间,然后在进一步在过滤后的分区节点进行时间序列元数据的查询。

(4)本地磁盘高性能访问:

MRS IoTDB采用专用的TsFile文件格式进行时间序列优化存储,采用列存格式进行自适应编码与压缩,支持流水线优化访问和乱序数据高速插入

(5)HDFS生态集成:

MRS IoTDB支持HDFS文件读写,并对HDFS进行了本地缓存、短路读、HDFS I/O线程池等多种优化手段,全面提升MRS IoTDB对HDFS的读写性能,同时,MRS IoTDB支持华为OBS对象存储并进行了更加高性能的深度优化。在HDFS集成的基础上,MRS IoTDB支持Spark、Flink、Hive等MRS组件对TsFile的高效读写。

(6)多级权限管控:

  • 支持存储组、设备、传感器等多级权限管控
  • 支持创建、删除、查询等多级操作
  • 支持Kerberos认证
  • 支持Ranger权限架构

(7)云边端部署:

支持云边端灵活部署,边缘部分可以基于华为的IEF产品进行对接,也可以直接部署在华为的IES中。

MRS IoTDB集群版支持动态扩缩容,可以为云边端提供更加灵活的部署支持。

总之,MRS IoTDB在Apache IoTDB已有架构的基础上,融合FusionInsight MRS Manager强大的日志管理、运维监控、滚动升级、安全加固、高可用保障、灾备恢复、细粒度权限管控、大数据生态集成、资源池优化调度等企业级核心能力,针对工业级时间序列数据实时性高,采集频率高,存储周期长,算法专业强等特点,提供海量时序数据高并发实时写入和查询的能力,有力支撑新一代信息技术与工业深度融合发展,将进一步加速工业乃至产业数字化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/757470.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE5的安装与基本操作(一)

文章目录 前言安装UE5新建第一个游戏项目基本游览方式对目标进行变换各种变换对齐 快速定位目标 总结 前言 Unreal Engine 5 (UE5) 是一款由 Epic Games 开发的实时 3D 创作平台,用于制作游戏、电影、动画、建筑可视化和其他类型的交互式体验。UE5 提供了一系列强大…

实验 1 图像基本操作

1. 实验目的 ①熟悉 Photoshop 基本操作; ②掌握 Matlab 、PythonOpenCV 中处理图像的基本方法; ③掌握图像的半调转换和抖动转换。 2. 实验内容 ①Photoshop 基本操作:打开图像文件,选择区域,旋转、裁剪图像、图层…

Redis 缓存预热、缓存雪崩、缓存击穿、缓存穿透业务实践

0、前言 本文所有代码可见 > 【gitee code demo】 本文会涉及 缓存预热、缓存雪崩、缓存击穿、缓存穿透介绍和解决方案业务实践 1、缓存预热 1.1、描述 提前将热点数据加载到缓存,提前响应,降低后端数据源访问压力 1.2、实践 Autowiredprivate R…

Perl入门学习

Perl是一种强大的脚本语言,以其灵活性和文本处理能力而闻名,常用于系统管理、Web开发、生物信息学以及数据处理等领域。以下是Perl语言入门学习的一些关键点: ### 1. Perl简介 - **起源与特点**:Perl由Larry Wall在1987年创建&am…

springboot+vue+mybatis奶茶管理系统+PPT+论文+讲解+售后

由于科学技术的快速发展,人们的生活也与信息时代的发展相关。同时,随着市场化和经济化的发展,国内很多行业已经意识到了这一点,为了提升行业的竞争力,就应当率先把握机会。于是在互联网的默化潜移影响下,餐…

ctfshow-web入门-命令执行(web56、web57、web58)

目录 1、web56 2、web57 3、web58 1、web56 命令执行&#xff0c;需要严格的过滤 新增过滤数字&#xff0c;只能采用上一题临时文件上传的方法&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><…

MySQL高级-事务-并发事务演示及隔离级别

文章目录 0、四种隔离级别1、创建表 account2、修改当前会话隔离级别为 read uncommitted2.1、会出现脏读 3、修改当前会话隔离级别为 read committed3.1、可以解决脏读3.2、会出现不可重复读 4、修改当前会话隔离级别为 repeatable read&#xff08;默认&#xff09;4.1、解决…

计算机网络之体系结构

上节内容&#xff1a;数据通信原理 1.计算机网络体系结构 体系结构: 研究系统中各组成成分及其关系的一门学科。 计算机网络体系结构: 定义和描述一组用于计算机及其通信设施之间互连的标准和规范的集合&#xff0c;遵循这组规范可以很方便地实现计算机设备之间的通信。 相互…

2024百度之星第一场-110串

补题链接&#xff1a; 码蹄集 三个状态转移的计数dp 先确定状态 n个数至多修改k次&#xff0c;保证不出现字串“110” 常规想法先把状态确定为dp[n][k][0/1]&#xff0c;前n个数&#xff0c;修改k次后&#xff0c;末尾数为0/1&#xff0c;不能转移再换思路。 初始状态设定如…

[Cloud Networking] BGP

1. AS (Autonomous System) 由于互联网规模庞大&#xff0c;所以网络会被分为许多 自治系统&#xff08;AS-Autonomous system&#xff09;。 所属类型ASN名称IPv4 数量IPv6数量运营商ISPAS3356LEVEL3 - Level 3 Parent, LLC, US29,798,83273,301,954,048互联网企业AS15169GO…

自适应IT互联网营销企业网站pbootcms模板

模板介绍 一款蓝色自适应IT互联网营销企业网站pbootcms模板&#xff0c;该模板采用响应式设计&#xff0c;可自适应手机端&#xff0c;适合一切网络技术公司、互联网IT行业&#xff0c;源码下载&#xff0c;为您提供了便捷哦。 模板截图 源码下载 自适应IT互联网营销企业网站…

【PyQt】20-QTimer(动态显示时间、定时关闭)

QTimer 前言一、QTimer介绍二、动态时间展示2.1 代码2.2 运行结果 三、定时关闭3.1 介绍他的两种用法1、使用函数或Lambda表达式2、带有定时器类型&#xff08;高级&#xff09; 3.2 代码3.3 运行结果 总结 前言 好久没学习了。 一、QTimer介绍 pyqt里面的多线程可以有两种实…

Windows系统开启自带虚拟机功能Hyper-V

前言 最近有小伙伴咨询&#xff1a;Windows系统上有自带的虚拟机软件吗&#xff1f; 答案肯定是有的。它就是Hyper-V&#xff0c;但很多小伙伴都不知道怎么打开这个功能。 今天小白就带大家来看看如何正确打开这个Windows自带的虚拟机功能Hyper-V。 开始之前&#xff0c;你…

统计分析利器:深入解读卡方检验与单因素方差分析的应用案例【练习题】

一、卡方检验 1.对400人进行问卷调查&#xff0c;询问对于教学改革的看法&#xff0c;调查结果如下表所示&#xff0c;请问不同学科不同性别的人意见是否相同。 学科 男生 女生 工科 80 40 理科 120 160 &#xff08;性别&#xff0c;学科均无序分类>卡方检验&am…

音视频开发32 FFmpeg 编码- 视频编码 h264 参数相关

1. ffmpeg -h 这个命令总不会忘记&#xff0c;用这个先将ffmpeg所有的help信息都list出来 C:\Users\Administrator>ffmpeg -h ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 pro…

万字长文详解数据结构:树 | 第6章 | Java版大话数据结构 | 二叉树 | 哈夫曼树 | 二叉树遍历 | 构造二叉树 | LeetCode练习

&#x1f4cc;本篇分享的大话数据结构中&#x1f384;树&#x1f384;这一章的知识点&#xff0c;在此基础上&#xff0c;增加了练习题帮助大家理解一些重要的概念✅&#xff1b;同时&#xff0c;由于原文使用的C语言代码&#xff0c;不利于学习Java语言的同学实践&#xff0c;…

JS(JavaScript)事件处理(事件绑定)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

ChatGPT新纪元:揭秘GPT-4o的多模态能力

GPT-4o登场 探索ChatGPT的多模态创新 今日凌晨&#xff0c;OpenAI向全球宣布了AI发展的新篇章——GPT-4o&#xff0c;每次OpenAI发布重大更新时&#xff0c;尽管令人兴奋&#xff0c;但也不免使众多初创公司的梦想破灭。 GPT-4o的命名中的“o”象征着“omni”——全能的代表。…

基于线调频小波变换的一维时间序列时频分析方法(MATLAB)

在机械故障诊断领域,振动信号的处理常采用以快速傅立叶变换为基础的相关分析、幅值分析、频谱分析等时域和频域分析方法。但经典的FFT存在固有缺点,即它虽然在频域范围内是完全局部化的,但是它不包含任何时域信息,因而不适于分析非平稳信号。近年来涌现的各种时频分析方法(短时…

ros1仿真导航机器人 hector_mapping gmapping

仅为学习记录和一些自己的思考&#xff0c;不具有参考意义。 1 hector_mapping 建图过程 &#xff08;1&#xff09;gazebo仿真 roslaunch why_simulation why_slam.launch <launch><!-- We resume the logic in empty_world.launch, changing only the name of t…