ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:567.60KB ,
资源ID:29832959      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29832959.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于神经网络的自适应噪声抵消技术研究论文0605.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于神经网络的自适应噪声抵消技术研究论文0605.docx

1、基于神经网络的自适应噪声抵消技术研究论文0605忻 州 师 范 学 院计算机系本科毕业(设计)论文 课题名称基于神经网络的自适应噪声抵消技术研究专 业计 算 机 科 学 与 技 术姓 名学 号指导教师二零一零年六月目 录1 引 言 11.1自适应噪声抵消研究的意义及发展现状 11.2神经网络在自适应噪声抵消中的应用 21.3 论文主要内容及组织结构 22 自适应噪声抵消 42.1自适应滤波器 42.2自适应噪声抵消系统基本原理 42.3自适应噪声抵消系统改进 53 神经网络 73.1多层前向神经网络的结构 73.2反向传播学习算法的基本计算原理 83.3神经网络的研究方向 94应用MATLAB

2、进行仿真实验 104.1 MATLAB语言简介 104.2噪声抵消系统的仿真 104.2.1BP网络模型建立 104.2.2BP网络训练过程 114.3基于神经网络工具箱的BP网络学习和训练 124.4基于Simulink的噪声抵消系统设计及动态仿真 135 结束语 18致 谢 19参考文献 20基于神经网络的自适应噪声抵消技术研究摘 要:噪声抵消技术是信号处理的主要问题之一。基于神经网络的自适应噪声抵消技术是一种能够很好的消除未知噪声源噪声影响的信号处理技术,克服了传统自适应噪声抵消技术的不足,从当今众多信号处理技术当中脱颖而出成为热门研究课题之一。通过对误差反向传播学习算法的多层前向人工神

3、经网络的分析研究,结合传统的自适应噪声抵消系统的基本原理,建立了基于人工神经网络的自适应噪声抵消器,经过基于MATLAB的Simulink仿真实验,证明它具有较强的噪声滤除能力。最后提出了网络及算法进一步改进的方法。关键词:自适应滤波 噪声抵消 神经网络Abstract: Noise cancellation technology is one of the major problems of signal processing. Based on neural network adaptive noise cancellation technology is a very good to e

4、liminate noise effects of unknown signal processing technology, overcome the traditional adaptive noise cancellation of technology, from the current signal processing technology of becoming one of hot research topic.Through the back-propagation learning algorithm of multilayer feedforward neural net

5、work 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 Simulink prove it has strong noise filtering ability. Finally, and p

6、ut forward the method and algorithm of further improvement.Keywords:Adaptive Filter Noise Cancellation Neural Network1 引 言1.1自适应噪声抵消研究的意义及发展现状噪声消除是信号处理的核心问题之一,通常实现最优滤波的滤波器为维纳滤波器与卡尔曼滤波器。它们均要求已知信号和噪声的先验知识,但在许多实际应用中往往无法预先得知。为此,发展了自适应滤波器,1965年美国斯坦福大学建成了第一个自适应噪声抵消(ANC)系统01,随着计算机技术与集成电路技术的进步,新的自适应算法不断涌现出来

7、,自适应噪声抵消在理论和应用上都得到了很大发展,自适应噪声抵消技术是一种能够很好的消除背景噪声影响的信号处理技术,应用自适应噪声抵消技术,可在未知外界干扰源特征、传递途径不断变化,背景噪声和被测对象声波相似的情况下,能够有效地消除外界声源的干扰获得高信噪比的对象信号,这一技术可为机械或元件的噪声,振动等动态信号在测试环境不太理想的工作现场做测试分析和故障诊断提供了有效的方法和依据,具有一定的理论意义和应用价值。对于ANC系统来说,其基本要求和主要特点是,其两路输入噪声必须统计相关02,它们可以是线性相关的。使用线性相关ANC系统的自适应滤波器是线性滤波器,在这种情况下,对于平衡的输入噪声,自适

8、应滤波器的稳态性能近似于维纳滤波器,但是当两路输入的噪声之间是非线性相关时,使用线性的ANC系统就遇到了困难。如果线性自适应算法用线性变换逼近非线性变换,为了达到足够的精度,用于估计的权系数向量的维数将会爆炸性增长,自适应滤波器的估计速度必然会大为降低,其性能大幅下降,难以达到实时应用目的。这时为了有效的进行噪声抵消,就必须采用自适应的非线性系统做滤波器。为了克服自适应线性滤波器的缺点,人们研究了几种非线性自适应滤波器,常用的非线性滤波形式有Volterra型。虽然Volterra滤波器可以完成非线性映射,但由于在Volterra展开处理中,参量的数目随展开阶数指数性地增加,因此处理是很繁杂的

9、、很困难的。因此引入基于神经网络的自适应噪声抵消技术02。1.2神经网络在自适应噪声抵消中的应用自1986年开始,神经网络随着反向传播(BP)算法的出现而得到复兴,此后对于神经网络的研究再度掀起高潮。由于神经网络具有高度并行性、很强的非线性、变换能力和学习能力,因此具有很大的应用潜力,也为自适应非线性滤波器提供了一种全新的思路和方法。其中,激活函数为Simoid的多层前向神经网络能够以任意精度实现非线性函数逼近03,所以可用BP神经网络组成非线性自适应滤波器。通过将滤波器的误差信号与神经网络中能量函数对应起来,可实现神经网络自适应滤波器04。1.3 论文主要内容及组织结构概述了自适应噪声抵消和

10、神经网络的基本原理,研究了基于BP神经网络的自适应噪声抵消,在考虑噪声抵消本身特性和外部影响因素的基础上,建立噪声抵消预测模型,并应用MATLAB进行仿真实验。论文组织结构如下:第一章:引言。介绍了噪声抵消研究的意义及发展现状,以及神经网络在噪声抵消中的应用。第二章:自适应噪声抵消。介绍了自适应噪声抵消原理及其改进。第三章:神经网络原理。介绍了神经网络的原理及算法实现和研究方向。第四章:应用MATLAB进行仿真实验。主要应用MATLAB进行模拟噪声抵消。第五章:结束语。对所做工作进行全面总结,指出还需改进的地方。2 自适应噪声抵消滤波是现代通信和控制工程中常用的信号处理方法之一,所谓滤波,就是

11、通过对一系列带有误差的实际测量数据进行处理来滤除信号中的干扰,从而尽可能地恢复一个被噪声干扰了的信息流的问题。滤波的种类很多,最简单的滤波器是权系数固定的线性滤波器。为了提高滤波性能,滤波的权系数(传递函数)往往随输入信号而发生变化,这种滤波称为自适应滤波(ANC)。如果滤波器的输入/输出关系具有非线性映射特性,那么对应的滤波称为非线性滤波。生活中许多实际信号中含有系统非线性引起的噪声或存在非高斯噪声等,因此研究非线性滤波是非常必要的。2.1自适应滤波器自适应滤波器自从60年代出现后,其理论在不断地发展与完善,应用也越来越广泛,自适应数字滤波器的原理框图05如图2.1所示。x(j)表示j时刻的

12、输入信号值。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)。图 2.1 自适应数字滤波器的原理框图2.2自适应噪声抵消系统基本原理自适应噪声抵消系统除了需要原始输入外,还需要一个参考输入06,供给与原始输入相关的噪声,以便原始输入中的噪声,而对其中的有用信号几乎不产生什么影响。如图2.2所示,为一典型的自适应噪声抵消系统,其中原始

13、输入信号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可知,自适应滤波器的输出z(k)为c(k)的过滤信号,因此,自适应噪声抵消系统的输出y(k)。y(k)=s(k)+z(k)-z(k) (2.1) 而y2(k)=s2(k)+z(k)-z(k)2+2s(k)z(k)-z(k) (2.2) 对上式两边取数学期望,由于s(k)与z(k)及c(k)不相关,s(k)与z(k)也不相关。Ey2(k)=Es2(k)+E(z(k)-z(k)2 (2.3)

14、图2.2 典型的自适应噪声抵消系统信号功率Es2(k)与自适应滤波器的调节无关,因此,自适滤波器调节使Ey2(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.3

15、自适应噪声抵消系统改进实际上,一个噪声抵消系统的情况比图2.2所示复杂,这是因为输入还可能有一些独立噪声源07(即与参考输入无关的噪声及干扰),如图2.3所示。图2.3中原始输入d(k)由有用信号s(k),与两噪声z(k)=c(k)*a(k),n(k)之和组成,参考输入x(k)由c(k),m(k)两噪声组成。a(k)为传输通道的脉冲响应,其传递函数为A(z)。噪声n(k),m(k)相关,与s(k)、z(k)、c(k)不相关。若自适应过程是收敛的,并有最小均方误差解,则自适应滤波器与维纳滤波器等效,其最佳传递函数等于维纳滤波器的传递函数。图2.3 常见的自适应噪声抵消系统3 神经网络思维学普遍认

16、为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理08。虽然单个

17、神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。因此在本章中引入多层神经网络。3.1多层前向神经网络的结构目前得到广泛应用的多层前向人工神经网络是三层前向人工神经网络,三层前向人工神经网络由输入层,隐层和输出层组成如图3.1所示。图 3.1 三层前向人工神经网络在三层前向人工神经网络中,输入层中有n个神经元,隐层中有m个神经元,输出层有L个神经元。在一般情况下,整个网络的输入分别为X1,X2,,Xn,且对应输入到网络输入层的第1,2,n个神经元,输入层中各神经元的激发函数一般都选用比例系数为1的线性函数,因此,输入层中神经元的输出信息分别是X1,X2

18、,,Xn,这些输出信息传递到隐层各神经元。隐层神经将输入层输出的信息按照一定的方式汇总,作为各神经元的输入信息,然后通过激发函数的作用,产生隐中神经元的输出信息,隐层神经元的激发函数一般选用非线性函数,隐层神经元的输出又传递到输出层,与隐层神经元类似,输出层神经元也输出相应的信息,并作为整个网络的输出信息y1,y2yL。从上述内容可知,输入到网络的信息是按照输入层、隐层、输出层的顺序,一直传递到输出层,最后得到整个网络的输出。因此,整个网络叫做前向网络。3.2反向传播学习算法的基本计算原理反向传播算法(BP算法)是训练人工神经网络的基本方法,现已得到了广泛的应用,下面以输出层只含一个神经元的三

19、层前向人工神经网络为例,给出这种算法的基本计算原理和过程09,其结构如图3.2所示。图3.2中的前向人工神经网络中,输入层中有n个神经元,隐层中有m个神经元,输出层神经元的输出,也就是整个网络的输出为y。图 3.2 输出层中含有一个神经元的三层前向神经网络隐层各神经元的输入分别是Ii。 (3.1)公式(3.1)中设Xi为该神经元所接受的输入,Wij为隐层中神经元i与输入层神经元j之间的连接权值,i为隐层神经元的阈值,选择Simoid函数作为隐层神经元的激函数f( ),则隐层神经元的输出为Oi。 (3.2)公式(3.2)中取输出层神经元的阈值为O,输出层神经元的激发函数取线性函数则输出层神经元的

20、输出即网络输出为y。 (3.3)公式(3.3)中Vi为输出层神经元与隐慨神经元i的连接权。 给出已知网络输入时,计算网络输出的过程,称为网络的正向计算过程,其原因是网络的输入信息是由输入层开始,逐层向上一层传递的,没有信息的反馈过程。设有学习样本为(X1p,X2p,X1p;tp)(p=1,2,p为样本数),对某一样本(X1p,X2p,X1p;tp),在给出网络向量的输出值yp,对于样本p,定义网络的输出误差为dp。 (3.4)并定义误差函数为ep。 (3.5)W的值是随机给出的,因此,求得网络输出值yp以后,计算公式3.4定义的误差比较大,也就是说网络的计算精度不高,在确定网络中隐层神经元数目

21、m的情况下,只能通过调整W的值,以逐步降低误差dp以提高网络的计算精度,下面给出根据dp的信息调整W的具体计算过程,在反向传播算法中,是沿着误差函数ep随W变化的负梯度向对W进行修正的,设W的修正值为W。 (3.6)式3.6中为学习率,取01间的数。3.3神经网络的研究方向神经网络的研究可以分为理论研究和应用研究两大方面10。一、理论研究可分为以下两类: 1、利用神经生理与认知科学研究人类思维以及智能机理。 2、利用神经基础理论的研究成果,用数理方法探索功能更加完善、性能更加优越的神经网络模型,深入研究网络算法和性能,如:稳定性、收敛性、容错性、鲁棒性等;开发新的网络数理理论,如:神经网络动力

22、学、非线性神经场等。二、应用研究可分为以下两类: 1、神经网络的软件模拟和硬件实现的研究。 2、神经网络在各个领域中应用的研究。这些领域主要包括:模式识别、信号处理、知识工程、专家系统、优化组合、机器人控制等。随着神经网络理论本身以及相关理论、相关技术的不断发展,神经网络的应用定将更加深入。4应用MATLAB进行仿真实验4.1 MATLAB语言简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MAT

23、LAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来计算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MathWorks也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,C+,FORTRAN,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。目前的MATLAB已经成为国际上最为流行的软件之一,它除了传统的交互式编程之外,还提供了丰富可靠的矩阵运算、图形绘制

24、、数据处理、图像处理,方便的Windows编程等使得工具,出现了各种以MATLAB为基础的实用工具箱,广泛地应用于自动控制、图像信号处理、生物医学工程、语言处理、雷达工程、信号分析、振动理论、时序分析与建模、优化设计等领域11。较为常见的MATLAB工具箱主要包括:系统辨识工具箱,鲁棒控制工具箱、最优化工具箱、模糊推理系统工具箱、小波分析工具箱。4.2噪声抵消系统的仿真4.2.1BP网络模型建立控制系统的模拟和仿真是进行科学研究的重要手段,通过仿真研究可以对照比较各种控制方案,优化并确定相关控制参量。在本节中,利用MATLAB中的神经网络工具箱,建立一个BP网络模型,并在Simulink环境下

25、组成系统,进行系统仿真和动态模拟观察其信号处理质量。构造一个1-4-1神经网络模型,隐层节点取4个,如图4.1所示。本网络中的隐层变换函数为tansig函数(正切S型传递函数),它可以将神经元的输入范围(-,+)映射到(-1,+1),它是可微函数,非常适合于训练BP的神经元,如果BP网络的最后一层是Sigmiod型神经元,那么整个网络的输出就限制在一个较小的范围内;如果是purelin(线性传递函数)型线性神经元,则整个网络的输出可以是任意值。图 4.1 BP神经网络模型4.2.2BP网络训练过程神经网络工具箱为训练神经网络提供了帮助,可以利用它提供的函数对网络进行初始化、仿真和训练,并通过变

26、化的图形观察其动态训练过程。如图4.2所示给出一个网络训练过程12 。图 4.2 BP网络训练过程及算法流程4.3基于神经网络工具箱的BP网络学习和训练1 定义样本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);2 初始化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

27、1.2862 -1.2862;w2 = 0.6428 -0.1106 0.2309 0.5839;b1 = 2.1832 1.4758 -0.2518 -2.6883 ;b2 = 0.8436;3 BP网络的训练利用BP学习规则训练前向神经网络,使其完成函数逼近,适量分类和模式识别,选择训练参数tp并指示如何进行训练。tp1=10;%指定两次更新显示的训练次数tp2=10000;%指定训练的最大次数tp3=0.001;%误差平方和指标tp4=0.01;%指定学习速率,即权值和阈值更新的比例tp=tp1 tp2 tp3 tp4;一旦训练达到最大的训练次数或网络误差平方和降低到误差之下,都会使网络

28、停止学习。网络训练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.4171w2 = 1.3976 1.1918 -0.1075 1.1635 b1 = 1.0990 1.3212 -0.3419 -3.0637b2 = -0.0315画误差变化曲线:ploterr(t

29、r,tp3);如图4.3所示经过4000多次训练之后,误差逼近于0.001。从函数逼近曲线可以看出输出曲线非常逼近于目标曲线,证明训练后的网络具有较好的拟合性。图 4.3 误差变化曲线计算网络仿真输出,逼近结果a=simuff(p,w1,b1,tansig,w2,b2,purelin);plot(0:0.1:4.9,t,+,0:0.1:4.9,a,-);画出函数逼近曲线如图4.4所示。 图4.4 函数逼近曲线4.4基于Simulink的噪声抵消系统设计及动态仿真建模仿真可视化功能Simulink是MATLAB的主要功能之一,它是基于MATLAB环境下实现的动态系统仿真建模的一个集成环境,可以利

30、用功能模块组建控制系统进行仿真,这种方框图式的建模方法很容易将一个复杂系统的数学模型输入到计算机中去,大大简化了编程进程。BP网络构造在进入Simulink14环境后,在Simulink窗口的File菜单中,选择NEW命令就建立了一个模型窗口。打开Block&Tooboxes模块库中Neural Network Blockset子库分别拷贝模块Transfer Function、Net Input Function和Weight Function模块中的tansig、purelin、netsum、dotprod到模型窗口。打开Simulink库中的Commonly Used Blocks,拷贝

31、In1、Out1、Constant模块到模型窗口。根据需要进行模块输入结点数目的调整(如netsum4),并连接模块。根据前面训练BP网络得到的权值w和阈值b来对Constant模块进行修改。通过以上步骤就形成了所需的BP网络构造如图4.5所示。图4.5 BP网络构造在Simulink环境下构造大型控制系统方框图,如果把系统中的每个元件都 显示出来,就会遇到空间不够的问题,往往整整一屏都放不下系统方框图的某个局部,解决这个问题的办法就是将实现某一功能的各个元件组合封装起来,形成一个子系统(subsystem)。将图4.5所示结构封装,就变为如图4.6所示。如果用鼠标双击subsystem模块,就会显示其基本模型。图4.6 subsystem噪声抵消系统的构造完成了BP网络的构造和封装后,从Simulink的Source、Sinks、User-Defined Function、 Commonly Used Blocks模块库调用Sine Wave、Uniform

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1