负信噪比

信息处理 matlab 语音处理
2022-02-22 12:14:41

使用matlab函数SNR()计算语音信号的信噪比时得到负snr值的原因是什么?

2个回答

信噪比 (SNR) 是功率比,因此它始终大于或等于零,不能为负。

另一方面,SNR 通常用分贝 (dB) 表示法表示

SNRdB=10log10(σx2σn2)

在哪里σx2σn2分别是信号和噪声功率。在这种情况下,一个0dB SNR 表示信号功率等于噪声功率。当信号功率小于噪声功率时,就会得到负的 SNR(以 dB 为单位)...

我将编写与@Fat32 相同的公式,因为 SNR 是 SNR

SNR=10log10(σS2σN2)

从数学上讲,当 log 为负时,SNR 为负。我们知道

logx<0
除非0<x<1, IE
σS2σN2<1
意思就是
σS2<σN2
所以,当你的语音信号的功率小于噪声的功率时,你会得到一个负的 SNR。