
(a,b)→(j,k)に変換する


パラメータjを解像度と呼ぶ
三角波の場合
clear; close all; x = 0:0.05:5; j = 0; k = 0; y = mother_wavelet(x,j,k); plot(x,y,'DisplayName',sprintf('j=%d,k=%d',j,k)); hold on; j = 2; k = 1; y = mother_wavelet(x,j,k); plot(x,y,'DisplayName',sprintf('j=%d,k=%d',j,k)); j = -1; k = 1; y = mother_wavelet(x,j,k); plot(x,y,'DisplayName',sprintf('j=%d,k=%d',j,k)); legend(); title('Effect of parameter (j,k)'); big; function y=mother_wavelet(x,j,k) y = zeros(length(x),1)'; slice = (2^j*x-k)>0 & (2^j*x-k)<=0.25; t = x(slice); y(slice) = 2^(j/2)*2*(2^j*t-k); slice = (2^j*x-k)>0.25 & (2^j*x-k)<=0.75; t = x(slice); y(slice) = 2^(j/2)*(-2*(2^j*t-k)+1); slice = (2^j*x-k)>0.75 & (2^j*x-k)<=1; t = x(slice); y(slice) = 2^(j/2)*(2*(2^j*t-k)-2); end

SINC関数の場合
jを大きくすると周波数が上がり、波のピークも上がる
clear; close all; x = -5:0.049:5; k = 0; js = [-3,-1,0,1,3]; hold on; for idx = 1:length(js) j = js(idx); y = mother_wavelet(x,j,k); plot(x,y,'DisplayName',sprintf('j=%d',j)); end legend(); title('Effect of parameter j'); big; function y=mother_wavelet(x,j,k) t = 2^j*x-k; y = 2^(j/2)*sin(t)./(t); end
