連續小波變換CWT是一種冗餘變換,CWT系數取決于所用的小波,所以理解起來稍微有些困難。為更好地理解CWT系數,本文從簡單信号和簡單小波開始分析。小波擅長檢測信号的不連續性或奇異點,信号的突變點處具有較大的絕對值系數。首先設置一個移位脈沖信号,脈沖發生在第500點的位置。
x = zeros(1000,1);
x(500) = 1;
選擇了一個簡單信号,自然要選擇一個簡單小波,那自然是haar小波了
在1-128的尺度範圍上使用Haar小波計算CWT
CWTcoeffs = cwt(x,1:128,'haar');
CWTcoeffs是一個大小為128×1000的矩陣,矩陣的每一行都包含一個尺度的 CWT系數。由于CWT的尺度為1:128,因此共128 行,矩陣的列維度與輸入信号的長度相同。
看一下CWT的時間-尺度譜
cwt(x,1:128,'haar','plot');
colormap jet; colorbar;
還可以繪制一下3D圖,為了便于觀察,減小尺度範圍
cwt(x,1:64,'haar','3Dplot'); colormap jet;
檢查移位脈沖信号的CWT,可以看到CWT較大的系數集集中在時間-尺度平面以點 500 為中心的小尺度的狹窄區域。随着尺度的增加,CWT較大的系數集變寬,但仍以點 500 為中心。如果跟蹤該區域的邊界,類似于下圖
該區域成為Haar小波在點500處的“影響錐”。要理解“影響錐”,假設一個小波的支撐區間為[-C, C],将小波移動 b并縮放尺度a ,支撐區間變為[-Ca b, Ca b]。對于移位脈沖δ(t−τ),CWT 系數僅在 τ 附近的區間非零,該區間等于小波在每個尺度上的支撐區間,可以通過移位脈沖的CWT表達式來理解:
對于脈沖信号而言,可以通過選定幾個尺度繪制CWT系數看一下
“影響錐”取決于小波種類。以兩個移位脈沖的疊加δ(t−300) δ(t−500)為例子,在這種情況下,使用具有4階消失矩db4小波。下圖顯示了使用 db4小波對第300和第500點的影響錐。
查看第20尺度的第400個點,在該尺度下,可以看到兩個“影響錐”都沒有與第400點重疊。因此, CWT系數在該點和該尺度上為零,可以看一下小波系數圖:
接下來,查看尺度80處第400點,在尺度80處,第300 和 第500點的影響錐都包括第400點,即使信号在第400點處為零,仍會在該尺度下獲得非零的CWT 系數。看一下小波系數圖:
在前面的例子中,CWT 系數在信号突變點附件較大,這種檢測信号不連續性的能力是小波變換的優勢。前面的例子還證明了CWT的系數在較小尺度上最更好的不連續定位能力。
下面看一個稍微複雜的例子,構建一個由突變和平滑振蕩組成的信号,該信号是一個2Hz正弦曲線,帶有2個不連續點
N = 1024;
t = linspace(0,1,1024);
x = 4*sin(4*pi*t);
x = x - sign(t - .3) - sign(.72 - t);
plot(t,x); xlabel('t'); ylabel('x');
grid on;
注意 t=0.3和 t=0.7附近的不連續性,使用 sym4小波繪制 CWT
CWT可以檢測出信号中的突變點和振蕩部分,突變點會影響所有尺度的CWT 系數,并清楚地與小尺度上更平滑的信号特征區分開來。另一方面,2Hz 正弦波的最大值和最小值在較大尺度的 CWT 系數中很明顯,而在小尺度上不明顯。
最後總結一下,理解CWT的系數時,一個點的CWT系數可能會受到遠離該點的信号值的影響。必須考慮小波在特定尺度上的支撐區間,并非所有小波的支撐區間都相同。例如,Haar小波在所有尺度上的支撐區間都小于 sym4 小波。此外小波對于檢測信号的突變非常有用,信号中的突變會産生相對較大的小波系數(以所有尺度的不連續點為中心)。最後,平滑信号在小波與信号特征最相關的尺度上産生相對較大的小波系數。
,