蒙特卡洛实验需要循环大量样本数据时,为固定仿真信号的信噪比方便对比,对实测信号或噪声序列一定比例的放大或缩小。根据信号和噪声序列,求某固定信噪比对应的噪声系数。
如,已知有用信号s和噪声信号n1
希望得到0,5,10,15,20dB时的合成信号,输入SCR_inSeq = [0:5:20],计算得到这些信噪比的合成信号序列SNR_in1。
该系数的计算程序:
SCR_inSeq = [0:5:20];%% 循环所需信噪比序列
Pn = sum((abs(n1)).^2);% 噪声序列功率
Ps = sum((abs(s)).^2);% 信号序列功率
for i = 1:length(SCR_inSeq)
a_seq(i) = sqrt(Ps/Pn/(10.^(SCR_inSeq(i)/10)));% 幅值比例
nois_s1 =a_seq(i)*n1;% 幅值代入
SNR_in1(aseq_i) = snr(abs(s),abs(nois_s1));% 验证
end