【基于MATLAB的滤波器的设计与实现16000字(论文)】_第1页
【基于MATLAB的滤波器的设计与实现16000字(论文)】_第2页
【基于MATLAB的滤波器的设计与实现16000字(论文)】_第3页
【基于MATLAB的滤波器的设计与实现16000字(论文)】_第4页
【基于MATLAB的滤波器的设计与实现16000字(论文)】_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB的滤波器的设计与实现摘要当前,数字信号处理技术受到了人们的广泛关注,其理论及算法随着计算机技术和微电子技术的发展得到了飞速地发展,并被广泛应用于语音和图象处理、数字通信、谱分析、模式识别和自动控制等领域。数字滤波器是数字信号处理中最重要的组成部分之一,几乎出现在所有的数字信号处理系统中。本论文利用TI公司的16位定点DSP芯片TMS320VC5416-160的硬件、软件结构和特性实现了数字滤波器的设计。深入研究了DSP芯片的硬件开发技术和软件编程技术及调试技巧;在MATLAB环境下,利用MATLAB语言编写程序对IIR滤波器进行仿真并得到滤波器的系数;通过CCS环境掌握了程序开发方法、调试工具的使用及优化级别的选择等,编写了DSP的工IR滤波算法并在CCS上进行了调试仿真。本课题研究的数字滤波器基本理论及其实现方法,为数字滤波器的实现奠定了理论基础。为数字滤波的相关领域提供了理论及技术准备,缩短了理论与实践的距离,为今后从事数字滤波和DSP技术研究开发工作奠定了基础,积累了经验。关键词:数字信号处理;数字滤波;MATLAB;DSP目录TOC\o"1-3"\h\u255741绪论 绪论1.1研究目的与意义滤波器从1917年发明以来,已经有近一个世纪的发展史,滤波器的发明也极大的推进了电子器件以及通信的发展。计算机技术以及集成电路的技术的发展又使滤波器产生飞跃式的发展,各种数字电路以及模拟开关电路元件体积越来越小,密度越来越高,直接催生了集成芯片式RC有源滤波器,开关电容滤波器以及数字滤波器。使滤波器的应用范围再一次扩大,不仅仅在通信领域,在医学,电气,图像处理等领域也起到了举足轻重的作用。1.1.1数字滤波器简介数字滤波器作为数字信号处理的一部分,是随着计算机以及数字器件的发展而发展起来的一门比较新的技术,尤其近几年来,数字处理芯片以及数字信号处理技术的发展,使得数字滤波器的优点越来越突出,现代数字滤波器可以轻易实现将过渡带缩短到1Hz以内,这点是模拟滤波器无法达到的性能指标。数字滤波器比模拟滤波器还有更优越的信噪比、可靠性以及灵活性和可扩展性,并且随着数字集成电路的发展,制作成本将会越来越低。目前使用比较多的滤波器设计方法分别是无限冲击响应(IIR)以及有限冲击响应(FIR)滤波器,其中由于、FIR滤波器可以很容易实现具有严格线性相位结构的滤波器,而IIR滤波器要达到严格线性相位结构必须经过全通网络线性相位矫正从而大大增加滤波器的阶数。FIR滤波器由于其冲击响应有限,所以是一个稳定系统。并且没有反馈环节,有利于其在硬件上实现。所以FIR滤波器以其独有的优势应用于线性相位结构的系统中。近几年来,随着RLS以及LMS自适应算法的提出,很多专家学者提出了利用自适应算法在数字系统上设计自适应滤波器,使滤波器的性能更加灵活,并且在对滤波器有特殊滤波要求的场合使用,例如自适应陷波器常用在电气设备中滤除工频干扰而对其余频率信号几乎完全不产生影响,以及在通道失配中采用自适应滤波原理进行矫正,有些系统可以采用自适应算法达到抵消噪声干扰,这些都是常规滤波器无法达到的性能指标。LMS算法以其简单的特性,可以在多种数字芯片上进行设计。尤其在FPGA上实现各种自适应滤波器,是目前针对自适应滤波器方面的一个研究方向。1.1.2基于FPGA的自适应滤波器研究意义FIR与IIR滤波器都是数字滤波器,即在数字系统上实现滤波器功能,而数字系统又分为软件数字系统实现以及硬件数字系统实现,软件数字系统实现最常用的例如使用MEATLAB或者Labview进行编程实现,其优点是可以自如的调节信号字长以及滤波步长,可以达到很高的精度,并且可以综合其它的处理功能为一体。缺点是接口比较单一,必须接外置的采集卡,需要以计算机为载体体积往往很大。并且对信号的处理速度在相同条件下要比硬件实现的滤波器系统要慢,并不能达到很好的实时性,实际应用中只适用于中、少量的数据后期分析以及对成本以及实时性要求不高的一些系统使用。硬件芯片实现的数字滤波器实时性要比PC机软件好,并且硬件载体也比较多,如单片机、ARM类芯片,和专门用于数字信号处理的DSP芯片上均可以实现滤波器功能,但是其运算均为串行运算,(现场可编程门阵列)FPGA作为一种可编辑器件,不仅能实现上述所有芯片的功能,在资源配置合理的情况下,还能进行处理模块多重并行调用,即在一个芯片上实现多个基本芯片同时处理的功能,从而达到特别优异的数字信号处理功能,目前在图像处理等需要实时对大量数字信号进行滤波处理的领域,FPGA已经成为一款不可或缺的芯片。但硬件设计数字滤波器的时候,由于数字滤波器的特殊性,在设计数字滤波器的时候,并没有现成的标准公式,这造成了很多数字滤波器并不能完全直接在硬件系统上实现,例如,FIR数字滤波器,必须先利用软件工具得出FIR滤波器的各延迟抽头系数,才能进行硬件设计,所以设计FIR滤波器的时候,是离不开计算机系统的,但是设计好的滤波器,可以脱离软件系统进行使用。由于FIR滤波器的本质就是一个标准的乘加运算集,恰好可以利用分布式算法实现FIR滤波器,分布式算法的每个乘法运算中必须有一个乘数为常数,这又与FPGA的基本逻辑单元查找表的功能相适应,利用查找表结构可以进行一个常数乘数与一个变量相乘的运算,这样在实现FIR滤波器的时候,利用分布式算法,可以实现不使用或仅使用少量乘法器资源即可完成FIR滤波器结构设计,FPGA的设计结构刚好与FIR滤波器的设计结构吻合,可以节约资源提升处理效率,所以在FPGA上设计基于分布式算法结构的FIR滤波器有很大的优势。FIR滤波器的各项抽头系数需要由软件系统先生成然后直接应用到硬件系统中,目前数字滤波器的一个研究热点是自适应滤波器,自适应滤波器能根据采样数据的变化,采用合适的自适应算法来改变滤波器的参数或者结构。而应用最小均方误差(LMS)准则自适应算法的FIR滤波器的硬件实现,是目前研究的热点。1960年Widrow与Hoff提出了LMS算法,可以通过将维纳-霍夫方程转化为一组递推公式,该递推公式仅由基本乘加运算组成,巧妙的避开了原来的矩阵运算,使该算法可以更有效的在硬件系统上实现。但是利用LMS算法进行FIR滤波器各抽头系数更新的运算是一种循环迭代逐次逼近最优解的过程,所以进行一次权值更新需要进行多次运算,是一个闭环系统,在FPGA上实现该算法的可以利用FPGA比其余各种串行结构芯片更加灵活的结构特性进行针对FPGA硬件结构的算法优化,从而极大的提升LMS自适应滤波器的处理效率。在FPGA上实现LMS自适应滤波器一方面可以极大的减小数字滤波器体积,另一方面可以极大的提升滤波速度,实现其在对实时性要求更高的系统中使用。本文在自适应陷波滤波器的基础上,利用FPGA数字处理速度快,可以将FFT变换,噪声信号提取以及自适应陷波滤波器三个处理过程结合起来,在不影响系统实时性的前提下,设计出滤波性能更加优秀的自适应陷波滤波器,在FPGA上实现陷波滤波器,不仅数字信号处理速度快,由于是直接数字电路硬件设计,所以有较强的可扩展性。1.2国内外研究现状1.2.1自适应滤波器研究现状自适应滤波器以它独特的自适应特性,使得数字滤波器的性能得到了较大的提升,随着科技的发展,数字信号处理应用中,对滤波的要求越来越高,传统意义的数字滤波器如系数固定的IIR以及FIR滤波器已经不能满足一些领域的研究以及应用的需要,而自适应滤波器在传统滤波器的基础上,尤其是在传统FIR滤波器的基础上进行了自适应扩展,并且基于LMS算法的自适应滤波系统衍生出众多针对性较强的种类,如自适应噪声抵消器,自适应均衡器,自适应天线阵等系统中均使用了自适应滤波的理论,自适应陷波滤波器以其显著的过渡性能优势以及窄带滤波并且几乎不影响有用波形的特性,应用越来越广泛随,在某些通信、图像处理、语音、军事、医疗、机械制造、滤除电气设备50Hz工频干扰等领域均有涉及。由于LMS算法易于硬件实现以及优化扩展,所以可以满足实时性要求比较高的系统来处理数字信号。对自适应滤波器的研究从对自适应滤波算法的研究开始,现在常用的自适应滤波算法分别有RLS算法以及LMS算法,自适应RLS收敛速度快,但是计算比较复杂,LMS收敛速度不如RLS算法,但是其计算复杂度很低,文献中研究了RLS在具体实践中的应用,分别应用RLS滤波算法针对稳态诱发反应以及DFT算法,和IIR算法中应用了RLS滤波算法,都体现了RLS自适应滤波算法的收敛速度快的特点,但是算法的实现过程比较繁琐,需要用到计算机计算系统辅助,若在FPGA上进行功能模块的设计,将会消耗掉大量的硬件资源,对硬件电路的复杂度以及集成度要求很高,所以RLS自适应滤波算法并不适合在FPGA上使用。文献就部分更新RLS滤波器算法进行了研究,同时在滤波器预处理部分采用了收敛性能比较好的NLMS算法,对两种算法进行了一定的滤波应用研究以及仿真,充分发挥了两种算法的优势,最终证明,NLMS算法在辅助RLS算法改善自适应逼近理想结果时可以有效减少运算次数。所以,由于LMS自适应滤波器具有运算简单的优势,便于在硬件系统上实现,在多方面滤波器设计以及应用领域都有涉及,文献研究了利用LMS算法的自适应滤波器滤除信号噪声的方法,文献利用Metalb将LMS算法结合三个FDATools来进行抑制噪声的研究,最终证明,LMS自适应滤波器对抑制时变噪声效果显著。文献[31]利用非线性功率放大器模型研究了线性LMS滤波器的性能,线性LMS滤波器又叫自适应横向滤波器,滤波算法的一部分是FIR滤波器结构,最终实现了自适应横向滤波器在功率放大器中提高信噪比的功能。上面两篇文献,研究了自适应横向滤波器的应用,文献与文献从数学角度上对LMS算法的收敛性能进行了研究分析,得出了可以通过一些方法,例如动态改变收敛步长来提高LMS算法的收敛性能;文献将变步长算法用到了直达波干扰对消,并且使用了变步长方法增强了LMS算法的收敛性能。可以看出,一些针对性较强的LMS滤波器形式,例如自适应噪声抵消、自适应预测、以及自适应建模均用到了自适应滤波算法,文献在面部影像检测心率的研究中,使用了LMS自适应滤波器进行实时快速的噪声抵消。文献当中,采用的一种方法就是利用数字信号处理的方法,实现自适应天线阵。由以上研究可知,采用LMS自适应算法的滤波器,算法简单,并且可以灵活的提高其收敛性能,以及在众多领域的应用。1.2.2自适应滤波器的实现研究现状由上一节可知,LMS算法以其简便的运算特点,特别适用于在数字集成芯片上进行实现,并且近几年数字处理芯片发展迅速,FPGA的发展在2000年之后由于微芯片生产技术以及电子电路的快速发展,渐渐向更低成本更低功耗实现更高性能的方向发展,在工业以及集成电路领域的应用越来越广泛,同时自适应滤波器在FPGA上实现的研究也越来越深入。文献采用FPGA实现了普通LMS自适应滤波算法,并将其应用到了音频处理中,并将三种实现平台结构进行比较,最终发现了在FPGA上实现相同性能LMS自适应算法要比在软件系统中运行速度快80倍以上。文献在FPGA上实现了具有复数乘法功能的LMS自适应滤波器,并且在实现过程中利用一定数量的硬件复数乘法器,实现了FPGA上实现单芯片的LMS自适应滤波器解决方案。文献中,提出了可以利用延迟型LMS自适应算法,即(DLMS)算法,在严格顺序执行的LMS算法中,通过在权值更新环节中,引入延迟D,来提高算法的运行速度。文献分别在DSP上以及FPGA上实现了DLMS(延迟型LMS自适应算法),文献将延迟算法进行了改进,针对延迟型LMS算法会造成系统延迟以及影像系统的收敛新能,在权值更新路径以及权值输出路径中分别引入不同的延迟,在保证运算速度的同时,也通过输出路径的延迟来调节收敛性以及输出性能,并在FPGA上实现,进一步提高DLMS算法在FPGA上的应用性能。文献通过研究现有的在FPGA上实现的LMS自适应滤波器的特性,提出了一种新的结构,可以提高75%的数据时钟频率,进一步提高了处理速度。针对LMS的研究促进了自适应算法的发展,而自适应滤波器可以有很多形式,自适应陷波器为了解决工频干扰而产生文献,比起最初的自适应陷波器,利用数字信号处理技术在FPGA设计的自适应陷波器性能优越,由前文所述知,LMS算法的FPGA实现研究侧面推进了自适应陷波器的发展,文献在FPGA上实现了自适应陷波器,提出了一种自适应陷波器实现结构。自适应陷波器滤波过渡带很窄,可以滤除单频信号干扰,例如对于工频干扰的消除,目前仍有人在研究,自适应陷波器滤波过渡带很窄,可以滤除单频信号干扰,对于工频干扰的消除,文献利用噪声辅助的多维经验模式分解部分重构信号,并采用最小二乘法对基线漂移以及工频干扰进行联合抑制,文献通过频域压制的方法对工频干扰进行抑制,消除干扰的同时提出新的压制法,减小了对有用信号的伤害,文献采用过滤虚拟参考的方法抑制工频干扰,提高了单极表面肌电信号的测量效果,文献提出了一种基于Krylov的多级维纳自适应滤波器设计方法,有效抑制了卫星通讯中的窄带干扰,体现了自适应陷波器在抑制窄带干扰信号的独特优势,文献介绍了一种新的消除心电信号的工频干扰的FIR自适应滤波器设计方法,并且降低了硬件的功耗,文献采用LMS自适应算法设计的陷波器对工频干扰进行抑制,并且不影响有用信号。针对滤波收敛时间的问题,文献通过变步长的方法,有效减少了滤波收敛时间,提高了自适应陷波器性能,文献在自适应陷波前对噪声频率进行估计,从而使自适应陷波器能滤除频率时变的单频信号噪声。综上所述,自适应陷波滤波器可广泛应用用于滤除噪声信号频率,对于解决固定频率的扰动问题提供了可靠高效的解决方案,尤其是DSP技术及FPGA技术的发展,更促进了自适应滤波器的实际应用。目前大部分自适应陷波器仅能滤除固定频率的噪声信号,通过自适应得到已经设定好频率的噪声波形,对于噪声信号频率未知的系统中,自适应陷波器的使用受到了一定的限制,可以通过数据分析以及经验积累而得出主要噪声信号频率,但是过程中若主要噪声能量频率发生改变,自适应陷波器并不能更新滤除信号的频率。本文在前面研究的基础上,提出了一种在FPGA上同时实现噪声信号采集、分析以及自适应陷波的设计方案,并针对该方案进行一定的研究。2数字滤波器的基本理论2.1数字滤波技术发展概况2.1.1数字滤波器的定义和分类数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。2.1.2数字滤波器的优点相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP处理器(DigitalSignalProcessor)的出现和FPGA(FieldProgrammableGateArray)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。数字滤波器具有以下显著优点:精度高:模拟电路中元件精度很难达到10-3以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。可靠性高:因为数字系统只有两个电平信号:“1”和“0”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格。因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。(5)并行处理:数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理。TI公司的TMS320C5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为100MHZ的DSP芯片,可高达100MIPs(即每秒执行百万条指令)。因此,有必要对滤波器设计方法进行研究,理解其工作原理、优化设计方法,设计开发出稳定性好的滤波器系统。通过对IIR滤波器的设计,掌握滤了数字滤波器的基本理论及设计过程,为通信、信号处理等领域实现数字滤波器设计提供了理论及技术准备,缩短了理论与实践之间的距离,为今后从事DSP技术研究或开发工作一奠定了基础。2.2数字滤波器的结构2.2.1IIR数字滤波器的结构无限长单位脉冲响应滤波器的系统函数为:对应的差分方程为:其中y(n)由两部分构成:第一部分是一个对x(n)的M字节延时链结构,每节延时抽头后加权相加;第二部分是一个对y(n)的延时抽头加权后相加,因此是一个反馈网络,这种结构称为直接型I,如图2.1所示。这种反馈网络使得IIR滤波器只需要很少的阶数就能完成滤波功能。但是在软件设计上,后面滤波结果的输出需要前面的结果,使得程序的编写没有FIR那么简单易懂。图2.1直接型I的结构方框图将上式写成(当M=N的情况):因此H(z)可视为分子多项式和分母多项式的倒数所构成的两个系统函数的乘积,这相当于两个子系统的级联。其中第一子系统实现零点为:故得:其时域表达式为:第二子系统实现极点为:整理后得:时域表达式:如果相同输出的延迟单元合并成一个,则得到如图2.2所示的结构图。N阶滤波器只需要N级延迟单元,这是实现N阶滤波器所必须的最少数量的延迟单元。这种结构称为直接型II,有时将直接型工简称为直接型,将直接型II称为典型形式。图2.2直接型II的结构方框图线性信号流图理论中有许多运算处理方法,可以在保持输入和输出之间的传输关系不变的情况下,将信号流图变换成各种不同的形式。其中流图转置的方法可导出一种转置滤波器结构,具体地讲,就是把网络中所有支路的方向都颠倒反向,且输入输出的位置互相调换一下。对于单输入输出系统来说,倒转后的结构和原结构的系统函数相同,但对有限字长而言,转置结构与原结构性质不同。直接型I,II结构的优点是简单直观。它们的共同缺点是:系数ak,br对滤波器性能的控制关系不直接,因此调整不方便。更严重的是这种结构的极点位置灵敏度太大,对字长效应太敏感,容易出现不稳定现象,产生较大误差。由于直接型结构存在上述缺点,因此一般采用以下结构更具有优越性。将式中的分子分母表达为因子的形式,即:式中A为归一化常数。由于系统函数H(z)的系数ak,br都是实系数,故零点、极点cr,dk只有两种情况:或者是实根,或者是共扼复根。即:其中表示实零点,Pi表示实极点。2.2.2FIR数字滤波器的结构有限长单位脉冲响应的冲击响应函数为:其差分方程为:由上式可以得出如下图2.3所示的直接型结构,这种结构又可以称为卷积型结构。将转置理论应用于图2.3可以得到转置直接型结构。将式中的系统函数H(z)分解成若干一阶和二阶多项式的连乘积:则可构成如图2.4所示的级联型结构。其中为一阶节;为二阶节。每个一阶节、二阶节可用图2.3所示的直接型结构实现。当M1=M2时,即得到图2.4(b)所示的具体结构。这种结构的每一节都便于控制零点,在需要控制传输零点时可以采用。但是它所需要的系数比直接型的h(n)多,所需要的乘法运算也比直接型多。在对滤波器计算时间没有特殊要求的时候可以采用这种形式。若需要严格考虑滤波器的计算时间则需要折衷它们的优点和缺点来设计。这在算法设计时候要使用软件编辑环境来计算运行的时间问题。通常FIR的计算时间都较长。很多时候我们需要牺牲时间来获得想要得到的滤波器功能。图2.3FIR滤波器直接型结构图图2.4FIR滤波器级联型结构图2.3数字滤波器实现方法数字滤波器的实现方法一般有几种:(1)在通用的计算机上用软件实现。软件可以是由自己编写,也可以使用现成的软件包。这种方法的缺点是速度太慢,不能用于实时系统,主要用于DSP算法的模拟与仿真。(2)在通用的计算机系统中加上专用的加速处理机实.现。这种方法不便于系统的独立运行。(3)用通用的单片机实现。单片机的接口性能良好容易实现人机接口。由于单片机采用的是冯诺依曼总线结构,系统比较复杂,实现乘法运算速度较慢,而在数字滤波器中涉及大量的乘法运算,因此,这种方法适用于一些不太复杂的数字信号处理。(4)用通用的可编程DSP芯片实现。与单片机相比,DSP有着更适合于数字滤波的特点。它利用改进的哈佛总线结构,内部有硬件乘法器、累加器,使用流水线结构,具有良好的并行特点,并有专门设计的适用于数字信号处理的指令系统等。(5)用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,而通用DSP芯片很难实现,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无须进行编程。(6)用FPGA等可编程器件来开发数字滤波算法。使用相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理,还是作为DSP芯片的协作处理器都是比较活跃的研究领域。通过比较这些方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的仿真。后期在实际的应用中可以利用通用DSP芯片实现。3基于MATLAB的数字滤波器设计3.1基于MATLAB的数字滤波器设计低通数字滤波器是基于瞬时无功功率理论的谐波检测过程中的重要组成部分,低通滤波器(LPF)的性能对实际谐波检测效果有很大影响。MATLAB不仅具有强大的数学矩阵预算能力,还包含有多重功能完善便捷的数字信号处理的工具箱,在数字滤波器的设计中,我们最常使用的数字信号处理工具箱为FDATool工具箱,这个工具箱可以方便快捷地完成数字滤波器的设计工作。应用FDATool数字滤波器设计工具箱,可以使用其使用向导,根据提示一步一步完成我们所需要的滤波器的设计。在滤波器的的辅助设计中,要注意几个参数必须严格按照我们的需求进行设置,主要包括数字滤波器的阶次、截止频率和类型等参数,在填写了以上主要参数后,按照向导指示,即可生成数字滤波器。为了更加清晰地看清楚数字滤波器的数学表达结构,方便我们使用最简洁的数学表达式来实现代码,我们在生成数字滤波器的时候可以选择“使用最基本的元件”这一选项,这样生成的数字滤波器就是使用最简洁的数学运算模块而组成的数字滤波器。根据以上步骤可以快速设计出数字滤波器,并可以用设计出来的滤波器模块进行系统仿真,验证滤波器性能以及系统运行的情况,这种快速的设计方法为我们对低通数字滤波器的研究奠定了基础。3.2低通滤波器参数设置的研究APF性能的好坏很程度上与其采用的谐波检测方法关系非常紧密,目前,在有源电力滤波器中采用的谐波检测方法有很多,但是较为使用广泛的是基于瞬时无功功率理论的谐波检测方法,该方法跟传统的谐波检测方法相比检测效果改进了很多有巨大的优势,但是其实际检测效果与谐波检测算法中的低通滤波器LPF的性能有着很大的关系。LPF的性能不仅影响到谐波检测的准确性,也会对控制系统造成一定的延时,影响到系统的反应的快速性,造成系统的补偿总是存在一定的滞后。运算方式的关键是对三相系统中电流基波分量的检测,基波分量的检测的核心在于选择参数合适效果完善的低通滤波器。考虑到低通滤波器的设计存在一定的难度,虽然也可以通过实验的方法来研究低通滤波器对谐波检测电路的检测效果和整个系统的影响,但是实验的过程较为复杂,实验成本高,并不方便快捷。根据上一节描述的利用Matlab进行低通滤波器的设计方法,可以方便快捷地设计出低通滤波器,再通过Matlab中的Simulink工具箱进行仿真,可以高效地研究低通滤波器对检测电路的影响。利用上一节单相谐波电流检测仿真模型,如图所示:图3.1单相有源滤波器谐波检测在输入电流中可以叠加谐波电流,通过该检测电路进行谐波检测,然后根据示波器对比实际叠加的谐波与检测的谐波的区别,便可以形象地得到不同的低通滤波器对谐波检测电路的影响。仿真可以大大减少通过实验方法来验证滤波器效果的成本,不仅提高了系统设计的效率,而且减少了设计过程的开发成本。在有源电力滤波器所采用的多种多样的谐波检测方法中,基于瞬时无功功率理论的检测方法是目前最为成熟和使用最为广泛的有效方法,其中的LPF的性能优劣将会对该检测方法产生重要的影响。因此,进一步研究最为适合的LPF具有重要的意义。低通滤波器的阶次和类型以及截止频率等参数,都会对谐波检测电路带来很大的影响,其对检测检测精度和电路的动态响应的影响是需要重点研究的。输入电流为基波与谐波的叠加。谐波叠加的电流中基波电流为频率为50Hz、幅值在-1A到+1A之间变化的正弦波;其中谐波分别值为频率为150Hz、250Hz、350Hz三个正弦谐波的叠加,幅值都是-0.1A到+0.1A的叠加。基波和谐波如图所示:图3.2输入被检测电流中的基波分量图3.2表示被检测的输入电流中的基波电流,幅值为正负1A,频率为50Hz正弦波。上图横坐标为时间,单位为s,每格为0.01s;纵坐标为电流,单位为A,每格为0.2A。图3.3检测电流中的谐波分量图3.3为输入电流中的谐波分量,也是谐波检测电路的检测目标,同时也是对比检测结果优劣与否的根据。上图横坐标为时间,单位为s,每格为0.005s;纵坐标为电流,单位为A,每格为0.1A。根据上一小节中的利用Matlab工具箱,快速设计出不同参数的低通滤波器,然后放入如图中的仿真模型中,来检验不同参数的低通滤波器对谐波检测的影响。在此,我们选择LPF,设定阶次为2阶,类型为Butterworth滤波器。分别选取LPF的截止频率为5Hz与60Hz,为了方便对比,在示波器中引入输入电流中的实际基波电流分量和实际谐波电流分量,将它们分别与检测结果进行对比。当使用参数为2阶、截止频率为5Hz的LPF时,基于瞬时无功算法仿真的检测的基波、谐波结果如下:图3.4(a)检测出的基波分量上图横坐标为时间,单位为s,每格为0.02s;纵坐标为电流,单位为A,每格为0.2A。图3.4(b)检测出的谐波波分量上图横坐标为时间,单位为s,每格为0.02s;纵坐标为电流,单位为A,每格为0.5A。当使用参数为2阶、截止频率为60Hz的LPF时,基于瞬时无功算法仿真的检测的基波、谐波结果如下:图3.5(a)检测出的基波分量上图横坐标为时间,单位为s,每格为0.005s;纵坐标为电流,单位为A,每格为0.5A。图3.5(b)检测出的谐波波分量上图横坐标为时间,单位为s,每格为0.01s;纵坐标为电流,单位为A,每格为0.5A。(3)当使用参数为截止频率为20Hz阶次为2阶的LPF时,基于瞬时无功算法仿真的检测得到的基波、谐波检测结果如下:图3.6(a)检测出的基波分量上图横坐标为时间,单位为s,每格为0.02s;纵坐标为电流,单位为A,每格为0.5A。图3.6(b)检测出的谐波分量上图横坐标为时间,单位为s,每格为0.01s;纵坐标为电流,单位为A,每格为0.5A。当使用截止频率为5Hz的LPF时,由图3.4可知,大约经过了5个周期,通过检测环节检测出来的波形的变化才能逐渐跟踪上实际波形的变化,可见其动态响应过程很慢,但是检测精度跟踪精度很高,检测的波形能够较好地跟踪上实际的波形它们的重合度很高。低通滤波器的截止频率对检测电路的动态响应有直接的影响,可见截止频率选取的太小导致了动态响应较慢,应该增大截止频率。图3.5分别为当LPF的截止频率选取60Hz时,检测算法检测出来的基波、谐波,以及实际谐波源中的的基波与谐波,将它们放在一起进行对比。容易发现,检测过程时间明显缩短了,动态响应过程很快,只需要大概1个检测周期,但是检测的精度跟截止频率为5Hz时相对比精度比较低,可以发现在波峰的位置检测结果不够理想,其检测值的波峰无法跟踪上实际波形的波峰。当LPF的截止频率选取20Hz的低通滤波器时,谐波检测电路检测的基波与谐波同实际的基波与谐波的对比图如图3.6。由图3.6易知,经过大概2个周期,检测波形就能跟踪上实际波形的变换,而且跟踪上波形变化之后,谐波电流的检测精度也比较理想,跟踪性能不错。以上的仿真说明,在基于瞬时无功功率的谐波检测电路中的LPF的截止频率对检测效果具有很大的影响需要设置合适才可以。仿真的结果基本对照上了低通滤波器的理论分析,当截止频率小时谐波电流检测的精度高,但是同时会影响动态响应使动态响应较慢。可是当为了提高检测的动态响应速度,提高截止频率时,会出现有一部分的低次谐波无法被LPF衰减掉的情况,这样会带来检测精度不高检测波形失真的结果,对谐波电流的检测精度而言是不利的。可见,基于瞬时无功功率理论的谐波电流检测方法中,LPF的检测精度和动态响应使相互矛盾的,如果想要获取较高的检测精度就必须减小LPF的截止频率,如果为了获取较快的响应速度就必须增大LPF的截止频率,这就告诉我们,在实际应用中必须兼顾好动态响应和检测精度这对矛盾,截止频率的选取不能太大也不能太小必须在其中找到一个合适的平衡点。当使用参数为4阶、截止频率为20Hz的LPF时,基于瞬时无功算法仿真的检测的基波、谐波结果如下:图3.7(a)检测出的基波分量上图横坐标为时间,单位为s,每格为0.02s;纵坐标为电流,单位为A,每格为0.5A。图3.7(b)检测出的谐波分量上图横坐标为时间,单位为s,每格为0.02s;纵坐标为电流,单位为A,每格为0.5A。当使用参数为6阶、截止频率为20Hz的LPF时,基于瞬时无功算法仿真的检测的基波、谐波结果如下:图3.8(a)检测出的基波分量图3.8(b)检测出的谐波分量上图横坐标为时间,单位为s,每格为0.02s;纵坐标为电流,单位为A,每格为0.5A。通过以上的仿真研究可以发现,不仅LPF选取不同的截止频率对检测结果响应很大,同时阶数的选取对谐波电流的检测效果也影响很大,这就要求LPF的阶次也要选择合适才可以。当都选取截止频率为20Hz时,分别选取LPF的阶数为2阶、4阶和6阶进行对比,谐波检测环节检测出的基波电流波形与谐波电流波形和实际的基波电流波形与谐波电流波形的对比图分别如图3.6,图3.7所示。当选取LPF的阶数为2阶时,经过了大概2个周期,检测电流波形便能很好的跟踪上实际电流波形;当阶数为4阶时,检测动态大概经过3个周期,检测电流波形才能跟踪上实际电流波形;当阶数为6阶时,需要经过了大概5个周期检测电流波形才能跟踪上实际电流波形。可见,虽然低通滤波器的截止频率一样,但是随着LPF的阶数的增大,谐波电流检测的动态响应过程明显减慢,并且随着阶数的提高,低通滤波器的元件数目也响应增多,这也会加大滤波器的实现难度。理论上来讲,LPF的阶数的提高可以增加谐波电流的检测精度,但是根据我们仿真结果来分析,检测精度是有一些提高,但是提高的效果并不明显,而且在LPF的阶数为4阶时,其检测精度已经十分令人满意了,实际当中,有时甚至选择2阶滤波器就能满足要求。低通滤波器的类型也会影响谐波电流检测的精度和动态响应。常用的滤波器有Butterworth、Chebychev、Bessel和Elliptic滤波器等;把这些不同种类的滤波器分别加入图3.1中进行仿真测试,通过对比结果发现,考虑到综合效果,在图3.1的谐波电流检测电路中,一般选Butterworth滤波器较好。根据以上仿真的对比结果,本文选择阶数为2阶、截止频率为20Hz的Butterworth滤波器作为谐波检测算法中使用的获取电流基波分量的低通滤波器。3.3MATLAB语言设计为了向DSP所需要的汇编语言转换,需要编写通用的语言。可以直接用C语言,然后调用CCS自带的C编译器将C语言转换成汇编语言,但一般情况下,滤波器对实时性要求比较高,而整个滤波器的程序编写也不是很大,所以采用汇编语言编写。滤波器设计需要编写的通用语言,根据程序设计流图本课题使用MATLAB语言编写了下列程序。clearall%清寄存器值clf%清屏N=1024%数据点数fs=8000%采样频率dt=(1:N)/fs;%采样时间间隔y=randn(1,1024);%产生随机信号figure(3);z=y;plot(z)1p=500;%二截止频率wnl=2*lp/fs;%函数的参数[z1,p1,kl]=CHEBYI(3,0.5,wnl);%滤波器的零极点表示[b1,al]=CHEBY1(3,0.5,wn1);%滤波器的传递函数表示bl=bl/(8*1.0711);%将参数按比例缩小al=al/(8*1.071I);%为DSP程序做准备,MATLAB中不需要yyl=filter(b1,al,y);%滤波y=fft(y,N);%将原始信号做FFT变换pyy=y.*conj(y);%做功率谱分析f=(0:(N/2-1));fori=1:N/2-1;f(i)=f(i)*fs/N;endfigure(1);plot(f,pyy(1:N/2))%画出原始信号的频谱图y=fft(yyl,N);pyy.y*conj(y);%将滤波后数据做功率谱分析f=(0:(N/2-1));fori=1:N/2-1:f(i)=f(i)*fs/N;Endfigure(2);plot(f,pyy(1:N/2));%画出滤波后信号的频谱图窗函数设计法的优点在于简单,有闭合形式的公式可循,因而很实用,缺点在于通带与阻带的截止频率不易控制。频率抽样设计法优点在于可在频域直接设计,且适合于最优化设计,缺点在于抽样频率只能等于的整数倍(第一种频率抽样)或者等于的整数倍加上(第二种频率抽样),因而不能确保截止频率ωc的自由取值。要想实现自由地选择截止频率,必须增加抽样点数N,但是又会使计算量加大。基于两种设计方法,本论文通过一个实例来说明采用窗函数利用MATLAB语言来达到设计FIR数字滤波器的方法。3.4仿真结果及分析运行以上程序在MATLAB上得到的仿真结果如下:根据如下技术指标,采用窗函数法设计一个FIR低通滤波器:通带截止频率ωp=0.2π,通带允许波动Ap=0.25dB;阻带截止频率ωs=0.3π,阻带衰减As=50dB。图3.9低通滤波器设计结果根据相关资料可知海明窗和布拉克曼窗均可提供大于50dB的衰减。海明窗具有较小的过渡带,从而具有较小的长度N。所要设计的滤波器的过渡带为Δω=ωs-ωp=0.3π-0.2π=0.1π。利用海明窗设计的滤波器的过渡带宽,所以低通滤波器单位脉冲响应的长度为,3dB通带截止频率为。从图3.9(a)、(b)的比较中可以看出,输入信号经过滤波处理后,其输出波形在频率为500Hz以上的频率成分基本上被消除。但是在500Hz附近还有些频率成分滤除的不干净。经过分析,原因可能是滤波器的阶数比较低。如果提高滤波器的阶数,可以明显的提高滤波效果。但是总体的滤波效果,在MATLAB上的仿真结果还是满足了本设计的需求。通过上面的MATLAB程序仿真实现了滤波,并能得到滤波器的各个系数。3.5各模块子程序的设计及仿真实验将在安静环境下录制的一段纯净语音导入MATLAB中,运用程序对其加入高斯白噪声,就生成了实验所需要的含噪语音。用音频线将含噪语音输入到C5402开发板的MIC接口,AD采集到的数据送至DSP内存,应用基于Remez算法优化的FIR滤波器和小波阈值降噪法对其进行联合降噪处理,然后通过耳机输出降噪后的语音信号。实验流程如图3.10所示。图3.10实验流程图编写数字滤波器的优化程序,其部分软件代码如下:movmmap(AR1),BSAC;sftsT1,#-1‖mov#0,CDP;movmmap(T1),BKC;movXAR3,XAR1;movmmap(AR3),BSA01;movmmap(AR3),BSA23;or#0x10A,mmap(ST2_55);movAR4,AR3;movAR4,AR1;sub#1,T0amar*AR1-‖movT0,BRC0;sub#3,T1,T0;movT0,CSRmovT1,T0;sub#2,T1;mov*AR0+,AC1‖rptblocalsample_loop-1;mov#0,AC0‖movAC1#-1,AR3;add*AR3+,*AR1-,AC1‖rptCSR;firsadd*AR3+,*AR1-,*CDP+,AC1,AC0;firsadd*(AR3-T0),*(AR1+T1),*CDP+,AC1,AC0;macm*CDP+,AC1,AC0;sftsAC0,#1movrnd(hi(AC0)),*AR2+3.6基于Matlab算法的去噪程序设计本文用Matlab算法对一维小波变换和二进制小波变换进行快速计算。编写小波变换程序时,小波分解与小波重构的函数为:分解函数:vioddwt(h,g,wlen,d,c,m,sca);重构函数:viodidwt(h,g,wlen,d,c,m,sca);其具体算法流程如图3.11所示。其中参数说明如下:wlen:是小波长度,属于整型变量。h:长度为wlen的尺度系数,属于双精度实型一维数组。g:长度为wlen的小波系数,属于双精度实型一维数组。d:长度是,并且n为输入信号的长度,d属于双精度实型一维数组。小波变换降噪程序主要包括小波分解程序、小波重构程序及小波阈值降噪处理程序。其中小波阈值降噪子程序为:voidnoisy()﹛inti;for(i=WAVE_FRAME;i<WAVE_FRAME*3/2;i++)﹛wavelet_d[i]=0;﹜for(i=WAVE_FRAME*3/2;i<WAVE_FRAME*7/4;i++)﹛wavelet_d[i]=0;﹜for(i=WAVE_FRAME*7/4;i<WAVE_FRAME*15/8;i++)﹛wavelet_d[i]=0;﹜for(i=WAVE_FRAME*15/8;i<WAVE_FRAME*31/16;i++)﹛wavelet_d[i]=0;﹜idwt(h,g,wlen,wavelet_d,wavelet_c,wavelet_layer,sca);﹜图3.11基Mallat算法的小波分解流程图3.7实验结果及分析该实验应用TMS320C5402开发板,构建了一个基于MATLAB的语音降噪系统,实现语音信号的采集、存储和降噪。实验所用的语音样本信号是在安静环境下录制的,通过麦克风或线路输入语音信号,为避免信号失真,特选采样频率为48kHz。实验参数如表3.1所示。表3.1实验参数设置语音样本高斯白噪声声道数单声道编码方式WindowsPCM采样频率48000Hz采样点所占比特数16bit小波基Daubechies小波变换次数4次小波阶数6阶硬件平台C5402开发板,麦克风,音频线,电脑一台软件平台CCS3.1其实验步骤如下:启动CCS,并编写语音信号降噪的相关程序代码;2.打开projects,选择myprojects/yyjz/yyjz,pjt;3.打开程序后,对其进行运行和编译;4.通过File/Loadprogram/debug/yyjz.out把程序加载到芯片上去;5.接着运行程序,能通过耳机听到语音;6.然后在属性框内进行参数设置,并通过使用CCS中的波形显示功能Graph-Property来观测结果。其滤波前后语音信号对比图如图3.12所示。其中原始语音信号如图3.12(a),加入高斯白噪声后的语音信号如图3.12(b),去噪后的语音信号如图3.12(c)所示。原始语音信号(b)加入高斯白噪声的语音信号(c)去噪后的语音信号结束语本文就MATLAB实现数字滤波器进行了研究,总结本设计的研究成果,可归纳为以下几点:1.数字滤波是信号处理技术中的重要部分,研究了数字滤波器的基本理论、实现方法:学习了数字滤波器的结构、设计理论,掌握了各种数字滤波器的原理和特性,为数字滤波器的实现及今后的学习与工作奠定了理论基础。2.研究了TI公司的16位定点DSP芯片TMS320VC5416-160的硬件、软件结构和特性,掌握了CCS环境下的程序开发方法、调试工具的使用及优化级别的选择等;深入了解了DSP芯片硬件开发技术和软件编程技术及调试技巧。3.研究了MATLAB环境下数字滤波器的设计方法,利用MATLAB软件编程实现IIR滤波器设计,用MATLAB语言可以编写出各种类型的滤波器,并进行仿真,用汇编语言编写了DSP的工IR滤波算法,并将其在CCS上调试仿真。4.探讨了建立MATLAB与DSP之间的连接,寻找系数快速传递的方法。上述研究为课题的进一步研究奠定了基础,但是由于课题本身难度较大,作者水平有限,加之时间紧迫研究不够深入,论文中存在许多缺点和不足,需要在今后的研究中注意,主要包括以下几方面:(1)对数字滤波理论知识的研究还不够深入。由于理论知识的欠缺,滤波器的设计所采用的方案不够完善。(2)设计的滤波器类型转换不够方便和灵活,虽然对MATLAB与DSP之间的连接做了一些研究,但在实际的应用中并没有成功,如要转换滤波器的类型必需重新得到滤波器的系数并在原程序中修改,不能直接调用。在以后应加强这方面的研究。(3)有关DSP系统软件开发语言的选择历来是人们较为关心的问题,考虑到数字滤波程序代码不是很多,设计中作者采用MATLAB进行算法仿真,用汇编语言开发算法程序。但是,从代码质量角度考虑汇编必然不是最优的,在今后的研究中要加强对高级语言代码的优化研究。参考文献[1]黄海宏,韦伟,沈冶萍,等.并联型有源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论