Wavelet Packet Decomposition filter specification

조회 수: 3 (최근 30일)
John
John 2011년 12월 14일
Hi, I am looking to perform Wavelet Packet Decomposition on a 2 dimensional image using my own filter coefficients.
I have noticed that when performing standard 2-D Wavelet Decomposition there is a function 'dwt2' which takes high and low pass filters as parameters, however when performing Wavelet Packet Decomposition only a wavelet name can be specified and not the actual filters.
Just wondering is anyone aware of a function which will enable me to specify my own high and low pass filters for use with Wavelet Packet Decomposition? Or, if anyone has any ideas these would also be greatly appreciated.
thanks, John

채택된 답변

Wayne King
Wayne King 2011년 12월 14일
Hi John, yes the filter I gave you above matches exactly. What you have to realize is that Wavelet Toolbox multiplies the orthogonal lowpass filter by sqrt(2) so that it satisfies the properties of a conjugate quadrature filter. This is built into the way Daubechies describes her filters. She describes them divided by sqrt(2).
If you do this:
[LoD,HiD] = wfilters('db10');
h = fliplr(LoD/sqrt(2))
You will see exactly the filter you are looking for. So you can just use wpdec2() with 'db10'.
Hope that helps
  댓글 수: 1
John
John 2011년 12월 14일
Thanks for your help Wayne, I will get this implemented asap :-)

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Wayne King
Wayne King 2011년 12월 14일
Hi, John, you have your own orthogonal or biorthogonal filters? Then, yes, you can add them to the toolbox with wavemngr() and then use them in wpdec2
You should ensure that these are orthogonal or biorthogonal filters, or you will not have a wavelet packet transform.
  댓글 수: 1
John
John 2011년 12월 14일
Hi Wayne thanks for your response, I am implementing a paper which uses the Wavelet Packet Transform for texture classification.
The authors specify "20-Tap Daubechies Wavelet Transform Filter Coefficients" for a low-pass filter, H which is then used to create the high-pass filter, G.
The output of the wfilters function for various Daubechies filters (db1..db20) is different than those specified by the authors of the paper which is what motivated my question.
I might try using a standard Matlab Daubechies filter first and then look at the wavemngr option if this doesn't yield intuitive results.

댓글을 달려면 로그인하십시오.


Wayne King
Wayne King 2011년 12월 14일
In what sense do you say they're different? You may be confusing the way the Wavelet Toolbox refers to db#. The Wavelet Toolbox uses the number of vanishing moments and not the length of the filter. The length is twice the number of vanishing moments.
[LoD,HiD] = wfilters('db10');
length(LoD)
Does the above filter give you what you need?
Is this paper somewhere I can see?
  댓글 수: 1
John
John 2011년 12월 14일
I don't have access to Matlab at just this moment but I will check as soon as I do.
The paper is at www.sftw.umac.mo/~fstpcm/pub/PAMI03.pdf it is called "Log-Polar Wavelet Energy Signatures for Rotation and Scale Invariant Texture Classification" by Pun and Lee (2003. The definition of the filters are in Section 2 and the Filter Coefficients for H are in Section 4.2.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Filter Banks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by