CS重构之CoSaMP

本文详细探讨了压缩传感(CS)中的CoSaMP(Compressive Sampling Matching Pursuit)重构算法,阐述了其基本原理、步骤及在信号恢复中的应用。通过对比其他重构方法,展示了CoSaMP的优势和适用场景,为理解和实施CS重构提供了关键洞察。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

压缩采样匹配追踪(CompressiveSampling MP)是D. Needell继ROMP之后提出的又一个具有较大影响力的重构算法。CoSaMP也是对OMP的一种改进,每次迭代选择多个原子,除了原子的选择标准之外,它有一点不同于ROMP: ROMP每次迭代已经选择的原子会一直保留,而CoSaMP每次迭代选择的原子在下次迭代中可能会被抛弃
在这之前先读了下参考论文[1],论文前面还是看得懂一点的,讲了一些压缩感知的基础知识,还聊到了压缩重构方法主要分为三类,但是到了第2部分介绍算法的时候又看不懂了,感觉符号都还没聊清楚就开始讲流程了。佩服看得懂的博主,还说很容易就看懂了。。。希望自己好好努力也能看懂这些外文文献,fighting啦!
那么我先把论文中的流程贴出来,并没有对符号作过多的解释。。。






然后在网上找到了符合论文中符号的代码。
  1. functionSest=cosaomp(Phi,u,K,tol,maxiterations)
    Sest = zeros(size(Phi,2),1);
    v = u;
    t = 1;
    numericalprecision=1e-12;
    T = [];
    while(t<=maxiterations)&&(norm(v)/norm(u)>tol)
      y = abs(Phi'*v);
      [vals,z]=sort(y,'descend');
      Omega = find(y>=vals(2*K)&y>numericalprecision);
      T = union(Omega,T);
      b = pinv(Phi(:,T))*u;
      [vals,z]=sort(abs(b),'descend');
      Kgoodindices = (abs(b)>=vals(K)&abs(b)>numericalprecision);
      T = T(Kgoodindices);
      Sest = zeros(size(Phi,2),1);
      phit = Phi(:,T);
      b = pinv(phit)*u;
      Sest(T)=b;
      v = u - phit*b;
      t = t+1;
    end
接下来综合代码我准备强行解释一波论文算法的伪代码流程,哎呀半懂半懂希望以后要全懂全懂。
1.Identification(识别)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值