0

I am trying to use compressed sensing for a 2D matrix. I am trying to run the following piece of code -

Nf=800;

N=401;

E=E(Nf,N);   %matrix of signal(this only for sampling) real matrix E is 2D matrix with size of Nf and N

% compressive sensing
M=ceil(0.3*N);
psi=fft(eye(N)); 
phi=randi(M,N);
EE = permute(E,[2 1]);
theta=phi*psi;
for k=1:Nf
y(:,k)=phi*EE(:,k);
 end

x0 = theta.'*y;
for p=1:Nf
X_hat(:,p) = l1eq_pd(x0(:,p), theta, [], y(:,p), 1e-5); %l1eq_pd=l1-magic
end
X1_hat=psi*X_hat;
XX_hat=permute(X1_hat,[2 1]);

but while running the code I get the following error.

Error using linsolve
Matrix must be positive definite.
Error in l1eq_pd (line 77)
[w, hcond] = linsolve(A*A', b, opts);

Error in simulation_mono_SAR (line 91)

X_hat(:,p) = l1eq_pd(x0(:,p), theta, [], y(:,p), 1e-5);

Could someone point me, what is the problem? Is it a problem inherent to l1-magic? shall I use another solver?

Neda
  • 9
  • 4

0 Answers0