在matlab下生成高斯白噪声序列的方式:
要求:产生2048个均值为m,方差为d随机序列
>>y=m+sqrt(d)*randn(1,2048);
%randn(2048)表示生成1*2048的矩阵
给信号加高斯白噪声:
>>src=[1+2i,3-4.3i,22.12+4.223i,3,12,42+3i];
>>noise=m+sqrt(d)*randn(1,6);
>>y=src+noise;
%y就是加了噪声之后的输出信号
根据信噪比生成高斯白噪声信号序列:src为信号源,src(2048,1)
>>snr=20;
%snr=10*lg(s/n) s:为信号功率,n:为噪声功率
所以:
>>n=s/(10^(snr/10));
>>noise=sqrt(n)*randn(2048,1); 2048为信号源的长度,即信号源为2048*1的矩阵
>>y=src+noise; 加噪之后输出