Matlab时频分析工具箱小波尺度图函数的使用说明与实例

本文介绍Matlab时频分析工具箱中的tfrscalo函数,用于计算信号的小波尺度谱,并通过实例展示了如何设置参数以获得理想的时频分辨率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Matlab时频分析工具箱小波尺度图函数的使用说明与实例

 

###原创,转载请注明出处###

Time-frequency toobox是一款功能强大的时频分析工具箱。本文为此工具箱中tfrscalo(小波尺度图)函数的使用说明,结合实例。基于Matlab R2016a。

1.函数简介:

tfrscalo函数:

计算信号的Morlet或Mexican hat小波尺度谱。

调用形式:

[tfr,t,f,wt]=tfrscalo(X,T,WAVE,FMIN,FMAX,N,TRACE)

输入:

X:待分析信号,函数内部会将X转为其解析信号形式进行分析。

T:进行时频分析的信号时域范围,默认:1:Nx   (Nx表示信号长度)

WAVE:Morlet分析小波的半长度。如果WAVE=0,则使用Maxican hat

小波。WAVE越大,时域分辨率越低,频域分辨率越高。

FMIN,FMAX:对信号进行分析的频率上、下界。

取值范围:0<FMIN,FMAX<=0.5

注意:此频率为相对值,乘以Fs(采样频率)可得到真实频率。0.5对应奈奎斯特频率(采样频率的一半)。

N:频率点数。

TRACE:如取非零值,则显示算法进程。

输出:

TFR:时频分析结果矩阵。横坐标对应线性采样的时间,纵坐标对应几何级数采样的频率。

F:归一化频率坐标()

WT:包含相应小波变换的复矩阵。

2.实例说明:

2.1测试信号的构造:

采用了在时域频率阶梯型增加的正弦信号,通过以下语句实现:

t_test=1:0.001:11;

duration=1000;

for i=1:length(t_test)

   f_sig(i)=(floor(i/duration)+1)*20;

    sig_test(i)=sin(2*pi*f_sig(i)*t_test(i));

end

其中,duration对应每个频率持续的时间,f_sig(i)对应i时刻的频率(Hz)

测试信号采样率为1000Hz,第1秒频率为20Hz,第2s频率为40Hz,

……,第10s频率为200Hz

通过以下语句绘制其时域波形:

plot(sig_test);

xt_test=1000:1000:10000;

set(gca,'Xtick',xt_test,'XtickLabel',xt_test./1000);

xlabel('时间/s');

title('测试信号时域图');

2.2时频分析及绘图语句

时频分析及绘图通过以下语句实现:

时频分析参数设置举例:

[tfr,t,f,wt]=tfrscalo((sig_test'),1:length(sig_test),20,0.01,0.5,1024,2);

绘图部分(下文不再重复展示):

xt=1000:1000:10000;

yt=1:100:1000;

ytlabel=zeros(size(yt));

for i=1:size(yt,2)

    ytlabel(i)=round(1000*f(yt(i)));%此处乘采样频率(1000Hz)将归一化频率转化为真实频率(Hz)

end

imagesc(tfr);

set(gca,'Xtick',xt,'XtickLabel',xt./1000);

set(gca,'Ytick',yt,'YtickLabel',ytlabel) ;

set(gca,'YDir','normal');

xlabel('时间/s');

ylabel('频率/Hz');

colorbar;

title('测试信号时频分析图');

2.3时频分析结果比较:

2.3.1关于T参数

2.3.1.1  T=1:length(sig_test)

[tfr,t,f,wt]=tfrscalo((sig_test'),1:length(sig_test),20,0.01,0.5,1024,2);


2.3.1.2  T=1:0.5*length(sig_test)

[tfr,t,f,wt]=tfrscalo((sig_test'),1:0.5*length(sig_test),20,0.01,0.5,1024,2);

2.3.2 关于WAVE参数

2.3.2.1  WAVE=5

[tfr,t,f,wt]=tfrscalo((sig_test'),1:length(sig_test),5,0.01,0.5,1024,2);

2.3.2.2  WAVE=100

[tfr,t,f,wt]=tfrscalo((sig_test'),1:length(sig_test),100,0.01,0.5,1024,2);


可以明显观察到,当WAVE增大,频域分辨能力提高,但时域分辨能力下降(但对低频影响较大,高频影响较小)。二者不能同时达到最优,所以选择一个合适的WAVE参数十分重要。

2.3.3   关于FMIN,FMAX参数

这两个参数决定了频域分析范围,举例,针对测试信号,取FMIN=0.1,FMAX=0.3,则频域分析范围为100~300Hz

[tfr,t,f,wt]=tfrscalo((sig_test'),1:length(sig_test),100,0.1,0.3,1024,2);

3.总结

tfrscalo函数的基本用法就是这样,但由于本人知识水平有限,难免存在不足和错误之处,欢迎大家批评指正,交流讨论。

参考资料:

1.《matlab时频分析技术及其应用》  葛哲学等 著

2.  tfrscalo函数帮助文档

 

附TFTB(Time-Frequency Toolbox)下载地址:

1. http://tftb.nongnu.org/ (官方地址)

2. http://pan.baidu.com/s/1c1WLfrU(百度网盘)

 

时频分析工具箱中提供了计算各种线性时频表示和双线性时频分布的函数, 本帖主要列出时频分析工具箱函数简介,以号召大家就时频分析应用展开相关讨论。 一、信号产生函数: amexpo1s 单边指数幅值调制信号 amexpo2s 双边指数幅值调制信号 amgauss 高斯幅值调制信号 amrect 矩形幅值调制信号 amtriang 三角形幅值调制信号 fmconst 定频调制信号 fmhyp 双曲线频率调制信号 fmlin 线性频率调制信号 fmodany 任意频率调制信号 fmpar 抛物线频率调制信号 fmpower 幂指数频率调制信号 fmsin 正弦频率调制信号 gdpower 能量律群延迟信号 altes 时域Altes信号 anaask 幅值键移信号 anabpsk 二进制相位键移信号 anafsk 频率键移信号 anapulse 单位脉冲信号的解析投影 anaqpsk 四进制相位键移信号 anasing Lipscjitz 奇异性 anaste 单位阶跃信号的解析投影 atoms 基本高斯元的线性组合 dopnoise 复多普勒任意信号 doppler 复多普勒信号 klauder 时域Klauder小波 mexhat 时域墨西哥帽小波 二、噪声产生函数 noiseecg 解析复高斯噪声 noiseecu 解析复单位高斯噪声 tfrgabor Gabor表示 tfrstft 短时傅立叶变换 ifestar2 使用AR(2)模型的瞬时频率估计 instfreq 瞬时频率估计 sqrpdlay 群延迟估计 三、模糊函数 ambifunb 窄带模糊函数 ambifuwb 宽带模糊函数 四、Affine类双核线性时频处理函数 tfrbert 单式Bertrand分布 tfrdfla D-Flandrin分布 tfrscalo 尺度 tfrspaw 平滑伪Affine类Wigner分布 tfrunter Unterberger分布 五、Cohen类双核线性时频处理函数 tfrbj Born-Jordan分布 tfrbud Butterworth分布 tfrcw Choi-Williams分布 tfrgrd 归一化的矩形分布 tfrmh Margenau-Hill分布 tfrmhs Margenau-Hill频谱分布 tfrmmce 谱的最小平均互熵组合 tfrpage Page分布 tfrwv 伪Wigner-Ville分布 tfrri Rihaczek分布 tfrridb 降低交叉项的分布(Bessel窗) tfrridbn 降低交叉项的分布(二项式窗) tfrridh 降低交叉项的分布(汉宁窗) tfrridt 降低交叉项的分布(三角窗) tfrsp 谱分布 tfrspwv 平滑伪Wigner-Ville分布 tfrwv Wigner-Ville分布 tfrzam Zhao-Atlas-Marks分布 六、其他处理函数: friedman 瞬时频率密度 htl 像直线检测中的Hough变换 margtfr 时频表示的能量 momftfr 时频表示的频率矩 momttfr 时频表示的时间矩 renyi Renyi信息度量 ridges 波峰提取 plotifl 绘制归一化的瞬时频率规律 tfrparam 返回用于显示时频表示的参数 tfrqview 时频表示的快速可视化 tfrsave 保存时频表示的参数 tfrview 时频表示的可视化
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值