Adding two random white gaussian noise signals

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.

답변 (2개)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021년 6월 9일
편집: Sulaymon Eshkabilov 2021년 6월 9일

0 개 추천

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

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)
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.

댓글을 달려면 로그인하십시오.

Walter Roberson
Walter Roberson 2021년 6월 9일
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

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)

댓글을 달려면 로그인하십시오.

카테고리

질문:

2021년 6월 9일

댓글:

2021년 6월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by