matlab小波包分析,小波分析及小波包分析
在利用matlab做小波分析時,小波分解函數和系數提取函數的結果都是分解系數。我們知道,復雜的周期信號可以分解為一組正弦函數之和,及傅里葉級數,而傅里葉變換對應于傅里葉級數的系數;同樣,信號也可以表示為一組小波基函數之和,小波變換系數對應于這組小波基函數的系數。
多尺度分解是按照多分辨分析理論,分解尺度越大,分解系數的長度越小(是上一個尺度的二分之一)。我們會發現分解得到的小波低頻系數的變化規律和原始信號相似,但要注意低頻系數的數值和長度與原始信號以及后面重構得到的各層信號是不一樣的。
小波分解:具體實現過程可以分別設計高通濾波器和低通濾波器,得到高頻系數和低頻系數,并且每分解一次數據的長度減半。小波重構,為分分解的逆過程,先進行增采樣,及在每兩個數之間插入一個0,與共軛濾波器卷積,最后對卷積結果求和。在應用程中,我們經常利用各層系數對信號進行重構(注意雖然系數數少于原信號點數,但是重構后的長度是一樣的),從而可以有選擇的觀看每一頻段的時域波形。從而確定沖擊成分所在頻率范圍。便于更直觀的理解,小波分解,利用各層系數進行信號重構過程我們可以認為是將信號通過一系列的不同類型的濾波器,從而得到不同頻率范圍內的信號,及將信號分解。
小波消噪:運用小波分析進行一維信號消噪處理和壓縮處理,是小波分析的兩個重要的應用。使用小波分析可以將原始信號分解為一系列的近似分量和細節分量,信號的噪聲主要集中表現在信號的細節分量上。使用一定的閾值處理細節分量后,再經過小波重構就可以得到平滑的信號。
小波常用函數
[C,L]=wavedec(s,3,'db1');
%用小波函數db1對信號s進行3尺度分解
其中C為分解后低頻和高頻系數,L存儲低頻和高頻系數的長度。
X=wrcoef(‘type’,C,L,’wname’,N)?%對一維小波系數進行單支重構,其中N表示對第幾層的小波進行重構
X=wrcoef(‘a’,C,L,’wname’,3)?%對第三層的低頻信號進行重構?,如果a變為d的話,表示對低頻分量進行重構。注意重構后數據的長度于原來數據的長度一致。
ca1=appcoef(C,L,'db1',1);?%從前面小波3尺度分解結構[C,L]中提取尺度1的低頻系數
高頻系數提取類似。
選擇合適的閾值,小波分解后,重構可以達到去除噪聲的目的。
小波包分解,可以將信號分在不同的頻帶,且不同的頻帶寬度是一樣的。小波分析,只將低頻分量進行分解,高頻分量將不再分解,及頻段的長短不一。
小波包分析的常用函數
t=wpdec(y,3,'db1','shannon');%小波分解,三次分解,共分成8個頻段,其中y表示原始信號,八段信號分別?表?示表示為[3,0],[3,1][3,2][3,3][3,4][3,5][3,6][3,7]
rcfs=wprcoef(t,[3,i]);
%利用相應的頻段進行小波重構,如果采樣頻率為4096的話,則每一段表示256hz,當i取0,表示利用0-256hz頻段的系數進行小波重構。
cfs21=wpcoef(t,[3,i]);%提取小波的系數,將每一短系數平方相加,即可得到每一段的能量,可以畫出能量分布圖。
總之小波和小波包最簡單的理解就是把它當做濾波器來看,將信號利用不同類型的濾波器,分成不同頻段的信號,實現細化信號的目的。
以上只是最近學習小波和小波包的一點學習心得,自己做個記錄,不求對人有用,但求學有所得。
總結
以上是生活随笔為你收集整理的matlab小波包分析,小波分析及小波包分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DWM1000开启后TX、RX、SFD、
- 下一篇: matlab中小波工具箱,matlab小