基于FPGA的数字滤波器的设计与实现
- 格式:doc
- 大小:121.00 KB
- 文档页数:3
基于FPGA的数字滤波器的设计与实现数字滤波器是一种非常重要的数字信号处理技术,用于消除输入信号中的噪声,并提高信号品质和可靠性。
FPGA(Field Programmable Gate Array)是一种用于构建数字电路的可编程逻辑器件,因其高度的可定制性、可重构性和高性能而被广泛应用于数字信号处理中。
本文将介绍基于FPGA的数字滤波器的设计和实现,包括滤波器原理、数字滤波器设计方法、FPGA实现技术以及实验结果分析等内容。
一、数字滤波器原理数字滤波器是滤波器的一种,其实现基于数字信号处理技术。
数字滤波器的输入信号是离散时间信号,输出信号也是离散时间信号。
数字滤波器通过在离散时间域上对输入信号进行滤波,实现对输入信号中某些频率成分的滤除或保留。
数字滤波器通常分为FIR(有限脉冲响应)滤波器和IIR(无限脉冲响应)滤波器两类。
FIR滤波器是一种线性相位滤波器,其系统函数是一个有限长度的冲激响应权重系数序列。
FIR滤波器通过对输入信号的每个样本与权重系数的乘积进行累加,输出得到滤波后的信号。
FIR滤波器具有零相位失真、线性相应特性、易于设计、易于实现等优点。
IIR滤波器是一种具有无限脉冲响应的滤波器,其系统函数是一个有理多项式。
与FIR滤波器相比,IIR滤波器具有更高的滤波效率、更低的计算复杂度和更好的逼近性,但也存在稳定性差、相位失真大等问题。
二、数字滤波器设计方法数字滤波器的设计方法主要包括滤波器性能要求的确定、滤波器类型的选择、滤波器设计的数学模型的建立、滤波器参数的计算、滤波器实现等几个方面。
在确定滤波器性能要求方面,需要考虑滤波器的通频带、阻带、通带和阻带带宽、滤波器响应曲线、阶数等方面的参数。
在滤波器类型的选择方面,需要根据滤波器的性能要求、实现难易度、计算复杂度和开销等方面的因素进行综合考虑。
在滤波器设计的数学模型的建立方面,需要根据选定的滤波器类型建立其对应的数学模型。
在滤波器参数的计算方面,需要根据滤波器的数学模型进行参数的计算和优化。
摘要数字信号处理在科学和工程技术等许多领域中得到了广泛的应用,其中数字滤波器是现代数字信号处理系统的重要组成部分。
无限长单位冲激响应(IIR)数字滤波器是非常重要的一类滤波器,与有限长单位冲激响应(FIR)数字滤波器相比,IIR能够以较低的阶次获得较高的频率选择特性从而得到了广泛的应用。
本课题采用一种基于现场可编程门阵列(FPGA)的IIR数字滤波器的设计方案。
首先基于IIR数字滤波器的相关理论知识,研究了IIR数字滤波器的常用设计方法,并分析了各种IIR数字滤波器的实现结构等基本理论,由分析结果确定了所要设计的IIR数字滤波器的实现结构。
然后基于FPGA的结构特点,研究了IIR数字滤波器的FPGA设计与实现,并通过Quartus Ⅱ设计平台,采用自顶向下的模块化设计思想,将整个IIR数字滤波器分为:时序控制、延时、补码乘加和累加四个功能模块。
分别对各模块进行VHDL语言描述,并进行了仿真和综合。
仿真结果表明,本设计的IIR数字滤波器运算速度较快,系数改变灵活,有较好的参考价值。
关键词:数字滤波器;无限长单位冲激响应;现场可编程门阵列;VHDL硬件描述语言ABSTRACTDigital signal processing is widely used in lots of fields, such as in science and project technique, Digital filter is one of the important contents of digital signal process. Infiinite impulse response units (IIR) digital filter is a very important type of filters. With its good characteristic of frequency selection in lower order in comparison with finite impulse response (FIR), IIR digital filter is widely applied in modern signal processing systems. This subject is a IIR digital filter design based on the using of field programmable gate array (FPGA). Firstly, based on the analysis of IIR basic realization architectures and the related theoretic analysis, the design methods of IIR sigital filter has been discussed and the structures of a variety of IIR digital filter which can be realized has been analysised. For the results of the theoretical analysis, the final architecture and realization of IIR digital has been decided, Based on the structural characteristics of FPGA, the FPGA design and realization of IIR digital filter has been researched. By used the design plant of Quartus Ⅱ, we adopt blocking method named “Top-down ” and divide the entire IIR digital filter into four blocks, which are Clock control, Time delay, Multiply-addition and Progression. After described with VHDL,we do emulate and synthesis to each block. The result shows that, the introduced IIR digital filter runs fast, and the coefficient changes agility. It has high worth for consulting.Key Words: Digital filter; infinite impulse response units; field programmable gate array; VHDL hardware description language目录1器件简介 (1)2 IIR数字滤波器的相关理论 (4)2.1 IIR滤波器的基本理论 (4)2.1.1 IIR数字滤波器的幅频特性 (5)2.1.2 IIR数字滤波器的相频特性 (7)2.2 IIR数字滤波器的实现结构 (7)2.2.1 直接型结构 (7)2.2.2 级联型结构 (8)2.2.3并联型结构 (10)2.3 数字滤波器的有限字长效应理论 (10)2.3.1 数字表示 (11)2.3.2 输入量化 (12)2.3.3 系数量化 (13)2.3.4 乘积量化 (17)2.3.5 极限环 (19)3 IIR数字滤波器的分析设计 (21)3.1 IIR数字滤波器的模拟转换设计法 (21)3.2 IIR数字滤波器的S-Z变换设计 (21)3.2.1标准Z变换 (22)3.2.2双线性Z变换 (24)3.3 IIR数字滤波器的零极点累试法 (25)3.4 优化设计法 (25)3.5 IIR数字滤波器的硬件实现方案 (25)4 EDA技术和可编程逻辑器件 (30)4.1 电子设计自动化EDA技术 (30)4.2 可编程逻辑器件 (30)4.2.1 FPGA概要 (31)4.2.2 FPGA设计语言 (31)4.2.3 FPGA开发环境 (32)5 IIR数字滤波器的设计与仿真结果分析 (33)5.1 各模块的设计与仿真结果分析 (33)5.1.1 时序控制模块的设计与仿真结果分析 (33)5.1.2 延时模块的设计与仿真结果分析 (34)5.1.3 补码乘加模块的设计与仿真结果分析 (35)5.1.4 累加模块的设计与仿真结果分析 (36)5.1.5 顶层模块设计 (36)5.2 IIR数字滤波器的仿真与结果分析 (37)5.2.1 IIR数字滤波器的系统设计 (37)5.2.2 IIR数字滤波器的系统仿真与结果分析 (38)5.2.3 高阶IIR数字滤波器的实现 (39)6 IIR数字滤波器的硬件实现 (40)6.1 IIR数字滤波器的硬件实现平台 (40)6.1.1 硬件结构 (40)6.1.2器件介绍 (41)6.1.3 JTAG链简介 (43)6.1.4 FPGA的配置 (44)6.2 IIR数字滤波器的VHDL设计 (45)6.2.1 接口定义 (45)6.2.2 综合与仿真 (45)6.3 数字滤波器的实现 (45)结束语 (46)参考文献 (47)致谢 (48)附录1 各模块VHDL程序 (49)1器件简介数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
基于FPGA的高速FIR数字滤波器设计的开题报告一、选题意义数字信号处理是一种关键技术,广泛应用于通信、雷达、音视频处理等领域。
而数字滤波器是数字信号处理的重要组成部分之一,用于移除信号中的噪声、加强特定频率成分等。
FIR数字滤波器是一种广泛应用的数字滤波器,它具有运算速度快、实现简单等特点。
FPGA作为一种可编程逻辑器件,具有可重构性、高速度、低功耗、高可靠性等优点,在数字信号处理领域得到了广泛应用。
本课题旨在利用FPGA高性能特点,设计开发一种基于FPGA的高速FIR数字滤波器,满足在特定应用场景下对信号的快速处理需求,具有重要的理论意义和实际应用价值。
二、主要内容1. 对FIR数字滤波器的算法原理进行分析和设计,包括常见的窗函数设计、有限脉冲响应设计等,选择比较优的算法。
2. FPGA数字滤波器的硬件设计,包括数据的输入输出接口、滤波算法实现和时序控制器设计。
3. FPGA数字滤波器的仿真设计,包括基于MATLAB的算法仿真和基于ModelSim的硬件仿真等。
4. FPGA数字滤波器的实现与验证,包括采用相应工具对FPGA数字滤波器进行编译下载,将实验结果与仿真结果进行比较与分析。
5. 对设计的FPGA数字滤波器进行性能测试,包括运算速度、滤波效果等方面的测试,将其结果与已有的数字滤波器进行对比分析。
三、技术路线1. 确定常见的FIR数字滤波器设计算法,并选择较优的算法设计数字滤波器。
2. 设计FPGA数字滤波器的硬件结构,包括输入输出模块、滤波模块和时序控制模块等;并根据所选算法设计硬件逻辑。
3. 采用MATLAB进行设计算法的理论分析,从理论上验证算法的优越性。
4. 采用ModelSim进行硬件电路仿真,进行设计参数调整和错误修正,保证硬件逻辑的正确性和同步性。
5. 采用Quartus II进行编译下载,将设计的FPGA数字滤波器实现于FPGA芯片中,测试其性能。
四、研究难点1. 在设计算法时,需要充分了解各种滤波器设计算法的优缺点,并选择适合特定场景的算法。
基于 FPGA 的数字滤波器设计与实现引言:数字滤波器是现代信号处理的重要组成部分。
在实际应用中,为了满足不同信号处理的需求,数字滤波器的设计与实现显得尤为重要。
本文将围绕基于 FPGA的数字滤波器的设计与实现展开讨论,介绍其工作原理、设计方法以及优势。
同时,还将介绍一些实际应用场景和案例,以展示基于 FPGA 的数字滤波器在实际应用中的性能和效果。
一、数字滤波器的基本原理数字滤波器是一种将输入信号进行滤波处理,改变其频谱特性的系统。
可以对频率、幅度和相位进行处理,实现信号的滤波、去噪、增强等功能。
数字滤波器可以分为无限脉冲响应滤波器(IIR)和有限脉冲响应滤波器(FIR)两种类型。
IIR滤波器是通过递归方式实现的滤波器,其输出信号与过去的输入信号和输出信号相关。
FIR滤波器则是通过纯前馈结构实现的,其输出信号仅与过去的输入信号相关。
两种类型的滤波器在性能、复杂度和实现方式上存在一定差异,根据具体的应用需求选择适合的滤波器类型。
二、基于 FPGA 的数字滤波器的设计与实现FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,通过可编程逻辑单元(PLU)、可编程连线(Interconnect)和可编程I/O(Input/Output)实现。
其可编程性使得 FPGA 成为数字滤波器设计与实现的理想平台。
1. FPGA的优势FPGA具有以下几个优势,使得其成为数字滤波器设计与实现的首选平台:灵活性:FPGA可以根据设计需求进行自定义配置,可以通过修改硬件逻辑来满足不同应用场景的需求。
可重构性:FPGA可以重复使用,方便进行修改和优化,减少芯片设计过程中的成本和风险。
高性能:FPGA具有并行处理的能力,可以实现多通道、高速率的实时数据处理,满足对于实时性要求较高的应用场景。
低功耗:FPGA可以进行功耗优化,通过减少冗余逻辑和智能布局布线来降低功耗。
2. 数字滤波器的实现方法基于 FPGA 的数字滤波器的实现方法主要有两种:直接法和间接法。
基于fpga的数字相敏检波算法实现fpga(Field Programmable Gate Array)是一种非易失可配置逻辑器件,成为当今技术发展的关键产品之一。
近年来,由于其高速处理能力、低功耗、低成本等特点,fpga在数字信号处理领域得到了越来越多的应用。
一种常见的应用就是基于fpga的数字相敏检波算法实现。
在基于fpga的数字相敏检波算法中,首先要实现的是数字滤波器的设计。
这里的滤波器必须能够满足信号处理的时序要求,保证信号有较低的噪声水平。
基于此,一般采用离散傅立叶变换(DFT)进行信号滤波,使用折线拟合技术对滤波系数进行优化,从而获得高质量的滤波结果。
接下来,应该实现的是数字相敏检波的算法。
首先,通过数字滤波器进行数据采样,并将数据转换为频域数据。
然后,为了解决检波问题,把信号进行振幅处理,使噪声的振幅大小小于某一特定阈值,以判断其检波结果。
最后,以系统仿真结果为准,基于fpga实现数字相敏检波算法。
数字相敏检波算法是fpga应用中常用的一种有效方法,它可以将信号进行调制和解调,从而控制信号的振幅。
此外,基于fpga的数字相敏检波算法具有较强的容错性和可靠性,可以提供调制解调以及精确测量等功能,在许多领域得到了广泛的应用。
综上所述,基于fpga的数字相敏检波算法是一种有效的信号处理技术,由于其低功耗、低成本特点,被广泛应用于许多领域。
它可以利用数字滤波器进行数据采样和频域数据转换;利用折线拟合技术优化系统性能;利用振幅处理和判断阈值实现信号检波;利用fpga实现算法,最终达到调制解调以及精确测量等功能。
332023年4月上 第07期 总第403期信息技术与应用China Science & Technology Overview进行相乘后,再积分运算,去除时间无关的干扰信号,获I/O 资源,含一个LTC 1407A 模数转换器和一个收稿日期:2022-10-10作者简介:周钧(1987—),男,壮族,广西南宁人,硕士研究生,工程师、硬件设计师,研究方向:FPGA、网络通信。
基于FPGA 的数字滤波器设计周 钧 樊 闯(中车大连电力牵引研发中心有限公司,辽宁大连 116000)摘 要:本文主要对一种基于FPGA 技术的数字锁相滤波器的设计。
结合Xilinx 开发平台,根据噪声信号非时间相干特性进行数字滤波器设计,在SPARTAN-3E 硬件板上完成了硬件协同仿真测试,同时给出测试结果。
测试结果表明,该数滤波器的消除噪声满足技术要求。
关键词:FPGA ;非时间相干特性;数字滤波图1 数字滤波设计原理342023年4月上 第07期 总第403期信息技术与应用China Science & Technology Overview示器。
示波器Tektronix TPS 2024:带宽为200MHz,最高取样速率:2.0GS/s,具有4个通道。
信号发生器HM-8030:频率50MHz 至10MHz,具备高纯度和幅度稳定性。
3.基于FPGA 的数字滤波器设计3.1 设计框架FPGA 设计框架如图2所示。
块,滤波模块和LCD 显示模块这些二级模块组成;(5)各二级模块根据功能划分,将各自功能用VHDL 进行编码设计。
二级模块经过仿真实现,在顶层模块进行结合,实现一整套系统功能。
3.3.1 模数转换设计ADC 芯片将采集的模拟信号离散化为单个离散采样值。
再将采样值转为数字值,根据板卡搭载的ADC 芯片[4]simulation 仿真产生的模拟信号可以非常接近,但是始图3 测试验证(a)测试1(b)测试2China Science & Technology Overview信息技术与应用0,4 V(max 0,223 V)(max 0,239 V)(max 0,233 V)(max 0,214 V)(max 0,234 V)352023年4月上 第07期 总第403期。
基于FPGA的数字滤波器设计与实现数字滤波器是信号处理中常用的工具,可以通过滤除不需要的频率成分或者增强需要的频率成分对信号进行处理。
在数字信号处理领域,基于FPGA的数字滤波器设计与实现是一项重要的研究课题。
本文将介绍FPGA数字滤波器的设计原理、实现方法和应用领域。
首先,我们来了解一下FPGA(可编程逻辑门阵列)是什么。
FPGA是一种可重构的硬件平台,它由大量的可编程逻辑门电路构成。
相比于传统的ASIC(专用集成电路)设计,FPGA具有更高的灵活性和可重构性,可以实现多种不同的电路功能。
在数字滤波器设计中,FPGA可以用来实现各种类型的滤波器,如低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
FPGA数字滤波器的设计通常包括以下几个步骤:1. 规格定义:确定滤波器的工作频率范围、滤波器类型(如FIR滤波器或IIR滤波器)、滤波器阶数和滤波器的性能指标等。
2. 滤波器设计:根据规格定义,选择适合的滤波器结构和滤波器系数设计方法,如窗函数法、频率采样法或者最小二乘法等。
设计好的滤波器可以通过MATLAB等工具进行模拟验证。
3. 滤波器实现:将滤波器设计转化为可在FPGA上实现的硬件描述语言(如VHDL或Verilog)。
在这个步骤中,需要将滤波器结构转化为逻辑电路,并根据具体的FPGA平台选择适合的资源分配和布局策略。
4. 仿真验证:使用EDA(电子设计自动化)工具对滤波器进行仿真验证,确保其在FPGA上的功能和性能与设计规格一致。
5. 实际实现:将经过仿真验证的滤波器设计烧录到FPGA 芯片中,并进行实际的性能测试。
测试结果可以与仿真结果进行比较,来评估滤波器的实现质量。
FPGA数字滤波器的设计和实现具有以下几个优势:1. 高性能:FPGA提供了大量的逻辑资源和高速IO接口,可以实现复杂的滤波器结构和算法,并能够处理高速数据流。
2. 低功耗:相比于通用处理器,FPGA的功耗较低,可以在不牺牲性能的情况下降低系统的功耗。
基于fpga的滤波器设计与实现基于FPGA的滤波器设计与实现一、引言滤波器是信号处理中常用的一种工具,它可以通过剔除或增强信号中的特定频率分量来改变信号的特性。
而基于FPGA的滤波器是一种利用可编程逻辑器件FPGA来实现滤波功能的方法。
本文将介绍基于FPGA的滤波器的设计与实现过程。
二、滤波器的基本原理滤波器主要通过改变信号的频谱特征来实现滤波效果。
它可以分为两类:低通滤波器和高通滤波器。
低通滤波器通过剔除高频分量,保留低频分量;高通滤波器则相反,剔除低频分量,保留高频分量。
滤波器的设计需要根据具体的需求选择合适的滤波器类型和参数。
三、基于FPGA的滤波器设计与实现基于FPGA的滤波器设计与实现可以分为以下几个步骤:1. 确定滤波器类型和参数:根据实际需求,选择合适的滤波器类型和参数。
例如,如果需要设计一个低通滤波器,需要确定截止频率和滤波器阶数等参数。
2. 数字滤波器设计:将滤波器的模拟设计转化为数字滤波器的设计。
常见的数字滤波器设计方法有FIR滤波器设计和IIR滤波器设计。
FIR滤波器是一种无反馈的滤波器,具有线性相位特性;IIR滤波器则具有反馈结构,可以实现更高阶的滤波器。
3. 将数字滤波器转化为FPGA可实现的结构:将数字滤波器转化为FPGA可实现的结构,可以采用直接形式实现、级联形式实现或者管线化实现等方法。
其中,直接形式实现是最简单直观的方法,但其硬件资源占用较多;级联形式实现可以减少硬件资源的占用,但增加了延迟;管线化实现则可以兼顾硬件资源和延迟。
4. 使用HDL语言进行FPGA设计:使用HDL语言,如VHDL或Verilog,进行FPGA设计。
根据设计的结构和功能,编写相应的HDL代码。
在编写代码时,需要注意代码的可重用性和可维护性,以便后续的设计和调试。
5. 硬件验证和性能优化:完成HDL代码后,进行FPGA的硬件验证和性能优化。
通过仿真和验证,确保设计的正确性和稳定性。
同时,可以根据实际需求对硬件进行优化,如减小资源占用、降低功耗等。
一种基于fpga的farrow滤波器及其实现方法随着数字信号处理技术的飞速发展,FPGA(现场可编程门阵列)因其在并行处理和实时性方面的优势,被广泛应用于通信、雷达等领域。
Farrow滤波器作为一种高效的多速率信号处理工具,也在FPGA上得到了广泛实现。
本文将详细介绍一种基于FPGA的Farrow滤波器及其实现方法。
一、FPGA简介FPGA是一种高度集成的可编程数字逻辑器件,用户可以根据需求对其进行编程,实现各种数字信号处理算法。
FPGA具有灵活性强、开发周期短、并行处理能力强等特点,使其在数字信号处理领域具有广泛的应用前景。
二、Farrow滤波器原理Farrow滤波器是一种基于多项式插值的滤波器,可以实现多速率信号处理。
其核心思想是通过调整插值多项式的系数,实现对信号采样率的转换。
Farrow滤波器具有线性相位、低延迟、低复杂度等优点,适用于通信系统中的多速率信号处理。
三、基于FPGA的Farrow滤波器实现方法1.设计原理基于FPGA的Farrow滤波器实现方法主要包括三个部分:滤波器系数计算、插值操作和滤波操作。
首先,根据所需的插值倍数和滤波器阶数,计算滤波器系数;其次,通过插值操作对输入信号进行上采样;最后,利用计算出的滤波器系数对上采样后的信号进行滤波处理。
2.滤波器系数计算Farrow滤波器的系数计算可以通过多种方法,如最小二乘法、矩阵求逆等。
在实际应用中,可以根据滤波器性能要求和FPGA的资源限制,选择合适的计算方法。
计算得到的滤波器系数需要存储在FPGA的BRAM(块随机存储器)中,以供后续插值和滤波操作使用。
3.插值操作插值操作是Farrow滤波器的核心部分,其主要作用是将输入信号的采样率提高。
在FPGA中,插值操作可以通过流水线技术实现,提高处理速度。
插值倍数可以根据实际需求进行设置,如2倍、4倍等。
4.滤波操作滤波操作是对插值后的信号进行处理,以消除混叠效应和降低噪声。
在FPGA中,滤波操作通常采用分布式算法(DA)实现,以减少资源消耗和功耗。
在信息信号处理过程中,如对信号的过滤、检测、预测等,都要使用到滤波器,数字滤波器是数字信号处理中使用最广泛的一种方法,常用的数字滤波器有无限长单位脉冲响应(IIR)滤波器和有限长单位脉冲响应(FIR)滤波器两种[1]。
对于应用设计者,由于开发速度和效率的要求很高,短期内不可能全面了解数字滤波器相关的优化技术,需要花费很大的精力才能使设计出的滤波器在速度、资源利用、性能上趋于较优。
而采用调试好的IP核需要向Altera公司购买。
本文采用了一种基于DSP Builder的FPGA设计方法,以一个低通的16阶FIR滤波器的实现为例,通过生成的滤波器顶层模块文件与A/D模块文件设计,在联星科技的NC- EDA-2000C实验箱上验证了利用该方法设计的数字滤波器电路工作正确可靠,能满足设计要求。
1 FIR滤波器的参数设计
1.1 设计要求
数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统,它的设计步骤为先根据需要确定其性能指标,设计一个系统函数H(z)逼近所需要的技术指标,最后采用有限精度算法实现。
本系统的设计指标为:设计一个16阶的低通FIR滤波器,对模拟信号的采样频率Fs为48KHz,要求信号的截止频率Fc=10.8kHz,输入序列为宽为9位(最宽位为符号位)。
1.2 FIR滤波器的参数选取
计频率选择性数字滤波器时,通常希望能有近似恒定的频响幅度,并尽量减小通带内的相位失真,斜率为整数的线性相位对应于时域中简单的延时,他在频域中可将相位失真降低到最小的程度[2],用Matlab提供的滤波器设计的专门工具箱--FDAtool仿真设计滤波器,满足要求的FIR滤波器幅频特性,如图 1
所示。
2 数字滤波器的DSP Builder设计
2.1 DSP Builder介绍
DSP Builer是Altera推出的一个数字信号处理(DSP)开发工具,他在Quartus II FPGA设计环境中集成了Mathworks的Matlab和Simulink DSP开发软件[3]。
对DSP Builder而言,包括DSP系统的建模,系统级仿真、设计模型向VHDL硬件描述语言代码的转换、RTL(Register Transfer Level,逻辑综合)级功能仿真测试、编译适配和布局布线、时序实时仿真直至对DSP目标器件的编程配置,整个开发流程几乎可以在顶层的开发工具 Matlab/Simulink同一环境中
完成。
2.2 FIR 滤波器算法模型建立
根据FIR滤波器原理,可以利用FPGA来实现FIR滤波电路,DSP Builder设计流程的第一步是在Matlab/Simulink中进行设计输入,即Matlab的Simulink 环境中建立一个MDL模型文件,用图形方式调用Altera DSP Builder和其他的Simulink库中的图形模块,构成系统级或算法级设计框图(或称Simulink建模)。
2.3 基于DSP Builder的系统级仿真
输入信号采用频率分别为f1=8KHz和f2=16KHz的两个正弦信号进行叠加,其中的仿真波形如图2所示,从FIR滤波电路的仿真结果看出,输入信号通过滤波器后输出基本上变成单频率的正弦信号,至此完成了模型仿真。
3 基于 FPGA的数字滤波器的实现
3.1 运用Modelsim进行功能仿真
在DSP Builder中进行的仿真是属于系统验证性质的,是对MDL文件进行的仿真,并没有对生成的VHDL代码进行过仿真。
事实上,生成VHDL描述是RTL 级的,是针对具体的硬件结构的,这两者之间有可能存在软件理解上的差异,转换后的VHDL代码实现可能与MDL模型描述的情况不完全相符,这就需要针对生成的RTL级VHDL代码进行功能仿真。
我们利用Modelsim来对生成的VHDL代码进行功能仿真。
设置输入输出信号均为模拟形式,出现如图3所示的仿真波形,可以看到这与Simulink里的仿真结果基本一致。
即可在Quartus II环境下的硬件设计[4]。
3.2 在FPGA器件中实现FIR滤波器
用FPGA实现的数字滤波器处理的是数字信号,在实际应用中,首先就要用
A/D转化器对模拟信号进行采样与量化。
传统的方法多数是用CPU或单片机完成的,缺点是控制周期长,速度慢。
而利用同步时序状态机来控制A/D采样是一种既简单可靠,又能显著提高采样周期的行之有效的方法。
在Quartus II环境通过VHDL语言按要求设计该状态机并转换为.bsf文件;打开DSP Builder建立的Quartus II项目文件fir.qpf及fir.vhd并转换为相应的.bsf文件,由此可以得到对应设计的模块,如图4所示,调用这两个模块建立新的顶层原理图文件,在软件环境里通过时序仿真,指定器件管脚、进行编译、最后下载到实验箱的EP1K10TC100-3器件中。
4 结语
用信号发生器产生所要求的两个不同频率的正弦信号,就可以示波器上看到滤波以后的结果,需要设计不同的滤波电路时,仅修改滤波器模型文件就可以实现。
可见在利用FPGA进行数字滤波器的开发时,采用DSP Builder作为设计工具能快捷、可靠地设计实用滤波系统。