小波变换学习
學習鏈接:小波變換系列
基礎概念
傅里葉變換:知道信號中的成分信息
短時傅里葉變換:加窗的傅里葉變換,窗長固定
小波:對應能量有限的信號,時域能量有限,頻率帶通濾波器
小波變換:
(可變的尺度因子,實現了窗長的變化)
- step1:選擇小波基函數,并初始化尺度因子與平移因子;
- step2:將信號與小波相乘積分,得到對應時刻的小波系數;
- step3:移動平移因子,直至信號的末端;
- step4:改變尺度因子,重復step2與step3。
總結:小波變換通過時移因子與尺度因子的調節,動態地改變窗長,達到時間精度與頻率精度的平衡,最終獲悉信號中的瞬時頻率信息。
load mtlb %讀入一段語音信號得到序列 cwt(mtlb, "bump", Fs) %與使用默認莫爾斯小波得到的尺度圖進行比較。cwt函數
連續小波變換——瞬時頻率
cwt(continue wavelet transform)
clc;clear; load mtlb; cwt(mtlb);%畫圖%doc cwt get cwt函數的文檔說明 [wt, fs] = cwt(mtlb, Fs);%舉例2 clc;clear; Fs = 2e3; t = 0 : 1/Fs : 1 - 1/Fs; dt = 1/Fs; x1 = sin(50*pi*t).*exp(-50*pi*(t - 0.2).^2); x2 = sin(50*pi*t).*exp(-100*pi*(t - 0.5).^2); x3 = 2*cos(140*pi*t).*exp(-50*pi*(t - 0.2).^2); x4 = 2 * sin(140*pi*t).*exp(-80*pi*(t - 0.8).^2); x = x1 + x2 + x3 + x4; plot(t, x); cwt(x, Fs);x1、x2、x3、x4
x1 + x2 + x3 + x4
清晰看到四個時頻信息
cwt結合icwt繪制臉形時頻圖
clc;clear; fs = 1e3; t = 0 : 1/fs : 1 - 1/fs; dt = 1/fs; x1 = sin(50*pi*t).*exp(-50*pi*(t - 0.2).^2); x2 = sin(50*pi*t).*exp(-100*pi*(t - 0.5).^2); x3 = 2*cos(140*pi*t).*exp(-50*pi*(t - 0.2).^2); x4 = 2 * sin(140*pi*t).*exp(-80*pi*(t - 0.8).^2); x = x1 + x2 + x3 + x4; plot(t, x); %cfs:小波系數 %f:當前尺度對應的真實頻率 cwt(x, fs) [cfs, f] = cwt(x, fs);%cfs:小波系數 T1 = .07; T2 = .33; F1 = 19; F2 = 34; cfs(f > F1 & f < F2, t > T1 & t < T2) = 0; xrec = icwt(cfs);%連續小波的逆變換 cwt(xrec, fs);%逆變換結果進行小波變換 %增加嘴巴 mouse = 1.5*sin(20*pi*t).*exp(-40*pi*(t - 0.5).^2);%1.5是強度 20/2 = 10是頻率 500是時間 -40是寬度 x3 = 2 * cos(140*pi*t).*exp(-50*pi*(t - 0.2).^2); x = xrec + mouse; cwt(x,fs); %增加眉毛 lft = .5*cos(240*pi*t).*exp(-20*pi*(t - 0.2).^2); rig = .5*cos(240*pi*t).*exp(-20*pi*(t - 0.8).^2); x = xrec + mouse + lft + rig; cwt(x,fs);Q & A
影響錐(拋物線)
白色虛線里面,cwt認為估計比較準確的,外面的認為不靠譜不能應用的
八度
頻率相差兩倍
每個八度的音階數量->連續小波變換的密集程度
閾值
設定閾值,小于的設0,大于的
- 軟閾值:減掉閾值
- 硬閾值:不處理
dwt離散小波變換概念
連續小波變換計算量大
離散小波變換對**尺度因子(指數)和時移因子(采樣間隔)**離散化
離散二進小波,a = 2
正交化:保證每一次小波分解后的數據長度不變
圖
補充材料:鏈接
- LL頻帶是圖像內容的縮略圖,它是圖像數據能量集中的頻帶。
- HL頻帶存放的是圖像水平方向的高頻信息,它反映了圖像水平方向上的變化信息和邊緣信息;
- LH頻帶存放的是圖像豎直方向的高頻信息,它反映了圖像在豎直方向上的灰度變化信息和圖像邊緣信息;
- HH頻帶存放的是圖像在對角線方向的高頻信息,它反映了水平方向和豎直方向上圖像灰度的綜合變化信息,同時包含了少量的邊緣信息。
一次小波變換的頻率分布圖
二次小波變換的頻率分布圖
dwt離散小波變換實現濾波
clc;clear; load sumsin plot(sumsin) title('Signal') [c, l] = wavedec(sumsin, 3, 'db2');% 3是分解的尺度 db2采用的小波函數approx = appcoef(c, l, 'db2');%獲取近似分量 [cd1, cd2, cd3] = detcoef(c, l, [1 2 3]);%獲取細節分量 subplot(4,1,1) plot(approx) title('Approximation Coefficients')subplot(4,1,2) plot(cd3) title('Level 3 Detail Coefficients')subplot(4,1,3) plot(cd2) title('Level 2 Detail Coefficients')subplot(4,1,4) plot(cd1) title('Level 1 Detail Coefficients') %將上面分解出來的置零就可以實現wavedec濾波chigh = c; clow = c; chigh(end-501: end) = 0;%cd1分量置零實現低通濾波 sig_rec_high = waverec(chigh,l,'db2'); plot(sumsin); hold on plot(sig_rec_high) clow(1:end-500) = 0; sig_rec_low = waverec(clow,l,'db2'); plot(sig_rec_low); hold offc可以明顯看出來做了三級分解
l:127 127 252 501 1000 1000表示數據長度,其他的是每個的長度
鏈接
- 小波函數ψ(x)\psi(x)ψ(x):在定義域(?∞,+∞-\infty,+\infty?∞,+∞)上積分為零
- 母小波:是ψ(x)\psi(x)ψ(x)生成的小波函數族
- a:伸縮因子
- b:平移因子
Haar(哈爾)小波
鏈接
總結
- 上一篇: 概率论和蒙特卡洛积分
- 下一篇: 华为OLT开局实例总结--菜鸟先飞!