Adding two random white gaussian noise signals

조회 수: 8 (최근 30일)
Arin Dutta
Arin Dutta 2021년 6월 9일
댓글: Sulaymon Eshkabilov 2021년 6월 10일
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일
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
Arin Dutta
Arin Dutta 2021년 6월 10일
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 2021년 6월 10일
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
Arin Dutta
Arin Dutta 2021년 6월 10일
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)

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

카테고리

Help CenterFile Exchange에서 Sources에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by