前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab - 产生高斯噪声

Matlab - 产生高斯噪声

作者头像
AIHGF
发布2019-02-18 10:49:25
2.1K0
发布2019-02-18 10:49:25
举报
文章被收录于专栏:AIUAIAIUAI

%正态分布(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);

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年10月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档