2013-03-21 114 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