Update Lyh experiment
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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(:))<tol
|
||||
success_count = success_count+1;
|
||||
end
|
||||
end
|
||||
result(n,s) = success_count/trial;
|
||||
end
|
||||
end
|
||||
save('FARblockepsilon4.mat');
|
||||
Reference in New Issue
Block a user