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 + -
显示快捷键?