天天看點

利用小波分解後,頻率計算問題

問:

matlab中使用小波工具箱對信号進行小波分解後,得到各頻率分量的重構信号,分解後的這些信号的頻段具體怎麼計算???

答:

小波變換并不是純頻域的變換,它無法完全脫離時空域,是以小波的應用的多數領域并不十分關注實際的頻率值,而且小波的有些概念并不适合以前純頻域的概念,它更多關注分析信号的特征,說白了就是信号本身的樣子,也就是其幾何波形特征。這也就是在matlab中使用小波工具箱分析信号時,你看到很少使用頻域的機關-HZ的主要原因,所有的例程都隻标出采樣點的個數,因為它不知道信号所代表的時間長度,但這并不影響小波變換的計算。

如果你非要計算其重構信号的頻段,讓小波分析與純頻域挂鈎,那麼十分簡單,這一切的原理都來自于信号處理的終極基礎原理-采樣定理,然後讓我們來做除法遊戲吧。要計算每一階重構信号的頻段,主要由信号的時空長度(整個信号經曆的時間和空間長度)和采樣的點數确定。

這裡有兩點需注意1.DWT小波分解的各階細節和近似重構後的實際時空長度和原始信号是相同的,例如原始信号經曆的時間是1秒,那麼分解重構後的各階細節和近似它們代表的時間也是1秒。2.各階分解的不同就是分解的小波系數的個數不同,由于通常的DWT都使用二進小波變換,是以通常每一高階分解的小波系數個數都約是每一低階的一半,重構時都再插值到原始信号的采樣點數。是以由各階重構時空長度不變和小波系數的個數随階次增大而以2的幂次減少可以分析得出,每一高階重構信号的最大頻率應是其相鄰低階重構信号最大頻率的一半。對于小波重構的細節,其分解有些是通過帶通濾波器實作的,其信号波長(頻率)将是是一個範圍,最大值是該階細節的最大頻率,其最小值由于使用二進小波變換的原理是其最大頻率的一半。對于小波重構的逼近,其頻率應是小于一個值,這個值是該階細節的最小頻率。

下面來舉一個例子。 一個原始信号,經曆的時間長度為2秒,采樣了2000個點,那麼做除法,可得出采樣頻率為1000hz,由采樣定理(做除法)得該信号的最大頻率為500hz,那麼對該信号做3階的DWT,一階細節的頻段為250-500hz,一階逼近的頻段為小于250hz,二階細節的頻段為125-250hz,逼近的頻段為小于125hz,三階細節的頻段約為62.5-125hz,逼近的頻段為小于62.5hz。對于更多階的分解也是以此類推的。

還有幾點補充,以上方法是由采樣定理和二進小波變換的原理得出的,都是用2做除法得出,這是許多文獻的通常做法,但實際matlab在DWT時并不能做到每一階都精确的減半,關于這個問題可以參看http://zhidao.baidu.com/question/744136556371648892.html?oldq=1 ,但影響并不大,盡可放心使用。另外要計算重構信号的頻率值,那與你所用的小波基的中心頻率有關,隻有使用FFT了。還有信号最多能分解幾階要考慮wmaxlev函數的要求。

原文連結:https://zhidao.baidu.com/question/1796007745075089787.html?qbl=relate_question_0&word=wmaxlev