matlab得到小波参数,MATLAB|高频信号的小波分析技术要点
1. 問題描述
信號處理技術中,對于非平穩信號(頻域特征隨著時間變化的信號),簡單的傅立葉分析無法展示信號頻率特征隨著時間的變化。故往往采用小波分析技術。由于超聲導波的頻散特性,研究中往往采用小波分析,參考文獻中的示例如下:
本文預期實現文獻中的小波分析技術。
2. 技術背景
MATLAB小波分析函數。
3. 解決方案
已知:
fs,信號的采樣頻率 Hz
s,信號時程序列
wavename = ‘Morl’; % 小波類型設置
totalscal = 2048; % 尺度序列的長度
wcf = centfrq(wavename); % 小波的中心頻率
cparam = 2*wcf*totalscal; % 為得到合適的尺度所求出的參數
a = totalscal:-1:0.2;
scal = cparam./a; % 得到各個尺度,以使轉換得到頻率序列為等差序列
coefs=cwt(s,scal,wavename); % 得到小波系數
f=scal2frq(scal,wavename,1/fs); % 將尺度轉換為頻率
imagesc(t2*1e6,f/100,abs(coefs)); % 繪制色譜圖
3.1 分辨率控制
連續小波變換的基本函數為cwt,變換得到小波系數。我們預期的圖像縱坐標為頻率,故需要scal2frq函數將小波系數轉換為頻率數值。以上代碼設置的參數很多,其中totalscal控制頻域的分辨率,在計算量允許的情況下,設置為可能的較大數值為宜。
3.2 圖像繪制
時頻譜中橫軸為時間,縱軸為頻率,坐標上每一個點還有一個能量強度的數值,因此實際上是三維的數據,但我們一般采用色譜圖繪制,而不是三維圖像。
3.3 信號降低采樣
高頻信號的點數一般很大,如筆者的測試數據,點數達到125000,信號頻率范圍在100~500 kHz,這樣的點數規模,一般的pc機器難以完成運算。這種情況下,可以通過重采樣,壓縮信號點數,以便小波分析處理,如http://www.jianshu.com/p/921a09c88429。
4. 實施示例
4.1 讀取數據
4.2 分析參數設置
分析參數采用對話框輸入:
500、700為低通濾波器參數,為了濾除高頻噪音;
設置色譜圖的頻率范圍[0 600] kHz
原始的采樣頻率為62500 kHz,降采樣10倍后為62500 kHz,故直接分析后的色譜圖范圍在[0 6250] kHz,這個范圍遠大于實際信號的頻率500 kHz,故需設置最終顯示的頻率范圍。
4.3 低通濾波與重采樣
低通濾波
重采樣
4.4 小波分析
5. 常見問題
本文用時 30 m
總結
以上是生活随笔為你收集整理的matlab得到小波参数,MATLAB|高频信号的小波分析技术要点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 从sip服务器_如何通过域而不
- 下一篇: matlab人脸追踪,求大神帮助我这个菜