




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连海事大学装订线毕 业 论 文二一三年六月基于FPGA开发板的数字滤波器 专业班级:姓 名:指导教师:信息科学技术学院摘 要目前,在数字信号处理和电子应用技术领域,数字滤波器作为一个不可缺少的组成成分,处在一个十分重要的地位,并日益显示出其巨大的应用价值。本文在研究了大量国内外技术文献的基础上,首先分析了数字滤波器和FPGA的研究意义及国内外研究现状,阐述了数字滤波器的基础知识,并介绍了FPGA的相关知识和Verilog编程语言,然后总结了FIR数字滤波器的理论知识,并在此基础上设计了一种基于FPGA的FIR数字滤波器,并用MATLAB软件对数字滤波器的性能进行仿真。本文深入分析了数字滤波器的功能特点、实现原理及具体的设计实现过程。本文在Xilinx ISE v7.1开发环境下,借助于MATLAB,设计并实现了基于FPGA的数字滤波器,得到了较好的滤波效果。关键词:FPGA;数字滤波器;FIR;MATLAB;低通;ABSTRACTCurrently, the digital filter plays an important part in the field of digital signal processing technology and electronic applications. And it has increasingly shown the great value in application. Based on a large number of experiments about domestic and foreign technical literature, firstly, the paper analyzes the significance of research, status of the digital filters and field-programmable gate array research. Secondly, it introduces the related knowledge of FPGA and Verilog programming language. Last but not least, it summarizes the knowledge of the FIR digital filters theory. On this basis, it proposes a FPGA-based digital filter and simulates by MATLAB. The paper further points the features, the principle and the specific design process to project digital filter.In the environment of Xilinx ISE v7.1, the experiment by means of MATLAB designs and achieves the FPGA-based digital filter. Finally, the filter obtains a better filtering effect.Keywords: FPGA; digital filter; FIR; MATLAB; lowpass;III目 录第1章 绪论11.1 国内外研究现状11.2 课题研究意义21.3本章小结2第2章 数字滤波器的基础知识32.1 滤波器概述32.2 数字滤波器的分类32.3 本章小结5第3章 设计语言及FPGA介绍63.1 Verilog HDL语言简介63.2 FPGA基本知识6 3.2.1 FPGA的基本概念及发展历程6 3.2.2 FPGA的结构和工作原理7 3.2.3 IP核的概念73.3FPGA开发工具及设计流程8 3.3.1 ISE开发套件8 3.3.2 FPGA设计流程93.4红色飓风 II代Xilinx版RCII3S400开发板简介103.5音频编解码芯片 TLV320AIC23B 的简介123.6本章小结14第4章 数字滤波器的设计与仿真154.1 FIR数字滤波器的理论基础15 4.1.1FIR滤波器的原理15 4.1.2FIR滤波器的特性15 4.1.3FIR滤波器的结构形式164.2用MATLAB设计数字滤波器系数17 4.2.1FDATOOL工具简介17 4.2.2采用FDATOOL工具设计数字滤波器过程184.3FIR数字滤波器的MATLAB仿真结果224.4本章小结24第5章 数字滤波器的FPGA设计与实现245.1 基于Xilinx ISE建立数字滤波器工程245.2 数字滤波器工程下载及硬件连接285.3基于FPGA的数字滤波器结果325.4 本章小结34结论35参 考 文 献36致 谢37附录1基于FPGA开发板的数字滤波器基于FPGA开发板的数字滤波器第1章 绪论数字滤波器(Digital Filter,DF)一词出现在20世纪60年代中期,通常定义为通过对数字信号的运算处理,完成滤波作用的算法或装置1。由于电子计算机技术和大规模集成电路的发展,数字滤波器即可用计算机软件实现,也可用大规模集成数字硬件实现。数字滤波器在语音信号处理、图像信号处理、医学信号处理以及其他应用领域都得到了广泛的应用。现场可编程门阵列(Field Programmable Gate Array,FPGA)因其良好的并行运算能力、可重置性、可扩展性能,已经成为现代电子通信产品中不可或缺的组成部分,尤其在数字滤波器设计等数字信号处理领域中得到十分广泛的应用1。1.1 国内外研究现状数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛地应用于各个科学技术领域,例如数字电视、语音、通信、生物医学以及许多工程应用领域2。关于数字滤波器的研究,40年代末就有人研究过它的可能性问题,在50年代也有人在研究生班讨论过数字滤波的问题。直到60年代中期美国科学家库利、图基总结前人的研究成果,经过长期的研究,才开始形成了一套完整关于数字滤波器的正规理论。在这一时期,各种各样的数字滤波器原理结构和特性被提出,并且出现了各种数字滤波器的逼近方法和实现方法,对递归和非递归两类滤波器做了全面的比较和分析。数字滤波器经历了有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识转化过程,当快速快傅里叶变换(FFT)概念被提出后,出现了数字滤波器设计在频域和时域的设计方法。随着国内科学技术的快速发展,有很多专家学者在数字滤波器领域开展深入的研究,无论在学术方面还是工程技术方面都有很多学术成果。FPGA在短短的20多年从电子设计的外围器件逐渐演变成了数字系统的核心3。伴随着半导体工艺技术的进步,FPGA技术取得了迅猛的发展,目前FPGA正朝着高密度、高速度、宽频带、高保密;低电压、低功耗、低成本、低价格;IP软/硬核复用,系统集成;动态可重构以及单片集群等多元化方向发展。1.2 课题研究意义目前,数字信号处理广泛应用在通信、控制、雷达、人造卫星、仪器、仪表和计算机等领域,并影响和改变着微电子、信息科学技术的发展。数字信号处理中一个非常重要而且应用普遍的技术就是数字滤波,所谓的数字滤波就是指输入输出都是数字信号,通过一定运算改变输入信号所含频率成分相对比例或者滤除某些频率成分的器件4。数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及能实现模拟滤波器无法实现的特殊滤波功能等优点。在许多信息处理过程中,如对信号的过滤、检测、预测等、都要广泛地用到滤波器,而数字滤波器则因为其设计灵活、实现方便等特点而被广泛使用。数字滤波器是数字信号处理技术应用最广泛的技术之一,近年来,随着计算机技术和微电子器件的飞速发展,它在网络和滤波器技术支持占有越来越重要的地位。FPGA是20世纪80年代中期由美国Xilinx公司首先推出的。随着半导体加工工艺的不断发展,FPGA在结构、速度、工艺、集成度和性能等方面都有了极大的改进和提高,与之相对应的设计方法学和自动化设计工具也得到了迅速的发展5。FPGA作为一种可编程的数字集成电路,具有开发周期短,功能强、可靠性高和保密性好等特点,因此广泛应用在各领域。与此同时,FPGA应用领域的不断扩大和半导体加工工艺的不断进步,都促使FPGA快速发展。与传统结构化ASIC相比,FPGA不仅可以使电子系统小型化、低功耗、高可靠性,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场。先进的工艺、嵌入处理内核及硬核与机构化ASIC的特点,再有越来越多的功能模块集成到FPGA中,使得FPGA的应用市场领域进一步拓展。1.3本章小结数字滤波器是数字信号处理技术应用最广泛的技术之一,近年来,随着计算机技术和微电子器件的飞速发展,它在网络和滤波器技术中占有的地位越来越重要。同时FPGA利用其在数字信号处理算法的并行性,使得FPGA在数字信号处理领域的应用越来越广泛。第2章 数字滤波器的基础知识2.1 滤波器概述滤波器是一种用来减少或消除干扰的电器部件,其功能是将输入信号进行过滤处理得到所需的信号6。滤波器最常见的用法是对特定频率的频点或该频点以外的频率信号进行有效滤除,从而实现消除干扰、获取某特定频率信号处理的装置都称为滤波器。滤波器从处理的信号形式来讲可分为模拟滤波器和数字滤波器两类。随着信号处理理论不断成熟、实现方法不断改进,以及数字信号处理器件技术水平不断提高,数字滤波器的应用也越来越广泛。综合起来,与模拟滤波器相比数字滤波器主要有以下特点:数字滤波器是一个离散时间系统,当其处理模拟信号是要对模拟信号进行限带、抽样和模/数转换;数字滤波器通过数字运算器件对数字信号进行运算处理,模拟滤波器是用电阻电容等电子元件实现滤波;数字滤波器的可靠性、精度、信噪比都比模拟滤波器的性能好。2.2 数字滤波器的分类数字滤波器的种类很多,分类方法也不尽相同,可以从功能上分类,也可以从设计方法上分类,还可以从实现方法上分类等等。一种比较通用的数字滤波器分类分类方法是将其分为两大类,经典滤波器和现代滤波器7。经典滤波器是假定输入信号x(n)中的有效信号和噪声信号分布在不同的频带,当x(n)通过一个线性滤波系统后,可以将噪声信号成分有效地减少或去除。如果有效信号和噪声信号的频带相互重叠,经典滤波器将不能滤除噪声信号。经典滤波器主要分为低通滤波器(Low Pass Filter,LPF)、高通滤波器(High Pass Filter,HPF)、带通滤波器(Band Pass Filter,BPF)、带阻滤波器(Band Stop Filter,BSF)以及全通滤波器(All Pass Filter,APF)等7。图中,为数字角频率,是归一化的幅频特性响应值。数字滤波器的幅频特性相对于对称,且以2为周期。 图2-1 各种理想数字滤波器的幅度频率响应现代滤波器理论研究的主要内容是从含有噪声的记录中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号将比原信号有更高的信噪比8。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特性推导出一套最佳的估值算法,然后用硬件或者软件实现。现代滤波器主要有维纳滤波器、卡尔曼滤波器、线性预测器、自适应滤波器等。从实现的网络结构来看,数字滤波器可以分成无限冲激响应(Infinite Impulse Response,IIR)滤波器和有限脉冲响应(Finite Impulse Response,FIR)滤波器,二者的根本区别在于两者的系统函数不同12。 (2.1) (2.2)FIR与IIR滤波器系统函数的特点也决定了他们具有不同的实现结构与特点:FIR不存在输出对输入的反馈结构,IIR存在输出对输入的反馈;FIR具有严格的线性相位特性,IIR无法实现线性相位特性,且其频率选择性越好相位的非线性越严重。2.3 本章小结本章主要介绍了数字滤波器的概念,并介绍了数字滤波器的特点,根据滤波器的方法和功能角度上将滤波器进行了分类。在许多信息处理过程中,对信号的过滤、检测、预测等,都要广泛地用到滤波器,数字滤波器因为其设计灵活、实现方便等特点被广泛使用。14第3章 设计语言及FPGA介绍3.1 Verilog HDL语言简介Verilog HDL语言最初是于1983年由Gateway Design Automation公司为其模拟器产品开发的硬件建模语言,那时它只是一种专用语言。由于他们的模拟、仿真器产品的广泛使用,Verilog HDL 作为一种便于使用且实用的语言逐渐为众多设计者所接受9。在一次努力增加语言普及性的活动中,Verilog HDL语言于1990年被推向公众领域。 Open Verilog International (OVI)是促进Verilog发展的国际性组织。1992年,OVI决定致力于推广Verilog OVI标准成为IEEE标准。这一努力最后获得成功,Verilog 语言于1995年成为IEEE标准,称为IEEE Std 13641995。Verilog HDL是一种硬件描述语言(HDL: Hardware Description Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL语言不仅定义了语法,而且还对每个语法结构都定义了清晰的模拟、仿真语义。3.2 FPGA基本知识3.2.1 FPGA的基本概念及发展历程随着数字集成电路的发展,越来越多的模拟电路逐渐被数字电路所取代,同时数字集成电路本身也在不断进行更新换代。它由早期的电子管、晶体管逐渐发展到具有特定功能的集成电路10。然而,随着电子业的发展,电子设计师更愿意设计专用的集成芯片,并希望集成电路的设计周期尽量短,因而出现了可编程门阵列(PLD),其中应用最广泛的是FPGA。PLD的主要特点是芯片或器件的功能完全由用户编写,可反复擦写,用户可在印制好的电路板上锁定好引脚,完成电路连接就可实现芯片的功能11。20世纪70年出现了早期的可编程逻辑器件,这一时期的可编程逻辑器件主要有可编程只读存储器(PROM)、电可擦除可编程存储器(EPROM)、电可擦除只读存储器(EEPROM)三种。20世界70年代中期出现了结构稍微复杂的可编程逻辑芯片可编程逻辑器件。早期的PLD都有一个共同的特点,可以实现特性较好的逻辑器件,但是由于结构简单只能实现规模小的电路。为弥补这一缺点,20世纪80年代,Altera和Xilinx分别推出了体系结构灵活、集成度高的FPGA。随着可编程逻辑器件工艺和开发工具日新月异的发展,尤其是Altera和Xilinx不断推出大规模的可编程逻辑器件,使得FPGA的应用有了更大的发展。3.2.2 FPGA的结构和工作原理目前主流的FPGA是基于查找表技术的,并且整合了常用功能的硬核模块。FPGA芯片主要有6部分构成,分别为可编程输入/输出单元(IOB)、基本可编程逻辑模块(CLB)、数字时钟管理模块(DCM)、嵌入式快RAM(BRAM)、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。图3-1 FPGA芯片内部结构示意图PROM、PROM、EEPROM可编程器件的可编程原理是通过加高压或紫外线导致三极管内部的载流子密度发生变化,实现所谓的可编程。然而FPGA则是采用了逻辑单元阵列的概念,内部包括可配置逻辑模块(CLB)、输入/输出模块(IOB)和内部连线三个部分。FPGA的可编程实际上是改变了CLB和IOB的触发状态,这样就可以实现多次重复编程。它是由存放片内RAM中的程序来设置其工作状态的,因此在工作时需要对片内的RAM进行编程。用户可根据不同的配置模式,采用不同的编程方式编写。3.2.3 IP核的概念IP核是指具有知识产权的集成电路模块或软件功能模块的总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中11。到了SOC阶段,IP核设计已经成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力的体现。从IP核的提供方式上看,通常将其分为软核、固核和硬核三类。从完成IP核所花费的成本来讲,硬核代价最高,从使用灵活性来讲,软核的可复用性最高。软核在EDA设计领域指的是综合之前的寄存器传输级模型。具体在FPGA设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核是已通过功能仿真的功能模块,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性高,有一定的设计风险。软核是IP核应用最广泛的形式。固核在EDA设计领域值得是带有平面规划信息的网表,具体在FPGA设计中可以看作带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述的标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。与软核相比,固核的设计灵活性稍差,到哪可在可靠性上有较大的提高。目前,固核也是IP核的主要形式之一。硬核在EDA设计领域经过验证的设计版图,具体在FPGA设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。其原因有两个:首先是系统设计对各个模块的时候需要求严格,不允许打乱已有的物理版图;其次是保护知识产权的要求。由于硬核的不许修改的特点,限制其只能用于某些特定的场合,使用范围窄,但其可靠性和稳定高。3.3FPGA开发工具及设计流程3.3.1 ISE开发套件Xilinx作为世界上最大的FPGA生产商之一,一直在不断通过技术革新推动FPGA技术的发展。ISE是Xilinx FPGA的综合性集成设计平台,该平台集成了设计输入、仿真、逻辑综合、布局布线与实现、时序分析、程序下载与配置、功耗分析等几乎所有设计流程所需的工具,利用ISE就可以完成FPGA整个设计开发过程。ISE的主界面由标题栏、菜单栏、工程管理区、文件编辑区、过程管理区、信息显示窗口以及状态栏组成:标题栏:主要显示当前工程名称和当前打开文件的名称。菜单栏:主要包括文件、编辑、视图、工程、源文件、操作、窗口、帮助8个菜单栏。工具栏:主要包含常用命令的快捷键。工程管理区:主要包括源文件视图、快照视图、库视图。文件编辑区:主要提供源代码的编辑功能。过程管理区:主要显示设计输入、综合、仿真、实现和生成配置文件等操作内容。状态栏:主要显示相关命令和操作信息。图3-2 ISE主界面图3.3.2 FPGA设计流程设计准备在进行一个设计开发之前,要做好充足的准备,FPGA的用户管脚均没有任何功能,可以由用户的设计需要自行定义,这就要求用户在开发设计之前了解芯片的内部结构,根据需要设定各个引脚的功能。设计输入进行充足的准备后就可以设计输入,设计输入主要是指编写代码、绘制原理图、设计状态机等工作。设计综合在设计输入完成后,用户应进行设计综合,检查设计能否形成电路,综合的过程就是将我们通过HDL语言或者绘图描述的功能电路自动编译成基本逻辑单元组合的过程。功能仿真功能仿真又称为行为仿真,用于检查设计输入的语法是否正确。功能仿真仅关注语法是否有错误,并不能保证最后的设计的正确性。设计实现设计实现的过程又可分为翻译、映射、布局布线三个步骤。其主要过程是根据选定的芯片型号、综合生成的网表文件,将设计配置到具体的FPGA器件中。程序下载时序仿真正确后就可以将生成的芯片配置文件写入芯片中进行最后的硬件调试。3.4红色飓风 II代Xilinx版RCII3S400开发板简介支持完整的 Xilinx Platform开发,支持 MicroBlaze CPU。提供 USB2.0 数据接口,480Mbps 传输速度,可以作为算法验证和高速数据采集板。提供接口丰富的扩展板,针对音频,视频。随板提供丰富的 IP Core 设计,同时网站会陆续发表 IP Core 的升级版本和最新的IP Core。图3-3开发板示意图主要元器件介绍40万门Xilinx Spartan3 系列FPGA,Spartan-3系列基于成熟的Spartan- E系列产品,不仅改善了时钟管理功能,而且也增加了逻辑资源数量,内部RAM容量,I/O总数和性能的总体水平。Spartan -3中很多增强的特性来源于目前工艺水平的Virtex-技术。Spartan -3系列的结构有5个基本的可编程功能模块组成,分别是:可配置逻辑模块(CLB),输入/输出模块(IOB),Block RAM,乘法器模块和数字时钟管理器(DCM)。本实验开发板使用Spartan -3系列中较为基础的XC3S400型号,采用PO208标贴封装,具体的器件特性如下表:表3.1 XC3S400芯片特性芯片特性XC3S400System Gates400KEquivalent Logic Cells8,064Block RAM Bits56KDedicated Multipliers16DCMs4支持XCF02SXCF02S 用来配置XC3S400,XCF01S用来配置XC3S200进行PROM方式下载,同时也可以兼容JTAG方式下载。256K Byte 高速,异步SRAM一片256K* 16的SDRAM,最高166MHZ读写速度。4MB快速FLASH一片4M*8Bit 或者12M*16BitFlash读写速度为90ns。灵活的页面方式,可以用来存储FPGA配置文件或者操作系统镜像文件。9针 RS-232串口实现与计算机的数据通讯。辅助调试,结果输出。512色的VGA接口直接VGA显示器对接,实现多种演示的现实。用于验证VGA时序。七段数码管和8个LED用来现实各种数字或者信号。2*14位 LCDPS/2鼠标,键盘接口七段数码管标准的鼠标、键盘接口,支持3.3V和5V设备,可以用来验证PS/2的接口协议,实现一个IO设展。USB2.0高速数据接口用户自定义串行接口直接扩展FPGA的IO到USB接口,用于评估FPGA上实现USB PHY的性能或用户自定义的串行标准。功能扩展接口通过相应的扩展板,可以实现Video,AUSB_Dio 和Wireless等应用,用户也可开发自己定义的接口板。音视频接口板(RCE-AV)包括一个Video Decoder,Video Encoder,音频的Codec TL320AIC23来完成音视频的输入和输出。使用此开发板需要注意以下几个问题:供电问题开发板中提供了一个 5V 的电源,如果用自己的电源,上电前务必要测量一下输出电压是否是 5V,以免电压过高导致开发板损坏。另外,在开发板电源边上有一个开关,可以不必每次插拔电源,只需用此开关来控制即可。请不要在上电时插拔各种接口,如串口、VGA 口、USB 等带电测量时千万要小心不要引起电路短路3.5音频编解码芯片 TLV320AIC23B 的简介TLV320AIC23(以下简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigmadelta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和 DAC的输出信噪比分别可以达到90dB和100dB。与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于 15uW。由于具有上述优点,使得AIC23是一款非常理想的音频模拟I/O器件,可以很好的应用在随声听(如CD,MP3)、录音机等数字音频领域。图3-4 AIC23的管脚和内部结构框图 数字音频接口:主要管脚为 BCLK数字音频接口时钟信号(bit 时钟),当 AIC23 为从模式时(通常情况),该时钟由DSP产生;AIC23 为主模式时,该时钟由 AIC23 产生。 LRCIN数字音频接口 DAC 方向的帧信号(I2S 模式下 word 时钟)。 LRCOUT数字音频接口 ADC 方向的帧信号。 DIN数字音频接口 DAC 方向的数据输入。 DOUT数字音频接口 ADC 方向的数据输出。 这部分可以和DSP的 McBSP(Multi-channel buffered serial port,多通道缓存串口)无缝连接,唯一要注意的地方是 McBSP 的接收时钟和 AIC23 的 BCLK 都由 McBSP 的发送时钟提供,连接示意图如图3-3: 图3-5 时钟连接示意图 麦克风输入接口: MICBIAS提供麦克风偏压,通常是 3/4 AVDD。 MICIN麦克风输入,由 AIC 结构框图可以看出放大器默认是 5 倍增益。 LINE IN 输入接口: LLINEIN左声道 LINE IN 输入。 RLINEIN右声道 LINE IN 输入。 耳机输出接口: LHPOUT左声道耳机放大输出。 RHPOUT右声道耳机放大输出。 LOUT左声道输出。 ROUT右声道输出。 从框图可以看出,LOUT 和 ROUT 没有经过内部放大器,所以设计中常用 LHPOUT 和 RHPOUT。 配置接口: SDIN配置数据输入。 SCLK配置时钟,DSP 通过该部分配置 AIC23 的内部寄存器,每个 word 的前 7bit 为寄存器地址,后 9bit 为寄存器内容。 其他: MCLK芯片时钟输入(12.288M、11.2896M、18.432M、16.9344M)。VMID半压输入,通常由一个 10U 和一个 0.1U 电容并联接地。 MODE芯片工作模式选择,Master 或者 Slave。CS片选信号(配置时有效)。CLKOUT时钟输出,可以为 MCLK 或者 MCLK/2(详见寄存器配置)。3.6本章小结本章主要介绍了Verilog语言和FPGA的特点,以及开发板所包含的模块,并介绍了基于FPGA开发工具的设计流程。详细描述了扩展板的音频编解码芯片TLV320AIC23。FPGA因其使用灵活、可重复配置、适合并行运算等特点,越来越成为电子、通信产品中不可或缺的部分。第4章 数字滤波器的设计与仿真4.1 FIR数字滤波器的理论基础4.1.1FIR滤波器的原理FIR滤波器,即有限冲击响应滤波器,顾名思义,指单位脉冲响应的长度是有限的滤波器。具体来讲,FIR滤波器的突出特点是其单位取样h(n)是一个N点长的有限长序列,0nN-1。滤波器的输出y(n)可表示为输入序列x(n)与单位取样响应h(n)的线性卷积。 (4.1)其系统函数为 (4.2) 从系统函数分析,FIR滤波器只在原点上存在极点,这使得FIR滤波器系统具有全局稳定性。4.1.2FIR滤波器的特性FIR滤波器的一个突出优点是具有严格的线性相位特性。并不是所有的FIR滤波器都满足这种特性,只有当FIR滤波器单位取样相应满足对称条件,FIR滤波器才具有线性相位。所谓对称,可分为奇对称和偶对称两种情况。偶对称时: (4.3) (4.4)奇对称时: (4.5) (4.6)无论FIR滤波器的单位取样相应是偶对称还是奇对称,系统均有线性相位特性。再仔细比较两者的相位特性,不难发现,奇对称时,系统除具有M/2个群延迟外,还产生了90的相移。这种在所有频率上都产生90相移的变换称为信号的正交变换,这种网络叫做正交变换网络。介绍FIR滤波器的线性相位特性时,将系统的单位取样相应分为奇对称和偶对称两种形式。在分析幅度特性时,分为四种情况:偶数的偶对称、奇数的偶对称、偶数的奇对称、奇数的奇对称。偶对称时:M为偶数时:幅度函数对于=0、2也是偶对称。M为奇数时:幅度函数对于=0、2是偶对称,对于=是奇对称。奇对称时:M为偶数时:幅度函数对于=0、2是奇对称。M为奇数时:幅度函数对于=0、2是奇对称,=是偶对称。4.1.3FIR滤波器的结构形式FIR滤波器有多种基本结构,这些基本结构是进行FPGA实现的基础。FIR的基本结构可分为直接型、级联型、频率取样型和快速卷机型四种。直接型:FIR滤波器的输出y(n)可表示为输入序列x(n)与单位取样相应h(n)的线性卷积,很容易得出FIR滤波器的直接型结构。对于N阶FIR滤波器,需要N个乘法运算、N-1个延时单元以及1个N输入的加法运算。图4-1 直接型级联型:FIR滤波器的系数函数没有极点,只有零点。因此,可以将FIR滤波器的系统函数分解成实系数二阶因子的乘积形式。 (4.7) 对于N阶FIR滤波器,采用级联式结构,需要3N/2个乘法单元。图4-2 级联型频率取样型:频率取样型是基于这样一个原理:FIR的系统函数在单位圆上做N等分取样,相当于单位取样响应h(n)的离散傅里叶变换H(K)。H(K)和系统函数H(z)之间的关系可以用内插公式表示。频率取样结构比较复杂,但在某些特定的情况下,有时使用这种结构也会带来明显的优势。频率取样结构的零极点数目仅取决于单位取样响应的长度,因而只要单位取样相应的长度相同,通过改变网络结构中的系数,就可以得到各种不同的滤波器。快速卷积型:快速卷积结构又称为FFT型结构。适当选择卷积点数,可以用循环卷积方法实现线性卷积。如果输入序列x(n)为M点长,0nM-1,只要选择LN+M-1,则L点循环卷积就能代表线性卷积。由于计算DFT和IDFT都采用算法,故当N、M足够大时,要比直接结算线性卷积快很多。因此,快速卷积结构实际上是用快速傅里叶变换算法实现FIR滤波器。4.2用MATLAB设计数字滤波器系数4.2.1FDATOOL工具简介FDATOOL是MATLAB信号处理工具箱里专用的滤波器设计分析工具。FDATOOL可以设计包括FIR和IIR的几乎所有常规滤波器。它操作简单,使用灵活。Design Filter部分主要分为Response Type选项和Design Method选项,其中Response Type包括Low pass、High pass、Band pass、Band stop和特殊的FIR滤波器,Design Method包括IIR和FIR滤波器的各种实现方法。Filter Order选项可以定义滤波器的阶数。Frequency Specifications选项则可以详细定义频带的各种参数。FDATOOL功能强大、界面友好,提供了各种滤波器的分析工具。4.2.2采用FDATOOL工具设计数字滤波器过程打开MATLAB的FDATOOL启动MATLAB软件后,依次单击主界面左下方的“StartToolboxesFilter DesignFilter Design & Analysis Tool”,即可打开FDATOOL工具界面。图4-3 FDATOOL主界面单击FDATOOL界面左下方的滤波器设计(Design Filter)选项,进入滤波器设计页面设计滤波器参数:滤波器类型(Response Type):低通(Low pass);设计方法(Design Method):FIR并采用窗口法(Window);窗口类型为hamming;Fs为48kHz,Fc为6kHz;图4-4 设置参数框图点击按键开始滤波器设计。滤波器设计好之后应对滤波器进行相关的性能分析,以便满足设计要求。选择菜单栏里的“AnalysisMagnitude Response”,启动幅频响应分析,下图显示了滤波器的幅频特性。图4-5 滤波器幅频特性选择菜单栏里的“AnalysisPhase Response”,启动相频响应分析,下图显示了滤波器的相位特性。图4-6 滤波器相位特性选择菜单栏里的“AnalysisMagnitude&Phase Response”,启动冲激响应分析,下图显示了滤波器的幅频/相频特性。图4-7 滤波器的幅频/相频特性选择菜单栏里的“AnalysisImpulse Response”,启动冲激响应分析,下图显示了滤波器的冲击响应特性。图4-8 滤波器的冲击响应特性选择菜单栏里的“AnalysisStep Response”,启动阶跃响应分析,下图显示了滤波器的阶跃响应特性。图4-9 滤波器的阶跃响应特性选择菜单栏里的“AnalysisPole/Zero Plot”,启动零极点分析,下图显示了滤波器的零极点图。4-10 滤波器的零极点图选择菜单栏里的“AnalysisFilter Coefficients”,启动滤波器系数分析,下图显示了滤波器的系数。4-11 滤波器的系数由上图可以看出滤波器的系数是一个有符号的小数,然而建立FIR滤波器需要一个整数作为滤波器系数,所以必须对滤波器的系数进行量化。点击FDATOOL左下侧工具按钮。单击选择FDATOOL菜单“Fileexport”打开到处对话框,这时滤波器系数就存入了一个一维变量。4-12 滤波器系数导出框图图4-13 滤波器量化系数在MATLAB主界面上输入Num*(218),得到滤波器系数的整数值。图4-14 滤波器量化系数的整数值保存滤波器系数通过点击菜单栏里“TargetsExport to XILINX coefficient(.COE) file”保存在work目录下。4.3FIR数字滤波器的MATLAB仿真结果以下应用MATLAB对数字滤波器进行仿真。带通滤波器的参数设置为窗口类型为hamming;Fs为48kHz,Fc1为9kHz,Fc2为11kHz;输入信号为6KHz和10KHz的正弦波叠加,下图为输入信号的频谱。图4-23 输入信号的频谱由于输入信号为量化的16位二进制,所以滤波器的系统函数也进行了量化,下图为滤波器的频谱相应。图4-24 滤波器的幅频响应由MATLAB生成的输入信号经过滤波器,由于设计的带通滤波器的通频带为9KHz到11KHz,所以输入信号中的6KHz的正弦波被滤掉。下图比较了输入输出的信号频谱。图4-25 输入输出信号频谱和滤波器相应比较4.4本章小结FIR滤波器是数字滤波器中最常见的,同时也是使用最广泛的一种滤波器。本章简要介绍了FIR数字滤波器的原理、特性及其结构形式,通过对数字滤波器的理论分析,采用了MATLAB设计出符合要求的滤波器系数后,并用MATLAB对数字滤波器的性能进行了仿真。第5章 数字滤波器的FPGA设计与实现5.1 基于Xilinx ISE建立数字滤波器工程安装好ISE7.1后,打开Project Navigator图5-1 打开Project Navigator操作界面创建一个新的工程,填写好创建工程的名称和路径。填写好下一个对话框里的内容。本次工程可以选用ISE自身的综合和仿真工具,也可以选用第三方仿真软件。Device Family 使用的FPGA的种类Device 使用的FPGA的型号Package 使用的FPGA的封装Speed Grade 使用的FPGA的速度Top-Level Module Type 顶层模块类型Synthesis Tool 综合工具Simulator 仿真工具Generated Simulation Language 仿真模块语言类型图5-2 ISE参数设置Modelsim和Synplify Pro 是比较通用的第三方仿真和综合软件。在这里如果我们选择了使用第三方的软件进行综合,仿真的话,在后面执行相应步骤的时候ISE Navigator就会自动寻找并打开相应的软件。单击下一步,允许用户为即将建立的工程创建一个新的源文件,这里只可以创建一个源文件,其他的要在工程建立以后创建。也可以通过点击下一步建立所有的源文件。本次工程的顶层文件为Aic23_top,顶层文件中的模块分别是时钟分频模块、存储器模块、滤波器模块、状态转换模块、和spi_top模块。时钟分频模块:图5-3 时钟分频IP核利用Xilinx公司的ISE软件的IP核,建立时钟分频模块,双击create new source选择IP文件,输入文件名为PLL,在弹出的对话框里选择Clocking,在Clocking的下拉菜单中选择signle DCM V7.1i,进行参数设置。存储器模块:利用Xilinx公司的ISE软件的IP核,建立存储器器模块,进行参数设置。图5-4 存储器IP核 滤波器模块:首先在ISE环境中建立FIR IP核,选择Distributed Arithmetic FIR Filter单击完成后出现滤波器IP模块。下一步配置FIR滤波器的参数:图5-5 滤波器IP核图示1图5-6 滤波器IP核图示2图5-7 滤波器IP核图示3点击next直到滤波器生成完毕。状态转换模块:状态转换模块设计存储器的输入输出,由Verilog语言编写。Spi_top模块:Spi_top模块控制AD/DA输入输出,由Verilog语言编写。5.2 数字滤波器工程下载及硬件连接双击Process View窗口里面的Generate Programming File,ISE将生成供JTAG模式下载的bit 文件。Generate Programming File左边的绿色对号说明已经成功生成了下载文件。图5-8 Process View窗口示意图双击Process View框里面的Configure Device(iMPACT)图标,打开如下对话框:图5-9 Configure Device对话框在上面的对话框里面选择下载的模式,这里选择边界扫描模式(Boundary-Scan Mode),单击下一步:图5-10 Boundary-Scan Mode Selection对话框选择自动加载边界扫描链路,单击完成:图5-11 自动加载扫描链路示意图由于开发板上面的JTAG 和PROM下载是在一条链路上的,所以会弹出上面对话框,选择确定就能看见ISE扫描到的开发板上面的下载链:图5-12 下载链示意图图5-13 添加Untitled.mcs文件示意图图5-14 添加aic23_top.bit文件示意图选择好以后右键点击JTAG 下载图标,在弹出的菜单里面选择Program,将会弹出一个对话框图5-15 program选项示意图单击OK,就可以开始下载了,下载成功会有如下显示:图5-16 下载界面示意图FPGA开发板上的连接步骤:先将音频扩展板正确连接到核心板上。将信号发生器的模拟信号连接到板子的音频输入口,黑色端子。 将FPGA开发板的音频输出口,绿色端子,连接到示波器上。 将FPGA下载电缆连接到板上的JTAG口。 接通板上电源。具体电路如下图所示: 图5-17 FPGA硬件连接示意图5.3基于FPGA的数字滤波器结果用信号发生器分别产生1KHz和10KHz的正弦信号,首先比较一下滤波前后的时域波形:图5-18 1KHz正弦信号滤波前时域波形图5-19 10KHz正弦信号滤波前时域波形图5-20 1KHz正弦信号滤波后时域波形图5-21 10KHz正弦信号滤波后时域波形在整个设计过程中,为了保证工程输入输出时钟同步,将FIR IP核的输出28位截取了高16位作为滤波后输出,因此1KHz滤波后的时域波形与原波形比存在着误差。同时由于量化误差、仪器灵敏度问题影响着滤波后时域波形的准确性。下面分析比较了1KHz和10KHz正弦波滤波前后的频谱图:图5-22 1KHz正弦信号滤波前频谱图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术外出教研活动方案
- 社工撰写活动方案
- 线上理化组教研活动方案
- 线下备课活动方案
- 禁毒活动进广场活动方案
- 端午联动活动方案
- 美术涂鸦活动方案
- 组团打折活动方案
- 美甲店会员活动方案
- 社工五一互动活动方案
- 标准件供货协议合同范本
- 纳税申报流程课件
- 2025年秋期新教科版四年级上册小学科学教学计划+进度表
- 2025新疆维吾尔自治区人民检察院招聘聘用制书记员(14人)笔试参考题库附答案解析
- 循环水泵设备安装方案详细指导
- 2024年喀什经济开发区兵团分区招聘真题
- 作风建设永远在路上教学课件
- (2025)中小学爱国知识竞赛试题附答案
- 新媒体文案写作教程(第二版)课件 项目五 微博文案写作 课件
- 《水力学》课件-第4章 水动力学基础(二)
- 生活垃圾填埋场环境污染的排查与治理方案
评论
0/150
提交评论