# Adding two signals at a certain SNR

10 ビュー (過去 30 日間)
Petru-Daniel Tudosiu 2016 年 12 月 2 日

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
##### 3 件のコメント表示非表示 2 件の古いコメント
David Goodmanson 2016 年 12 月 3 日

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.

サインインしてコメントする。

### カテゴリ

Find more on Pulse and Transition Metrics in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by