matlab中wavedec2,Matlab中wavedec使用學習及詳解

最近在使用對ECG訊號進行小波係數的提取,所以用到了wavedec這個matlab中内置函數。然後盡心學習,發現還挺高深,不是我學到的衹是一點皮毛,因爲要對一段波形進行特徵提取,所以我要看哪個小波係數最能代表波形特徵,然後進行保留。

我使用的是:[C,L] = WAVEDEC(X,N,'wname')

這個會返回信號X在level N(小波分解級數)的小波分解係數。

輸出爲兩部分,第一部分C爲小波分解係數(是一個矩陣形式),而L則是表示相應小波係數的個數(矩陣内係數的個數)。

我使用的level爲4 ” [C,L] = wavedec(t_signal, 4, 'db8')“

具體分解如圖所示:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

生成的矩陣C爲:

0818b9ca8b590ca3270a3433284dd417.png

而生成的L則相應的cA4,cD4.....cD1中係數的個數。

盜一張圖:

0818b9ca8b590ca3270a3433284dd417.png

from:http://www.mathworks.com/help/wavelet/ref/wavedec.html

0818b9ca8b590ca3270a3433284dd417.png

更具體的算法如圖所示:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

首先訊號進來,進行高低頻過濾,主要是通過卷積的方式,然後在進行降采樣,大概就是將上一步所生成樣本進行篩選。通過降采樣就可以得到近似係數(approximation coefficient)和細節係數(detail coefficient)。

下圖是我的信號進行一步步的每次分解后圖形的顯示,爲了方便直觀感受,我將每一步生成的小波係數分別進行顯示輸出,分別是N=1,2,3,4的時候進行輸出:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

因爲這些生成的圖形的縱坐標不同,所以我將cD1,cD2,cD3,cD4,cA1輸出在同一張坐標軸上:

0818b9ca8b590ca3270a3433284dd417.png

顯然cA1, cD3, cD4的係數更爲明顯,更爲代表一個波形,所以要對這三個小波係數進行保留。

0818b9ca8b590ca3270a3433284dd417.png

下一步要把這個計算挪到C上面進行計算,正在尋找相應的源代碼。

有問題,大家可以一起交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值