• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: Matlab
  • 标签: 匹配追踪  代码  

资源简介

基于匹配追踪的算法代码已经试验过了降噪效果不错

资源截图

代码片段和文件信息

%%原理:目标是从y=Phi*x中重建稀疏的x,MP与OMP都是通过确定Phi的哪一列参与测量向量y
%中来确定x的支撑,运用贪婪模式去确定每一列。在每次迭代中,选择phi中与y的剩余部分最相关的列
%然后从y中抽取该列对y的贡献再对其冗余迭代。
%1-D信号压缩感知重建算法MP 

%测量数M>=K*log(N/K)K是稀疏度,N是信号长度

%输入:感知矩阵(测量矩阵)Phi测量向量y稀疏度K
%输出:x的k稀疏度的逼近signal_reconstruct误差向量r_n



clc;clear

%%  1. 时域测试信号生成
%产生长度为N=256的稀疏信号,其稀疏度K=23。且这23个非零值随机分布于信号256个位置
%观测向量y的长度M=80,即采样率M/N=0.3
N=256;
K=23;
M=80;

x = zeros(N1);
q = randperm(N);
x(q(1:K)) =randn(K1);    %原始信号

%% 2. 测量矩阵 及观测值获得
Phi=randn(MN); %测量矩阵 %  感知矩阵(高斯分布白噪声)M*N
matrixNorm = Phi.‘*Phi;
matrixNorm = sqrt(diag(matrixNorm)).‘;
Phi = Phi./repmat(matrixNorm [M1]);  %注意,观测矩阵是要归一化的,因为原子范数要是1!

y=Phi*x ;       %获得线性测量

%% 3.用MP算法重构信号
iterations=K;                                      %  算法

评论

共有 条评论