How to generate Gaussian white noise with certain variance in Matlab?
224 views (last 30 days)
Show older comments
Konstantinos
on 7 Dec 2013
Commented: Juan José Retana Díaz
on 27 Oct 2022
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!
0 Comments
Accepted Answer
Walter Roberson
on 7 Dec 2013
Skip the first 2 lines, assign the desired value to the variance, and continue on with W and Xmodt.
More Answers (3)
Zerihun Abebe
on 26 Apr 2016
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.
0 Comments
Juan José Retana Díaz
on 27 Oct 2022
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.
1 Comment
Juan José Retana Díaz
on 27 Oct 2022
I forgot to say that my signal is real and only have 1x6000 double values
See Also
Categories
Find more on Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!