一维时间序列信号的奇异小波时频分析方法(Python)

最初的时频分析技术就是短时窗傅里叶变换STFT,由于时窗变短,可供分析的信号量减少,采用经典的谱估算方法引起的误差所占比重会增加。且该短时窗一旦选定.则在整个变换过程中其时窗长度是固定的。变换后的时频分辨率也即固定,这不利于低频和高频信号的检测。如果在时频分析中用长度变化的时窗来变换信号。就可更好地分析局部频率特征,这就是小波变换。根据测不准原理.小波变换的时间域分辨率和频率域分辨率不可能同时任意好,Stockwell提出的S变换是以Morlet小波为基本小波的连续小波变换的延伸.区别在于S变换中基本小波由简谐波与Gaussian函数乘积构成。基本小波中的简谐波在时间域仅作伸缩变换,Gaussian函数则进行伸缩和平移变换,而连续小波变换中简谐波与Gaussian函数同时进行伸缩和平移。此外,连续小波变换使用正交小波将信号从时间域分解到时间一尺度域,而S变换使用非正交小波将信号从时间域分解到时间一频率域。但由于S变换中的基本小波固定,无法根据地震信号本身选择基本小波。高静怀等Ⅲ提出了广义S变换.用带参数的调幅简谐波代替S变换中的基本小波,然后利用不同参数的基本小波作线性组合形成最终的基本小波。

有学者利用基于STFT时频分析技术对墨西哥湾密西西比河三角洲第四纪沉积环境进行了频谱成像。与传统的振幅属性相比,频谱成像后16Hz的峰值振幅属性图上河道的形态更清晰。与传统的相位属性相比,频谱成像后26Hz的相位属性图上河道的形态及断层均更清晰。

图片

有学者给出了时频分析技术在储层含气性解释中的应用。对地震剖面进行频谱成像后,提取出了3个频率的振幅属性。从10Hz振幅属性剖面上可看到储层之下(约800ms处)有一个很强的反射能量.其也许为砂岩含气形成的“亮点”。但该“亮点”在20Hz振幅属性剖面上已经变弱,在30Hz振幅属性剖面上消失了.说明该“亮点”并不是由于砂岩含气形成的。

图片

有学者提出了一种利用时频分析技术得到局部时频谱的谱反演方法,从而准确估算出随时间变化的地震子波,然后从地震数据中提取出时变子波并计算其反射系数,用于识别远小于地震分辨率的薄层。除了用于识别薄层外。该谱反演方法对刻画较小的上超或下超特征也很有效,这有助于分析准层序分布和沉积物搬运方向。

图片

鉴于此,提出一种一维时间序列信号的奇异小波时频分析方法,时频分辨率得到了提高,程序采用Python编写。

import numpy as np
import waveletHelper # for wavelet functions

def morlet(Fc, Nc, Fs, norm):
    t = waveletHelper.getWaveletTimeRange(Fc, Nc, Fs) # get the time range where the wavelet is defined
    a = Fc*np.sqrt(2*np.pi)

    envelope = (a/Nc) * np.exp( - (t**2) * (a**2) * np.pi  / (Nc**2))
    wavelet = envelope * np.exp(1j * 2*np.pi*Fc * t)

    return waveletHelper.normalize(wavelet, envelope, norm, Fc)

def cwt(y, frange, Fs, baseCycle, norm, step):
    N, M = len(y), len(frange) # get N points from the input data and M frequency points for correct number of points operations    
    scalogram = np.zeros((M, N), dtype=float) # N points in time, M points in frequency

    for i in range(M):
        o = 1.0 + frange[i]/step # number of cycles increase factor per frequency
        w = morlet(frange[i], baseCycle*o, Fs, norm) # generate the wavelet
        lenW = len(w)
        scalogram[i,:] =  2 * np.abs( np.convolve(y, w, 'full')[lenW//2 -1 : -lenW//2] )**2 #apply convolution operation and correct for the resultant size
    
    return scalogram #rotate from time*frequency to frequency*time (helps heat
完整代码可通过知乎学术咨询获得:https://www.zhihu.com/consult/people/792359672131756032?isMe=1

图片

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分享两种论文降重最有效的方法(论文降重网站)

论文降重最有效的方法可以分为手动方法和使用降重网站两种方法。以下是详细的分析和归纳: 手动方法 删减冗余内容:对于论文中的某些内容,特别是信息冗余或不必要的描述,可以通过删减和简化来减少篇幅。确保每一段落和每一个例子都…

UI 自动化测试(Selenuim + Java )

关于 UI 自动化测试工具 selenuim Java 的环境搭建推荐看SeleniumJava 环境搭建 什么是自动化测试? 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测…

AI大数据处理与分析实战--体育问卷分析

AI大数据处理与分析实战–体育问卷分析 前言:前一段时间接了一个需求,使用AI进行数据分析与处理,遂整理了一下大致过程和大致简要结果(更详细就不方便放了)。 文章目录 AI大数据处理与分析实战--体育问卷分析一、数据…

三十五、openlayers官网示例Dynamic Data——在地图上加载动态数据形成动画效果

官网demo地址: Dynamic Data 初始化地图 const tileLayer new TileLayer({source: new OSM(),});const map new Map({layers: [tileLayer],target: "map",view: new View({center: [0, 0],zoom: 2,}),}); 创建了三个样式 const imageStyle new Style(…

glibc backtrace backtrace_symbols 的应用示例

作用: 在一个函数调用栈中,输出 backtrace()函数返回时需要执行的下一条指令的地址,以及返回主调函数后的下一条指令的地址,递归上一步,直到从系统中链接进来的 _start() 为止。 1,示例先行 hello_glibc.…

动态sql set标签 , trim标签

set标签 来看例子 set标案解决了逗号问题(当if条件不满足时,逗号无处安放的问题),我认为set标签可以识别这个问题,并自动忽略这个问题 <update id"update">update employee<set><if test"name!null">name#{name},</if><if te…

vsode (Visual Studio Code) JS -- HTML 教程

vsode (Visual Studio Code) JS – HTML 教程 JavaScript 是什么 -JavaScript 是一种基于对象和事件驱动的脚本语言&#xff0c;广泛用于在网页上实现动态交互效果。JavaScript 可以嵌入到 HTML 页面中&#xff0c;通过在脚本标签中编写 JavaScript 代码来实现各种功能。它主要…

PCIe的链路状态

目录 概述 链路训练的目的 两个概念 下面介绍LTSSM状态机 概述 PCie链路的初始化过程较为复杂&#xff0c;Pcie总线进行链路训练时&#xff0c;将初始化Pcie设备的物理层&#xff0c;发送接收模块和相关的链路状态信息&#xff0c;当链路训练成功结束后&#xff0c;PCIe链…

心动(GDI+)

文章目录 前言实现步骤源代码心形坐标类心形函数定时器方法绘制函数完整源码 结束语 前言 近期学习了一段时间的GDI,突然想着用GDI绘制点啥&#xff0c;用来验证下类与方法。有兴趣的&#xff0c;可以查阅Windows GDI学习笔记相关文章。 效果展示 实现步骤 定义心形函数 。…

MobaXterm 连接时间太短,会自动断开

问题现象 MobaXterm成功连接到开发环境后&#xff0c;过一段时间会自动断开。 原因 配置MobaXterm工具时&#xff0c;没有勾选“SSH keepalive”或专业版MobaXterm工具的“Stop server after”时间设置太短。

C++ stack类与queue类

目录 0.前言 1.容器适配器 1.1容器适配器的特点 1.2容器适配器的实现 1.3使用容器适配器的场景 2.stack的介绍与使用 2.1介绍 2.2使用 3.queue的介绍与使用 3.1介绍 3.2使用 4.stack和queue的模拟实现 4.1 stack的模拟实现 4.2 queue的模拟实现 5.结语 &#xf…

探秘IPv6协议在车载网络的应用:打造智能出行新体验

绪论 1969年&#xff0c;互联网的前身——ARPANET成功地连接了四个关键节点&#xff1a;①加州大学洛杉矶分校、②斯坦福研究所、③加州大学圣巴巴拉分校、④犹他州大学。这四个节点的成功连接标志着分组交换&#xff08;Packet Switching&#xff09;网络的正式运行&#xff…

SpringBoot登录认证--衔接SpringBoot案例通关版

文章目录 登录认证登录校验-概述登录校验 会话技术什么是会话呢?cookie Session令牌技术登录认证-登录校验-JWT令牌-介绍JWT SpringBoot案例通关版,上接这篇 登录认证 先讲解基本的登录功能 登录功能本质就是查询操作 那么查询完毕后返回一个Emp对象 如果Emp对象不为空,那…

Android期末大作业:使用AndroidStudio开发图书管理系统APP(使用sqlite数据库)

Android Studio开发项目图书管理系统项目视频展示&#xff1a; 点击进入图书管理系统项目视频 引 言 现在是一个信息高度发达的时代&#xff0c;伴随着科技的进步&#xff0c;文化的汲取&#xff0c;人们对于图书信息的了解与掌握也达到了一定的高度。尤其是学生对于知识的渴…

wvp-gb28181-pro搭建流媒体服务器,内存占用过高问题

直接给出解决办法,端口暴露的太多了,暴露了500个端口导致从3g---->11g 遇到的问题,直接使用镜像《648540858/wvp_pro:latest》在宿主机上运行,如我下面的博客 https://blog.csdn.net/weixin_41012767/article/details/137112338?spm=1001.2014.3001.5502 docker run …

ChineseChess.2024.06.03

ChineseChess.2024.06.03 中国象棋&#xff0c;我下得不是象棋&#xff0c;是娱乐&#xff0c;是想看看自己的程序。哈哈 看很多主播挂棋局&#xff0c;吹牛批&#xff0c;为了涨粉&#xff0c;挂着&#xff0c;蛮摆个残局 中国象棋残局模拟器ChineseChess.2024.06.03

HTML:认识HTML与基本语法的学习

前言 HTML&#xff08;超文本标记语言&#xff09;是用于创建网页的标记语言&#xff0c;由一系列标签组成&#xff0c;定义网页中的元素。由蒂姆伯纳斯 - 李于1990年代初发明&#xff0c;最初用于科研机构间共享文档&#xff0c;迅速演变为Web开发基础。无论是电商、博客、新…

攻防世界---misc---reverseMe

1、这道题是做过最简单的misc题&#xff0c;下载附件是一个图片 2、flag是反的&#xff0c;但是可以自己倒着推也能写出 3、这里推荐使用工具&#xff0c;双击图片&#xff0c;它打开是用的系统自带的软件打开 点击这里最图片编辑 4、接着点击矫正 5、点击这个左右翻转 6、得…

64位Office API声明语句第119讲

跟我学VBA&#xff0c;我这里专注VBA, 授人以渔。我98年开始&#xff0c;从源码接触VBA已经20余年了&#xff0c;随着年龄的增长&#xff0c;越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友&#xff0c;都来学习VBA,利用VBA,起码可以提高…

我们如何管理网站权限?这么操作最简单

网站权限有哪些 在知道如何管理网站权限之前我们先来了解一下网站权限都有哪些。在日常我们使用浏览器的时候网站都会使用你同意的某些权限进行一些操作&#xff0c;下面是总结的一些网站权限&#xff1a; 位置访问权限&#xff1a;控制网站是否可以访问你的地理位置数据。 …