统计学 - 信噪比



信噪比(SNR)是科学和工程中使用的一种度量,用于分析所需信号的电平与背景噪声的电平。它定义为信号能量与噪声功率之比,通常以分贝表示。大于1:1(大于0 dB)的比率表示信号大于噪声。虽然SNR通常用于电信号,但它可以应用于任何类型的信号,例如冰芯中的同位素水平或细胞之间的生化信号。

信噪比定义为信号(有意义的信息)功率与背景噪声(不需要的信号)功率之比。

${SNR = \frac{P_{signal}}{P_{noise}}}$

如果已知信号和噪声的方差,并且信号为零

${SNR = \frac{\sigma^2_{signal}}{\sigma^2_{noise}}}$

如果信号和噪声是在相同的阻抗上测量的,则可以通过计算幅度比的平方来获得SNR

${SNR = \frac{P_{signal}}{P_{noise}} = {(\frac{A_{signal}}{A_{noise}})}^2} $

其中A是均方根(RMS)幅度(例如,RMS电压)。

分贝

因为许多信号具有非常宽的动态范围,所以信号通常使用对数分贝标度表示。根据分贝的定义,信号和噪声可以用分贝(dB)表示为

${P_{signal,dB} = 10log_{10}(P_{signal})} $

${P_{noise,dB} = 10log_{10}(P_{noise})} $

以类似的方式,SNR可以用分贝表示为

${SNR_{dB} = 10log_{10}(SNR)} $

使用SNR的定义

${SNR_{dB} = 10log_{10}(\frac{P_{signal}}{P_{noise}})} $

使用对数的商法则

${10log_{10}(\frac{P_{signal}}{P_{noise}}) = 10log_{10}(P_{signal}) - 10log_{10}(P_{noise})} $

将SNR、信号和噪声的分贝定义代入上述等式,得到一个计算分贝信噪比的重要公式,当信号和噪声也以分贝表示时

${SNR_{dB} = P_{signal,dB} - P_{noise,dB}} $

在上述公式中,P以功率单位(如瓦特或毫瓦)测量,信噪比是一个纯数。

但是,当信号和噪声以伏特或安培测量时,它们是幅度的量度,必须将其平方才能与功率成正比,如下所示

${SNR_{dB} = 10log_{10}[{(\frac{A_{signal}}{A_{noise}})}^2] \\[7pt] = 20log_{10}(\frac{A_{signal}}{A_{noise}}) \\[7pt] = A_{signal,dB} - A_{noise,dB}} $

示例

问题陈述

计算以48 kHz采样的2.5 kHz正弦波的SNR。添加标准差为0.001的白噪声。将随机数生成器设置为默认设置以获得可重现的结果。

解决方案

${ F_i = 2500; F_s = 48e3; N = 1024; \\[7pt] x = sin(2 \times pi \times \frac{F_i}{F_s} \times (1:N)) + 0.001 \times randn(1,N); \\[7pt] SNR = snr(x,Fs) \\[7pt] SNR = 57.7103}$
广告