UOMOP

X: Target PSNR, Y: FLOPs, SNR : [40, 20], CR: [1/6, 1/12] 본문

DE/Graph

X: Target PSNR, Y: FLOPs, SNR : [40, 20], CR: [1/6, 1/12]

Happy PinGu 2024. 9. 3. 14:51
% 사용자 입력 받기
dim = input('DIM을 입력하세요 (예: 512 또는 256): ');
snr = input('SNR을 입력하세요 (예: 40 또는 20): ');

% 데이터 정의 (예시로 일부 데이터만 포함)
if dim == 512 && snr == 40
    target_psnr = 18:30;
    flops_proposed = [32335.261, 32380.095, 32484.721, 32742.633, 33215.974, 34011.868, 35338.228, 37271.45, 39761.017, 42810.562, 45953.263, 48885.42, 51297.466];
    flops_topk = [32865.432, 33389.933, 34213.484, 35417.231, 36951.232, 38860.241, 41032.852, 43336.031, 45682.091, 47979.539, 50071.757, 51855.29, 53252.514];
    flops_random = [32792.189, 33435.943, 34586.223, 36317.314, 38683.51, 41410.468, 44360.919, 47321.793, 49929.422, 52056.944, 53611.452, 54625.805, 55271.487];
elseif dim == 512 && snr == 20
    target_psnr = 18:30;
    flops_proposed = [32385.177, 32503.219, 32765.629, 33386.121, 34467.462, 36307.798, 39038.375, 42469.552, 46150.944, 49479.465, 52089.831, 53792.34, 54875.458];
    flops_topk = [33029.121, 33747.983, 34934.483, 36582.607, 38754.297, 41487.554, 44476.691, 47506.338, 50095.434, 52278.621, 53830.43, 54838.791, 55470.235];
    flops_random = [33079.078, 34098.102, 35830.769, 38439.466, 41790.63, 45470.81, 48827.74, 51464.118, 53316.218, 54509.28, 55267.273, 55627.476, 55851.17];
elseif dim == 256 && snr == 40
    target_psnr = 18:30;
    flops_proposed = [32357.714, 32453.55, 32682.084, 33258.126, 34389.129, 36260.989, 38954.19, 42335.355, 45771.069, 48855.625, 51370.007, 53152.807, 54361.2];
    flops_topk = [32999.201, 33689.983, 34825.841, 36458.187, 38634.086, 41285.591, 44224.065, 47150.466, 49758.799, 51877.104, 53393.285, 54454.339, 55137.206];
    flops_random = [32921.828, 33859.309, 35559.909, 38063.347, 41420.489, 44980.723, 48248.847, 50889.997, 52908.261, 54210.167, 55020.828, 55477.283, 55745.442];
elseif dim == 256 && snr == 20
    target_psnr = 18:30;
    flops_proposed = [32441.993, 32666.689, 33209.126, 34415.886, 36568.563, 39702.694, 43527.933, 47204.448, 50310.794, 52696.407, 54155.463, 55060.636, 55539.571];
    flops_topk = [33293.274, 34240.916, 35781.677, 38033.924, 40800.303, 44123.104, 47345.443, 50189.938, 52389.889, 53915.698, 54883.619, 55483.094, 55779.46];
    flops_random = [33353.656, 34744.184, 37236.611, 40590.747, 44352.45, 47996.99, 50909.551, 52958.865, 54285.999, 55112.131, 55563.178, 55798.147, 55915.289];
else
    error('지원되지 않는 DIM 또는 SNR 값입니다.');
end

% 그래프 그리기
figure;
hold on;
deepjscc_flops = ones(size(target_psnr)) * 57070;
plot(target_psnr, deepjscc_flops, 'k-.o', 'LineWidth', 2);
plot(target_psnr, flops_random, 'g--d', 'LineWidth', 2);
plot(target_psnr, flops_topk, 'b--s', 'LineWidth', 2);
plot(target_psnr, flops_proposed, 'r-*', 'LineWidth', 2, 'MarkerSize', 8);



% CR 값 설정
if dim == 512
    cr = '1/6';
elseif dim == 256
    cr = '1/12';
else
    error('지원되지 않는 DIM 값입니다.');
end

% 그래프 설정
xlabel('Target PSNR (dB)');
ylabel('FLOPs');
title(['CR: ', cr, ', SNR: ', num2str(snr), 'dB']);
legend('DeepJSCC', 'Random', 'TopK', 'Proposed', 'Location', 'southeast');


grid on;
hold off;

'DE > Graph' 카테고리의 다른 글

Random Activate layer  (0) 2024.09.03
TopK Activate layer  (0) 2024.09.03
CBS activated layer  (0) 2024.09.03
[CBS / TopK / RS] : target PSNR, level select, final FLOPs, avg PSNR  (0) 2024.09.02
X : SNR, Y : Avg PSNR  (0) 2024.09.01
Comments