y=randn(1,100)高斯分布
y=rand(1,100)均与分布
R=exprnd(MU,m,n) 生成m×n形式的指数分布的随机数矩阵。
RAYLCDF Rayleigh cumulative distribution function.
P = RAYLCDF(X,B) returns the Rayleigh cumulative distribution
function with parameter B at the values in X.
The size of P is the common size of X and B. A scalar input
functions as a constant matrix of the same size as the other input.
扩展资料
matlab中噪声功率、噪声方差关系,以matlab中awgn函数为例说明:
在matlab中无论是wgn还是awgn函数,实质都是由randn函数产生的噪声。即:wgn函数中调用了randn函数,而awgn函数中调用了wgn函数。
根据awgn的实现代码可以知道”向已知信号添加某个信噪比(SNR)的高斯白噪声“,即:awgn(x,snr,’measured’,'linear’),命令的作用是对原信号x添加信噪比(比值)为SNR的噪声,在添加之前先估计信号x的强度。
在求出x的强度后,结合指定的信噪比,就可以求出需要添加的噪声的强度noisePower=sigPower/SNR。
由于使用的是高斯白噪声即randn函数,而randn的结果是一个强度为1的随机序列(自己试试sum(randn(1000,1).^2)/1000就知道了,注意信号的长度不能太小)。于是,所要添加的噪声信号显然就是:sqrt(noisePower)*randn(n,1)
其中n为信号长度,自然要求的白噪声的方差也可以求出来。
参考资料来源:百度百科 - 白噪声
百度百科 - MATLAB
百度百科 - AWGN
用matlab产生一个均值为1,方差为0.2的高斯白噪声的方法如下:1、R
=
normrnd(MU,SIGMA)
2、R
=
normrnd(MU,SIGMA,m)
3、R
=
normrnd(MU,SIGMA,m,n)
4、假设输入信号为X,则给X加上一个均值为0,方差为1的高斯白噪声信号的方法为:
Y=X+normrnd(0,1)
5、%
设置采样区间
k=(0:300)'/100
6、%
计算采样值
x=sin(2*pi*k)
7、%
施加高斯白噪声
y=awgn(x,0)
figure(1)
8、%
设置绘图位置,左下角距屏幕左200像素,下200像素,宽800像素,高300像素
set(gcf,'Position',[200,200,800,300])
9、%
绘图网格1*2,左图绘制原始信号,右图绘制噪声信号
subplot(1,2,1),plot(k,x)
subplot(1,2,2),plot(k,y)
所谓高斯白噪声中的高斯是指概率分布是正态函数,而白噪声是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。这是考查一个信号的两个不同方面的问题。
高斯白噪声:如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
热噪声和散粒噪声是高斯白噪声
matlab中awgn函数用来在信号中加入高斯白噪声,用法为:y = awgn(x,SNR)
信噪比SNR以dB为单位。题目要求信噪比为5%,那就是大噪声中的小信号。
如果纯信号为幅值为1的正弦信号,代码如下:
clear all
close all
x=0:0.2:10
data1=sin(x)
plot(x,data1)
hold on
data2=awgn(data1,10*log10(0.08))
plot(x,data2,'r-')
hold off
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)