基于DSP Builder的16阶FIR滤波器实现

发布者:平静的33号最新更新时间:2012-02-11 关键字:DSP  fir 手机看文章 扫描二维码
随时随地手机看文章
   

0 引 言

    FIR数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它能够提供理想的线性相位响应,在整个频带上获得常数群时延,从而得到零失真输出信号,同时它可以采用十分简单的算法予以实现。这些优点使FIR滤波器成为设计工程师的首选。在采用VHDL或VerilogHDL等硬件描述语言设计数字滤波器时。由于程序的编写往往不能达到良好优化而使滤波器性能表现一般,而采用调试好的IP Core需要向Al-tera公司购买。在此,采用一种基于DSP Builder的FPGA设计方法,使FIR滤波器设计较为简单易行,并能满足设计要求。

1 FIR滤波器介绍

1.1 FIR滤波器原理

    对于一个FIR滤波器系统,它的冲激响应总是有限长的,最具体的FIR滤波器可用下式表示:
    
式中:r是FIR滤波器的抽头数;x(n-r)是延时,r个抽头的输入信号;b(r)是第r级抽头数(单位脉冲响应);M是滤波器的阶数;y(n)表示滤波器的输出序列。滤波器就是寻求一个可实现的系统函数H(z),使其频率响应H(ejω)满足所希望得到的频域信号,也可以用卷积的形式来表示:

    y(n)=z(n)*h(n)

典型的直接I型FIR滤波器如图1表示,其输出序列y(n)满足下式:

1.2 设计要求

    数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统。它的设计步骤是先根据需要确定其性能指标,设计一个系统函数h(n)逼近所需要的性能指标,滤波器的系数计算可以借助Matlab强大的计算功能和现成滤波器设计工具来完成,最后采用有限的精度算法实现。该系统的设计指标为:设计一个16阶的低通滤波器,选模拟信号的采样频率Fs为5 kHz,要求信号的截止频率Fc=1 kHz,输入序列的位宽为9位(最宽位为符号位)。激励源为幅值为27,频率为800 Hz与1 600 Hz两个信号的混频信号。

2 基于DSP Builder设计FIR滤波器

2.1 DSP Builder介绍

    DSP Builder是美国Al-tera公司推出的一个面向DSP开发的系统级设计工具,它在QuartusⅡ设计环境中集成了Matlab和SimuIinkDSP开发软件。以往使用的Matlab工具仅仅作为DSP算法的建模和基于纯数学的仿真,其数学模型无法为硬件DSP应用系统直接产生实用的程序代码,仿真测试的结果也往往是基于数学的算法结果。而以往的FPGA所需要的传统基于硬件描述语言的设计因考虑了FPGA硬件的延时与VHDL递归算法的衔接,以及补码运算和乘积结果截取等问题,所以相当繁琐。而对于DSP Builder而言,它作为Matlab的一个Simulink工具箱,使得用FPGA设计的DSP系统完全可以通过Simulink的图形化界面进行建模、系统级仿真。设计模型可直接向VHDL硬件描述语言转换,并自动调用QuartusⅡ等EDA设计软件,完成综合、网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有机地融合,充分体现了现代电子技术自动化开发的特点与优势。[page]

2.2 FIR滤波器的设计

2.2.1 FIR滤波器参数选取

    采用Matlab提供的滤波器专用设计工具FDAtool仿真设计的滤波器,可满足要求的FIR滤波器幅频特性,由于浮点小数在FPGA中实现得比较困难,且代价太大,因而需要将滤波器的系数和输人数据转化为整数,其中量化后的系统可以在Matlab主窗口中直接转化,对于输入数据,乘以28的增益用Altbus控制位宽转化为整数输入。

2.2.2 FIR滤波器模型的建立

    根据FIR滤波器原理,可以利用FPGA来实现FIR滤波电路。DSP Builder设计流程的第一步是在Matlab/Simulink中进行设计输入的,即在Matlab的Simulink环境中建立一个MDL模型文件,用图形方式调用DSP Builder和其他Simulink库中的图形模块,构成系统级或算法级设计框图,如图2所示。

2.2.3 在Simulink中的仿真并生成VHDL代码

    完成模型设计之后,可以先在Simulink中对模型进行仿真,可以通过Simulink中的示波器模块查看各个步骤的中间结果。输入信号采用800 Hz和1 600 Hz,幅值相同的两个正弦信号的叠加。仿真结果如图3所示。从仿真波形可以看出,通过滤波器之后,1 600 Hz的信号能够被很好地滤除。


    双击SignalCompiler可对以上的设计模型进行分析,选择相应的芯片,将以上设计模块图文件“翻译”成VHDL语言。

2.2.4 Modelsim的RTL仿真

    在Simulink中进行的仿真属于系统验证性质的,是对mdl文件进行的仿真,并没有对生成的VHDL代码进行仿真。事实上,生成VHDL描述的是RTL级的,是针对具体的硬件结构,而在Matlab的Simulink中的模型仿真是算法级的,两者之间有可能存在软件理解上的差异,转化后的VHDL代码实现可能与mdl模型描述的情况不完全相符。这就需要针对生成的RTL级VHDL代码进行功能仿真,仿真结果如图4所示。

    仿真结果说明,在Modelsim中仿真结果和Simulink里的仿真结果基本一致,该滤波器有较好的滤波效果。可以看出,输入正弦波经过数字化过程以后,能够在Modelsim中还原出模拟波形.符合设计的要求,可以在QLtortusⅡ的环境下进行硬件设计。

2.2.5 滤波器在FPGA上的实现

    在QuartusⅡ环境中,打开DSP Builder建立的QuartusⅡ项目文件,在QuartusⅡ中再进行一次仿真,由此可以看到符合要求的时序波形。然后指定器件引脚,并进行编译,最后下载到FPGA器件中,就可以对硬件进行测试,加上clok信号和使能信号,用信号发生器产生所要求的两个不同频率的正弦信号,就可以在示波器上看到滤波后的结果。需要设计不同的滤波器电路是仅修改FIR滤波器模型文件就可以实现,这样不仅避免了繁琐的VHDL语言编程,而且便于进行调整。

3 结 语

    在利用FPGA进行数字滤波器开发时,采用DSPBuilder作为设计工具,能加快进度。当然,在实际应用中,受精度、速度和器件选择方面的影响,可能对其转化的VHDL进行进一步的优化。

关键字:DSP  fir 引用地址:基于DSP Builder的16阶FIR滤波器实现

上一篇:基于DSP和FPGA的调幅广播信号监测系统
下一篇:fpga是什么意思 ASIC是什么意思

推荐阅读最新更新时间:2024-05-02 21:54

基于DSP的智能控制器高可靠性分析与设计
   硬件系统高可靠性设计   1 硬件电路设计   硬件电路原理如图1所示,在具体设计中,每个部分都应考虑抗干扰问题,以最大限度地减小干扰对整个系统性能的影响,确保系统具有足够高的可靠性。      图1 智能控制器硬件电路原理框图   ①DSP部分   本控制器以TI公司的TMS320F2812(以下简称F2812)为核心,它是一款专用于控制的高性能、多功能、高性价比的32位定点DSP芯片。F2812部分的电路设计重点考虑如下问题:   ● 电源上电次序。F2812为低电压、多电源DSP,必须满足I/O电源先于CPU内核电源上电的次序,且两者上电时间差不能太长(一般不超过1s),否则会影响器件的使用寿命甚至损坏器件。
[嵌入式]
基于<font color='red'>DSP</font>的智能控制器高可靠性分析与设计
基于RISC-V的DSP芯片会是国产芯片四大件的突破口吗
2020年8月国务院印发的《新时期促进集成电路产业和软件产业高质量发展的若干政策》提出,中国芯片自给率要在2025年达到70%。被称为国产芯片“四大件”的CPU、GPU、FPGA、DSP无论对于国产芯片自给率的提升还是解决高端芯片“卡脖子”问题都意义深远。 雷锋网推出《国产芯片四大件》系列文章,分别解读国产CPU、GPU、FPGA、DSP的现状,透过投资者视角发现国产芯片机遇。 2010年诞生的最“年轻”指令集RISC-V已经吸引了众多巨头支持者,比如国外的谷歌、高通、西部数据,国内的阿里、华为、紫光展锐。 近几年,开源的RISC-V指令集芯片在IoT市场已经取得了不错的成绩,给这一市场占有优势的ARM带来不小压力。
[嵌入式]
基于RISC-V的<font color='red'>DSP</font>芯片会是国产芯片四大件的突破口吗
基于DSP技术的汽车定位防盗系统体系结构研究
随着人们生活水平的提高,汽车已逐步进入家庭,对汽车防盗的要求越来越高。尽管市场上的汽车防盗器正逐步改善,但这些防盗器主要采用呼叫报警、高压电击等, 伴随科学技术的发展,汽车偷盗技术也越来越高,使人防不胜防。汽车防盗无论是对汽车 制造商还是社会保险业都具有极其重要的研究价值,针对目前世界范围内汽车盗窃案的上升趋势,各汽车厂家都在不断地改进防盗技术,尤其是随着微电子技术的进步,汽车防盗技术 已向着自动化、智能化方向发展。 从上世纪末美国正式建成GPS系统并投入使用以来,GPS技术已深入到人类经济发展的各个领域。GPS市场目前已有相当规模,尤以车辆定位导航领域的市场份额最大,增长最快。最近的统计表明,2000年安装了GPS接收机的车辆
[嵌入式]
DNP3.0在基于DSP的FTU中的实现
摘要:馈线终端单元(FTU)是配电自动化系统中的重要组成部分,以DSP为核心构成的FTU具有运算速度快和精度高等特点, 而DNP3.0则是FTU与配网主站通信的主流规约。讨论了在DSP平台上实现DNP3.0的特殊性,介绍了DSP片内异步串口的使用方法,给出了程序的主要流程图和数据结构以及涉及串行通信的C语言源码。 关键词:分布式网络规约 数字信号处理器 配电自动化 馈线终端单元 异步串行口 DNP (Distributed Network Protocol,分布式网络规约)是HARRIS公司推出的一种远动通信规约,是目前电力系统自动化产品市场上的一种主流通信规约。它既可作为FTU(Feeder Terminal Unit,馈线
[应用]
基于DSP控制的25Hz逆变电源抗负荷冲击策略
摘要:提出了一种数字控制25Hz逆变器抗冲击负荷的保护策略,通过计算等效输出阻抗的方法,对逆变器起到了有效的保护作用。通过实验进行了验证,并给出了实验波形。 关键词:逆变器;冲击负荷;数字信号处理器 引言 25Hz逆变电源是铁路区段信号中的供电设备,分别向轨道回路和局部回路供电。由于它是整个铁路区段中的关键设备,因而在电压稳定度、波形畸变以及可靠性上有非常严格的要求。特别是在可靠性上,它要求在负载过载、变压器接入、负载短路这样的冲击情况下都不应造成设备的损坏,并要求能够承受长期短路这样的极端故障。但是,由于功率半导体器件的过载能力差,当负载短路或者接入变压器这样的冲击?负荷的时候,必将导致器件的损坏。因而,对接入冲击性负荷
[应用]
ARM/DSP双核系统的通信接口设计
引 言   嵌入式系统的核心是嵌入式微处理器和嵌入式操作系统。早期的嵌入式系统硬件核心是各种类型的8位和16位单片机;而近年来32位处理器以其高性能、低价格,得到了广泛的应用。近年来,又出现了另一类数据密集处理型芯片DSP。DSP由于其特殊的结构、专门的硬件乘法器和特殊的指令,使其能快速地实现各种数字信号处理及满足各种高实时性要求。随着现代嵌入式系统的复杂度越来越高,操作系统已成为嵌入式系统不可缺少的部分。免费的嵌入式操作系统,如Linux等,随着自身不断的改善,得到了飞速的发展。Linux是一个免费的、强大的、可信赖的、具有可伸缩性与扩充性的操作系统。Linux实现了许多现代化操作系统的理论,并且支持完整的硬件驱动程序、网络通
[嵌入式]
分析:SoC架构之下的DVR行业谋局之路
  作为Soc四大产品形态(DVR、DVS、IP Camera、DVI)中竞争关系最为微妙的DVR,更考虑着如何以Soc来走出同质化和产量最大化的围城。传统的DVR产品采用的DSP常常只能执行编码,因而系统制造商不得不采用额外的DSP进行解码,但如果采用Soc产品,系统开发者能够非常容易地使系统具备多通道解码功能。   嵌入式DVR的核心器件与PC类似,都是采用高性能的中央处理器CPU,但与PC统一的兼容标准不同,嵌入式CPU技术不是垄断的,各大公司都有代表产品,功能各异,应用到嵌入式DVR设备上的主要有ARM系列、MIPS+DSP系列、X86系列和PowerPC系列。目前市场上采用上述几种CPU的DVR产品都有,产品功能各异,
[安防电子]
基于PSO的FIR数字滤波器设计
由于FIR数字滤波器具有系统稳定,容易实现线性相位,允许设计多通带(或多阻带)以及硬件容易实现等特点,使得其在数字信号处理中有着广泛的应用。传统FIR滤波器的设计方法是建立在对理想滤波器频率特性作某种近似的基础上进行设计的,其中包括窗函数法、频率采样法及最佳一致逼近法。窗函数法计算简单,但不能很好地折衷过渡带与幅频响应误差之间的矛盾。频率采样法直接从频域处理,原理简单,计算也不复杂,但不易精确确定其通带和阻带的边缘频率,并且使用传统的查表法,不能保证数据最优。最佳一致逼近法着眼于整个区间内的总误差为最小,但并不一定能保证在每个局部误差都最小。近年来许多学者将先进方法用于FIR滤波器优化设计,如神经网络法和遗传算法等。这些算法具备一定
[测试测量]
基于PSO的<font color='red'>FIR</font>数字滤波器设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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