当前位置: 首页 > news >正文

【改进的多同步挤压变换】基于改进多同步挤压的高分辨率时频分析工具,用于分析非平稳信号(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


💥1 概述

文献来源:

 该文提出一种高分辨率时频(TF)分析方法,用于强非平稳信号的分析。通过传统方法生成的TF表示通常过于模糊,无法为此类信号提供精确的特征。最近提出的一种称为多同步挤压变换(MSST)的方法克服了传统方法中存在的大多数问题,这似乎是一种很有前途的工具。但是,MSST仍然存在一个主要问题,即非重分配点问题,这可能导致一些特殊TF点的能量模糊问题。本文主要关注解决这个问题。研究发现,MSST中的此类问题是由重分配步骤的离散过程中的舍入操作引起的。然后采用一种有效的方法来使用简单的策略来解决这个问题。此外,研究中还提供了离散实现。数值分析表明,所提方法能够有效提高与MSST相当的能量浓度。与其他先进方法的比较还表明,所提出的方法在处理强非平稳信号和噪声附加信号方面具有更好的性能。在实验信号分析中,我们进行了三个实验,以验证所提方法在真实世界信号分析中的有效性。

原文摘要:

In this paper, a high-resolution time-frequency (TF) analysis method is presented for the analysis of strongly non-stationary signals. TF representations generated by conventional methods are usually too blurry to provide precise features for such signals. A recently proposed method, called multisynchrosqueezing transform (MSST), overcomes most of the problems that exist in conventional methods, which seems to be a promising tool. However, the MSST still has a major problem, i.e., non-reassigned point problem, which may lead to the blurry energy problem for some special TF points. This paper mainly focuses on resolving this problem. This study finds that such a problem in the MSST is caused by the rounding operation in the discrete procedure of the reassigned step. An effective method is then employed to address this problem using a simple strategy. Additionally, discrete implementation is provided in the study. The numerical analysis shows that our proposed method can effectively improve the energy concentration comparable to the MSST. Comparisons with other advanced methods also show that the proposed method offers better performance in addressing strongly non-stationary signals and noise-added signals. In the experimental signal analysis, we carry out three experiments to validate the effectiveness of the proposed method in the analysis of real-world signals.

有轴承缺陷的旋转机器通常会产生脉冲信号,振动传感器[1],[2],[3],[4],[5],[6],[7]。然而,当机器以可变速度运行时,振动信号处理变得具有挑战性。这是因为在这种情况下测量的信号通常表现出强烈的非平稳特性,即信号的频率随时间而变化很大。非平稳信号分析在旋转机械故障诊断中越来越受到关注。时频(TF)分析(TFA)技术具有应对此类挑战的强大能力。回顾TFA技术在旋转机械故障诊断中的发展的几篇文章可以在[8],[9],[10]中找到。从最近的研究中可以知道,能量浓度是评估TFA方法性能的关键指标[11]。这是因为集中TF表示(TFR)具有更好的表征信号故障特征的能力。然而,受海森堡不确定性原理的限制,传统的TFA方法,例如短时傅里叶变换(STFT),小波变换(WT)和S变换,在处理强时变信号时难以提供集中的结果。近几十年来,旨在克服传统方法缺点的各种新开发的TFA技术引起了广泛关注,例如,重新分配方法(RM)[12],同步挤压变换(SST)[13,14],解调SST(DSST)[15,16],高阶SST [17],[18],[19],同步提取变换(SET)[20,21]和多SST(MSST)[22]。

RM技术旨在根据信号的瞬时频率(IF)和群延迟的局部估计,将数据映射到更接近集中区域的新坐标[12],从而锐化能量涂抹的TFR。这种能量涂抹的TFR通常是由STFT,WT或S变换预先产生的。但是,RM 的映射应用于频谱图或标度图,通常定义为 STFT 或 WT 的平方幅度。这样的映射会丢失信号的相位信息,这也意味着无法从RM结果重建信号。作为一种类似RM的后处理技术,SST仅根据IF的估计值执行TFR映射,从而保留了逆能力。这使得SST在许多领域更具优势,例如机械故障诊断[23,24],地震信号分析[25,26]和呼吸动力学分析[27]。最近的各种研究侧重于在表征强时变信号时进一步增强SST技术的能力[13],[14],[15],[16],[17],[18],[19],[20],[21],[22]。

在线性TFA算法框架下提出了SST技术,例如WT,STFT和S变换。然而,受线性TF原子缺点的限制,线性TFA方法不能很好地处理强时变信号。相应的TF结果经常受到能量模糊问题的困扰。SST也面临同样的问题。解调技术设计非线性TF原子来表征时变信号,可以有效克服线性TFA方法的问题。此外,基于解调技术的新型SST方法在提高能量浓度方面显示出广阔的潜力。这种技术通常称为DSST方法[15,16]。然而,解调技术必须根据信号的先验信息设计非线性TF原子[9]。在实践中,很难甚至不可能提前确定真实世界信号的基本信息。这阻碍了DSST技术的工程应用。

提出了高阶SST方法来处理高度调频(FM)信号,该方法不需要事先提供有关信号的任何信息[17],[18],[19]。理论上,SST假设分析的信号应该是纯谐波信号。这意味着 SST 仅适用于处理微弱的 FM 信号。为了改善这种情况,在更复杂的信号模型上建立了高阶SST的框架,例如线性FM信号和高阶多项式FM信号。在无噪声情况下,高阶SST可以为强时变信号提供高度集中的结果。然而,最近的研究发现,高阶SST方法对噪声非常敏感。使用这种方法通常很难获得具有高噪声的信号的满意结果[22]。

SET方法旨在仅保留与信号时变特征密切相关的TF系数[20,21]。此外,SET消除了大多数弱相关的TF系数。因此,SET结果比SST结果更集中。但是,SET仅提供信号的近似重建。重建的性能随着信号非线性度的增加而降低。

最近发表的一篇论文介绍了MSST方法,该方法采用迭代程序来提高SST的能量浓度。MSST允许对信号进行完美的重建,不需要先验信息。[22]中的研究表明,在处理无噪声和加噪声信号时,MSST可以提供比RM,DSST和高阶SST更集中的结果。MSST方法似乎是实现理想TFR(ITFR)的有前途的工具[28]。然而,[22]的讨论部分指出,MSST方法中存在一个主要问题,即阻碍TF特征集中表征的非重分配点问题。

📚2 运行结果

 部分代码:

function [Ts] = IMSST_Z(x,hlength,num)
% Computes the IMSST (Ts)  of the signal x.
% INPUT
%    x      :  Signal needed to be column vector.
%    hlength:  The length of window function.
%    num    :  iteration number.
% OUTPUT
%    Ts     :  The SST
%    tfr     :  The STFT

[xrow,xcol] = size(x);

if (xcol~=1),
    error('X must be column vector');
end;

if (nargin == 2),
    num=10;
end

if (nargin == 1),
    num=10;
    hlength=xrow/8;
end

hlength=hlength+1-rem(hlength,2);
ht = linspace(-0.5,0.5,hlength);ht=ht';

% Gaussian window
h = exp(-pi/0.32^2*ht.^2);
[hrow,~]=size(h); Lh=(hrow-1)/2;
N=xrow;
t=1:xrow;

tfr= zeros (round(N/2),N) ;
omega = zeros (round(N/2),N-1);
omega2 = zeros (round(N/2),N);
Ts = zeros (round(N/2),N);

%Compute STFT
for icol=1:N,
    ti= t(icol); tau=-min([round(N/2)-1,Lh,ti-1]):min([round(N/2)-1,Lh,xrow-ti]);
    indices= rem(N+tau,N)+1;
    rSig = x(ti+tau,1);
    tfr(indices,icol)=rSig.*conj(h(Lh+1+tau));
end;

tfr=fft(tfr);
tfr=tfr(1:round(N/2),:);

%2D IF of the SST
for i=1:round(N/2)

🎉3 参考文献

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

🌈4 Matlab代码、数据、文章

相关文章:

【改进的多同步挤压变换】基于改进多同步挤压的高分辨率时频分析工具,用于分析非平稳信号(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

有关 python 切片的趣事

哈喽大家好,我是咸鱼 今天来讲一个我在实现 python 列表切片时遇到的趣事 在正式开始之前,我们先来了解一下切片(slice) 切片操作是访问序列(列表、字符串…)中元素的另一种方法,它可以访问一…...

ChatGPT 会带来失业潮吗?

(永久免费,扫码加入) 最近在翻知乎上的一些文章,很多都是跟ChatGPT有关的。因为本身是搞Python编程的,知乎推荐系统给我推荐了一篇廖雪峰老师的文章,觉得很有意思。 一共1119个赞,还是很厉害的&…...

如何对待工作中的失误

在日复一日的工作中,我们免不了会产生一些失误,会因此感到沮丧和失望。但如何正确地对待和处理这些失误才是最重要的,它直接影响到我们的工作表现和个人成长。一起来谈谈作为职场人的你时如何处理工作中的失误的吧! 一、在面对失…...

微信小程序快速入门【一】

微信小程序快速入门【一】 文章目录 微信小程序快速入门【一】👨‍🏫内容1:背景👨‍⚖️内容2:准备工作👨‍💻内容3:新建一个小程序🍉文末推荐 👨‍&#x1f…...

TiDB亿级数据亚秒响应查询集群部署

目录 1 集群部署1.1 环境要求1.1.1 操作系统建议配置1.1.2 服务器建议配置 1.2 环境准备1.3 安装TiUP1.3.1 什么是TiUP1.3.2 安装TiUP组件1.3.3 配置TiUP环境1.3.4 检查TiUP 工具是否安装1.3.5 安装 cluster 组件1.3.6 升级cluster组件 1.4 编辑部署文件1.4.1 常见的部署场景1.…...

并发——同步访问共享的可变数据

关键字 synchronized 可以保证在同一时刻,只有一个线程可以执行某一个方法,或者某一段代码块。许多程序员把同步的概念仅仅理解为一种互斥的方式。即,当一个对象被一个线程修改的时候,可以阻止另一个线程观察到内部不一致的状态。…...

Docker网络模型(九)禁用容器网络

禁用容器网络 如果你想完全禁用容器上的协议栈,你可以在启动容器时使用 --network none 标志。在容器内,只有回环设备被创建。下面的例子说明了这一点。 创建容器 $ docker run --rm -dit \--network none \--name no-net-alpine \alpine:latest \ash通…...

JavaScript 教程---互联网文档计划

学习目标: 每天记录一章笔记 学习内容: JavaScript 教程---互联网文档计划 笔记时间: 2023-6-5 --- 2023-6-11 学习产出: 1.入门篇 1、JavaScript 的核心语法包含部分 基本语法标准库宿主API 基本语法:比如操作符…...

做好功能测试需要的8项基本技能【点工进来】

功能测试是测试工程师的基础功,很多人功能测试还做不好,就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点,如何自己不用心去悟,去研究,那么你的职业生涯也就停留在点点点上了。在这里,我把…...

在弹出框内三个元素做水平显示

最终效果图要求是这样: js代码: // 显示弹出窗口 function showPopup(node) {var popup document.createElement(div);popup.className popup;var inputContainer1 document.createElement(div);/* inputContainer1.className input-container1; */…...

纠删码技术在vivo存储系统的演进【上篇】

作者:vivo 互联网服务器团队- Gong Bing 本文将学术界和工业界的纠删码技术的核心研究成果进行了相应的梳理,然后针对公司线上存储系统的纠删码进行分析,结合互联网企业通用的IDC资源、服务器资源、网络资源、业务特性进行分析对原有纠删码技…...

如何实现APP自动化测试?

APP测试,尤其是APP的自动化测试,在软件测试工程师的面试中越来越会被问到了。为了更好的回答这个问题,我今天就给大家分享一下,如何进行APP的自动化测试。 一、为了实现JavaAppiumJunit技术用于APP自动化测试,所以需要…...

​​INNODB和MyISAM区别

1 存储引擎是MyISAM 如下: CREATE table test_myisam (cli int ) ENGINEMyISAM 存储目录里会有三个文件 test_myisam.frm为“表定义”,是描述数据表结构的文件 test_myisam.MYI文件是表的索引 test_myisam.MYD文件是表的数据 2 存储引擎是INNODB…...

普中自动下载软件1.86下载程序失败案例

今天在用开发板做一个功能,下载的时候报错了,说芯片超时 确定驱动安装好了的 波特率也试了一圈 线也换过了 最后发现是芯片类型选错了,这个开发板是用的stc89c52,所以我选了图里这个,但是翻了开发板配套的资料,发现…...

JavaScript HTML DOM

JavaScript HTML DOM(文档对象模型)是一种用于访问和操作HTML文档元素的编程接口。它将HTML文档表示为一个树形结构,使开发人员可以使用JavaScript来操作和修改HTML元素、属性、样式和事件。 通过使用HTML DOM,你可以使用JavaScr…...

solr快速上手:配置IK中文分词器(七)

0. 引言 solr作为搜索引擎,常用在我们对于搜索速度有较高要求且大数据量的业务场景,我们之前已经配置过英文分词器,但是针对中文分词不够灵活和实用,要实现真正意义上的中文分词,还需要单独安装中文分词器 solr快速上…...

【软件测试】接口测试工具APIpost

说实话,了解APIpost是因为,我的所有接口相关的文章下,都有该APIpost水军的评论,无非就是APIpost是中文版的postman,有多么多么好用,虽然咱也还不是什么啥网红,但是不知会一声就乱在评论区打广告…...

第六章 假言:那么、就、则;才。

第六章 假言:那么、就、则;才。 第一节 假言-公式化转换-等价矛盾 真题(2012-38)-假言-A→B的公式化转换-A→B的等价命题:①逆否命题:非B→非A。 38.经理说:“有了自信不一定赢。”董事长回…...

[干货] 如何解决慢SQL?详细分析和优化实践!

慢SQL优化实践 本篇博客将分享如何通过慢SQL分析工具和常用优化手段,来解决慢SQL的问题。首先让我们看一下慢SQL的定义。 什么是慢SQL 简单来说,慢SQL指的是执行时间较长的SQL语句。在数据库中,一个查询的运行时间往往会受到多种因素的影响…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...