主要内容

多信号一维小波分析

1-D多信号是一组相同长度的1-D信号,存储为行排列(或列排列)的矩阵。

本例的目的是演示如何分析、去噪或压缩多信号,然后对组成多信号的信号的不同表示或简化版本进行聚类。

在这个例子中,首先分析信号,并产生不同的表示或简化版本:

  • 给定水平上的重建近似,

  • 去噪的版本,

  • 压缩版本。

小波的两个主要应用是去噪和压缩,常被用作聚类前的预处理步骤。

本例的最后一步执行几种集群策略并对它们进行比较。它允许使用稀疏小波表示来总结大量的信号。

加载并绘制多信号

为了说明这些功能,让我们考虑一个现实生活中的多信号,表示35天的电力负载消耗,集中和标准化。

负载elec35_nor%加载归一化原始数据。X =信号;[nbSIG, nbVAL] = (X)大小;情节(X ',“r”)轴标题(“原始数据:35天的用电量”);包含(“1至1440分钟”);

我们可以看到,信号在局部是不规则的和有噪声的,但仍然可以区分出三种不同的形状。

数据的表面表示

为了突出多信号的周期性,现在让我们使用三维表示来检查数据。

冲浪(X)阴影插值函数标题(“原始数据:35天的用电量”)包含(“1至1440分钟”“旋转”4) ylabel (“从1天到35天”“旋转”,-60) ax = gca;斧子。视图= [-13.5 48];

现在可以更清楚地看到所代表的五个星期。

Multisignal行分解

在第7级执行小波分解,使用sym4的小波。

dirDec =“r”分解方向%水平= 7;分解率wname =“sym4”近对称子波decROW = mdwtdec (dirDec X级别,wname);

生成的分解结构如下:

decROW
decROW = struct with fields: dirDec: 'r' level: 7 wname: 'sym4' dwtFilters: [1x1 struct] dwtEXTM: ' sytshift: 0 dataSize: [35 1440] ca: [35x18 double] cd: {1x7 cell}

信号和接近7级

让我们为每一行信号重建7级的近似。然后,为了将近似与原始信号进行比较,让我们显示两个图(见下图)。第一个显示所有的原始信号,第二个显示所有对应的7级近似。

A7_ROW = mdwtrec (decROW,“一个”7);次要情节(2,1,1)情节(X (:,)“r”)标题(“原始数据”)轴次要情节(2,1,2)情节(A7_ROW(:,:)”,“b”)轴标题(“对应的7级近似”

可以看到,在第7级的近似中捕获了总体形状,但一些有趣的特征丢失了。例如,信号开始和结束时的凸起消失了。

叠加信号和近似

为了更接近地比较原始信号和它们在7级对应的近似,让我们显示两个图(见下图)。第一个是关于前四个信号的,第二个是关于最后五个信号的。这些图中的每一个都表示原始信号与它们在7级对应的近似叠加。

subplot(2,1,1) idxDays = 1:4;情节(X (idxDays:) ',“r”)举行情节(A7_ROW (idxDays:) ',“b”)轴标题([“天”int2str (idxDays)," -信号及接近在第7层"]) subplot(2,1,2) idxDays = 31:35;情节(X (idxDays:) ',“r”)举行情节(A7_ROW (idxDays:) ',“b”)轴标题([“天”int2str (idxDays)," -信号及接近在第7层"])

可以看出,从总体形状来看,原始信号的近似在视觉上是准确的。

Multisignal去噪

为了对多信号进行更微妙的简化,保留这些明显归因于电信号的凸起,让我们对多信号去噪。

去噪过程分为三个步骤:

1)分解:选择一个小波和一个分解层N,然后计算N级信号的小波分解。

2)阈值:对于从1到N的每一级,对于每个信号,选择一个阈值,并对细节系数进行阈值化。

3)重建:使用第N层的原始近似系数和第1到N层的修正细节系数计算小波重构。

现在让我们选择N = 5的分解级别,而不是以前使用的N = 7。

dirDec =“r”分解方向%水平= 5;分解率wname =“sym4”近对称子波decROW = mdwtdec (dirDec X级别,wname);[XD, decDEN] = mswden (“窝”decROW,“sqtwolog”“mln”);残差= X-XD;次要情节(1,1)情节(X ',“r”)轴标题(“原始数据:35天的用电量”次要情节(3、1、2)情节(XD ',“b”)轴标题(“去噪数据:35天的耗电量”次要情节(3,1,3)情节(残差',“k”)轴标题(“残差”)包含(“1至1440分钟”

结果的质量是好的。信号开始和结束处的颠簸都恢复得很好,相反地,残差看起来像噪声,除了一些由于信号而剩余的颠簸。此外,这些剩余的凸起的大小是一个小的顺序。

多信号压缩行信号

与去噪一样,压缩过程使用三个步骤(见上文)。

与去噪过程的区别在步骤2中被发现。有两种可用的压缩方法:

  • 第一种方法是对信号进行小波展开式,并保留最大的绝对值系数。在这种情况下,可以设置全局阈值、压缩性能或相对平方范数恢复性能。因此,只需要选择一个与信号相关的参数。

  • 第二种方法是应用可视确定的水平相关阈值。

为了简化数据表示并使压缩更有效,让我们回到第7级的分解,通过应用一个全局阈值来压缩多信号的每一行,从而恢复99%的能量。

dirDec =“r”分解方向%水平= 7;分解率wname =“sym4”近对称子波decROW = mdwtdec (dirDec X级别,wname);(XC decCMP,打]= mswcmp (cmp的decROW,“L2_perf”, 99);次要情节(1,1)情节(X ',“r”)轴标题(“原始数据:35天的用电量”次要情节(3、1、2)情节(XC ',“b”)轴标题(“压缩数据:35天的耗电量”次要情节(3,1,3)图((X-XC) ',“k”)轴标题(“残差”)包含(“1至1440分钟”

可以看出,总体形状被保留了下来,而局部的不规则性被忽略了。残差本质上包含了噪声和小尺度分量。

压缩性能

现在我们来计算相应的非零元素的密度。

cfs =猫(2,[decCMP.cd {:}, decCMP.ca]);cfs =稀疏(cfs);穿孔= 0(1、nbSIG);k = 1: nbSIG穿孔(k) = 100 * nnz (cfs (k,:)) / nbVAL;结束图绘制(穿孔,的r - *)标题(“35天非零系数的百分比”)包含(“信号指标”) ylabel (“非零系数的百分比”

对于每个信号,恢复99%能量所需的系数的百分比在1.25%到1.75%之间。这说明了小波将信号能量集中在几个系数中的能力。

集群行信号

聚类为使用稀疏小波表示来总结大量信号提供了一种方便的方法。您可以使用mdwtcluster.您必须有统计学和机器学习工具箱™来使用mdwtcluster

比较35天数据的三个不同簇。第一个基于原始多信号,第二个基于7级近似系数,最后一个基于去噪后的多信号。

集群个数设置为3。计算结构P1和P2,它们分别包含两个前分区和第三个分区。

P1 = mdwtcluster (decROW,“lst2clu”,{“年代”“ca7”},“maxclust”3);P2 = mdwtcluster (decDEN,“lst2clu”,{“年代”},“maxclust”3);集群= [P1。IdxCLU P2.IdxCLU];

现在我们可以测试三个分区的相等性。

= isequal(max(diff(Clusters,[],2)),[0 0]))
EqualPART =逻辑1

所以这三个分区是一样的。现在让我们绘制和检查集群。

图阻止(集群,“填充””乙:“)标题("最初35天的三个集群")包含(“信号指标”) ylabel (“集群指数”) ax = gca;Xlim ([1 35]) ylim([0.5 3.1]) ax。YTick = 1:3;

第一组(编号3)包含25个周中日,其余两组(编号2和1)分别包含5个星期六和5个星期日。这再次说明了潜在时间序列的周期性,以及在本例开始时显示的两个图中所见的三种不同的一般形状。

现在让我们显示原始信号和对应的近似系数,用于获得三个分区中的两个。

CA7 = mdwtrec (decROW,“ca”);IdxInCluster =细胞(1、3);k = 1:3 IdxInCluster{k} = find(P2.IdxCLU==k);结束图(“单位”“归一化”“位置”,[0.2 0.2 0.6 0.6])k = 1:3 idxK = IdxInCluster{k};次要情节(2 3 k)情节(X (idxK:) ',“r”)轴甘氨胆酸ax =;斧子。XTick = [200 800 1400];如果k = = 2标题(原始信号的结束包含([的集群:int2str (k)“(”int2str(长度(idxK))“)”])次要情节(2、3、k + 3)情节(CA7 (idxK:) ',“b”)轴如果k = = 2标题(“7级近似系数”结束包含([的集群:int2str (k)“(”int2str(长度(idxK))“)”])结束

从原始信号(每个信号1440个样本)和从7级的近似系数(每个信号18个样本)得到相同的划分。这说明使用小于2%的系数就足以获得35天相同的聚类分区。

总结

小波去噪、压缩和聚类是非常有效的工具。小波表示将信号能量集中在几个系数上的能力是效率的关键。此外,聚类为使用稀疏小波表示来总结大量信号提供了一个方便的方法。