FIR数字滤波器的FPGA实现
- 格式:pdf
- 大小:390.95 KB
- 文档页数:4
摘要对于现代社会领域,数字信号处理(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数字滤波器分布式算法的原理及FPGA实现摘要:在利用FPGA实现数字信号处理方面,分布式算法发挥着关键作用,与传统的乘积-积结构相比,具有并行处理的高效性特点。
详细研究了基于FPGA、采用分布式算法实现FIR数字滤波器的原理和方法,并通过Xilinx ISE在Modelsim下进行了仿真。
关键词:分布式算法 DALUT FPGA FIR数字滤波器正在迅速地代替传统的由R、L、C元件和运算放大器组成的模块滤波器并且日益成为DSP的一种主要处理环节。
FPGA 也在逐渐取代ASIC和PDSP,用作前端数字信号处理的运算(如:FIR滤波、CORDIC算法或FFT)。
乘累加运算是实现大多数DSP 算法的重要途径,而分布式算法则能够大大提高乘累加运算的效能。
1 传统的乘累加结构FIR数字滤波器基本理论FIR滤波器被称为有限长脉冲响应滤波器,与IIR数字滤波器相对应,它的单位脉冲响应h(n)只有有限个数据点。
输入信号经过线性时不变系系统输出的过程是一个输入信号与单位脉冲响应进行线性卷积的过程,即:式中,x(n)是输入信号,y(n)是卷积输出,h(n)是系统的单位脉冲响应。
可以看出,每次采样y(n)需要进行L次乘法和L-1次加法操作实现乘累加之和,其中L是滤波器单位脉冲响应h(n)的长度。
可以发现,当L很大时,每计算一个点,则需要很长的延迟时间。
2 乘累加运算的位宽分配DSP算法最主要的就是进行乘累加运算。
假设采样信号的位宽用N来表示,则N位与N位的乘累结果需要2N位的寄存器来保存;如果两个操作数都是有符号数,则乘积只有2N-1个有效位,因为产生了两个符号位。
为了使累加器的结果不产生溢出,需要对累加器进行冗余设计,也就是说要在累加器2N的位宽上多设计出K位,累加器的长度M 计算方式如下(L为滤波器的长度):对于无符号数:M=2N+K=2N+log2 L对于有符号数:M=2N=K=2N+log2 L-13 乘累加运算的分布式算法原理分析得益于Xilinx FPGA查找表结构的潜能,分布式算法在滤波器设计方面显示出了很高的效率,自20世纪90年代初以来越来越受到人们的重要。
毕业设计(论文)题目: FIR滤波器的FPGA实现专业:班级:姓名:学号:指导教师:日期: 2011-5-28目录第1章绪论 (1)1.1背景和选题依据 (1)1.2国内外研究现状和发展动态 (2)1.3论文研究的目的和主要内容 (2)第2章 FIR的原理及技术 (3)2.1FIR滤波器的特点 (3)2.2FIR滤波器的基础 (3)滤波器的基本结构 4滤波器的设计 5第3章EDA技术和可编程逻辑器件 (6)3.1电子设计自动化EDA技术 (6)编程逻辑器件简介 (8)进行开发的优点 (8)设计的开发流程93.3硬件描述语言VHDL及数字系统设计方法 (10)语言VHDL简介 (10)语言VHDL设计数字系统 (10)第4章基于FPGA的FIR滤波器硬件实现 (11)4.1器件介绍和系统开发环境 (11)Ⅱ系列结构和特点 (11)开发工具简介 (14)4.2并行FIR数字滤波器简介 (15)并行结构的改进 (15)块的划分 (16)4.3串行FIR数字滤波器的硬件实现 (17)设计思想与实现 (17)块具体功能的设计实现 (17)滤波器串行方式实现的系统分析 (23)滤波器的扩展应用 (24)结 (24)第5章总结与展望 (24)参考文献 (25)英文翻译 (26)FIR数字滤波器的FPGA实现【摘要】:随着科技的发展,电子电路的设计正逐渐摆脱传统的设计模式,而采用FPGA来设计电子电路正成为设计的趋势。
这是因为采用FPGA设计电子电路不仅开发时间短,资金投入相对少,且可将电路板级产品集成为芯片级产品。
纵观可编程逻辑器件的发展史,FPGA在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。
在数字处理中,滤波占有重要的地位。
数字滤波在语音和图像处理、HDTV、模式识别、谱分析等应用中经常用到。
有一限长冲激响应(FIR)滤波器,由于FIR系统只有一零点、系统稳定,便于实现FFT算法、运算速度快、线性相位的特性和设计更为灵活等突出优点而在工程实际中获得广泛应用。
FIR滤波器的FPGA实现方法在数字信号处理系统中,有限脉冲响应(finite impulse response,FIR)数字滤波器是一个非常重要的基本单元。
近年来,由于FPGA 具有高速度、高集成度和高可靠性的特点而得到快速发展。
随着现代数字通信系统对于高精度、高处理速度的需求,越来越多的研究转向采用FPGA 来实现FIR 滤波器。
而对于FIR 滤波器要充分考虑其资源与运行速度的合理优化,各种不同的FIR 滤波结构各具优缺点,在了解各种结构优缺点后才能更好地选择合适结构来实现FIR滤波。
1 FIR 数字滤波器FIR 数字滤波器由有限个采样值组成,设计中在满足幅值特性时,还能保证精确、严格的相位特性,因此在信号处理等领域得到广泛的应用。
对于FIR 滤波器,其输出y(n)表示为如下形式:式中:N 为滤波器的阶数(或抽头数);x(i)表示第i 时刻的输入样本;h(i)为FIR 滤波器的第i级抽头系数。
由于FIR 滤波器的冲击响应为一个有限序列,其系统函数可表示为:FIR 滤波器的基本结构如图1 所示。
FIR 滤波器只在原点处存在极点,所以这使得FIR 滤波器具有全局稳定性。
同时FIR 滤波器满足线性相位条件,其冲击响应序列为实数且满足奇对称或偶对称条件,即:2 实现方法运用FPGA 来实现FIR 数字滤波器的结构多种多样,但是主要有以下几类:串行结构、并行结构、转置型结构、基于FFT 算法结构、分布式结构。
其他类型的FIR 滤波器结构都可以由以上几种结构衍生而来。
2.1 串行结构由表达式(1)可知,FIR 滤波器实质是做一个乘累加运算,其滤波器的阶数决定了一次乘累加的次数,其串行结构如图2 所示。
串行结构的FIR 滤波器结构简单,硬件资源占用少,只需要复用1 个乘法器和1 个加法器,所以成本较低。
但是,这种结构的FIR 滤波器要经过多个时。
FIR滤波器的FPGA设计与实现摘要滤波器,就是对电路网络中某一特定频率的频点或这个除了这个频点以外的频率进行有效滤除,从而得到一个特定频率的电信号,当然也可以用以消除某一个特定频率后的电信号的这样一种器件。
而所谓的FIR滤波器,其中FIR为Finite Impulse Response 的缩写,即指有限脉冲响应滤波器(以下简称为FIR滤波器)。
FIR滤波器由于本身可以设计成任意的幅频特性的滤波器,且同时能够保证精确、严格的相位线性,这就保证了它能够拥有一个稳定的系统。
因此,FIR滤波器已经成为数字系统与数字信号处理中,以及在通信系统等领域最重要的一种滤波器。
关键词:滤波器、有限脉冲响应、可编程门列阵。
SummaryFilter, the frequency of the circuit is a network of a specific frequency or frequency other than the frequency effectively filtered out to obtain a specific frequency of the power signal or a power signal to eliminate the specific frequency after . The so-called FIR filter, wherein the FIR Finite Impulse Response Abbreviation - finite impulse response filter (hereinafter simply referred to as an FIR filter). FIR filter can be designed arbitrarily because of theiramplitude-frequency characteristics of the filter, and simultaneously to ensure accurate and strict linear phase, which ensures that it has a stable system. Therefore, FIR filter has become a digital system with digital signal processing, as well as in the field of communication systems, etc. The most important kind of filter.Key words:Filter, Finite Impulse Response,Field-Programmable Gate Array引言线性时不变系统(Linear Time-Invariant System, L.T.I)是信号与系统处理以及信号系统处理中中最常见的系统。
32阶FIR滤波器的FPGA实现随着软件无线电的发展。
对于滤波器的处理速度要求越来越高。
传统的FIR滤波器一般采用通用DSP处理器,但是DSP处理器采用的是串行运算,而FPGA是现场可编程阵列,可以实现专用集成电路,另外还可以采用纯并行结构及考虑流水线结构,因此在处理速度上可以明显高于DSP处理器。
本文采用并行分布式算法在FPGA上设计并实现了高速处理的32阶FIR低通滤波器,在此过程中利用Matlab的数值计算与分析功能来提高设计效率。
1 FlR低通滤波器的窗函数实现理想的滤波器频率响应中傅里叶反变换ha(n)一定是无限长的序列,而且是非因果的,而实际要设计的滤波器h(n)是有限长的,因此要用有限长来逼近无限长的,其方法就是用一个有限长度的窗口函数序列ω(n)来截取,即:常见的窗函数有矩形窗、巴特利特窗、汉宁窗、哈明窗、布莱克曼窗、凯泽窗。
其中,凯泽窗提供了可变的过渡带宽。
本文采用凯泽窗对FIR滤波器进行设计,其窗函数表达式为:I0[?]为第一类变形零阶贝赛尔函数,形状参数β为依赖于滤波器阶数M的参数,用来调整主瓣宽度与旁瓣衰减,选择M可产生各种过渡带宽和接近最优的阻带衰减。
给定通带截止频率ωp,阻带起始频率ωs,阻带衰减As,凯泽窗设计中有经典公式可供使用,如下:过渡带宽:滤波器阶数:假设低通数字滤波器设计指标如下:采用上面介绍的凯泽窗,利用Matlab编程计算得到32阶FIR低通滤波器参数如下:32阶FIR低通滤波器幅频特性图如图1所示。
上述求得的系数是浮点型的,而在FPGA设计中使用的数据是定点型的,所以在设计滤波器之前要将系数转化为定点型,即系数的量化。
在本文中采用数字信号处理(DSP)技术中的Q值法对系数进行量化。
为了兼顾精度和所占用的资源,本文的系数用12位二进制来量化,得到的整数系数结果如下:2 并行分布式算法原理及FPGA设计32阶FIR滤波器的差分方程表达式为:设x(n)用二进制可表示为:其中,最高位为符号位。
如今,FPGA 已成为数字信号处理系统的核心器件,尤其在数字通信、网络、视频和图像处理等领域。
现在的FPGA 不仅包含查找表、寄存器、多路复用器、分布式块存储器,而且还嵌入专用的快速加法器、乘法器和输入/输出设备。
FPGA 具有实现高速并行运算的能力,因而成为高性能数字信号处理的理想器件。
此外,与专用集成电路(ASIC )相比,FPGA 具有可重复编程的优点。
根据单位脉冲响应的不同,数字滤波器主要分为有限脉冲响应(FIR )和无限脉冲响应(IIR )2大类。
在同样的设计要求下,IIR 方式计算工作量较小,但难以得到线性相位响应,且系统不易稳定;FIR 方式的计算工作量稍大,但在设计任意幅频特性时,能保证严格的线性相位特性;由于其实现结构主要是非递归的,FIR 滤波器可以稳定工作。
FIR 数字滤波器是数字多普勒接收机的重要组成部分,因此,研究FIR 数字滤波器的实现技术具有重要意义。
随着FPGA 技术的不断发展,FPGA 逐渐成为信号处理的主流器件。
而在FPGA 中,数字滤波器不同的实现方法所消耗的FPGA 资源是不同的,且对滤波器的性能影响也有较大差异。
1FIR 滤波器的原理及结构FIR 滤波器存在N 个抽头的h (n ),N 称为滤波器的阶数,其数学表达式[1]为:y (n )=x (n )h (n )=N -1k =0Σh (k )x (n -k )=N -1k =0Σx (k )h (n -k )(1)式中,x (k )为第k 时刻的采样值,y (n )为滤波器输出。
h (k )为FIR 滤波器的第k 级抽头系数。
通过对h (k )进行Z 变换得到FIR 的传递函数H (Z ),其在Z 域内的形式如下:H (Z )=N -1k =0Σh (k )z-k(2)因此,根据传递函数H (Z )和FIR 滤波器系数的对称性,可得FIR 滤波器的一般实现结构[2],如图1所示。
从串行结构中可以看出,FIR 滤波过程就是一个信号逐级延迟的过程,将各级延迟输出加权累加,得到滤波输出,其中最主要的运算是乘累加运算。