Files
2024-11-11 16:32:53 +08:00

70 lines
1.2 KiB
Matlab

% load st.mat
% [ A ] = generate_matrix_long(transpose(s_T));
N = 512;
A = dftmtx(N) / sqrt(N);
A = A(1: 256, :);
Target_index = 321;
SNR = 10;
lambda = 0.0005;
%%
[ x_mf, x_cs ] = yAxn_recovery( A, SNR, Target_index, lambda );
figure(1111)
subplot(211)
plot(abs(x_mf))
subplot(212)
plot(abs(x_cs))
%%
rep_time = 500;
[ res_MF, res_CS, P_fa, H1_MF_cnt, H0_MF_cnt, H1_CS_cnt, H0_CS_cnt ] = yAxn_MC( A, SNR, Target_index, lambda, rep_time );
P_fa_MF = res_MF(:,1);
P_d_MF = res_MF(:,2);
P_fa_CS = res_CS(:,1);
P_d_CS = res_CS(:,2);
figure;
loglog(P_fa,P_fa_MF, 'linewidth', 2);
hold on;
loglog(P_fa,P_fa_CS, 'linewidth', 2);
legend('MF','CS')
xlabel('P_{fa}');
ylabel('Actual P_{fa}');
figure;
semilogx(P_fa,P_d_MF, 'linewidth', 2);
hold on;
semilogx(P_fa,P_d_CS, 'linewidth', 2);
legend('MF','CS')
xlabel('P_{fa} set');
ylabel('P_{d}');
figure;
semilogx(P_fa_MF,P_d_MF, 'linewidth', 2);
hold on;
grid on;
semilogx(P_fa_CS,P_d_CS, 'linewidth', 2);
xlim([1e-4,1])
legend('MF','CS')
xlabel('Actual P_{fa}');
ylabel('P_{d}');
title('ROC');
figure
subplot(211)
histogram(real(H0_MF_cnt(5,:)))
hold on;
histogram(real(H1_MF_cnt))
subplot(212)
histogram(real(H0_CS_cnt(5,:)))
hold on;
histogram(real(H1_CS_cnt))