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

2024-02-10 19:28

本文主要是介绍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

出图如下:

这篇关于MATLAB环境下一维时间序列信号的同步压缩小波包变换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/697890

相关文章

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.