WOLFRAM 语言教程

自定义小波

用户可以通过使用正确的模板,定义适用于小波分析框架的小波. 小波 wave 的形式为 wfam[args],其中 wfam 是表明小波族的符号,而 args 提供了任何需要的具体规范说明.

为了把 wfam 设置为系统可以识别的小波族,属性 wfam[patt]["WaveletQ"] 必须设置为 True,其中 patt 是一个与可接受的变量 args 相匹配的模式.

WaveletQ如果该函数是一个自定义小波,则设为 True

小波初始化属性.

正交小波和双正交自定义小波(user wavelet)都被支持. 通过设置属性 wfam[args]["OrthogonalQ"] 表明正交小波,相应地,通过设置属性 wfam[args]["BiorthogonalQ"] 表明双正交小波.

"OrthogonalQ"如果该小波是正交的,设为 True
"BiorthogonalQ"如果该小波是双正交的,设为 True

小波属性.

如要计算原低通滤波器系数,必须设置属性 wfam[args]["PrimalLowpass",prec];这里,prec 表示滤波器系数的精度. 相似地,要计算对偶低通滤波器系数,必须设置属性 "DualLowpass". 属性 "PrimalLowpass""DualLowpass" 一般返回形如 的列表,其中 是索引而 是相应的滤波器系数. 如果返回的是形如 的列表,则假定索引 从0开始. 如果滤波器系数 不是数值的,并且索引 不是整数,则生成一个错误信息.

范例

Franklin 小波

定义一个 Franklin 小波族.

初始化小波.
In[136]:=
Click for copyable input
设置属性.
In[137]:=
Click for copyable input
由积分给出 Franklin 小波系数.
In[138]:=
Click for copyable input
In[139]:=
Click for copyable input
In[140]:=
Click for copyable input

现在,上述自定义小波可用于执行各种小波操作.

计算滤波器系数.
In[141]:=
Click for copyable input
In[142]:=
Click for copyable input
Out[142]=

利用递归方程 计算尺度函数,其中 表示低通滤波器系数.

计算尺度函数.
In[143]:=
Click for copyable input
Out[143]=
执行小波变换.
In[144]:=
Click for copyable input
Out[144]=
In[145]:=
Click for copyable input
Out[145]=

勒让德(Legendre)小波

下面是勒让德小波的一个例子.

初始化小波.
In[146]:=
Click for copyable input
虽然勒让德小波不是正交的,若要执行小波变换,用户需要将正交性设置为 True.
In[147]:=
Click for copyable input
指定用于计算低通滤波器系数的函数.
In[148]:=
Click for copyable input
计算滤波器系数.
In[149]:=
Click for copyable input
Out[149]=
In[150]:=
Click for copyable input
Out[150]=
计算尺度函数.
In[151]:=
Click for copyable input
Out[151]=

利用递归方程 计算小波函数,其中 表示高通滤波器系数.

计算小波函数.
In[152]:=
Click for copyable input
Out[152]=
执行小波变换.
In[153]:=
Click for copyable input
Out[153]=
In[154]:=
Click for copyable input
Out[154]=

Le Gall 小波

生成一个 Le Gall 小波.

初始化小波.
In[155]:=
Click for copyable input
属性设置.
In[156]:=
Click for copyable input
In[157]:=
Click for copyable input
定义 "PrimalLowpass""DualLowpass" 属性.
In[158]:=
Click for copyable input
In[159]:=
Click for copyable input

利用 Le Gall 小波进行阈值化处理.

In[160]:=
Click for copyable input
利用 Le Gall 小波执行 StationaryWaveletTransform.
In[161]:=
Click for copyable input
Out[161]=
In[162]:=
Click for copyable input
Out[162]=
In[163]:=
Click for copyable input
Out[163]=