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

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

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

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

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

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码及文献下载](#🌈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代码及文献下载

相关推荐
孤雪心殇几秒前
简单易懂,解析Go语言中的Map
开发语言·数据结构·后端·golang·go
庸俗今天不摸鱼12 分钟前
Canvas进阶-4、边界检测(流光,鼠标拖尾)
开发语言·前端·javascript·计算机外设
菠菠萝宝13 分钟前
【Java八股文】10-数据结构与算法面试篇
java·开发语言·面试·红黑树·跳表·排序·lru
奔跑吧邓邓子16 分钟前
【Python爬虫(36)】深挖多进程爬虫性能优化:从通信到负载均衡
开发语言·爬虫·python·性能优化·负载均衡·多进程
不会Hello World的小苗20 分钟前
Java——链表(LinkedList)
java·开发语言·链表
lsx20240632 分钟前
Perl 面向对象编程指南
开发语言
Allen Bright1 小时前
【Java基础-46.3】Java泛型通配符详解:解锁类型安全的灵活编程
java·开发语言
画个逗号给明天"1 小时前
C++STL容器之list
开发语言·c++
hrrrrb2 小时前
【Java】Java 常用核心类篇 —— 时间-日期API(上)
java·开发语言
小突突突2 小时前
模拟实现Java中的计时器
java·开发语言·后端·java-ee