% This program produces Fig. 4 from paper: % Stankovic, L. & Dakovic, M. Circuits Syst Signal Process (2018). https://doi.org/10.1007/s00034-018-0955-9 % Copyright by M. Dakovic, Lj. Stankovic, Oct. 2018. % CS parameters clear all rng('default') rand(8,1); randn(16,1); Ks=8; N=128; M=64; % Measurement matrix %Amm=randn(N); Amm=dctmtx(N); pp=randperm(N);pp=pp(1:M); Amm=Amm(pp,:); pp3=pp; % Normalization for m=1:M Amm(m,:)=Amm(m,:)/sqrt(sum(Amm(m,:).^2)); if sum(Amm(m,:))<0, Amm(m,:)=-Amm(m,:); end end X0=zeros(N,1); pp=randperm(N,Ks); X0(pp)=sign(rand(Ks,1)-0.5).*(3+randn(Ks,1)); y=Amm*X0; % Choose M columns from measuring matrix with good conditional number C0=Inf; for it=1:1000 pp=randperm(N); p1=sort(pp(1:M)); p2=sort(pp(M+1:end)); AM=Amm(:,p1); A3=Amm(:,p2); cc=cond(AM); if cc