50 lines
724 B
Matlab
50 lines
724 B
Matlab
% Expr3.m to draw Fig 3(a)
|
|
clc;
|
|
clear;
|
|
|
|
M = 4;
|
|
N = 128;
|
|
epi = 0.02; % \Delta f / f_c = 0.02
|
|
beta = 1;
|
|
|
|
max_n = 125;
|
|
max_k = 3;
|
|
trials_time = 5;
|
|
eps = 1e-5;
|
|
|
|
prob = zeros(max_n, max_k);
|
|
|
|
rng(1)
|
|
|
|
Phi_far = zeros(N, N * M);
|
|
|
|
for n = 0:N - 1
|
|
Cn = floor(rand() * M);
|
|
|
|
for q = 0:N - 1
|
|
|
|
for p = 0:M - 1
|
|
Phi_far(n + 1, q * M + p + 1) = exp(1i * 2 * pi * p / M * Cn + 1i * 2 * pi * q / N * n * (1 + Cn * epi));
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
for n = 1:max_n
|
|
|
|
for 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");
|