【对于一维信号的匹配】对一个一维(时间)信号y使用自定义基B执行匹配追踪(MP)研究(Matlab代码实现)

 欢迎来到本博客❤️❤️

博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

本文目录如下:

目录

1 概述

2 运行结果

3 参考文献

4 Matlab代码实现


1 概述

对一个一维(时间)信号y使用自定义基B执行匹配追踪(MP)。

匹配追踪(Mallat和Zhang 1993)是一种贪婪算法,用于通过字典元素D(y〜Dw)的加权和(w)来获取信号y的稀疏表示。稀疏表示意味着大多数元素等于0(nnz(w) << length(y))。这种稀疏表示在许多不同的情况下都很有用:用于获取时频谱图,降噪信号,压缩信号等等。

对于时间信号,自然地使用字典元素D,由位于每个可能的时间点上的基本元素B组成。在这种情况下,权重形成一个高度过完备的字典中的卷积或平移不变的稀疏编码形式。

对于一维信号的匹配追踪(Matching Pursuit, MP)是一种研究方法,用于对一维(时间)信号进行分析和表示。该方法使用自定义基B来执行匹配追踪算法,以获得信号y的稀疏表示。

匹配追踪是一种贪婪算法,旨在通过将信号表示为字典元素的加权和来获得其稀疏表示。稀疏表示意味着信号的大部分元素都是零,只有少数非零元素。这种表示方法在许多领域都有广泛的应用,例如时频谱图的生成、信号降噪和信号压缩等。

对于一维信号,选择合适的基B是非常重要的。基B通常由基本元素组成,这些元素在不同的时间点上进行平移。通过使用这样的基础元素,可以构建一个高度过完备的字典,从而实现对信号的卷积或平移不变的稀疏编码。

通过对一维信号进行匹配追踪研究,我们可以更好地理解信号的特征和结构,从而为信号处理和分析提供更多的工具和方法。

2 运行结果

 部分代码:

%% Same, but this time only allow positive weights
%Express gong signal as a sparse sum of Gabors
[ws2,r2] = temporalMP(sig.y,gabors,true,5000);
%%
subplot(3,1,1);
plot(gabors);
title('Basis');
subplot(3,1,2);
plot([sig.y,r2]);
legend('signal','approximation');
subplot(3,1,3);
%the convolution here is to make the spikes visible
imagesc(conv2(ws2,exp(-rg.^2/2/20^2),'same')');
ylabel('increasing time ->');
ylabel('increasing frequency ->');
title(sprintf('weights (%d non-zero weights)',nnz(ws(:))));

%%
%listen to the original sound and its approximation
sound(sig.y,sig.Fs);

%%
sound(r2,sig.Fs);

%% Same, but this time add a deadzone of 3 samples around basis functions
[ws2,r2] = temporalMP(sig.y,gabors,true,5000,0,3);
%%
subplot(3,1,1);
plot(gabors);
title('Basis');
subplot(3,1,2);
plot([sig.y,r2]);
legend('signal','approximation');
subplot(3,1,3);
%the convolution here is to make the spikes visible
imagesc(conv2(ws2,exp(-rg.^2/2/20^2),'same')');
ylabel('increasing time ->');
ylabel('increasing frequency ->');
title(sprintf('weights (%d non-zero weights)',nnz(ws(:))));

%%
%Demonstration of deadzone
[t,~] = find(ws2~=0);
min(diff(sort(t)))

%Should be 3

%%
%listen to the original sound and its approximation
sound(sig.y,sig.Fs);

%%
sound(r2,sig.Fs);

3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]张刘刚.基于匹配追踪(MP)算法的信号自适应分解研究及其应用[D].中南大学,2011.DOI:CNKI:CDMD:2.2010.190196.

[2]彭文杰,张晓玲.基于门限正交匹配追踪(TOMP)的线阵SAR三维成像方法[J].新型工业化, 2013(12):8.DOI:10.3969/j.issn.2095-6649.2013.12.008.

[3]秦晓伟,郭建中.匹配追踪算法(MP)在超声成像中的研究[C]//西安-上海市声学学会声学学术会议.2011.

4 Matlab代码实现

你可能感兴趣的:(matlab,人工智能,算法)