一维平稳小波变换
这个话题让你通过一维离散平稳小波分析的特点,利用小波工具箱™软件。更多信息见Nondecimated离散平稳小波变换(swt)在小波工具箱用户指南。
工具箱提供了这些函数的一维离散平稳小波分析。有关函数的更多信息,请参见参考页。
Analysis-Decomposition功能
函数名 |
目的 |
---|---|
分解 |
Synthesis-Reconstruction功能
函数名 |
目的 |
---|---|
重建 |
平稳小波分解结构比小波更容易处理。实用程序,用于小波情况下,没有必要的平稳小波变换(SWT)。
在本节中,您将学习
加载一个信号
执行一个平稳小波分解的信号
构造近似系数和细节
显示在一级近似和细节
再生利用逆平稳小波变换的信号
执行一个多级平稳小波分解的信号
重建三级近似
重建级别1、2和3的细节
重建1和2近似水平
显示分解的结果
从三级分解重构原始信号
去除噪声信号
因为你可以从命令行执行分析或使用小波分析仪应用,本节部分覆盖每个方法。
最后一小节讨论了如何交流信号和磁盘之间系数信息和图形工具。
一维分析使用命令行
这个例子涉及到嘈杂的多普勒信号进行测试。
加载一个信号。
从MATLAB®提示,输入
负载noisdopp
设置变量。类型
s = noisdopp;
SWT,如果分解水平
k
是必要的,2 ^ k
必须均匀地划分为信号的长度。如果你的原始信号没有正确的长度,你可以使用wextend
函数来扩展它。执行一个单级平稳小波分解。
执行一个单级分解信号的使用
db1
小波。类型(swa、门限)= swt(年代,1,' db1 ');
这个生成的系数一级近似(swa)和细节门限)。都是相同长度的信号。类型
谁
的名字 大小 字节 类 noisdopp
1 *
8192年
双数组
年代
1 *
8192年
双数组
swa
1 *
8192年
双数组
社署
1 *
8192年
双数组
显示近似系数和细节。
显示在一级近似系数和细节,类型
次要情节(1、2、1)、情节(swa);标题(近似cfs)次要情节(1、2、2),情节门限);标题(“细节慢性疲劳综合症”)
再生逆平稳小波变换的信号。
找到倒数变换,类型
A0 = iswt (swa、门限db1);
检查完美重建、类型
呃= e-14规范(s-A0)呃= 2.1450
构造和显示近似系数和细节。
构建一级近似和细节(
A1
和D1
)的系数swa
和社署
、类型nulcfs = 0(大小(swa));A1 = iswt (swa、nulcfs db1);D1 = iswt (nulcfs门限,db1);
显示在一级近似和细节,类型
次要情节(1、2、1)、情节(A1);标题(“近似A1”);次要情节(1、2、2),图(D1);标题(“细节D1”);
执行多级平稳小波分解。
执行分解信号(三级的再次使用
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年
双数组
显示的近似系数和细节。
显示的近似系数和细节,类型
kp = 0;因为我= 1:3次要情节(3 2,kp + 1),情节(swa(我,:));标题([约。cfs水平”,num2str (i)])次要情节(3 2,kp + 2),图(社署(我,:));标题([详细cfs水平,num2str (i))) = kp + 2;结束
重建近似系数在3级。
重建在三级近似,类型
mzero = 0(大小门限));一个= mzero;一(3)= iswt (swa、mzero db1);
重建细节系数。
重建的细节水平1、2和3,类型
D = mzero;因为我= 1:3 swcfs = mzero;swcfs(我:)=门限(我:);D(我:)= iswt (mzero、swcfs db1);结束
重建和显示近似水平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;结束
要消除干扰信号,使用
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),图(清洁);标题(“去噪信号”)
列弗= 5;swc = swt (lev, db1);swcden = swc;swcden (1: end-1,:) = wthresh (swcden (1: end-1,:), sorh,刺);清洁= iswt (swcden db1);
你可以获得同样的情节通过使用相同的情节命令如上步骤16。
互动的一维平稳小波变换去噪
现在我们探讨一个策略来消除干扰信号,基于一维平稳小波分析使用小波分析仪应用。基本思想是平均许多不同的离散小波分析。
启动平稳小波变换去噪一维工具。
从MATLAB提示类型
waveletAnalyzer
。的小波分析仪出现了。
单击SWT去噪一维菜单项。一维信号的离散平稳小波变换去噪工具出现。
加载数据。
在MATLAB命令提示符,键入
加载noisbloc;
noisbloc
变量。点击好吧进口喧闹的街区的信号。执行平稳小波分解。
选择
db1
小波的小波菜单并选择5从水平菜单,然后单击分解信号按钮。暂停后计算,该工具显示平稳小波分解的近似系数和细节。这些也被称为nondecimated系数,因为他们得到使用相同的方案对于DWT,但省略(见大量毁灭的一步快速小波变换算法(淡水舱)在小波工具箱用户指南)。使用平稳小波变换降噪信号。
而许多选项可用于微调去噪算法,我们将接受缺省值固定形式的软阈值和们白噪声。右边的滑块位于窗口控制等级相关阈值的一部分,由黄色虚线表示运行水平通过细节系数的图左边的窗口。黄色虚线也可以直接使用鼠标左键拖图。
注意,近似系数阈值。
单击消除干扰按钮。
结果是非常令人满意的,但是似乎oversmoothed不连续的信号。这可以被观察残差破坏点,和缩放,例如800位置。
选择一个阈值方法
选择硬阈值模式代替软,然后单击消除干扰按钮。
结果是良好的质量和残差白噪声样本的样子。调查这最后一点,你可以获得更多的信息在残差通过单击残差按钮。
导入和导出的小波分析应用
该工具允许您去噪信号保存到磁盘。工具箱创建一个MAT-file在当前文件夹的名字你的选择。
保存上面的去噪信号,使用菜单选项文件>保存去噪信号。出现一个对话框,允许您指定一个文件夹和文件名存储信号。类型名称dnoibloc
。后的信号数据保存到文件dnoibloc.mat
变量加载到您的工作区:
负载dnoibloc谁
的名字 | 大小 | 字节 | 类 |
---|---|---|---|
dnoibloc |
1 * |
8192年 |
双数组 |
thrParams |
1 x5 |
580年 |
单元阵列 |
wname |
1 x3 |
6 |
字符数组 |
去噪信号是由dnoibloc
。此外,去噪过程的参数。小波的名字是包含在wname
:
wname wname = db1
和依赖程度阈值进行编码thrParams
5,这是一个单元阵列的长度(分解)的水平。我从1到5,thrParams{我}
含有区间的上下边界的阈值和阈值(因为允许间隔依赖阈值)。有关更多信息,请参见一维自适应阈值的小波系数。
例如,对于一级,
thrParams {1} ans = 1.0 e + 03 * 0.0010 1.0240 0.0041
这里的下界是1,上限是1024,阈值是4.1。总时间间隔不分段,过程不使用间隔依赖阈值。