天天看点

小波滤波器的问答Wavelet filters

看到国外有同学要自己手动计算小波滤波器,实际上相关的算法在比2005稍早,有不少文献    文献 文献 文献 文献 发表。

Wavelet filters

Started by mariya ●August 15, 2005

  • Chronological
  • Newest First
Hello

i am trying to implement a wavelet transform using digital filters! Could
anyone tell me how to design these filters. I have tried to use matlab
command FIR1 but it seems not to be a good way to design these filters!
Thank for your help

		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
      

Posted by Randy Yates ●August 15, 2005

"mariya" <[email protected]> writes:


          
> Hello > > i am trying to implement a wavelet transform using digital filters! Could > anyone tell me how to design these filters. I have tried to use matlab > command FIR1 but it seems not to be a good way to design these filters! > Thank for your help
Hi, My homework on wavelets from my DSP class at NCSU is on-line at http://www.digitalsignallabs.com/hw8.zip Open the zip file and read the file hw.pdf with Adobe Acrobat. Specifically, read Appendix A, which gives an overview of Matlab's wavelet toolbox. I found I needed it for my own sanity. --Randy -- % Randy Yates % "Rollin' and riding and slippin' and %% Fuquay-Varina, NC % sliding, it's magic." %%% 919-577-9882 % %%%% <[email protected]> % 'Living' Thing', *A New World Record*, ELO http://home.earthlink.net/~yatescr

Posted by Rune Allnor ●August 16, 2005

mariya skrev:

          
> Hello > > i am trying to implement a wavelet transform using digital filters! Could > anyone tell me how to design these filters. I have tried to use matlab > command FIR1 but it seems not to be a good way to design these filters!
The main difference between wavelets and other sub-band filters, is that the wavelet filters are interrelated in a special way: h_n(t) = 1/a_n * h'((t-b_n)/a_n) [1] where h'(n) is the "mother wavelet". What [1] says, is that each wavelet filter is generated by a sacled, translated and compressed version of some basic wave (impulse response of the filter, as it were). These "mother wavelets" can be quite simple (the "mexican hat") or they can be veritable pains in the neck, like the Daubechie wavelets. The main point is that the wavelet transform introduces strong requirements to the FIR filters. You will probably not be able to use any FIR filter generator to design wavelet filters. Rune

Posted by ●August 16, 2005

> You will probably not be able > to use any FIR filter generator to design wavelet filters.
besides, you dont really need to as there are plenty of good wavelet filters out there, many of which are included in the wavelet toolbox by Matlab. Here are the ones listed in my version of Matlab... biorwavf - Biorthogonal spline wavelet filters. cgauwavf - Complex Gaussian wavelet. cmorwavf - Complex Morlet wavelet. coifwavf - Coiflet wavelet filter. dbaux - Daubechies wavelet filter computation. dbwavf - Daubechies wavelet filters. fbspwavf - Complex Frequency B-Spline wavelet. gauswavf - Gaussian wavelet. mexihat - Mexican Hat wavelet. meyer - Meyer wavelet. meyeraux - Meyer wavelet auxiliary function. morlet - Morlet wavelet. rbiowavf - Reverse Biorthogonal spline wavelet filters. shanwavf - Complex Shannon wavelet. symaux - Symlet wavelet filter computation. symwavf - Symlet wavelet filter.

Posted by mariya ●August 16, 2005

>The main point is that the wavelet transform introduces strong >requirements to the FIR filters. You will probably not be able >to use any FIR filter generator to design wavelet filters. > >Rune > >
********************************** Hi again, If i understood correct you mean that i cannot get wavelet filters using FIR digital filters? I did handle some matlab wavelet filters but the point is that i don't know what are their features such as cutoff or sampling frequency. For instance to decompose the signal there are some quit command such as [C,L] = wavedec(X,N,'wname') [C,L] = wavedec(X,N,Lo_D,Hi_D) Here we need just to choose the wavelet name (let's say 'db3') suitable to our application or the related filters (quit straight )! I would also use the same filters for my wavelet transform on a processor but how to get these filters coefficients?? thanx! This message was sent using the Comp.DSP web interface on www.DSPRelated.com

Posted by Ikaro ●August 17, 2005

I am not sure which version you are using, but if you are using matlab
12.1 check:

http://www.mathworks.com/support/solutions/data/1-18NCG.html?solution=1-18NCG

      

Posted by Rune Allnor ●August 17, 2005

mariya skrev:

          
> >The main point is that the wavelet transform introduces strong > >requirements to the FIR filters. You will probably not be able > >to use any FIR filter generator to design wavelet filters. > > > >Rune > > > > > ********************************** > Hi again, > > If i understood correct you mean that i cannot get wavelet filters using > FIR digital filters?
Yes you can, if the filter generator is set up to take into account the particular aspects that wavelets depend on. I am saying that you probably need specialized wavelet generators to do that. The wavelets themselves are FIR filters. Rune

Posted by mariya ●August 25, 2005

Hi,

Isn't it correct that the "dbaux command" gives the coefficients of the
wavelet reconstruction filters? Any suggestion on which command to use in
order to get the coefficients of the analysis filter. 
I am using matlab version 7.0!

Thanks for your time!
		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
      

Posted by mariya ●August 25, 2005

Hi,

Isn't it correct that the "dbaux command" gives the coefficients of the
wavelet reconstruction filters? Any suggestion on which command to use in
order to get the coefficients of the analysis filter. 
I am using matlab version 7.0!

Thanks for your time!
		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
      

小波工具里面最强大的莫过于Matlab的工具箱了。在Mathworks网站上也有类似的关于小波滤波器计算的问答

Subject: Computing wavelet filters

From: Najah

Date: 27 Sep, 2010 21:06:21

Message: 1 of 3

Reply to this message

Add author to My Watch List

View original format

Flag as spam

Hi,

I am working on 2D wavelet Decomposition, and I want to extract the wavelet coefficients of the image on 3scales.

I have the code to extract the wavelet coefficients and I used the function

[LP,HP]=compute_wavelet_filter('Haar',8)

To compute the wavelet filters but when I applied these filters to the (wavefast)

function I got an error that LP and HP must be even and equal length real, numeric filter vectors.

Anyone can help ?

Thanks in advance.

Subject: Computing wavelet filters

From: Wayne King

Date: 27 Sep, 2010 21:53:06

Message: 2 of 3

Reply to this message

Add author to My Watch List

View original format

Flag as spam

"Najah " <[email protected]> wrote in message <[email protected]>...

> Hi,

> I am working on 2D wavelet Decomposition, and I want to extract the wavelet coefficients of the image on 3scales.

> I have the code to extract the wavelet coefficients and I used the function

> [LP,HP]=compute_wavelet_filter('Haar',8)

> To compute the wavelet filters but when I applied these filters to the (wavefast)

> function I got an error that LP and HP must be even and equal length real, numeric filter vectors.

>

>

> Anyone can help ?

> Thanks in advance.

Hi Najah, I don't know the software you are using, but are you sure that

[LP,HP]=compute_wavelet_filter('Haar',8);

is returning anything meaningful? If you enter:

>>whos LP

>>whos HP

what is returned.

 If the second input argument to compute_wavelet_filter() iis the support size of the filter, the Haar wavelet only has one support size (2). So 'Haar',8 doesn't make any sense. If you were using a Daubechies wavelet, then you have many possible choices for the support (two times the number of vanishing moments).

What if you tried

[LP,HP]=compute_wavelet_filter('Daubechies',4);

Does your code work then?

Wayne

Subject: Computing wavelet filters

From: Najah

Date: 27 Sep, 2010 22:16:20

Message: 3 of 3

Reply to this message

Add author to My Watch List

View original format

Flag as spam

"Wayne King" <[email protected]> wrote in message <[email protected]>...

> "Najah " <[email protected]> wrote in message <[email protected]>...

> > Hi,

> > I am working on 2D wavelet Decomposition, and I want to extract the wavelet coefficients of the image on 3scales.

> > I have the code to extract the wavelet coefficients and I used the function

> > [LP,HP]=compute_wavelet_filter('Haar',8)

> > To compute the wavelet filters but when I applied these filters to the (wavefast)

> > function I got an error that LP and HP must be even and equal length real, numeric filter vectors.

> >

> >

> > Anyone can help ?

> > Thanks in advance.

>

> Hi Najah, I don't know the software you are using, but are you sure that

>

> [LP,HP]=compute_wavelet_filter('Haar',8);

>

> is returning anything meaningful? If you enter:

>

> >>whos LP

> >>whos HP

>

> what is returned.

>

> If the second input argument to compute_wavelet_filter() iis the support size of the filter, the Haar wavelet only has one support size (2). So 'Haar',8 doesn't make any sense. If you were using a Daubechies wavelet, then you have many possible choices for the support (two times the number of vanishing moments).

>

> What if you tried

>

> [LP,HP]=compute_wavelet_filter('Daubechies',4);

>

> Does your code work then?

>

> Wayne

Thanks Wayne for your replay.

I tried it but it gives me the same error.

I used the code in this link

http://fourier.eng.hmc.edu/e161/dipum/wavefast.m

The code suggest another call to the wavefast by defining the wavelet name

"

[C, L] = WAVEFAST(X, N, WNAME) performs the same operation but

% fetches filters LP and HP for wavelet WNAME using WAVEFILTER.

"

I think I must tried it. but I dont know who can I wirte the WNAME?

最后的链接指向 冈萨雷斯的 数字图像处理(使用Matlab)的教材和附带的Matlab源码

继续阅读