版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY本科毕业设计(论文)音频数字滤波器的设计与实现学院名称:专 业:班 级:姓 名:指导教师姓名:指导教师职称:2012年 6 月江苏技术师范学院毕业设计说明书(论文)音频数字滤波器的设计与实现摘要:随着现代电子系统的发展,数字滤波器成为数字信号处理的重要组成部分。在家庭中和专业音频设备等一些领域,数字音频处理技术已经慢慢地取代模拟音频处理技术。音频处理的数字化,是利用数字信号处理算法对收集到的音频信号进行处理来实现的。本文介绍了一个基于FPGA的音频数字滤波器的设计方案。该设计方案以最小均方(LMS)算法为核心,并
2、分析推导了LMS算法公式。介绍了利用LMS算法的FIR自适应数字滤波器,并说明了该结构滤波器的特点。利用System Generator软件建立算法的FPGA硬件模型。利用前一时刻已获得的滤波器参数去自动的调节现时刻的滤波器参数,当输入信号的统计特性未知,或者输入信号的统计特性变化时,利用自适应滤波器可以实现最优滤波。仿真实验结果表明,该滤波器可实现对加噪后的音频信号自适应滤波。关键词:数字滤波器;自适应滤波器;LMS;FIR;FPGAI江苏技术师范学院毕业设计说明书(论文)Audio Digital Filter Design And LmplementationAbstract:With
3、the development of modern electronic systems, the digital filter has become an important part of digital signal processing. In the family and the professional audio equipment and other fields, digital audio processing technology is slowly replacing the analog audio processing technology. The digital
4、 audio processing is the use of digital signal processing algorithm for the collected of audio signal processing to achieve.This paper introduces a FPGA based audio digital filter design scheme. The scheme takes the least mean square (LMS) algorithm as the core. LMS algorithm formula is derived in t
5、he paper. The LMS algorithm is used in FIR adaptive digital filter and the structure characteristics of the filter is introduced. We use System Generator software establish the FPGA hardware model of the filter. The previous filters parameters are used to adjusted present filters parameters automati
6、cally. When input signals statistical characteristics is unknown or time-varying, the adaptive filter can be used to realize optimal filtering. The simulation results show the filter can realize adaptive filtering of audio signal polluted by the noise.Keywords:digital filter;adaptive filter;LMS;FIR;
7、FPGAII江苏技术师范学院毕业设计说明书(论文)目录前言1第1章 音频数字滤波器的基本原理21.1 数字滤波器的定义和分类21.2 FIR滤波器的特点31.3自适应滤波简介及原理41.4 LMS算法及相关参数选择71.5自适应滤波器性能评价标准8第2章 音频数字滤波器的设计方案102.1反馈滤波器的设计102.2 LMS自适应滤波器算法构想102.3软件工具12第3章 音频数字滤波器的软件设计143.1 基本模块 143.2 搭建System Generator模型 163.3 LMS滤波器模型及模块结构19第4章 音频数字滤波器的仿真与分析234.1硬件模型仿真234.2软件仿真26 结束
8、语31 参考文献 32 致谢34 附录一35 附录二40I江苏技术师范学院毕业设计说明书(论文)前言随着音频信号处理的发展和各种家用音频处理器的诞生如MP3等,它们对音质和处理速度的要求越变越高。模拟音频处理技术已经逐渐被数字音频处理所代。音频处理的数字化是利用数字滤波算法对音频信号进行变换处理实现的1。人耳所能听到声音的频率在2020000Hz之间,在现今的信息处理过程中,对信号的过滤,检测等都要应用要滤波器2。数字滤波器因具有:体积小重量轻、精度高、性能稳定、灵活以及可以实现模拟滤波器无法实现的特殊滤波功能而被广泛接受和应用发展3。随着近年来计算机技术的进步,数字滤波器已经在网络和滤波器技
9、术中占有重要地位4。数字滤波器和模拟滤波器作比较具有:易实现、性能体积比好、可靠性好、通用性好,可同时实现多种滤波和多处滤波等的优点5。一般的数字滤波器按结构可以分为FIR滤波器和IIR滤波器2-5。IIR滤波器借用了模拟滤波器的结果,有图表可查,但是相位特性不好控制。FIR滤波器可以再设计的同时,保证精准严格的相位特性6。FIR滤波器的系数可以固定也可以根据输出的结构进行自适应调整。论文的主要研究内容有:(1)通过对自适应滤波算法原理的分析,提出了设计自适应滤波器消除音频信号中噪声的方案。(2)在Simulink环境下完成自适应滤波器的设计。采用最小均方(LMS)算法设计了音频数字滤波器,用
10、System Generator等软件构建FPGA模型,(3)在Matlab中进行仿真,对有噪音的音频信号进行滤波处理,取得较好的滤波效果。本文共分成4章,第1、2章讲述了其基本原理和音频数字滤波器的设计方案,第3章写出了音频数字滤波器的软件设计,第4章说明了其调试与分析。第 1 页 共 40 页江苏技术师范学院毕业设计说明书(论文)第1章 音频数字滤波器的基本原理1.1数字滤波器的定义和分类所谓数字滤波器,指的是输入/输出均为数字信号,然后通过一定的运算关系改变输入信号中所含频率成分的相对比例或者滤除某些频率成分的器件1。数字滤波器和模拟滤波器相比,因为信号形式和实现滤波的方法不同,数字滤波
11、器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等一些优点。从数字滤波器的结构看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器从功能上分可以分为:低通、高通、带通和带阻滤波器。FIR结构滤波器与IIR结构滤波器的区别2:(1)单位响应IIR滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的脉冲序列。FIR滤波器,也就是“非递归滤波器”,没有引入反馈。这种滤波器的脉冲响应是有限的。(2)幅频特性IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用在对相位信息不敏感的音频信号中。而FIR数字滤波器的幅频特性的精度
12、比IIR数字滤波器低,但是它是线性相位的,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。(3)实时信号处理FIR结构的数字滤波器是有限的单位响应,有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。第 2 页 共 40 页江苏技术师范学院毕业设计说明书(论文)1.2 FIR滤波器特点FIR数字滤波器的设计方便而且简单,特别是采用了双线性变换法设计的数字滤波器没有频谱混叠的问题,效果较好。在有些实际的应用场合,例如数据传输和图象处理等对滤波器的线性相位特性要求较为严格,所以在这种场合中,一般选用FIR数字滤波器3。FIR数字滤波器可设计得具
13、有严格的线性相位,而且其幅度特性可以随意设计。FIR滤波器的单位冲激响应h(n)是有限长序列,其系统函数的极点位于Z平面原点,因此FIR滤波器不存在稳定问题4。另外,FIR滤波器还可以采用FFT方法实现其功能,从而大大提高了其效率 。因此,FIR数字滤波器日渐引起了人们的注意对于线性相位滤波器而言,通过滤波器的信号不存在相位失真,只存在固定单位的延迟。而这一点在数字通信、图象处理和语音合成等许多应用中都极为的重要。FIR数字滤波器具有线性相位特征的条件是它的单位冲激响应h(n)满足偶对称或者奇对称6。若h(n)满足偶对称,则其相位特性()为: ()=-N-1 (1-1) 2若h(n)满足奇对称
14、,则其相位特性()为:()=-N-1+ (1-2) 22从频域上看h(n)是长度为N的实序列,所以h(n)的N点DFT满足共轭对称性,即:H(k)=H*(N-k)而幅度函数则一定呈偶对称特性,即:H(k)=H(N-k) (1-3)当h(n)为偶对称,信号通过该滤波器时,其通带就产生(N-1)/2点群延迟,滤波器的相频特性是相位过原点的一条直线,其斜率为-(N-1)/2,其幅频特性相当于对信号低通滤波;当h(n)为奇对称,信号通过该滤波器时,其通带不但产生(N-1)/2点群延迟,还对所有通带内各种频率的信号都有一个90°移相,这相当于信号先经过一个90°移相器,然后再作带通滤
15、波9。第 3 页 共 40 页江苏技术师范学院毕业设计说明书(论文)滤波器的结构可采用FIR或IIR结构,本文采用FIR滤波器。FIR滤波器的结构可分为3种类型,横向结构,对称横向结构以及格型结构。图1-1为一个FIR横向滤波器的结构6。图1-1 FIR横向滤波器结构1.3自适应滤波器简介及原理在缺乏先验统计知识的情况下,能自动调整滤波器参数(自我学习)的最优滤波器,叫做自适应滤波器7。自适应滤波算法包括线性自适应算法和非线性自适应算法,非线性自适应算法具有更强的信号处理能力,但计算比较复杂,实际应用最多的仍是线性自适应滤波算法。线性自适应滤波算法的种类有很多,其中有LMS自适应滤波算法和变换
16、域LMS自适应滤波算法等。这些算法各有特点,适用于不同的场合。由于LMS算法简单有效、鲁棒性好、易于实现,所以应用最为广泛。最小均方算法(LMS)其主要的思想是基于最小均方误差准则,使滤波器的输出信号与期望输出信号之间的均方误差最小。自适应滤波器主要包括了参数可调的滤波器和自适应迭代算法两部分。参数可调的滤波器:其参数受自适应算法控制,随着每次迭代而不断改变的时变滤波器。其功能是对每时刻输入产生输出响应。自适应迭代算法:根据每时刻滤波器的输出提供下一时刻滤波器参数的一种算法(机制)。这两部分不同的变化与组合,可以导出许多不同形式的自适应滤波器。第 4 页 共 40 页江苏技术师范学院毕业设计说
17、明书(论文)理论上讲,自适应滤波问题没有唯一的解。为了得到自适应滤波器,可以采用各种不同的递推算法来实现,这些自适应算法都有各自不同的特点,适用于不同场合。下面分别进行说明。1.3.1基于维纳滤波理论的方法在的线性滤波理论中,维纳滤波器是致力于解决最小均方误差准则的非线性滤波问题。这种方法是在一个已知的信号与噪声相关函数或功率谱条件下,通过求解维纳霍夫方程,对非平稳随机信号的最优预测和滤波。利用带抽头的延迟线制作的横向结构的自适应滤波器,称为自适应横向滤波器,也被称为自适应滤波器,其抽头加权系数集等于它的脉冲响应。当输入是平稳随机信号,所需的响应信号和横向滤波器输出信号之间的差值的均方值是滤波
18、器的参数或权矢量二次方函数。因此,均方误差和自适应滤波器权矢量之间的关系是一个凹型超抛物表面,它具有独特的最低点。可以使用梯度法沿曲线表面调节权矢量元素。得到这个均方误差的最小点,对应于此最小点的权矢量称为最佳维纳解7-9。为了得到自适应横向滤波器的权矢量递推关系,可以先用最优化理论中的最陡下降法来修正该则方程,即由最佳维纳解定义的矩阵方程。根据均方误差的梯度矢量等于零,可以知道最佳的权矢量,用W0来表示,即W0=R-1P (1-4)其中,R为抽头输入信号的相矩阵,P为抽头输入信号与所期望响应信号的互相关矢量。 式(1-4) 就是维纳霍夫方程的矩阵形式。满足式(1-4)的称为最佳权矢量或者最佳
19、维纳权矢量。然后利用这些相关的瞬时值推导出的梯度矢量估计值,可以得到最常用的一种算法,就是所谓的最小均方(Least Mean Square,简称LMS)算法。这种算法运算简单,且能达到较满意的性能。它的主要缺点就是在开始的时候收敛速度慢和对输入信号的相关矩阵特征值扩展度(即特征值最大值与特征值最小值之比)的变化比较灵敏。 在非平稳的情况下,描述误差性能的超抛物体曲面将随着时间连续地变化,要求LMS算法能连续地跟踪误差性能的多维抛物体曲面的底部,只有当输入数据变化比LMS算法的学习速率较缓慢时,才能自适应跟踪,这就限制了LMS算法的应用8-12。1.3.2基于卡尔曼滤波理论的方法为了自适应滤波
20、器能在平稳的或非平稳的环境下进行工作,可借助于卡尔曼滤波器第 5 页 共 40 页江苏技术师范学院毕业设计说明书(论文)来推导自适应滤波算法。对于一个线性动态系统的卡尔曼滤波问题,可以用状态方程与测量方程来描述,前者以状态矢量来表示系统的动态,后者说明了系统中的测量误差。由此可知最小误差商估计准则与最小方差估计准则是等价的,而卡尔曼滤波是线性无偏最小方差估计,故有不同的方法来推导卡尔曼的递推公式。但由于所学知识有限,在这里不进行深入的研究于讨论。在此考虑理论的完备性而进行简单的介绍。对于平稳状态,可使用固定的状态模型。它的权矢量或状态矢量等于一常数。对于非平稳情况,可使用噪声化状态模型,它的权
21、矢量或状态矢量围绕着某均值作随机游程变化。据此,可利用卡尔曼滤波的递推求解法导出自适应滤波器更新权矢量的不同递推算法。这些算法比起LMS算法有极快的收敛速率;同时,在收敛过程具有好的坚韧性,因其收敛速率对特征值扩展度不灵敏4。但这些算法的主要局限是它的计算复杂度,因要求解卡尔曼滤波问题的矩阵公式,计算量很大。1.3.3基于最小二乘准则的方法最小二乘算法是以最小误差平方和为优化目标,这里的误差是指自适应滤波器的期望响应d(n)与真实滤波输出y(n)之差。根据这类自适应滤波器的实现结构,可以得到以下三种不同的最小二乘滤波算法:(1) 递归最小二乘算法该自适应滤波算法是指横向滤波器结构的递归最小二乘
22、算法(Recursive least square algorithm,简称RLS算法)。递归最小二乘算法公式如下:W(n)=W(n-1)+k(n)e*(n) (1-5)它的推导是依赖于线性代数中矩阵的反演引理,与卡尔曼滤波算法有密切的关系。为了减少RLS算法的计算量,现已开拓出快速RLS算法和快速横向滤波器(FFT)算法等。(2) 最小二乘格型算法(3) QR分解最小算法1.3.4基于神经网络理论的方法神经网络是有大量的神经元相互连接而成的网络系统,实际上它是一个高度非线性的动力学网络系统,这个系统具有很强的自适应、自学习和自组织的能力,以及巨量并行性、容错性和坚韧性,因此,它可以做得很多传
23、统的信号和信息处理技术所不能做的事情。因其超强的自动调节能力,使得它在自适应信号处理方面有着广阔的前景7-9。第 6 页 共 40 页江苏技术师范学院毕业设计说明书(论文)所谓自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优的维纳滤波器。自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理9。自适应滤波器原理图如图1-2。d(k)图1-2 自适应滤波器原理图自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。一
24、般而言,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。自适应滤波器的结构一般采用FIR或IIR结构。由于IIR结构的滤波器存在稳定性问题,因此一般采用FIR结构的滤波器作为自适应滤波器的结构。图1为自适应滤波器结构的一般形式,图中x(k)为输入信号,通过权系数可调的数字滤波器或产生输出信号y(k),将y(k)与期望信号d(k)进行比较,得到误差信号e(k)。通过自适应算法对滤波器权系数进行调整,调整的目的是的误差信号e(k)最小,重复上面的过程,从而达到最佳滤波的效果。如果输入统计规律发生了变化,滤波器能够自动调整权系数,实现自适应过程。因为信号和噪声的特性,它们是
25、随时间变化而变化的。如果仅用FIR和IIR两种具有固定滤波系数的滤波器无法实现最优滤波。在这种情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。1.4 LMS算法及相关参数选择LMS算法最核心的思想是均方误差。因此该算法简化了计算量。在自适应噪音抵消系统中,如自适应滤波器参数选择不当,就达不到应有的滤波效果,而且还可能得到适得其反的效果。因此针对不同的信号和噪声应选择相应的参数。可见,参数的选择对滤波效果是至关重要的。下面以L阶加权自适应横向滤波器为例,推导LMS算法的公式。第 7 页 共 40 页江苏技术师范学院毕业设计说明书(论文)LMS算法公式推导9:设x(n)=x(n)x(n-1)
26、.x(n-L);w(n)=w0(n)w1(n).wL(n);其中x(n)为输入信号,w(n)为加权系数。误差信号: TTe(n)=d(n)-y(n)=d(n)-xT(n)w(n)=d(n)-wT(n)x(n)其中d(n)为参考信号,y(n)为输出信号。误差信号均方值:2(n)=Ee(n) (1-6) (1-7)由式(1-6)和式(1-7)得:均方误差性能曲面的梯度:(n)e(n)(n)(n)=2e(n)=-2e(n)x(n) (1-8) ww而最陡下降法迭代计算全矢量公式:w(n+1)=w(n)-(n) (1-9)其中为控制稳定性和收敛速度的参数。由式(1-8)和式(1-9)得:w(n+1)=
27、w(n)+2e(n)x(n) (1-10)式(1-10)说明了LMS算法的核心,是用每次迭代的粗略估计值代替了实际的精确值,这样大大简化了计算量,但是不可否认,加权系数不可能准确的沿着理想的最陡下降路径来调整自身的参数,而加权系数与µ有着密切的关系。因此,适当的选择自适应滤波器性能参数µ显得格外重要。1.5自适应滤波器的性能评价标准自适应滤波器的性能评价标准包括以下七个方面7-9:收敛速率:迭代收敛于最优解的迭代次数;失调量:收敛后的均方误差与最小均方误差的偏离程度;跟踪能力:在非平稳条件下,跟踪最优解变化的能力;第 8 页 共 40 页江苏技术师范学院毕业设计说明书(论文
28、)鲁捧性:对任何类型输入或扰动的适应性;计算要求:计算量-每次迭代所需要的计算量(常以乘法和加法次数为代表) 存储量-所要求的存储数据和程序的大小结构:算法的信息流结构及硬件实现的方式。并行算法、模块化等。 数值特性:算法对数值量化效应的敏感程度。第 9 页 共 40 页江苏技术师范学院毕业设计说明书(论文)第2章 音频数字滤波器的设计方案2.1反馈滤波器的设计反馈滤波器也就是IIR滤波器,由于滤波器在当前的输出与以前时刻的输入相关,所以在音频处理中用来产生回声、颤抖等效果。反馈滤波器模型如图2-1所示。图2-1 反馈滤波器模型进过反馈滤波器后,当前的音频输出不仅仅取决于当前输入的音频,还与之
29、前的音频有关,于是就产生了一个回声的效果。2.2 LMS自适应滤波器算法构想可以将基于LMS算法的自适应滤波器的算法过程表示成如图2-2所示。图2-2 LMS算法实现的原理框图本文中的LMS滤波器制作成一个抽头系数可配置的自适应滤波器,当抽头数为4时,它的系数迭代更新公式如下5:W0(k)W0(k-1)X(k)W1(k)W1(k-1)X(k-1)=+2µe(k) (2-1) W2(k)W2(k-1)X(k-2)W3(k)W3(k-1)X(k-3)第 10 页 共 40 页江苏技术师范学院毕业设计说明书(论文)式中,W0(k)、W1(k)、W2(k)、W3(k)为滤波器系数矢量;
30、81;为系数更新步长,直接关系到滤波器的收敛速度;e(k)为误差矢量,即输入信号与输出信号的差值;x(k)为输入信号矢量。LMS滤波器算法框图如图2-3所示。d(k)2图2-3 LMS滤波器算法框图根据上述LMS的结构,LMS滤波器模型如图2-4所示。图2-4 LMS滤波器模型第 11 页 共 40 页江苏技术师范学院毕业设计说明书(论文)2.3软件工具2.3.1 Matlab和Simulink简介20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bange
31、rt合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。MATLAB系统由MATAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分构成10。 Matlab图标如图2-5所示。图2-5 Mtalab图标Simulink是Matlab最重要的组件之一,是一个多领域动态系统仿真的平台,它提供交互式的图形用户界面,带有为信号处理、通信和控制等可定制的模块库集合。在该环境中,用户只需要操作鼠标拖拽框图,输入参数就可完成全部工作,构造出系统。另外是该组件还可完
32、成物理建模、自动代码生成、验证和确认。2.3.2 Matlab的特点(1)其高级语言可用于技术计算;(2)开发环境可对代码、文件和数据进行管理;(3)交互式工具可以按迭代的方式探查、设计及求解问题;(4)数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;(5)二维和三维图形函数可用于可视化数据;(6)各种工具可用于构建自定义的图形用户界面;(7)各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C+、Fortran、Java、COM)集成;(8)不支持大写输入,内核仅仅支持小写。第 12 页 共 40 页江苏技术师范学院毕业设计说明书(论文)2.3.3 ISE和
33、System Generator简介Xilinx是全球领先的可编程逻辑完整解决方案的供应商,研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及定义系统级功能的IP(Intellectual Property)核,长期以来一直推动着FPGA技术的发展。Xilinx的开发工具也在不断地升级,由早期的Foundation系列逐步发展到目前的ISE 10.1系列,集成了FPGA开发需要的所有功能。Foundation Series ISE具有界面友好、操作简单的特点,再加上Xilinx的FPGA芯片占有很大的市场,使其成为非常通用的FPGA工具软件。ISE作为高效的EDA设计工具集合,与第三
34、方软件扬长补短,使软件功能越来越强大,为用户提供了更加丰富的Xilinx平台。System Generator是用高性能DSP系统的快速建模和实现工具,是DSP系统和Xilinx FPGA之间的桥梁。起作用如图2-6所示。System Generator可在Matlab/Simulink环境下对算法以及系统建模,并生成相应的工程,在调用ISE相应的组件进行仿真、综合、实现,并完成配置2-5。图2-6 System Generator的作用图第 13 页 共 40 页江苏技术师范学院毕业设计说明书(论文)第3章 音频数字滤波器的软件设计3.1基本模块3.1.1 System Generator模
35、块每个System Generator的模型都必须至少包含一个System Generator标志,如图3-1所示,否则会提示错误。图3-2是一个为Spartan-3E Starter Kit开发板生成模型HDL网表的配置。这个标志模块用来驱动整个FPGA实现过程,并且不与任何模块相连,在它的参数设置里允许用户选择FPGA硬件实现的目标网表、器件型号、目标性能以及系统时钟频率等指标。图3-1 System Generator模块标志 图3-2 System Generator模块配置System Generator模块中有一个比较容易混淆的地方,就是系统时间的相关概念。这里有3个概念:Simu
36、link系统周期、FPGA时钟周期以及FPGA实际时钟周期。前两个参数都可以在System Generator模块中进行设置。Simulink系统周期是Simulink第 14 页 共 40 页江苏技术师范学院毕业设计说明书(论文)进行仿真的最小步长,仅仅是为了Simulink进行仿真,与最终的时钟周期没有联系。3.1.2 Delay和Register模块Register模块在System Generator中充当D触发器的角色,该模块只占用Slice中的FF资源,只能实现一个时钟周期的延时,但可以提供reset、enable控制端口。Delay模块与Register不同,可以实现一个任意时钟
37、周期的延时,另外,Delay模块不提供rst信号让模块的输出值复位成初始值的功能。在Delay模块中的Implementation选项卡中可以选择是否用行为HDL实现。 如果用行为HDL作为实现方式,则允许综合工具来选择最佳的实现方式,如果是用Symplify Pro作为综合工具,综合工具会对Delay模块的事项进行各种优化。3.1.3 AddSub模块AddSub模块如图3-3所示。AddSub模块用adder/subtractor的IP Core来实现,其加减操作可以固定,也可以通过输入来决定,AddSub模块的输出数据格式可以选择FULL,则输出按照需要,设置不会产生饱和溢出的位宽,在待
38、反馈的连接时,是不可以选择FULL的。图3-3 AddSub模块图标3.1.4 Subsystem模块Subsystem模块,位于SimulinkCommonly Used Blocks,如图3-4所示,可以将一些相对独立的设计封装成一个子系统,此子系统会给外部提供输入、输出引脚,可以作为一个整体模块进行任何普通模块的操作。所以此模块可以使得系统的层次更加清晰,也十分有利于模块的重用。图3-4 Subsystem模块图标第 15 页 共 40 页江苏技术师范学院毕业设计说明书(论文)Subsystem模块在默认的情况下内部结构如图3-5所示。图3-5 Subsystem模块内部结构除了在空白的
39、Subsystem模块中添加自己的设计这种生成的Subsystem的方法外,设计者也可以先搭好设计,然后选择需要的生成子系统的部分,单击右键选择Create Subsystem操作。3.2 搭建System Generator模型在开始搭建模型之前,首先要确定软件安装正确。本设计使用的Matlab版本为R2007b,ISE版本为10.1。打开MATLAB,开启Simulink,在安装了System Generator之后,会在库目录中法相Xilinx Blockset、Xilinx Reference Blockset以及Xilinx XtremeDSP Kit三个库。单击库前面加号,打开该库
40、。执行File菜单的“NEW”“Model”命令,建立一个空白的模型。将Xilinx Blockset库中Basic Elements子库中的System Generator、Delay,Math子库中的Mult、Addsuby以及Simulink库中Commonly Used Blocks子库中需要用到的图标5。单击鼠标左键拖拽至新建的模型中。连接时,按住Ctrl键后,按顺序选择欲添加链接的模块即可快捷的完成模块之间的连接线。在LMS模块内部,Coeff1、Coeff2、Coeff3三个抽头模块也同样为带Mask的 Subsystem。它们的结构与配置完全是相同的,都是带有Function
41、Block Parameters。Icon,Parametersk,Initialization和Documentation都是包含在Mask Editor之中。“coeff”模块实现的是一个抽头系数相乘以及系数更新工作。第 16 页 共 40 页江苏技术师范学院毕业设计说明书(论文)完成连接之后,如图3-6所示,保存模型为“coeff.mdl”,并且将MATLAB的当前工作路径指向模型所在的目录。图3-6 Coeff模块连接图右键单击“coeff”模块,选择“Mask Subsystem”后,会弹出Mask编辑界面。 Icon选项卡可以通过编程改变模块的外观。Parameters选项卡可以编
42、辑模块参数配置对话框的内容,及设置需要配置的模块参数。Initialization选项卡可以编辑Matlab函数来实现模块的初始化操作,再单击模块配置对话框的确认按钮后可调用函数。Documentation选项卡可以编辑一些模块的帮助信息和基本说明。双击Coeff1模块,弹出模块的参数配置对话框,如图3-7所示。第 17 页 共 40 页江苏技术师范学院毕业设计说明书(论文)图3-7 LMS滤波器Coeff1模块配置对话框Coeff1模块的Mask编辑器Icon选项卡编辑如图3-8所示。图3-8 Coeff1模块Mask编辑器Icon选项卡第 18 页 共 40 页江苏技术师范学院毕业设计说明
43、书(论文)Coeff1模块的Mask编辑器Parameters选项卡编辑如图3-9所示。图3-9 Coeff1模块的Mask编辑器Parameters选项卡Coeff1模块中的初始化程序如下所示:bg,fg = xlcmap('XBlock',0);iPos = get_param(gcb,'Position');iWidth=iPos(3)-iPos(1); iHeight=iPos(4)-iPos(2);iCx=iWidth/2;iCy=iHeight/2;logoX, logoY = xlogo(iPos);set_param(gcb, 'Link
44、Status', 'none');3.3 LMS滤波器模型及模块结构LMS模块为自适应滤波器运算的主模块,被配置为带Mask的Subsystem。噪声信号输入LMS滤波器的x口,音乐与噪声叠加的结果输入LMS 的d口。LMS模块的e口是消除噪声后的输出音频10-14。第 19 页 共 40 页江苏技术师范学院毕业设计说明书(论文)LMS滤波器模型如图3-10所示。图3-10 LMS滤波器模型LMS模块内部实现了一个有多抽头的自适应滤波器,抽头个数可以通过LMS模块进行配置,Step模块提供滤波器系数更新步长。LMS滤波器模型及模块结构如图3-11。图3-11 LMS滤波
45、器模型及模块结构双击LMS模块,会弹出模块参数配置对话框,如图3-12所示。Number of bits in input:输入数据位宽;Number of fractional bits in input:输入数据小数位数;Number of coefficients:滤波器抽头系数个数;Number of bits in coefficients:滤波器系数数据位宽;Number of fractional bits incoefficientsL滤波器系数数据小数位数: Step size:滤波器系数更新步长值;Step size Number of bits:滤波器系数更新步长数据位宽
46、;Step size Number of fractional bits:滤波器系数更新步长数据小数位数; Number of bits in error signal:误差数据位宽;第 20 页 共 40 页江苏技术师范学院毕业设计说明书(论文)Number of fractional bits in error signal:误差数据小数位数。图3-12 LMS模块属性配置框LMS模块的外观、配置参数以及抽头系数可变功能都是在LMS模块的Mask中编辑完成的,下面给出完整的Mask编辑内容,Mask编辑对话框Icon选项卡编辑如图3-13所示12。第 21 页 共 40 页江苏技术师范学院
47、毕业设计说明书(论文) 图3-13 LMS模块Mask编辑器Icon选项卡Parameters选项卡编辑如图3-14所示。图3-14 LMS模块Mask编辑器Parameters选项卡第 22 页 共 40 页江苏技术师范学院毕业设计说明书(论文)第4章 音频数字滤波器的仿真与分析4.1硬件模型仿真双击桌面上的Matlab R2007b图标,打开程序。在菜单栏下面一行找到Cuurrent Directory栏,输入所要的打开文件的路径:D:LMS。然后打开该文件夹,在对话框左侧找到“adaptive_lms.mdl”,并双击打开。这是会出现另一个对话框,单击模型上方工具栏的仿真按钮,如图4-1
48、所示。图4-1 仿真按钮图标在LMS滤波器中输入的音频有两个,包括源音频数据和噪声数据。而仿真出来的波形是由两个音频数据对比所产生的,一个是输出的音频数据还有一个是源音频数据。其中Sin Wave模块,即噪声数据15。其设置如图4-2所示,产生一个1.2kHz的噪声信号。系统时间与采样时间都为1/48000s16-17。图4-2 Sine Wave模块配置框第 23 页 共 40 页江苏技术师范学院毕业设计说明书(论文)输入的是一个1200Hz的噪声信号,其波形如图4-3所示。图4-3 噪声信号源音频信号波形如图4-4所示。图4-4 源音频信号波形第 24 页 共 40 页江苏技术师范学院毕业
49、设计说明书(论文)通过叠加模块,将放大后的噪声和源音频信号相叠加。所产生的波形,如图4-5所示。图4-5 加噪音频波形仿真结束后,源音频信号经过LMS滤波器后的波形如图4-6所示。图4-6 输出音频波形第 25 页 共 40 页江苏技术师范学院毕业设计说明书(论文)运行仿真完毕后,双击Scope模块,输出如图4-7所示。图4-7 LMS模型仿真Scope波形Scope模块记录的是输出数据与没有混入噪声的源音频数据的差距,可以清楚的看到在2s左右的地方滤波器达到收敛状态。在输出的音频中,可以听到那个尖啸的噪声有强转弱最后消失的过程16-17。4.2 软件仿真双击打开Matlab R2007b,出
50、现一个新的界面。单击“新建”,创建一个空白页,然后输入LMS算法的仿真程序18。程序如下:%LMS 算法clear allclose allhold off%系统信道权数sysorder = 5 ;%抽头数N=1000;%总采样次数inp = randn(N,1);%产生高斯随机系列n = randn(N,1);b,a = butter(2,0.25);第 26 页 共 40 页江苏技术师范学院毕业设计说明书(论文)Gz = tf(b,a,-1);%逆变换函数h= 0.0976;0.2873;0.3360;0.2210;0.0964;%信道特性向量 y = lsim(Gz,inp);%加入噪声
51、n = n * std(y)/(10*std(n);%噪声信号d = y + n;%期望输出信号totallength=size(d,1);%步长N=60 ; %60节点作为训练序列%算法的开始w = zeros ( sysorder , 1 ) ;%初始化for n = sysorder : Nu = inp(n:-1:n-sysorder+1) ;% u的矩阵y(n)= w' * u;%系统输出e(n) = d(n) - y(n) ;%误差if n < 20mu=0.32;elsemu=0.15;endw = w + mu * u * e(n) ;%迭代方程end%检验结果f
52、or n = N+1 : totallengthu = inp(n:-1:n-sysorder+1) ;y(n) = w' * u ;e(n) = d(n) - y(n) ;%误差endhold onplot(d)plot(y,'r');title('系统输出') ;第 27 页 共 40 页江苏技术师范学院毕业设计说明书(论文)xlabel('样本')ylabel('实际输出')figuresemilogy(abs(e) ;% e的绝对值坐标title('误差曲线') ;xlabel('样本
53、9;)ylabel('误差矢量')figure%作图plot(h, 'k+')hold onplot(w, 'r*')legend('实际权矢量','估计权矢量')title('比较实际和估计权矢量') ;axis(0 6 0.05 0.35)在菜单栏上单击“Debug”,找到第五个选项“Run Untitled F5”。这时会跳出来一个保存对话框,将该文件保存在“LMS R”目录下,文件名为“Untitled”。仿真出来的波形图,如下图所示。(a)第 28 页 共 40 页江苏技术师范学院毕业设计
54、说明书(论文)(b)(c)图4-8 Matlab仿真结果从图4-8(a)中可以得到实际信号的输出在坐标(0.5,-0.5)范围之间波动,少部分则在它之外波动。随N的增加而波动范围变小。从图4-8(b)中可以看出随着步长参数的减少,LMS算法的收敛速率在慢慢减小。同时也影响学习曲线的变化。误差曲线随迭代次数N的变化而逐渐收敛于10,且随N的增加而越来越明显19。从图4-8(c)中可以得到实际权矢量得关系:误差权矢量与实际权矢量有较大的误差,而误差权矢量总是围绕在实际权矢量上下波动。随N的增加而使得其相互之间的误差减小。由自适应滤波算法的原理可知,参考信号与噪声信号的相关性越强,则估计出第 29
55、页 共 40 页-1江苏技术师范学院毕业设计说明书(论文)来的噪声才会越接近真实噪声17。通过硬件模型仿真和软件仿真的比较,可以看出自适应滤波技术是一种迭代的运算,采用的是逼近的策略,所以在有限次数的迭代下,还是不能精确恢复源信号20。在实际中我们往往无法得到符合理想要求的参考信号,但是只要采用于噪声类型一致,统计特性相似的信号就可以取得较好的滤波效果。第 30 页 共 40 页江苏技术师范学院毕业设计说明书(论文)结束语本设计是利用MATLAB来观察音频数字滤波器的去噪效果。首先利用Matlab编程验证算法的有效性,最后通过程序仿真,实现去除噪声的效果。其次利用MATLAB调用 Simulink里的一些System Generator模块,构建LMS滤波器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学五年级《分数加减混合运算》教学设计
- 小学数学一年级上册:10以内口算过关练习题
- 《瞳孔大小的临床见》课件
- 湖南省株洲市2025届高三上学期教学质量统一检测物理答案
- 高考新课标语文模拟试卷系列之66
- 《病房监护系统》课件
- 《研究性学习的评价》课件
- 《汽车行业发展》课件
- 营养科护士年终总结
- 建材行业人事工作总结
- 气候变化与林业碳汇智慧树知到期末考试答案2024年
- 文言文阅读-【中职】广东省近十年(2014-2023)中职春季高考语文真题汇编(解析版)
- 凸透镜和凹透镜课件
- 欧洲监控行业分析
- NB/T 11266-2023火储联合调频项目后评估导则
- 上海中心幕墙施工方案
- 某中央空调机房拆除施工方案
- 教务处主任批评与自我批评
- 合同-劳动主体变更三方协议
- 2024年江苏南京大数据集团有限公司招聘笔试参考题库含答案解析
- 挪用公款还款协议书范本
评论
0/150
提交评论