精华内容
下载资源
问答
  • 压缩感知的相关研究中 经常使用OMP 算法 recover压缩的array OMP算法 最早出现在 2006年的那篇 orthogonal matching pursuit的论文中 这是小弟自己 编的 比较简单 主要就是最内层的for循环。 其他不是算法的内容 ...
  • 压缩感知重构Matlab重构算法MATLAB编写、含有SP算法、各类重构算法
  • 附件中是用matlab编写的压缩感知FOCUSS算法,可以运行。
  • 压缩感知MATLAB程序

    2017-12-28 17:20:58
    压缩感知,又称压缩采样,压缩传感。它作为一个新的采样理论,它通过开发信号的稀疏特性,在远小于Nyquist 采样率的条件下,用随机采样获取信号的离散样本,然后通过非线性重建算法完美的重建信号。压缩感知理论一经...
  • 压缩感知重构算法

    2015-07-29 10:33:18
    压缩感知重构算法SpaRSA,凸优化类重构算法,可以在matlab里面直接调用
  • 压缩感知GBP算法

    2014-04-14 09:43:05
    压缩感知GBP算法,冗余字典,MATLAB
  • 最近在看压缩感知重构算法,试了其中一些,把代码链接给大家列一下: TwIST: http://www.lx.it.pt/~bioucas/code.htm GPSR: http://www.lx.it.pt/~mtf/GPSR/ OMP: http://www.eee.hku.hk/~wsha/Freecode/Files...

    最近在看压缩感知重构算法,试了其中一些,把代码链接给大家列一下:
    TwIST:
    http://www.lx.it.pt/~bioucas/code.htm
    GPSR:
    http://www.lx.it.pt/~mtf/GPSR/
    OMP:
    http://www.eee.hku.hk/~wsha/Freecode/Files/CS_OMP.zip

    展开全文
  • 压缩感知,又称压缩采样,压缩传感。它作为一个新的采样理论,它通过开发信号的稀疏特性,在远小于Nyquist 采样率的条件下,用随机采样获取信号的离散样本,然后通过非线性重建算法完美的重建信号。
  • 压缩感知OMP算法

    2014-04-03 22:50:41
    压缩感知重构算法中的正交匹配追踪算法(OMP)在MATLAB中的实现。
  • 压缩感知重构算法OMP

    2018-01-11 10:14:31
    该代码为压缩感知重构算法的正交匹配追踪的matlab代码,注释很详细
  • ROMP算法是一种贪婪的压缩感知重建算法,在OMP的基础上加入了正则化过程。此外,相比于OMP算法,ROMP在每次迭代过程中选择与残差最相关的m个列向量。下面是Deanna Needell and Roman Vershynin的文章中给出的RMOP的...

    ROMP正则化的正交匹配追踪算法

    ROMPROMP算法是一种贪婪的压缩感知重建算法,在OMPOMP的基础上加入了正则化过程。此外,相比于OMPOMP算法,ROMPROMP在每次迭代过程中选择与残差最相关的mm个列向量。下面是DeannaNeedellDeanna NeedellRomanVershyninRoman Vershynin的文章中给出的ROMPROMP的算法。

    在正则化过程,需要寻找索引集合的所有子集,在这里可以使用MatlabMatlab中的ff2nff2n函数实现。对于正则化条件,只用满足uu中的最大元素绝对值小于最小元素绝对值的22倍即可。
    本文中用高斯随机矩阵作为测量矩阵,待观测目标信号长度NN512512,且元素值只有1,01-1,0,1,观测值个数MM120120,目标信号稀疏度KK1010MatlabMatlab实验结果如下:
    在这里插入图片描述

    clear;
    clc;
    N=512;%待观测目标信号长度
    K=10;%目标信号稀疏度
    M=120;%观测值个数
    maxnum=100;
    x=zeros(N,1);
    q=randperm(N);%随机打乱排序
    t=1:N;
    x(q(1:K))=sign(randn(K,1));%生成幅值为1-1的K个非0元素的目标信号y
    A=randn(M,N);%生成M*N的服从高斯分布的测量矩阵
    A=orth(A')';%把测量矩阵按行正交化
    y=A*x;%获得观测向量
    x2=A'*y;%基于L2范数最小化估算的初值
    S=ff2n(K);%20个元素所有可能的组合,(2^K)*K的矩阵
    I=[];
    A1=[];
    r=y;%初始化时,残差r=y
    for i=1:K
        u=A'*r;
        u1=abs(u);
        [temp,index]=sort(u1);%对向量u从小到大排序,index储存索引
        len1=length(u);
        J=index(len1-K+1:end);%储存K个的最大系数索引,此处存在问题,应该是非0
       if length(I)>=2*K
           break;
       else
           %正则化标准意思是选择各列向量与残差内积绝对值的最大值不能比最小值大两倍以上
           %(comparable coordinates)且能量最大的一组(with the maximal energy)
           [row,col]=size(S);%记录S的行数
           uu=[0;u];
           index1=S.*J';%存储所有子集在u中对应的索引
           temp2=uu(index1+1);%存储所有子集中的元素值,(2^K)个子集,一行看成一个向量
           abstemp=abs(temp2);
           max1=max(abstemp');
           abstemp1=abstemp';
           %abstemp1(find(abstemp1==0))=maxnum;
           min1=min(abstemp1(find(abstemp1~=0)));
           min1(1)=0;
           diff=abs(max1)-2*abs(min1);%最大值大于最小值两倍以上,则>0%2倍关系可以换成其他的条件吗?
           index2=find(diff>0);%寻找满足最大值小于最小值两倍以上的索引
           if isempty(find(diff>0,1))
              disp('未发现满足正则条件的集合');
              break;
           end
           temp3=temp2(index2,:);%保留满足条件的子集
           temp4=temp3.*temp3;%中间变量,存储元素平方
           temp5=sqrt(sum(temp4,2));%按行求和,再开方,即求二范数
           [maxnorm,index3]=max(temp5);%会不会存在多个最大值?
           temp6=temp3(index3(1),:);%存储第一个最大范数的坐标向量
           temp7=temp2-temp6;%若temp6是temp2中某一行,则那一行全为0
           temp8=temp7;
           temp8(1,:)=[];
           J0=find(all(temp8== 0,2));%all(temp7== 0,2)寻找全是0的行 
           J0=index1(J0+1,:);
           if isempty(intersect(I,J0))~=0
               T=intersect(I,J0);%查找重复元素,并删除
               for jj=1:length(T)
                   T1=find(J0==T(jj));
                   J0(T1)=[];
               end
           end
           I=[I J0];%更新索引集合
           A1=A(:,I);
           y2=inv(A1'*A1)*A1'*y;%最小二乘法求y2
           r=y-A1*y2;
       end
    end
    y3=zeros(N,1);
    y3(I)=y2;%储存恢复结果
    plot(t,x,'r',t,y3,'g  *');
    legend('red 代表原始信号','green 代表恢复的信号');
    length(find(y3~=0));%在能正确恢复信号时,y3中非0系数是2K
    % A1(:,1)'*A1(:,10)
    % A(:,1)'*A(:,200)
    

    Needell D , Vershynin R . Uniform Uncertainty Principle and signal recovery via Regularized Orthogonal Matching Pursuit[J]. 2007.

    展开全文
  • 压缩感知recovery算法

    2012-10-18 09:28:43
    matlab 程序写的压缩感知恢复算法,自己试过了好用
  • 压缩感知重构算法.zip

    2020-06-12 14:35:11
    利用MATLAB实现了压缩感知重构算法,里面包含相应的函数及解释,对学习该类算法有一个较好的认识,有利于学习
  • 压缩感知OMP重构算法matlab实现

    热门讨论 2012-04-18 08:57:38
    压缩感知OMP重构算法matlab实现,OMP重构算法,本程序用于重构原始图像
  • OMP算法: % OMP的函数 % s-测量;T-观测矩阵;N-向量大小 function hat_y=omp_fun(s,T,K) N = size(T,2); Size=size(T); % 观测矩阵大小 M=Size(1); % 测量 ...

    OMP算法:

    %  OMP的函数
    %  s-测量;T-观测矩阵;N-向量大小
    function hat_y=omp_fun(s,T,K)
    N = size(T,2);
    Size=size(T);                                     %  观测矩阵大小
    M=Size(1);                                        %  测量
    hat_y=zeros(1,N);                                 %  待重构的谱域(变换域)向量                     
    Aug_t=[];                                         %  增量矩阵(初始值为空矩阵)
    r_n=s;                                            %  残差值
    for times=1:K                                  %  迭代次数(稀疏度是测量的1/4)
        for col=1: N                                %  恢复矩阵的所有列向量
            product(col)=abs(T(:,col)'*r_n);          %  恢复矩阵的列向量和残差的投影系数(内积值) 
        end
        [~, pos]=max(product);                       %  最大投影系数对应的位置
        Aug_t=[Aug_t,T(:,pos)];                       %  矩阵扩充
        T(:,pos)=zeros(M,1);                          %  选中的列置零(实质上应该去掉,为了简单我把它置零)
        aug_y=(Aug_t'*Aug_t)^(-1)*Aug_t'*s;           %  最小二乘,使残差最小
        r_n=s-Aug_t*aug_y;                            %  残差
        pos_array(times)=pos;                         %  纪录最大投影系数的位置
        
        if sum(r_n.^2) < 1e-6                              %  残差足够小
            break;
        end
    end
    hat_y(pos_array)=aug_y;                           %  重构的向量
    end
    
    展开全文
  • 二维图像(二维图像的压缩感知重构算法程序代码、内含完整的MATLAB代码)
  • 很强大的压缩感知Matlab学习代码,根据压缩感知最初的算法编写。内含多个算法与示例。
  • 压缩感知恢复算法

    2012-04-06 11:09:51
    一个能够运行的压缩感知MATLAB代码,可以直接运行,对初学者非常有帮助
  • 压缩感知算法MATLAB编写,简单易懂,有注释)
  • 压缩感知重建算法

    热门讨论 2012-10-31 23:01:46
    基于Matlab编写压缩感知重建算法集,包括OMP,CoSaMP,IHT,IRLS,GBP,SP和ROMP.-Matlab codes for CS recovery algorithms, including OMP, CoSaMP, IHT, IRLS, GBP, SP and ROMP.
  • MATLAB源码集锦-基于压缩感知算法的数据压缩与复原代码
  • 图像的压缩感知之AMP算法,相较于FISTA算法在执行效率上更加有效,迭代到30次左右可实现很小的误差。
  • 浅谈压缩感知(三十):压缩感知重构算法之L1最小二乘 主要内容: l1_ls的算法流程l1_ls的MATLAB实现一维信号的实验与结果 前言 前面所介绍的算法都是在匹配追踪算法MP基础上延伸的贪心算法,从本节开始,介绍...

    浅谈压缩感知(三十):压缩感知重构算法之L1最小二乘

    主要内容:

    1. l1_ls的算法流程
    2. l1_ls的MATLAB实现
    3. 一维信号的实验与结果

    前言

    前面所介绍的算法都是在匹配追踪算法MP基础上延伸的贪心算法,从本节开始,介绍基于凸优化的压缩感知重构算法。

    约束的凸优化问题:

    去约束的凸优化问题:

    在压缩感知中,J函数和H函数的选择:

     

    那么,后面要解决的问题就是如何通过最优化方法来求出x。

    一、l1_ls的算法

    l1_ls,全称ℓ1-regularized least squares,基于L1正则的最小二乘算法,在标准内点法的基础上,在truncated-Newton framework中,利用Hessian的结构信息来预测共轭梯度preconditioned conjugate gradient (PCG),通过PCG来计算搜索方向,这样可以大大降低计算量。

    具体参考:http://www.stanford.edu/~boyd/papers/l1_ls.html

    二、l1_ls的MATLAB实现(l1_ls.m)

    可以通过上面的链接将相关代码下载下来,这里就不贴出来。

    三、一维信号的实验与结果

    1、simple_example.m

    2、operator_example.m

    展开全文
  • 压缩感知算法(包括BCS implemented、compressive sensing basic knowledge、Matlab重构算法、omp等)
  • 压缩感知算法matlab仿真源码

    热门讨论 2012-02-18 11:41:36
    该程序包中包含了传感压缩算法中的五个经典算法源码:COSAMP,GBP,IHT,IRLS,OMP,SP
  • 压缩感知之OMP恢复算法 1、基本思想  y=Φx x=Ψθ  正交匹配追踪算法的本质思想是,以贪婪迭代的方式选择测量矩阵Φ的列,使得在每次迭代中所选择的列与当前的冗余向量最大程度地相关,从测量向量中减去相关...
  • 浅谈压缩感知(三十一):压缩感知重构算法之定点连续法FPC 主要内容: FPC的算法流程FPC的MATLAB实现一维信号的实验与结果 基于凸优化的重构算法 基于凸优化的压缩感知重构算法。 约束的凸优化问题: 去约束的...
  • 这是本人编写的基础类的压缩感知重构算法,主要是匹配追踪类算法

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 269
精华内容 107
关键字:

压缩感知matlab算法

matlab 订阅