如何使用FPGA定制FIR软核
- 格式:doc
- 大小:236.00 KB
- 文档页数:5
摘要对于现代社会领域,数字信号处理(digital signal processing ,DSP)技术正在以很迅速的步伐往前发展,大家知道,数字信号处理中灵活性和实时性是最基本的要求,但在以往的模拟滤波器技术中,总是有着各种问题,让滤波效果达不到较为理想的要求。
而数字滤波器随着数字信号解决水平的发展而渐渐的被进步采用,并且因为它在设计上的灵活性等优势在滤波上被许多地方当做首选方式,已经渐渐地替代了以往的过滤器。
其中,有限长单位冲击响应(Finite Impulse Response,FIR)滤波器,因为它进行设计幅频时,具有良好的线性相位,以及稳定的系统等特性在数字信处理的项目里扮演了举足轻重角色。
这次使用现场可编程门阵列(Field-Programmable Gate Array,FPGA)和Matlab/DSP Builder来来设计一个FIR数字高通滤波器,使用窗函数法以及等波纹最佳优化法两种途径来对我们需要的滤波器进行设计。
首先确定好滤波器的相关参数和制作方案,利用DSP Builder制作工具设计一个取样频率48KHZ,截止频率10.8KHZ,输入输出数据宽度都是8位的17阶有限长单位冲击响应滤波器。
在MATLAB/Simulink中建立模型文件,调用工具库中的滤波器模块,连接成设计原理框图,设置好各参数并输入到对应的设计图位置后在Simulink中进行仿真,然后将模型文件通过Signal Compiler转化为VHDL语言和其他文件,在Quartus II中进行编译,引脚锁定下载到FPGA中,利用嵌入式逻辑分析仪SignalTap II对结果波形进行验证。
关键词:数字信号处理;现场可编程门阵列;有限长单位冲击响应;DSP BuilderAbstractIn the technical field of modern society, the digital signal processing technology has been developed rapidly. As we all know, the basic requirements of the digital signal processing are flexibility and topicality . However, the former filter technology always had many problems which made the filtering effect hard to achieve the ideal aims. With the development of digital signal processing technology, the digital filter has made great progress and been utilized. What’s more, it, as the preferred way has been used in many places because of its flexibility .So it has gradually displaced the previous filter. Among them, FIR digital filter plays a vital role because of it’s well linear phrase、stable systems and many other advantages in designing the frequency amplitudes.In this paper, I have designed a FIR digital high- pass filter by using FPGA and MATLAB/DSP Builder. With the window function method and equality ripple approach method, I first have analyzed and determined the relative parameters of the filter and design proposals. Then I made the 17-order FIR digital high-pass filter’s sampling frequency in 48KHZ、cutoff frequency in 10.8KHZ and data width in 8-bit by using DSP Bulider. By establishing model files in Matlab/Simulink, I used the filter module in the library tool and linked them into the principle chart .Later I set up and input those parameters into site to analogue simulation. I translated the Signal Compiler into the VHDL and other files and compiled in Quartus II and downloaded to FPGA. At last, I used the Signal Tap II to validate the result.KEY WORD: DSP; FPGA;FIR; DSP Builder第一章引言 (1)1.1背景意义 (1)1.2主要工作和组织结构 (3)第二章FIR数字滤波器 (4)2.1FIR数字滤波器的概念 (4)2.1.1FIR数字滤波器的结构 (5)2.1.2线性相位FIR数字滤波器的结构 (6)2.1.3FIR滤波器的特点 (7)2.2 FIR数字高通滤波器的设计方法 (9)2.2.1 窗函数法 (10)2.2.2等波纹最佳逼近法 (11)第三章FIR高通滤波器的FPGA实现 (13)3.1设计目标 (13)3.2 DSP Builder的设计流程 (13)3.3窗函数法 (15)3.4 FIR滤波器模型的建立 (17)3.4.1FIR高通滤波器原理图 (17)3.4.2 验证和测试方案 (19)3.5等波纹最佳逼近法 (20)3.6两种方法比较 (24)结束语 (25)参考文献 (26)第一章引言1.1背景意义对于当今信息领域,数字信号处理技术(Digital signal processing technology)已经变的相当迅速与成熟。
目录引言................................... 错误!未定义书签。
第一章 FPGA的设计流程 ................... 错误!未定义书签。
1.1 FPGA概述 ................................... 错误!未定义书签。
1.2 FPGA设计流程................................. 错误!未定义书签。
1.3硬件描述语言HDL(Hardware Description Language) 错误!未定义书签。
1.4 FPGA开发工具Quartus Ⅱ软件设计流程 ......... 错误!未定义书签。
第二章有限冲激响应(FIR)滤波器的原理及设计.... 错误!未定义书签。
2.1数字信号处理基础原理.......................... 错误!未定义书签。
2.2 FIR滤波器背影知识........................... 错误!未定义书签。
2.3 FIR数字滤波器原理............................ 错误!未定义书签。
2.4 利用窗函数法设计FIR滤波器................... 错误!未定义书签。
第三章 FIR 数字滤波器的FPGA实现........... 错误!未定义书签。
3.1串行FIR滤波器原理............................ 错误!未定义书签。
3.2分布式算法基础................................ 错误!未定义书签。
3.3直接型FIR滤波器的原理结构图.................. 错误!未定义书签。
3.4具有转置结构的FIR滤波器...................... 错误!未定义书签。
第四章结论与总结......................... 错误!未定义书签。
长春理工大学毕业设计摘要在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用, 随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR 滤波器。
本论文对基于FPGA的FIR数字滤波器实现进行了研究,以FIR数字滤波器的基本理论为依据,并且采用查找表以及线性FIR波器的对称性特点使得硬件规模极大的减小。
为了验证仿真结果的正确性,文中应用了MATLAB和VHDL联合仿真方法对设计的电路进行仿真测试,结果达到设计指标。
并用MATLAB对仿真结果进行了分析,证明了所设计的FIR数字滤波器功能正确。
关键词: 有限脉冲响应现场可编程门阵列查找表窗函数仿真ABSTRACTIn the modern electrical system, the FIR digital filter is used for many practical applications for its good linear phase character, Along with the development of PLD device and EDA technology, more and more electrical engineers use FPGA to implement FlR filter, as it not only meet the real-time requirement, but also has some flexibility.In this paper, a method to implement the FIR filter using FPGA is proposed. According to the basic theory of FIR filters, the thesis reduces it with the use of multiple coefficient memory banks and the symmetry characteristic of linear FIR filter. In order to make the verification more available, the complex simulation with Matlab and VHDL is used to testify the design whether fulfills the requirement. And also the result of the simulation is analyzed with the use of MATLAB, and it proved that the function of the design is correct.KEYWORDS: FIR FPGA Windows Function Simulation目录第一章绪论 (1)1.1背景和选题依据 (1)1.2国内外研究现状和发展动态 (2)1.3论文研究的目的和主要内容 (2)第二章FIR滤波器的结构及设计 (4)2.1 FIR数字滤波器基础 (4)2.2 FIR数字滤波器的基本结构 (5)2.3 FIR数字滤波器的设计 (7)第三章FPGA在设计中的具体应用 (10)3.1硬件电路的设计方式 (10)3.2 FPGA简介 (11)第四章基于FPGA 设计FIR滤波器 (17)4.1指标的确定 (17)4.2 Matlab在设计中的应用 (17)4.3 16阶FIR滤波器的结构 (20)4.4 采用查找表方式的FIR滤波器 (23)第五章总结与展望 (30)5.1总结 (30)5.2发展 (30)参考文献 (31)致谢 (32)第一章绪论1.1背景和选题依据本课题的研究背景是针对数字信号处理实验室的需要而开展的工作。
通常在信号产生、采集、传输过程中产生杂波和噪声,通常需要加入滤波器将干扰无用的噪声或者不需要频段的信号滤除。
数字滤波器和模拟滤波器相比具有更高的精度、信噪比,以及不可比拟的可靠性[1]。
只要适当改变数字滤波程序有关参数,就能方便的改变滤波特性,因此数字滤波使用时方便灵活。
由于在性能、成本、灵活性和功耗等方面的优势,基于FPGA 的信号处理器已广泛应用于各种信号处理领域。
本文正是在此背景下研究基于FPGA 技术,运用DSP Builder 和MATLAB 等软件工具设计工程中实用的FIR 数字滤波器。
1、FIR 数字滤波器设计原理有限长脉冲响应(FIR )滤波器的系统函数只有零点,除原点外,没有极点,因而FIR 滤波器总是稳定的[2]。
长度为M 的因果有限冲激响应滤波器由传输函数H (z )描述:1()()M kk H z h k z −−==∑它是次数为M-1的z-1的一个多项式。
在时域中,上述有限冲激响应滤波器的输入输出关系为:1()()()M k y n h k x n k −==−∑其中x(n)是输入采样序列,h(i)是滤波器系数,y(n)表示滤波器的输出序列。
也可以用卷积来表示输出序列y(n)与x(n)、h(n)的关系。
)(*)()(n h n x n y =通常一个长度为M 的有限冲激响应滤波器由M 个系数描述,并且需要M 个乘法器和(M-1)个双输入加法器来实现。
图1中显示了一个典型的直接I型4阶FIR 滤波器,其输出序列y (n)满足下列等式:在这个FIR 滤波器中,总共存在3个延时节,4个乘法单元,一个4输入的加法器。
z -1x (n )h (0)y (n )z -1z-1h(1)h(2)h (3)图1 直接I 型4阶FIR 滤波器模型2、设计方案及设计指标2.1 DSP Builder 设计概述FPGA 的DSP 性能领先的关键是其内在的并行机制,即利用并行架构实现DSP 功能的功能。
1 绪论本章主要论述该课题的研究意义,目前在世界上的发展情况,以及我在这篇论文中所用到的主要的设计方法与设计工作。
1.1 课题研究的意义许多工程领域都涉及到如何能在强背景的噪声信号和干扰信号中提取到真正的信号。
如:遥感和遥测系统,通信系统,雷达系统,航天系统等,这就要求有信号的滤波。
滤波器的带宽等性能,处理速度的要求随着现在对高速,宽带,实时信号处理的要求越来越高,也随之提高。
系统的稳定性和后续信号的处理受滤波器的性能好坏程度影响常大。
[1]1.2 国内外研究动态1.2.1 数字信号处理的发展动态一般可以用两类方法来实现FIR滤波器的设计。
一类通过软件来设计实现,使用常见的电脑语言如高层次的C / C + +跟MATLAB语言。
此方法用于教学或算法仿真。
但是采用软件的方法不能实现实时性。
目前可以通过以下几种方式在硬件中来实现,。
一种是使用可编程的主要数学单位是一个乘法累加器(MAC)的通用DSP 芯片编程。
实时数字信号能够实现高速的处理,是因为MAC在一台机器时钟周期就能完成乘法累加操作,同时在硬件上还辅助与不同的流水结构和哈佛架构。
然而,在应用时受到了限制,是由于硬件结构和流水结构是固定不变的。
一种是使用专用的ASIC数字信号处理芯片。
这种方法是芯片尺寸小,高性能,保密性好。
其缺点是一个单一功能的芯片,多是针对一定的功能而设计,灵活性不够。
另一种方法是使用可编程逻辑器件(FPGA / CPLD)。
FPGA所具有得可编程逻辑的灵活性突破了流水线结构和并行处理的局限性,可以很好的实现实时信号处理功能。
研发过程中它的可移植性更好,可以缩短开发周期。
[2~11]1.2.2 FIR数字滤波器的FPGA实现使用FPGA技术设计的FIR数字滤波器在目前通常采用的是乘法器结构和分布式算法结构。
乘法器结构,有乘累加结构与并行乘法器结构两种形式。
乘累加结构是最简单的一种,占用资源少,缺点是处理速度慢;并行乘法器结构比较复杂,但是如果能够加上流水结构,信号就能够实现高速的处理,但是它还是会受到处理速度和数量的限制。
基于FPGA 的FIR 滤波器设计一 、设计目的为了帮助学生深入理解和消化基本理论、进一步提高综合应用能力并且锻炼独立解决问题的能力,我们将《数字信号处理》、《集成电路原理与应用》和《《FPGA 系统设计与应用》几门课程融合在一起开设的FPGA 综合实验课程设计。
本次完成的是利用FPGA 来完成FIR 滤波器的设计、程序设计和实验调试任务。
二、设计要求(1)基本要求利用所学知识,采用VHDL 语言完成FIR 滤波器的设计仿真。
要求用VHDL 编程设计底层文件,顶层文件可任意(可用原理图方式或文本方式);完成仿真文件(包括MATLAB 和QUARTUSII 两种仿真)并对其结果比较。
具体设计指标如下: (1)采样频率S F =80KHz ; (2)截止频率KHz F C 10=;(3)输入序列为10位(最高位为符号位); (4)窗口类型为kaiser 窗,β=0.5 ; (5)滤波器长度为16 ; (6)输出结果保留10位。
(2)提高部分根据所学知识,设计出一个具有频率控制功能DDS ,要求输出频率分别为10KHz 和100KHz ,将输出的两路数字信号进行叠加,并通过所设计的FIR 滤波器进行滤波,将滤波输出的数字信号通过D/A 转换电路输出波形,并用示波器观察输出波形,并完成测试结果分析。
结构框图如图1-1所示。
图2-1 整体结构框图三、设计原理3.1 FIR 滤波器由线性系统理论可知,在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。
当我们处理有限的离散数据时,线形系统的响应(包括对冲击的响应)也是有限的。
若线性系统仅是一个空间滤波器,则通过简单地观察它对冲击的响应,我们就可以完全确定该滤波器。
通过这种方式确定的滤波器称为有限冲击响应(FIR)滤波器。
3.2 线性FIR 滤波器原理FIR 滤波器响应(简称FIR )系统的单位脉冲响应()h n 为有限长序列,系统函数()H z 在有限z 平面上不存在极点,其运算结构中不存在反馈支路,即没有环路。
1 系统设计1.1 设计要求设计并制作一个数字幅频均衡功率放大器。
该放大器包括前置放大、带阻网络、数字幅频均衡和低频功率放大电路,其组成框图如图1所示。
图1.1 数字幅频均衡功率放大器组成框图1.2 总体设计方案1.2.1方案论证与比较(1)整体方案选择方案方案一:模拟式幅频均衡功率放大器输入信号经过前置放大并经过带阻网络后,信号的幅度将按照频率的不同而衰减。
为了达到均衡幅频,在带阻网络之后连反向带阻网络,叠加后即可实现幅频均衡。
最后将幅频均衡信号通过低频功放。
模拟式均衡功率放大器避免了大量的软件编程,但是性能不稳定,而且不符合本题目的数字幅频均衡的任务要求。
方案二:基于DSP的数字幅频均衡功率放大器该方案利用DSP对放大、带阻后的信号进行数字处理,A/D采样之后利用FFT对幅值进行乘法补偿,然后进行IFFT转换成时域,再用D/A转换为模拟量,最后利用低频功放进行功率放大。
DSP拥有FFT、IFFT、浮点运算等IP核,可以直接调用,减轻了软件部分的工作量。
但是DSP造价高,兼容性较差。
方案三:基于FPGA的数字幅频均衡功率放大器信号经前置放大、带阻网络后,可对其进行A/D采样,然后利用FFT转换到频域后对各频率的幅值进行补偿,再利用IFFT进行反变换,经D/A 转换成模拟量,然后进行低频功率放大。
本方案利用FPGA进行数字处理以实现幅频均衡。
这种方法成本低,效果好。
鉴于任务要求和实际情况,权衡以上三种方案,本设计采取方案三:基于FPGA的数字幅频均衡功率放大器。
(2)前置放大的方案设计与选择方案一:利用两级OP07 放大,OP07 放大倍数较高,且元件易购得。
但是OP07在频率大约超过10kHz时增益随频率的变化而变化。
方案二:AD603与NE5532 级联放大。
AD603增益高且稳定,NE5532 噪声低,在20Hz-20kHz内增益稳定。
方案选择:对于任务要求,前置放大器应该放大倍数足够大,在20Hz-20kHz的频带内增益稳定。
基于FPGA的FIR数字滤波器设计[摘要] 数字信号处理技术是现今信号处理技术中运用最为广泛的,其中很重要的一方面是数字滤波器。
本文介绍了FIR滤波器的原理,并以一个16阶的FIR低通滤波器为例,介绍了利用MATLAB和Altera公司的FPGA开发软件Quartus II及DSPbuilder设计数字滤波器的方法和过程。
首先,利用MATLAB 下滤波器设计工具FDAtool设计FIR滤波器的原型,确定该滤波器的系数;其次,利用Simulink和DSPbuilder软件平台构建滤波器模型,先设计出一个系数可变的4阶直接I型FIR滤波器节;然后调用该4阶滤波器节,将其级联成16阶滤波器,然后,将其转化为VHDL文件,并在Quartus II下完成RTL级的功能仿真和逻辑综合;最后将设计的滤波器应用于一个混合正弦波信号,以验证滤波器的性能。
[关键词] Matlab Simulink FIR滤波器FPGA Quartus II引言数字信号处理(digital signal processing)是从20世纪60年代以来,随着信息学科和计算机学科的高速发展起来的一门新兴学科。
数字信号处理是研究用数字方法对信号进行分析、变换、滤波、检测、调制、解调以及快速算法的一门技术学科,随着数字电路与系统技术以及计算机技术的发展,数字信号处理技术也相应地得到发展,其应用领域十分广泛。
其中很重要的一方面就是数字滤波,FIR(Finite Impulse Response1滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,加之其单位抽样响应长度有限,达到稳定的系统。
本文通过一个16阶FIR低通滤波器的设计和仿真实例,介绍了基于Matlab/DSP Builder/Quartus II工具软件联合设计的流程和一般方法如图1。
图1 基于MATLAB、DSP Builder和Quartus II等工具完成设计的流程设计流程有自动流程和手动流程两种,本文采用手动设计流程的方法。
基于FPGA的FIR数字滤波器设计与实现佚名【摘要】简要介绍了FIR数字滤波器的结构特点和基本原理,提出基于FPGA和DSP Builder的FIR数字滤波器的基本设计流程和实现方案。
在Matlab/Simulink 环境下,采用DSP Builder模块搭建FIR模型,根据FDATool工具对FIR滤波器进行了设计,然后进行系统级仿真和ModelSim功能仿真,其仿真结果表明其数字滤波器的滤波效果良好。
通过SignalCompiler把模型转换成VHDL语言加入到FPGA的硬件设计中,从QuartusⅡ软件中的虚拟逻辑分析工具SignalTapⅡ中得到数字滤波器实时的结果波形图,结果符合预期。
%The structure feature and the basic principle of FIR digital filter is introduced briefly. The basic design process and implementation scheme of the FIR digital filter based on FPGA and DSP Builder is proposed in this paper. FIR model is structured with DSP Builder module in the Matlab/Simulink environment. The FIR digital filter is designed according to the FDA⁃Tool. The system level simulation and ModelSim function simulation were completed. The simulation results show that the filter has excellent effect. The model is converted to VHDL language through SingalCompiler and added to FPGA hardware design. The real⁃time waveform graph of the FIR digital filter was received by the virtual logic analysis tool SignalTapⅡ in QuartusⅡ. The results conform to the expected requirement.【期刊名称】《现代电子技术》【年(卷),期】2013(000)014【总页数】4页(P123-126)【关键词】FPGA;DSP Builder;FIR数字滤波器;ModelSim功能仿真【正文语种】中文【中图分类】TN911-34在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。
使用FPGA定制滤波器软核实验
一.开发环境:
硬件:Altera的FPGA(EP1C6Q240C8)
软件:Quartus II 10.1 sp2 License Edition
二.实验目的
通过定制DSP软核中FIR滤波器学会定制学习信号处理类的软核。
三.实验步骤(以低通滤波器为例来介绍)
1.建立工程和加入文件(同前述文档)。
2. 打开MegaWizad定制软核
3.设置FIR滤波器的参数
设置滤波器文件名称2.点击BACK出现如下对话框进行参数设置
2.1 点击第一步:
设置滤波器的结构、输入输出宽度以及时钟使能
①结构分为:分布式并行(一个时钟输入输出数据:耗费的逻辑单元较多)
分布式串行(输出一个数据需要多个时钟,但耗费的逻辑单元较少)
②输出输入宽度:输入宽度可以随意设置,输出宽度则根据输入的宽度、抽样频率、截止频
率以及使出方式自动生成,但可以通过输出自定义进行一定的调整。
③时钟使能:可以设置时钟使能在一个工程中调用多个滤波器。
2.2 点击上图的Edit Coefficient Set 进行参数设置
滤波器类型、窗口类型、阶数、抽样频率、截止频率设计
①滤波器类型:分为低通、高通、带通、带阻等常用类型;
②窗口类型:有矩形窗、汉宁窗、加重窗等窗函数设计方法;
③阶数:阶数越大设计的越接近理想滤波,但是会耗费大量的逻辑单元‘
④抽样频率:将函数抽样进行频谱延拓,根据乃奎斯特抽样定理:抽样频率必须大于最大信号的
折叠频率;
⑤截止频率:确定滤波器的截止参数,根据恢复重建信号定理,此频率必须小于抽样信号频率的
一半。
注意:但设计完参数后,我们可以通过点击Apply 来查看所设计的滤波器的频谱函数是否满足设计要求,不符合可重新更改参数。
最后点击OK 完成设计。
2.2 点击Step 2 进行编译设计
依照上图设计,点击Finish 完成设计。
2.4 点击Step3 生成Verilog 文件,调用是当作一个例化元件使用。
By ZQF
2011-4-25。