How can I apply lifting scheme to my own wavelet?

4 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.

Accepted Answer

Wayne King
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);
load wecg;
[CA,CD] = lwt(wecg,ls);
  2 Comments
Shaik Ahmad
Shaik Ahmad on 15 May 2016
Thank you for your response Wayne. I have tried the above function on my wavelet filters
lp = [2, -1, -6, 17, 40, 17, -6, -1, 2]/64;
hp = [-2, 1, 14, -26, 14, 1, -2]/48;
rlp = hp .* [-1 1 -1 1 -1 1 -1]*2;
rhp = lp .* [1 -1 1 -1 1 -1 1 -1 1]*2;
ls = filt2ls(lp,hp,rlp,rhp);
It is showing error like
Error using filters2lp (line 117)
Invalid biorthogonal filters
Error in filt2ls (line 27)
[Ha,Ga,Hs,Gs,PRCond,AACond] = filters2lp('b',LoR,LoD);
Can you please provide me a solution to over come this problem.
Thank you in advance
Shaik Ahmad
Shaik Ahmad on 16 May 2016
Thank you for your response.
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.

Sign in to comment.

More Answers (1)

Wayne King
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.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!