Defining Your Own Wavelet
You can define wavelets to plug into the wavelet analysis framework by using the correct template. A wavelet wave is of the form wfam[args], where wfam is the symbol that indicates the wavelet family and args provide any necessary specification.
In order to set wfam as a wavelet family recognized by the system, the property wfam[patt]["WaveletQ"] must be set to True, where patt is a pattern that matches acceptable arguments args.
WaveletQ | set to True if the symbol is a user wavelet |
Both orthogonal and biorthogonal user wavelets are supported. Orthogonal wavelets are indicated by setting the property wfam[args]["OrthogonalQ"] and, correspondingly, biorthogonal wavelets are set using the property wfam[args]["BiorthogonalQ"].
"OrthogonalQ" | set to True if the wavelet is orthogonal |
"BiorthogonalQ" | set to True if the wavelet is biorthogonal |
To compute primal lowpass filter coefficients, the property wfam[args]["PrimalLowpass",prec] must be set; here prec indicates the precision of filter coefficients. Similarly, to compute dual lowpass filter coefficients, the property "DualLowpass" must be set. Both properties "PrimalLowpass" and "DualLowpass" are expected to return a list of the form
, where
is the index and
is the corresponding filter coefficient. If a list of the form
is returned, it is assumed that index
starts from 0. An error message is generated if the filter coefficients
are not numeric and indices
are not integers.







Franklin Wavelet
In[1]:=1

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-5f2bp
In[2]:=2

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-jsdvv8
In[3]:=3

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-3vccdf
In[4]:=4

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-by6fxn
In[5]:=5

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-ql1l59
In[6]:=6

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-rnvts3
In[7]:=7

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-3cnc36
Out[7]=7

The scaling function is computed using the recursive equation
, where
represents the lowpass filter coefficients.


In[8]:=8

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-vzw99q
Out[8]=8

In[9]:=9

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-kao9us
Out[9]=9

In[10]:=10

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-rr9bn0
Out[10]=10

Legendre Wavelet
In[11]:=11

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-op4fyr
Although Legendre wavelets are not orthogonal, to be able to perform a wavelet transform, you need to set it to True:
In[12]:=12

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-vz7h7o
In[13]:=13

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-ogs7yr
In[14]:=14

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-x30cl0
Out[14]=14

In[15]:=15

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-m1c5dg
Out[15]=15

In[16]:=16

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-6ydnqc
Out[16]=16

The wavelet function is computed using the recursive equation
, where
represents the highpass filter coefficients.


In[17]:=17

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-pc3byr
Out[17]=17

In[18]:=18

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-elocx2
Out[18]=18

In[19]:=19

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-qlte8h
Out[19]=19

Le Gall Wavelet
In[20]:=20

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-2zbtvn
In[21]:=21

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-4yn6w5
In[22]:=22

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-rgncn8
In[23]:=23

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-9rbxc2
In[24]:=24

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-faixbl
In[25]:=25

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-itzf49
Perform a StationaryWaveletTransform using a Le Gall wavelet:
In[26]:=26

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-2g2d13
Out[26]=26

In[27]:=27

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-bv758e
Out[27]=27

In[28]:=28

✖
https://wolfram.com/xid/0oj9lvge3sy6id5fcm-urdjc5
Out[28]=28
