Sunday, January 21, 2018

matlab - Fixed SNR with unitary noise variance


I've just one question :


How can I write a model like y = x + w,( with w a white gaussian noise) with a fixed SNR and a noise variance equal to 1. What coefficient may I have before x ?


Thanks !



Answer



If you define the SNR as the ratio of the signal power and the noise power in dB, you have



$$SNR_{dB}=10\log \left(\frac{P_s}{P_w}\right)\tag{1}$$


where $P_s$ is the power of the desired signal and $P_w$ is the noise poiwer. If the noise $w$ has a mean of zero, then $P_w=\sigma^2_w=1$. From (1) (with $P_w=1)$ you get the desired value of $P_s$ for a given value of $SNR_{dB}$:


$$P_s=10^{SNR_{dB}/10}$$


In order to normalize the signal $x$ such that it has the desired power $P_s$ you first need to know its power $P_x$. Dividing $x$ by $\sqrt{P_x}$ will give you a unity power signal, which can then be multiplied by $\sqrt{P_s}$ in order to obtain the desired SNR:


$$s=\sqrt{P_s}\frac{x}{\sqrt{P_x}}=10^{SNR_{dB}/20}\frac{x}{\sqrt{P_x}}$$


No comments:

Post a Comment

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...