主要内容

消除干扰信号的小波降噪信号

这个例子展示了如何使用小波信号降噪应用降噪一个实值一维信号。您可以创建和比较去噪信号的多个版本的应用程序和出口所需的去噪信号MATLAB®工作区。复制工作区中的去噪信号,或者相同的去噪参数应用于其他数据,您可以生成和编辑一个MATLAB脚本。这个例子展示了一个可能的工作流。

将数据导入到应用程序

数据加载到MATLAB工作区。的.mat文件包含一个干净的版本和一个嘈杂的版本的一个信号。两个版本的信号的阴谋。

负载fdata情节(fNoisy“b -”)举行情节(fClean的r -,“线宽”2)传说(噪声信号的,“干净的信号”)举行网格

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表噪声信号,干净的信号。

开放的MATLAB的小波信号降噪应用。将来发布,打开应用程序选项卡,在信号处理和通信,点击小波信号降噪。您还可以启动应用程序通过输入waveletSignalDenoiser在MATLAB命令提示符。

喧闹的信号从工作区中加载到应用程序通过点击进口在将来发布。从工作空间变量的列表,可以加载到应用程序,选择fNoisy并点击进口

应用进口噪声信号,并立即消除干扰它使用默认参数。

检查导入数据

检查fNoisy情节。应用程序块原始信号,fNoisy去噪信号,fNoisy1和粗尺度的近似信号,近似

1。的去噪信号窗格中列出了所有版本的去噪信号。目前只包含信号列表创建的应用程序使用一个默认的名字,fNoisy1

  • 您可以更改默认的名称,单击右键选择重命名从弹出菜单,在对话框中输入新名称,并按下Enter键。

  • 你可以删除一个去噪信号通过右键单击其名称并选择删除从弹出菜单。您还可以通过点击删除所选的去噪信号删除在将来发布。

2。的目前小波参数窗格中列出了去噪参数应用于创建fNoisy1

3所示。变焦和锅感兴趣的区域。首先,把光标移动到阴谋揭露一个浮动面板。然后从面板中选择所需的操作。

  • 当您选择放大或缩小,鼠标滚轮缩放控件。

4所示。切换信号是可见的去噪信号情节:

  • 点击信号▼在将来发布和使用下拉菜单切换原始的可见性和去噪信号的情节。

  • 点击个人信号情节传奇。

5。检查系数情节。

红色的系数是用来重构去噪信号。的目前小波参数窗格中显示9-level小波分解是用来消除干扰信号。

变焦和锅感兴趣的区域。首先,把光标移动到阴谋揭露一个浮动面板。然后从面板中选择所需的操作。

  • 当您选择放大或缩小,鼠标滚轮缩放而不是滚动条控件。

  • 当你放大、缩小或平底锅D1放大系数的水平,是适用于所有的水平。

修改去噪参数

单击小波选项卡。使用这个将来发布调整和应用去噪参数选择的去噪信号。

参数用于创建列出的值去噪信号,fNoisy1。修改这些设置的值,从左到右工作在将来发布:

1。在小波下拉菜单,选择Daubechies小波家族,db。因为这个行动:

  • 数量下拉字段修改1。变化的值2

  • 在状态栏文本出现在去噪信号情节,说明有等待小波参数的变化。这个文本出现当你有等待一个信号变化。状态栏中的文本消失时,你要么通过使用应用更改消除干扰按钮,或导航信号到另一个信号。

2。从方法下拉菜单,选择通用阈值

3所示。定义一个微粒含量小波分解,改变的价值水平10

4所示。通过改变方法通用阈值,规则设置了自动从中位数。改变设置

5。点击等级相关

6。应用这些设置点击的新值消除干扰

目前小波参数面板更新使用新的参数用来消除干扰信号,和去噪信号,应用改建fNoisy1

请注意:所有参数上下文。可能的值为一个参数可以依赖当前选择的另一个参数的值。你不能做一个不兼容的选择。例如,当去噪方法是罗斯福,只有可能的阈值规则:困难。在这种情况下,没有列出的其他值规则下拉菜单。

重复的去噪信号和比较近似

如果你喜欢一个特定的去噪信号但想探索更多的去噪参数,你可以复制它。然后您可以修改参数复制,而不丧失原来的参数。

1。从去噪信号窗格中,选择fNoisy1。然后在将来发布,从信号降噪选项卡上,单击重复的

  • 重复的信号,fNoisy1Copy高亮显示,去噪信号

  • 的去噪参数复制中列出目前小波参数

  • 重复是策划的粗线去噪信号情节。情节传说更新包括复制。

2。在小波选项卡中,改变水平2,然后单击消除干扰。这个应用程序使用二级小波分解消除干扰信号。此外,应用程序:

  • 重新计算的近似和情节重复。

  • 更新系数图显示重复的水平。

因为fNoisy1Copy突出显示,其近似绘制。应用程序总是阴谋当前选择的去噪信号的近似。你可以证明这种行为如下。在情节的传说中,点击fNoisy1fNoisy1Copy。的名字去噪的信号衰减,和两个信号不再绘制。只有原始信号和近似的情节是可见的。

图中的虚线表示近似。因为fNoisy1Copy突出显示的去噪信号列表,近似绘制两级小波分解的结果。近似相对吵了。现在选择fNoisy1在列表中。含量的近似小波分解是不同的。

恢复原来的参数

你可以随时返回使用原来的默认参数,添加一个新的去噪信号。从将来发布的信号降噪选项卡上,单击添加

  • 去噪信号,fNoisy3,在高亮显示去噪信号列表。默认的去噪参数中列出目前小波参数

  • 新的去噪信号作为粗线绘制。近似计算和绘制。故事情节包括传说更新fNoisy3

导出的结果

如果你想应用相同的其他数据去噪参数,您可以使用应用程序来生成一个脚本,该脚本复制选中的去噪信号。然后您可以修改和保存脚本用于自己的目的。做进一步分析,您可以导出一个去噪信号到您的工作空间中。

导出脚本

点击fNoisy3去噪信号。在信号降噪将来发布的标签,从出口▼”菜单中,选择生成MATLAB脚本。一个无标题的脚本在MATLAB编辑器打开后可执行代码:

fNoisy3 = wdenoise (fNoisy 9“小波”,“sym4”,“DenoisingMethod”,“贝叶斯,“ThresholdRule”,“中值”,“NoiseEstimate”,“LevelIndependent”);

wdenoise输入参数是用于创建的值填充fNoisy3。保存脚本,然后运行。这将创建一个变量fNoisy3在你的工作空间。

加载文件fdataTS。100年的文件包含噪声数据时间序列。每次系列4096数据点。中包含的数据类型时间表变量fdataTS

负载fdataTS

应用去噪参数fdataTS、编辑脚本代替fNoisyfdataTSfNoisy3fdataTSclean。然后运行脚本。

fdataTSclean = wdenoise (fdataTS 9“小波”,“sym4”,“DenoisingMethod”,“贝叶斯,“ThresholdRule”,“中值”,“NoiseEstimate”,“LevelIndependent”);

比较15噪声时间序列去噪版本。

次要情节(2,1,1)情节(fdataTS.Time fdataTS.fTS15)标题(原始时间序列的网格)次要情节(2,1,2)情节(fdataTSclean.Time fdataTSclean.fTS15)标题(运用时间序列的网格)

图包含2轴对象。坐标轴对象1标题原始时间序列包含一个类型的对象。坐标轴对象2标题运用时间序列包含一个类型的对象。

出口去噪信号

点击fNoisy3去噪信号。然后在将来发布,从信号降噪选项卡中,单击绿色复选标记出口▼。自fNoisy3已经存在于工作区,可以迫使出口和覆盖工作空间变量。或者,您可以取消出口,重命名的去噪信号应用或工作空间变量,并再次出口。文本出现在状态栏出现确认信号是出口。选择不同的去噪信号或者导入一个新的信号明确的状态栏的文本。

因为你有清洁工作区中的信号,计算去噪信号的sign-to-noise比率。

snrWavelet = -20 * log10(规范(abs (fClean-fNoisy3)) /规范(fClean))
snrWavelet = 35.9623

如果你有信号处理工具箱™,降噪信号使用移动平均滤波器和Savitzky-Golay过滤和计算每个去噪信号的信噪比。

fmv = smoothdata (fNoisy,“movmean”25);snrMovingAverage = -20 * log10(规范(abs (fClean-fmv)) /规范(fClean))
snrMovingAverage = 26.0040
最为= smoothdata (fNoisy,“sgolay”25);snrSavitskyGolay = -20 * log10(规范(abs (fClean-fsg)) /规范(fClean))
snrSavitskyGolay = 28.8932

你达到优良的去噪结果sym4小波。

另请参阅

功能

应用程序

相关的话题