close all; clear all; clc; M = 4; N = 128; %block_sparsity = 1; tol = 1e-4; trial = 20; max_sparsity = 25; epi = 0.02; result = zeros(N,max_sparsity); FAR_model = get_far_model(N, M, epi); for n = 60:N for s = 10:max_sparsity success_count = 0; for loop = 1:trial col_choose = randperm(N,n); FAR_model_partial = FAR_model(col_choose,:); sparse_signal = zeros(M,N); block = randperm(N,s); sparse_signal(:,block) = exp(1i*2*pi*rand(M,s)); y = FAR_model_partial * sparse_signal(:); cvx_begin variable x(M,N) complex norm21 = 0; for i = 1:N norm21 = norm21 + norm(x(:,i)); end minimize(norm21) subject to FAR_model_partial * x(:) == y cvx_end if norm(x(:)-sparse_signal(:))