非平稳信号分析和处理、STFT的瞬时频率研究(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及文献下载


💥1 概述

摘要:在非平稳信号分析和处理领域,经常使用短时傅里叶变换(STFT)将信号转换为时频域。STFT的瞬时频率(IF)定义为STFT相位的时间导数,在重分配方法和同步挤压变换(SST)中起着重要作用。在本文中,我们提出了一个框架来设计一个用于计算STFT中频的窗口函数。计算IF需要具有窗口的STFT和具有导数的STFT,即IF计算取决于窗口函数及其导数。为了设计适合计算IF的窗口,我们将窗口设计问题表述为相应导数的旁瓣最小化问题。设计了两个窗口,将旁瓣能量或最高旁瓣电平作为成本函数,以最小化其导数的旁瓣。与使用普通带宽可调窗口产生的SST相比,使用建议窗口的SST提供了更清晰的时频表示。

时频(T-F)表示在非平稳信号分析和处理中非常重要。短时傅里叶变换(STFT)因其简单性和易于理解的结构而被广泛用于将信号转换为T-F域[1]-[4]。STFT获得的T-F表示的分辨率受到海森堡不确定性原理的限制。为了调整其分辨率,已经从不同的角度提出了许多窗口函数,例如频率响应[5]-[14]和信号处理中的数值稳定性[15]-[20]。

已经提出了重新分配方法和同步挤压变换(SST)来克服海森堡的不确定性原理[21]。重新分配方法最初是由Kodera提出的,以提高STFT获得的T-F表示的可读性[22]。然后,奥格和弗兰德林通过发现一种有效的计算方法推广了重新分配方法;此外,他们将重分配方法推广到科恩类和时间尺度表示中的T-F表示[23]。然后,将重新分配方法推广到任何过滤器组 [24]、[25]。重分配方法使用其相位的时间和频率导数锐化T-F表示,但代价是可逆性。STFT相位的时间和频率导数分别称为瞬时频率(IF)和群延迟。

在音频信号分析的背景下,Daubechies和Maes提出了SST [26],[27],这是重新分配方法的变体。 SST 仅对复值 T-F 表示执行频率重新分配,以锐化 T-F 表示,同时确保可逆性。随后,SST也被推广到STFT[28],[29]和其他表示[25],[30],并被广泛研究[31]-[35]。FSST 使用 IF(受窗口函数影响)重新分配点差分量。因此,为了提高FSST的性能,窗口的设计应考虑IF的计算。

此外,IF还用于其他应用,例如相位声码器[36]-[39],T-F模板估计[40],[41],相位转换[42]-[45]和语音处理[46]-[48]。在相位声码器的上下文中,通过比较几个现有窗口[38],已经证明了窗口对IF计算的影响。因此,设计一个用于计算IF的窗口也可以提高其应用的性能。

计算IF的方法使用带有窗口及其(时间)导数[23]的STFT,即使在离散设置中也可以精确计算。也就是说,计算的 IF 取决于窗口及其导数。此外,多个信号分量的干扰也会影响IF计算。为了减少多个信号分量的干扰,应设计窗口及其导数,以减少海森堡不确定性下的T-F扩展。

窗口设计减少扩展的主要目的是其频率响应,因为通过窗口的支撑可以相对容易地控制时间方向上的扩展。因此,需要减小窗口及其导数的频率响应的旁瓣。特别是,由于差分算子强调高频分量,因此应更加关注窗口导数的旁瓣。几个窗口函数是通过考虑其边缘的连续性来设计的,这与它们的导数的旁瓣有关[13],[14]。但是,没有一种方法明确考虑窗口导数的频率响应。设计一个窗口函数以最小化其导数频率响应的旁瓣,有望获得更适合IF计算的窗口函数。

📚2 运行结果

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码及文献下载

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

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

相关文章

Android Studio快速实现Flutter应用的国际化和多语言支持

文章目录 Flutter实现国际化和多语言支持添加依赖库Android Studio 安装flutter Intl插件项目初始化增加语言app中使用国际化在应用中切换语言:运行应用 总结easy_localization 插件intl 包Flutter GetX 包flutter_i18n 插件JSON 文件 Flutter实现国际化和多语言支持…

【C语言】每日一题(旋转数组)

旋转数组,链接奉上 目录 方法:创建额外的数组:整体思路:代码实现: 数组反转:整体思路:代码实现:小插曲: 方法: 创建额外的数组: 整体思路: 创建一个额外的…

【试题038】 逻辑与和赋值表达式例题

1.题目:设int n;,执行表达式(n2)&&(n1)&&(n0)后,n的值是? 2.代码分析: //设int n;,执行表达式(n2)&&(n1)&&(n0)后,n的值是? int main() {int n;printf("…

Android前台服务和通知

前台服务 Android 13及以上系统需要动态获取通知权限。 //android 13及以上系统动态获取通知权限 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {checkPostNotificationPermission(); } private void checkPostNotificationPermission() {if (ActivityCompat.chec…

STM32-LTC6804方案成熟BMS方案

方案下载链接!!https://mp.weixin.qq.com/s?__bizMzU2OTc4ODA4OA&mid2247549092&idx1&snc73855c4e3d5afddd8608d8528864f95&chksmfcfb1373cb8c9a65a4bd1f545a1a587af882f209e7ccbb8944f4d2514d241ca1d7fcc4615e10&token539106225&a…

JUC并发编程笔记2

省流: 自己笔记,划走~~~~ 缓存更新策略

spring配置文件第一行导致读取配置失败

遇到读取配置存在问题,尤其当配置到第一行 通过spring执行测试类,没有问题,但是相同配置启动项目时,老找不到JdbcTemplate 使用配置: spring.shardingsphere.datasource.namesmaster,slavespring.shardingsphere.dat…

qt 读取txt文本内容时,中文乱码

项目场景: 项目中,需要在TF卡中做类似txt阅读器的功能,因为app是在嵌入式系统下运行的,发现当读取txt的文本格式为ANSI时,中文的显示是乱码,故记录下解决方法 问题解决 中文乱码问题还是涉及到编码问题&…

【C++】继承 ⑦ ( 继承中的对象模型分析 | 继承中的构造函数和析构函数 )

文章目录 一、继承中的对象模型分析1、继承代码示例2、基类与派生类内存模型3、问题引入 - 派生类对象构造函数和析构函数调用4、完整代码示例 - 派生类对象内存模型 二、继承中的构造函数和析构函数1、子类构造函数与析构函数调用顺序2、子类构造函数参数列表3、代码示例 - 继…

【word技巧】word页眉,如何禁止他人修改?

我们设置了页眉内容之后,不想其他人修改自己的页眉内容,我们可以设置加密的,设置方法如下: 先将页眉设置好,退出页眉设置之后,我们选择布局功能,点击分隔符 – 连续 设置完之后页面分为上下两节…

【Mysql】B+树索引的使用(七)

前言 每个索引都对应一棵 B 树, B 树分为多层,最下边一层是叶子节点,其余的是内节点(非叶子节点)。所有用户记录都存储在 B 树的叶子节点,所有目录项记录都存储在内节点。 InnoDB 存储引擎会自动为主键&am…

vue单向绑定和双向绑定

一、单向绑定就是:修改视图,数据不变;修改数据(app.name"1234"),视图会变 二、双向绑定:修改视图,数据会变;修改数据,视图会变 demo: …