本节将向您介绍使用小波工具箱™软件进行1-D临界采样小波分析的特性。
工具箱为一维信号分析提供了这些功能。有关更多信息,请参阅参考页。
函数名 |
目的 |
---|---|
自动小波信号去噪(推荐) |
|
自动小波图像去噪(推荐) |
|
小波一维或二维去噪的惩罚阈值 |
|
基于Birgé-Massart策略的小波1-D阈值 |
|
小波去噪与压缩 |
|
自动小波去噪 |
|
阈值设置管理器 |
在本节中,您将学习如何
加载信号
对信号进行单级小波分解
根据系数构造近似和细节
显示近似和细节
用小波反变换重新生成信号
对信号进行多级小波分解
提取近似和细节系数
重建三级近似
重建级别1、2和3的细节
显示多级分解的结果
从三级分解中重建原始信号
从信号中去除噪声
细化分析
压缩信号
显示信号的统计数据和直方图
由于您既可以从命令行执行分析,也可以使用Wavelet Analyzer应用程序执行分析,因此本节包含了涵盖每种方法的子节。
最后一小节讨论如何在磁盘和图形工具之间交换信号和系数信息。
这个例子涉及一个真实世界的信号——3天内测量的耗电量。这个信号特别有趣,因为在进行测量时,监测设备出现缺陷时引入了噪声。小波分析可以有效地去除噪声。
加载信号,选取一部分进行小波分析。
负载leleccum;S = leceleccum (1:3920);L_s =长度(s);
对信号进行单级小波分解。
方法执行信号的单级分解db1
小波。
[cA1,cD1] = dwt(s,“db1”);
这就产生了一级近似的系数(cA1
)和详情(cD1
).
根据系数构造近似和细节。
要构造一级近似和细节(A1
而且D1
)由系数cA1
而且cD1
、类型
A1 = upcoef(“一个”cA1,“db1”1、l_s);D1 = upcoef(' d ', cD1、“db1”1、l_s);
或
A1 = idwt(cA1,[],“db1”, l_s);D1 = idwt([],cD1,“db1”, l_s);
显示近似和细节。
要显示一级分解的结果,键入
次要情节(1、2、1);情节(A1);标题(“近似A1”)次要情节(1、2、2);情节(D1);标题(“细节D1”)
用逆小波变换重新生成信号。
要求逆变换,输入
A0 = idwt(cA1,cD1,“db1”, l_s);err = max(abs(s-A0))
要执行信号的3级分解(再次使用db1
小波),类型
[C,L] = wavedec(s,3,“db1”);
第三级分解(即第三级近似和前三个详细级别)的所有组件的系数被连接到一个向量c中返回,向量L给出了每个组件的长度。
cA3 = appcoef(C,L,'db1',3);
cD3 = detcoef(C,L,3);cD2 = detcoef(C,L,2);cD1 = detcoef(C,L,1);
或
[cD1,cD2,cD3] = detcoef(C,L,[1,2,3]);
来重建三级近似C
、类型
A3 = wrcoef('a',C,L,'db1',3);
重建级别1、2和3上的细节,从C
、类型
D1 = wrcoef('d',C,L,'db1',1);D2 = wrcoef('d',C,L,'db1',2);D3 = wrcoef('d',C,L,'db1',3);
要显示第3级分解的结果,请键入
次要情节(2 2 1);情节(A3);title('近似A3') subplot(2,2,2);情节(D1);标题(“细节D1”)次要情节(2,2,3);情节(D2);title('Detail D2') subplot(2,2,4);情节(D3);标题(细节D3)
从三级分解中重建原始信号。
对原始信号进行小波分解重构,形成结构、类型
A0 = waverec(C,L,'db1');err = max(abs(s-A0))
使用小波从信号中去除噪声需要识别哪些成分包含噪声,然后在没有这些成分的情况下重构信号。
在这个例子中,我们注意到,随着越来越多的高频信息从信号中过滤掉,连续逼近的噪声会越来越小。
三级近似,A3
,它与原始信号之间的比较非常清晰。
要将近似值与原始信号进行比较,请键入
次要情节(2,1,1);情节(年代);标题(原始的);轴离子图(2,1,2);图(A3);标题(“三级近似”);轴了
当然,在丢弃所有高频信息的同时,我们也失去了原始信号的许多最鲜明的特征。
让我们再看一看第3级分析的细节。
要显示详细信息D1
,D2
,D3
、类型
次要情节(1,1);情节(D1);title(“细节级别1”);轴离子图(3,1,2);情节(D2);title(“细节级别2”);轴离子图(3,1,3);情节(D3);title(“细节级别3”);轴了
大多数噪声发生在信号的后一部分,在那里细节显示了它们最大的活动。如果我们通过限制细节的最大值来限制细节的强度会怎样?这将有减少噪音的效果,同时在大部分持续时间内不影响细节。但是有一个更好的办法。
请注意,cD1
,张
,cD3
都是MATLAB®向量,所以我们可以直接操作每个向量,将每个元素设置为向量峰值或平均值的某个部分。然后我们可以重建新的细节信号D1
,D2
,D3
从阈值系数。
去噪信号,使用ddencmp
命令来计算默认参数和wdencmp
命令执行实际去噪,键入
[thr,sorh,keepapp] = ddencmp('den','wv',s);clean = wdencmp('gbl',C,L,'db1',3,thr,sorh,keepapp);
请注意,wdencmp
使用分解的结果(C
而且l
),我们已经计算过了。我们还指定使用db1
对原始小波进行分析,并指定全局阈值选项gbl(的
.看到ddencmp
而且wdencmp
有关这些命令使用的更多信息,请参阅参考页。
要显示原始信号和去噪信号,请键入
次要情节(2,1,1);情节(s (2000:3920));标题(原始的)次要情节(2,1,2);情节(清洁(2000:3920));标题(“去噪”)
我们在这里只画出了信号中有噪声的后半段。请注意我们是如何在不影响原始信号的清晰细节的情况下去除噪声的。这是小波分析的一个强项。
虽然使用命令行函数从信号中去除噪声可能很麻烦,但该软件的小波分析仪应用程序包括一个易于使用的去噪功能,包括自动阈值。
关于去噪过程的更多信息可以在以下部分中找到:
小波去噪与非参数函数估计在小波工具箱用户指南
一维小波方差自适应阈值在小波工具箱用户指南
在本节中,我们将探索与前一节相同的电力消耗信号,但我们使用小波分析仪应用程序来分析和去噪信号。
请注意
不再推荐使用小波分析仪应用程序去噪信号。使用小波信号去噪器代替。
启动1-D小波分析工具。
从MATLAB提示符中输入waveletAnalyzer
.
的小波分析仪出现了。
单击小波一维菜单项。
提出了一维信号数据的离散小波分析工具。
加载一个信号。
在MATLAB命令提示符下,键入
加载leleccum;
leleccum
变量。点击好吧输入用电信号。在开始分析之前,让我们使用db1
中的命令行函数使用命令行进行一维分析.
的右上角小波一维工具,选择db1
小波和单层分解。
单击分析按钮。
在暂停计算之后,该工具将显示分解。
放大相关细节。
使用小波分析应用程序的一个优点是,您可以轻松地放大信号的任何部分,并更详细地检查它。
将一个橡皮筋盒(按住鼠标左键)拖到要放大的信号部分上。这里,我们选择了原始信号的噪声部分。
单击X +按钮(位于屏幕底部)用于水平缩放。
的小波一维工具放大所有显示的信号。
其他的缩放控件或多或少都是你所期望的。的X -按钮,例如,水平缩小。历史函数会跟踪您对信号的所有视图。单击左侧箭头按钮可返回到先前的缩放级别。
同样,我们将使用图形工具来模拟我们在前一节中使用命令行函数所做的工作。方法对信号进行3级分解db1
小波:
选择3.从水平菜单的右上角,然后单击分析按钮一次。
执行分解之后,您将看到在小波一维工具。
选择分解的不同视图
的显示模式菜单(右中)允许您选择小波分解的不同视图。
您可以在每个会话的基础上更改默认显示模式。控件中选择所需的模式视图>默认显示模式子菜单。
请注意
的压缩而且去噪窗户从窗口打开。小波一维工具将继承当前系数可视化属性(茎或彩色块)。
选项可以访问其他显示选项,具体取决于所选择的显示模式更多显示选项按钮。
这些选项包括抑制各种组件显示的能力,以及选择是否显示原始信号以及细节和近似值。
从信号中去除噪声。
小波分析仪应用程序具有一个预定义的阈值策略去噪选项。这使得从信号中去除噪声变得非常容易。
请注意
不再推荐使用去噪选项。使用小波信号去噪器代替。
调出去噪工具:单击消除干扰按钮,位于窗口的右中间,在分析按钮。
的小波一维去噪窗口出现。
虽然有许多选项可用于微调去噪算法,但我们将接受软固定形式阈值和无缩放白噪声的默认值。的无尺度白噪声
选项对应于设置乘法阈值输入参数公司拥有
的wden
来“一个”
.选择缩放白噪声
对应于“sln”
,非白人的噪音
对应于“mln”
.有关更多信息,请参见wden
.
继续单击消除干扰按钮。
去噪后的信号似乎叠加在原始信号上。该工具还绘制了两个信号的小波系数。原始细节系数显示在显示器的左侧。为了在所有尺度上对分解级别进行时间对齐,在每个尺度上复制小波系数以说明缺失的时间点。因此,当尺度变粗时,系数呈阶梯状。
放大原始信号和去噪信号的图,以便更仔细地观察。
在相关区域周围拖动橡皮筋框,然后单击XY +按钮。
的消除干扰窗户能放大你的视野。默认情况下,原始信号显示为红色,去噪信号显示为黄色。
取消小波一维去噪窗口:点击关闭按钮。
你不能拥有消除干扰而且压缩窗口同时打开,所以关闭小波一维去噪窗口继续。当更新合成信号对话框,单击没有.如果你点击是的,合成信号然后在小波一维主窗口。
细化分析。
图形化工具使您随时都可以轻松地改进分析。到目前为止,我们已经看到了三级分析使用db1
.让我们使用。来改进我们对用电信号的分析db4
第5级的小波。
从水平菜单,然后选择db4
从小波菜单。单击分析按钮。
压缩信号。
图形界面工具具有自动或手动阈值压缩选项。
调出压缩窗口:点击压缩按钮,位于窗口的右中间,在分析按钮。
的压缩窗口出现。
虽然您总是可以通过级别阈值进行选择,但在这里我们将利用全局阈值特性进行快速和简单的压缩。
请注意
如果您想尝试手动阈值设置,请选择级别阈值的右上角菜单中的选项小波一维压缩窗口。然后,位于该菜单下方的滑块控制与级别相关的阈值,这些阈值由窗口左侧图形中水平运行的黄色虚线表示。黄色虚线也可以直接使用鼠标左键拖动。
单击压缩按钮,位于右中间。
在暂停计算后,耗电量信号以红色重新显示,压缩后的信号以黄色叠加。下面,我们放大了信号的噪声部分。
你可以看到压缩过程去除了大部分噪声,但保留了信号99.99%的能量。
从小波一维压缩工具,单击残差按钮。的更多关于小波1-D压缩的残差窗口出现。
显示的统计数据包括趋势(均值、模式、中位数)和离散度(范围、标准偏差)。此外,该工具还提供了频率分布图(直方图和累积直方图),以及时间序列图:自相关函数和频谱。相同的特性存在于小波一维去噪工具。
取消小波一维压缩窗口:点击关闭按钮。当更新合成信号对话框,单击不。
显示统计数据。
您可以查看有关信号及其组件的各种统计信息。
从小波一维工具,单击统计数据按钮。
的小波一维统计窗口将显示原始信号的默认统计信息。
选择要检查其统计信息的合成信号或信号分量。单击相应的选项按钮,然后单击显示统计信息按钮。在这里,我们选择使用100个箱来检查合成信号,而不是默认的30个箱:
显示的统计数据包括趋势(均值、模式、中位数)和离散度(范围、标准偏差)。
此外,该工具还提供了频率分布图(直方图和累积直方图)。方法可以分别绘制这些直方图柱状图按钮。小波一维窗口。
单击近似选项按钮。将出现一个菜单,从中选择要检查的近似级别。
选择Level 1,然后再次单击显示统计信息按钮。1级近似的统计数据出现。
的小波一维图形界面工具允许您从磁盘和MATLAB工作区导入和导出信息。
中保存合成信号、系数和分解小波一维工具到磁盘,可以在其中操作信息,然后重新导入到图形化工具中。
保存合成信号。您可以处理信号小波一维工具,然后将处理后的信号保存到mat文件(扩展名为垫
或其他)。
例如,加载实例分析:文件>分析示例>基本信号> with db3 at level 5→sin的和,并对原始信号进行压缩或去噪操作。当你关闭去噪或压缩窗口中,单击更新合成信号是的在对话框中。
然后,从小波一维工具,选择File >保存>信号菜单选项。
出现一个对话框,允许您为mat文件选择文件夹和文件名。对于本例,选择名称synthsig
.
要将信号加载到工作区中,只需键入
加载synthsig;
当使用除全局阈值方法外的任何阈值方法获得合成信号时,保存的结构为
谁
名字 | 大小 | 字节 | 类 |
---|---|---|---|
synthsig |
1 x1000 |
8000 |
双 数组 |
thrParams |
1 x5 |
580 |
单元阵列 |
wname |
1 x3 |
6 |
字符数组 |
合成信号由变量给出synthsig
.此外,去噪或压缩过程的参数由小波名称(wname
)和载于thrParams
变量,它是一个长度为5的单元格数组(与分解的级别相同)。
为我
从1到5,thrParams{我}
包含阈值间隔和阈值的下界和上界(因为允许使用依赖于间隔的阈值,请参见小波系数的一维自适应阈值).
例如,对于第一级,
thrParams{1} ans = 1.0e+03 * 0.0010 1.0000 0.0014
当使用全局阈值方法获得合成信号时,保存的结构为
名字 | 大小 | 字节 | 类 |
---|---|---|---|
synthsig |
1 x1000 |
8000 |
双数组 |
valTHR |
1 x1 |
8 |
双数组 |
wname |
1 x3 |
6 |
字符数组 |
其中变量valTHR
包含全局阈值:
valTHR valTHR = 1.2922
保存离散小波变换系数。的小波一维工具允许您将离散小波变换(DWT)的系数保存到磁盘。工具箱在当前文件夹中用您选择的名称创建一个mat文件。
要保存当前分析中的DWT系数,请使用菜单选项文件>保存>系数.
出现一个对话框,允许您指定存储系数的文件夹和文件名。
考虑下面的例子分析:
>分析实例>基本信号>与db1在5级→康托曲线.
将小波系数保存到文件后cantor.mat
,在工作区中加载变量:
加载歌唱者whoos
名字 | 大小 | 字节 | 类 |
---|---|---|---|
系数 |
1 x2190 |
17520 |
双数组 |
多头 |
1 x7 |
56 |
双数组 |
thrParams |
0 x0 |
0 |
双数组 |
wname |
1 x3 |
6 |
字符数组 |
变量系数
包含离散小波系数。更准确地说,在上面的例子中系数
是一个1乘2190的级联系数向量,和多头
向量是否给出了向量的每个分量的长度系数
.
变量wname
包含小波名称和thrParams
为空,因为合成信号不存在。
储蓄分解。的小波一维工具允许您将整个数据集从离散小波分析保存到磁盘。工具箱在当前文件夹中创建一个mat文件,该文件具有您选择的名称和扩展名wa1
(小波分析1-D)。
打开小波一维工具和加载实例分析:
文件>分析示例>基本信号> with db3 at level 5→sin的和
要保存此分析的数据,请使用菜单选项文件>保存>分解.
将出现一个对话框,允许您指定用于存储分解数据的文件夹和文件名。输入名称wdecex1d
.
将分解数据保存到文件后wdecex1d.wa1
,将变量加载到你的工作区:
负载wdecex1d。Wa1 -mat whoos
名字 | 大小 | 字节 | 类 |
---|---|---|---|
系数 |
1 x1023 |
8184 |
双数组 |
data_name |
1 x6 |
12 |
字符数组 |
多头 |
1 x7 |
56 |
双数组 |
thrParams |
0 x0 |
0 |
双数组 |
wave_name |
1 x3 |
6 |
字符数组 |
请注意
文件中执行去噪或压缩时,也可以使用保存选项小波一维工具。在小波一维去噪窗口,可以保存去噪后的信号并进行分解。同样适用于小波一维压缩窗口。这样,你可以从降噪和压缩窗口中保存许多不同的试验,而无需返回到主窗口小波一维窗口。
请注意
当将合成信号、分解或系数保存到mat文件时,可以使用垫
不需要文件扩展名。你可以为每个关卡单独保存近似值,也可以一次性保存它们。
的小波一维工具允许您以多种格式将1-D小波分析导出到MATLAB工作空间。
例如,加载实例分析freqbrk
信号。
小波1-D分析加载后,选择File - >导出到工作区
.
你可以选择
输出信号
-该选项导出合成信号矢量。
出口系数
—该选项将导出小波和缩放系数的向量、簿记向量以及在结构数组中分析小波。所得到的小波、标度系数和记账向量与输出完全相同wavedec
.
出口分解
—与出口系数
除了它还包含被分析信号的名称。
导出所有近似
-此选项导出一个L × n矩阵,其中L为的值水平N为输入信号的长度。矩阵的每一行都是在相应能级的近似空间上的投影。例如,矩阵的第一行是在第1级的近似空间上的投影。
导出所有详细信息
-此选项导出一个L × n矩阵,其中L为的值水平N为输入信号的长度。矩阵的每一行都是对应级别的细节(小波)空间上的投影。例如,矩阵的第一行是在级别1的细节空间上的投影。
您可以将信号、系数或分解加载到Wavelet Analyzer应用程序中。您加载的信息可能已经从应用程序中导出,然后在工作空间中进行操作,或者它可能是您最初从命令行生成的信息。
类使用的严格文件格式和数据结构小波一维工具,否则在尝试加载信息时将导致错误。
加载信号。将在MATLAB工作区中构建的信号加载到小波一维工具,保存信号在一个mat文件(扩展名垫
或其他)。
例如,假设您设计了一个名为warma
想要分析它小波一维工具。
省省吧,暖暖的
工作区变量warma必须是一个向量。
Sizwarma = size(warma) Sizwarma = 1 1000
将这个信号加载到小波一维工具,使用菜单选项File >加载>信号.
将出现一个对话框,允许您选择要加载的适当mat文件。
请注意
文件中遇到的第一个1-D变量被认为是信号。变量按字母顺序检查。
加载离散小波变换系数。将离散小波变换系数加载到小波一维工具,您必须首先在mat文件中保存适当的数据,该文件必须至少包含这两个变量系数
而且多头
.
变量系数
必须是DWT系数的矢量(为各个级别连接),变量多头
的每个分量的长度的向量系数
,以及原始信号的长度。
在工作区中构造或编辑适当的数据之后,键入
保存我的文件
使用文件>加载>系数菜单选项。小波一维工具将数据加载到图形化工具中。
这时会出现一个对话框,允许您选择数据所在的文件夹和文件。
加载分解。将离散小波变换加载到分解数据中小波一维图形界面,您必须首先将适当的数据保存在mat文件(扩展名为wa1
或其他)。
mat文件包含以下变量。
变量 | 状态 | 描述 |
---|---|---|
系数 |
要求 |
级联DWT系数的向量 |
多头 |
要求 |
的分量长度的向量 |
wave_name |
要求 |
指定用于分解的小波名称的字符向量(例如, |
data_name |
可选 |
指定分解名称的字符向量 |
在工作区中构造或编辑适当的数据之后,键入
保存我的文件coefs long wave_name
使用文件>加载>分解菜单选项。小波一维工具将分解数据加载到图形化工具中。
这时会出现一个对话框,允许您选择数据所在的文件夹和文件。
请注意
当从mat文件加载信号、分解或系数时,该文件的扩展名是免费的。的垫
不需要延期。