您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 基于神经网络的自适应噪声抵消
基于神经网络的自适应噪声抵消摘要:噪声抵消技术是信号处理的主要问题之一。基于神经网络的自适应噪声抵消技术是一种能够很好的消除未知噪声源噪声影响的信号处理技术,克服了传统自适应噪声抵消技术的不足。本文通过对误差反向传播学习算法的多层前向人工神经网络的分析研究,结合传统的自适应噪声抵消系统的基本原理,建立了基于人工神经网络的自适应噪声抵消器,经过基于MATLAB仿真实验,证明它具有较强的噪声滤除能力。关键词:自适应滤波;噪声抵消;神经网络AdaptiveNoiseCancellationTechnologyBasedonNeuralNetworkAbstract:Noisecancellationtechnologyisoneofthemajorproblemsofsignalprocessing.Adaptivenoisecancellationtechnologybasedonneuralnetworkisaverygoodtoeliminatenoiseeffectsofunknownsignalprocessingtechnology,overcomethetraditionaladaptivenoisecancellationoftechnology.Thisdesign,Throughtheback-propagationlearningalgorithmofmultilayerfeedforwardneuralnetworkanalysisandresearch,combiningtraditionaladaptivenoisecancellationsystemofbasicprinciple,Establishedaadaptivenoisecancellationbasedonartificialneuralnetwork,aftersimulationexperimentsbasedontheMatlabproveithasstrongnoisefilteringability.Keywords:adaptivefilter;noisecancellation;neuralnetwork1引言在工程实际中,经常会遇到强噪声背景中的微弱信号检测问题。在信号的传播路径中以及在信号处理过程中,都会引入噪声。噪声的引入影响了对真实信号的处理。有时候,较强的噪声会“遮盖”了信号,从而难以得到准确、稳定的真实信号。噪声对信号的污染在绝大多数情况下是不可避免的,因而,对噪声的消除和抑制是信号处理中极其重要的工作。通常实现最优滤波的滤波器为维纳滤波器与卡尔曼滤波器。它们均要求已知信号和噪声的先验知识,但在许多实际应用中往往无法预先得知。为此,发展了自适应滤波器,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神经网络思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。人工神经网络就是模拟人思维的第二种y(k)d(k)=s(k)+z(k)x(k)=c(k)原始输入参考输入H(z)∑∑z´(k)d(j)e(j)y(j)自适应数字滤波器X(j)∑图3常见的自适应噪声抵消系统方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理[8]。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。因此引入多层神经网络。3.1多层前向神经网络的结构目前得到广泛应用的多层前向人工神经网络是三层前向人工神经网络,它由输入层,隐层和输出层组成如图4所示。图4三层前向人工神经网络在三层前向人工神经网络中,输入层中有n个神经元,隐层中有m个神经元,输出层有L个神经元。输入到网络的信息是按照输入层、隐层、输出层的顺序一直传递到输出层,最后得到整个网络的输出。因此,整个网络叫做前向网络。3.2反向传播学习算法的基本计算原理反向传播算法(BP算法)是训练人工神经网络的基本方法,现已得到了广泛的应用。下面以输出层只含一个神经元的三层前向人工神经网络为例,给出这种算法的基本计算原理和过程[9],其结构如图5所示:输入层中有n个神经元,隐层中有m个神经元,输出层神经元的输出,也就是整个网络的输出为y。图5输出层中含有一个神经元的三层前向神经网络隐层各神经元的输入分别是Ii。1,1,2,,niijijjIWXim(4)公式(4)中设Xi为该神经元所接受的输入,Wij为隐层中神经元i与输入层神经元j之间的连接权值,θi为隐层神经元的阈值,选择Simoid函数作为隐层神经元的激函数f(),则隐层神经元的输出为Oi。11iiIOe(5)公式(5)中取输出层神经元的阈值为O,输出层神经元的激发函数取线性函数则输出层神经元的输出即网络输出为y。1miiiyVO(6)公式(6)中Vi为输出层神经元与隐含神经元i的连接权。设一学习样本为(X1p,X2p,…;tp),(p=1,2,…),p为样本数,在给出网络向量的输出值yp,对于样本p,定义网络的输出误差为dp,并定义误差函数为ep。pppdty(7)21()2pppety(8)WijXnX2X1……隐层输入层输出层yViy1yLWij……….XnX2X1输入层层层隐层输出层m(k)y(k)n(k)信号源s(k)∑∑噪声源c(k)A(z)∑kH(z)e(k)W的值是随机给出的,因此,求得网络输出值yp以后,公式(7)定义的误差比较大,也就是说网络的计算精度不高,在确定网络中隐层神经元数目m的情况下,只能通过调整W的值,以逐步降低误差dp以提高网络的计算精度。下面给出根据dp的信息调整W的具体计算过程,在反向传播算法中,是沿着误差函数ep随W变化的负梯度向对W进行修正的,设W的修正值为△W。peWW(9)公式(9)中η为学习率,取0~1间的数。4噪声抵消系统的仿真4.1BP网络模型建立这里构造一个1-4-1型的BP神经网络模型,隐层节点取4个,如图6所示。本网络中的隐层变换函数为tansig函数(正切S型传递函数),它可以将神经元的输入范围(-∞,+∞)映射到(-1,+1),它是可微函数,非常适合于训练BP的神经元。如果BP网络的最后一层是Sigmiod型神经元,那么整个网络的输出就限制在一个较小的范围内;如果是purelin(线性传递函数)型线性神经元,则整个网络的输出可以是任意值。图6BP神经网络模型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.28621.2862-1.2862];w2=[0.6428-0.11060.23090.5839];b1=[2.18321.4758-0.2518-2.6883];b2=[0.8436];③BP网络的训练利用BP学习规则训练前向神经网络,使其完成函数逼近,适量分类和模式识别,选择训练参数tp并指示如何进行训练。tp1=10;%指定两次更新显示的训练次数;tp2=10000;%指定训练的最大次数;tp3=0.001;%误差平方和指标;tp4=0.01;%指定学习速率,即权值和阈值更新的比例;tp=[tp1tp2tp3tp4];一旦训练达到最大的训练次数或网络误差平方和降低到误差之下,都会使网络停止学习。④网络训练[w1,b1,w2,b2,te,tr]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp);函数利用单层权值失量w,阈值量b及转移函数成批训练网络,使当输入p时,网络的输出为目标矢量t,在这个环节将得到新的权值矢量w和阈值b,及训练的迭代次数te,及记录网络训练过程的
本文标题:基于神经网络的自适应噪声抵消
链接地址:https://www.777doc.com/doc-2537084 .html