• 大小: 12KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: ISAR  bp  omp  Yake  

资源简介

一份很好的ISAR目标识别的代码,参考意义很大,其中包括了OMP BP方法

资源截图

代码片段和文件信息

clc
clear all;
close all;
load D:\matlabdata\VCCHEN\MIG25.MAT
tempp=fft(X);
range=myfftshit(tempp);
data7=range(:385:512);
% data7=range(:1:128);
% %
mm=64;
for n=1:mm
    bb=fix(rand(1)*128)+1;
    cc(n)=bb;
end
for i=1:mm
    for j=i+1:mm
        if cc(i)==cc(j)
            cc(j)=cc(j)+1;
            if cc(j)>128
                cc(j)=cc(j)-128;
            end
        end
    end
end
data7(:cc)=0;
% %
data7=awgn(data710);
K=8;     %  稀疏度
N=128;    %  信号长度
M=128;    %  测量数(M>=K*log(N/K)但有出错的概率)
for coll=1:64
    mmm=data7(coll:);
    % 时域信号压缩传感
    Phi=randn(MN);                                   %  测量矩阵(高斯分布白噪声)
    s=Phi*mmm‘;                                       %  获得线性测量
    % 正交匹配追踪法重构信号(本质上是L_1范数最优化问题)
    m=2*K;                                              %  算法迭代次数(m>=K)
    Psi=fft(eye(NN))/sqrt(N);                        %  傅里叶正变换矩阵
    T=Phi*Psi‘;                                       %  恢复矩阵(测量矩阵*正交反变换矩阵)
    hat_y=zeros(1N);                                 %  待重构的谱域(变换域)向量
    Aug_t=[];                                         %  增量矩阵(初始值为空矩阵)
    r_n=s;                                            %  残差值
    for times=1:m;                                    %  迭代次数(有噪声的情况下该迭代次数为K)
        for col=1:N;                                  %  恢复矩阵的所有列向量
            product(col)=abs(T(:col)‘*r_n);          %  恢复矩阵的列向量和残差的投影系数(内积值)
        end
        [valpos]=max(product);                       %  最大投影系数对应的位置
        Aug_t=[Aug_tT(:pos)];                       %  矩阵扩充
        T(:pos)=zeros(M1);                          %  选中的列置零(实质上应该去掉,为了简单我把它置零)
        aug_y=(Aug_t‘*Aug_t)^(-1)*Aug_t‘*s;           %  最小二乘使残差最小
        r_n=s-Aug_t*aug_y;                            %  残差
        pos_array(times)=pos;                         %  纪录最大投影系数的位置
    end
    hat_y(pos_array)=aug_y;                           %  重构的谱域向量
    data8(coll:)=hat_y;
end
im=myfftshit(data8);
imm=fftshift(im);
g=imm(:end:-1:1);
figure;
imshow(1-flipud(log10(20*(g/max(max(g))))));
% title(‘ISAR IMAGING USING CS‘);
axis on;
% grid on;
% axis([0 7680 150]);
xlabel(‘方位向‘);
ylabel(‘距离向‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-03-15 15:36  matlab\
     文件        1817  2012-11-25 08:50  matlab\MIG25N.m
     文件        2513  2013-03-10 21:35  matlab\OMPN.m
     文件        4006  2013-03-10 21:57  matlab\OMPsin.m
     文件        1538  2013-03-10 10:48  matlab\Yake.m
     文件        1972  2013-03-10 23:31  matlab\YakeBP.m
     文件        2519  2013-03-10 23:01  matlab\YakeBP2.m
     文件        3558  2013-03-10 23:30  matlab\YakeOMP.m
     文件        3812  2013-03-10 22:59  matlab\YakeOMP2.m
     文件        2418  2012-11-25 08:47  matlab\mig25cs.m
     文件         156  2012-05-14 17:59  matlab\myfftshit.m

评论

共有 条评论