UOMOP
논문성능 Update 본문
% 기존 데이터 입력 (FLOPs 데이터)
snr_512 = [30, 25, 20, 15, 10, 5, 0]; % 새로운 SNR 범위
flops_proposed_512 = [14855.182, 14400, 14073.754, 13500, 12959.42, 12000, 11114.83];
flops_TopK_512 = [31627.156, 30991, 30431.124, 28912, 25640.668, 22231, 20487.248];
flops_Random_512 = [41444.78, 39123, 34116.336, 27983, 23495.256, 20032, 18640.542];
snr_256 = [30, 20, 10, 0]; % 새로운 SNR 범위
flops_proposed_256 = [24347.008, 21197.228, 19014.698, 17960.544];
flops_TopK_256 = [38023.62, 32121.048, 23387.992, 21973.838];
flops_Random_256 = [45570.174, 39177.99, 27203.11, 19126.07];
% DeepJSCC FLOPs는 고정값
flops_DeepJSCC = 57070;
snr_DeepJSCC = [0, 5, 10, 15, 20, 25, 30]; % DeepJSCC 데이터의 SNR 범위
% dim을 기반으로 선택
dim = 512; % 원하는 dim 입력 (512 또는 256)
if dim == 512
snr = snr_512;
flops_proposed = flops_proposed_512;
flops_TopK = flops_TopK_512;
flops_Random = flops_Random_512;
else
snr = snr_256;
flops_proposed = flops_proposed_256;
flops_TopK = flops_TopK_256;
flops_Random = flops_Random_256;
end
% ylim 설정 예시
div = 47200;
figure;
% 수정된 그래프 옵션 (색상 및 스타일 개선)
plot(snr_DeepJSCC, (flops_DeepJSCC * ones(size(snr_DeepJSCC)))/div, '-k', 'LineWidth', 2, 'Marker', 'o', 'MarkerSize', 8, 'DisplayName', 'DeepJSCC'); hold on;
plot(snr, (flops_proposed+5050)/div, '-r', 'LineWidth', 2, 'Marker', 's', 'MarkerSize', 8, 'DisplayName', 'DA-JSCC (Proposed)');
plot(snr, (flops_TopK+5050)/div, '--b', 'LineWidth', 2, 'Marker', 'd', 'MarkerSize', 8, 'DisplayName', 'DA-JSCC (Top-K)');
plot(snr, (flops_Random+5050)/div, '-.','Color', [0, 0.5, 0], 'LineWidth', 2, 'Marker', '^', 'MarkerSize', 8, 'DisplayName', 'DA-JSCC (Random)');
% 그래프 옵션 설정
xlabel('SNR (dB)', 'FontSize', 12);
ylabel('Energy (Joule)', 'FontSize', 12);
legend('Location', 'southeast', 'FontSize', 10);
grid on;
ylim([0 1.4]); % y축 범위 설정
hold off;
Comments