How can I apply lifting scheme to my own wavelet?

1 view (last 30 days)
Shaik Ahmad on 8 May 2016
Commented: Shaik Ahmad on 16 May 2016
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
Hi Shaik,
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.
For example:
[LoD,HiD,LoR,HiR] = wfilters('bior3.1');
ls = filt2ls(LoD,HiD,LoR,HiR);
[CA,CD] = lwt(wecg,ls);
Shaik Ahmad on 16 May 2016
I got these filters from the paper titled "New Approach to the Design of Low Complexity 9/7 Tap Wavelet Filters With Maximum Vanishing Moments". Actually in the paper authors have mentioned only analysis and synthesis low pass filters. By using perfect reconstruction conditions I calculated the high pass filters. At the time of calculation I calculated high pass filters mistakenly.
Thank you for pointing the mistake.
I will do the process again and report you after that.

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.