主要内容

正交和双正交滤波器组

这个例子展示了构造和使用正交滤波器的双正交小波工具箱软件。经典的严格采样双通道滤波器组是如下图所示。

$ \波浪号{G} $$ \波浪号{H} $表示过滤器和低通和高通分析G美元H美元表示相应的合成低通和高通滤波器。一个双通道严格采样滤波器组过滤器使用低通和高通滤波器输入信号。的部分波段输出过滤器是由两个保护downsampled样本的总人数。重建输入,由两个,然后插入结果upsample使用合成低通和高通滤波器。如果过滤器满足某些属性,可以达到完美的重建的输入。为了说明这一点,使用Daubechies过滤ECG信号的极值阶段小波有两个消失的时刻。这个例子解释了这个概念在后面一节中消失的时刻。

负载wecg;情节(wecg);标题(心电信号的)

获得低通(扩展)和高通(小波)分析和合成过滤器。

[gtilde, htilde, g h] = wfilters (“db2”);

对于这个示例,DWT的填充模式设置为周期化。这并不扩展信号。

origmodestatus = dwtmode (“状态”,“nodisplay”);dwtmode (“每”,“nodisplay”);

获得一级离散小波变换(DWT)的心电图信号。这相当于分析分支(downsampling)双通道滤波器组的人物。

(低通、高通)= dwt (wecg、gtilde htilde);

Upsample和插入低通(比例系数)和高通(小波系数)部分波段合成过滤器和展示完美的重建。

xrec =得到(低通,高通,g, h);马克斯(abs (wecg-xrec))次要情节(2,1,1)情节(wecg);标题(“原始ECG波形”次要情节(2,1,2)情节(xrec);标题(重建心电图波形的);
ans = 1.3658 e-12

db2的分析和合成滤波器的小波只是时间逆转。你可以看到这个通过比较以下。

scalingFilters =[翻转(gtilde);g] waveletFilters =[翻转(htilde);h]
scalingFilters = 0.4830 0.8365 0.2241 -0.1294 0.4830 0.8365 0.2241 -0.1294 waveletFilters = -0.1294 -0.2241 0.8365 -0.4830 -0.1294 -0.2241 0.8365 -0.4830

这是所有的正交小波滤波器的情况。正交小波的家庭支持的小波工具箱dbN,‘fkN’,‘symN’,金宝app‘coifN’N是一个有效的过滤数量。

而不是提供dwt与过滤器在前面的示例中,您的字符串“db2”代替。使用小波家族短名称和筛选号码,你没有正确地指定分析和合成过滤器。

(低通、高通)= dwt (wecg,“db2”);xrec =得到(低通、高通滤波“db2”);

过滤器Daubechies极值阶段的数量和最小相位不对称小波(“数据库”和“对称”)指的是消失的时刻。基本上,小波与N消失时刻删除订单N - 1的一个多项式小波系数。为了说明这一点,构造一个信号由加性噪声的线性趋势。

n = (0:511) / 512;x = 2 * n + 0.2 * randn(大小(n));情节(n, x)

度的线性趋势是一个多项式1。因此,小波和两个消失的时刻会删除这个多项式。线性趋势是保存在比例系数和小波系数只能被视为组成的噪音。获得一级DWT与db2的信号的小波系数(两个消失的时刻)和阴谋。

[D] = dwt (x,“db2”);次要情节(2,1,1)图(一个);标题(的比例系数);次要情节(2,1,2)情节(D);标题(“小波系数”);

您可以使用dwt得到实现双通道正交滤波器组,但它通常更方便实现一个多层次的双通道滤波器组使用wavedec。该多级DWT迭代的输出低通滤波器(扩展)。换句话说,输入滤波器组的第二个层次是在一级低通滤波器的输出。两级小波滤波器组见下图。

在每个连续的层面,缩放和小波系数的数量是由两个系数的总数是downsampled保留。获得三个级别DWT ECG信号的使用sym4正交滤波器组。

[C、L] = wavedec (wecg 3“sym4”);

系数的数量级别是包含在向量,L . L等于256年的第一个元素代表的数量比例系数在3级(最后一个级别)。L的第二个元素的数量在3级小波系数。随后上级元素给小波系数的数量直到你到达L .最后元素的最后一个元素的L等于原始信号样本的数量。的尺度和小波系数存储向量C在相同的顺序。提取扩展或小波系数,使用appcoefdetcoef。提取一个单元阵列中的所有小波系数和最终级别比例系数。

wavcoefs = detcoef (C、L、“dcells”);a3 = appcoef (C、L、“sym4”);

你可以画出小波和缩放系数近似位置。

cfsmatrix = 0(元素个数(wecg), 4);cfsmatrix(1:2:最终,1)= wavcoefs {1};cfsmatrix(1:4:结束,2)= wavcoefs {2};cfsmatrix(1:8:最终,3)= wavcoefs {3};cfsmatrix(1:8:结束,4)= a3;次要情节(5、1、1)的阴谋(wecg);标题(原始信号的);轴;kk = 2:4次要情节(5 1 kk)茎(cfsmatrix (:, kk-1),“标记”,“没有”,“ShowBaseLine”,“关闭”);ylabel ([' D 'num2str (kk-1)]);轴;结束次要情节(5、1、5);茎(cfsmatrix(:,结束),“标记”,“没有”,“ShowBaseLine”,“关闭”);ylabel (“A3”);包含(“样本”);轴;

因为严格采样小波滤波器组downsamples每一层的数据,分析必须停止当你只剩下一个系数。在ECG信号的情况下2048个样本,这必须发生$ L = \ log_2 {2048} $

[C、L] = wavedec (wecg log2(元素个数(wecg)),“sym4”);流(系数在决赛级别的数量是% d。\ n”L (1));
系数在决赛级别的数量是1。

如果你想实现一个没有将采样正交小波滤波器组,您可以使用modwt

ecgmodwt = modwt (wecg,“sym4”3);ecgmra = modwtmra (ecgmodwt,“sym4”);次要情节(5、1、1);情节(wecg);标题(原始信号的);标题(“MODWT-Based多分辨率分析”);kk = 2:4次要情节(5 1 kk)情节(ecgmra (kk-1:));ylabel ([' D 'num2str (kk-1)]);结束次要情节(5、1、5);情节(ecgmra(最终,:));ylabel (“A3”);包含(“样本”);

双正交滤波器组,合成滤波器的不仅仅是时间反演版本分析过滤器。双正交样条小波滤波器的家庭这样的滤波器的一个例子。

[LoD、藏、卤,HiR] = wfilters (“bior3.5”);

如果你检查分析过滤器(LoD、藏)和合成过滤器(卤,HiR),你会发现他们是非常不同的。这些过滤器银行仍然提供了完美的重建。

[D] = dwt (wecg、LoD、藏);xrec =得到(A, D,卤,HiR);马克斯(abs (wecg-xrec))
ans = 4.4409 e-16

线性相位时双正交的过滤器是有用是一个要求你的滤波器组。正交滤波器不能有线性阶段除了Haar小波滤波器。如果你有信号处理工具箱™,你可以看看正交相位响应,对双正交小波滤波器。

[Lodb6, Hidb6] = wfilters (“db6”);[PHIdb6 W] = phasez (Hidb6, 1512);PHIbior35 = phasez(藏,1512);图;次要情节(2,1,1)情节(w /(2 *π)PHIdb6);标题(“db6小波相位响应”);网格;包含(“周期/样本”);ylabel (“弧度”);次要情节(2,1,2)情节(w /(2 *π)PHIbior35);标题(“bior3.5小波相位响应”);网格;包含(“周期/样本”);ylabel (“弧度”);

设置dwtmode回到原来的设置。

dwtmode (origmodestatus“nodisplay”);