此示例显示如何使用小波来代替信号和图像。由于小波本地化数据中的功能到不同的尺度,因此可以在删除噪声时保留重要信号或图像功能。小波噪声或小波阈值处理背后的基本思想是小波变换导致许多真实信号和图像的稀疏表示。这意味着小波变换集中在少量大幅小波系数中的信号和图像特征。小的值的小波系数通常是噪声,并且您可以“收缩”这些系数或删除它们而不会影响信号或图像质量。在阈值阈值后,使用逆小波变换重建数据。
为了说明小波去噪,创建一个有噪声的“颠簸”信号。在这种情况下,既有原始信号,也有带噪声的信号。
RNG.默认的;[x,xn] = wnoise(“疙瘩”,10,sqrt(6));子图(211)绘图(x);标题('原始信号');甘氨胆酸AX =;斧子。YLim = [0 12];次要情节(212)情节(XN);标题(噪声信号的);甘氨胆酸AX =;斧子。YLim = [0 12];
把信号降噪到4级wdenoise
使用默认设置。wdenoise
使用抽取的小波变换。将结果与原始信号一起绘制出来。
XD = WDEOISE(XN,4);数字;plot(x,“r”) 抓住上;情节(xd)传说('原始信号','去噪','地点',“NorthEastOutside”)轴紧的;持有离开;
你也可以使用非抽取小波变换去噪信号。再用非抽取小波变换将信号降噪到第4级。将结果与原始信号一起绘制出来。
xdMODWT = wden (XN,“modwtsqtwolog”,“年代”,'MLN',4,“sym4”);数字;plot(x,“r”) 抓住上;情节(xdMODWT)传说('原始信号','去噪','地点',“NorthEastOutside”)轴紧的;持有离开;
你可以看到,在这两种情况下,小波去噪都去除了相当数量的噪声,同时保留了信号中的尖锐特征。这是基于傅里叶去噪的一个挑战。在基于傅里叶的去噪或滤波中,你应用低通滤波器去噪。然而,当数据具有高频特征,如信号尖峰或图像边缘,低通滤波器将这些平滑。
你也可以用小波去噪噪声不均匀的信号。输入并检查显示一段时间内耗电量的部分信号。
负载Leleccum.;Indx = 2000:3450;x = lececcum(indx);绘图(x)网格上;
在大约样本500之后,信号似乎有更多的噪声。因此,你想在信号的初始部分使用不同的阈值。您可以使用cmddenoise
确定要去噪并弃头发信号的最佳间隔数。在此示例中,使用“DB3”小波并将数据分解为级别3。
[sigdden,〜,thrparams,〜,bestnbofint] = cmddenoise(x,'db3'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
使用Biorthogonal小波Bior4.4
.要显示原始图像和去噪图像,不要提供任何输出参数。
负载(“jump.mat”) wdenoise2(跳)
注意,图像中的边缘并没有被去噪过程平滑。