performance_eval.m

来自「程序里面包含各部分算法仿真 可供参考和使用」· M 代码 · 共 93 行

M
93
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%性能评估


save saved_data.mat;    % 保存数据


snr = [Eb_NoStart:Eb_NoInterval:Eb_NoEnd];

% 以下均考虑第u个用户的误比特率性能
u = 1;

% 误比特率,误符号率性能曲线

ber = sum(user_bit_err{u},1)./( length(user_bit{u})*N_frame) ;

figure(1);
semilogy(snr,ber,'b-*'); 
hold on ;
grid on ;
xlabel('Eb/No (dB)','FontSize',12);
ylabel('BER','FontSize',12);
title('系统BER~Eb/No性能曲线');

% figure(2);
% semilogy(snr,ser,'b-*'); 
% hold on ;
% grid on ;
% xlabel('Eb/No (dB)','FontSize',12);
% ylabel('BER','FontSize',12);
% title('系统SER~Eb/No性能曲线');


% 信道估计器的MSE性能曲线

mse_ce = sum(mse_ce_acc{u},1)/N_frame;

figure(2);
semilogy(snr,mse_ce,'k-v');
hold on ;
grid on ;
xlabel('Eb/No (dB)','FontSize',12);
ylabel('MSE','FontSize',12);
title('信道估计器的MSE性能曲线');

% nmse_ce = sum(nmse_ce_acc{u},1)/N_frame;
% figure(2);
% semilogy(snr,nmse_ce,'k-v');
% hold on ;
% grid on ;
% xlabel('Eb/No (dB)','FontSize',12);
% ylabel('NMSE','FontSize',12);
% title('信道估计器的归一化MSE性能曲线');


% 帧定时的误差性能曲线

err_timing1 = sum( abs(frame_timing_acc{u}),1 )/N_frame;

% figure(3);
% stem(snr,err_timing1,'k-s');
% hold on ;
% grid on ;
% axis([0 20 0 100]);
% xlabel('Eb/No (dB)','FontSize',12);
% ylabel('定时误差(样点数)','FontSize',12);
% title('帧定时的误差性能曲线');

% 载波同步误差MSE性能曲线

MSE_freq = sum( abs(freq_syn_acc{u}).^2 ,1 )/N_frame;
NMSE_freq = MSE_freq/delta_fc^2;

% figure(4);
% semilogy(snr,MSE_freq,'k-s');
% hold on ;
% grid on ;
% xlabel('Eb/No (dB)','FontSize',12);
% ylabel('载波同步误差MSE','FontSize',12);
% title('载波同步误差MSE性能曲线');


% figure(4);
% semilogy(snr,NMSE_freq,'k-s');
% hold on ;
% grid on ;
% xlabel('Eb/No (dB)','FontSize',12);
% ylabel('载波同步误差NMSE','FontSize',12);
% title('载波同步误差归一化MSE性能曲线');



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?