gngauss.m

来自「2FSK 的调制与解调 实现误码率图 MATLAB」· M 代码 · 共 17 行

M
17
字号
function [gsrv1,gsrv2]=gngauss(m,sgma)
%     [gsrv1,gsrv2]=gngauss(m,sgma)
%     [gsrv1,gsrv2]=gngauss(sgma)
%     [gsrv1,gsrv2]=gngauss
%         GNGAUSS 产生两个独立的随机数m和standard .如果输入数据丢失,则用0来替代.          
%         如果均值和variance没给出,将产生连个标准高斯白噪声.
if nargin == 0,
    m=0;sgma=1;
elseif nargin == 1,
    sgma=m;m=0;
end;
u=rand;                         % 产生(0,1)之间的随机数
z=sgma*(sqrt(2*log(1/(1-u))));  % a Rayleigh distributed random variable
u=rand;                         % 产生另一个(0,1)之间的随机数
gsrv1=m+z*cos(2*pi*u);
gsrv2=m+z*sin(2*pi*u);

⌨️ 快捷键说明

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