# Adding AWGN noise with a correct noise power to the signal

I would like to add AWGN noise to my BPSK and QPSK signal. So assume the BPSK signal is x1 and QPSK signal is x2. The EbN0 is $10\textrm{ dB}$. Therefore I will first convert the EbN0 from $\textrm{dB}$ to linear scale. Assume Eb=1 and Es=1.

• I would like to know can anyone explain to me, should the noise power be N0 or N0/2?

I am really confused since according to this link N0 is used to add noise to one dimensional noise and N0/2 is used to add noise to two dimensional signal. Therefore if Eb=1 and EbN0=10 $\textrm{dB}$

• Eb=1;
N=1e6;

EbN0=10;
EbN0_lin=10^(EBN0/10);
N0=Eb/EBN0_lin;
noise=sqrt(N0)*randn(1,length(x1))

or should it be

noise=sqrt(N0/2)*randn(1,length(x1))

The same thing for QPSK, is it

• Es=1;
EsN0=10;
EsN0_lin=10^(EsN0/10);
N0=Es/EsN0_lin;
noise=sqrt(N0)*randn(1,length(x2))

or

noise=sqrt(N0/2)*randn(1,length(x2))

I was thinking that according to convention the N0 is sigma^2/2 however the link above is saying different things.

• Can anyone explain the correct way of calibrating the noise?
• And explain if the above reference is incorrect or not?

The kind of AWGN channel you're simulating is sometimes called a "discrete time" channel. That means that you're going to simulate the bit error rate at the output of a decision device, the input to which is produced by a correlator. This is more easily explained by looking into the transmission and reception of a single bit. I'll assume BPSK.

Let's say that you transmit the physical signal $a_0p(t)$, where $a_0$ is either $A$ or $-A$, and $p(t)$ is a pulse of unit energy. To make things easier we'll assume $p(t)$ is symmetrical, that is, $p(t)=p(-t)$ (this is true for all practical systems I know). Note that, in this scenario, the bit energy is $E_b=A^2$.

Assuming that there is no noise, the received signal is $r(t)=a_0p(t)$. The receiver correlates $r(t)$ with the transmitted pulse $p(t)$. The output of the correlator is $$\int_{-\infty}^\infty a_0 p(t)p(t)\,dt=a_0,$$ where I've used the fact that the pulse has unit energy.

Now assume that the input to the correlator is pure Gaussian white noise $n(t)$ with PSD $N_0/2$ and zero mean. Then, the correlator's output is $$n=\int_{-\infty}^\infty n(t)p(t).$$ By the Wiener-Khinchine theorem, $n$ is a zero-mean Gaussian random variable with variance $\sigma_n^2=N_0/2$.

In the case of having signal plus noise at the receiver's input, the output will be $$r=a_0+n$$ because the correlator is linear. Using the value of $r$, a decision can be made on whether $A$ or $-A$ was transmitted.

We define the SNR at the correlator's output as the bit energy divided by the noise variance: $$\text{SNR}=\frac{a_0^2}{\sigma_n^2}=\frac{2E_b}{N_0}=\frac{2A^2}{N_0}.$$

Notes:

• When you plot the BER, you'll likely use $E_b/N_0$ in the horizontal axis. The reason is that in quadrature modulations, the total noise power is $N_0$, not $N_0/2$.
• Practical systems use a matched filter instead of a correlator. The results are exactly the same.
• In a practical system there will be delay, you transmit multiple pulses instead of only one, etc. Those details are not essential to understanding how the SNR is measured in your simulation.
• Therefore whether it is qpsk or bpsk it is still sqrt(N0/2) that should be multiplied by randn since link above consider N0 for one dimensional noise and N0/2 for two dimensional noise. I am just wondering what would be the difference in calibration of noise power which means the coefficient of randn for different modulation Aug 23, 2016 at 22:57
• The noise power is always $N_0/2$ per dimension. So, in the case of QPSK, you add noise of that power to the in-phase (real) component and noise of the same power to the quadrature (imaginary) component, for a total noise power (real+imaginary) of $N_0$.
– MBaz
Aug 23, 2016 at 23:40