非平稳信号的时频表示-基于本征模态函数(MATLAB)

news2024/11/19 12:41:25

时频分析思想萌芽于匈牙利物理学家 Gabor 在 1946 年所提出的 Gabor 展开理论,随后以此为基础发展出著名的线性时频变换方法—短时傅里叶变换。短时傅里叶变换假设分析信号在有限时长内具有平稳特性,它首先将时间与频率均为有限支撑的窗函数与分析信号进行内积,然后在固定窗长内计算傅里叶变换,并通过窗函数在时间方向上的不断平移,最终得到短时傅里叶变换的时频表示结果。值得注意的是,短时傅里叶变换的窗函数长度是固定不变的,窗函数的初始长度一旦确定,整个计算过程中的时频分辨率也就固定下来,因此合理选择窗函数的初始长度就显得尤为重要。此外,对于瞬时频率变化剧烈的强时变信号来说,由于窗函数长度与信号瞬时频率的变化情况无关,在窗函数移动过程中,被窗函数所截断的信号并不一定满足平稳信号的假设条件,因此短时傅里叶变换难以用于强时变信号的处理分析之中。为了解决窗函数长度固定不变所带来的弊端,

Morlet于1984 年引入小波概念,由此开启了信号的多分辨率分析时代。此外,Mallet在 1989 年搭建起小波的多分辨率理论框架,并实现了小波变换的快速算法。相对于短时傅里叶变换来说,小波变换较为明显的改进是其采用了可变尺度的窗函数。具体而言,由于信号低频分量变化缓慢、单个频率成分波动周期较长,因此小波变换利用较宽的窗函数分析信号的低频成分;与之相反,由于信号高频分量变化剧烈、单个频率成分波动周期较短,小波变换则采用较窄的窗函数对信号的高频成分进行处理。总之,小波变换将窗函数的长度与信号本身的频带分布直接关联起来,所以它能较好的处理分析信号各个频带下的时频特征。

图片

基函数在时频分析中的作用好比一把“刻度尺”,其中心频率数值类似于尺子上的刻度,信号与基函数的内积操作可看作信号在基函数上的投影度量过程,因此不论是短时傅里叶变换还是连续小波变换,时频表示结果均是由分布于整个时频平面上的基函数对分析信号进行度量得到的。考虑到基函数尺度的重要性,两种线性时频分析方法的基函数将在时间-频率-尺度三维空间中进行比较,其中尺度大小与基函数在时频平面上的表现密切相关。根据海森堡-加博尔不定原理的描述,对于选定函数形式的基函数来说,其时间宽度与频带宽度的乘积为一个常数,具体表现为基函数在时频平面上所占据的面积一定,所以较小尺度的基函数具有较小的时间宽度和较大的频带宽度,这意味着在度量分析信号时具有较高的时间分辨率和较差的频率分辨率,对于大尺度基函数而言,情况正好相反。

短时傅里叶变换的策略是根据经验选定一个较为合适的初始尺度,所有的基函数均分布于三维空间中的同一个尺度截面下,通过改变基函数的中心频率实现对分析信号的频率定位;小波变换的策略则是首先选择一个母小波基函数,然后通过拉伸或压缩操作实现母小波基函数尺度上的改变,因此小波变换的基函数分布于三维空间中不同的尺度截面,而基函数尺度的变化实现了对分析信号的频率定位。

由于没有考虑信号本身瞬时频率变化率的影响,小波变换事先在时频平面上为不同频段划定不同尺度基函数的做法不一定是合理的。

图片

上图展示了一种构造信号的时频表示结果,其瞬时频率不断地增大而瞬时频率变化率却不断地减小,因此该构造信号低频成分需要较小尺度的基函数来分析,其高频成分则需要较大尺度的基函数来分析。对于小波变换来说,不论母小波基函数的尺度如何选择,均不能满足上述要求。为此,有学者提出一种衡量时频能量集中程度的指标,通过调整基函数尺度和 Chirprate 两个参数使得该指标在每个时频点处均达到最优,进而发展出最初的自适应线性时频变换方法,但其计算成本较大,不适合用于工程实践之中。

鉴于此,采用基于本征模态函数的方法对非平稳信号进行时频表示,运行环境为MATLAB 2018。

clear
close all
clc

[y,fs] = audioread('Little_star_by_Alice.mp4');

figure
plot(y(fs*21:fs*23))

sound(y(fs*21:fs*23),fs)
y=y(fs*21:fs*23);

%% Spectrogram
figure
tic
pspectrum(y,fs,'spectrogram','FrequencyLimits',[0,2000])
time_Spectrogram=toc;
title('')
hold on
plot3(0.7959,0.523,1,'xr','markersize',40,'linewidth',5)
plot3(0.22,0.523,1,'xr','markersize',40,'linewidth',5)
plot3(1.265,0.784,1,'xk','markersize',40,'linewidth',5)
plot3(1.82,0.784,1,'xk','markersize',40,'linewidth',5)
legend('Do = 523 Hz','Do = 523 Hz','Sol = 784 Hz','Sol = 784 Hz')
axis tight
set(gcf,'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
set(gca,'fontsize', 30);

%% Spectrogram in 3D
figure
pspectrum(y,fs,'spectrogram','FrequencyLimits',[0,2000])
title('')
axis tight
view(330,67)
set(gcf,'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
set(gca,'fontsize', 30);


知乎学术咨询:
https://www.zhihu.com/consult/people/792359672131756032?isMe=1
工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

图片

图片

图片

图片

图片

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

六西格玛培训:不只是理论,更是实战中的利器——张驰咨询

六西格玛作为一种强大的流程改进和质量管理工具,其应用范围已经远远超出了传统制造业的界限,逐步渗透到金融业、互联网以及新能源等前沿领域。以下张驰咨询将结合之前的分析,展示六西格玛培训在这些行业中的成功案例及其带来的深远影响。 制造…

【代码随想录】【算法训练营】【第56天】 [卡码98]所有可达路径

前言 思路及算法思维,指路 代码随想录。 题目来自 卡码网。 day 56,周二,继续ding~ 题目详情 [卡码98] 所有可达路径 题目描述 卡码98 所有可达路径 解题思路 前提: 思路: 重点: 代码实现 C语言…

Spring Cloud Alibaba-Nacos服务注册和配置中心

目录 概述下载安装 Nacos服务注册中心原理配置服务提供者配置服务消费者负载均衡 Nacos服务配置中心新建一个配置中心服务Nacos控制台配置历史配置回滚 Nacos数据模型三元组是什么默认值Service就是微服务Nacos图形界面三种方案加载配置DataId方案Group方案Namespace方案 文献参…

2024软件设计师经验贴(一考就过)

2024软件设计师经验贴(一考就过) 第一阶段、基础积累:把书读厚 这一阶段可以跟着视频、书籍或文章进行基础知识的学习。 推荐的视频系列: 「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 40–14.3设计模式 推荐的文…

C++编程(九)异常处理机制、模板、容器库

文章目录 一、异常处理机制(一)概念(二)语法格式(三)使用示例(四)异常处理库 二、模板(一)概念(二)函数模板(三&#xff0…

生产者消费模式

前言👀~ 上一章我们介绍设计模式中的单例模式,今天我们来讲讲生产者消费模式 阻塞队列(重要) 生产者消费模式(重要) 阻塞队列在生产者消费模型中的作用 标准库的阻塞队列 手动实现阻塞队列 如果各位对…

【python报错】已解决 ERROR: Could not find a version that satisfies the requirement

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 一、报错场景 在使用 pip 管理 Python 包时,您可能会遇到以下错误: ERROR: Could not find a version…

萌啦跨境工具箱有什么作用,萌啦跨境工具箱OZON营销神器

萌啦OZON数据平台,作为专为OZON平台商家打造的数据分析工具,集成了多种强大功能,旨在帮助商家在激烈的市场竞争中获得数据驱动的优势,实现精准运营与高效增长。那么萌啦跨境工具箱有什么作用?接下来介绍萌啦跨境工具箱…

opencv颜色识别,hsv采用滑块调节

识别效果如图所示,尽量排除了蓝色背景的干扰,hsv可用滑块进行调节,更加方便 import cv2 import numpy as np# 创建一个命名窗口,用于显示滑块 cv2.namedWindow("TrackBar")def nothing(x):pass# 创建滑块控件 cv2.cre…

对Transformer的一些理解

在学习Transformer这个模型前对seq2seq架构有个了解时很有必要的 先上图 输入和输出 首先理解模型时第一眼应该理解输入和输出最开始我就非常纠结 有一个Inputs,一个Outputs(shift right)和一个Output Probabilities,首先需要借助这三个输入/输出来初步…

UI自动化三之APP自动化

day06 能独立搭建app测试相关环境能通过命令在电脑端操作android系统中的应用(adb命令) day07 掌握appium基础操作api的使用(安装、卸载、…) 掌握appium高级api操作(拖拽、滑动、…) 掌握appium手机操作api(按键…&am…

煤矿可视化:提升安全与效率

采用图扑先进的可视化技术,实时监控煤矿环境、设备运行和生产等数据。全方位展示与分析,有效提升安全管理水平和生产效率,助力煤矿智能化和高效运作。

基于正点原子FreeRTOS学习笔记——时间片调度实验

目录 一、时间片调度介绍 二、实验演示 1、宏修改 1.1、滴答定时器宏 1.2、调度器宏 2、实验程序 2.1.1、任务1,任务2不加临界区程序 2.1.2 实验现象 2.2.1、任务1,任务2加临界区程序 2.2.2 实验现象 一、时间片调度介绍 时间片:同…

仓储物流行业的好帮手-转运机器人

在物流行业快速发展的今天,一款高效、智能的转运机器人无疑是企业的得力助手。富唯智能转运机器人凭借其卓越的性能和智能化的特点,正成为越来越多企业的首选。 1、智能避障,安全无忧 富唯智能转运机器人采用无轨化激光SLAM导航技术&#x…

vue2 接口文档

const assetmanagementIndex (params) > getAction("/asset/assetmanagementsystem/page", params); //资产管理制度表分页列表 const assetmanagementPost (params) > postAction("/asset/assetmanagementsystem", params); //资产管理制度表新增…

BUG TypeError: GPT2Model.forward() got an unexpected keyword argument ‘past’

TypeError: GPT2Model.forward() got an unexpected keyword argument past’ 环境 transformers 4.38.1详情 这是由于新版的transformers 对GPT2Model.forward() 参数进行了改变导致的错误。具体是past名称改为了 past_key_values 。 解决方法 找到错误语…

2024广州国际米粉产业展览会暨米粉节

2024广州国际米粉产业展览会 时间:2024年11月16-18日 地点:广州中国进出口商品交易会展馆 主办单位:企阳国际会展集团 【展会简介】 米粉作为一种历史悠久,人们日常食用的食物,其市场需求稳定,且随着人…

深度探索“目录名称无效“:原因、解决方案与最佳实践

目录名称无效:现象背后的秘密 在日常使用电脑或移动设备时,我们时常会遇到“目录名称无效”的错误提示,这一提示仿佛是一道无形的屏障,阻断了我们与重要数据的联系。从本质上讲,“目录名称无效”意味着系统无法识别或…

Firewalld防火墙基础

Firewalld 支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具 支持IPv4、IPv6防火墙设置以及以太网桥 支持服务或应用程序直接添加防火墙规则接口 拥有两种配置模式 运行时配置:临时生效,一旦重启或者重载即不生效 永久配置&#xff1a…

产品设计的8大步骤

产品设计,通俗来说就是将创新想法或概念转化为落地实体的过程。一般来说,一个成功的产品应当具有创新性、美观性、实用性、可持续性以及经济效益,从而满足用户的使用需求以及市场的发展需求。产品设计也并不是一件简单的事情,产品…