龙空技术网

MATLAB环境下使用二维高分辨时频分析方法提取波状分量

哥本哈根诠释2023 174

前言:

现在你们对“matlab 量子力学”大体比较重视,同学们都想要分析一些“matlab 量子力学”的相关知识。那么小编也在网上汇集了一些有关“matlab 量子力学””的相关文章,希望大家能喜欢,你们一起来了解一下吧!

MATLAB环境下使用二维高分辨时频分析方法提取波状分量(分离混合地震数据)。

为了得到更高的时频分辨率,近年来涌现出了大量的新的时频分析方法。有些以线性和非线性时频分析为基础,有些则另辟蹊径,比如Hilbert-Huang变换HHT。HHT包括经验模态分解EMD和希尔伯特变换两部分,其中经验模态分解是其核心部分。由于经验模态分解存在模态混叠和端点效应,集合经验模态分解和互补集合经验模态分解被提出,集合经验模态分解在一定程度上克服了模态混叠问题,互补集合经验模态分解提高了集合经验模态分解的计算效率,并减少了重构误差。

希尔伯特黄变换虽然能得到瞬时频率信息,但是其数学理论基础不够完备,模态混叠问题难以消除。匹配追踪算法与希尔伯特黄变换都属于贪婪算法,主要用于储层预测,噪声压制,匹配追踪时频分辨率较高,但是计算效率较低。稀疏约束的谱反演方法通过加入正则化约束条件控制稀疏程度,得到高分辨率的时频分析结果,近年来受到了越来越多的关注,稀疏参数的选择非常重要,如果选取不合适,可能会把一些有效的弱信号稀疏掉。

还有一些高分辨率高聚焦的时频分析方法是建立在线性非线性时频分析方法基础上的,比如分数阶变换,谱重排,同步压缩变换。1980年Namias在量子力学中引入了分数傅里叶变换FRFT这一概念,1987年McBride和Kerr对其进行了完善,之后一些学者做了进一步的分析研究,并把这种分数阶变换推广到了Radon-Wigner、分数阶短时傅里叶变换STFRFT、分数阶Gabor变换FRGT,分数阶小波变换FRWT、分数阶S变换等。

傅里叶变换是将时间域信号转换到频率域,傅里叶反变换是把频率域转到时间域,而分数阶傅里叶变换可以将信号(时间域或者频率域)转换到时间和频率之间的域。由于分数阶傅里叶变换采用的是全局核,因此只能得到频谱信息,不能得到时间局部化信息,与短时傅里叶变换相似,分数阶短时傅里叶变换通过加窗分段处理,能在时间频率域联合表示信号,分数阶小波变换具有线性特性,既有小波变换多分辨率特性,又有类似于分数阶傅里叶变换分数域表征信号的能力,适用于频率域能量非最佳聚焦信号的处理。

时频谱重排是一种重新分配时频谱坐标的方法,通过瞬时频率和群延迟的局部估计,将数据映射到更接近信号真实支撑区间的时间-频率坐标。谱重排可以得到非常高的时频分辨率,在地震信号处理中也得到了应用,但是其最大的问题是建立在谱图的基础上的,把时间和频率两个方向的坐标都做了改变,不能重构信号。

同步压缩小波变换SST是一种新的时频能量排谱算法,与之前的谱重排方法不同,同步压缩小波变换是只对频率进行重排,可以重构原始信号,因此受到了广泛的欢迎。近年来,以同步压缩变换为核心发展了多种时频变换方法,包括同步压缩短时傅里叶变换和同步压缩S变换,同步压缩小波包变换等。随着对地震勘探精度要求的越来越高,这些高分辨率时频分析方法也在不同的地震处理问题上展现了自身的优势。同步压缩变换作为一种新发展起来的时频分析方法,将会在地球物理领域有更进一步的发展和应用。

曲波变换具有强大的多尺度分析和多方向分析的能力,在地震勘探领域得到了广泛的应用。可以利用曲波变换进行随机噪声和相干线性噪声衰减;可以利用自适应调整曲波阈值来压制随时间空间改变的非相干噪声;可以在曲波域进行稀疏反褶积去除随机噪声;可以在贝叶斯框架下利用曲波稀疏性压制面波;可以将曲波和奇异值分解相结合,对面波做滤波处理。众多研究结果表明,曲波变换面对地震数据的分析处理时具有非常大的优势。

本算法将同步压缩变换和曲波变换相结合,提出一种二维高分辨时频分析方法,并在MATLAB环境下使用二维高分辨时频分析方法提取波状分量(分离混合地震数据)。

部分代码如下:

is_real = 1;sz = [N N]/8;R_high = N/sqrt(2);R_low = 0;is_cos = 1;is_unif = 1;typeNUFFT = 1;[xo yo] = ndgrid(0:1/N:(N-1)/N);%ccc is the wave atom coefficientsccc = gdct2_fwd(fff, is_real,is_unif,xo,yo,typeNUFFT,sz,R_high,R_low,rad,is_cos,t_sc,s_sc);%aaa and bbb are the wave atom coefficients with the derivatives in b_1 and b_2aaa = gdct2_ext_1(fff, is_real,is_unif,xo,yo,typeNUFFT,sz,R_high,R_low,rad,is_cos,t_sc,s_sc);bbb = gdct2_ext_2(fff, is_real,is_unif,xo,yo,typeNUFFT,sz,R_high,R_low,rad,is_cos,t_sc,s_sc);

部分出图如下:

完整代码:

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任

《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

标签: #matlab 量子力学 #matlab量子力学