主要内容

匹配的追求

感知字典创建和可视化

这个例子展示了如何创建和可视化传感字典Haar小波组成的2级和离散余弦transform-II (DCT-II)的基础。

创建传感字典。字典矩阵的大小是100 - 200。对于每一个基础类型,相关联的子矩阵的大小是100 - 100。矩阵列的基础元素。

xdict = sensingDictionary (Type = {dwt的,“dct”},水平= 0 [2])
xdict = sensingDictionary属性:类型:{dwt的dct的}名称:{db1”}水平:[2 0]CustomDictionary:[]大小:200年[100]

想象哈雾

提取100 -,- 100与Haar小波相关的子矩阵。

xmatHaar = subdict (1:10 0, xdict 1:10 0);

显示矩阵。

显示亮度图像(xmatHaar) colormap(灰色)标题(“哈雾基础”)

图包含一个坐标轴对象。坐标轴对象与标题哈雾基础包含一个类型的对象的形象。

选择和策划两个基础元素。

belement = 40 [10];图次要情节(1、2、1)情节(xmatHaar (:, belement(1)))标题(“哈雾基础元素:“+ num2str (belement (1))) ylim([-0.5 - 0.5])次要情节(1、2、2)情节(xmatHaar (:, belement(2)))标题(“哈雾基础元素:“+ num2str (belement (2))) ylim ([-0.5 - 0.5])

图包含2轴对象。轴与标题Haar基础元素对象1:10包含一个类型的对象。轴与标题Haar基础元素对象2:40包含一个类型的对象。

情节的所有小波基础元素,集showAll真正的

showAll =;如果showAll图k = 1:10 0的阴谋(xmatHaar (:, k))标题(“哈雾基础元素:“+ num2str (k)) ylim([-0.5 - 0.5])暂停(0.1)结束结束

可视化DCT-II

提取100 -,- 100与DCT-II相关联的子矩阵。

xmatDCT = subdict (xdict 1:100,101:200);

显示矩阵。

图显示亮度图像(xmatDCT) colormap(灰色)标题(“DCT-II基础”)

图包含一个坐标轴对象。坐标轴对象与标题DCT-II基础包含一个类型的对象的形象。

选择和策划四个基础元素。

belement = 40 60 (90);k = 1:4次要情节(2 2 k)情节(xmatDCT (:, belement (k)))标题(“DCT-II基础元素:“+ num2str (belement (k))) ylim ([-0.5 - 0.5])结束

图包含4轴对象。轴与标题DCT-II基础元素对象1:10包含一个类型的对象。轴与标题DCT-II基础元素对象2:40包含一个类型的对象。轴与标题DCT-II基础元素对象3:60包含一个类型的对象。坐标轴对象与标题DCT-II基础元素4:90包含一个类型的对象。

情节所有DCT-II基础元素,集showAll真正的

showAll =;如果showAll图k = 1:10 0的阴谋(xmatDCT (:, k))标题(“DCT-II基础元素:“+ num2str (k)) ylim([-0.5 - 0.5])暂停(0.1)结束结束

在一维正交匹配追踪信号

这个例子展示了如何执行正交匹配追踪的一维输入信号包含一个尖端。

加载cuspamax信号。构造组成的字典Daubechies极值在2级小波,DCT-II基础阶段。

负载cuspamaxlsig =长度(cuspamax);= sensingDictionary(大小= lsig,类型= {dwt的,“dct”},Name = {“db4”},水平= [2 0]);

使用正交匹配追踪获取一个近似的信号传感字典100次迭代。

(Xr,咦,我,R) = matchingPursuit (cuspamax,maxIterations = 100,算法=“经济”maxerr = {“外语”1});

从字典中提取的向量对应的近似。用相关系数和确认结果等于近似。

sMat = subdict(1:1024,我);x = sMat * Xr(我:);马克斯(abs (x-YI))
ans = 0

画出信号,近似和残留。

次要情节(2,1,1)情节(cuspamax)情节(易)传奇(“信号”,“约”。)标题(“信号和近似”)轴次要情节(2,1,2)情节(R)标题(“残留”)轴

图包含2轴对象。坐标轴对象1标题信号和近似包含2线类型的对象。这些对象代表信号,约. .坐标轴对象2标题残余包含一个类型的对象。

情节保留信号能量的比例在每个迭代匹配的追求的结果。

cuspEnergy = cuspamax * cuspamax ';莱妮•=长度(我);莱妮•recEnergy = 0 (1);basisElts = subdict(1:1024,我);k = 1:雷尼·rec = basisElts (:, 1: k) * Xr(我(1:k),);recEnergy (k) (rec) ^ 2 =标准/ cuspEnergy;结束图绘制(recEnergy)标题(“质量/迭代”)包含(“迭代”)ylabel (“质量”)

图包含一个坐标轴对象。坐标轴标题质量/迭代对象,包含迭代,ylabel质量包含一个类型的对象。

电力消耗分析使用匹配的追求

这个例子展示了如何比较匹配的追求和一个非线性近似离散傅里叶变换的基础上的。数据是电力消费在24小时内收集的数据。示例表明,通过选择向量从一个字典,匹配的追求往往能够更有效地近似信号M向量比任何单一的基础。

匹配追求使用DCT、傅里叶和小波字典

加载数据的数据集和情节。数据集包含35天的电力消耗。为进一步分析选择32天。数据集中和扩大,所以实际使用不相关的单位。

负载elec35_norx =信号(32岁);情节(x)包含(“分钟”)ylabel (“使用”)

图包含一个坐标轴对象。坐标轴对象包含分钟,ylabel使用包含一个类型的对象。

电力消耗数据包含平稳振荡被突然增加和减少使用。

放大一个时间间隔从500分钟到1200分钟。

xlim(1200年[500])

图包含一个坐标轴对象。坐标轴对象包含分钟,ylabel使用包含一个类型的对象。

你可以看到的突然变化慢时变信号约650,760,1120分钟。在许多这样的真实世界的信号数据,有趣和重要的信息都包含在瞬变。这些瞬态现象是很重要的模型。

构造一个信号近似使用50向量选择从一个字典正交匹配追踪(OMP)。字典的Haar小波在2级,离散余弦变换(DCT)基础上,傅里叶变换的基础上,克罗内克符号。然后,使用OMP找到最好的50-term贪婪近似的电力消费数据。策划的结果。

Dict = sensingDictionary (“大小”长度(x),“类型”,{dwt的,“dct”,“傅里叶”,“眼睛”},“名字”,{“db1”},“水平”[2]);(Xr,咦,我,R) = matchingPursuit (Dict x,maxIterations = 50,算法=“经济”maxerr = {“外语”1});情节(x)情节(真实(YI))包含(“分钟”)ylabel (“使用”)传说(原始信号的,“经济”)

图包含一个坐标轴对象。坐标轴对象包含分钟,ylabel使用包含2线类型的对象。这些对象代表原始信号,经济新闻。

您可以看到,与50系数,正交匹配追踪接近smoothly-oscillating信号的一部分和用电量的突然变化。

确定有多少向量OMP算法选择从每个子字典。

k = 1:4 basezind {k} = (k - 1) * 1440 + (1:1440);结束dictvectors = cellfun (@ (x)相交(I (x), basezind,“UniformOutput”、假);k = 1:4流(“Subdictionary % d: \ n % d向量”k, k元素个数(dictvectors {}));结束
Subdictionary 1: 0向量Subdictionary 2: 40向量Subdictionary 3: 2向量Subdictionary 4: 8向量

大多数的向量来自DCT和傅里叶的基础。考虑到整体电力消耗的慢时变性质数据,这是预期行为。额外的向量捕捉突然信号变化。

匹配追求使用DCT和完整的字典

重复了DCT subdictionary OMP只有。OMP选择50个最好的向量集合的DCT字典。构建字典和执行经济新闻。比较与DCT OMP OMP有额外的子字典词典。请注意添加克罗内克符号subdictionary更准确地显示用电量的突然变化。克罗内克的优势包括基础尤其清晰特别是近似上行和下行高峰使用约650和1120分钟。

Dict2 = sensingDictionary (“大小”长度(x),“类型”,{“dct”});[Xr2,移,I2, R2] = matchingPursuit (Dict2 x,maxIterations = 50,算法=“经济”maxerr = {“外语”1});情节(x)情节(真实(移),“线宽”,2)标题(“DCT词典”)包含(“分钟”)ylabel (“使用”)xlim(1200年[500])

图包含一个坐标轴对象。坐标轴对象与标题DCT字典,包含分钟,ylabel使用包含2线类型的对象。

图绘制(x)情节(真实(易),“线宽”,2)xlim(1200[500])标题(“完整的字典”)包含(“分钟”)ylabel (“使用”)

图包含一个坐标轴对象。坐标轴对象与标题完全字典,包含分钟,ylabel使用包含2线类型的对象。

获得最好的50-term非线性逼近信号的离散傅里叶。获取数据的DFT, DFT系数进行排序,并选择50最大系数。实值信号DFT的共轭对称的,所以只考虑从0 (DC)的奈奎斯特频率(1/2周期/分钟)。

xdft = fft (x);[~,我]=排序(xdft(1:长度(x) / 2 + 1),“下”);印第安纳州=我(1:50);

检查向量印第安纳州。没有一个指数对应0或尼奎斯特。添加相应的复共轭获得DFT的非线性近似的基础上。画出近似和原始信号。

indconj =长度(xdft)印第安纳+ 2;印第安纳州= (ind indconj);xdftapp = 0(大小(xdft));xdftapp(印第安纳州)= xdft(印第安纳州);xrec =传输线(xdftapp);情节(x)情节(xrec“线宽”,2)包含(“分钟”)ylabel (“使用”)传说(原始信号的,“非线性DFT近似”)

图包含一个坐标轴对象。坐标轴对象包含分钟,ylabel使用包含2线类型的对象。这些对象代表原始信号、非线性DFT近似。

类似于DCT字典,DFT非线性近似表现良好匹配的平稳振荡的用电量数据。然而,非线性DFT近似并不准确近似的突然变化。放大数据的区间包含消费的突然变化。

情节(x)情节(xrec“线宽”,2)包含(“分钟”)ylabel (“使用”)传说(原始信号的,“非线性DFT近似”)xlim(1200年[500])

图包含一个坐标轴对象。坐标轴对象包含分钟,ylabel使用包含2线类型的对象。这些对象代表原始信号、非线性DFT近似。