How can I apply lifting scheme to my own wavelet?
2 views (last 30 days)
I have implemented and added a bi-orthogonal wavelet function to the wavelet toolbox using wavemngr function. Now I want to apply lifting scheme to that wavelet. When I apply liftwave(wname) function it is showing "Error using liftwave (line 45)Invalid wavelet name".
In the wavenames also I am not getting my wavelet name. Please provide a solution to add my wavelet in the lifting wave.
Wayne King on 13 May 2016
filt2ls is your friend. You use filt2ls with the filters (include both the analysis and synthesis filters) and that will return the lifting scheme. Then, you use that lifting scheme with lwt.
[LoD,HiD,LoR,HiR] = wfilters('bior3.1');
ls = filt2ls(LoD,HiD,LoR,HiR);
[CA,CD] = lwt(wecg,ls);
More Answers (1)
Wayne King on 15 May 2016
Edited: Wayne King on 15 May 2016
Where did you get this biorthogonal filter pair? It does not satisfy the criteria for a biorthogonal (wavelet) filter pair. For one example, the product of the Fourier transforms of the lowpass filters at 0 frequency (DC) should be equal to 2.
In your case, it is equal to -2. The sum of elements in your rlp filter is -2.
A couple things you need to ensure are the following, let G_0() and G_1() denote the Fourier transforms of your lowpass filters and H_0() and H_1() denote your highpass filters
G_0(\omega)G_1^*(\omega)+H_0(\omega)H_1^*(\omega) = 2
G_0(\omega)G_1^*(\omega+\pi)+H_0(\omega)H_1^*(\omega+\pi) = 0
where the * denotes the complex conjugate.