声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5504|回复: 5

[其他] 怎样用matlab语句实现均值为零,方差为a的白噪声

[复制链接]
发表于 2006-12-8 21:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如题,刚开始学感觉乱乱的,randm函数产生的随机序列可以看作白噪声吗?

[ 本帖最后由 zhangnan3509 于 2007-7-4 14:16 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-12-9 09:18 | 显示全部楼层
不是randm,是randn!
个人感觉数据非常长时randn近似可以,具体如下:
假设你要产生均值为b,方差为a的随机序列,在matlab帮助里面会给出如下表示
x =b + sqrt(a) * randn(1,1000000);
(可以用mean(x)和var(x)检查一下均值和方差,会发现只是近似等于b和a)。

数据短时产生的数据均值和方差一般不能满足,我一般这样作(就是数据长时我也是这样产生),仅供参考:
按你的要求,假设要生成一个1行200列的均值为0,方差为a的白噪声,
x=randn(1,200);
x=x-mean(x);
x=sqrt(a)*x/sqrt(var(x));

[ 本帖最后由 vibraman 于 2006-12-9 11:34 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2006-12-9 10:13 | 显示全部楼层

回复 #2 vibraman 的帖子

手误,写错了,是randn。谢谢啦
发表于 2006-12-9 20:32 | 显示全部楼层
学习了vibraman 的方法,如果均值是a呢?请vibraman 赐教!
发表于 2006-12-9 20:51 | 显示全部楼层
均值为b,方差为a:
x=randn(1,200);
x=x-mean(x);
x=b+sqrt(a)*x/sqrt(var(x));
发表于 2008-4-28 09:20 | 显示全部楼层

回复 2楼 的帖子

你好,在你说的方法的基础上我想产生一个高频的(比如频率为200Hz),均值为b,方差为a,的噪声,应该怎么做?谢谢!

[ 本帖最后由 jingrenzhi 于 2008-4-28 09:45 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-2 09:04 , Processed in 0.067296 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表