FPGA实现FIR抽取滤波器的设计之欧阳家百创编
基于FPGA 的FIR 滤波器的实现
基于FPGA的FIR滤波器的实现作者:天津大学电子信息工程学院(300072)郭继昌向晖滕建辅李香萍来源:《电子技术应用》摘要:提出了一种采用现场可编程门阵列器件FPGA并利用窗函数法实现线性FIR数字滤波器硬件电路的方案,并以一个十六阶低通FIR数字滤波器电路的实现为例说明了利用Xilinx公司XC4000系列芯片的设计过程。
设计的电路通过软件程序进行了验证和硬件仿真,结果表明电路工作正确可靠,能满足设计要求。
关键词: FPGA FIR数字滤波器窗函数全加器随着微电子技术的发展,采用现场可编程门阵列FPGA进行数字信号处理得到了飞速发展。
由于FPGA具有现场可编程的特点,可以实现专用集成电路,因此越来越受到硬件电路设计工程师们的青睐。
本文研究了基于FPGA的FIR数字低通滤波器硬件电路的实现方法。
用这种方法实现的滤波器内部电路结构透明化,并减小了体积,提高了工作效率。
1用窗函数法设计线性相位FIR滤波器的方法傅立叶系数h(n)实际上就是数字滤波器的冲激响应。
获得有限冲激响应数字滤波器的一种可能方法就是把式(1)的无穷级数截取为有限项级数来近似,而众所周知的吉布斯现象使得直接截取法不甚令人满意。
窗函数法是用被称为窗函数的有限加权序列{w(n)}来修正式(2)的傅立叶系数,以求得要求的有限选用汉宁(Hnnning)窗作为窗函数,函数如式(6)所示。
2十六阶FIR低通数字滤波器硬件电路设计下面以一个十六阶FIR低通滤波器为例说明硬件电路的设计方法和过程。
2.1 设计指标和参数提取2.1.1 设计指标截止频率:37.5kHz类型:低通输入数据宽度:8位阶数:16阶输出数据宽度:16位2.1.2 参数提取采用上面介绍的低通滤波器的频率响应函数和汉宁窗函数进行设计。
计算出的符合设计指标的线性相位16阶FIR数字低通滤波器的特性参数如下:h[0]=h[15]=0.000000 h[1]=h[14]=0.001992h[2]=h[13]=0.008241 h[3]=h[12]=0.018332h[4]=h[11]=0.030784 h[5]=h[10]=0.043353h[6]=h[9]=0.053550 h=[7]=h[8]=0.0592572.2 单元电路设计FIR低通数字滤波器电路分为数据位扩展、并串转换器、移位寄存器组、前加单元、中间处理单元、后处理单元以及控制单元等部分,其构成框图如图1所示。
基于FPGA的FIR滤波器设计
FIR滤波器设计1项目背景1.1FIR和IIR滤波器FIR(Finite Impulse Response)Filter:有限冲激响应滤波器,又称为非递归线性滤波器。
FIR滤波器,顾名思义,其脉冲响应由有限个采样值构成。
长度(抽头数)为N、阶数为N−1的FIR系统的转移函数、差分方程和单位冲激响应分别如下列三式所示。
图510IIR(Infinite Impulse Response)Filter:无限冲激响应滤波器,又称为递归线性滤波器。
FIR相对与IIR来说,具有如下的优点:可以具备线性相位特性线性相位的概念:如果滤波器的N个实值系数为对称或者反对称结构,该滤波器具有线性相位。
W(n)=±W(N−1−n)W(n)=±W(N−1−n)线性相位的特性:通过线性相位滤波器的信号的所有频率部分具有相同的延迟量。
易于设计但FIR也有自身的缺点:同样指标的滤波器,FIR需要更多的参数,即实现时消耗更多的计算单元,产生更大的延迟。
1.2FIR滤波器的原理信号通过一个FIR滤波器其实就是信号与FIR滤波器的系数进行卷积(即乘累加)的过程。
我们以一个简单信号模型为例,了解一下FIR波形器的原理。
现在有三组信号,分别是:信号1:低频信号,即在时域上变化慢的信号,其输入先后为11112222。
信号2:直流信号,其输入先后为1111111。
信号3:高频信号,即在时域上变化快的信号,其输入先后为12121212。
简单的滤波器模型低通滤波器:11信号1与低通滤波器进行卷积运算,其结果再除以2,得到如下数据:111 1.5222。
可以看到,低频信号经过低通滤波器后,各个点仍然保持了其形状,而且在1变成2时,还变平缓了。
信号2与低通滤波器进行卷积运算,其结果再除以2,得到如下数据:1111111。
可以看到,直流信号与输入的信号完成相同。
信号3与低通滤波器进行卷积运算,其结果再除以2,得到如下数据:1.5 1.5 1.5 1.5 1.5 1.51.5。
FPGA的FIR抽取滤波器设计
FPGA的FIR抽取滤波器设计用FPGA实现抽取滤波器比较复杂,主要是因为在FPGA中缺乏实现乘法运算的有效结构,现在,FPGA中集成了硬件乘法器,使FPGA在数字信号处理方面有了长足的进步。
本文介绍了一种采用Xilinx公司的XC2V1000实现FIR抽取滤波器的设计方法。
具体实现结构设计基于抽取滤波器的工作原理,本文采用XC2V1000实现了一个抽取率为2、具有线性相位的3阶FIR抽取滤波器,利用原理图和VHDL共同完成源文件设计。
图1是抽取滤波器的顶层原理图。
其中,clock是工作时钟,reset是复位信号,enable是输入数据有效信号,data_in(17:0)是输入数据,data_out(17:0)是输出数据,valid是输出数据有效信号。
adder18是加法器模块,mult18是乘法器模块,acc36是累加器模块,signal_36to18是数据截位器模块,fir_controller是控制器模块。
控制器定时向加法器、乘法器和累加器发送数据或控制信号,实现流水线操作。
图1 抽取滤波器顶层原理图控制器控制器是抽取滤波器的核心模块,有两个功能:一是接收输入数据,二是向其它模块发送数据和控制信号。
它根据加法器、乘法器和累加器的时序特性,有规律地向加法器发送抽头数据,向乘法器发送系数,向累加器发送控制信号,让加法器、乘法器和累加器在每个时钟周期都完成指定的任务,从而实现流水线操作。
控制器用VHDL语言描述,用寄存器存放抽头和系数。
加法器加法器的输入和输出都是18 bit,用VHDL语言描述实现。
它有两个工作时钟的延迟,在输入数据准备好的情况下,第一个时钟得出相加结果,第二个时钟把相加结果锁存输出。
乘法器乘法器为18 bit输入,36bit输出,用库元件MULT18X18S和36 bit锁存器实现。
MULT18X18S是XC2V1000自带的18×18bit硬件乘法器,单个时钟就可完成乘法运算。
基于FPGA乘法器的FIR滤波器系统设计
基于FPGA乘法器的FIR滤波器系统设计FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,可以根据设计者的需求和要求进行编程,实现各种数字电路功能。
FIR (Finite Impulse Response)滤波器是一种常用的数字滤波器,其特点是能够对输入信号的有限长度的响应进行滤波处理。
本文将介绍基于FPGA乘法器的FIR滤波器系统设计。
首先,介绍FIR滤波器的原理。
FIR滤波器是一种线性时不变系统,其输出信号由输入信号的加权和组成。
FIR滤波器的输入经过一串系数的加权运算后,得到滤波器的输出。
FIR滤波器的传输函数为:H(z) = b0 + b1*z^(-1) + b2*z^(-2) + ... + bn*z^(-n)其中,bi是滤波器的系数,n是滤波器的阶数,z为单位延迟。
FIR 滤波器的输出信号可以表示为:y(n) = b0*x(n) + b1*x(n-1) + b2*x(n-2) + ... + bn*x(n-n)其中,x是输入信号,y是输出信号。
FIR滤波器的阶数决定了滤波器的性能,阶数越高,滤波器的频率响应越陡峭。
接下来,介绍基于FPGA乘法器的FIR滤波器系统设计。
FPGA乘法器是FPGA中的一种硬件资源,通常用于实现乘法运算。
FPGA乘法器的乘法操作可以并行地执行,可以大大提高FIR滤波器的运算速度。
在设计基于FPGA乘法器的FIR滤波器系统时,首先需要确定FIR滤波器的阶数和系数。
根据滤波器的需求,可以选择不同的阶数和系数。
然后,根据FIR滤波器的传输函数,可以将其转化为差分方程形式。
差分方程形式如下:y(n) = b0*x(n) + b1*x(n-1) + b2*x(n-2) + ... + bn*x(n-n)然后,将差分方程形式转化为数据流形式。
数据流形式中的每一步计算只涉及到少量的数据,可以并行地执行。
数据流形式如下:y(n) = b0*x(n) + b1*x(n-1) + b2*x(n-2) + ... + bn*x(0)接下来,需要将数据流形式转化为硬件电路。
基于FPGA的FIR滤波器设计与实现
目录引言 (4)第一章FPGA的设计流程 (5)1.1 FPGA概述 (5)1.2 FPGA设计流程 (9)1.3硬件描述语言HDL(Hardware Description Language) (10)1.4 FPGA开发工具Quartus Ⅱ软件设计流程 (13)第二章有限冲激响应(FIR)滤波器的原理及设计 (16)2.1数字信号处理基础原理 (16)2.2 FIR滤波器背影知识 (19)2.3 FIR数字滤波器原理 (21)2.4 利用窗函数法设计FIR滤波器 (26)第三章FIR 数字滤波器的FPGA实现 (31)3.1串行FIR滤波器原理 (31)3.2分布式算法基础 (32)3.3直接型FIR滤波器的原理结构图 (34)3.4具有转置结构的FIR滤波器 (36)第四章结论与总结 (40)谢辞 (42)参考文献 (43)摘要:本论文课题是《基于FPGA的FIR滤波器设计与实现》。
数字滤波器是语音与图象处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和线性相位的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。
有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。
因此在许多应用领域都显示了强大的生命力,具有重要应用意义。
本文介绍了用VHDL实现线性相位FIR(有限长单位冲激响应)滤波器。
提出了一种基于FPGA的FIR滤波器设计方案。
介绍了基于FPGA的FIR滤波器的数字信号处理的算法设计,采用直接型和转置型的基本结构来设计,其运算效率明显提高,并结合先进的EDA软件进行高效的设计和实现,并给出了用Quartus Ⅱ运行的仿真结果。
该设计对FPGA硬件资源的利用高效合理,用VHDL编程,在PFGA中实现了高采样率的FIR滤波器。
关键字:FIR滤波器;FPGA;VHDL;MATLAB;Quartus ⅡAbstract:Digital filter is a fundamental device used in pronunciation &pattern process, pattern-recognition, radar signal processand spectral analysis. It can meet the high needs to range andphase, and can avoid such problems as voltage drifting,temperature drifting and noise that analogue filters cannotovercome. FIR filter can assure a strict linear phase identitywhile designing any range and frequency. Therefore, FIR filterhas shown its strong vitality in many fields and its importancein using. In the paper, the way to use VHDL to design linearphase FIR filter is introduced and its importance in using. Inthe paper, the way to use VHDL to design linear phase FIRfilter is introduced and its designing thoughts are expounded.This paper introduces the design scheme of FIR filter based onFPGA, introduces that the design technology of FIR filterbased on FPGA about digital system processing arithmetic.FIR filter adopts the basic structure of direct type, the resultare shifting and adding. Integrating advanced software of EDAto design and achieve, and giving some emulator results. Thisdesign makes high use of hardware resource about FPGA,programming with VHDL language, achieving FIR filter withhigh sampling level based on PDGA.Keywords: Finite Impulse Response Digital Filter(FIR)、FieldProgrammable Gate、Array(FPGA)、VHDL、Quartus Ⅱ引言在数字信号处理技术不断发展的今天,数字滤波器正在迅速地代替传统的模拟滤波器,所以有越来越多的人们在研究数字滤波器的结构以及其实现。
FPGA的FIR抽取滤波器设计
FPGA的FIR抽取滤波器设计
用FPGA 实现抽取滤波器比较复杂,主要是因为在FPGA 中缺乏实现乘法运算的有效结构,现在,FPGA 中集成了硬件乘法器,使FPGA 在数字信号处理方面有了长足的进步。
本文介绍了一种采用Xilinx 公司的XC2V1000 实现FIR 抽取滤波器的设计方法。
具体实现
结构设计
基于抽取滤波器的工作原理,本文采用XC2V1000 实现了一个抽取率为2、具有线性相位的3 阶FIR 抽取滤波器,利用原理
控制器
控制器是抽取滤波器的核心模块,有两个功能:一是接收输入数据,二
是向其它模块发送数据和控制信号。
它根据加法器、乘法器和累加器的时序特性,有规律地向加法器发送抽头数据,向乘法器发送系数,向累加器发送控制信号,让加法器、乘法器和累加器在每个时钟周期都完成指定的任务,从而
实现流水线操作。
控制器用VHDL 语言描述,用寄存器存放抽头和系数。
加法器
加法器的输入和输出都是18 bit,用VHDL 语言描述实现。
它有两个工作时钟的延迟,在输入数据准备好的情况下,第一个时钟得出相加结果,第二
个时钟把相加结果锁存输出。
乘法器
乘法器为18 bit 输入,36bit 输出,用库元件MULT18X18S 和36 bit 锁存器实现。
MULT18X18S 是XC2V1000 自带的18 乘以18bit 硬件乘法器,单个时钟就可完成乘法运算。
36 bit 锁存器工作于时钟的上升沿,用VHDL 语言。
基于FPGA的可调节FIR滤波器的设计与实现
D e s i g பைடு நூலகம் o f a d j u s t a b l e F I R f i l t e r b a s e d o n F P G A
Zh e n g Ya n f a ng , T a n g Ha i di , Li Xu e b a o
在F P G A上 实现 , 而且 由于 F P G A具有 天然 的并行 性 , 实 际的通 信 系统 中可 以采 用并 发模 式进 行 , 达 到提 高信 号传 送速 率的 目
的。
关 键词 : 可调 F I R滤 波器 ; F P G A; F — O F D M
中图分 类号 : T N 7 1 3+. 7
文 献标识 码 : A
D O I :1 0 . 1 9 3 5 8 / j . i s s n . 1 6 7 4 — 7 7 2 0 . 2 0 1 7 . 0 4 . 0 0 9
引 用格 式 : 郑艳 芳 , 唐海 娣 , 李雪 宝 . 基于 F P G A 的可调节 F I R滤 波器 的设计 与实 现 [ J ] . 微型机 与应 用 , 2 0 1 7 , 3 6 ( 4 ) : 2 9 — 3 1 , 3 5 .
摘 要 : 基 于灵 活 自适 应 的空 口波形 技 术 F - O F DM( F i l t e r e d O F D M) 是现 代 通 信 技 术 的研 究热 点 , 设 计 并 实现 可调 F I R 滤波 器 是 实现 该技 术 的核 心工作 之一 。本 文设计 的基 于 F P G A 的 可调 节 F I R滤 波 器 系数 的 自适 应 调整 是 通 过 控 制算 法 对信 道 中的 信 号进 行 快速检 测 , 然后 将 结果和 滤 波器 的输 出结果进 行 差值计 算进 行反馈 调 节。利 用 Q u a r t u s I I 和D S P B u i l d e r 设计 基 于 F P — G A的 1 6阶 系数 可调 F I R滤 波 器 , 给 出核 心模块 的设 计 电路 图和仿 真结 果。仿 真结 果表 明 : 基 于灵 活 自适应 空 口波 形技 术可 以
基于FPGA 的FIR 数字滤波器设计方案
基于FPGA 的FIR 数字滤波器设计方案本文简要介绍了FIR 数字滤波器的结构特点和基本原理,提出基于FPGA 和DSP Builder 的FIR 数字滤波器的基本设计流程和实现方案。
在Matlab/Simulink 环境下,采用DSP Builder 模块搭建FIR 模型,根据FDATool 工具对FIR 滤波器进行了设计,然后进行系统级仿真和ModelSim 功能仿真,其仿真结果表明其数字滤波器的滤波效果良好。
通过SignalCompiler把模型转换成VHDL 语言加入到FPGA 的硬件设计中,从QuartusⅡ软件中的虚拟逻辑分析工具SignalTapⅡ中得到数字滤波器实时的结果波形0 引言在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。
通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而实现时域或频域中信号属性的改变。
常用的数字滤波器可分为有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器两种。
其中,FIR 数字滤波器具有严格的线性相位,而且非递归结构也保证了运算的稳定性。
在实时性要求比较高的应用场合,采用可编程芯片FPGA 加以实现,相比于DSP 芯片或专用芯片的实现方法,具有高速、高精度、高灵活性的优点。
本文在采取了一种基于FPGA 和DSP Builder 的方法设计FIR 数字滤波器时,采用了层次化、模块化的设计思想,遵循DSP Builder 的设计开发流程,在Matlab/Simulink 中建立模型并进行系统级仿真,再进行Verilog 语言转换,ModelSim 仿真验证无误后实现了FIR 数字滤波器的实时测试。
1 FIR 数字滤波器的基本原理及结构对于一个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数字滤波器以其良好的线性特性被广泛使用,属于数字信号处理的基本模块之一。
在工程实践中,往往要求对信号处理要有实时性和灵活性,而己有的一些软件和硬件实现方式则难以同时达到这两方面的要求。
随着可编程逻辑器件和FDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR 滤波器。
本文对基于FPGA的FIR数字滤波器实现进行了研究。
主要工作如下:(1)以FIR数字滤波器的基本理论为依据,使用分布式算法为滤波器的硬件实现算法,并对其进行了详细的讨论。
针对分布式算法中查找表规模过大的缺点,采用多块查找表和OBC编码方式使得硬件规模极大的减小。
(2)在设计中采用了层次化、模块化的设计思想,将整个滤波器划分为多个功能模块,利用VHDL语言和原理图输入两种设计技术进行了各个功能模块的设计,最终完成了FIR数字滤波器的系统设计。
(3)最后给出了采用FLEX10K系列器件实现一个16阶的FIR低通滤波器的设计实例,用QuartusII软件进行了仿真,并对仿真结果进行了分析,证明所设计的FIR数字滤波器功能正确。
仿真结果表明,本论文设计的滤波器硬件规模较小,采样率达到了8.8MHz。
同时只要将查找表进行相应的改动,就能分别实现低通、高通、带通FIR滤波器,体现了设计的灵活性。
关键词:FIR数字滤波器;FPGA;分布式算法;OBC编码;查找表Design of the FIR Digital Filter Based on FPGAAbstractIn the modern electrical system,the FIR digital filter is used form any practical applications for its good linear phase character, and it provide an important function in digital signal processing design. In engineering practice, there is always a real-time and flexible requirement for signal processing. However, software and hardware techniques available for implementation are difficult to meet the demand for the two aspects in the same time. Along with the development of PLD device and EDA technology, more and more electrical engineers use FPGA to implement FIR 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. The work mainly as follow:(1) According to the basic theory of FIR filters, a scheme of hardware implementation is worked out using distributed arithmetic algorithm. As the scale of the LUT in the distributed arithmetic algorithm is so large, the thesis reduces it with the use of multiple coefficient memory banks.(2) From the clew of implementing a top-down stratified, modular design, the thesis describes the hard ware design of all functional modules and the FIR system with the VHDL and schematic diagram design methods.(3) At last, a sixteen-tapped low-pass FIR filter is taken as an example, and the simulation design carried out using QuartusII. And analyzed the result, and it proved that the function of the design is correct.The result of the simulation indicates that the scale of the design is small, and the sample rate of the FIR filter can reach 8.8MHZ.Modifying the LUT can realize the low-pass, high-pass and band-pass FIR filters respectively, and incarnates the flexibility of the design.Key words:FIR digital filter;FPGA;Distributed Arithmetic;Offset-Binary Coding;LUT目录毕业设计(论文)任务书 (I)摘要............................................................................................................................... I I Abstract. (III)第1章绪论 (1)1.1 本课题的研究意义和应用背景 (1)1.2 国内外的研究现状 (1)1.3 研究思路 (3)1.4 本论文的主要内容和主要工作 (4)第2章FIR数字滤波器简介 (5)2.1 FIR数字滤波器 (5)2.1.1 数字滤波器的概述 (5)2.1.2 FIR滤波器的原理 (6)2.1.3 FIR滤波器的基本结构 (7)2.1.4 线性相位FIR数字滤波器的系统结构 (7)2.1.5 FIR数字滤波器的设计方法 (8)2.2 实现FIR数字滤波器的硬件算法——分布式算法 (10)2.2.1 分布式算法 (10)2.2.2 分布式算法的优化 (12)第3章EDA技术和可编程逻辑器件 (17)3.1 EDA技术 (18)3.2 EDA技术的主要内容 (18)3.2.1 大规模可编程器件 (18)3.2.2 硬件描述语言VHDL (19)3.3 基于EDA技术的“自顶向下”的设计方法 (21)3.4 基于EDA技术的电子电路设计流程 (21)3.5 可编程逻辑器件 (23)3.5.1 可编程逻辑器件简介 (23)3.5.2 使用FPGA器件进行开发的优点 (24)3.5.3 FPGA设计的开发流程 (25)3.6 FLEX10K系列芯片介绍 (26)3.6.1 FLEX10k的结构 (27)3.6.2 FLEX10K系列器件的特点 (28)3.7 开发工具QuartusII介绍 (28)第4章FIR滤波器的设计与仿真 (29)4.1 FIR滤波器的模块划分 (29)4.1.1 滤波器模块的划分 (29)4.1.2 方案确定 (29)4.2 FIR滤波器各模块功能的实现 (30)4.2.1 控制模块 (30)4.2.2 输入模块 (31)4.2.3 乘累加模块 (33)4.2.4 锁存模块 (35)4.2.5 顶层设计 (35)4.3 FIR数字滤波器的系统设计 (36)4.4 FIR滤波器的综合 (44)4.4.1 数字系统综合概述 (44)4.4.2 本设计的综合 (44)4.5 FIR滤波器各模块的仿真 (46)4.5.1 控制模块的仿真 (46)4.5.2 输入模块时序仿真 (47)4.5.3 乘累加模块时序仿真 (50)4.5.4 锁存模块时序仿真 (53)第5章结束语 (51)5.1 总结 (51)5.2 展望 (51)参考文献 (68)致谢 (70)附录 (I)第1章绪论1.1本课题的研究意义和应用背景几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。
基于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滤波器设计与实现
单片机与可编程器件图2图1图3微电子技术和计算机技术的飞速发展,使得现代电子系统的设计和应用进入一个全新的时代,基于FPGA的数字系统设计在现代电子系统的设计和应用中占据了越来越重要的作用。
FPGA芯片由底层可编程硬件单元、Block Ram资源、布线资源、可配置I/O单元及时钟资源等构成。
底层可编程硬件单元一般由触发器(FF)和查找表(LUT)组成,FPGA规模大、频率高,寄存器、触发器资源多,在现代数字系统中比较适合实时性要求高、频率快的系统。
在数字系统中,滤波器的设计是数字信号处理的重要一环,关系到整个数字系统的性能好坏,因此在基于FPGA的数字系统中,滤波器的设计显得尤为重要。
本文以Xilinx公司100万门的V2系列FPGA芯片为例,对滤波器的多种实现方式作一个详细的探讨,为了方便起见,在示例中,滤波器全部采用对称系数FIR滤波器。
1.集成滤波器的分类Xilinx公司的V2系列芯片中,为了方便用户设计滤波器,在IPCore中集成了通用数字滤波器的设计。
打开CORE Generator,就可以看到利用IPCore可以生成级联型积分梳状滤波器、分布算术式FIR滤波器(以下简称DA滤波器)及乘累加式FIR滤波器(以下简称MAC滤波器)等三种滤波器。
用户在设计这三种滤波器时,通过它简单明了的界面,可以方便地生成各种所需的滤波器形式,操作起来非常自如,节省了用户大量的时间和精力,在很大程度上满足了用户的需求。
下面以常用的FIR滤波器为例,仔细讨论DA滤波器和MAC滤波器的不同适用情况。
2.滤波器设计及其占用资源情况以通用单速率滤波器为例,滤波器与外部接口是:主处理时钟clk、输入数据标志ND(高有效)、输入数据din、滤波器可以接收新数据标志RFD(高有效)、输出数据dout、输出数据标志RDY(高有效)。
其中RFD在ND信号有效时,会自动变为低电平,此时不能接收新数据,当滤波器内部完成计算,此时RFD变为高电平,可以重新接收新数据。
基于FPGA的FIR滤波器系统的设计
针对 F R滤 波器 电路 系 统 , 计 了一个 与 之 I 设 专 门配套 的 串 口通 信 软 件 , 软件 能 读 取 串 口数 该 据 , 把 串 口数 据保 存在 以 D T为 后 缀名 的文 件 并 A
个滤 波 系数 , 这些 滤波 系数 来 生成 FR低 通滤 用 I
波器 。
2 FR滤波器 系统硬 件设计 I
F r f r ,% 1. fn ,of) pi ( d ’ 60\ ’ce ; n i
FR滤波器 硬件 电路 主要 由 A D转换 器 、 P I / F—
F l e r ) c s( d ; o i
图 2 F a o 导 出 系数 窗 口 dt l o
在 图 2的 菜单 中 点击 E p r 这 样 就 可 以对 x ot , 系 数 进 行 量 化 。 在 窗 口 中 输 入 “ of ce f=ru d o n
1 2 FR滤波器 系数 的产 生 。 I
F A ol Fl r D s n & A a s ro )是 D T o ( ie ei t g nl i r 1 ys 0
正弦信号进行 A D转换 , / 然后送至 F G P A内部进
一
步处 理 。本 设 计 中采 用 了 A D公 司 的 高性 能
A D转 换 芯 片 A 7 9 , D 6 1每 秒 可 采 样 2 / D 6 1 A 79 5 万 次具有 1 bt 8 i的线性度 ,8位 的串行 数据 输 出 , l 采用 2 7 . V或 5 V单 电源 供 电。与 A I 司推 出 D公 l i 6b t和 1 i 单 端 到 差 分 A C 驱 动 器 8 bt的 D A A 9 11配 合 使 用 , D 4 4 — D 44 - A A 9 11与 A 7 9 D 6 1的 外 围电路连 接 如 图 4 5所 示 , D 4 4 — 、 A A 9 11是一 款 低功耗 、 噪声 差分 驱 动器 。它 采 用易 于 使用 的 低
基于FPGA的FIR滤波器设计
基于FPGA的FIR滤波器设计一、设计目的为了帮助学生深入理解和消化基本理论、进一步提高综合应用能力并且锻炼独立解决问题的能力,我们将《数字信号处理》、《集成电路原理与应用》和《《FPGA 系统设计与应用》几门课程融合在一起开设的FPGA综合实验课程设计。
本次完成的是利用FPGA来完成FIR滤波器的设计、程序设计和实验调试任务。
二、设计要求(1)基本要求利用所学知识,采用VHDL语言完成FIR滤波器的设计仿真。
要求用VHDL 编程设计底层文件,顶层文件可任意(可用原理图方式或文本方式);完成仿真文件(包括MATLAB和QUARTUSII两种仿真)并对其结果比较。
具体设计指标如下:(1)采样频率SF=80KHz;(2)截止频率KHzFC10=;(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 平面上不存在极点,其运算结构中不存在反馈支路,即没有环路。
基于FPGA的FIR滤波器设计论文
基于FPGA 的FIR 滤波器设计数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
数字滤波器是一个离散系统,该系统能对输入的离散信号进行处理,从而获取所需的有用信息。
在数字信号处理中,FIR 数字滤波器是最常用的单元之一。
它用于将输入信号x [n ]的频率特性进行特定的修改,转换成另外的输出序列y [n ]。
FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
有限长脉冲响应(FIR )滤波器的系统函数只有零点,除原点外,没有极点,因而FIR 滤波器总是稳定的。
如果他的单位脉冲响应是非因果的,总能够方便的通过适当的移位得到因果的单位脉冲响应,所以FIR 滤波器不存在稳定性和是否可实现的问题。
它的另一个突出的优点是在满足一定的对称条件时,可以实现严格的线性相位。
由于线性相位滤波器不会改变输入信号的形状,而只是在时域上使信号延时,因此线性相位特性在工程实际中具有非常重要的意义,如在数据通信、图像处理等应用领域,往往要求信号在传输和处理过程中不能有明显的相位失真,因而线性相位FIR 滤波器得到了广泛的应用。
长度为M 的因果有限冲激响应滤波器由传输函数H (z )描述:10()()M k k H z h k z --==∑它是次数为M-1的z -1的一个多项式。
在时域中上述有限冲激响应输入输出关系为:10()()()M k y n h k x n k -==-∑其中y (n )和x (n )分别是输出和输入序列。
有限冲激响应滤波器的一种直接型实现,如图所示。
通常一个长度为M 的有限冲激响应滤波器由M 个系数描述,并且需要M 个乘法器和(M-1)个双输入加法器来实现。
基于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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FPGA实现FIR抽取滤波器的设计
欧阳家百(2021.03.07)
FIR(fini te impulse response)滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,系统稳定。
因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
在工程实践中,往往要求对信号处理要有实时性和灵活性,而已有的一些软件和硬件实现方式则难以同时达到这两方面的要求。
随着可编程逻辑器件的发展,使用FPGA 来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。
1 FIR滤波器工作原理
在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,使之成为8bit的数字信号,一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR 滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。
FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导
的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。
2 16阶滤波器结构
在滤波过程中实现抽取,对于抽取率为N的抽取滤波器而言,当进来N个数据时滤波器完成1次滤波运算,输出1次滤波结果。
抽取滤波器的结果和先滤波后抽取的结果是一致的,只是对于同样的数据,进行滤波运算的次数大大减少。
在数字系统中采用拙取滤波器的最大优点是增加了每次滤波的可处理时间,从而达到实现高速输入数据的目的。
采样数据与滤波器系数在控制电路的作用下,分别对应相乘并与前一个乘积累加,经过多次(有多少阶就要多少次)反复的乘累加最后输出滤波结果,将相同系数归类,16阶滤波器公式:
乘法器的数量减少一半,但加法器的数量增多了,但相对乘法运算来说,加法运算所占用的资源少的多,运算的速度也快得多。
3 滤波器系数的求取
使用Matlab集成的滤波器设计工具FDAtool,可以完成多种滤波器的数值设计、分析与评估,设计16阶低通滤波器参数如下:
采样频率:Fs为50MHz,滤波器归一化截止频率:Fc为0.4MHz,输入数据位宽:8位,输出数据宽度:16位FDAtool
采用汉宁窗函数(Hanning)设计16阶线性相位FIR数字滤波器,并提取其特性参数h(n)浮点数值。
MATLAB中算出的系数h(n)的值是一组浮点数,进行浮点值到定点值的转换,用16位二进制补码表示为
滤波器抽头数是16个,考虑到线性FIR滤波器的偶对称特性,只考虑8个独立滤波器抽头数,则需要一个28×8的表(其中指数8指的是8个滤波器抽头数,后面的8指的是输入数据的位宽)。
但是Virrex—e FPGA只能提供4输入的杏找表,所以要对查找表的地址进行电路分割。
将8位地址线分为高4位和低4位,分别作为两个24×8的查找表的地址输入,从而指数倍地节省了硬件资源。
4 主程序及仿真
在时钟和计数器的控制下,根据查找表输出结果位权的不同,将输入数据向左移动相应的位数,低位按照位权的不同补上个数相当的“0”,然后将移位数据进行累加操作,输出最终滤波结果,这里的结果依旧是用二进制数据表示的,只是位数因为移位和累加操作增加了8位。
图五移位加法器的波形仿真图
以上便是基于分布式算法的FIR滤波器的三个主要模块的分析,为了能使该滤波器能正常工作,还需要用VHDL语言编写控
制程序,使各模块连接起来,总的来说,该滤波器的实现原理图如下:
图六基于分布式算法的FIR滤波器顶层原理图在FPGA中,不论是基于乘累加的FIR滤波器,还是基于分布式算法的FIR滤波器(包括FIR滤波器的各模块)都是通过VHDL语言编程来实现的。
5 结语
本文所介绍的基于FPGA、采用分布式算法实现FIR滤波器的方法,在提高系统运行速度和节省硬件资源方面具有很大的优势。
基于分布式算法的FIR滤波器结构可以扩展成任意阶数的FIR 滤波器。
而且,通过改变阶数和查找表中的系数,还可以将此设计灵活地运用于实现高通、低通和带阻滤波器,可移植性较好。
因此,这种方法在高速数字信号处理中将有很好的应用前景。