MATLAB时序分析:进阶篇(二)

对于时间序列的分析,掌握了采样定理和窗函数、以及熟悉了某种频谱分析方法后,再来看看Matlab中到底是如何调用函数就能实现分析过程的,才能更有效地便于认识分析结果,而不是停留在知其然的过程,更需要知其所以然。

下面给出几个比较常见的频谱分析函数(pwelch、periodogram、cwt)进行讲解:

  • [pxx,f] = pwelch(x,window,noverlap,nfft,fs,[spectrumtype],‘ConfidenceLevel’,probability);%此函数对应使用Welch平均功率谱图法 %返回值pxx和f默认是功率谱密度(psd)和频率带%f也可变化为w,即输出圆频率(有w=2pi·f的关系)%spectrumtype:默认是‘psd’,可选择‘power’,返回功率谱(power)%x:进行功率谱估计的有限长输入序列%window:指定窗函数,默认值为hamming窗,可置空%noverlap:指定分段重叠的样本数 ,如果noverlap=L/2,则可得到重叠50%的Welch法平均周期图%nfft:DFT的点数, nfft> x的长度,默认值为256%fs :绘制功率谱曲线的采样频率,默认值为1% ‘ConfidenceLevel’:置信度,显示置信度为propability*100%的结果值
  • [pxx,f] = periodogram(x,window,nfft,fs,[spectrumtype],‘ConfidenceLevel’,probability);%此函数对应使用周期图功率谱密度估计法 %返回值pxx和f默认是功率谱密度(psd)和频率带%f也可变化为w,即输出圆频率%spectrumtype:默认是‘psd’,可选择‘power’,返回功率谱(power)%x:进行功率谱估计的有限长输入序列%window:默认值为矩形窗,可指定%nfft:DFT的点数, nfft> x的长度,默认值为256%fs :绘制功率谱曲线的采样频率,默认值为1% ‘ConfidenceLevel’:置信度,显示置信度为propability*100%的结果值
  • [wt,f,coi] = cwt(x, ‘wname’,fs);%此函数对应使用一维连续小波变换 %返回值wt、f和coi默认是小波结果(Amp)、频率、影响锥%这个影响锥是由于边缘效应产生,此区域可信度低%如果要进行绘制PSD或者Power,需要对wt的结果再做处理%f也可变化为period,即输出周期%x:进行小波变换的有限长输入序列%wname:默认为Morse小波,也可以选择‘amor’和‘bump’,分别对应Morlet和Bump小波%fs :绘制功率谱曲线的采样频率,默认值为1

事实上,我们的实测时间序列并不是完美的,倒都是有很多周期、非周期信号的叠加,如果选择合适的频率段信号进行分析,通常也是需要思考的过程。摘取频率段信号的过程叫做滤波,即把非“关心”的频率段信号过滤,但是任何滤波方法都会带来一定的影响,尤其是“端部畸变”,所以需要结合与原始数据的时间图或频谱图对比进行。

滤波有三种:

图一. 滤波

当然,也可以使用fdesign.lowpass/highpass/bandpass。此外,matlab也提供滤波器设计,结合使用design+filter。具体过程如下所述:

  • d = fdesign.bandpass(‘Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2’,0.04,0.06,0.09,0.125,0.9,0.25,2,Fs);%设置带通滤波器,这些值最好从Amp频谱得到%设置好后,可用design设计滤波函数%而后通过filter滤波
  • Hd=design(d)
  • X_new=filter(Hd,x)%已知通带范围,也可直接使用bandpass滤波
  • X_new=bandpass(x,[low_f,high_f],Fs)%lowpass、highpass同理%这里给出的例子都只是最初步的,详细了解请再自行学习

下面,给出实践中调用plomb和cwt处理太阳总辐射量(滤波前和滤波后)的结果图(摘录自

J. Zhao, H. Lin,  J. Liu & Y. Han, 2019, JOAA),如下:

图二. Lomb-Scargle分析结果

图三. 小波分析结果

广义的“时间序列”:对同一个量,只要有先后顺序的序列。

看待问题,当主观直觉走不通的时候,找找别的路,从不同的角度看看。就像频谱图中的时间序列往往就告诉了你不同寻常的信息。但是,这工具得到的结果是否可靠、有意义,是值得商榷的。所以在选择工具、路径的方法上,需要各种不同方法和结果之间的对比,从而选择“最优组合”,而不是一味去相信任何一种方法。

毕竟,适合一个人的不一定适合所有人,那对于任何一组时间序列,也是如此。但在用之前,请一定一定要注意结果的单位是否是正确的,千万不要牛头配马嘴,最后四不像。程序在你手中,你需要让她/他可控,而不是让她/他失控。

与君共勉。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空