2013-03-21 113 views
0

我想在[-1 1]范围内创建或生成白噪声,但我不知道如何去做。我选择的编程语言是matlab。据我所知,存在一个名为randn的函数,还有一个名为wgn(高斯白噪声)的函数。所以,请帮助我这个问题,澄清,例如我要产生以下公式:在matlab区间生成白噪声[-1 1]

x(t)=20*sin(2*pi*f1*t)+30*cos(2*pi*f2*t)+A3*white noise 

其中A3=amplitude和白噪声的范围是[-1 1]。请帮助我,并澄清如何做到这一点。我的困惑与白噪声有关,而不是与其他噪声有关,我们假设t从1变为100.

+0

这个问题已经得到解决:http://stackoverflow.com/questions/14527915/generate-white-noise-with-amplitude-between-1-1- whith-matlab – tashuhka 2013-03-21 09:24:55

+0

但是哪一部分?我怎样才能使用公式?哪些功能可以用于白噪音? – 2013-03-21 09:27:24

+0

“白噪声”和“高斯白噪声”之间有区别......请参阅我的白噪声答案。 – bla 2013-03-21 09:39:49

回答

1

白噪声是一个随机信号,带有平坦的(恒定)功率谱密度。为此,您可以使用rand。为了获得区间[-1 1]中的白噪声,您可以添加到您的表达式white_noise=(rand(1,t)*2-1)

+0

它需要索引像white_noise(t)=(rand(1,t)* 2-1 – 2013-03-21 10:21:43

+0

我也应该乘以白噪声A3只是当t改变或A3 * white_noise(t)?请帮助我澄清它 – 2013-03-21 10:31:04

+0

但我已经测试过,也许在rand(1,t)是不正确的吗?请回答我 – 2013-03-21 10:39:53

1

我不太确定,但正如natan所说,你应该能够从均匀分布的随机样本中产生白噪声。

我将进行如下:

wn = unifrnd(-seed,seed,[m,n])/seed; 
+0

均匀分布不会导致高斯白噪声 – 2013-03-21 11:09:53