Add Phase Transitions in FAR using CS folder
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
% Expr2.m to draw Fig 3(a)
|
||||
clc;
|
||||
clear;
|
||||
|
||||
M = 4;
|
||||
N = 128;
|
||||
rate = 0.02; % \Delta f / f_c = 0.02
|
||||
beta = 1;
|
||||
|
||||
max_n = 125;
|
||||
max_k = 25;
|
||||
trials_time = 10;
|
||||
eps = 1e-5;
|
||||
|
||||
prob = zeros(max_n, max_k);
|
||||
|
||||
rng(1)
|
||||
|
||||
Phi_far = zeros(N, N * M);
|
||||
|
||||
C = randi([0, M-1], 1, N);
|
||||
vecn = 0:N-1;
|
||||
xi = 1 + rate .* C;
|
||||
|
||||
for i = 1:N
|
||||
for j = 1:M
|
||||
t = (i-1)*M+j;
|
||||
temp = 1/sqrt(N) .* exp(1j * 2 * pi + (j-1) / M .* C + 1j * 2 * pi * (i-1)/N .* vecn .* xi);
|
||||
Phi_far(:, t) = temp;
|
||||
end
|
||||
disp(ctranspose(Phi_far(:,1)) * Phi_far(:,1))
|
||||
end
|
||||
|
||||
|
||||
% n = 60; 0
|
||||
n = 70;
|
||||
k = 7;
|
||||
|
||||
s = beta * k * M;
|
||||
x = 0;
|
||||
|
||||
for t = 1:trials_time
|
||||
x = x + Expr3_can_recovery(Phi_far, N, M, n, s, eps);
|
||||
end
|
||||
disp(x);
|
||||
|
||||
|
||||
for n = 1:max_n
|
||||
|
||||
parfor k = 1:max_k
|
||||
s = beta * k * M;
|
||||
x = 0;
|
||||
|
||||
for t = 1:trials_time
|
||||
x = x + Expr3_can_recovery(Phi_far, N, M, n, s, eps);
|
||||
end
|
||||
|
||||
prob(n, k) = x / trials_time;
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
save("Expr3.mat", "prob");
|
||||
Reference in New Issue
Block a user