时频分析及同步挤压变换研究(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 算例1

2.2 算例2 

2.3 算例3 

2.4 算例4 

2.5 算例5 

2.6 算例6

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

本文为强非平稳信号生成理想的时频表示。时频分析及同步挤压变换研究。

时频分析是指将信号在时域和频域上进行分析的一种方法。它可以用来分析信号的频率内容随时间的变化情况,常用于信号处理、通信系统等领域。

同步挤压变换(Squeeze Transform)是一种时频分析方法,它通过将信号进行非线性变换,将时域上的窄带信号转换为频域上的宽带信号,从而实现对信号的时频分析。同步挤压变换在信号处理、图像处理等领域有着广泛的应用。

同步挤压变换的基本原理是将信号通过一系列滤波器进行频带分解,然后将每个频带上的信号进行非线性变换,最后将变换后的信号进行合成。这样就可以得到信号在时频域上的分布情况。

同步挤压变换具有较好的时频分辨率和抗噪性能,可以有效地提取信号的时频特征。它在语音识别、图像压缩、信号调制等领域都有着重要的应用价值。

时频分析及同步挤压变换的研究主要涉及算法优化、性能分析和应用探索等方面。通过对时频分析方法的研究,可以更好地理解信号的时频特性,从而为信号处理和通信系统的设计提供指导和支持。

📚2 运行结果

2.1 算例1

 

2.2 算例2 

 

2.3 算例3 

2.4 算例4 

 

2.5 算例5 

2.6 算例6

算例5和算例6就不展示了,详情见第4部分。

部分代码:

data=bat(501:1400);
n=length(data);

p=zeros(1,n);
Sp=zeros(1,n);

SampFreq=100;

time=(1:n)/SampFreq;
fre=(SampFreq/2)/(n/2):(SampFreq/2)/(n/2):(SampFreq/2);
%This IF parameter was estimated by the Gaussian model from MATLAB toolbox 'cftool'.
a1 =       1.348;
b1 =     -0.1498;
c1 =      0.4482;
a2 =       8.656;
b2 =      -1.321;
c2 =       2.383;
a3 =     -0.8441;
b3 =       2.007;
c3 =      0.5633;
a4 =     -0.4868;
b4 =       1.833;
c4 =      0.3106;
a5 =       9.152;
b5 =      -1.165;
c5 =       3.543;
a6 =     0.03345;
b6 =       4.979;
c6 =      0.2038;
a7 =      0.1629;
b7 =       5.339;
c7 =       0.779;
a8 =       17.58;
b8 =     -0.1755;
c8 =       42.22;
x=time;

p = a1*exp(-((x-b1)/c1).^2) + a2*exp(-((x-b2)/c2).^2) + a3*exp(-((x-b3)/c3).^2) + a4*exp(-((x-b4)/c4).^2) + a5*exp(-((x-b5)/c5).^2) + a6*exp(-((x-b6)/c6).^2) + a7*exp(-((x-b7)/c7).^2) + a8*exp(-((x-b8)/c8).^2);

%Sp=INT(p,time);

[tfr Ts]  = SST2(data,SampFreq,371,p);

figure
imagesc(time,fre,abs(tfr));
axis xy
ylabel('Freq / Hz');
xlabel('Time / Sec');
title('PSTFT');

figure
imagesc(time,fre,abs(Ts));
axis xy
ylabel('Freq / Hz');
xlabel('Time / Sec');
title('SST');

%The following code can obtain more accurate SST result.
%Beacuse it just uses the peak data as IF, and not considers the fitting curve.
[tfr Ts]  = SST2(data,SampFreq,121,p);
[v, I] = max(abs(Ts),[],1);
%SI=INT(fre(I),time);
[tfr Ts]  = SST2(data,SampFreq,371,fre(I));
figure
imagesc(time,fre,abs(Ts));
axis xy
ylabel('Freq / Hz');
xlabel('Time / Sec');
title('SST');

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]YuGang (2023). Ideal time-frequency analysis 2.

[2]王庆杰. 基于特征选择和时频分析的径流预测机器学习模型研究[D].新疆农业大学,2022.DOI:10.27431/d.cnki.gxnyu.2022.000458.

[3]陈虹文.基于时频分析方法的结构损伤识别技术研究[J].建筑安全,2023,38(02):19-22+25.

🌈4 Matlab代码实现

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值