# Matlab question (noise addition)

Status
Not open for further replies.

#### lincolndsp

##### Banned
noise addition in matlab

How can I accurately add to my signal white
gaussian noise of exact SNR in dB (in POWER not
voltage terms)?
when I use awgn(...) function it seems
to me the noise has more power than I
set in its SNR parameter.

#### davyzhu

##### Advanced Member level 1
noise addition in matlab

Hi,

I suggest you use randn().

1D noise:
Code:
noise = sqrt(variance)*randn(1, symbols_per_frame );

2D noise:
Code:
noise = sqrt(variance)*( randn(1,symbols_per_frame) + j*randn(1,symbols_per_frame) );

Regards,
Davy

### lincolndsp

Points: 2

#### lincolndsp

##### Banned

please tell me how then set SNR in power terms?

#### davyzhu

##### Advanced Member level 1
Sorry, I am not familiar with awgn().

You may turn to NewsGroup: comp.soft-sys.matlab
to ask the question.

You can access NewsGroup via groups.google.com

Regards,
Davy

### lincolndsp

Points: 2

#### mimomod

##### Member level 4
Hi lincolndsp,

from the formula SNR = 10 * log_10 (P_signal/P_noise) we get (Ps/Pn) = 10^(SNR/10).

In my simulation I usually set the power of the input signal Ps equals to 1, then vary the power of the noise (variance). So,

Pn = 10^(-SNR/10);
noise = sqrt(Pn)*randn(1, symbols_per_frame );

best

Points: 2