UOMOP
flops(slow fading) 본문
% 기존 데이터 입력 (FLOPs 데이터) - 반전된 순서
snr = [0, 5, 10, 15, 20, 25, 30]; % 반전된 SNR 범위
flops_proposed_512 = [11114.83, 12000, 12959.42, 13500, 14073.754, 14400, 14855.182];
flops_TopK_512 = [20487.248, 22231, 25640.668, 28912, 30431.124, 30991, 31627.156];
flops_Random_512 = [18640.542, 20032, 23495.256, 27983, 34116.336, 39123, 41444.78];
flops_proposed_256 = [15960.544, 16487.621, 17014.698, 18105.963, 19197.228, 20772.118, 22347.008];
flops_TopK_256 = [19973.838, 20680.915, 22387.992, 25754.520, 30121.048, 33072.334, 36023.62];
flops_Random_256 = [17126.07, 20764.59, 25203.11, 31190.55, 37177.99, 41274.082, 43570.174];
% DeepJSCC FLOPs는 고정값
flops_DeepJSCC = 57070;
% dim을 기반으로 선택
dim = 256; % 원하는 dim 입력 (512 또는 256)
if dim == 512
flops_proposed = flops_proposed_512;
flops_TopK = flops_TopK_512;
flops_Random = flops_Random_512;
else
flops_proposed = flops_proposed_256;
flops_TopK = flops_TopK_256;
flops_Random = flops_Random_256;
end
% ylim 설정 예시
div = 47200;
figure;
% 수정된 그래프 옵션 (색상 및 스타일 개선)
plot(snr, (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