非平稳信号分析和处理、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.rhkb.cn/news/164710.html

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

相关文章

Monocle 3 | 太牛了!单细胞必学R包!~(一)(预处理与降维聚类)

1写在前面 忙碌的一周结束了,终于迎来周末了。🫠 这周的手术真的是做到崩溃,2天的手术都过点了。🫠 真的希望有时间静下来思考一下。🫠 最近的教程可能会陆续写一下Monocle 3,炙手可热啊,欢迎大…

vue集成钉钉单点登录

初始环境判断 判断是否是来自钉钉环境的访问,返回:boolean类型值 window.navigator.userAgent.includes("DingTalk")前端引入vue中钉钉相关的依赖,并获取钉钉的临时授权码 import * as dingtalk from dingtalk-jsapi; let that …

vue 插槽-默认插槽

vue 插槽-默认插槽 **创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day05\准备代码\07-插槽-默认插槽 vue --version vue create…

EDUSRC--简单打穿某985之旅

免责声明: 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

光储并网直流微电网simulink仿真模型,光伏采用mppt实现最大功率输出研究

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

Influence on Social media(素论+思维)

传送门:nefu_10-18 - Virtual Judge (vjudge.net) 思路: 每次给n个数,判断每个数的除数总数是否为奇素数。 对于整数:可质因子分解,,除数总数为(i11)*(i21)*(i31).... 若除数总数为奇素数&a…

任务分配问题(回溯法)

算法设计 问题描述 有n(n≥1)个任务需要分配给n个人执行,每个任务只能分配给一个人,每个人只能执行一个任务。 第i个人执行第j个任务的成本是c[i][j](1≤i,j≤n)。求出总成本最小的分配方案 …

【前端】Layui小功能收集整理

目录 1、layui 鼠标悬浮提示文字 2、关闭当前窗口并刷新父页面 3、子iframe关闭/传值/刷新父页面 1、layui 鼠标悬浮提示文字 鼠标放在图标上悬浮显示提示信息&#xff0c;效果图如下 <div style"float:left; line-height:40px">道试题 <i class"l…

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分:通信协议(3)

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分&#xff1a;通信协议&#xff08;3&#xff09;前言TCP/IP 封装步骤说明 为什么Nginx被称为“反向”代理&#xff1f;转发代理通常用于&#xff1a;反向代理适用于&#xff1a; 常见…

光伏三相并网逆变器的控制策略与性能分析(Simulink仿真实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

垃圾回收器

垃圾回收器 问题:为什么分代GC算法要把堆分成年轻代和老年代 系统中有部分对象被创建使用后很快就不再使用了,比如订单数据,返回给用户后就不怎么使用了 老年代中会存放长期存活的对象,比如Spring中的bean对象,在程序启动后就不会被回收了 JVM默认设置中,年轻代的大小要远小…

FPGA的通用FIFO设计verilog,1024*8bit仿真,源码和视频

名称&#xff1a;FIFO存储器设计1024*8bit 软件&#xff1a;Quartus 语言&#xff1a;Verilog 本代码为FIFO通用代码&#xff0c;其他深度和位宽可简单修改以下参数得到 reg [7:0] ram [1023:0];//RAM。深度1024&#xff0c;宽度8 代码功能&#xff1a; 设计一个基于FPGA…

2023.10.20期中考核复现(misc)

杂项题就是2023陇剑杯的题目&#xff0c;可能还是不感兴趣吧&#xff0c;自从打完蓝帽杯之后除了web以外什么都没看 flow analysis 1 题目&#xff1a;What is the backdoor file name that comes with the server?( Including file suffix) 服务器附带的后门文件名是什么&am…

Leetcode 21 合并两个有序链表 (链表)

Leetcode 21 合并两个有序链表 &#xff08;链表&#xff09; 解法1 复杂的第一版本&#xff08;优化大于和等于合并见方法二&#xff09;解法2 注意注意&#xff1a;先添加元素toadd.next list1&#xff0c;添加之后才可以移动指针toadd toadd.next 解法1 复杂的第一版本&a…

C++之this指针

前言 C中对象模型和this指针是面向对象编程中的重要概念。对象模型描述了对象在内存中的布局和行为&#xff0c;包括成员变量、成员函数的存储方式和访问权限。this指针是一个隐含的指针&#xff0c;指向当前对象的地址&#xff0c;用于在成员函数中引用当前对象的成员变量和成…

zabbix-proxy代理服务器配置

下载zabbix源 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 安装 yum -y install zabbix-proxy-mysql zabbix_get 查看相关文件路径 rpm -ql zabbix-proxy-mysql 创建数据库 mysq -uroot -proot mysql> create database…

分析并实现Android中的MVC、MVP架构模式

架构是什么 架构是为了解决特定的问题而提出来的&#xff0c;而且它还有特定的规则&#xff0c;能够把整个应用的整体进行角色的划分。并且他还能够约定角色之间的联系沟通机制。 所以学习架构要带着以下三个问题去理解&#xff1a; 。架构解决了什么问题&#xff1f; 。架…

Pytorch深度学习 - 学习笔记

文章目录 Pytorch深度学习1. Pytorch加载数据初认识2. TensorBoard3. Transforms常见的transform 4. torchvision中的数据集使用5. DataLoader使用6. 神经网络6.1 神经网络的基本骨架6.2 卷积层6.3 最大池化的使用6.4 非线性激活6.5 线性层及其他层6.6 小实战及Sequential 7. 损…

Python学习笔记——存储容器

食用说明&#xff1a;本笔记适用于有一定编程基础的伙伴们。希望有助于各位&#xff01; 列表 列表类似数组&#xff0c;其中可以包含不同类型的元素&#xff0c;写法如下&#xff1a; list1 [Google, Runoob, 1997, 2000] list2 [1, 2, 3, 4, 5 ] list3 ["a", …

antd的RangePicker设置默认值,默认近七天(andt+react)

import moment from "moment";state {initData:[moment().startOf(day).subtract(6, d), moment().endOf(day)], }<FormItem label"产生时间" {...tailItemLayout}>{getFieldDecorator("produceTime", {initialValue: initData})(<Ran…