浅谈压缩感知(二十五):压缩感知重构算法之分段正交匹配追踪(StOMP)
主要内容:
StOMP的算法流程StOMP的MATLAB实现一维信号的实验与结果门限参数Ts、测量数M与重构成功概率关系的实验与结果一、StOMP的算法流程
分段正交匹配追踪(Stagewise OMP)也是由OMP改进而来的一种贪心算法,与CoSaMP、SP算法类似,不同之处在于CoSaMP、SP算法在迭代过程中选择的是与信号内积最大的2K或K个原子,而StOMP是通过门限阈值来确定原子。此算法的输入参数中没有信号稀疏度K,因此相比于ROMP及CoSaMP有独到的优势(这句话存在疑问)。
StOMP的算法流程:
二、StOMP的MATLAB实现(CS_StOMP.m)
function [ theta ] = CS_StOMP( y,A,S,ts )
% CS_StOMP
% Detailed explanation goes here
% y = Phi * x
% x = Psi * theta
% y = Phi*Psi * theta
% 令 A = Phi*Psi, 则y=A*theta
% S is the maximum number of StOMP iterations to perform
% ts is the threshold parameter
% 现在已知y和A,求theta
% Reference:Donoho D L,Tsaig Y,Drori I,Starck J L.Sparse solution of
% underdetermined linear equations by stagewise orthogonal matching
% pursuit[J].IEEE Transactions on Information Theory,2012,58(2):1094—1121
if nargin
ts = 2.5; %ts范围[2,3],默认值为2.5
end
if nargin
S = 10; %S默认值为10
end
[y_rows,y_columns] = size(y);
if y_rowsts*sigma); %选出大于阈值的列
Is