How to generate Gaussian white noise with certain variance in Matlab?

225 次查看(过去 30 天)
Hey, I have a signal Xmodt to which I want to add Gaussian white noise W with mean value equal to zero (by definition) and variance equal to 1/(Ts*(10^(SNRdb/10))). From what I have found online, I created the following code:
Ts=0.1; %Given sampling period
SNRdb = 10; %Given SNRdb
variance = 1/(Ts*(10^(SNRdb/10)));
W = sqrt(variance).*randn(1,size(Xmodt,2)); %Gaussian white noise W
Xmodt = Xmodt + W; %Add the noise
I know that in this example variance equals to 1, but I need to find a general solution. So, is this code correct? Thanks in advance!

采纳的回答

Walter Roberson
Walter Roberson 2013-12-7
Skip the first 2 lines, assign the desired value to the variance, and continue on with W and Xmodt.
  1 个评论
Konstantinos
Konstantinos 2013-12-8
编辑:Konstantinos 2013-12-8
Well, the first 3 lines are not my problem but I added them for typical reasons. So, you mean that the last 2 lines of code are correct? Do they produce and add white Gaussian noise to the signal?

请先登录,再进行评论。

更多回答(3 个)

Zerihun Abebe
Zerihun Abebe 2016-4-26
Computer Experiment. Consider the linear system defined by Generate 1500 samples of a unit-variance, zero-mean, white-noise sequence xn, n = 0, 1, . . . , 1499 and filter them through the filter H to obtain the output sequence yn. Compute the sample cross-correlation ˆRyx(k) for k = 0, 1, . . . , 50 to obtain estimates of the impulse response hk. On the same graph, plot the estimated impulse response versus time, together with the simulated response Repeat, using a different realization of xn.

fluid
fluid 2017-10-22
编辑:fluid 2017-10-22
y1 = wgn(1000, 1, 0); % a 1000-element white noise with power 0dBW, that is 1W
var(y1)
ans:
ans = 0.9979

Juan José Retana Díaz
I have a doubt, what does the number "2" means in the line: W = sqrt(variance).*randn(1,size(Xmodt,2));
Please help me, I need to add white gaussian noise to a signal with zero mean and a variance of 4.7 x 10^-5.

类别

Help CenterFile Exchange 中查找有关 Filter Analysis 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by