基于FPGA分布式算法的低通FIR滤波器的设计与实现

发布者:量子心跳最新更新时间:2012-07-12 关键字:FPGA  FIR滤波器  分布式算法 手机看文章 扫描二维码
随时随地手机看文章
   

0 引言

传统数字滤波器硬件的实现主要采用专用集成电路(ASIC)和数字信号处理器(DSP)来实现。FPGA内部的功能块中采用了SRAM的查找表(lo-ok up table,LUT)结构,这种结构特别适用于并行处理结构,相对于传统方法来说,其并行度和扩展性都很好,它逐渐成为构造可编程高性能算法结构的新选择。

分布式算法是一种适合FPGA设计的乘加运算,由于FPGA中硬件乘法器资源有限,直接应运乘法会消耗大量的资源。本文利用了丰富的存储器资源进行查找表运算,设计了一种基于分布式算法低通FIR滤波器;利用线性相位FIR滤波器的对称性减小了硬件规模;利用分割查找表的方法减小了存储空间;采用并行分布式算法结构和流水线技术提高了滤波器的速度,在FPGA上实现了该滤波器。

1 分布式的滤波器算法

FIR滤波器突出的特点是单位取样响应h(n)仅有有限个非零值。对于一个N阶的FIR滤波器形式如下:

在许多数字信号处理应用领域中,在技术上是不需要通用的乘法算法的。对于本系统可以通过Matlab中的fdatool工具根据设计要求设计出滤波器的系统函数h(n),那么乘积项h(k)×x(n-k)就变成了2个常数的乘法。无符号数的分布式算法和有符号数的分布式算法是分布式算法在FIR滤波器中的2种典型算法。

1.1 无符号数的分布式算法设计
由于FPGA为并行处理结构,所以假设x(n-k)数据宽度为L b,则由式(1)可表示为:

由式(1)、式(2)可以得到:

假设:

则式(1)可以表示为:


1.2 有符号数的分布式算法设计

对于有符号数的补码表示为:

则由式(5),式(1)可得:
[page]

 

    2 分布式的滤波器的软件实现

从式(5)和式(7)可以看出,利用分布式算法实现一个N项乘积和,关键是如何实现式(4)中乘积项及各乘积项之和。

在FPGA中可以预先设定一个N位输入的查找表来实现部分乘积项,即预先设定N阶滤波系统查找表,实现向量x(i)={x0(i),x1(i),x2(i),…,xN-1(i))到p(i)的一个映射。由于查找表的地址空间与阶数成指数关系(2N),完全用查找表来实现部分乘积项需要容量很大的存储器,这就需要占用巨大的资源,而且功耗增加、速度降低。因此为了减小设计规模,可以将一个大的查找表分为几个较小的查找表来实现。例如,本系统采用的8阶FIR滤波器,则用一个查找表来实现需要256(28)位地址空间的ROM,将8阶FIR滤波器分成两个4阶FIR滤波器实现,只需要2个16(24)位地址空间的ROM,这样大大地降低了设计规模和资源使用量。把输入x(i)作为地址,分为高四位和低四位地址进行查找。表1给出了8阶滤波系统的低四位地址x(i)与p(i)的映射关系。

本系统中滤波器系统函数采用Matlab中的fdatool工具,并根据设计要求采用了kaiser窗设计出滤波器的系统函数h(n),其采样频率为500 kHz,通频带带宽为100 Hz。设计的低通滤波器如图1所示。若需实现高通或带通滤波器,只需在设计时利用高通或带通滤波器代替低通滤波器即可。

利用Verilog硬件描述语言设计本系统软件,系统主要分为以下4个部分。包括顶层文件、A/D采样、算法实现和D/A转换。系统总体结构如图2所示。

由于FPGA频率为100 MHz,采用的DAC0809转换频率必须小于1 MHz,所以在顶层文件对系统时钟进行200分频,提供外围所需时钟。然后对各模块进行例化,使之成为完整的系统。

对A/D采样输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿时启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到完成A/D转换,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。CLK为时钟输入信号线。由顶层文件的分频时钟提供500 kHz时钟,对信号进行采集。

算法主体的实现主要由以下几个部分组成:数据接收存储、数据选择器、2个存储器、加法和控制部分。

数据接收是在每个时钟下降沿时检测转换完成信号,如果完成,则存入对应的存储器中,对于N阶的系统,就需要存储N个数据等待处理。然后利用数据选择器依次选择各个数据,对数据的每一位进行检测和提取,组成算法中所需要的数据。在控制信号的作用下利用累加器对数据叠加、移位处理即可实现。

最后,FPGA向DAC0832的数据输入口(D10~D17)输送数据。提供DAC0832数据锁存允许控制信号ILE,高电平有效。提供DAC0832控制信号(CS:片选信号;Xfer:数据传输控制信号;WRl、WR2:DAC寄存器写选通信号),低电平有效。[page]

 

    3 仿真实验、工况信号测试实验

基于分布式算法低通FIR滤波器选用xilinx公司的virrex-Ⅱpro器件,在isel0.1下进行设计。利用modelsim 6.5对滤波器进行仿真。系统采用频率为500 kHz的分频时钟,在FPGA中产生一个高频方波和一个低频锯齿波信号,并对两个信号进行叠加。叠加后的信号作为输入,对应图中DIN,经过系统处理后输出结果对应图中RESULT,仿真结果如图3所示。

由图3中可以看出,本系统存在相位偏移和滤波后依然存在杂波信号的缺点,相位偏移主要是由滤波处理滞后于输入引起的,比较稳定且偏移较小,一般情况下可以忽略;杂波信号由系统阶数较低和系数量化误差引起的。实际应用中可根据情况选择适当阶数的滤波器和提高采样频率予以解决。

工况信号测试实验。由信号发生器同时产生一个50 Hz低频信号和一个5 kHz高频信号,然后对两个信号进行叠加,作为被测的工况信号。被测的工况信号经过A/D转换、滤波处理、D/A转换,然后在示波器中显示,如图4所示。输出波形中过滤掉了高频信号部分,同时低频信号能够通过该滤波器。由图4中可以看出,滤波处理后与实际信号还存在一定的误差。误差主要是由于算法中采用了低阶滤波器、系数量化误差、器件精度低等原因所致,该误差可以控制在允许范围,还可以通过选择高精度的器件和增加滤波器的阶数得以提高。


4 结语

实验结果表明,基于分布式算法低通FIR滤波器的优点是工作可靠,滤波精度较高,且具有占用资源少,运算速度快。在资源允许的条件下可根据实际应用任意确定滤波器的字长和阶数,在高速数字信号处理领域可以得到很好的应用。

关键字:FPGA  FIR滤波器  分布式算法 引用地址:基于FPGA分布式算法的低通FIR滤波器的设计与实现

上一篇:可编程逻辑器件在高准确度A/D转换器中的应用
下一篇:基于FPGA的数字频率合成器设计与实现

推荐阅读最新更新时间:2024-05-02 22:11

Microsemi公司开发的RTAX-DSP FPGA已获准用于航空领域
据报道,Microsemi公司SoC产品集团(原Actel公司)开发的RTAX-DSP现场可编程门阵列(FPGA)器件已获得合格制造商清单(QML)V类和Q类资格认证,这意味着该FPGA器件获准用于卫星、载人飞船和其他空间应用。   公司官方表示,Microsemi的抗辐射QML-V FPGA在不同程度上能够承受空间自然辐射影响,并对每个特定晶片都进行2,000小时的寿命测试,对每个特定组件都进行破坏性物理分析。   RTAX-DSP FPGA将复杂数字信号处理(DSP)功能集成到单一设备,满足高效信号处理时的耐辐射需求。RTAX-DSP FPGA具有受保护的嵌入式DSP乘法累加运算模块,可抵御空间环境单粒子效应辐射。该DSP
[嵌入式]
基于DSP/FPGA及以太网控制器的运动控制器设计与研究
运动控制技术是制造自动化的关键基础,其水平高低是衡量一个国家工业现代化的重要标志,研究和开发具有开放式结构的运动控制器是当前运动控制领域的一个重要发展方向。随着集成电路技术、微电子技术、计算机技术和网络技术的不断发展,运动控制器已从以单片机和微处理器作为核心的运动控制器和以专用芯片(ASIC)作为核心处理器的运动控制器,发展到了基于PC机平台的以数字信号处理器(DSP)和现场可编程门阵列(FPGA)作为核心处理器的协处理架构的开放式运动控制器。该控制器将PC机和DSP的信息处理能力与FPGA的外围扩展功能很好的结合在一起,具有信息处理能力强、模块化、开放程度高、运动轨迹控制精确等优点。 1系统概述 该四轴运动控制器系统以TI公司C
[嵌入式]
基于DSP/<font color='red'>FPGA</font>及以太网控制器的运动控制器设计与研究
莱迪思半导体进入新的增长阶段,目标是更高的利润率
莱迪思半导体(Lattice Semiconductor)在总裁兼首席执行官吉姆安德森(Jim Anderson)的领导下,一直以可靠、一致的可预测性执行。 该公司一直处于线性轨道上,即使是最近一次投资者日活动中的金融分析师也很难在其执行过程中发现任何争议。 该公司已经经历了五年的转型,现在正进入下一增长阶段。 特别是工业和汽车领域,已经连续三年保持增长。 莱迪思的首席执行官安德森也有一个强大的团队支持他。 在投资者日上,安德森助手是首席战略和营销官、FPGA 资深人士 Esam Elashmawi 和首席财务官 Sherri Luther。 两位都有助于推动产品线扩展,同时控制运营支出 (OpEx)。 改进的产品组合和一些定
[嵌入式]
基于ARM的FPGA加载配置实现
0引言 基于SRAM工艺FPGA在每次上电后需要进行配置,通常情况下FPGA的配置文件由片外专用的EPROM来加载。这种传统配置方式是在FPGA的功能相对稳定的情况下采用的。在系统设计要求配置速度高、容量大、以及远程升级时,这种方法就显得很不实际也不方便。本文介绍了通过ARM对可编程器件进行配置的的设计和实现。 1 配置原理与方式 1.1配置原理 在FPGA正常工作时,配置数据存储在SRAM单元中,这个SRAM单元也被称为配置存储器(Configuration RAM)。由于SRAM是易失性的存储器,因此FPGA在上电之后,外部电路需要将配置数据重新载入到片内的配置RAM中。在芯片配置完成后,内部的寄存器以及I/O管脚必须
[单片机]
基于ARM的<font color='red'>FPGA</font>加载配置实现
业界首本基于FPGA的SoC设计原型方法手册面世
        鉴于SoC设计通常被创建用于ASIC的技术实现,因此这就为在一个或多个FPGA器件上进行实施提出了具体的挑战。新思科技(Synopsys)和赛灵思(Xilinx)日前宣布推出《基于FPGA的原型方法手册》一书(FPMM),希望通过将来自BBC研发、Design of System on Silicon S.A. (DS2)、Freescale、LSI、NVIDIA、ST、TI工程师团队的宝贵设计和验证专业知识汇聚成册,不仅能够帮助原型技术新手,甚至是富有经验的团队和项目领导者,对在FPGA硬件上成功实现ASIC设计原型时所面临的挑战和解决方案做出概述和总结。     Synopsys公司解决方案营销总监Davi
[嵌入式]
打破垄断 FPGA市场冲出本土黑马
全球FPGA市场近年来一直都处于非常稳定的竞争态势,不过这种状态可能很快就要被一家叫做Agate Logic的中国公司打破了。有鉴于中国市场的快速发展、FPGA本身在半导体产业链中的独特作用、中国政府的大力支持,并凭借完全自主自主知识产权的APGA (Adaptable Programmable Gate Array,灵活可编程门阵列) 以及由此带来的CSoC技术,这家企业相信,他们将会在FPGA市场上大有作为。 中国第一家 中国半导体消费市场近年来一直都保持着较高的增长速度,虽然在金融危机的打压下,这种增长在2008年稍显疲态,然而与整个大环境不太一致的是,FPGA市场依然生机勃勃。“中国FPGA市场规模
[嵌入式]
GoodBye FPGA,TI推出适用于C2000的快速电流环路软件
德州仪器(TI)日前宣布推出DesignDRIVE快速电流环路(Fast Current Loop)软件,使C2000™ 微控制器(MCU)成为业界首款电流环路性能低于1微秒的器件。TI的C2000™ MCU产品组合与DesignDRIVE软件共同提供了片上系统(SOC)功能,并简化了驱动控制系统的开发。新型DesignDRIVE快速电流环路软件不仅在性能上优于传统基于MCU的电流环路解决方案,同时还能通过取消通常用于外部电流环路控制的现场可编程门阵列(FPGA)来简化设计。快速电流环路软件是C2000 controlSUITE™ 软件的免费更新版。 TI DesignDRIVE技术是一个统一的软硬件平台,能够让工程师更轻松地开发
[工业控制]
QuickLogic最新FPGA具低功耗,可削减系统设计开销
QuickLogic公司日前发布最新的FPGA产品——PolarPro系列。PolarPro器件具有费效比高、功耗超低等优点,并提供小型化封装,支持便携应用所必须的节能策略,同时保持了传统FPGA器件灵活配置和开发迅速的优势。 PolarPro系列独有的嵌入式电路同时满足了降低功耗与削减系统设计开销的需求。通过集成FPGA逻辑与嵌入式电路,PolarPro器件的电路实现了高速总线对总线接口、双端口SRAM模块以及共位异步FIFO控制器、高费效比DDR存贮器扩展以及时钟管理单元。PolarPro器件的所有电路均能用新的超低功耗模式(VLP)进行优化,以实现低功耗应用。 全新的PolarPro系列增加了VLP深度即时休眠的待机模式
[新品]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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