Undecimated Wavelet Transform
Table of Contents
1 Undecimated Wavelet Transform
1.1 Signal
signal=readcsv(joinpath(DirectConvolution.RootDir,"data/signal_1.csv")); signal=signal[:,2]; plot(signal,label="signal")
Figure 1: Signal
1.2 Direct transform
Use some wavelet filter
filter = Filter_Starck2{Float64}()
Direct udwt transform
m = udwt(signal,filter,scale=8)
Plot results
label=["W$i" for i in 1:scale(m)]; plot(m.W,label=reshape(label,1,scale(m))) plot!(m.V,label="V$(scale(m))"); plot!(signal,label="signal")
Figure 2: Undecimated Wavelet Transform
1.3 Inverse transform
Check perfect reconstruction
reconst = inverse_udwt(m); norm(signal-reconst)
532.1170503445027
1.4 Smoothing
Rough solution… cancels the two finest resolution levels.
m.W[:,1] .= 0 m.W[:,2] .= 0 reconst=inverse_udwt(m) plot(reconst,linewidth=3, label="smoothed"); plot!(signal,label="signal")
Figure 3: (over) smoothed signal