FIR数字滤波器的FPGA实现

合集下载

FIR数字高通滤波器的FPGA实现

FIR数字高通滤波器的FPGA实现

摘要对于现代社会领域,数字信号处理(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的FIR滤波器设计与实现

基于FPGA的FIR滤波器设计与实现

目录引言................................... 错误!未定义书签。

第一章 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实现

FIR数字滤波器分布式算法的原理及FPGA实现

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实现

毕业设计(论文)fir数字滤波器的fpga实现

毕业设计(论文)题目: 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实现

FIR带通滤波器的FPGA实现
29
图4 ModelSim 仿真图 ( 模拟显示格式)
嵌入式技术
石兴华等 : FIR 带通滤波器的 FP GA 实现 验证了该滤波器达到预期设计要求 。
6 结 语
图 4 定性表述了 6 个信号波形 。clock 为时钟周 期 ,第二个信号是全局复位 。重点观察第三 、 六个信号 , 分别是输入信号 ( 加了数/ 模转换的) 的模拟显示和经滤 波后输出信号的模拟显示 。这和 Simulink 中仿真结果 是一致的 。第四个信号是滤波后 ( 加数/ 模转换 ) 的信 号 ,第五个是最后一个 4 阶滤波子系统的输出 。同样可 设置 Model Sim 对应的数字显示 ,每个时钟周期对应的 数值即为每个时钟周期对正弦信号的一个采样点计算 一次的值 。
h ( 15) 由滤波器设计工具 FDA Tool s 生成 ,系数与滤波
需要对生成的 V HDL 代码进行功能仿真即 R TL 级仿 真 。如图 4 的波形 。
器关联 ,建立出完整的滤波系统模型 [ 2 ] 。
2 Simul ink 的模型仿真
在 Simulink 环境下设计仿真时间等参数 , 运行仿 真得到滤波输出的幅频相应图和时域图如图 2 , 图 3 所示 。 图 2 中纵横坐标分别代表了幅值和频率值显示 ,
FIR 数字滤波器的设计方法主要有窗函数法和等波纹
图2 滤波器的幅频曲线图
一致逼近法等 ,比较最佳效果选定 Equiripple 等波纹法 实验 。输 入 信 号 采 用 DSPBuilder 库 中 的 增 加/ 减 少 ( Increment Decrement ) 模块和 L U T 模块 , 分别构成 一个线性递增的地址发生器和正弦查找表模块 。这样 组建 一 组 正 弦 信 号 , 考 虑 组 建 通 带 内 频 率 f 1 =

FIR滤波器的FPGA实现方法

FIR滤波器的FPGA实现方法

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滤波器的FPGA设计与实现

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实现

32阶FIR滤波器的FPGA实现

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)用二进制可表示为:其中,最高位为符号位。

可编程FIR滤波器的FPGA实现

可编程FIR滤波器的FPGA实现

1
FIR 滤波器的结构
FIR 有限脉冲响 应 滤 波 器 是 数 字 滤 波 器 的 一
种, 它的特点是单位脉冲响应是一个有限长序列 , 其 数学表达式为:
N -1
用的计算机上实现, 这种方法多用于教学或算法仿 , 。 真 不能实现实时性 另一种是硬件实现, 采用可编 程逻辑器件( CPLD / FPGA ) 。FPGA 具有灵活的可编 程逻辑, 突破了并行处理与流水级数的限制, 它所具
n
图2
线性相位 FIR 滤波器的直接型结构改进图( N 为偶数)
27 10 = 32 10 -4 10 -1 2 = 100101 SD( 下标表示进制) 通常可以通过非零元素的数量来估计乘法的效 n] , 率, 比如乘法操作: A* x[ 其具体实现过程如下。 若 A10 = ( a k-1 a k-2 …a0 ) 2 , 则 A10 * x[ n]= ( a k-1 a k-2 …a0 ) 2 * x[ n] = a k-1 2 k-1 x[ +a k-2 2 k-2 x[ n] n] … +a0 x[ n] ( 2 ) 可以明显地看到, 乘法的成本与 A 中非零元素 a k 的 数量有直接的关系。而普通二进制编码需要 4 个加 法器, 用 SD 编码只需要 3 个加法器。 SD 编码通常不是唯一的, 比如: 15 10 = 16 10 -1 10 = 10001 SD 15 10 = 16 10 -2 10 +1 10 = 10011 SD 15 10 = 16 10 -4 10 +2 10 +1 10 = 10111 SD 在上面的 SD 编码中, 由于第 1 种方式具有最 少数量的 1 和 1 , 因此它的乘法成本最低, 因此应该 尽量减少编码中 1 和 1 的数量, 以将乘法器实现的 成本降低到最低, 通常将这种包含最少 1 和 1 数量 的 SD 编码称为最佳 SD 编码。 在滤波器系数的处理上, 采用最佳 SD 编码方 , 式 以减少对器件资源的在耗用。滤波器系数的 SD 编码如下, 每个抽头系数均先左移 7 位( 乘以 128 ) 。 128· h[ 0]= 128 ×0. 0399 = 5. 1072 = 4 +2 -0. 5 -0. 25 -0. 125 -0. 03125 = ( 110. 11101 )

FIR数字滤波器的FPGA实现研究

FIR数字滤波器的FPGA实现研究

如今,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 滤波过程就是一个信号逐级延迟的过程,将各级延迟输出加权累加,得到滤波输出,其中最主要的运算是乘累加运算。

优化FIR数字滤波器的FPGA实现

优化FIR数字滤波器的FPGA实现

优化FIR数字滤波器的FPGA实现(1)2011-05-11 23:18:11 来源:现代电子技术关键字:FPGA 数字滤波器FIR Matlab摘要:基于提高速度和减少面积的理念,对传统的FIR数字滤波器进行改良。

考虑到FPGA 的实现特点,研究并设计了采用Radix-2的Booth算法乘法器以及结合了CSA加法器和树型结构的快速加法器,并成功应用于FIR数字滤波器的设计中。

滤波器的系数由Matlab设计产生。

仿真和综合结果表明,Booth算法乘法器和CSA算法加法器树,在满足FIR数字滤波器的性能要求的同时,在电路实现面积上、尤其是速度上有明显的优化;并且当数据量越多时,优化也越明显。

关键词:Matlab;Booth算法;CSA算法;ISE研究数字滤波器的意义就在于它们正日益成为一种主要的DSP(DigitaI Signal Processing)运算,并正在逐渐代替传统的模拟滤波器。

它可以保证任意幅频特性的同时具有严格的线性相频特性。

而现场可编程门阵列(Field Programmable Gate Array,FPGA)可并行执行的特点决定它更加广泛地应用于实时数字信号处理领域。

不能想象今天的生活如果没有音频;视频和言语交际的样子,而这些都要应用数字信号处理技术。

并且在任何时候,高性能,低规模,低成本都是设计的目标。

滤波器(Finite Impulse Response,FIR)的实现方法有很多种,最常见的有串行结构和并行结构方法。

前者根据FIR滤波器的实现表达式,将滤波器实质看作是做一个乘累加运算。

一次乘累加运算的次数由滤波器的阶数来决定。

这种方法使用硬件资源相对较少,但速度较慢。

并行结构的方法,将滤波器的串行实现展开,就可以直接用多个乘法器和加法器并行实现,其可以在一个时钟周期内完成一次滤波,但要占用大量的乘累加器,器件延迟比较大。

目前为了满足面积和速度的需要,人们通常采用Booth算法、CSD算法,分布式算法等技术对FIR设计进行优化,优化效果各有利弊。

基于FPGA的FIR数字滤波器设计与实现

基于FPGA的FIR数字滤波器设计与实现

基于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在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。

FIR滤波器的FPGA设计与实现

FIR滤波器的FPGA设计与实现

第25卷第—期电子计工程2017^ 4月Vol.25 No.24 Electronic Design Engineering Dec. 2017FPAA%针'(规陈援援,刘有耀(西安邮电大学电子工程学院,陕西西安710061)摘要:本文针对快速、准确选择参数符合项目要求的滤波器设计方法的目的,通过系统的介绍有限脉冲响应(Finite Impulse Response,FIR)滤波器的原理、结构形式以及几种FIR滤波器设计方法,结合MATLAB软件提供的专用数字滤波器设计工具包FDAT00L,以及Quart?J软件提供的FIR核实现快速、便捷的设计F IR滤波器的几个具体实验,得出结论证实了熟练使用FDAT00L工具和FIR核比直接编写代码设计F IR滤波器更加方便、快捷,但编写代码具有灵活性更强的优势。

关键词+有限冲击响应2MATLAB;数字滤波器;FIR核中图分类号:TN713+.7 文献标识码:A文章编号+1674-6236(2017)24-0065-05FIR filter of the FPGA design and implementationCHEN Yuan-yuan,LIU You-yao(&'an University of P osts&Telecommunications,Xi'an710061 ,China)Abstract: I n o rder to choice the method of filter design which the parameters conform to the projectrapidly and accurately,this paper systematically introduce the principle,structure and several kinds ofdesign method of the Finite I mpulse Response(Finite I mpulse Response,F I R)filter,combined with MATLAB software which provide dedicated digital filter design tool called FDAT00L,and Quartus IIsoftware which provide F I R core realize design F I R filter rapidly and conveniently combine with severa specific experiments,the conclusion prove that skilled use FDAT00L tool and F I R core than write codesdirectly to design F I R filter are more convenient and quick,however writing codes have the advantage ofmore flexibility.Key words:finite impulse response;MATLAB;digital filter;F I R coreFIR(Finite Impulse Response)数字滤波器是非 递归型滤波器的简称,又叫有限长单位冲激响应滤 波器,是数字信号处理中较基本的单元,其稳定性 好、精度高、可以实现线性相位,在信号的滤波、检测 及预测等信息处理过程中都C要广泛应用到FIR数 字滤波器。

FIR数字滤波器的FPGA实现研究

FIR数字滤波器的FPGA实现研究
Ab t a tI r e o r s a c i e e ti l me tt n f I d g tlf trwi P s r c : o d r e e r h d f r n mpe n a i so F R ii l t F GA n t err s u c o s mi g a l n t f o a ie h o h i e o r e c n u n swel a h p e e f r n et e i r v d s r l t cu e p r l lsr c u e a d DA sr cu e o I d gt l l rwe e r s e ・ s t e s e d p ro ma c , mp o e e a r t r ,a a l t t r n t t r fF R i i t r e p e h i su e u u af e i t ey i l me t d wi r o i l mp e n e t Ve i g HDL o h l x I E1 . d v lp n l t r a d t e i lt d o h d li sm— v h l n t e Xi n S 1 e eo me t af m, n h n smu a e n t e Mo e s i 0 p o m i u a in p af r . u n u h tt e i l me tt n o mp o e e a t cu e c n u sr s u c e s u h l rs e d lt lt i I t r so t a mp e n a i fi r v d s r ls o oB t t h o i u r t r o s me e o r e la t tt ef t p e b i e
( . colfIsrm n S i c 1 S ho nt e t c n e& E gneig S uhat nvri, ajn 10 6 C i ; o u e nier , otes U i sy N n g 20 9 , hn n e t i a

基于FPGA的FIR数字滤波器的设计和实现

基于FPGA的FIR数字滤波器的设计和实现

基于FPGA的FIR数字滤波器的设计和实现摘要:本文基于FPGA平台实现了一种FIR数字滤波器,通过对滤波器的设计与实现过程的详细介绍,展示了FPGA在数字滤波器中的应用优势。

首先介绍了数字滤波器的原理及其在信号处理中的重要性,并对FPGA及其特点进行了概述。

接着,详细介绍了FIR滤波器的原理以及其在FPGA上的实现步骤,分析了滤波器设计中需要考虑到的各种因素。

最后,通过实验验证了FPGA上实现的FIR滤波器的性能,并对优化策略进行了讨论。

关键词:FPGA,FIR滤波器,数字信号处理,性能优化1. 引言数字滤波器是现代信号处理的重要组成部分,通过选择性地传递或抑制输入信号的特定频率组成部分,对信号进行处理和改善。

FIR滤波器是数字滤波器中最常用的一种类型,具有线性相位特性、稳定性较强以及易于实现等优势。

而FPGA作为一种可编程逻辑器件,具有灵活性高、可重构性强等特点,成为实现数字滤波器的理想平台。

2. FIR滤波器的原理FIR滤波器是一种线性时不变系统,其输出仅和当前输入值以及过去若干个输入值有关。

该滤波器的输出可以通过输入信号的线性加权和来计算,其中,每个输入值的加权系数通过FIR 滤波器的系数来确定。

FIR滤波器的系数决定了它对不同频率分量的响应,从而实现了信号的滤波目的。

3. FIR滤波器在FPGA上的实现步骤(1)选择合适的FPGA平台和开发工具,如Xilinx FPGA平台和Vivado开发工具。

(2)根据所要设计的滤波器的需求,确定其采样频率、截止频率和滤波器类型等参数,并进行系统级设计。

(3)根据所选参数,设计FIR滤波器的传递函数,并确定滤波器的阶数和系数。

(4)通过数学运算或者通过滤波器设计软件生成滤波器的差分方程。

(5)根据生成的差分方程,使用HDL(HardwareDescription Language)进行滤波器的编写。

(6)进行FPGA的综合、布局与布线、下载与验证,完成滤波器的硬件实现。

基于FPGA实现线性FIR数字滤波器

基于FPGA实现线性FIR数字滤波器

摘要在宽带信号处理中,常常利用目标回波的频谱特性进行目标检测和分类,为了保证其准确性,对接收到的回波必须进行频谱分析。

实际上常用的方法是通过滤波器组进行处理的。

因此在设计上采用同一结构的FIR滤波器,通过调整参数实现不同频率段的滤波。

根据FIR滤波器可以很方便地实现线性相位的特性和稳定性在设计中提出了一种采用现场可编程门阵列器件(FPGA)实现线性FIR数字滤波器,利用分布式算法的并行处理的高效的特点,对于在FPGA中实现FIR滤波器的关键——乘加运算,给出将乘加转化为查找表结构实现乘法器,并利用多级流水线方式实现运算。

降低了对查找表的存储容量的需求,并且不影响系统的速度。

用VHDL 语言编写了程序。

关键词:有限冲击响应滤波器,现场可编程门阵列器件,查找表,分布式,流水线目录一.绪言-------------------------------------------------------------11.1课题背景-------------------------------------------------------11.2课题研究的目的和意义-------------------------------------------2二.滤波器设计原理---------------------------------------------------32.1滤波器的基本概念-----------------------------------------------32.1.1滤波原理 --------------------------------------------------32.1.2滤波器的分类-----------------------------------------------42.1.3数字滤波器结构的表示方法-----------------------------------5 2.2 有限冲击响应(FIR)滤波器的基本概念-----------------------------62.2.1有限冲击响应(FIR)滤波器的特点------------------------------6三.FIR数字滤波器的设计思路------------------------------------------83.1 线性相位FIR滤波器特点----------------------------------------83.1.1单位冲击响应h(n)的特点------------------------------------83.1.2 线形相位的条件--------------------------------------------8 3.2.线性相位FIR滤波器的设计--------------------------------------93.2.1 设计基础--------------------------------------------------93.2.2流水线技术的应用-------------------------------------------93.2.3分布式算法的运用------------------------------------------103.2.4采用查找表结构--------------------------------------------113.2.5采用FPGA来实现-------------------------------------------13四.系统的设计与实现------------------------------------------------154.1滤波器的设计指标----------------------------------------------15 4.2 系统具体实现步骤---------------------------------------------154.2.1计算FIR数字滤波器的滤波系数------------------------------154.2.2 FIR数字滤波器的VHDL实现---------------------------------184.2.2.1 概要-------------------------------------------------194.2.2.2详细说明----------------------------------------------204.2.2.3输出数据分析------------------------------------------28五.总结------------------------------------------------------------29六.参考文献--------------------------------------------------------29一.绪言1.1课题背景信号处理的内容含滤波、均衡、放大、噪声消除、信号产生、检测、运算和参量提取等许多方面。

FIR数字滤波器设计及其FPGA实现

FIR数字滤波器设计及其FPGA实现
i t e f f e c t i v e l y e x t r a c t s t h e 5 k Hz s i n e s i g n a 1 .T h e e x p e r i me n t r e s u l t s i n d i c a t e t h a t i t a c h i e v e s t h e p e fo r ma r n c e o f t h e F I R f i l t e r ,a n d s o me n e w a p p r o a c h e s a n d me t h o d s a r e e x p l o r e d f o r d e s i g n a n d i mp l e me n t o f t h e d i g i t a l i f l t e r .
中 图分 类 号 :T P T 1 3 文 献 标 识 码 :A 文 章 编 号 :1 6 7 4 — 7 7 2 0( 2 0 1 3 ) 1 9 — 0 0 2 2 — 0 3
FI R d i g i t a l f i l t e r d e s i g n a n d i mp l e me n t a t i o n o n FPGA
Ab s t r a c t :B a s e d o n t h e F P GA h a r d wa r e p l a t f o m ,t r h e d i g i t a l F I R f i l t e r mo d e l i s d e s i g n e d b y u s i n g DS P B u i l d e r o f F P GA t oቤተ መጻሕፍቲ ባይዱ
s i m u l a t e s y s t e m mo d e l a n d g e n e r a t e t h e V H D L p r o j e c t l f i e s ,o r g a n i z e t h e c o r r e s p o n d i n g t o p p r o g r a m t o i f t w i t h t h e h a r d w a r e s y s t e m

基于FPGA的FIR滤波器优化设计

基于FPGA的FIR滤波器优化设计

基于FPGA的FIR滤波器优化设计FPGA技术是一种灵活和可重配置的硬件设计技术,具有高度的并行性和可定制性。

其中,FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,可以用于信号处理和数据通信等领域。

在本文中,我们将讨论基于FPGA的FIR滤波器的优化设计。

首先,我们将介绍FIR滤波器的基本原理。

FIR滤波器是一种非递归滤波器,其输出只与当前输入和有限数量的以前输入相关。

其主要特点是具有线性相位响应和稳定性。

FIR滤波器通过卷积运算来实现滤波的功能,其中滤波器的系数是其关键部分。

接下来,我们将讨论如何将FIR滤波器设计为基于FPGA的硬件实现。

在FPGA设计中,我们可以使用硬件描述语言(如VHDL或Verilog)来描述FIR滤波器的功能和行为。

然后,我们可以使用FPGA设计工具(如Xilinx Vivado)将这些硬件描述转换为可在FPGA芯片上实现的逻辑电路。

在进行优化设计时,可以采用以下几种方法:1.并行计算:由于FPGA具有高度的并行性,我们可以利用并行计算来加速FIR滤波器的运算。

可以将输入信号分成多个并行通道,并在每个通道上独立地进行滤波计算。

2.流水线设计:流水线设计可以进一步提高FIR滤波器的运算效率。

可以将滤波器的计算分成多个阶段,并使每个阶段的计算互相重叠。

这样可以实现更高的吞吐量。

3.系数优化:FIR滤波器的计算涉及到滤波器的系数乘法和累加操作。

可以通过使用定点算法和优化系数位宽等方法来减少计算的复杂度。

此外,还可以使用现成的IP核来实现FIR滤波器。

例如,Xilinx Vivado中提供了用于FIR滤波器的IP核。

这些IP核具有预先优化的代码和配置选项,可以帮助我们更方便地实现FIFO滤波器。

另一方面,我们还可以采用硬件/软件协同设计的方法来优化FIR滤波器的设计。

在这种方法中,可以将一部分滤波器的计算任务转移到CPU上进行处理,以减轻FPGA上的计算负载。

基于FPGA的FIR数字滤波器设计及实现

基于FPGA的FIR数字滤波器设计及实现

第35卷㊀第10期2020年10月㊀㊀㊀㊀㊀㊀㊀液晶与显示㊀㊀㊀C h i n e s e J o u r n a l o fL i q u i dC r y s t a l s a n dD i s p l a ys ㊀㊀㊀㊀㊀V o l .35㊀N o .10㊀O c t .2020㊀㊀收稿日期:2020G04G09;修订日期:2020G06G04.㊀㊀基金项目:吉林省科技厅技术攻关项目(N o .20190302086G X ,N o .20200403067S F )S u p p o r t e db y K e y S c i e n c ea n dT e c h n o l o y Fo u n d a t i o no f J i l i nP r o v i n c e ,C h i n a (N o .20190302086G X ,N o .20200403067S F )㊀㊀∗通信联系人,E Gm a i l :z h i q i a n _w a n g@s i n a .c o m 文章编号:1007G2780(2020)10G1073G06基于F P G A 的F I R 数字滤波器设计及实现宋卓达1,2,王志乾1∗,李建荣1,沈铖武1,2,刘绍锦1(1.中国科学院长春光学精密机械与物理研究所,吉林长春130033;2.中国科学院大学,北京100049)摘要:针对应变信号采集系统中的信号处理环节,设计并实现一种基于现场可编程门阵列(F P G A )的F I R 数字滤波器.首先,基于M a t l a b 采用克莱德曼窗函数设计一个长度为16的15阶数字滤波器,并生成高斯白噪声与频率为2k H z㊁8k H z 正弦波的合成信号,然后量化12位系数,将系数文件导入Q u a r t u s Ⅱ13.1软件,结合F P G A 内部数字滤波器I P 核,采用自上而下的方式设计出F I R 数字滤波器,最终在S i m u l i n k 环境下对其进行仿真.实验结果表明,滤波前后合成信号的均方误差下降28.5%,提高了低频信号质量,增强了应变信号采集系统的功能性和集成度.关㊀键㊀词:信号采集;F I R 数字滤波器;F P G A ;I P 核中图分类号:T N 911.72;T N 713.7㊀㊀文献标识码:A㊀㊀d o i :10.37188/Y J Y X S 20203510.1073D e s i g na n d i m p l e m e n t a t i o no f F I Rd i gi t a l f i l t e r b a s e d o nF P G A S O N GZ h u o Gd a 1,2,WA N GZ h i Gq i a n 1∗,L I J i a n Gr o n g1S H E N C h e n g Gw u 1,2,L I US h a o Gji n 1(1.C h a n g c h u nI n s t i t u t e o f O p t i c s ,F i n eM e c h a n i c s a n dP h y s i c s ,C h i n e s eA c a d e m y o f Sc i e n c e s ,C h a n gc h u n 130033,C h i n a ;2.U n i v e r s i t y o f C h i n e s eA c ade m y of S c i e n c e s ,B e i j i ng 100049,C h i n a )A b s t r a c t :A F i n i t eI m p u l s eR e s p o n s e (F I R )d i g i t a l f i l t e rb a s e do nF i e l dP r o g r a mm a b l eG a t e A r r a y(F P G A )i s d e s i g n e d a n d i m p l e m e n t e d f o r s i g n a l p r o c e s s i n g i n s t r a i n s i g n a l a c q u i s i t i o n s y s t e m.F i r s t l y,b a s e do n MA T L A B ,B l a c k m a n w i n d o wf u n c t i o ni su s e dt od e s i g na15o r d e rd i g i t a l f i l t e rw i t h16l e n g t h ,a n d t h e s i g n a l i s c o m p o s e d o fw h i t eG a u s s i a nn o i s e a n d s i n ew a v ew i t h f r e q u e n c y o f 2k H z a n d 8k H z .T h e n t h e 12b i t c o e f f i c i e n t s a r e q u a n t i z e d ,a n d t h e c o e f f i c i e n t f i l e i s i m po r t e d i n t oQ u a r t u s Ⅱ13.1s o f t w a r e .C o m b i n i n g w i t h t h e I P c o r e o f d i g i t a l f i l t e r i nF P G A ,F I Rd i g i t a l f i l t e r i s d e s i gn e d f r o m t o p t ob o t t o m.F i n a l l y,i t i ss i m u l a t e di nS i m u l i n ke n v i r o n m e n t .T h er e s u l t ss h o wt h a tt h e m e a n s q u a r ee r r o ro ft h es y n t h e s i z e ds i g n a ld e c r e a s e sb y 28.5%b e f o r ea n da f t e rf i l t e r i n g ,w h i c hc a n i m p r o v e t h e q u a l i t y o f l o wf r e q u e n c y s i g n a l a n d e n h a n c e d t h e f u n c t i o n a n d i n t e g r a t i o n o f t h e s t r a i n s i gGn a l a c q u i s i t i o n s ys t e m.K e y wo r d s :s i g n a l a c q u i s i t i o n ;F I Rd i g i t a l f i l t e r ;F P G A ;I Pc o r e . All Rights Reserved.1㊀引㊀㊀言㊀㊀在高速旋转部件的性能测试㊁强度及疲劳试验过程中,通常采用应变测量技术,实时采集旋转部件载荷的应变信号,进行分析和处理,为旋转部件的结构设计提供理论分析数据[1].在应变信号采集的过程中,应变电桥的输出电压信号的变化十分微小,达到μV级.为获得高质量的低频电压信号,本文采用一种基于F P G A的F I R数字滤波器进行信号处理,在高转速㊁气动性复杂㊁震动环境恶劣的情况下,提高所采集应变信号的精度.采用软硬件协同设计技术,利用F P G A定制I P,每一个模块都能单独完成,又能轻松整合在一起形成一个系统[2].F I R滤波器的实质是将输入的连续时间信号按照设定的算法转换成离散时间信号的滤波装置[3],而F PG A内含丰富的I P核和L U T表结构,能够完整地将F I R数字滤波器移植到F P G A 上,并且可以根据实际需求在线修改滤波器的参数,大幅缩减了产品的设计周期,并增强应变信号采集系统本身的集成度和灵活性.利用可编程逻辑器件和E D A技术实现F I R 数字滤波器是现代嵌入式系统信号处理环节普遍采用的手段[4],随着F P G A逻辑单元数量和集成度不断提高,可在F P G A上实现F I R数字滤波器的算法复杂程度㊁量化系数位宽㊁阶数等也随之提高,具有可观的发展前景.2㊀系统框架应变信号采集系统的总体框架如图1所示,整个系统分为模拟部分和数字部分.图1㊀应变信号采集系统流程框图F i g.1㊀B l o c kd i a g r a mo f s t r a i n s i g n a l a c q u i s i t i o n s y s t e m其中模拟部分有4个应变信号采集通道,每个采集通道包含对应变电桥的模拟信号进行预放大㊁调理和A/D采集,数字信号部分包括对模拟板前端电压信号偏移量修正和温度补偿控制㊁程控自动增益㊁A/D采集的读写控制和接收经过A/D采集后的信号,并对其进行缓存和处理[5].最后将信号通过U A R T串行总线传输至P C端显示[6].3㊀F I R数字滤波器的设计3.1㊀基本原理和结构F I R数字滤波器为单位脉冲响应有限长序列[7],是非递归性线性时不变因果系统,对于N阶F I R滤波器输入时间序列x(n)的输出表达式为:y n()=ðn-1i=0hi()x n-i(),(1)系统传递函数可表示为:H z()=ðn-1i=0h n()z-n=h(0)+h(1)z-1+ +h(n-1)zG(n-1),(2)式中:h(n)为滤波器第级n抽头系数,x(n-i)为延时i个抽头输入.F I R滤波器按构成形式主要有直接型㊁级联型㊁线性相位F I R滤波器等[8].其中直接型结构如图2所示,该结构需要N个乘法器,每次采样y(n)都需要进行n次乘法和n-1次加法实现乘累加之和[9].图2㊀直接型F I R滤波器网络结构F i g.2㊀N e t w o r ks t r u c t u r e o f d i r e c tF I Rf i l t e r对于线性相位F I R滤波器,其单位响应是对称或反对称的,即h(n)=ʃh(N-1-n),利用其对称性可以简化网络结构,当h(n)为偶对称且N为偶数时:y n()=ðnG1i=0hi()x n-i()=ðN2G1i=0hi()x n-i()+n-N+m()[].(3)4701㊀㊀㊀㊀液晶与显示㊀㊀㊀㊀㊀㊀第35卷㊀. All Rights Reserved.其线性网络结构如图3所示,仅需要N/2个乘法器.F I R滤波器实际上是一个分节的延时线,把每一节的输出加权累加得到滤波器的输出[10].本设计采用线性相位F I R数字滤波器.图3㊀F I R滤波器线性相位网络结构F i g.3㊀L i n e a r p h a s en e t w o r ks t r u c t u r e o fF I Rf i l t e r 3.2㊀F I R滤波器设计流程F I R数字滤波器设计流程如图4所示,整个F I R数字滤波器的设计可以分为滤波器系数设计和滤波器在F PG A上实现两个部分.利用M a t l a b 软件设计出F I R数字滤波器各级抽头系数,并将F I R数字滤波器的功能移植到F P G A上.图4㊀F I R滤波器设计流程图F i g.4㊀F l o wc h a r t o fF I Rf i l t e r d e s i g n4㊀F I R数字滤波器的F P G A实现4.1㊀M a t l a b设计滤波器系数通过使用M a t a l b中F D A T o o l工具箱设计出一个15阶低通线性相位F I R数字滤波器,其采样频率为20k H z,截止频率为3k H z,长度为16位,并采用布莱克曼窗实现,将滤波器浮点系数量化为12位.运行所编辑的滤波器,并将量化后的滤波器系数写入F I R C O E.T X T文件中.滤波器设计界面如图5所示.4.2㊀S i m u l i n k仿真滤波器输入信号将S i m u l i n k中正弦波信号产生模块s i n e w a v e㊁高斯白噪声模块AWG N通过多信号叠加模块a d d生成一个采样频率为20k H z的信号干扰源,并生成12位量化系数,再与2k H z和图5㊀F D A t o o l滤波器设计界面F i g.5㊀D e s i g n i n t e r f a c e o fF D A T o o l f i l t e r8k H z的正弦波信号合成作为F P G A的输入信号.信号发生模块如图6所示.图6㊀合成信号发生模块F i g.6㊀S c h e m a t i c d i a g r a mo f s y n t h e t i c s i g n a l g e n e r aGt i n g m o d u l e4.3㊀I P核设计F I R数字滤波器进入Q u a r t u sⅡI P核设置界面,设计一个15阶低通线性滤波器,将4.2中的F I R C O E系数文件导入到C o e f f i c i e n t s e t中[11],配置好滤波器各项参数,生成F I R数字滤波器模块,并将其实例化引用.数字滤波器R T L级原理如图7所示,其中a s t_s i n k_ d a t a[11..0]和a s t_s o u r c e_d a t a[25..0]分别为信号输入端口和数据输出端口.整个模块只占用2199个逻辑元,占用率不到10%.图7㊀数字滤波器R T L级原理图F i g.7㊀R T L l e v e l s c h e m a t i c d i a g r a mo f d i g i t a l f i l t e r 5㊀F I R数字滤波器仿真与性能测试5.1㊀F I R数字滤波器功能仿真搭建F P G A与S i m u l i n k联合实时环路平台,在S i m u l i n k创建测试模块,通过测试模块产生信号,再传送到F P G A,F P G A将信号处理后返回S i m u l i n k显示[12].首先在S i m u l i n k中创建用户5701第10期㊀㊀㊀㊀㊀宋卓达,等:基于F P G A的F I R数字滤波器设计及实现. All Rights Reserved.板卡,配制板卡上F P G A 芯片信息,本设计F P G A 采用的是C y c l o n e Ⅳ系列E P 4C E 6E 22C 8N .然后采用J T A G 连接方式,设置J T A G 接口类型㊁时钟信号频率㊁引脚号㊁时钟类型㊁复位信号引脚㊁复位电平等信息,并将配置的信息保存在l o gi c _b o a r d .x m l 文件中.创建S i m u l i n k 模型,将配置好的l o g i cb o a r d .x m l 文件导入,加载R T L 文件即V e r i l o g 代码文件,并将其设置为顶层文件,自动配置I O 口,将数据传送到S i m u l i n k 中.仿真结果如图8㊁图9所示.图8㊀合成信号滤波前(a )后(b )时域波形图F i g.8㊀T i m ed o m a i nw a v e f o r m b e f o r e (a )a n da f t e r (b )f i l t e r i n g o f s y n t h e t i c s i gn a l (a)滤波前合成信号频域波形(a )F r e q u e n c y d o m a i n w a v e f o r m o f s yn t h e s i z e d s i g n a l b e f o r e f i l t e r i ng(b)滤波后合成信号频域波形(b )F r e q u e n c y do m a i n w a v e f o r m o f f i l t e r e d s y n t h e t i c s i gn a l 图9㊀合成信号滤波前后频域波形图F i g .9㊀F r e q u e n c y do m a i nw a v e f o r mb e f o r e a n d a f t e r f i l t e r i n g o f s y n t h e t i c s i gn a l 由图8㊁图9可知,滤波后的合成信号在时域和频域上趋于缓和,毛刺噪声已经滤除,并且同时滤除了8k H z 高频信号分量,滤波后的信号已形成规则平滑的频率为2k H z 的单频正弦信号,因此,F I R 线性相位低通滤波功能在F P G A 上已经实现.5.2㊀F I R 数字滤波器性能分析将应变信号采集系统的4个应变采集通道分别对高速旋转部件的4个点进行应变测量,并且通过串口将F I R 数字滤波前后量化结果的文本文件导入M a t l a b 中,进行数据处理,得到F I R 数字滤波前后的均方差,如表1所示.表1㊀F I R 数字滤波前后均方差T a b .1㊀M e a n s qu a r e d e v i a t i o n b e f o r e a n d a f t e r F I R d i g i t a l f i l t e r i n g 通道测量次序测试数据量数据均值数字滤波前均方差数字滤波后均方差第一通道130015-884671237.1907.6235494-897361126.5875.3338772-854731283.1910.4第二通道140913-21073972.5674.1258209-19386856.4600.8349328-19758782.3545.0第三通道17963570394709.2539.526397971834693.6528.436429870936707.0545.5第四通道110090152043607.8406.527036552864583.4384.338493252567594.6379.6由表1F I R 数字滤波前后量化信号均方差的对比可知,经过F I R 数字滤波器后,信号的均方差大幅度下降,4个通道的采集信号均方差平均下降28.5%,具有良好的滤波效果.5.3㊀界面显示为了能够将4个应变采集通道中的最终采样结果通过串口在P C 端实时显示,使用M a t l a b 中G U I 工具箱设计出显示界面,并且通过式(4)将6701㊀㊀㊀㊀液晶与显示㊀㊀㊀㊀㊀㊀第35卷㊀. All Rights Reserved.采样结果转化为对应的电压值.U o =V r e f -GN D ()ˑA D C R e s e l t2N+G N D ,(4)式中:V r e f 为AD C 参考电压㊁G N D 为输出结果为0时的最低电压,A D C R e s e l t 为采样结果,N 为A D C 位数.同时根据式(5),在全桥测量的情况下将电压转换成相应的应变量.U o =E K ε,(5)式中:E 为电桥电压,K 为应变灵敏系数,ε为应变量.显示界面如图10所示.图10㊀界面显示F i g .10㊀I n t e r f a c e d i s p l a y6㊀结㊀㊀论本文针对应变信号采集系统提出一种基于F P G A 的F I R 线性相位低通数字滤波器方案,构建了数字滤波器设计与仿真体系,最终在F P G A 上实现,而且仿真系统可以任意改变合成信号的类型㊁数字滤波器的种类和各项参数,相比传统的通过编写t e s t b e n t c h 脚本仿真文件导入M o d e l s i m 来实现仿真结果,简化了复杂的仿真步骤,不需要在F P G A 上增添信号发生模块,同时保证了实验可靠性.通过高速旋转部件的多次应变测量,结果表明数字滤波前后量化信号的均方差下降28.5%,具有良好的滤波效果.增加显示界面,便于观察采样结果的动态变化.对于接触式应变信号采集系统而言,将整个F I R 数字滤波器的功能移植在F P G A 上,增强功能的同时,系统的体积㊁质量㊁电路复杂程度均不受影响,从而不会影响直升机在飞行测试中旋翼系统的动态平衡.参㊀考㊀文㊀献:[1]㊀魏国波.直升机旋转动部件载荷测试技术研究[D ].西安:西安电子科技大学,2013.W E IGB .T h e i n v e s t i g a t i o n i n t h eF l i g h tT e s tT e c h n i q u e o fR o t a r y p a r t s o nh e l i c o pt e r [D ].X i a n :X i d i a nU n i v e r s i Gt y ,2013.(i nC h i n e s e )[2]㊀黄学业,凌朝东,黄锐敏,等.基于F P G A 的多路微弱医学生物电信号处理系统[J ].液晶与显示,2014,29(2):245G250.HU A N G X Y ,L I N GCD ,HU A N GR M ,e t a l .M u l t i c h a n n e lw e a km e d i c a l b i o e l e c t r i c a l s i g n a l p r o c e s s i n g s ys t e m b a s e do nF P G A [J ].C h i n e s eJ o u r n a l o f L i q u i dC r y s t a l s a n dD i s p l a y ,2014,29(2):245G250.(i nC h i n e s e )[3]㊀杜勇.数字滤波器的MA T L A B 与F P G A 实现[M ].2版.北京:电子工业出版社,2014.D U Y.M A T L A Ba n dF P G AI m p l e m e n t a t i o no f D i gi t a lF i l t e r [M ].2n de d .B e i j i n g :P u b l i s h i n g H o u s eo fE l e c Gt r o n i c s I n d u s t r y,2014.(i nC h i n e s e )[4]㊀卢雍卿,李剑文,许雯雯,等.基于F P G A 的数字滤波器设计与仿真[J ].软件导刊,2017,16(2):85G88.L U Y Q ,L I JW ,X U W W ,e t a l .D e s i g na n ds i m u l a t i o no f d i g i t a l f i l t e rb a s e do nF P G A [J ].S o ft w a r eG u i d e ,2017,16(2):85G88.(i nC h i n e s e)[5]㊀安都勋,霍建华,王留全.基于MA X 1452的应变测试系统前端模块的设计[J ].电子设计工程,2012,20(2):118G120.A N DX ,HU OJH ,WA N GLQ.D e s i g n o f s t r a i n t e s t i n g s ys t e mf r o n t Ge n dm o d u l e b a s e d o nMA X 1452[J ].E l e c Gt r o n i cD e s i g nE n g i n e e r i n g ,2012,20(2):118G120.(i nC h i n e s e )[6]㊀罗杰.V e r i l o g H DL 与F P G A 数字系统设计:Q u a r t u s Ⅱ[M ].北京:机械工业出版社,2015.L U OJ .D e s i g n o f V e r i l o g HD La n dF P G A D i g i t a l S ys t e mQ u a r t u s Ⅱ[M ].B e i j i n g :C h i n aM a c h i n eP r e s s ,2015.(i nC h i n e s e)[7]㊀王艳芬,张晓光,王刚,等.关于F I R 滤波器窗函数设计法的若干问题讨论[J ].电气电子教学学报,2017,39(2):83G88.WA N G YF ,Z HA N GXG ,WA N GG ,e t a l .D i s c u s s i o no n s o m e p r o b l e m s a b o u t t h e d e s i gno fw i n d o wf u n c t i o no f 7701第10期㊀㊀㊀㊀㊀宋卓达,等:基于F P G A 的F I R 数字滤波器设计及实现. All Rights Reserved.F I Rf i l t e r[J].J o u r n a l o f E l e c t r i c a l&E l e c t r o n i cE d u c a t i o n,2017,39(2):83G88.(i nC h i n e s e)[8]㊀刘福泉.基于F P G A的F I R数字滤波器实现[D].北京:北京邮电大学,2012.L I U FQ.I m p l e m e n t a t i o no fF I Rd i g i t a l f i l t e r b a s e do nF P G A[D].B e i j i n g:B e i j i n g U n i v e r s i t y o fP o s t s a n dT e l eGc o mm u n i c a t i o n s,2012.(i nC h i n e s e)[9]㊀郭晓伟,陈钟荣,夏利娜.基于F P G A的高速高阶F I R滤波器的频域改进方法[J].现代电子技术,2016,39(11):55G58,62.G U O X W,C H E NZR,X I ALN.F r e q u e n c y d o m a i n i m p r o v e m e n tm e t h o d f o r h i g hGs p e e d a n d h i g hGo r d e r F I R f i l t e rb a s e do nF P G A[J].M o d e r nE l ec t r o n i c sT e c h n i q u e,2016,39(11):55G58,62.(i nC h i n e s e)[10]㊀王辉.F I R数字滤波器的设计与研究[J].装备制造技术,2018(1):48G49,62.WA N G H.D e s i g n a n d r e s e a r c ho f F I Rd i g i t a l f i l t e r[J].E q u i p m e n tM a n u f a c t u r i n g T e c h n o l o g y,2018(1):48G49,62.(i nC h i n e s e)[11]㊀陈媛媛,刘有耀.F I R滤波器的F P G A设计与实现[J].电子设计工程,2017,25(24):65G69,73.C H E N Y Y,L IY Y.F I Rf i l t e ro f t h eF P G A d e s i g na n di m p l e m e n t a t i o n[J].E l e c t r o n i cD e s i g nE n g i n e e r i n g,2017,25(24):65G69,73.(i nC h i n e s e)[12]㊀李亮.基于S i m u l i n k的软件无线电硬件协同仿真技术[D].成都:电子科技大学,2013.L IL.S i m u l i n kGb a s e ds o f t w a r er a d i oh a r d w a r ec oGs i m u l a t i o nt e c h n o l o g y[D].C h e n g d u:U n i v e r s i t y o fE l e c t r o n i c S c i e n c e a n dT e c h n o l o g y o fC h i n a,2013.(i nC h i n e s e)作者简介:㊀宋卓达(1993-),男,吉林长春人,硕士研究生,2016年于南昌大学获得学士学位,主要从事F P G A嵌入式系统设计方面的研究.EGm a i l:453474362@q q.c om ㊀王志乾(1969-),男,吉林省吉林市人,研究员,2009年于吉林大学获得博士学位,主要从事光电测量㊁数字信号处理方面的研究.EGm a i l:z h i q i a n_w a n g @s i n a.c o m8701㊀㊀㊀㊀液晶与显示㊀㊀㊀㊀㊀㊀第35卷㊀. All Rights Reserved.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

a_temp5[1:0]=2′b00;
……
//定义所用的寄存器
a_temp6[8:1]=and81(a, b[1]);
陈晓勇, 等: FIR 数字滤波器的 FPGA 实现
·93·
a_temp6[0]=0; a_temp7=and81(a, b[0]); end endmodule
8 阶线性相位结构型 FIR 滤波器仿真波形
技大学出版社, 2002. [3] ( 美) Samir Palnitkar. Verilog HDL 数字设计与综合[M]. 夏
宇闻, 胡燕祥, 刁岚松, 译. 2 版.北京: 电子工业出版社, 2004. [4] 王 诚, 吴继华. Altera FPGA/CPLD 设计[M]. 北京: 人民 邮电出版社, 2005. [5] 王 旭 东 , 刘 渝 . FIR 的 FPGA 实 现 及 其 Quartus II 与 MATLAB 仿真[J]. 电子工程师, 2004, 30( 5) : 49- 51.
关键词: FIR 数字滤波器; FPGA; Quartus II; 线性相位
中图分类号: TN713+.7
文献标识码: A
Implementation of a FIR Filter with FPGA
CHEN Xiao- yong, CHEN Jian- ping, LU Dan- qian (School of Computer Science, Nantong University, Nantong 226019, China) Abstr act: This paper introduced how to design a FIR digital filter by using an add- tree function and the linear- phase architecture with FPGA. The implementation was simulated through the Verilog HDL in Quartus II. Compared with the traditional way of using shift- adder function and direct FIR model, this way is better. Especially when the orders of the filter increase, the advantage will be more obvious.
陈晓勇, 陈建平, 陆旦前
( 南通大学 计算机科学与技术学院, 江苏 南通 226019)
摘 要 : 介 绍 了 采 用 加 法 器 树 和 线 性 相 位 结 构 在 FPFA 上 实 现 FIR 数 字 滤 波 器 的 方 法 , 并 通 过 Verilog HDL 用 Quartus II 进行了仿真. 相对于采用传统的移位相加乘法器和直接型结构的 FIR 滤波器设计, 这种实现方式在性能 上有明显的优势, 使执行效率得到了较大提高. 尤其在滤波器的阶数较大的情况下, 优势会更明显.
assign out=c1+c2;
function[7:0] and81; //该函数实现 8x1 位乘法器
input[7:0] operand;
图 1 8 位移位相加乘法器仿真波形图
input sel; and81=(sel)?(operand):8′b00000000;
本 例 中 的 乘 法 器 件 使 用 了 加 法 器 树 乘 法 器 endfunction
数位数减 1, 加法器精度为 2 倍操作数位数, 需要
a_temp2[4:0]=5′b00000;
的与门数等于操作数的平方. 因此 8 位乘法器需要
a_temp3[11:4]=and81(a, b[4]);
7 个 16 位加法器和 64 个与门. 可以看出, 这种方法
a_temp3[3:0]=4′b0000;
所使用的器件数目较之前有所增加, 但非常适用于
a_temp4[10:3]=and81(a, b[3]);
对速度要求较高的场合.
a_temp4[2:0]=3′b000;
附加法器树乘法器模块实现 Verilog HDL 代码:
a_temp5[9:2]=and81(a, b[2]);
module add_tree(out, a, b, clk);
时, 乘积需延时 160 ns 才能输出 , 速 度 比 较 慢. 因 assign out3=a_temp4+a_temp5;
此, 在高速应用系统中, 一般不采用该方法.
assign out4=a_temp6+a_temp7;
assign c1=out1+out2;
assign c2=out3+out4;
图 3 8 位加法器树乘法器仿真波形图
பைடு நூலகம்
图 3 给出了 8 位加法器树乘法器仿真波形. 可
8 阶直接型 FIR 滤波器波形
以看到, 同样的 8 位乘法, 使用加法器树乘法器, 1 图 4 8 阶直接型与线性相位结构型 FIR 滤波器仿真波形比较
个 8 位乘法在一个时钟周期就可完成运算, 因此延
在 8 阶下两种结构滤波器的差距还不是很明
器和有限冲激响应( FIR) 滤波器两种. 硬件实现 FIR 直 接 实 现 将 占 用 大 量 的 逻 辑 单 元 , 这 种 直 接 实 现
滤 波 器 , 对 于 处 理 速 度 有 很 高 的 要 求 . 本 文 基 于 FIR 滤波器的方法在速度和节省资源上都不是最有
FPGA 实现 FIR 滤 波 器 , 通 过 对 算 法 及 滤 波 器 结 构 效的[1].
时比一般的移位相加乘法器要小得多.
显, 修改程序实现一个 20 阶的滤波器, 再次比较这
2.2 采用线性相位结构
两种不同结构的滤波器的仿真结果( 见图 5) .
线性相位特性也是 FIR 滤波器的突出优点. 常
表 1 8 阶直接型与线性相位结构型 FIR 滤波器资源使用比较
用的线性相位 FIR 滤波器, 其单位冲激响应均为实
a_temp[6:0]=7′b0000000;
器实现, 这样在一个时钟周期内就可以完成之前需
a_temp1[13:6]=and81(a, b[6]);
要 8 个时钟周期才完成的移位并相加的操作, 延时
a_temp1[5:0]=6′b000000;
大大缩短了. 加法器树使用的加法器数目等于操作
a_temp2[12:5]=and81(a, b[5]);
( add_tree) , 在图 2 中左侧为 8 个 8 位×1 位乘法器, always @(posedge clk)
每个乘法器可以用 8 个与门实现, 共需要 8×8 个与
begin
门. 这样可以保证在一个时钟周期内完成所有的移
a_temp[14:7]=and81(a, b[7]);
位运算. 最终的移位后的相加通过一个并行的加法
第6卷 第2期 2007 年 6 月
南通大学学报( 自然科学版) Journal of Nantong University ( Natural Science)
文章编号: 1673- 2340( 2007) 02- 0091- 04
Vol.6 No.2 Jun. 2007
FIR 数字滤波器的 FPGA 实现
2007 年
实现硬件乘法运算的最基本的方式是移位相加 乘法器[3]. 其乘法原理是: 乘法 通 过 逐 项 移 位 相 加 原 理来实现, 从被乘数的最低位开始, 若为 1, 则乘数 左移后与上一次的和相加; 若为 0, 左移后以全零相 加, 直至被乘数的最高位[4].
移位相加通过将卷积运算转换为加减法运算, 例如 y(n)=x(1)h(1)+……+x(n)h(n), 将 x(n)由低位起逐 位与 h(n)相乘, 结果则移位相加[5], 其特点是硬件资 源耗用较少, 8 位的乘法器只需要一个 16 位移位寄 存器和一个 16 位加法器即可实现. 但在每个时钟周 期内只能完成一次移位并相加的操作, 也就是说一 个 8 位乘法器需要 8 个时钟周期才能完成.
采 用 4 bit 输 入 , 11 bit 输 出 , 乘 法 器 采 用 加 法 器
树方 式实 现. 利 用 Quartus II 进 行 仿 真 , 可 以 看 到
对称型和直接型两种实现方式的结果是一致的 ( 见图 4) .
将设计项目 综合 到 Stratix 系列 的 EP1S10F484C5 中, 对比两种方式的器件资源使用情况. 由表 1 可 以看出, 对称结构的资源使用相对较少, 这正是由 于线性相位滤波器减少了乘法器数目的结果. 同时 进行时序分析可看出对称结构的时钟频率可达到 165.81 MHz, 而普通直接型结构则只有 145.07 MHz.
a×128 b7
a×64 b6
a×32 b5
a×16 b4
a×8 b3
a×4 b2
a×2 b1
a b0
y=a×b
图 2 加法器树乘法器示意图
图 1 给出了 8 位移 位 相 加 乘 法 器 Quartus II 的 assign out1=a_temp+a_temp1;
仿真波形, 由仿真结果可以看到, 时钟周期为 20 ns assign out2=a_temp2+a_temp3;
进行优化, 使执行效率得到了较大提高.
2 改进方法
1 基本的 FIR 滤波器的实现算法
2.1 优化乘法器结构
FIR 滤波器( 有限冲激响应滤波器) 的直接型输
乘法器的速度影响着整个系统的速度, 如果可
N- 1
! 出 y( n) 为: y( n) = h( i) x( n- i) . i=0
以实现快速乘法器的设计, 则可以大大提高整个系 统的速度[2].
相关文档
最新文档