MATLAB环境下一维时间序列信号的同步压缩小波包变换

时频分析相较于目前的时域、频域信号处理方法在分析时变信号方面,其主要优势在于可以同时提供时域和频域等多域信号信息,并清晰的刻画了频率随时间的变化规律,已被广泛用于医学工程、地震、雷达、生物及机械等领域。

线性时频分析方法是将信号分解为时域和频域中基的加权和,例如短时傅里叶变换STFT和小波变换WT。短时傅里叶变换利用短窗口沿时间尺度移动以对信号进行切片,可以获得每个片段的局部傅里叶谱,揭示信号的变化规律。由于海森堡不确定原理,STFT方法在达到最优时间位置时其时频分辨率较低,反之亦然。因此,该方法缺乏适应性,它只适用于分析在短时间窗尺度上的平稳信号,而不适用于分析信号中的高瞬态冲击信号。小波变换是一种重要的信号处理工具,利用可变窗同时兼顾高低频信号的分辨率,适用于非平稳信号分析。但也存在不足之处,小波变换对低频信号进行迭代分解,而对高频的细节信号没有进一步的处理。对于高频分量,小波变换具有较好的时间局域特性,但无法满足最佳频率分辨率的要求;对于低频分量,当达到最优频率分辨率时,而时间局部特性呈现出较差的状态。此外,小波变换还存在与母小波选择标准、边界失真、能量泄漏相关的问题。

二次时频分布主要属于Cohen类双线性时频能量分布,其中最常用的是Wigner-Ville分布及其变体。二次时频分布不包含任何窗函数,因此不受不确定性的影响,但是其交叉项在处理多分量信号中产生较大的影响。尽管这种干扰可以通过平滑处理来减弱,但平滑后的分布会变得模糊,降低时频分辨率。二次时频分析方法的理论中尽管有许多优良的性质,但是由于不能直接重构信号,限制了在实际问题中的应用。

为了提高时频分析的质量,众多学者已经开发了一些时频重分配方法。时频重分配方法是通过修改原始谱能量分布来提高原始线性或二次时频变换的可读性的后处理技术。重新分配后,频谱能量将集中在瞬时频率附近,避免了人为干预。Daubechies和Oberlin分别基于CWT和STFT提出了同步压缩变换SST。

SST方法是通过将时频系数压缩至瞬时频率的轨迹中进行设计的,提高了时频的分辨率并重建了原始信号。但在强噪声的干扰下SST方法的时频分辨率较低,并且由于其对真实瞬时频率分布的估计偏差而导致时频能量不集中。

同步压缩小波包变换方法首先将信号进行小波包变换得到小波包变换系数,然后求取信号的瞬时频率,最后对小波包变换系数沿信号瞬时频率方向进行压缩,从而将各频率成分清晰呈现于时频图中,可以提高时频分辨率。

程序运行环境为MATLAB R2018A,执行一维时间序列信号的同步压缩小波包变换,并给出了模拟信号和实际信号的例子。算法可迁移至金融时间序列,地震信号,语音信号,声信号,生理信号等一维时间序列信号。

部分代码如下:

% Inputs
%  x      input signal, a vector of length N
%
% Optional Inputs
%  is_real   Type of the transform
%          0: complex-valued wave packets
%          1: real-valued wave packets
%        [default set to 0]
%  is_unif   whether x is sampled on a uniform grid
%        0: No; 1: Yes
%  typeNUFFT  1: NUFFT by Air Force Lab
%        2: USFFT by E. Candes
%        3: NUFFT by L. Greengard and J.-Y. Lee
%        4: Direct non-uniform Fourier Transform
%  xo     non-uniform locations at which x is measured
%  NG     number of subsampled points in time
%  [R_low R_high]     The range of interested spectrum
%  rad     a parameter to adjust the size of supports of the mother wave packet in
%        the frequency domain, rad <= 2.
%  is_cos   Type of the window function
%          0: C^infinity window function
%          1: cosine window function
%        [default set to 0]
%  t_sc    scaling parameter for radius
%        [default set to 1-1/4]
%  red     redundancy parameter, red is a positive integer
%        [default set to 1]
%  epsl    threshold for instantaneous frequency estimates
%        [default set to 1e-2]
%  h      frequency band width per pixel in the synchrosqueezed
%        time-frequency representation
%        [default set to 1]
%  is_fac   0: do not increase the magnitude of high frequency wave
%        packet coefficients; 1: increase;
%        [default set to 1, better to visualize high frequency
%        instantaneous frequencies]
%  wedge_length_coarse
%        length of coarsest wedge
%        [default set to 4]
%
% Outputs
%  T_f     1D synchrosqueezed wave packet transform, a matrix with NG columns, each column represent frequency
%        information at a fixed time
%  coef    1D wave packet transform coefficients of x
%  kk     instantaneous frequency estimates from each wave packet
%        coefficient

出图如下:

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

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

相关文章

第十七篇【传奇开心果系列】Python的OpenCV库技术点案例示例:自适应阈值二值化处理图像提取文字

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例系列短博文目录前言一、自适应阈值二值化处理图像提取文字轮廓的初步示例代码:二、扩展思路介绍三、调整自适应阈值二值化的参数示例代码四、对二值化图像进行形态学操作示例代码五、使用轮廓特征进行筛选示…

Ubuntu22.04 gnome-builder gnome C 应用程序习练笔记(三)

八、ui窗体创建要点 .h文件定义(popwindowf.h)&#xff0c; TEST_TYPE_WINDOW宏是要创建的窗口样式。 #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define TEST_TYPE_WINDOW (test_window_get_type()) G_DECLARE_FINAL_TYPE (TestWindow, test_window, TEST, WI…

java缓冲流

缓冲流相比较基本流效率更高&#xff0c;因为自带长度的8192缓冲区 缓冲流在io体系中的的位置&#xff1a; 字节缓冲流&#xff1a; 缓冲流的构造方法&#xff1a;输入、输出 **先通过一个练习了解字节缓冲流两个写法&#xff1a; //创建缓冲流对象 BufferedInputStream bis…

零基础学编程怎么入手,中文编程工具构件箱之渐变背景构件用法教程,系统化的编程视频教程上线

零基础学编程怎么入手&#xff0c;中文编程工具构件箱之渐变背景构件用法教程&#xff0c;系统化的编程视频教程上线 一、前言 今天给大家分享的中文编程开发语言工具资料如下&#xff1a; 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例…

跟着cherno手搓游戏引擎【22】CameraController、Resize

前置&#xff1a; YOTO.h: #pragma once//用于YOTO APP#include "YOTO/Application.h" #include"YOTO/Layer.h" #include "YOTO/Log.h"#include"YOTO/Core/Timestep.h"#include"YOTO/Input.h" #include"YOTO/KeyCod…

070:vue+cesium: 利用canvas设置线性渐变色材质

第070个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置线性渐变色的材质,这里使用canvas的辅助方法。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共104行)专栏目标示例效果 配置方式 1)查看基础…

每日五道java面试题之java基础篇(三)

第一题. switch 是否能作⽤在 byte/long/String 上&#xff1f; Java5 以前 switch(expr)中&#xff0c;expr 只能是 byte、short、char、int。从 Java 5 开始&#xff0c;Java 中引⼊了枚举类型&#xff0c; expr 也可以是 enum 类型。从 Java 7 开始&#xff0c;expr 还可以…

504. Base 7(七进制数)

题目描述 给定一个整数 num&#xff0c;将其转化为 7 进制&#xff0c;并以字符串形式输出。 问题分析 按照二进制转换的方式进行转换即可 代码 char* convertToBase7(int num) {int count 0;char *x (char *)malloc(sizeof(char)*32);char *y (char *)malloc(sizeof(c…

HCIA--NAT实验

1. 划分网段&#xff0c;配置接口IP地址&#xff0c;内网启用OSPF协议&#xff0c;并配置一对一的NAT&#xff1a; AR1配置&#xff1a; [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 10.1.1.1 24 [Huawei-GigabitEthernet0/0/0]int g0/0/1 [Huawei-GigabitEther…

Kafka 入门介绍

目录 一. 前言 二. 使用场景 三. 分布式的流平台 四. Kafka 的基本术语 4.1. 主题和日志 &#xff08;Topic 和 Log&#xff09; 4.2. 分布式&#xff08;Distribution&#xff09; 4.3. 异地数据同步技术&#xff08;Geo-Replication&#xff09; 4.4. 生产者&#xf…

svg 进阶

svg 进阶 svg 应用场景 绘制 icon绘制动画 svg viewport 和 viewBox viewport 是 svg 图像的可见区域 viewBox 是用于在画布上绘制 svg 图形的坐标系统 在一下案例中 svg中 width“500” height“200” 就是可视区域 比如你的svg是100X100但是你的可视区域只有20X20 那么他…

python-游戏篇-初级-超级画板

文章目录 开发环境要求运行方法PyCharmVScode 代码main.pytools.py 效果 开发环境要求 本系统的软件开发及运行环境具体如下。 操作系统&#xff1a;Windows 7、Windows 10。Python版本&#xff1a;Python 3.7.1。开发工具&#xff1a;PyCharm 2018。Python内置模块&#xff…

redis-sentinel(哨兵模式)

目录 1、哨兵简介:Redis Sentinel 2、作用 3、工作模式 4、主观下线和客观下线 5、配置哨兵模式 希望能够帮助到大家&#xff01;&#xff01;&#xff01; 1、哨兵简介:Redis Sentinel Sentinel(哨兵)是用于监控redis集群中Master状态的工具&#xff0c;其已经被集成在re…

【Maven】依赖、构建管理 继承与聚合 快速学习(3.6.3 )

文章目录 Maven是什么&#xff1f;一、Maven安装和配置本地配置文件设置idea配置本地maven 二、基于IDEA的Maven工程创建2.1 Maven工程GAVP属性2.2 Idea构建Maven JavaEE工程 三、Maven工程项目结构说明四、Maven核心功能依赖和构建管理4.1 依赖管理和配置4.2 依赖传递和冲突4.…

Python环境下基于最大离散重叠小波变换和支持向量回归的金融时间序列预测

金融时间序列具有非线性、高频性、随机性等特点&#xff0c;其波动情况不仅与当前股票市场、房地产市场、贸易市场等有强联动性&#xff0c;而且大幅度起伏对于其他市场有较大的影响和冲击。由于金融市场受多种因素影响且各影响因素间也存在一定复杂动态交互关系&#xff0c;导…

css的布局(BFC)

一、css中常规的定位方案 1、普通流 元素按照其在HTML中的先后位置自上而下布局。 行内元素水平排列&#xff0c;当行被占满后换行&#xff1b;块级元素则会被渲染为完整的一行。 所有元素默认都是普通流定位。 2、浮动 元素首先按照普通流的位置出现&#xff0c; 然后根据浮动…

Eclipse安装配置、卸载教程(Windows版)

Eclipse是一个开放源代码的集成开发环境&#xff08;IDE&#xff09;&#xff0c;最初由IBM公司开发&#xff0c;现在由Eclipse基金会负责维护。它是一个跨平台的工具&#xff0c;可以用于开发多种编程语言&#xff0c;如Java、C/C、Python、PHP、Rust等。 Eclipse提供了一个可…

传输频宽是啥?对网速影响有多大?

频宽&#xff0c;即WIFI频道宽度&#xff0c;又称为WIFI信道宽度&#xff0c;是WiFi Channel width的缩写。从科学的定义来说&#xff0c;Wi-Fi频道宽度&#xff0c;是指Wi-Fi无线信号在频谱上所占用的带宽大小。它决定了Wi-Fi网络的数据传输速率和稳定性&#xff0c;一般有20M…

C++ 哈希表(unordered_map与unordered_set)

文章目录 unordered_map 与 unordered_set哈希表 (Hash Table)哈希函数哈希冲突模拟实现封装 补充&#xff1a;unordered_map 与 unordered_set 的使用 unordered_map 与 unordered_set 就和名字一样&#xff0c;这是 map、set 的无序版本&#xff08;数据遍历出来是无序的&am…

STM32标准库移植FreeRTOS并测试

STM32标准库移植FreeRTOS并测试 最终现象一、移植①下载FreeRTOS源码②移植步骤 二、测试三、工程项目 最终现象 主函数中创建三个任务&#xff0c;优先级都相同&#xff0c;意味着每个任务执行固定事件之后就会轮到下一个任务运行&#xff0c;由于这个时间是很短的&#xff0…