Correct method to add AWGN

Started by cogwsn 6 years ago8 replieslatest reply 6 years ago239 views


I have to mix two signals WiFi and ZigBee. What should be the correct method to add AWGN after chanel effects 

A . awgn(WiFi + ZigBee) 


B. awgn(WiFi) + awgn(ZigBee)

Additionally, the ZigBee which is 4 MHz wide need to be upsampled to 20 MHz in order to mix with WiFi. 

So if option B is correct, the upsampling should be done before or after adding awgn. 



[ - ]
Reply by motilitoApril 11, 2017

Option A.

The noise is added at the receiver and should be added according to your sampling bandwidth regardless of signal power. For Eb/N0 you should normalize the values according to signal bandwidth.

[ - ]
Reply by cogwsnApril 11, 2017

I could not understand this properly. Can you explain it again please 

"For Eb/N0 you should normalize the values according to signal bandwidth"

[ - ]
Reply by Tim WescottApril 11, 2017

Eb is the energy per bit.  N0 is the noise energy per bit.  White noise comes in power per Hz -- you need to solve for that to get the right noise level.

[ - ]
Reply by Tim WescottApril 11, 2017

The "A" in AWGN stands for "additive".  So all that your "awgn(x)" function is doing is adding in white Gaussian noise.

So, now you know.  Think about it, and then you tell me if it should be applied once or twice?

[ - ]
Reply by cogwsnApril 14, 2017

Post deleted by author

[ - ]
Reply by cogwsnApril 14, 2017

Okk.. I just got it 

awgn(a) = a + noise 

awgn(b) = b + noise 

awgn(a) + awgn(b) = a + b + noise + noise = a + b + 2 * noise 

:) Thanks ! 

[ - ]
Reply by Tim WescottApril 14, 2017

I think you may be embedded too deep in theory-land.

Gaussian noise comes from the environment and from the receiver.  In general there is no significant amount of Gaussian noise that's added by the transmitter.  And it's ADDITIVE.

So with no transmitters on line, your received signal is:

\(r(t) = n(t)\), where \(r(t)\) is the received signal and \(n(t)\) is noise.

With one transmitter on line, your received signal is

\(r(t) = A_1 s_1(t) + n(t)\), where \(s_1(t)\) is the first transmitted signal and \(A_1\) is the path gain.

With another transmitter on line, your received signal is:

\(r(t) = A_2 s_2(t) + A_1 s_1(t) + n(t)\), where \(s_2(t)\) is the second transmitted signal and \(A_2\) is its path gain.


[ - ]
Reply by cogwsnMay 9, 2017

Hi Tim, 

Now I am trying to come out of theory-land :)

I have another related question. I am using an SDR USRP B210 which shows me approx -100 dBm noise floor on a bandwidth of 20 MHz with a sampling rate of 20 MSPS. 

How shall I generate n(t) in Matlab so that after adding it to my -80 dBm WiFi signal, it has the same effect as it happens in real.