UOMOP

PSNR 본문

카테고리 없음

PSNR

Happy PinGu 2025. 1. 13. 16:54
% 기존 데이터 입력
snr_512 = [30, 25, 20, 15, 10, 5, 0];
psnr_DeepJSCC_512 = [20.781, 23.6, 25.801, 27.5, 28.817, 30, 31.227];
psnr_proposed_512 = [30.19, 29.4, 28.48, 27, 25.08, 23, 19.55];
psnr_TopK_512 = [29.09, 28, 26.83, 25.5, 23.99, 21.8, 19.71];
psnr_Random_512 = [28.2, 27.2, 26.18, 24.8, 23.24, 20.9, 17.72];


%snr_256 = [30, 20, 10, 0];
%psnr_DeepJSCC_256 = [19.638, 23.318, 26.505, 27.997];
%psnr_proposed_256 = [27.35, 25.98, 23.23, 20.20];
%psnr_TopK_256 = [26.80, 25.34, 22.61, 19.32];
%psnr_Random_256 = [26.92, 25.24, 21.69, 17.96];


% DeepJSCC 데이터 추가


snr_DeepJSCC = [0, 5, 10, 15, 20, 25, 30]; % DeepJSCC 데이터의 SNR 범위

% dim을 기반으로 선택
dim = 512;  % 원하는 dim 입력 (512 또는 256)

if dim == 512
    snr = snr_512;
    psnr_proposed = psnr_proposed_512;
    psnr_TopK = psnr_TopK_512;
    psnr_Random = psnr_Random_512;
    psnr_DeepJSCC = psnr_DeepJSCC_512;
%else
    %snr = snr_256;
    %psnr_proposed = psnr_proposed_256;
    %psnr_TopK = psnr_TopK_256;
    %psnr_Random = psnr_Random_256;
    %psnr_DeepJSCC = psnr_DeepJSCC_256;
end

% 그래프 그리기
% 그래프 그리기
figure;
plot(snr_DeepJSCC, psnr_DeepJSCC, '-k', 'LineWidth', 2, 'Marker', 'o', 'MarkerSize', 8, 'DisplayName', 'DeepJSCC'); hold on; % 검정 실선과 원형 마커
plot(snr, psnr_proposed, '-r', 'LineWidth', 2, 'Marker', 's', 'MarkerSize', 8, 'DisplayName', 'DA-JSCC (Proposed)'); % 빨간 실선과 사각형 마커
plot(snr, psnr_TopK, '--b', 'LineWidth', 2, 'Marker', 'd', 'MarkerSize', 8, 'DisplayName', 'DA-JSCC (Top-K)'); % 파란 점선과 다이아몬드 마커
plot(snr, psnr_Random, '-.','Color', [0, 0.5, 0], 'LineWidth', 2, 'Marker', '^', 'MarkerSize', 8, 'DisplayName', 'DA-JSCC (Random)'); % 녹색 점선과 삼각형 마커

% 그래프 옵션 설정
xlabel('SNR (dB)', 'FontSize', 12);
ylabel('PSNR (dB)', 'FontSize', 12);
ylim([0 35]); % y축 범위 설정
legend('Location', 'southeast', 'FontSize', 10);
grid on;
hold off;
Comments