当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:利用EDA技术实现硬件设计的最典型方法是用Quartusll设计完成的,但是此方法并不适用于涉及算法类或信号处理的设计项目。Altera公司2002年推出的DSPBuilder可以很好地帮助设计者完成此类设计项目。常用的数字滤波器有无限长冲激响应型(IIR)和有限长冲激响应(FIR)型,其中FIR型可以采用FFT来快速实现滤波,且相位具有严格线性关系,非常适合数字通信的要求。直接数字频率合成器(DDS)是一种广泛应用的数字频率合成技术,它的相对带宽、频率转换时间、相位连续性、高分辨率以及集成度等一系列性能指标远远超过传统的频率合成技术。为此,文章详细介绍了Matlab、DSPBuilder和QuartusH三个软件联合开发数字滤波器的方法,并使用DDS产生频率信号测试了滤波器的效果。

引言

严格上讲,利用QuartusH设计可以完成FPGA硬件的所有设计,但是使用这种方法设计涉及算法类或信号处理的设计项目,工作量极大且复杂,极大地降低了工程设计的效率。鉴于此,Altera公司推出了DSPBuilder这一工具,极好地解决了这个困扰工程师的难题。DSPBuilder是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,利用Matlab工具和DSPBuilder可以完成图形化的系统建模、大部分的设计过程和仿真。

常用的数字滤波器有无限长冲激响应型(IIR)和有限长冲激响应(FIR)型。IIR滤波器的相位具有非相位特征,不适合用于数字通行系统。FIR型可以采用FFT来快速实现滤波,且相位具有严格线性关系,非常适合数字通信的要求。

1基本原理

1.1数字滤波器原理

因为FIR数字滤波器具有的线性相位非常适合数字通行要求,并被大量应用于数字通行系统,所以,本设计为FIR数字滤波器。FIR滤波器系统的冲击响应是有限长的,其系统函数为:

一种31阶FIR数字滤波器的设计及实现

其中,M是FIR数字滤波器的阶数,也称为延时阶数。所以,基本的FIR数字滤波器系统的表达式如下:

一种31阶FIR数字滤波器的设计及实现

其中,h(i)是数字滤波器系数;x(n)是输入信号的采样序列;L是数字滤波器的系数长度;y(n)是数字滤波器的输出序列。

1.2DDS

原理幅值为1,初始相位为0,频率为f0的正弦波表达式如下:

一种31阶FIR数字滤波器的设计及实现

将正弦波周期分为M份,第n份所在的相位对应的波形幅值u(n)为:

一种31阶FIR数字滤波器的设计及实现

这样,则DDS的基本原理图如图1所示。

一种31阶FIR数字滤波器的设计及实现

DDS的正(余)弦波形是通过查找表生成波形的,如图1所示。正弦查找表中存储了正弦波形M个不同相位的幅值u(n),把表数据查找一轮产生一个周期的正弦波形,相位控制字P改变的是查表的初始位置,而频率控制字F改变的是查表的步进值,假如F=1,产生的正弦波频率为f1,则F=k时,表明查表每隔k个位置取一次值,因此产生的正弦波频率为kf1。

1.3Matlab/DSPBuilder设计流程

Matlab/DSPBuilder设计流程框图如图2所示。该流程的第一步,是在Matlab/Simulink中,使用DSPBuilder模型库中的元素建立一个mdl模型文件,以完成系统级或算法级设计框图;第二步,利用Simulink的图形化仿真、分析功能,分析此设计的正确性;第三步,由于EDA工具软件不能直接处理Matlab的mdl文件,需要通过Signalcompiler转化为硬件语言(VHDL文件),因VHDL文件是基于RTL级的,故可以下载至硬件。

一种31阶FIR数字滤波器的设计及实现

图2Matlab/DSPBuilder设计流程框图

2设计的具体实现

由公式(2)分析可知,滤波器输出是不同时刻输入的线性组合,为实现此逻辑需使用L位的移位寄存器和L路输入的求和器。本设计为31阶FIR数字滤波器,需使用32位的移位寄存器和32路输入的求和器,这样,其滤波器模型如图3所示。

设计FIR数字滤波器的第二步是确定32路输入的求和器中的32个系数,即公式(2)中的h(i)具体方法是:打开Matlab中的FDATool(FilterDesign&AnalysisTool)工具,输入滤波器参数,本设计为中心频率为6kHz的带通数字滤波器,其输入参数如表1所列。

一种31阶FIR数字滤波器的设计及实现

一种31阶FIR数字滤波器的设计及实现

点击DesignFilter,可得到如图4所示的滤波器;然后选择“File->Export…”,则滤波器的系数就被存在了NUM向量中。

一种31阶FIR数字滤波器的设计及实现

在Matlab命令窗口键入NUM,由于K*NUM与NUM设计的滤波器只有幅值差异,所以可取一适当K值使系数向量为(-100〜+100)以内的数,四舍五入为整数,此设计K=256,所得到的滤波器系数如表2所列。然后把系数添加进滤波器模型,便可得到所设计的带通中心频率为6kHz的FIR数字滤波器。按照Matlab/DSPBuilder设计流程框图,使用DSPBuilderBlockset->IO&Bus为滤波器添加Input、Output模块,对其进行simulink仿真,正确无误后,添加signalCompiler模块,对滤波器模型进行编译,生成VHDL文件。

一种31阶FIR数字滤波器的设计及实现

为了验证数字滤波器的效果,根据DDS的原理,分别

设计频率为6kHz和12kHz的正弦波信号,接入数字滤波器,使用Simulink仿真,观看设计效果。结果证明数字滤波器效果良好,其结果仿真图如图5所示。

一种31阶FIR数字滤波器的设计及实现

3结语

本文以中心频率为6kHz的带通FIR数字滤波器为例,系统地介绍了Matlab和DSPBuilder工具联合在一起完成系统级或算法级系统的设计方法和流程。使用Matlab和DSPBuilder工具设计系统相较于传统方法,操作简单,逻辑清晰,可以极好地实现系统的要求。

20211020_61702b4b7cf62__一种31阶FIR数字滤波器的设计及实现

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭