看到国外有同学要自己手动计算小波滤波器,实际上相关的算法在比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源码