Adding two random white gaussian noise signals

11 views (last 30 days)
I want to add one random noise white gaussian noise signal with another random gaussian signal. For example, One signal is:
Asn1 = sqrt(noisepow/2)* (randn(size(As))+1i*(randn(size(As)))); % As is a column matrix of numbers, noisepow is a noise power amplitude value.
Now, if I want to add this with another gaussian white random noise signal with other amplitude value, for example:
Asn2 = sqrt(noisepow1/2)* (randn(size(As))+1i*(randn(size(As)))); % noisepow1 is the noise power amplitude of the 2nd noise signal.
Can I simply add these two like: Asn = Asn1 + Asn2 ?
Or, should I add the real part & imaginary part seperately?
I need some suggestions regarding this. Thanks.

Answers (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 9 Jun 2021
Edited: Sulaymon Eshkabilov on 9 Jun 2021
Yes, you should sum both components together. You can also cosnder using MATLAB's built in fcn to generate Gaussian white noise signals, e.g.:
m = ?
n = ?
power = ?
imp = ?
seed1 = 13;
seed2 = 123;
noise1 = wgn( m , n , power , imp , seed1);
noise2 = wgn( m , n , power , imp , seed2);
Noise12 = noise1+noise2;
  2 Comments
Arin Dutta
Arin Dutta on 10 Jun 2021
Thanks for your response. One problem is that here two signal is associated with real and imaginary part, i.e amplitude and phase of the signals are involved. So, two different noise sources (seeds) are there. In this case, can I simply just add these two parts ? Or should I take the root mean square values of real part and add with the imagniary part (phase). (As some signals will add and some will cancel each other due to the phase difference)
Sulaymon Eshkabilov
Sulaymon Eshkabilov on 10 Jun 2021
Sum of two noises is another random noise signal with different phases from the other two. Thus, just a sum of two WGN is what you need to compute here.

Sign in to comment.


Walter Roberson
Walter Roberson on 9 Jun 2021
format long g
A = randn + 1i*randn
A =
0.0474167459815252 + 1.54247645474268i
B = randn + 1i*randn
B =
1.04903201810354 + 1.48779885705582i
C1 = A+B
C1 =
1.09644876408506 + 3.03027531179851i
C2 = (real(A)+real(B)) + 1i * (imag(A) + imag(B))
C2 =
1.09644876408506 + 3.03027531179851i
C1 - C2
ans =
0
As you can see, the results of adding the parts separately are exactly the same as if you just add the whole numbers together. This is one of the fundamental properties of complex numbers.
  1 Comment
Arin Dutta
Arin Dutta on 10 Jun 2021
Thanks for your response. One problem is that here two signal is associated with real and imaginary part, i.e amplitude and phase of the signals are involved. So, two different noise sources (seeds) are there. In this case, can I simply just add these two parts ? Or should I take the root mean square values of real part and add with the imagniary part (phase). (As some signals will add and some will cancel each other due to the phase difference)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!