%正态分布(normal distribution)又名高斯分布(Gaussian distribution),
% MATLAB 命令是normrnd。
%1)R=normrnd(MU,SIGMA):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的随机数。
% 输入的向量或矩阵MU和SIGMA必须形式相同,输出R也和它们形式相同。
%2)R=normrnd(MU,SIGMA,m):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的 随机数矩阵,
% 矩阵的形式由m定义。m是一个1×2向量,其中的两个元素分别代表返回值R中行与列的维数。
%3) R=normrnd(MU,SIGMA,m,n):生成m*n形式的正态分布的随机数矩阵。
%4)randn()是标准正态分布; MATLAB命令是normrnd 功能:生成服从指定均数和标准差的正态分布的随机数列,
%即高斯随机序列。
例如:
%高斯噪声为n(m)=nmr+jnmi,其中实虚部均为独立同分布N(0, a)的高斯随机数,信号x(m)=s(m) + n(m)
% SNR = 10 lg[1/(2a)] = – 3 – 10 lg(a) (dB) [之所以是2a不是a是因为实虚部]
%若有用信号s(n)的最大幅度am,要求得到的信噪比为p,则p=10log10[(am^2)/b^2],用这个公式反推出高斯
%噪声的方差b^2
snr=10;
sqrt(a)=10^(-(snr+3)/10);
noise=normrnd(0,sqrt(a),1,1000)+1*i*normrnd(0,sqrt(a),1,1000);
%或者
noise=sqrt(a)*randn(1,1000)+1*i*sqrt(a)*randn(1,1000);