基于FPGA的FIR数字滤波器设计与仿真

发布者:游走人间最新更新时间:2009-01-18 来源: 国外电子元器件关键字:FPGA  FIR  数字滤波器 手机看文章 扫描二维码
随时随地手机看文章

1 引言
      实现数字化是控制系统的重要发展方向,而数字信号处理已在通信、语音、图像、自动控制、雷达、军事、航空航天等领域广泛应用。数字信号处理方法通常涉及变换、滤波、频谱分析、编码解码等处理。数字滤波是重要环节,它能满足滤波器对幅度和相位特性的严格要求,克服模拟滤波器所无法解决的电压和温度漂移以及噪声等问题。而有限冲激响应FIR滤波器在设计任意幅频特性的同时能够保证严格的线性相位特性。利用FPGA可以重复配置高精度的FIR滤波器,使用VHDL硬件描述语言改变滤波器的系数和阶数,并能实现大量的卷积运算算法。结合MATLAB工具软件的辅助设计,使得FIR滤波器具有快速、灵活、适用性强,硬件资源耗费少等特点。

2 基本原理 
     
分布式算法(Distributed Arithmetic,简称DA)是一项重要的FPGA技术,广泛应用在计算乘积和之中。该算法基本原理如下:

    一线性时不变网络输出:

  
      设系数c[n]是已知常数,x[n]是变量,在有符号DA系统中假设变量x[n]的表达式为:

   
式中xb[n]为x[n]的第b位,而x[n]也就是x的第n次采样。于是,内积y可以表示为:

   
      分布式算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序。该算法利用一个查找表(LUT)实现映射,即用一个2N字宽、预先编好程序的LUT接收一个N位输入向量xb=[xb[0]],xb[1],…,xb[N-1]]的映射,经查找表的查找后直接输出部分积。与传统算法相比,分布式算法可极大的减少硬件电路的规模,提高电路的执行速度。

3 FIR滤波器的设计与实现
3.1 FIR滤波器系数的提取

      线性相位FIR滤波器通常采用窗函数法设计。这里采用MATLAB窗函数进行设计。窗函数设计的基本思想是要选取某一合适的理想频率选择性滤波器,然后将其脉冲响应截断获得一个线性相位和因果的FIR滤波器。根据给定的滤波器技术指标,选用凯泽(Kaiser)窗设计,其幅频特性和相频特性如图1所示。

      由于从MATLAB算出的系数h(n)的值是一组浮点数,而FPGA器件只是定点数计算,所以要将浮点数转换为定点数。为了获得最佳滤波器系数,转换时需对其进行处理,转换后系


3.2 FPGA实现FIR滤波器
      FPGA采用FLEXlOK系列中的EPF10K10 2C84—3器件。EDA 工具使用QuartusⅡ5.1。使用FIR滤波器描述编程,从而实现FIR滤波器的顶层原理图,如图2所示。

4 FIR滤波器实验电路
      完成FIR滤波器程序设计后,可将程序编译时生成的配置文件下载到选用的器件中,配置后的器件就能够执行FIR滤波器的功能。为了验证设计的FIR滤波器的实际滤波效果,设计了一个实验电路,并利用测试仪器,组成了测试系统,如图3所示。该测试系统包含交流信号发生器、实验电路和示波器。而实验电路包括MD转换电路、FIR数字滤波电路和D/A转换电路,它是整个测试系统的重要部分。

4.1 A/D转换电路
      A/D转换电路可将模拟信号转换为数字信号,其电路如图4所示。该转换电路中选用MAXIM公司的12位逐次逼近式A/D转换器MAXl83,其转换时间为3μs。MAXl83设置为双极性工作模式,模拟信号的输入范围是±5 V。

      交流信号发生器发送的信号从连接器进入转换电路,经运算放大器OP07构成的反向比例放大电路送至MAXl83的模拟信号输入端AINl。在一定时序的控制下,完成将模拟信号转换为数字信号,并将其数字信号XIN[11..0]输出。该A/D转换器MAXl83的模拟信号输入端接入一个单级的RC低通滤波器,它实际上是一个简单的抗混叠滤波器。
4.2 D/A转换电路
      D/A转换电路可将数字输入信号转换为模拟信号,其电路如图5所示。该电路选用MAXIM公司的电压输出型D/A转换器MX7245,其输出的模拟信号为电压信号,并具有12位的数据输入端。电路中,MX7245被配置成双极性工作模式,模拟电压信号的输出范嗣为±5 V。在一定时序的控制下,D/A转换器将输入端接收到的数字信号YOUT[11..0]转换成模拟信号输出。在模拟信号的输出端连接由电阻和电容构成的一个低通滤波器,具有平滑滤波的作用。

4.3 FIR数字滤波电路
      图6给出FIR数字滤波电路。该电路包括高密度可编程逻辑器件、有源品体振荡器、10针插座以及多只电阻和按键开关。这里选用的高密度可编程逻辑器件为AIXERA公司FLEXlOK系列的EPF10K20RC240—3。

      配置的滤波器设计后,利用器件中的剩余资源,即由EPFl0K20RC240—4型FPGA控制A/D转换器和D/A转换器的功能。因此RD、ADCS、WR、LDAC、DACS这些引脚就是用于控制A/D转换器电路和D/A转换器电路的输出引脚。其中,引脚RD、ADCS分别与A/D转换器的引脚RD、CS相连,而引脚WR、LDAC、DACS分别与D/A转换电路的引脚WR、LDAC、CS相连。

5 滤波效果测试
     
将设计的低通滤波器的配置文件下载到器件中进行实际滤波测试,用示波器观察各个频率点上输出信号的幅值大小。由滤波测试结果可知,该FIR滤波电路完全达到低通滤波器5 MHz的采样频率,1.5 MHz的截止频率,以及16阶的技术指标参数。图7为原始波形,图8为滤波后的波形。

 

6 结语
     
研究了在FPGA中采用分布式算法实现FIR滤波器的原理和方法,设计了FIR滤波器并借助Altera公司的FPGA器件和0uartusⅡ软件对设计方案进行仿真验证,测试结果完全能满足系统设计要求。

关键字:FPGA  FIR  数字滤波器 引用地址:基于FPGA的FIR数字滤波器设计与仿真

上一篇:Altium 推出全新CADstar文件导入器
下一篇:基于dsPIC30F的脉冲氙灯驱动系统的设计

推荐阅读最新更新时间:2024-05-02 20:45

FPGA配合预失真技术的解调误码测试仪
  1 引言   工程实践中,我们往往需要对所设计的硬件电路进行设计检验以保证其正常运作,从而才能进一步支持基于该硬件的复杂程序的正确调试。这样,特定的相应测试系统设计就显得尤为重要,不仅可以保证硬件的健康度,更能提高整个调试过程的效率,方便检测出相关错误。针对增补转发系统(Gapfiller)中QPSK解调程序调试的需求,分别对发射及接收电路设计了基于可编程逻辑器件(FPGA)的测试程序。为了保证其更强的纠错性和更可靠的验证能力,测试系统的设计原则应当是愈简易且愈典型为佳。目前国内对于QPSK调制解调的基本原理、具体实现以及解调中所涉及的载波同步问题都已有很深入的研究,而本文对此并不作过多讨论,仅仅是借助于一种昀简易的QPSK调
[测试测量]
<font color='red'>FPGA</font>配合预失真技术的解调误码测试仪
基于SOPC技术的软件无线电系统研究
  自从MITRE公司的Jeo MITOLA于1992年5月在美国电信系统会议上首次明确提出了软件无线电的概念 以来,经过十多年的发展,无论在理论研究方面还是实践应用方面,软件无线电都取得了长足的进展。软件无线电 的中心思想就是构造一个具有开放性、标准化、模块化的通用硬件平台,通过软件的重构或升级来实现灵活多变的通信体制和通信功能,并尽可能地使宽带A/D和D/A转换器靠近射频天线,以研制出具有高度灵活性和开放性的新一代无线通信系统。   在软件无线电的早期实现方案中多是用DSP和ASIC来完成。然而这种方案有2个突出的缺点:一是系统的速度很难满足高速动态实时数字信号处理的要求;二是系统的体积大、功耗高。这2个突出缺点制约了软件无
[嵌入式]
基于SOPC技术的软件无线电系统研究
基于FPGA的高速FIR数字滤波器的设计
1 引 言 目前FIR滤波器的实现方法主要有3种:利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然不快。 FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好。但长期以来,FPGA一直被用于系统逻辑或时序控制上,很少有信号处理方面的应用,其原因主要是因为在FPGA中缺乏实现乘法运算的有效结构。本文利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器,使FPGA在数字信号处理方面有
[应用]
赛灵思神经网络加速库 实现FPGA的高效深度学习运算
不久前,AMD和FPGA大厂赛灵思的股东以压倒性多数批准AMD以350亿美元收购赛灵思,这则消息引起了无数“电子人”的关注,要知道,这将是目前芯片行业最大规模的交易之一,上一回还要追溯到英伟达收购ARM。 在电子行业,赛灵思的FPGA芯片一直被行业所推崇,而随着机器学习、深度学习的兴起,也有许多研究者开始将这些智能算法应用在FPGA芯片上。 机器学习是使计算系统无需明确编程即可采取行动的科学,传统机器学习包括各种聚类和分类技术,包括K-means聚类、线性和逻辑回归、随机梯度下降、关联规则学习等。而深度学习则是机器学习中较为前沿的内容,通常依赖于人工神经网络来实现。人工神经网络(CNN)非常适合处理图像或视频数据,其衍生以及变体网
[手机便携]
赛灵思神经网络加速库 实现<font color='red'>FPGA</font>的高效深度学习运算
基于FPGA的双口RAM与PCI9O52接口设计
O 引言 IDT70V28L(双口RAM)的存取时间大于20ns,PCI9052工作于25MHz,其存取时间要大于双口RAM的存取时间。PCI9052是发起交易的主动者,相当于一个慢速器件访问快速器件,通过可编程器件,可以把PCI9052读写控制信号直接传递给IDT70V28L,完成时序的匹配。 为将PCI9052的局部逻辑转换为双口RAM的读写控制信号和地址信号,本设计采用了可编程器件来实现它们之间的接口逻辑电路。在可编程器件设计中,状态机的设计方法是应用最广泛的设计方法之一。有限状态机是一种简单、结构清晰、设计灵活的方法,它易于建立、理解和维护,特别应用在具有大量状态转移和复杂时序控制的系统中,更显其优势。鉴于其优势,
[单片机]
基于<font color='red'>FPGA</font>的双口RAM与PCI9O52接口设计
利用FPGA的DSP功能提高图像处理的实例分析
intevac是商用和军用市场光学产品的前沿开发商。本文介绍该公司nightvista嵌入式电子系统的开发,该产品是高性能超低亮度紧凑型摄像机。该摄像机最初采用了流行的数字信号处理器、几个assp和外部存储器件。系统对性能的需求越来越高,工程师团队决定试验一种替代方案——在可编程逻辑中实现可配置软核处理器。这一决定带来了以下好处: 达到了目标所要求的性能 在单个fpga中集成了分立的元件和数字信号处理(dsp)功能 功耗降低了近80% 将五块元件板缩减到一块,显著降低了成本 缩短了开发时间 图1 intevac nightvista摄像机中cyclone系列fpga功能框图   dsp基于处理器的实现方法   n
[应用]
基于FPGA与RS422的MⅢ总线转换板的设计与实现
  机载数据总线技术是现代先进飞机电传操纵系统和航空电子综合化最重要的关键技术之一,它是计算机网络技术在航空电子底层的具体实现,决定着飞机性能和航电系统综合化程度的高低。本书从数据总线技术基础、计算机网络OSI七层参考模型两方面介绍了机载数据总线的基础技术,用于民用飞机上的ARINC-429、AmNC-629和CSDB机载数据总线,以及应用于军用飞机上的MIL-S1D-1553B、MIL-STD-1773、STANAG3838/3910机载数据总线,线性令牌传递总线LTPB、光纤分布式数据接口FDDI和航空电子统一网络中可变规模互连接口SCI,光纤通道FC,以及目前最新全双工交换式以太网AFDX,全面分析了它们的技术特点、协议规范、
[嵌入式]
新型的FPGA器件将支持多样化AI/ML创新进程
近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临 ,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU以更高的计算密度和能效胜出CPU一样,各种加速器件在不同的AI/ML应用或者细分市场中将各具优势,未来并不是只要贵的而是更需要对的。 此次GTC上新推出的用于AI/ML计算或者大模型的B200芯片有一个显著的特点,它与传统的图形渲染GPU大相径庭并与上一代用于AI/ML计算的GPU很不一样。在其他算力器件品种中也是如此,AI/ML计算尤其是推理应用需要一种专为高带宽工作负载优化的新型FPGA,下面我们以Ach
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved