平均法降噪

信号处理中,如何降低各种噪声是一个十分重要的问题。其基本思想是降低信号-噪声比,比如上一节提到过的,用滤波器降低50Hz市电噪声。 这里再介绍一种降噪的方法:平均法。

当我们认为噪声是一个均匀分布的白噪声(white noise)的情况下,平均法将显得极为简单而有效。想象一组从-1到+1均匀的随机数,理论上,如果取无限多个这样的数,其均值应当是零。实用中,只要取的数足够多,其均值就将接近于零。

我们举一个具体的例子:信号是周期为10Hz的正弦信号,背景噪声是从-1到+1的白噪声。这时,我们可以取一百个采集到的样本信号(包含了噪声)为单位,求它的平均值,只要采样的频率取得好,就可以避开正弦信号的周期,比如采样频率为1024Hz,对于一百个信号白噪声的均值将会接近于零 ,而正弦信号的平均值就不会有这种问题。当采集到下一个信号之后,我们将第一个信号扔掉,将新的第一百零一个信号补充到信号组中,组成新的一百个信号,这样噪声的均值仍然趋近于零,同时正弦信号又能够有所变化。对所有输入信号采取这种方法,我们就会发现原本相当严重的噪声被大大地降低,而正弦信号则几乎不受影响。于是白噪声就被简单地去除了。

应用平均法降噪,首先要注意对于周期信号不能使其固有周期与所设计降噪周期一样,否则周期信号也会受到严重干扰;其次,噪声必须是白噪声,如果是满足正态分布或其他分布形式的信号,平均法是不能使用的。

返回

锁相放大器(lock-in amplifier)与相敏检测(phase sensitive detection)

很多时候,背景噪声不是简单的白噪声形式,无法用平均法削去噪声。此时,一种很有效的方法是利用信号的相位特性。这种技术是锁相放大器的基础。实验中,锁相放大器在测量微小信号方面有着极为广泛的应用。除此之外,锁相放大器也能够测量两个周期信号间的相位关系。

我们来考虑这样一个具体的问题:测量含有巨大背景噪声的电路中某个电阻的大小。(比如电路中的放大器将空间中的手机辐射信号放大为一个噪声)。 如果我们直接使用一般的直流测量技术,如将万用表放在电阻两侧测量,那么由于电路中巨大的噪声,测到的电阻值是完全失真的。如果我们让电路通以50Hz的交流电,再用带通滤波器,那么一般来说就可以将噪声压制掉。不过如果噪声是全频段连续谱分布,那么数字滤波器仍然不能完全地滤去噪声。这种情况下我们就可以采用锁相放大器,因为待测电阻两端的电压与电源电压之间是有稳定的相位关系的。

如果我们假定电阻两端含噪声的电压为V2=V_{2} sin (omega+Delta omega)t,电源电压为V1=V_{1}Sin  omega t,现在我们同时测量V1、V2,测量时间为 0.02 X n 秒,其中N是一个整数,0.02秒为交流电的周期。将得到的两个信号作卷积:

V1*V2/{0.02n}=1/{0.02n} int{0}{0.02n}{V_{1} sin omega t V_{2} sin(omega +Delta omega)t dt}= {V_{1}V_{2}}/2 {Sin(2 pi n Delta omega/omega)}/{2 pi n Delta omega /omega} ={V_{1}V_{2}}/2 Sinc(2 pi n Delta omega/omega)

上面的Sinc函数在Delta omega=0有最大值,并且当n Delta omega/omega=0.5时,几乎已经为零。只要我们调整n的大小,就可以使频率的通过区域变得很小,而这种程度仅通过数字滤波器是不可能达到的。

由于已经知道了用来参考的电源电压V_{1}的大小,我们就可以算出V_{2}的具体数值,从而知道了电阻两端电压的大小。显然,应用锁相放大技术,我们将能够从巨大的背景噪声下提取出目标信号,计算出实际的电阻值。

这种锁相放大技术不只局限于电气设备,只要是测量周期性信号,都可以通过锁相放大。比如,测量某种液体的光学吸收系数,我们可以周期性地打开、关闭光束。然后通过上面提到的方法,将同频同相的信号放大,就可以滤去噪声信号。

返回

假定噪声的频率也为50Hz,那么上面的锁相放大法还不足以滤掉噪声。这个时候我们可以使用所谓的相敏检测方法。即:

V2=V_{2} sin (omega +delta)

我们还是使用卷积运算:

V_{1}*V_{2}/{0.02n} ={V_{1}V_{2}}/2 Cos delta

从上式可以看出,当相位差趋于零时,Cos函数取到极大。这意味着那些有相位差的背景噪声将受到抑制,利用这种方法,即便噪声与目标信号同频率,也已然可以取分出来。

说明

本章的内容涉及到信号处理方面的专业知识比较多,不过也都只是以应用为目的,简单的介绍了一下。

实际的模拟电路中,要想实现我们所提到的各种运算,如:傅里叶变换、卷积,涉及到使用运算放大器的问题,关于加法器、乘法器、积分器等概念可以参看电子学方面的教材。

在我们的实验中,可以将信号通过AD卡或其他途径输入计算机,利用matlab的各种功能实现锁相放大、相敏检测、傅氏变换等等。

最简单的一种方法就是编写m文件,基本的运算公式本章都已给出,只要用一些循环之类的简单技巧就可以了。

至于一些进阶的技巧,比如在simulink中使用锁相放大器,有兴趣的话可以自行探索一下,鉴于应用的不多,此处不再赘述。

返回

  • howtos/matlab/mt4-4.txt
  • 最后更改: 2007/08/26 19:10
  • (外部编辑)