Full-weight CWT filter bank for deep learning
Obtain Full-Weight CWT Filter Bank
cwtLayer for a signal of length 2048 samples. Specify the analytic Morlet wavelet.
clayer = cwtLayer(SignalLength=2048,Wavelet="amor");
Obtain the full-weight CWT filter bank of the layer.
psif = filterbank(clayer);
Plot the filter bank.
slen = clayer.SignalLength; f = 0:1/slen:1-1/slen; plot(f,psif') xlim([0 1/2]) xlabel("Cycles/Sample") ylabel("Magnitude") title("Full-Weight Filter Bank")
Create a CWT filter bank. Specify the same wavelet and signal length you used to create the CWT layer. Obtain the two-sided frequency responses of the wavelet filters in the filter bank. Compare with the full-weight CWT filter bank.
fb = cwtfilterbank(SignalLength=2048,Wavelet="amor", ... Boundary="periodic"); psidft = freqz(fb,FrequencyRange="twosided"); max(abs(psidft(:)-psif(:)))
ans = single 5.9544e-08
clayer — CWT layer
CWT layer, specified as a
psif — Full-weight CWT filter bank
Full-weight CWT filter bank, returned as a matrix.
Introduced in R2022b