estimate_via_channel_snr.m

来自「放大转发协同通信的有关仿真代码」· M 代码 · 共 25 行

M
25
字号
function [SNR_via]=estimate_via_channel_SNR(channel_sr,channel_rd,mode);
%估计via路的信噪比
global relay
global signal
switch mode
    case 'AAF'    
        xi=abs(signal.symbol_sequence).^2;
        SNR_via=relay.amplification.^2.*channel_sr.attenuation.h_mag.^2.*channel_rd.attenuation.h_mag.^2.*xi;
        SNR_via=SNR_via./(relay.amplification.^2.*channel_rd.attenuation.h_mag.^2.*2.*channel_sr.noise.sigma.^2+2.*channel_rd.noise.sigma.^2);
    case 'DAF'
        snr_sr=10^(channel_sr.noise.SNR/10);
        snr_rd=10^(channel_rd.noise.SNR/10);
        ber_sr=ber(snr_sr,signal.modulation_type,channel_sr.attenuation.pattern);
        ber_rd=ber(snr_rd,signal.modulation_type,channel_rd.attenuation.pattern);
        ber_srd=ber_sr*(1-ber_rd)+(1-ber_sr)*ber_rd;
        SNR_via=ber2SNR_DAF(ber_srd,signal.modulation_type,channel_rd.attenuation.pattern);
    otherwise
        error(['mode unknown:',mode])
end

        
            
            
          
        

⌨️ 快捷键说明

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