主要内容

一维小波变换摧毁

本节将介绍一维严格采样小波分析的特点利用小波工具箱™软件。

工具箱为一维信号分析提供了这些函数。有关更多信息,请参见页面的引用。

Analysis-Decomposition功能

函数名

目的

dwt

单一层次分解

wavedec

分解

wmaxlev

最大的小波分解层次

Synthesis-Reconstruction功能

函数名

目的

得到

单层重建

waverec

完整的重建

wrcoef

选择性重建

upcoef

单一的重建

分解结构实用程序

函数名

目的

detcoef

提取的细节系数

appcoef

提取近似系数

upwlev

分解结构的重排

去噪和压缩

函数名

目的

wdenoise

自动小波的信号去噪(推荐)

wdenoise2

自动小波图像去噪(推荐)

ddencmp

提供的默认值去噪和压缩

wbmpen

惩罚阈值小波一维或二维去噪

wdcbm

阈值小波一维使用Birge-Massart策略

wdencmp

小波去噪和压缩

wden

自动小波去噪

wthrmngr

阈值设置管理器

在本节中,您将学习如何

  • 加载一个信号

  • 执行一个单层小波分解的信号

  • 构造近似系数和细节

  • 显示逼近和细节

  • 再生一个信号通过小波逆变换

  • 进行多级小波分解的信号

  • 提取近似系数和细节

  • 重建三级近似

  • 重建级别1、2和3的细节

  • 显示多级分解的结果

  • 从三级分解重构原始信号

  • 去除噪声信号

  • 完善的分析

  • 压缩一个信号

  • 显示信号的统计数据和直方图

因为你可以从命令行执行分析或使用小波分析仪应用,本节部分覆盖每个方法。

最后一小节讨论了如何交流信号和磁盘之间系数信息和图形工具。

一维分析使用命令行

这个例子涉及到真实世界的信号——电力消费测量在3天。这个信号噪声尤其有趣,因为当一个缺陷在监测设备开发的测量。小波分析能有效地消除了噪声。

请注意

消除干扰信号,wdenoise小波信号降噪是推荐的。

  1. 负荷信号,选择小波分析的一部分。

    负载leleccum;s = leleccum (1:3920);l_s =长度(s);
  2. 执行一个单层小波分解的信号。

    执行一个单级分解信号的使用db1小波。

    [cA1、cD1] = dwt(年代,“db1”);

    这个生成的一级近似系数(cA1)和细节(cD1)。

  3. 构造近似系数和细节。

    构建一级近似和细节(A1D1)的系数cA1cD1、类型

    A1 = upcoef (“一个”cA1,“db1”1、l_s);D1 = upcoef (' d ',cD1、“db1”1、l_s);

    A1 =得到(cA1、[]“db1”,l_s);D1 =得到([],cD1、“db1”,l_s);
  4. 显示逼近和细节。

    总公司一级分解的结果,显示类型

    次要情节(1、2、1);情节(A1);标题(“近似A1”)次要情节(1、2、2);情节(D1);标题(“细节D1”)

  5. 再生利用逆小波变换的信号。

    找到倒数变换,输入

    A0 =得到(cA1、cD1、“db1”,l_s);呃= max (abs (s-A0))
  6. 执行一个多级小波分解的信号。

    执行三级分解的信号(再次使用db1小波),类型

    [C、L] = wavedec(年代,3,“db1”);

    第三级分解的系数的所有组件(即第三级近似和前三个级别的细节)返回连接成一个向量,向量L c .给每个组件的长度。

  7. 提取近似,细节系数。

    以提取3级近似系数从C、类型

    cA3 = appcoef (C、L、db1, 3);

    提取水平3、2和1从细节系数C、类型

    cD3 = detcoef (C、L、3);张= detcoef (C、L、2);cD1 = detcoef (C、L、1);

    (两张cd,, cD3) = detcoef (C、L [1, 2, 3]);
  8. 重建3级近似和1级、2和3细节。

    重建的三级近似C、类型

    A3 = wrcoef (a、C、L, db1, 3);

    重建的细节水平1、2和3C、类型

    D1 = wrcoef (' d ' C L ' db1 ', 1);D2 = wrcoef (' d ' C L ' db1 ', 2);D3 = wrcoef (' d ' C L, db1, 3);
  9. 显示的结果多级分解。

    显示三级分解,结果类型

    次要情节(2 2 1);情节(A3);标题(近似A3)次要情节(2,2,2);情节(D1);标题(细节D1)次要情节(2、2、3);情节(D2);标题(细节D2)次要情节(2、2、4);情节(D3);标题(细节D3)

  10. 从三级分解重构原始信号。

    重建原始信号的小波分解结构、类型

    A0 = waverec (C、L ' db1 ');呃= max (abs (s-A0))
  11. 原油一个信号的去噪。

    使用小波去除噪声从信号需要确定哪些组件或组件包含噪声,然后重构信号没有这些组件。

    在这个例子中,我们注意到连续近似成为越来越少吵了越来越多的高频信号的信息过滤掉。

    三级近似,A3,很干净的比较它和原始信号。

    比较原始信号的近似,类型

    次要情节(2,1,1);情节(年代);标题(原始的);轴从次要情节(2,1,2);情节(A3);标题(“三级近似”);轴了

    当然,在丢弃所有的高频信息,我们也失去了许多原始信号的最大特点。

    最优去噪,需要一种更微妙的方式阈值。这涉及到丢弃的部分细节,超过一定限制。

  12. 去除噪声,阈值。

    让我们再看看我们的3级分析的细节。

    显示详细信息D1,D2,D3、类型

    次要情节(1,1);情节(D1);标题(“详细级别1”);轴从次要情节(3、1、2);情节(D2);标题(“细节级别2”);轴从次要情节(3,1,3);情节(D3);标题('详细级别3 ');轴了

    大部分的噪声发生在信号的后半部分,那里的细节展示他们最大的活动。如果我们的力量有限的细节通过限制他们的最大值?这将减少噪音的影响而细节通过大部分时间不受影响。但是有一个更好的方法。

    请注意,cD1,,cD3只是MATLAB®向量,我们可以直接操作每一个向量,向量的每个元素设置为一部分峰值和平均值。然后我们可以重建新的细节信号D1,D2,D3从阈值系数。

    要消除干扰信号,使用ddencmp默认的参数和命令来计算wdencmp命令来执行实际的去噪,类型

    (用力推,sorh keepapp] = ddencmp(‘窝’,西弗吉尼亚州,s);清洁= wdencmp (' gbl (' C L, db1, 3,用力推,sorh, keepapp);

    请注意,wdencmp使用分解的结果(Cl我们已经计算)。我们也指定我们使用了db1小波进行最初的分析,我们指定全局阈值的选择gbl(的。看到ddencmpwdencmp参考页面中使用这些命令的更多信息。

    显示原始和去噪信号类型

    次要情节(2,1,1);情节(s (2000:3920));标题(原始的)次要情节(2,1,2);情节(清洁(2000:3920));标题(“去噪”)

    我们在这里策划只有吵闹的后期的信号。注意我们已经删除了原始信号的噪声的前提下锋利的细节。这是一个小波分析的力量。

    在使用命令行功能将噪声从信号可以麻烦,小波分析仪软件的应用程序包括一个易于使用的去噪功能,包括自动阈值。

    去噪过程的更多信息可以在以下部分:

使用小波分析仪应用一维分析

在本节中,我们探索相同的电力消费信号在前一节中,我们使用小波分析仪应用程序来分析和消除干扰信号。

请注意

利用小波降噪信号分析仪应用不再推荐。使用小波信号降噪代替。

  1. 启动一维小波分析工具。

    从MATLAB提示类型waveletAnalyzer

    小波分析仪出现了。

    单击小波一维菜单项。

    离散小波分析工具对一维信号数据出现。

  2. 加载一个信号。

    在MATLAB命令提示符,键入

    加载leleccum;
    小波一维工具,选择文件>从工作区进口。当从工作区进口对话框,选择leleccum变量。点击好吧进口电气消费信号。

  3. 执行一个单层小波分解。

    开始我们的分析,我们执行一个单级分解使用db1小波,就像我们使用命令行功能一维分析使用命令行

    在右上角的一部分小波一维工具,选择db1小波和单级分解。

    单击分析按钮。

    暂停后计算,该工具显示分解。

  4. 放大相关的细节。

    使用小波分析应用的一个优点是,你可以放大容易在任何信号的一部分,更详细地研究它。

    拖一个橡皮筋框(通过按住鼠标左键)的部分你想放大信号。在这里,我们选择了嘈杂的原始信号的一部分。

    单击X +按钮(位于屏幕底部的)水平缩放。

    小波一维工具的所有缩放显示信号。

    其他的缩放控件做或多或少你出现。的X -例如,按钮,镜头拉出水平。历史函数跟踪信号的所有你的观点。回到前一个缩放级别通过点击左边的箭头按钮。

  5. 执行一个多级分解。

    再一次,我们将使用图形工具来模拟我们所做的在前一节中使用命令行功能。执行三级分解信号的使用db1小波:

    选择3水平在右上角菜单,然后单击分析按钮一次。

    执行分解之后,您将看到一个新的分析中出现小波一维工具。

    选择不同的分解视图

    显示模式菜单(中间)允许您选择不同的小波分解视图。

    默认显示模式“完全分解模式。“其他替代方案包括:

    • 单独的模式”,这显示了近似的细节和单独的列。

    • 重叠模式”,这显示了单个情节细节叠加在不同的颜色。策划类似的近似。

    • 树模式”,这显示了分解树,原始信号,和一个额外的组件。点击分解树来选择您想查看信号组件。

    • 显示和滚动模式”,显示三个窗口。第一个显示了原始信号叠加在一个近似你选择。你选择第二个窗口显示细节。第三个窗口显示小波系数。

    • “显示和滚动模式(干Cfs)”非常类似于“展示和滚动模式”,除了它显示,在第三个窗口中,小波系数作为茎块而不是颜色的块。

    你可以改变默认显示模式在每会话的基础上。从选择所需的模式视图>默认显示模式子菜单。

    请注意

    压缩去噪窗户打开的小波一维工具将继承当前系数可视化属性(茎或彩色块)。

    根据您选择的显示模式,你会获得额外的显示选项通过更多的显示选项按钮。

    这些选项包括抑制各种组件的显示能力,并选择是否显示原始信号的细节和近似。

  6. 去除噪声信号。

    小波分析仪应用特征与一个预定义的阈值去噪的选择策略。这使得它很容易去除噪声的信号。

    请注意

    去噪的选择不再推荐。使用小波信号降噪代替。

    调出去噪工具:单击消除干扰按钮,位于中间的窗口,下面分析按钮。

    小波一维去噪窗口出现。

    而许多选项可用于微调去噪算法,我们将接受缺省值软固定形式的阈值和们白噪声。的们白噪声选择对应设置乘法阈值输入参数公司拥有wden“一个”。选择按比例缩小的白噪声对应于“sln”,非白人的噪音对应于“mln”。有关更多信息,请参见wden

    继续点击消除干扰按钮。

    去噪信号叠加在原始的出现。该工具还阴谋两信号的小波系数。最初的细节系数出现在左侧显示。为了时间对齐分解水平在所有尺度上,小波系数是复制在每个规模占失踪的时间点。因此,随着规模变得粗糙,系数假设staircase-like外观。

    放大原始的情节和去噪信号细看。

    拖一个橡皮筋框周围的区域,然后单击XY +按钮。

    消除干扰窗口放大视图。默认情况下,原始信号显示为红色,黄色的去噪信号。

    取消小波一维去噪亮点:单击关闭按钮。

    你不能有消除干扰压缩窗口同时打开,所以关闭小波一维去噪窗口继续。当更新合成信号对话框中,单击没有。如果您点击是的,合成信号然后在吗小波一维主窗口。

  7. 细化分析。

    图形工具使它容易细化分析任何时候你想。到目前为止,我们已经看了一个3级分析使用db1。完善我们的用电量的分析信号使用db4在5级小波。

    选择5水平在右上角的菜单,并选择db4小波菜单。单击分析按钮。

  8. 压缩的信号。

    图形界面工具功能和自动或手动阈值压缩选项。

    打开压缩亮点:单击压缩按钮,位于中间的窗口,下面分析按钮。

    压缩窗口出现。

    当你总是可以选择选择的阈值水平,在这里我们将利用全球的阈值特性的快速和容易压缩。

    请注意

    如果你想尝试手动阈值,选择通过阈值水平从菜单中选择位于的右上角小波一维压缩窗口。下面的滑块位于这个菜单然后控制等级相关阈值,由黄色虚线表示运行水平通过图形窗口的左边。黄色虚线也可以直接用鼠标左键拖。

    单击压缩按钮,位于中心。

    暂停后计算,电力消费信号后叠加在黄色的红色的压缩版本。下面,我们放大仔细看看噪声信号的一部分。

    可以看到,压缩过程移除大部分的噪音,但保留信号的能量的99.99%。

  9. 显示残差。

    小波一维压缩工具,单击残差按钮。的更对残差小波一维压缩窗口出现。

    显示统计数据包括措施的倾向(意思是,模式,中位数)和色散(范围、标准偏差)。此外,该工具提供了频率分布图表(柱状图和累积直方图),以及时序图:自相关函数和频谱。相同功能的存在小波一维去噪工具。

    取消小波一维压缩亮点:单击关闭按钮。当更新合成信号对话框中,单击不。

  10. 显示统计数据。

    你可以查看各种统计信息的信号及其组件。

    小波一维工具,单击统计数据按钮。

    小波一维数据窗口显示默认统计原始信号。

    选择合成信号或信号组件的数据你想检查。单击适当的选项按钮,然后单击显示统计信息按钮。在这里,我们选择研究合成信号使用100箱,而不是30,这是默认值:

    显示统计数据包括措施的倾向(意思是,模式,中位数)和色散(范围、标准偏差)。

    此外,该工具提供了频率分布图表(柱状图和累积直方图)。你可以画出这些直方图分别使用柱状图按钮小波一维窗口。

    单击近似选项按钮。你的菜单选择近似的水平你想检查。

    选择1级,并再次单击显示统计信息按钮。统计出现的一级近似。

导入和导出的信息小波分析仪应用

小波一维图形界面工具允许您导入和导出的信息信息到磁盘和MATLAB工作区。

信息保存到磁盘

您可以保存合成信号,系数,和分解小波一维磁盘工具,信息可以操纵和后湾区(图形工具。

保存合成信号。你可以处理的信号小波一维工具然后保存处理信号MAT-file(与扩展或其他)。

例如,负载为例分析:文件>实例分析> >的基本信号在5级db4→正弦和执行压缩或原始信号去噪操作。当你关闭去噪压缩窗口中,点击更新合成信号是的在对话框中。

然后,从小波一维工具,选择文件>保存>信号菜单选项。

出现一个对话框允许您选择一个文件夹和文件名MAT-file。对于这个示例,选择这个名字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.0 e + 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-file你选择在当前文件夹的名字。

拯救DWT系数从现状分析,使用菜单选项文件>保存>系数

出现一个对话框,允许您指定一个文件夹和文件名存储系数。

考虑为例分析:

文件>实例分析> >的基本信号在5级db1→康托尔曲线

在保存文件的小波系数cantor.mat在工作区中,加载变量:

负载cantor谁
的名字 大小 字节
系数 1 x2190 17520年 双数组
多头 1 x7 56 双数组
thrParams 0 x0 0 双数组
wname 1 x3 6 字符数组

变量系数包含离散小波系数。更准确地说,在上面的例子中系数1 -到- 2190连接系数向量,然后呢多头是一个向量给每个组件的长度吗系数

变量wname包含小波的名字和thrParams是空自合成信号不存在。

储蓄分解。小波一维工具允许您保存整个组离散小波分析的数据到磁盘。工具箱创建一个MAT-file在当前文件夹,你选择一个名字,紧随其后的是扩展wa1(小波分析一维)。

打开小波一维工具和负载的例子分析:

文件>实例分析> >的基本信号在5级db4→正弦

从这一分析保存数据,使用菜单选项文件>保存>分解

出现一个对话框,允许您指定一个文件夹和文件名存储分解数据。类型名称wdecex1d

在保存数据分解到文件wdecex1d.wa1变量加载到您的工作区:

负载wdecex1d。wa1垫谁
的名字 大小 字节
系数 1 x1023 8184年 双数组
data_name 1 x6 12 字符数组
多头 1 x7 56 双数组
thrParams 0 x0 0 双数组
wave_name 1 x3 6 字符数组

请注意

保存选项也可以当执行去噪或内压缩小波一维工具。在小波一维去噪窗口中,您可以节省去噪信号和分解。同样的适用于小波一维压缩窗口。通过这种方式,您可以节省许多不同的试验在去噪和压缩没有回到主窗口小波一维窗口在一个调整的过程。

请注意

当保存合成信号,分解或MAT-file系数,文件扩展名不是必需的。你可以节省近似单独为每个级别或拯救他们。

出口到工作区

小波一维工具允许你导出一维小波分析MATLAB工作空间的格式。

例如,负载的实例分析freqbrk信号。

小波一维分析负载后,选择文件- >导出到工作区

你可以选择

  • 输出信号——此选项出口合成信号向量。

  • 出口系数——此选项出口的向量小波和缩放系数,簿记向量,小波分析在一个结构数组中。小波和缩放系数和记帐的向量的输出是相同的wavedec

  • 出口分解——这个选项是一样的出口系数除了它还包含分析信号的名称。

  • 导出所有近似——此选项出口L×n矩阵的值是L水平和N是输入信号的长度。矩阵的每一行是本级近似空间上的投影。例如,矩阵的第一行是在一级近似空间上的投影。

  • 导出所有细节——此选项出口L×n矩阵的值是L水平和N是输入信号的长度。矩阵的每一行上的投影是本级(小波)空间细节。例如,矩阵的第一行是细节上的投影空间在1级。

小波一维信息加载到工具

可以加载信号系数,或分解到小波分析仪应用。加载的信息可能是以前出口的程序然后在工作区中操纵,或者它可能是信息生成最初从命令行。

在这两种情况下,你必须遵守严格的使用的文件格式和数据结构小波一维工具,否则错误将导致当你试图加载信息。

加载信号。加载一个信号你在MATLAB工作区中小波一维工具,保存信号MAT-file(扩展或其他)。

例如,假设你已经设计了一个信号warma和想分析它小波一维工具。

保存warma warma

工作空间变量warma必须一个向量。

sizwarma =大小(warma) sizwarma = 1 1000

这个信号加载到小波一维工具,使用菜单选项文件> >加载信号

出现一个对话框,让你选择适当的MAT-file加载。

请注意

第一个一维变量中遇到文件被认为是信号。变量检查按字母顺序排列的。

加载离散小波变换系数。加载离散小波变换系数中小波一维工具,您必须首先将适当的数据保存在一个MAT-file,必须包含至少两个变量系数多头

变量系数必须是一个向量的DWT系数(连接各种水平),和变量多头一个向量指定每个组成部分的长度系数,以及原始信号的长度。

在您的工作区中创建或编辑适当的数据,类型

保存myfile系数多头

使用文件> >负载系数的菜单选项小波一维工具将数据装载到图形工具。

出现一个对话框,让您选择您的数据驻留的文件夹和文件。

加载分解。离散小波变换分解数据装载到小波一维图形化界面,您必须首先将适当的数据保存在一个MAT-file(扩展wa1或其他)。

MAT-file包含以下变量。

变量 状态 描述
系数

要求

连接DWT系数向量

多头

要求

向量指定长度的组成部分系数和原始信号

wave_name

要求

特征向量指定名称用于分解的小波(例如,db4)

data_name

可选

特征向量指定名称的分解

在您的工作区中创建或编辑适当的数据,类型

保存myfile系数多头wave_name

使用文件>加载>分解的菜单选项小波一维工具分解数据装载到图形工具。

出现一个对话框,让您选择您的数据驻留的文件夹和文件。

请注意

当加载信号,分解或从MAT-file系数,这个文件的扩展是免费的。的扩展并不是必要的。

另请参阅

|

相关的话题