马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
今天在这个上面栽了个小跟头,想想还是写了写发上来了,求砖。
这个问题实在比较肤浅,但我今天还是失误在这上面了,所以说仔细用心还是必须的。
------------------------------------
我今天想要做的,就是生成100个150*1的列向量,每个列向量都是一个标准白噪声样本。有两种生成方法:
1、 noise=wgn(150,100,1);
2、 noise1=randn(150,100);
从randn、wgn以及其后awgn的源码看,其实是wgn调用了randn,而awgn又调用了wgn。
虽然randn的help文件里面明确写着:The randn function generates arrays of random numbers whose elements are normally distributed with mean 0, variance σ2=1, and standard deviationσ=1.但实际情况并不理想。
考虑到150*1这个序列长度有些短,我实验了10000*1的序列,即:noise=wgn(10000,1,1); 及 noise1=randn(10000,1);
我做了个histogram的图,虽然分布形式很正态,但是mean(noise)及std(noise)都不是想像中的结果。wgn也就罢了,但是randn毕竟没有能做到它所承诺做到的事情。
所以一定要再进行下面一步:
noise=(noise-mean(noise))/std(noise);
这样之后就能得到:“mean(noise)= -3.8858e-017; 及 std(noise)=1.0000;” 这样比较漂亮的结果,用着也放心。
[ 本帖最后由 eight 于 2007-9-4 21:50 编辑 ] |