广义线性chirplet变换【附MATLAB代码】

文章来源:微信公众号:EW Frontier

摘要

时频分析方法是一种刻画信号时变特征的有效工具,在相当长的一段时间内受到了广泛的关注。随着TF算法的发展,许多先进的方法被提出,可以提供更精确的TF结果。但是,不可避免地会引入一些限制。本文介绍了一种新的TFA方法,称为广义线性线调频小波变换(GLCT),它可以克服现有TFA方法存在的一些局限性。在数值和实验验证中,通过与现有的TFA方法的比较,GLCT的一些优点被证明,包括良好的表征具有明显的非线性特征的多组分的信号,独立于数学模型和初始TFA方法,允许感兴趣的组分的重建,和对噪声不敏感。

引言

信号处理技术作为人们认识物理世界的重要工具,在相当长的一段时间内引起了人们的广泛关注。经典傅里叶变换(FT)是一种标准的工具,通过假设所考虑的信号是平稳的来揭示整体频率内容。然而,平稳的假设在实际中并不总是成立的,而非平稳的概念更接近实际,如旋转机械在非平稳事件下的振动响应(加速、减速甚至故障冲击)、蝙蝠的回声定位信号、人类的语音信号等。对于非平稳情况,从FT获得的总频率不足以描述这些信号,瞬时频率(IF)的概念更适合于表征时变特征。IF的著名定义是由Ville提出的,它描述了信号在某个时刻局部振荡的速度[1]。信号的中频可以由其解析信号的相位的导数来计算,但它只适用于单分量信号。幸运的是,时频分析(TFA)提供了一种替代和强大的解决方案来表征非平稳信号的IF特征[2,3]。这是由于在时频平面上,由时频分析产生的时频表示的能量分布集中在被分析信号的中频处及其附近。然后,所考虑的信号的IF可以从良好建立的TF表示来估计。因此,要精确估计中频特性,关键是TFA方法能获得较高的TF分辨率。有许多类型的TFA方法,它们通常可以分为两类:线性TFA和二次TFA。在经典的线性傅里叶分析中,如短时傅里叶变换(STFT)和小波变换(WT),信号的特征在于具有TF定位能力的原子字典的内积。因此,线性三氟乙酸的TF分辨率主要取决于TF原子。根据Heisenberg测不准原理,线性TFA不能同时实现任意高的TF分辨率。这就是说,精细的频率分辨率导致粗略的时间分辨率,反之亦然。传统的线性TFA是建立在所考虑的信号在短时间内分段平稳的假设上的。这意味着它们基本上使用水平线来近似IF特征。然而,对于强调制频率信号,信号的IF在短窗口中也是时变的,这将导致差的TF分辨率[4,5]。在经典的二次TFA中,如WVD,它是信号的瞬时自相关函数的FT。对于单分量信号,WVD方法可以得到高TF分辨率的TF表示,但在处理多分量信号时,不可避免地会同时引入交叉项。

从以上分析可以看出,传统的TFA方法由于其固有的限制而不足以提供具有高分辨率的TF表示。为了提高TFA方法的性能,人们在过去的许多年里做了很多努力,提出了许多有效的方法。这些方法一般可以分为两种策略:TF重分配和参数化TFA。

TF再分配方法属于后处理技术,可以明显提高TF表示的可读性[6,7]。重新分配算子旨在通过将域中的能量平均值分配给这些能量贡献的重心来锐化TF表示。因此,重新分配后的TF结果更接近信号的真实IF。最近,随着现代信号处理技术的发展,Maes和Daubechies提出了一种基于相位的重新分配技术,他们称之为同步压缩变换(SST),具有允许直接提取和重建的额外优点[8,9]。通过重构的基本数学公式,SST比不存在重构的传统重分配方法更有吸引力。SST已成功应用于许多领域,如ECG信号分析[10]、微地震信号分析[11]和旋转机械故障诊断[12]等。然而,强烈调制的频率分量和噪声会严重破坏信号的原始TF表示。作为一种后处理工具,这些都会破坏SST的结果。这一点在许多研究中都得到了证实[12-14]。为了克服这些缺点,已经建立了几种改进的方法。如参考文献[12]所示,SST仅限于重新分配TF表示的频率变量,但忽略时间变量,因此SST在处理纯谐波信号时仅创建良好的TF表示。基于这一观察,Li [12,15]提出了一种广义SST,通过引入一个解调算子,将时变频率转化为常频,从而得到理想的TF表示。为了处理具有不同调制频率的多分量信号,采用了广义解调方法[32],并提出了迭代通用SST [16]。然而,应该指出的事实是,在大多数实际情况下,信号的调制频率不能预先知道。这意味着我们无法获得实际信号的精确解调算子。因此,一般SST的实用性将打折扣。

参数化的TF分析方法的灵感来自于STFT和CWT采用不同的分析窗口(如不同的宽度和啁啾率)可以获得不同的TF分辨率。如果我们选择合适的窗函数,它可以与所考虑的信号的固有特性相一致,所获得的TF表示将有一个更高的TF分辨率。因此,参数化TFA的发展方向是识别信号的内在特征和构造窗函数。Chirplet变换(CT)是由文献[1]设计的。[17,18]。通过使用一个额外的参数,啁啾率,CT是能够创建一个良好的集中TF表示的线性调制信号。亨利[19]提出了一种自适应TFA方法,通过使用最大似然估计来选择分析窗口的最佳宽度和啁啾率。Chassande—Mottin和派[20]开发了一种根据信号的TF特征搜索最佳啁啾率的算法。Candes [21]提出了线调频波路径追踪方法来检测高振荡信号。

可以看出,早期的参数化TF A方法利用分段线性窗口来近似时变TF特征。然而,当遇到强非线性信号时,它不是一个好的选择。在文献[14]中,Wang提出了一种称为匹配解调变换(MDT)的方法。MDT方法利用时变解调算子来描述中频的非线性特征,可以显著提高TF表示的能量集中度。并行地,通过引入参考文献[22]中的旋转算子和移位算子,它允许构造非线性窗函数。如果使用与信号一致的非线性模型,则可以产生具有更好集中能量的TF表示。Peng等人提出了几种非线性数学模型来描述多种类型的分析信号的内在特征,如多项式模型[22]、样条模型[23]和广义小波模型[24],他们将这些方法统一称为广义参数化TFA(GPTFA)[25]。虽然GPTFA在分析强非线性中频信号时表现出很强的TF分辨率,但它的一些局限性也不容忽视。由于实际情况的复杂性和多样性,我们不能用一个单独的数学模型来描述所有类型的测量信号.此外,一个建立良好的模型只适用于信号中指定的单分量,因此它不能处理具有不同中频特性的多分量信号。此外,参数化模型需要从传统的TFA中估计,因此需要具有公平能量集中的初始TFA,否则将无法估计精确模型。在这些限制下,GPTFA仍有很大的改进空间。

SST和GPTFA作为近年来发展起来的TFA技术,虽然能够更精确地分析信号的复杂结构,但其固有的局限性也不容忽视。考虑到它们的缺点,TFA方法的改进和发展应针对以下能力:(1)良好地表征具有明显非线性特征的多组分信号;(2)独立于数学模型和初始TFA方法;(3)允许感兴趣组分的重构;(4)尽可能地对噪声不敏感。

MATLAB代码

MATLAB仿真结果

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

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

相关文章

【LabVIEW FPGA入门】使用事件发生函数同步FPGA循环

1.使用事件发生函数 使用 Occurrences 函数来控制单独的同步活动。特别是,当您希望程序框图的一部分等待程序框图的另一部分完成任务而不强制 LabVIEW 进行轮询时,请使用这些函数。 您可以使用全局变量执行类似于occurrences函数的功能,通过一…

Nginx 是一款高性能的开源 Web 服务器软件

文章推荐 1 作为程序员,开发用过最好用的AI工具有哪些? 2 Github Copilot正版的激活成功,终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手,帮助你提高写代码效率 5 Jetbrains的a…

SQL——DML对表中数据的操作

# 创建数据库 create database if not exists db_BigData default character set gb2312 default collate gb2312_chinese_ci; # 创建表 create table if not exists db_BigData.stu (id int auto_increment primary key comment 主键ID,name var…

navicat15设置字类型为decimal的字段默认值失败

可能是由于我使用的破解版的原因,使用sql可以设置成功,但是navicat可视化工具就不行, sql如下: alter table <表名> alter column <字段名> set default <默认值> ;

Windows内核--DMA

DMA工作期间CPU可以访问内存吗? DMA工作期间&#xff0c;占用内存访问总线&#xff0c;和CPU访问内存总线是冲突的。DMA并不是完全和CPU工作并行&#xff0c;如果CPU只是在对内部寄存器操作&#xff0c;没有访问内存&#xff0c;CPU可以和DMA同时工作。一旦CPU也需要访问内存&…

详解CSS(二)

目录 1.背景属性 1.1背景颜色 1.2背景图片 1.3背景平铺 1.4背景位置 1.5背景尺寸 2.圆角矩形 3.元素的显示模式 3.1行内元素/内联元素&#xff08;Inline element&#xff09; 3.2块级元素&#xff08;Block-level element&#xff09; 3.3行内块元素&#xff08;In…

配置 tmux 状态栏

如果你希望 script_status.sh 脚本用于检测是否能正常上网,并将结果显示在 tmux 状态栏中,可以编写一个脚本来执行此操作。下面是如何实现这一功能的详细步骤: 编写 script_status.sh 脚本 首先,创建或编辑 script_status.sh 脚本,使其能够检测互联网连接状态。可以通过…

【leetcode面试经典150题】-80. 删除有序数组中的重复项 II

【leetcode面试经典150题】-80. 删除有序数组中的重复项 II 1 题目介绍2 个人解题思路2.1 代码2.2 思路 3 官方题解 1 题目介绍 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组…

d20(184-190)-勇敢开始Java,咖啡拯救人生

目录 网络通信 网络通信三要素&#xff08;IP地址&#xff0c;端口号&#xff0c;协议 IP地址 InetAddress 端口号 协议 传输层的两个通信协议 UDP通信 java.net.Datagramsocket类 客户端 服务端 UDP通信多收多发 客户端 服务端 TCP通信 java.net.Socket类 客…

【全网最全】2024电工杯数学建模A题21页初步参考论文+py代码+保奖思路等(后续会更新)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片链接&#xff0c;那是获取资料的入口&#xff01; 【全网最全】2024电工杯数学建模A题21页初步参考论文py代码保奖思路等&#xff08;后续会更新成品论文&#xff09;「首先来看看目前已有的资料&#x…

企业应考虑的优秀云安全措施

作为云客户&#xff0c;企业有责任确保正确使用他们提供的工具来保证数据和应用程序的安全。让德迅云安全来跟大家一起研究一些典型企业应该考虑的优秀云安全措施。 在数据安全和隐私方面&#xff0c;企业是否在努力跟上疫情的发展?企业不是一个人。就像多年以前&#xff0c;C…

【栈】Leetcode 224. 基本计算器【困难】

基本计算器 给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。 **注意:**不允许使用任何将字符串作为数学表达式计算的内置函数&#xff0c;比如 eval() 。 示例 1&#xff1a; 输入&#xff1a;s “1 1” 输出&#xff1a;2 示例 2&…

解决小皮面版搭建php网站数据库连接不了

首先进入mysql bin目录下 并执行cmd mysql -u root -pCREATE USER userlocalhost IDENTIFIED BY pass;GRANT ALL PRIVILEGES ON *.* TO userlocalhost;GRANT SELECT, INSERT, UPDATE ON database_name.* TO xxwlocalhost;FLUSH PRIVILEGES;select host ,user from mysql.user…

Android 自定义Adapter关键函数getView性能最优使用

文章目录 1、自定义Adapter关键函数getView()标准写法2、布局文件list_item_user.xml3、解释3、示例使用4、结果5、进一步优化和扩展5.1. **优化性能&#xff1a;ViewHolder模式**5.2. **处理多种类型的视图**5.3. **使用RecyclerView.Adapter** 6、RecyclerView使用示例7、结果…

DOS学习-目录与文件应用操作经典案例-del

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 DOS系统的del命令是一个用于删除文件的命令行工具。以下…

使用公共Wi-Fi所面临的风险有哪些

尽量不要使用公共wifi做转账、支付、修改密码等金融性或私密性的操作。公共Wi-Fi网络存在许多风险。尽管商家可能认为他们为顾客提供了一个有价值的服务&#xff0c;很多人也认为在星巴克噼里啪啦的乱敲键盘非常小资&#xff0c;但其实这些网络的安全性可能存在极大的漏洞&…

【sass插值语句 #{}简介以及使用方法】

Sass 中的插值&#xff08;Interpolation&#xff09;是一种强大的特性&#xff0c;它允许你在 Sass 代码中嵌入变量、选择器、属性名或任何其他 Sass 表达式&#xff0c;并动态地生成 CSS 代码。插值通过 #{} 语法来实现。 Sass 插值简介 Sass 插值允许你创建可动态生成内容…

安卓12aosp mtp屏蔽内部存储显示,只展示特定文件夹和文件类型

系统&#xff1a;安卓12 屏蔽sd卡/内存存储显示 packages/services/Mtp/src/com/android/mtp/MtpService.java 修改如下&#xff0c;屏蔽了内部存储&#xff0c;如果需要屏蔽sd卡也可以根据这里做修改&#xff1a; private void addStorage(StorageVolume volume) {Log.v(TAG,…

[GStreamer] gst_element_link 及 pad 在继承体系中如何存在

前言&#xff1a; pad 是每个 element实例 都有的&#xff0c;是 elemenet 之间沟通的代理人&#xff0c;没有 pad 的 element 没法于其他element交流。 考虑到gstreamer存在继承体系&#xff0c;那么如果继承类element不在init函数里创建pad&#xff0c;那么在gst_element_l…

51打开工程,发现cannot read project file问题

解决办法&#xff1a; 1、路径太长&#xff0c;可以在桌面重新创建一个文件夹&#xff0c;把所有的文件都移动到新的文件夹中 2、创建工程的时候&#xff0c;都勾选上&#xff0c;就没问题