In a paper about radar, the transmitted signal expressed in low-pass equivalent form is given by $\sqrt{E}s(t)$, where $E$ is the transmitted energy, $s(t)$ satisfies $$ \int_T | s(t) |^2 dt = 1, $$ and $T$ is the pulse duration.

Here $$ s(t) = \sqrt{\frac{1}{T}} \exp(j2\pi f_c t) $$ and the received signal is $$ r(t) = \alpha s(t) + n(t) $$ and the SNR in this paper is $$ \frac{E |\alpha|^2}{\sigma^2} $$ where $\alpha$ is the reflectivity, and $\sigma^2$ is the variance of the zero-mean Gaussian noise process $n(t)$.

So if I want to generate $r(t)$ in Matlab with SNR = 10, I sample $s(t)$ with a sample period $T_S$ so I get $$ s(nT_s) = \sqrt{\frac{1}{T}} \exp(j2\pi f_c nT_S) $$

My question is: how do I calculate the noise variance, $\sigma^2$ from the above so that I can calculate: $$ r(nT_S) = \alpha s(nT_s) + \sigma {\tt randn(size(}s{\tt ))} $$


  • $\begingroup$ Could anyone provide the equation of Noise Variance in Power Line Communication? $\endgroup$
    – user45314
    Sep 25, 2019 at 6:33

1 Answer 1


Since the signal $r(t)$ is expressed as the low-pass equivalent of a bandpass signal, in general it will be complex. That means that the noise is also complex.

White Gaussian noise has a power spectral density commonly denoted by $N_0/2$. This means that if you filter the noise with an ideal filter of bandwidth $B$, the noise at the filter's output is $\sigma^2=BN_0$.

Note that this is the power "per dimension". That is, the in-phase and the quadrature components of the low-pass signal $r(t)$ each suffer from noise of power $\sigma^2$.

You define the SNR as $E|\alpha|/\sigma^2$ and you need it to be equal to 10. One way to do this is to configure your simulation so that $E|\alpha|=1$, and then choose $\sigma=\sqrt{0.1}$. If you later need a different SNR, you can just change one value ($\sigma$) in your simulation.

You can generate the complex noise as follows:

N = length(s);
noise = sqrt(0.1)*(randn(1,N)+1i*randn(1,N));
r = alpha*s + noise;

Note that in this setup, the total noise power is $2\sigma^2$. The in-phase noise and the quadrature noise each have power $\sigma^2$.

  • $\begingroup$ Thanks!But how to define the E?is E equals to sum(abs(s(nTs)).^2)? $\endgroup$
    – Tj L
    Nov 20, 2015 at 1:47
  • $\begingroup$ In Matlab, to normalize an arbitrary vector s to have energy E, first find its energy: e=sum(abs(s).^2)*dt, where dt is the sampling period. Then, divide s by sqrt(e) to make its energy equal to 1. Finally, multiply it by sqrt(E) to make its energy equal to E. All this is based on Parseval's theorem. $\endgroup$
    – MBaz
    Nov 20, 2015 at 2:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.