Files

35 lines
695 B
Matlab

function flg = Expr3_can_recovery(Phi_far, N, M, n, s, eps)
% select random n cols
col_choose = randperm(N, n);
Phi = Phi_far(col_choose, :);
% generate sparse signal
sparse_signal = zeros(M, N);
block = randperm(N, s);
sparse_signal(:, block) = exp(1i * 2 * pi * rand(M, s));
% generate y
y = Phi * sparse_signal(:);
cvx_begin quiet
variable x(M, N) complex
norm21 = 0;
for i = 1:N
norm21 = norm21 + norm(x(:, i));
end
minimize(norm21)
subject to
Phi * x(:) == y
cvx_end
p = norm(x(:) - sparse_signal(:), 2);
if p < eps
flg = 1;
else
flg = 0;
end
end