小波去噪
这个例子展示了如何使用小波去噪信号和图像。因为小波将数据中的特征定位到不同的尺度,所以可以在去除噪声的同时保留重要的信号或图像特征。小波去噪或小波阈值化背后的基本思想是,小波变换可以为许多真实世界的信号和图像提供稀疏表示。这意味着小波变换将信号和图像特征集中在几个大的小波系数中。值小的小波系数通常是噪声,你可以“缩小”这些系数或去除它们,而不影响信号或图像质量。在对系数进行阈值处理之后,使用小波逆变换重构数据。
消除干扰信号
为了说明小波去噪,创建一个有噪声的“凸起”信号。在这种情况下,你有原始信号和有噪声的版本。
rng默认的;[X, XN] = wnoise (“疙瘩”10倍根号(6));次要情节(211)情节(X);标题(原始信号的);甘氨胆酸AX =;斧子。YLim = [0 12];次要情节(212)情节(XN);标题(噪声信号的);甘氨胆酸AX =;斧子。YLim = [0 12];
将信号降噪到4级使用wdenoise
使用默认设置。wdenoise
使用抽取小波变换。将结果与原始信号一起绘制出来。
xd = wdenoise (XN 4);图;情节(X,“r”)举行在;情节(xd)传说(原始信号的,的去噪信号,“位置”,“NorthEastOutside”)轴紧;持有从;
您还可以使用非抽取小波变换对信号进行降噪。使用非抽取小波变换再次将信号降噪到第4级。将结果与原始信号一起绘制出来。
xdMODWT = wden (XN,“modwtsqtwolog”,“年代”,“mln”4“sym4”);图;情节(X,“r”)举行在;情节(xdMODWT)传说(原始信号的,的去噪信号,“位置”,“NorthEastOutside”)轴紧;持有从;
你可以看到,在这两种情况下,小波去噪去除了相当多的噪声,同时保留了信号中的尖锐特征。这是基于傅里叶的去噪的一个挑战。在基于傅里叶的去噪或滤波中,你应用一个低通滤波器来去除噪声。然而,当数据具有高频特征,如信号中的峰值或图像中的边缘时,低通滤波器会将这些特征平滑掉。
你也可以用小波去噪那些噪声不均匀的信号。输入并检查显示一段时间内耗电量的部分信号。
负载leleccum;indx = 2000:3450;x = leleccum (indx);情节(x)网格在;
在大约采样500后,信号似乎有更多的噪声。因此,你想在信号的初始部分使用不同的阈值。您可以使用cmddenoise
确定信号去噪和去噪的最佳间隔数。在本例中,使用“db3”小波并将数据分解到第3级。
thrParams [SIGDEN, ~, ~, BestNbOfInt] = cmddenoise (x,“db4”3);
显示间隔的数量和分隔间隔的示例值。
BestNbOfInt
BestNbOfInt = 2
thrParams {1} (: 1:2)
ans =2×21412 412 1451
确定了两个区间。标记两个分段之间边界的样本为412。如果您绘制信号并标记两个信号段,您会看到噪声在样本412之前和之后确实出现了不同。
情节(x)在;情节(412年[412],[100 - 550],“r”)举行从;
画出降噪后的信号。
情节(SIGDEN)标题(的去噪信号)
降噪图像
你也可以使用小波去噪图像。在图像中,边缘是图像亮度变化迅速的地方。在去噪的同时保持图像的边缘对感知质量至关重要。传统的低通滤波在去除噪声的同时,往往会使图像边缘平滑,影响图像质量。小波能够去除噪声,同时保留感知上的重要特征。
加载一个有噪声的图像。使用wdenoise2
使用默认设置。默认情况下,wdenoise2
使用双正交小波bior4.4
.为了显示原始图像和去噪图像,不要提供任何输出参数。
负载(“jump.mat”) wdenoise2(跳)
请注意,图像中的边缘并没有被去噪过程平滑掉。