
摘 要:噪声抵消技术是信号处理的主要问题之一。基于神经网络的自适应噪声抵消技术是一种能够很好的消除未知噪声源噪声影响的信号处理技术,克服了传统自适应噪声抵消技术的不足。本文通过对误差反向传播学习算法的多层前向人工神经网络的分析研究,结合传统的自适应噪声抵消系统的基本原理,建立了基于人工神经网络的自适应噪声抵消器,经过基于MATLAB仿真实验,证明它具有较强的噪声滤除能力。
关键词: 自适应滤波;噪声抵消;神经网络
Adaptive Noise CancellationTechnology Based on Neural Network
Abstract: Noise cancellation technology is one of the major problems of signal processing. Adaptive noise cancellation technology based on neural network is a very good to eliminate noise effects of unknown signal processing technology, overcome the traditional adaptive noise cancellation of technology. This design,Through the back-propagation learning algorithm of multilayer feedforward neural network analysis and research, combining traditional adaptive noise cancellation system of basic principle, Established a adaptive noise cancellation based on artificial neural network, after simulation experiments based on the Matlab prove it has strong noise filtering ability.
Keywords: adaptive filter;noise cancellation;neural network
1 引言
在工程实际中,经常会遇到强噪声背景中的微弱信号检测问题。在信号的传播路径中以及在信号处理过程中,都会引入噪声。噪声的引入影响了对真实信号的处理。有时候,较强的噪声会“遮盖”了信号,从而难以得到准确、稳定的真实信号。噪声对信号的污染在绝大多数情况下是不可避免的,因而,对噪声的消除和抑制是信号处理中极其重要的工作。通常实现最优滤波的滤波器为维纳滤波器与卡尔曼滤波器。它们均要求已知信号和噪声的先验知识,但在许多实际应用中往往无法预先得知。为此,发展了自适应滤波器,1965年美国斯坦福大学建成了第一个自适应噪声抵消(ANC)系统[1],随着计算机技术与集成电路技术的进步,新的自适应算法不断涌现出来,自适应噪声抵消在理论和应用上都得到了很大发展。如果滤波器的输入和输出具有非线性的映射关系,那么对应的滤波器称为非线性滤波。生活中在许多的实际信号里含有系统非线性引起的噪声或者存在非高斯噪声等,因而研究非线性滤波显得非常重要。因此引入基于神经网络的自适应噪声抵消技术[2]。
自1986年开始,神经网络随着反向传播(BP)算法的出现而得到复兴,此后对于神经网络的研究再度掀起高潮。由于神经网络具有高度并行性、很强的非线性、变换能力和学习能力,因此具有很大的应用潜力,也为自适应非线性滤波器提供了一种全新的思路和方法。其中,激活函数为Simoid的多层前向神经网络能够以任意精度实现非线性函数逼近[3],所以可用BP神经网络组成非线性自适应滤波器。通过将滤波器的误差信号与神经网络中能量函数对应起来,可实现神经网络自适应滤波器[4]。
2 自适应噪声抵消
滤波是现代通信和控制工程中常用的信号处理方法之一,所谓滤波,就是通过对一
系列带有误差的实际测量数据进行处理来滤除信号中的干扰,从而尽可能地恢复一个被噪声干扰了的信息流的问题。滤波的种类很多,最简单的滤波器是权系数固定的线性滤波器。为了提高滤波性能,滤波的权系数(传递函数)往往随输入信号而发生变化,这种滤波称为自适应滤波。
2.1 自适应滤波器
自适应滤波器自从60年代出现后,其理论在不断地发展与完善,应用也越来越广泛,自适应数字滤波器的原理框图[5]如图1所示。图中:
x(j)表示j时刻的输入信号值;
y(j)表示j时刻的输出信号值;
d(j)表示j时刻的参考信号值或所期望响应的信号值;
e(j)表示误差信号e(j)=d(j)-y(j)。
自适应数字滤波器的滤波参数受误差信号e(j)的控制,根据e(j)值而自动调整,使之适合下一时刻(j+1)的输入x(j+1),以便使输出y(j+1)接近于所期望的参考信号d(j+1)。
图1 自适应数字滤波器的原理框图
2.2自适应噪声抵消系统基本原理
自适应噪声抵消系统除了需要原始输入外,还需要一个参考输入[6],供给与原始输入相关的噪声,以便原始输入中的噪声,而对其中的有用信号几乎不产生什么影响。
如图2所示,描述的是一典型的自适应噪声抵消系统。
其中原始输入信号d(k)是有用信号s(k)与噪声z(k)之和,参考输入信号x(k)是与z(k)相关的噪声c(k)。假设s(k)、z(k)与c(k)是零均值的平稳随机过程,s(k)与z(k)、c(k)不相关。
图2 典型的自适应噪声抵消系统
由图2.2可知,自适应滤波器的输出z´(k)为c(k)的过滤信号,因此,自适应噪声抵消系统的输出y(k)为:
y(k)=s(k)+z(k)-z´(k) (1)
y2(k)=s2(k)+[z(k)-z´(k)]2+2s(k)[z(k) -z´(k)] (2)
根据前面的不相关假定,对上式两边同时取数学期望,可得:
E[y2(k)]=E[s2(k)]+E[(z(k)-z´(k))2] (3)
信号功率E[s2(k)]与自适应滤波器的调节无关,因此,自适滤波器调节使E[y2(k)]最小,也就是E[(z(k)-z´(k))2]最小,E[(y(k)- s(k))2]也最小,即自适应抵消系统的输出信号y(k)与有用信号s(k)的均方差最小。
在理想状态下,z(k)= z´(k),则y(k)= s(k),这时自适应滤波器自动调节其脉冲响应,将c(k)加工成z(k),与原始输入信号d(k)中的z(k)相减,使输出信号y(k)由噪声完全被抵消,而等于有用信号s(k)。
可以证明,自适应滤波器能完成上述任务的必要条件为:参考输入信号x(k)= c(k)必须与被抵消的信号(噪声)z(k)相关。
实际上,一个噪声抵消系统的情况比图2所示要复杂,这是因为输入还可能有一些噪声源[7](即与参考输入无关的噪声及干扰),如图3所示。
3 神经网络
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
人工神经网络就是模拟人思维的第二种
图3 常见的自适应噪声抵消系统
方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理[8]。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。因此引入多层神经网络。
3.1多层前向神经网络的结构
目前得到广泛应用的多层前向人工神经网络是三层前向人工神经网络,它由输入层,隐层和输出层组成如图4所示。
图4 三层前向人工神经网络
在三层前向人工神经网络中,输入层中有n个神经元,隐层中有m个神经元,输出层有L个神经元。输入到网络的信息是按照输入层、隐层、输出层的顺序一直传递到输出层,最后得到整个网络的输出。因此,整个网络叫做前向网络。
3.2反向传播学习算法的基本计算原理
反向传播算法(BP算法)是训练人工神经网络的基本方法,现已得到了广泛的应用。下面以输出层只含一个神经元的三层前向人工神经网络为例,给出这种算法的基本计算原理和过程[9],其结构如图5所示:输入层中有n个神经元,隐层中有m个神经元,输出层神经元的输出,也就是整个网络的输出为y。
图5 输出层中含有一个神经元的三层前向神经网络
隐层各神经元的输入分别是Ii。
(4)
公式(4)中设Xi为该神经元所接受的输入,Wij为隐层中神经元i与输入层神经元j之间的连接权值,θi为隐层神经元的阈值,选择Simoid函数作为隐层神经元的激函数f( ),则隐层神经元的输出为Oi。
(5)
公式(5)中取输出层神经元的阈值为O,输出层神经元的激发函数取线性函数则输出层神经元的输出即网络输出为y。
(6)
公式(6)中Vi为输出层神经元与隐含神经元i的连接权。
设一学习样本为(X1p,X2p,…;tp),(p=1,2, …),p为样本数,在给出网络向量的输出值yp,对于样本p,定义网络的输出误差为dp,并定义误差函数为ep。
(7)
(8)
W的值是随机给出的,因此,求得网络输出值yp以后,公式(7)定义的误差比较大,也就是说网络的计算精度不高,在确定网络中隐层神经元数目m的情况下,只能通过调整W的值,以逐步降低误差dp以提高网络的计算精度。下面给出根据dp的信息调整W的具体计算过程,在反向传播算法中,是沿着误差函数ep随W变化的负梯度向对W进行修正的,设W的修正值为△W。
(9)
公式(9)中η为学习率,取0~1间的数。
4噪声抵消系统的仿真
4.1 BP网络模型建立
这里构造一个1-4-1型的BP神经网络模型,隐层节点取4个,如图6所示。
本网络中的隐层变换函数为tansig函数(正切S型传递函数),它可以将神经元的输入范围(-∞,+∞)映射到(-1,+1),它是可微函数,非常适合于训练BP的神经元。如果BP网络的最后一层是Sigmiod型神经元,那么整个网络的输出就在一个较小的范围内;如果是purelin(线性传递函数)型线性神经元,则整个网络的输出可以是任意值。
图6 BP神经网络模型
4.2基于神经网络工具箱的BP网络学习和训练
① 定义样本
t=0:0.01:15;
y=randn(size(t));
yn=cos(y);
样本p取y的前50个数据,t取yn的前50个数据。
p=y(1:50);
t=yn(1:50);
② 初始化BP网络
[w1,b1,w2,b2]=initff(p,4,'tansig',1,'purelin');
其中,p为输入量,4、1为隐层和输出层的节点数,tansig和purelin分别为隐层和输出层的初始权值w1,w2,b1,b2。
w1=[ 1.2862 -1.2862 1.2862 -1.2862];
w2 =[ 0.28 -0.1106 0.2309 0.5839];
b1 = [2.1832 1.4758 -0.2518 -2.6883] ;
b2 = [0.8436];
③ BP网络的训练
利用BP学习规则训练前向神经网络,使其完成函数逼近,适量分类和模式识别,选择训练参数tp并指示如何进行训练。
tp1=10;%指定两次更新显示的训练次数;
tp2=10000;%指定训练的最大次数;
tp3=0.001;%误差平方和指标;
tp4=0.01;%指定学习速率,即权值和阈值更新的比例;
tp=[tp1 tp2 tp3 tp4];
一旦训练达到最大的训练次数或网络误差平方和降低到误差之下,都会使网络停止学习。
④ 网络训练
[w1,b1,w2,b2,te,tr]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp);
函数利用单层权值失量w,阈值量b及转移函数成批训练网络,使当输入p时,网络的输出为目标矢量t,在这个环节将得到新的权值矢量w和阈值b,及训练的迭代次数te,及记录网络训练过程的误差平方和行矩量tr。
w1 =[ 0.7530 -0.8876 1.2686 -0.4171]
w2 =[ 1.3976 1.1918 -0.1075 1.1635 ]
b1 = [1.0990 1.3212 -0.3419 -3.0637]
b2 = [-0.0315]
⑤ 误差变化曲线:ploterr(tr,tp3);
如图7所示经过4000多次训练之后,误差逼近于0.001。从函数逼近曲线可以看出输出曲线非常逼近于目标曲线,证明训练后的网络具有较好的拟合性。
图7 误差变化曲线
⑥ 计算网络仿真输出,逼近结果
a=simuff(p,w1,b1,'tansig',w2,b2,'purelin');
plot([0:0.1:4.9],t,'+',[0:0.1:4.9],a,'-');
函数逼近曲线如图8所示。
图8 函数逼近曲线
4.3噪声抵消系统设计及动态仿真
BP网络构造如图9所示。
将图9所示结构封装,就变为如图10所示。如果用鼠标双击subsystem模块,就会显示其基本模型。
噪声抵消系统的构造如图11所示。
图9 BP网络构造
图10 subsystem
图11 噪声抵消系统
通过示波器可以观察到理想信号scope如图12所示、有噪声信号scope1如图13所示、自适应噪声抵消信号scope2如图14所示,可以看出自适应噪声抵消系统起到了良好的效果。
噪声信号scope5如图17所示,经过影响的噪声信号scope4如图16所示,经过处理的噪声信号scope3如图15所示,可以看出图16与图15相近似。
图12 理想信号scope
图13 有噪声信号scope1
图14 噪声抵消信号scope2
图15 经过处理的噪声信号Scope3
图16 经过影响的噪声信号Scope4
图17 噪声信号Scope5
构造无subsystem系统如图18所示。则scope2输出如图19所示,可以看出在没有自适应噪声抵消系统的情况下,处理得到的信号是不正确的。
图18 无subsystem系统
图19 无BP网络模块对比噪声抵消输出scope2
5 结束语
本文概述了自适应噪声抵消和神经网络的基本原理,研究了基于BP神经网络的自适应噪声抵消,在考虑噪声抵消本身特性和外部影响因素的基础上,建立了噪声抵消预测模型,演示了如何利用MATLAB里的神经网络函数对信号进行滤波处理。
实验结果表明基于神经网络的自适应噪声抵消系统达到了理想的效果,有效的滤除了噪声使信号保持了原来的特性,表明神经网络在自适应噪声抵消领域的应用是非常有意义的。
参考文献
[1]Muhammad Ridyanto Hajimeno Buhara.Improving recognition and Generalization capability of Back-propagation using a self-organized Network Inspired by Immune Algorithm.Applied Soft Computing,2005,(6):72-84.
[2]Alexander ST.Adaptive Signal Processing.Newyork:SPinger一verlag,1996.
[3]KangGS,FransenLJ.Presentation with an Adaptive Noise Cancellation Filter.IEEE Trans,CAS1997.
[4]张贤达.现代信号处理[M].北京:清华大学出版社,1995.
[5]刘松强.数字信号处理系统及其应用[M].北京:清华大学出版社,1999.
[6]何振亚.自适应信号处理[M].北京:科学出版社,2002.
[7]王华奎.张立毅.数字信号处理理论及应用二[M].北京:高等教育出版社,2004.
[8]蒋宗礼.人工神经网络导论[M].北京:高等教育出版社,2001.
[9]张立明.人工神经网络的模型及其应用[M].上海:复旦大学出版社,2004.
