# Adding two signals at a certain SNR

14 views (last 30 days)
Petru-Daniel Tudosiu on 2 Dec 2016
Edited: David Goodmanson on 3 Dec 2016
Hello,
I need to add two signals (one is the noise, the other is the speech) at a certain SNR.
How can I do this?
I found on Mathworks but I do not understand it and I am reluctant to using it
noise = noise / norm(noise) * norm(signal) / 10.0^(0.05*snr);
noisy = signal + noise;
Could you please explain it to me?
Regards,
Dan
David Goodmanson on 3 Dec 2016
Hello P-D, the norms of the signal and noise waveforms are are linear quantities, i.e. amplitudes and not squared amplitudes like power would be. For linear quantities the SNR is
SNR = 20*log10(norm(signal)/norm(noise))
which is exactly the same quantity as with the power expression
SNR = 10*log10(norm(signal)^2/norm(noise)^2)
The first expression inverts to the equation you have. That's my take on all this anyway. As you mentioned, it's a good idea to be reluctant to use something you do not understand and not rely overly much on outside commentary that you have not verified, including this one.