時頻分析方法使用時-頻域聯(lián)合分布描述時間序列信號的瞬態(tài)特征,并通過瞬時頻率估計來表征信號的特征頻率隨時間變化的趨勢,在時間序列信號處理中得到了廣泛的應(yīng)用。STFT 和WT等常用的時頻分析方法時頻分辨率較低,而且對于多分量時變信號的匹配效果不佳;WVD對噪聲的魯棒性不足且對于多分量時變信號存在交叉干擾項;EMD及其改進方法缺乏數(shù)學(xué)理論支撐,并存在端點效應(yīng)和模態(tài)混疊等問題。以上時頻分析方法存在一些共性問題,例如它們在時頻平面的變換系數(shù)分布比較離散,瞬時頻率曲線幅值能量不夠集中,因此時頻譜會出現(xiàn)模糊的現(xiàn)象。
因此提出了一種基于優(yōu)化時頻分辨率的信號時頻分析方法,提供輸入信號的時頻表示,其邊緣表示單位時間和頻率的原始強度,以調(diào)整可調(diào)參數(shù)以強調(diào)時間或頻率分辨率。
Python的部分代碼如下:
import sys
import numpy as np
import numpy.fft as nfft
from figure import spectrogramFigure
def main():
tMin= -500.0
tMax= 5800.0
wMin= 0.75
wMax= 3.25
fName = './data/exampleData_pulsePropagation.npz'
def fetchData(fileLoc):
data = np.load(fileLoc)
return data['t'], data['Et']
def windowFuncGauss(s0):
return lambda t: np.exp(-t**2/2/s0/s0)/np.sqrt(2.*np.pi)/s0
t,Et = fetchData(fName)
for s0 in [10.0,140.0]:
oName="./FIGS/fig_vanillaFrog_ESM_sigma%4.3lf.png"%(s0)
res = vanillaFrog(t,Et,windowFuncGauss(s0),tLim=(tMin,tMax,10), wLim=(wMin,wMax,3))
spectrogramFigure((t,Et),res,oName=oName)
main()
出圖如下:
文章來源:http://www.zghlxwxcb.cn/news/detail-807183.html
工學(xué)博士,擔(dān)任《Mechanical System and Signal Processing》審稿專家,擔(dān)任
《《控制與決策》,《系統(tǒng)工程與電子技術(shù)》,《電力系統(tǒng)保護與控制》等EI期刊審稿專家。
擅長領(lǐng)域:現(xiàn)代信號處理,機器學(xué)習(xí),深度學(xué)習(xí),數(shù)字孿生,時間序列分析,設(shè)備缺陷檢測、設(shè)備異常檢測、設(shè)備智能故障診斷與健康管理PHM等。文章來源地址http://www.zghlxwxcb.cn/news/detail-807183.html
到了這里,關(guān)于Python環(huán)境下基于優(yōu)化時頻分辨率的信號時頻分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!