主要内容

多信号一维小波分析

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

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

在这个例子中,信号被第一和分析不同的表示或简化的版本产生:

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

  • 去噪版本,

  • 压缩版本。

去噪和压缩两个子波的主应用程序,经常用作聚类之前的预处理步骤的。

这个例子中的最后一步执行多个集群的策略并加以比较。它允许总结一大套使用稀疏小波表示信号。

加载并绘制多信号

为了说明这些能力,让我们考虑一个真实的多信号,代表35天的电负荷消耗,集中和标准化。

负载Elec35_nor.;%加载规范化的原始数据。X=信号;[nbSIG,nbVAL]=大小(X);绘图(X','r')轴心紧的头衔('原始数据:35天的电气消耗');Xlabel(“分钟从1至1440”);

我们可以看到信号局部不规则且有噪声,但可以区分三种不同的一般形状。

数据的曲面表示

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

冲浪(X)着色插补紧的头衔('原始数据:35天的电气消耗')xlabel(“分钟从1至1440”'回转',4)ylabel(“从1到35天”'回转',-60)ax=gca;ax.View=[-13.548];

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

多信号分解行

使用“级别”在7级执行小波分解sym4“小波。

Dirdec ='r';%分解的方向级= 7;分解%的水平wname='sym4';%近对称小波decROW = mdwtdec(dirDec,X,水平,wname);

生成的分解结构如下:

decROW
decROW =结构与字段:dirDec: 'R' 级:7 wname: 'sym4' dwtFilters:[1x1的结构] dwtEXTM: '符号' dwtShift:0命令datasize:[35 1440] CA:[35x18双] CD:{1X7细胞}

信号和近似值在7级

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

a7_row = mdwtrec(degow,'一种',7); 子地块(2,1,1)图(X(:,:)','r')头衔(“原始数据”)轴心紧的副区(2,1,2)图(A7_ROW(:, :)”,'B')轴心紧的头衔(“在7级通讯近似值”

由于可以看出,一般的形状是由在7级的近似拍摄,但一些有趣的功能都将丢失。例如,在开始和信号结束颠簸消失。

叠加信号与近似

为了将原始信号与其在第7级的相应近似值进行更密切的比较,让我们显示两个图(参见下图)。第一个图涉及四个第一个信号,第二个图涉及最后五个信号。每个图都表示原始信号与其在第7级的相应近似值叠加。

子地块(2,1,1)idxDays=1:4;地块(X(idxDays,:)','r') 抓住绘图(a7_row(idxdays,:)','B')轴心紧的标题([“天”int2str(idxDays),“ - 信号与逼近7级”])副区(2,1,2)idxDays = 31:35;图(X(idxDays,:)”,'r') 抓住绘图(a7_row(idxdays,:)','B')轴心紧的标题([“天”int2str(idxDays),“ - 信号与逼近7级”])

可以看出,原始信号的近似值在一般形状方面在视觉上是精确的。

多信号去噪

要执行多信号保存这些颠簸这显然归因于电信号的一个更微妙的简化,让我们的降噪多信号。

使用三个步骤执行去噪程序:

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(“书房”,令人作证,“sqtwolog”'MLN');残差= X-XD;子图(3,1,1)绘图(X','r')轴心紧的头衔('原始数据:35天的电气消耗')子图(3,1,2)绘图(XD','B')轴心紧的头衔(“去噪数据:35天的用电量”)子图(3,1,3)绘图(残差',“k”)轴心紧的头衔(“残差”)xlabel(“分钟从1至1440”

结果的质量是好的。信号开始和结束时的凹凸得到了很好的恢复,相反,残差看起来像一个噪声,除了一些由于信号导致的剩余凹凸。此外,这些剩余凹凸的大小是一个小数量级。

多信号压缩行信号

(见上文),如去噪,使用三个步骤执行的压缩过程。

步骤2中发现了与去噪程序的差异。有两种压缩方法可用:

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

  • 第二种方法包括应用视觉确定的级别相关的阈值。

为了简化数据表示和更有效的压缩,让我们通过应用全局阈值来返回到级别7的分解,并通过导致恢复99%的能量来压缩多行数。

Dirdec ='r';%分解的方向级= 7;分解%的水平wname='sym4';%近对称小波decROW = mdwtdec(dirDec,X,水平,wname);[XC,decCMP,THRESH] = mswcmp('CMP',令人作证,'l2_perf',99);子地块(3,1,1)图(X’,'r')轴心紧的头衔('原始数据:35天的电气消耗')子图(3,1,2)绘图(XC','B')轴心紧的头衔(“压缩数据:35天的用电量”)副区(3,1,3)曲线图((X-XC)”,“k”)轴心紧的头衔(“残差”)xlabel(“分钟从1至1440”

可以看出,在忽略局部不规则性的情况下,保留了总体形状。残差包含噪声以及由于小尺度造成的分量。

压缩性能

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

CFS =猫(2,[{decCMP.cd:},decCMP.ca]);CFS =稀疏(CFS);PERF =零(1,nbSIG);为了k = 1:nbsig perf(k)= 100 * nnz(cfs(k,:))/ nbval;结束图图(PERF,‘r-*’)头衔(“为35天非零系数的百分比”)xlabel('信号索引')ylabel(“非零系数的%”

对于每一个信号,需要的系数的百分比来恢复1.25%和1.75%之间的能量所在的99%。这说明了子波在几个系数的能力,浓缩物的信号能量。

聚类行信号

群集提供了一种方便的程序,可以总结使用稀疏小波表示的大量信号。您可以使用分层群集MDWT群集.你必须有统计和机器学习工具箱™ 使用MDWT群集

比较35天的数据的三个不同聚类。第一种是基于原始多信号,所述第二上近似系数在7级之一,和最后一个是基于所述多信号去噪。

将群集数量设置为3.计算分别包含两个第一分区和第三个分区的结构P1和P2。

p1 = mdwtcluster(degow,'lst2clu',{''CA7'},“maxclust”,3);P2 = mdwtcluster(decDEN,'lst2clu',{'},“maxclust”,3);簇= [P1.IdxCLU P2.IdxCLU];

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

EqualPART = ISEQUAL(最大(差异(集群,[],2)),[0 0])
EqualPART =逻辑1

所以,这三个分区都是相同的。现在让我们来绘制并检查集群。

图茎(群集,'填充''B:')头衔('原来的三个簇35天')xlabel('信号索引')ylabel(“簇索引”)AX = GCA;XLIM([1 35])ylim([0.5 3.1])ax.YTick = 1:3;

第一个群集(标有3)包含25天,另外两天(标有2和1)分别包含五个星期六和五个星期日。这再次示出了底层时间序列的周期性和在该示例开始时显示的两个第一图中看到的三种不同的一般形状。

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

CA7=mdwtrec(递减,'CA');IdxInCluster =细胞(1,3);为了k = 1:3 idxincluster {k} =查找(p2.idxclu == k);结束身材('单位''标准化''位置'[0.2 0.2 0.6 0.6])为了k=1:3idxk=IdxInCluster{k};子地块(2,3,k)图(X(idxK,:)','r')轴心紧的ax=gca;ax.XTick=[200 800 1400];如果k==2个标题(“原始信号”结束xlabel(['群集:'int2str(k)的' ('int2str(长度(idxK))')'])子图(2,3,k + 3)绘图(CA7(IDXK,:)','B')轴心紧的如果k==2个标题(“在7级近似的系数”结束xlabel(['群集:'int2str(k)的' ('int2str(长度(idxK))')'])结束

同一分区从原始信号(1440个样本针对每个信号),并从在7级近似的系数(18个样品的每个信号)获得。这说明,使用系数小于2%就足以让的35天同一集群分区。

概括

使用小波的去噪,压缩和聚类是非常有效的工具。小波表示以少数系数集中信号能量的能力是效率的关键。此外,群集提供了一种方便的过程,可以使用稀疏小波表示来总结一大组信号。