zdly.net
当前位置:首页 >> noisE=0.05*rAnDn(N,1); 在mAtlAB里是什么意思啊 >>

noisE=0.05*rAnDn(N,1); 在mAtlAB里是什么意思啊

%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声sound=wavread('c12345.wav');count1=length(sound);noise=0.05*randn(1,count1);for i=1:count1signal(i)=sound(i);endfor i=1:count1y(i)=signal(i)+noise(i);end%在

randn(n,1)就是产生服从方差为1,均值为0 ( 即n(0,1) )的gaussian分布的随机噪音根据gaussian概率密度函数的特性,a+b*n(miu, sigma) = n(a+miu, b*sigma) 所以你就明白了为什么0.05是标准差了,或者,如果你如果想让均值为5就是noise=5+randn(n,1);

这是一个数学函数 noise=random(1,5000)噪声=随机函数(1,5000)

点运算是处理的元素之间的运算,而直接的/在矩阵计算中只能处理符合矩阵运算法则的运算.比如作图时的运算用的都是点运算.在对数值计算时,“./”和“/”其实是没有区别的.例如对于矩阵A=[a b c d],1./A=[1/a 1/b 1/c 1/d],而1/A表示的是A的逆

就是设定一个噪声范围

选出n维1列正态排列随机数中大于0.5的数的位置

以高斯噪声为例:若有用信号s(n)的最大幅度am,要求得到的信噪比为p,则p=10log10[(am^2)/b^2],用这个公式反推出高斯噪声的方差b^2,若s(n)单通道实信号,则Matlab程序就是x=s+b*randn(size(s));若s(n)是正交双通道信号,则Matlab程

楼上说的有一定道理,但理论性太强,楼主可以这么理解吧,5%就是说你有5%的概率加入噪声.实现方法:产生0到1均匀分布随机数,如果产生的随机数小于0.05,那就加噪声,否则不加实现:a = rand; %%%%产生随机数if a<=0.05 ******* %%%%%加噪声的代码end

功能:产生标准正态分布的随机数或矩阵的函数.用法:Y = randn(n) 返回一个n*n的随机项的矩阵.如果n不是个数量,将返回错误信息.Y = randn(m,n) 或 Y = randn([m n]) 返回一个m*n的随机项矩阵.Y = randn(m,n,p,) 或 Y = randn([m n p]) 产生随机数组.Y = randn(size(A)) 返回一个和A有同样维数大小的随机数组.randn 返回一个每次都变化的数量.

第一种方法,你是自己算信号功率,然后换算成噪声功率计算的.第二种方法,如果直接按照你的写法awgn(X,10)的话,默认信号功率是0dBW.所以,应该使用awgn(x,snr,sigpower),把信号的实际功率写出来.这样两个就应该差不多了.

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.zdly.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com