织梦CMS - 轻松建站从此开始!

罗索

关于信噪比SNR

jackyhwei 发布于 2020-01-06 18:35 点击:次 
信噪比可以用图像信号和噪声信号的方差(局部方差,3×3或5×5的块)比来估计。可认为图像平坦区域的方差为噪声方差,细节区域的方差为图像方差。
TAG: 信噪比  SNR  

1.http://well3216.blog.sohu.com/96624202.html

 
  看到很多朋友都在谈论信噪比这个概念,正好前段时间学到了这个,特此拿出来班门弄斧一下。 
信噪比--SNR(有时写成S/N)是signal-to-noise ratio的缩写,是指有用信号(规定输入电压下的输出信号电压)和噪声信号(输入电压切断时,输出所残留之杂音电压)之间的比值。 
为了得到的比值显示更为直观,我们往往把S/N写成分贝(decibels)-----缩写成dB 
S/N 10 log10(S/N)--------S:有用信号;N:噪声信号。 
(注意如果信号以功率来表示,就在对数前乘以10,如果以振幅表示(amplitude),就乘以20:S/N 20 log10(S/N))。 
所以当S=N时,SNR=0dB,这时得到的信号根本不可用。由此可琩B直越大,S/R的比值就越大,我们得到的有用信号比值就越大,对于声音信号来说,还原的声音信号就越“干净”,比如90dB,那S/N的比值就要达到10的9次方(功率)-----通俗的讲平均出现1W噪声信号,就有1000000000W有用信号,这是一个相当可观的数值了。 
顺便讲一下为什么功率就乘以10,而电压(电流)就乘以20,其实很简单(这里的P表示功率,E表示电压,I表示电流,Z表示阻抗)。 

SNR信噪比是指音箱回放的正常声音信号与无信号时噪声信号(功率)的比值。用dB表示。例如,某音箱的信噪比为80dB,即输出信号功率比噪音功率大80dB。信噪比数值越高,噪音越小。 
    国际电工委员会对信噪比的最低要求是前置放大器大于等于63dB,后级放大器大于等于86dB,合并式放大器大于等于63dB。合并式放大器信噪比的最佳值应大于90dB,CD机的信噪比可达90dB以上,高档的更可达l10dB以上。信噪比低时,小信号输入时噪音严重,整个音域的声音明显感觉是混浊不清,所以信噪比低于80dB的音箱不建议购买,而低音炮70dB的低音炮同样原因不建议购买。

信噪比可以用图像信号和噪声信号的方差(局部方差,3×3或5×5的块)比来估计。可认为图像平坦区域的方差为噪声方差,细节区域的方差为图像方差。具体操作时还需校正,校正公式为:1.04*b-7(b计算处的方差比),该方法适应的信噪比范围为20-50dB。


SNR(Signal to Noise Ratio,信噪比):
 指在规定输入电压下的输出信号电压与输入电压切断时,输出所残留之杂音电压之比,也可看成是最大不失真声音信号强度与同时发出的噪音强度之间的比率,通常以S/N表示。一般用分贝(dB)为单位,信噪比越高表示音频产品越好,常见产品都选择60dB以上。

SNR(信噪比)在不同的应用领域有不同的定义方法,其对应的估计方法也不同。我们这里的任务是对一段采集到的(含噪)信号进行SNR估计,就是说我们面对着一段采集信号x(k)=s(k)+n(k)k=1,2…,N;其中s是有用信号(以下简称信号)部分,n是噪声部分。我们需要合理地估计x的信噪比。

在上述情况下,SNR定义为信号功率与噪声功率之比的对数,即:

SNR = 10*log10(Ps/Pn)(db)   [1]

由此可知,想要合理地估计SNR,首先需要用正确的方法估计PsPn

 

在对PsPn进行估计的时候,首先需要明确的是在我们的估计问题中,有用信号s是确定信号还是随机信号。这与我们进行SNR估计的目的有关。如果我们的目的只是计算采集来的这一段x的信噪比(而不打算用这个信噪比产生任何其他推论,比如我们试图观察并记录不同时间段的信噪比变化情况),那么我们可以将信号s看作是确定信号,因为这时我们是在对这一段已经客观产生的板上钉钉的没有任何随机性的x进行分析,准确地说,我们这个时候是在进行SNR计算或者SNR测量(而不是SNR估计);如果我们不仅仅要计算这一段x的信噪比,而是要在此基础上推断之后采集的x1,x2….的信噪比的情况(比如我们试图对一个系统的SNR性能进行估计),那么这时我们就要把信号s看作是随机信号,因为我们是要从这段x中提取出对我们之后分析x1,x2…有用的信息,这时才是名副其实的SNR估计。

而对于噪声n,需要明确的是,在绝大多数情况下,从采集到的x中分离出sn是不现实的。也就是说我们必须在进行本文涉及的SNR分析之前,先采集一段纯噪声信号,通过对该段纯噪声信号的分析得到关于噪声的先验知识,之后将它们应用到本文涉及的SNR分析中。因此,从这个意义上讲,在绝大多数情况下,我们无法将噪声n看作确定信号,只能将其看作随机信号来处理。

 

以下我们分别说明PsPn的估计方法。

1  Ps的估计(本部分噪声功率暂时用Pn表示)

(1)    s看作确定信号

s看作确定信号,就是说s的所有信息都已确定下来,我们只需要将必要的信息提取出来计算SNR。根据功率(就是平均功率)的定义,

Ps = 1/N*sum(abs(s(k))^2)    [2]

从理论上说,我们应该从x中减去n,只分析s的部分。但是由于实际情况下很难从x中分离出sn,因此只能将x当作s进行后续计算。这在Ps>>Pn的情况下误差不会很大,即要求x的信噪比不是很低。因此,

Ps= 1/N*sum(abs(x(k))^2)    [3]

根据帕塞瓦尔定理,s的时域能量和频域能量相等(点数问题似乎需要考虑一下),因此将x变换到频域计算1/N*sum(abs(X(f))^2)的结果应该与[3]式相同。可知,将s看作确定信号时xSNR计算公式为:

SNR = 10*log10(sum(abs(x(k))^2)/(N*Pn))    [4]

这里需要有两点说明。一是有些地方说Ps可以用max(abs(s(k)))^2/N计算,我觉得这种方法只是对[4]式的一种简化;二是根据x=s+n,可知x^2=(s+n)^2!=s^2+n^2,也就是说xsn三者不能在能量、功率层面出现任何的加减运算。加减运算只可能出现在幅度层面。而由于噪声n的幅度是不可知的(因为是随机变量所以不可分离),因此在本文所提及的情况中关于加减的想法要坚决摒除。

(2)    s看作随机信号

在将s看作随机信号的时候,我们需要用某个对随机信号不变的量来估计SNR,因为只有这样才能使估计结果对推断之后的SNR有作用。对于宽平稳随机过程x,其相关函数Rxx只与平移量有关,而功率谱S(f)作为RxxFourier变换,亦是相对固定的量(是么)。因此我们可以首先对随机信号x(同样由于无法分离sn,只能分析x)进行功率谱估计,得到S(f),之后对S(f)求均值得到平均功率E[S(f)]。若对x进行的是M点的功率谱估计,那么

Ps = 1/M*sum(Ss(f))    [5]

这里要注意单双边的问题。对于随机信号x,每一个x(k)均是随机变量,xFFT不存在,因此无法利用求FFT的方法来计算功率谱,只能通过其他方法来估计功率谱。 功率谱估计的方法很多,最基本的方法是求得相关函数Rxx后对其进行FFT,另外,ARMA谱估计等现代谱估计方法也是可以的,而且会得到分辨率更高的功率谱。

对于宽平稳随机过程,由于相关函数Rxx只与平移量有关,因此二阶矩(相当于平移量是0)也是不变的量,所以Ps也可以通过

Ps = 1/N*sum(abs(s(k))^2)    [6]

求得。综上可知,将s看作随机信号时,

SNR = 10*log10(sum(Ss(f))/(M*Pn)) = 10*log10(sum(abs(x(k))^2)/(N*Pn))   [7]

 

2  Pn的估计

前面已经提到过,n是一定要当作随机变量看待的。因此,根据1(2)中的分析,Pn同样存在两种估计方法:

Pn = 1/M*sum(Sn(f))   [8]

 = 1/N*sum(abs(n(k))^2)  [9]

需要注意的是,对Pn的估计方法要和Ps的估计方法对应,比如Ps采用[5]式,那么Pn要相应地采用[8]式;Ps采用[6]式,Pn要相应地采用[9]式。

 

综上所述,对含噪信号SNR估计方法如下:

对于确定性信号s SNR = 10*log10(sum(abs(x(k))^2)/ sum(abs(n(k))^2)) [10]

对于随机信号sSNR = 10*log10(sum(Ss(f))/sum(Ss(f))) = 10*log10(sum(abs(x(k))^2)/ sum(abs(n(k))^2))   [11]

 

2.

图象的信噪比应该等于信号与噪声的功率谱之比,但通常功率谱难以计算,有一种方法可以近似估计图象信噪比,即信号与噪声的方差之比。首先计算图象所有象素的局部方差,将局部方差的最大值认为是信号方差,最小值是噪声方差,求出它们的比值,再转成dB数,最后用经验公式修正,具体参数请参看“反卷积与信号复原(邹谋炎)”。 

信噪比可以用图像信号和噪声信号的方差比来估计。可认为图像平坦区域的方差为噪声方差,细节区域的方差为图像方差。具体操作时还需校正,校正公式为:1.04*b-7(b计算处的方差比),该方法适应的信噪比范围为20-50db。

3.(这是MSE,应用于图像处理前后的比较,并非信噪比) 

信噪比通常用于比较原始图象(一般是幅标准图如LENA图等)  
  然后你对这幅图象进行了各种图象处理如压缩,滤波等  
  这样得到的一幅新图质量上受到了影响  
  信噪比就是可衡量这种质量损失的多少的一种度量  
  其公式为这里不好写  
  用VC实现为  
      double   temp1=0.0;double   temp2=0.0;  
  for(int   i=0;i<ROW;i++)  
    for(int   j=0;j<COL;j++)  
    {    
          temp1=temp1+OldImage[i][j]*OldImage[i][j];  
          timp2=temp2+(OldImage[i][j]-NewImage[i][j])*(OldImage[i][[j]-NewImage[i][j];  
    }  
  }  
  double   SNR=255*255/Temp2*ROW*COL;  
  SNR=10*log10(SNR);//SNR即为信噪比  
  double   SNR2=temp1/temp2;  
  SNR2=10*log10(SNR2);//SNR2即为峰值信噪比

 

4.利用图象平均值与局域图象的方差的极大值之比来计算信噪比  
   
      SNR=M/LSD(MAX)  
   
  M是图象的平均值,LSD(MAX)为图象块(4*4,8*8,........)的方差的极大值(极大或极小有待商榷,因为极大值在实际中太大,会造成数据非常小).

 

 

文章其中提到如下:这里,我们定义了图像信噪比SNR:. SNR二人mem/o(2). 式中:尤m。m为信号的平均灰度值:0局部窗口内背景灰度标准差。

地址如下:http://www.ceps.com.tw/cepsdo/10018891-200411-26-6-54-57-a.pdf

(小彩)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/202001/17611.html]
本文出处:新浪博客 作者:小彩 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关文章
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容