主要内容

一维平稳小波变换

这个话题让你通过一维离散平稳小波分析的特点,利用小波工具箱™软件。更多信息见Nondecimated离散平稳小波变换(swt)小波工具箱用户指南

工具箱提供了这些函数的一维离散平稳小波分析。有关函数的更多信息,请参见参考页。

Analysis-Decomposition功能

函数名

目的

swt

分解

Synthesis-Reconstruction功能

函数名

目的

iswt

重建

平稳小波分解结构比小波更容易处理。实用程序,用于小波情况下,没有必要的平稳小波变换(SWT)。

在本节中,您将学习

  • 加载一个信号

  • 执行一个平稳小波分解的信号

  • 构造近似系数和细节

  • 显示在一级近似和细节

  • 再生利用逆平稳小波变换的信号

  • 执行一个多级平稳小波分解的信号

  • 重建三级近似

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

  • 重建1和2近似水平

  • 显示分解的结果

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

  • 去除噪声信号

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

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

一维分析使用命令行

这个例子涉及到嘈杂的多普勒信号进行测试。

  1. 加载一个信号。

    从MATLAB®提示,输入

    负载noisdopp
  2. 设置变量。类型

    s = noisdopp;

    SWT,如果分解水平k是必要的,2 ^ k必须均匀地划分为信号的长度。如果你的原始信号没有正确的长度,你可以使用wextend函数来扩展它。

  3. 执行一个单级平稳小波分解。

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

    (swa、门限)= swt(年代,1,' db1 ');

    这个生成的系数一级近似(swa)和细节门限)。都是相同长度的信号。类型

    的名字 大小 字节
    noisdopp 1 * 8192年 双数组
    年代 1 * 8192年 双数组
    swa 1 * 8192年 双数组
    社署 1 * 8192年 双数组
  4. 显示近似系数和细节。

    显示在一级近似系数和细节,类型

    次要情节(1、2、1)、情节(swa);标题(近似cfs)次要情节(1、2、2),情节门限);标题(“细节慢性疲劳综合症”)

  5. 再生逆平稳小波变换的信号。

    找到倒数变换,类型

    A0 = iswt (swa、门限db1);

    检查完美重建、类型

    呃= e-14规范(s-A0)呃= 2.1450
  6. 构造和显示近似系数和细节。

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

    nulcfs = 0(大小(swa));A1 = iswt (swa、nulcfs db1);D1 = iswt (nulcfs门限,db1);

    显示在一级近似和细节,类型

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

  7. 执行多级平稳小波分解。

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

    (swa、门限)= swt(年代,3,' db1 ');

    这个生成的系数近似水平1,2,3 (swa)和细节的系数(社署)。观察到的行swa社署相同长度的信号长度。类型

    明确A0 A1 D1犯错nulcfs谁
    的名字 大小 字节
    noisdopp 1 * 8192年 双数组
    年代 1 * 8192年 双数组
    swa 3 x1024 24576年 双数组
    社署 3 x1024 24576年 双数组
  8. 显示的近似系数和细节。

    显示的近似系数和细节,类型

    kp = 0;因为我= 1:3次要情节(3 2,kp + 1),情节(swa(我,:));标题([约。cfs水平”,num2str (i)])次要情节(3 2,kp + 2),图(社署(我,:));标题([详细cfs水平,num2str (i))) = kp + 2;结束

  9. 重建近似系数在3级。

    重建在三级近似,类型

    mzero = 0(大小门限));一个= mzero;一(3)= iswt (swa、mzero db1);
  10. 重建细节系数。

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

    D = mzero;因为我= 1:3 swcfs = mzero;swcfs(我:)=门限(我:);D(我:)= iswt (mzero、swcfs db1);结束
  11. 重建和显示近似水平1和2在三级近似和细节水平2和3。

    重建近似水平2和3,类型

    :一个(2)= (3:)+ D (3:);(1:)= (2:)+ D (2:);

    显示近似和细节水平1、2和3,类型

    kp = 0;因为我= 1:3次要情节(3 2,kp + 1),图((我,:));标题([约。级别的,num2str (i)])次要情节(3 2,kp + 2),图(D(我,:));标题([详细级别,num2str (i))) = kp + 2;结束

  12. 去除噪声阈值。

    要消除干扰信号,使用ddencmp命令计算一个默认全局阈值。使用wthresh命令来执行实际的细节系数的阈值,然后使用iswt命令得到去噪信号。

    请注意

    所有方法选择阈值的一维离散小波变换为一维平稳小波变换也有效,使用的也是这些小波分析应用。这也适用于二维变换。

(用力推,sorh) = ddencmp(‘窝’,西弗吉尼亚州,s);dswd = wthresh(门限,sorh thr);清洁= iswt (swa、dswd db1);

显示原始和去噪信号类型

次要情节(2,1,1),图(s);标题(“原始信号”)次要情节(2,1,2),图(清洁);标题(“去噪信号”)

获得的信号仍然有点吵。结果可以通过考虑分解的改进年代在5级而不是3级,并重复步骤14和15。改善之前的去噪,类型

(swa、门限)= swt (s 5 ' db1 ');(用力推,sorh) = ddencmp(‘窝’,西弗吉尼亚州,s);dswd = wthresh(门限,sorh thr);清洁= iswt (swa、dswd db1);次要情节(2,1,1),图(s);标题(“原始信号”)次要情节(2,1,2),图(清洁);标题(“去噪信号”)

可用于第二个语法swtiswt函数,给出相同的结果:

列弗= 5;swc = swt (lev, db1);swcden = swc;swcden (1: end-1,:) = wthresh (swcden (1: end-1,:), sorh,刺);清洁= iswt (swcden db1);

你可以获得同样的情节通过使用相同的情节命令如上步骤16。

互动的一维平稳小波变换去噪

现在我们探讨一个策略来消除干扰信号,基于一维平稳小波分析使用小波分析仪应用。基本思想是平均许多不同的离散小波分析。

  1. 启动平稳小波变换去噪一维工具。

    从MATLAB提示类型waveletAnalyzer

    小波分析仪出现了。

    单击SWT去噪一维菜单项。一维信号的离散平稳小波变换去噪工具出现。

  2. 加载数据。

    在MATLAB命令提示符,键入

    加载noisbloc;
    SWT去噪一维工具,选择文件>从工作区导入信号。当从工作区进口对话框,选择noisbloc变量。点击好吧进口喧闹的街区的信号。

  3. 执行平稳小波分解。

    选择db1小波的小波菜单并选择5水平菜单,然后单击分解信号按钮。暂停后计算,该工具显示平稳小波分解的近似系数和细节。这些也被称为nondecimated系数,因为他们得到使用相同的方案对于DWT,但省略(见大量毁灭的一步快速小波变换算法(淡水舱)小波工具箱用户指南)。

  4. 使用平稳小波变换降噪信号。

    而许多选项可用于微调去噪算法,我们将接受缺省值固定形式的软阈值和们白噪声。右边的滑块位于窗口控制等级相关阈值的一部分,由黄色虚线表示运行水平通过细节系数的图左边的窗口。黄色虚线也可以直接使用鼠标左键拖图。

    注意,近似系数阈值。

    单击消除干扰按钮。

    结果是非常令人满意的,但是似乎oversmoothed不连续的信号。这可以被观察残差破坏点,和缩放,例如800位置。

选择一个阈值方法

选择阈值模式代替,然后单击消除干扰按钮。

结果是良好的质量和残差白噪声样本的样子。调查这最后一点,你可以获得更多的信息在残差通过单击残差按钮。

导入和导出的小波分析应用

该工具允许您去噪信号保存到磁盘。工具箱创建一个MAT-file在当前文件夹的名字你的选择。

保存上面的去噪信号,使用菜单选项文件>保存去噪信号。出现一个对话框,允许您指定一个文件夹和文件名存储信号。类型名称dnoibloc。后的信号数据保存到文件dnoibloc.mat变量加载到您的工作区:

负载dnoibloc谁
的名字 大小 字节
dnoibloc 1 * 8192年 双数组
thrParams 1 x5 580年 单元阵列
wname 1 x3 6 字符数组

去噪信号是由dnoibloc。此外,去噪过程的参数。小波的名字是包含在wname:

wname wname = db1

和依赖程度阈值进行编码thrParams5,这是一个单元阵列的长度(分解)的水平。我从1到5,thrParams{我}含有区间的上下边界的阈值和阈值(因为允许间隔依赖阈值)。有关更多信息,请参见一维自适应阈值的小波系数

例如,对于一级,

thrParams {1} ans = 1.0 e + 03 * 0.0010 1.0240 0.0041

这里的下界是1,上限是1024,阈值是4.1。总时间间隔不分段,过程不使用间隔依赖阈值。