小波去噪
这个例子展示了如何使用小波去噪信号和图像。因为小波将数据中的特征定位到不同的尺度,所以可以在去除噪声的同时保留重要的信号或图像特征。小波去噪或小波阈值化背后的基本思想是,小波变换导致许多真实世界信号和图像的稀疏表示。这意味着小波变换将信号和图像特征集中在几个大的小波系数中。小波系数值小通常是噪声,您可以“缩小”这些系数或删除它们,而不影响信号或图像质量。在对系数设置阈值之后,使用反小波变换重构数据。
消除干扰信号
为了说明小波去噪,创建一个有噪声的“肿块”信号。在这种情况下,你有原始信号和噪声版本。
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×21 412 412 1451
确定了两个区间。标记两段边界的样本为412。如果你绘制信号并标记两个信号段,你会发现样本412前后的噪声确实不同。
情节(x)在;情节(412年[412],[100 - 550],“r”)举行从;
绘制去噪后的信号。
情节(SIGDEN)标题(的去噪信号)
降噪图像
你也可以用小波去噪图像。在图像中,边缘是图像亮度变化迅速的地方。在去噪图像的同时保持边缘对感知质量至关重要。传统的低通滤波去除了噪声,但往往会平滑边缘,影响图像质量。小波能够去除噪声,同时保留感知上的重要特征。
加载一个噪声图像。对图像去噪wdenoise2
使用默认设置。默认情况下,wdenoise2
使用双正交小波bior4.4
.为了显示原始图像和去噪图像,不提供任何输出参数。
负载(“jump.mat”) wdenoise2(跳)
注意图像中的边缘并没有被去噪处理平滑掉。