Matlab时频分析工具箱tfrspaw函数演示
###原创,转载请注明出处###
为克服尺度图时域和频域分辨率之间的相互制约性,可使用一个时域与频域分离的平滑函数,由此得到的分布称作Affine类平滑伪Wigner分布。Matlab时频分析工具箱计算Affine类平滑伪Wigner分布的函数为tfrspaw。
此函数调用形式:
[tfr,t,f]=tfrspaw(x,t,k,nh0,ng0,fmin,fmax,N,trace)
注:此为完整调用形式,其他缺省形式请参考matlab帮助文档。
输入输出参数说明:
除nh0与ng0输入参数外,其他参数意义与tfrscalo函数相同,请参考前一篇文章。
nh0:分析小波半长度。使用Morlet小波。
ng0:时域平滑窗半长度
下面通过测试信号说明这两个参数对分析结果的影响,仅供参考:
(使用的信号仍为上一篇文章中的测试信号,信号构造方法及时频结果绘图部分请参考上一篇文章)
1. nh0=50 ng0=50
2. nh0=200 ng0=50
3. nh0=10 ng0=50
注:此时程序提示,Maximum time smoothingreached. Increase width of wavelet for effectiveness.
4. nh0=200 ng0=100
从以上分析结果可以看出,当nh0固定,ng0参数受到限制,此时ng0超过阈值后,继续提高ng0不能提升分析效果(图3)。当nh0提升,频域分辨率提升(图3,图1,图2),但在时域中,频率转换边缘处可能会产生干扰(图2)。ng0提升,可以削弱干扰,但时域分辨率降低(图2,图4)。
关于tfrspaw函数的基本演示就是这样,但由于本人知识水平有限,难免存在不足和错误之处,欢迎大家批评指正,交流讨论。
参考资料:
1.《matlab时频分析技术及其应用》 葛哲学等著
2. tfrspaw函数帮助文档