在信息信号处理过程中,如对信号的过滤、检测、预测等,都要使用到滤波器,数字滤波器是数字信号处理中使用最广泛的一种方法,常用的数字滤波器有无限长单位脉冲响应(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作为设计工具能快捷、可靠地设计实用滤波系统。
关键字:仿真 滤波 正弦 采样
引用地址:
基于FPGA的数字滤波器的设计与实现
推荐阅读最新更新时间:2024-05-13 18:14
一种程控滤波器的设计
测量系统从传感器拾取的信号中,往往包含有噪声和许多与被测量无关的信号,并且原始的测量信号经传输、放大、变换、运算及各种其他的处理过程,也会混入各种不同形式的噪声,从而影响测量精度。这些噪声一般随机性强,很难从时域中直接分离,但限于其产生的机理,其噪声功率是有限的,并按一定的规律分布于频域某一特定的频带中。信号分离电路一般采用滤波器实现噪声的抑制,提取所需的测量信号。但是系统中采用的滤波器的形式和截止频率往往是固定的,很难做到可调,这就给系统的设计带来一定的不便。然而,开关电容滤波器的使用可以很好地解决这一问题,但是开关电容滤波器的价格较高,会提高系统的设计成本,因此,这里提出了一种基于状态变量滤波器的解决方案,本设计能够大大
[电源管理]
详解FIR滤波器和IIR滤波器的区别
数字滤波器广泛应用于硬件电路设计,在离散系统中尤为常见,一般可以分为FIR滤波器和IIR滤波器,那么他们有什么区别和联系呢。 FIR滤波器 定义: FIR滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。 特点: FIR滤波器的最主要的特点是没有反馈回路,稳定性强,故不存在不稳定的问题; FIR具有严格的线性相位,幅度特性随意设置的同时,保证精确的线性相位; FIR设计方式是线性的,硬件容易实现; FIR相对IIR滤波器而言,相同性能指标时,阶次较高,对CPU的性能要去
[网络通信]
卫星通讯的通道仿真和测试解决方案
在卫星通信中,数据传输速率是性能的重要指标。近期的研究发现卫星的平均功耗增加了350%,设计寿命从10年增加到近14年,卫星的外形和复杂度也增加了2到5倍。Shin公司的新一代互联网协议(IP)卫星iPSTAR总容量达到了40Gbps,据称是现有卫星容量的40倍。美国休斯网络系统公司的SPACEWAY每个点波束的下行链路数据速率为800Mbps。现代信息技术需更宽的卫星传输带宽。 当今正在开发的先进宽带通信卫星的设计、制造和部署成本都较高。卫星设计者尽量增加卫星的有效载荷能力,以便在投入使用之后能够最大限度地获取利润。 对设计卫星的工程师来说,这意味着:因为先进的通信卫星要求最大限度地增加数据速率和容量,所以留给设计者的误差余
[测试测量]
基于Mat1ab的回转窑模糊控制系统的设计与仿真
0 引言 水泥生产过程是一个理化反应过程,具有大惯性、纯滞后、非线性的特点,系统运行工况复杂多变。据统计,全国各类回转窑约有3000台左右,其中存在的最大问题是能耗高、热效率低,是我国工业中重要耗能设备。虽然造成回转窑能耗高、效率低的原因是多方面的,但是其中的一个重要因素是回转窑工作过程中的检测与控制手段还很落后,其中大部分还是通过现场操作人员的工作经验判断窑内热工状态,以此来调节进给燃料,生产效率低、能耗高、自动化控制水平低、质量不稳定,而且难以达到控制要求和效果。传统的PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好且可靠性高,因此被广泛应用于回转窑等工业过程控制中,而水泥生产过程的非线性、时变性和难以
[工业控制]
基于卡尔曼滤波的电力系统短期负荷预测
首先介绍了卡尔曼滤波的算法,并给出了一套递推计算公式,然后将此算法应用于短期负荷预测,并针对负荷预测的本身的特点对算法进行了改进,用两种算法进行了实际的负荷预测计算,取得了比较准确预测结果。 关键词:卡尔曼滤波;电力负荷预测;预测模型
Power system short-term load forecast by Kalman filter Li Ming-gan, Sun Jian-li, Liu Pei (Huazhong University of Science & Technology, Wuhan 430074, China)
Abstract: Kalman filter algorithm i
[电源管理]
LC滤波/RC耦合中放电路
LC滤波 /RC耦合中放电路:
[模拟电子]
ARM仿真器与单片机仿真器,我的一些理解
象你说的那种仿真器可以完全替代单片机,应该是以前最早采用的仿真技术。这时,仿真器实际上就是一个由仿真器生产商再造的一个单片机。用集成电路和仿真芯片再造一个可以由Host(一般称Host为宿主机,通常意义下就是指PC。相关概念你可以在网上google“交叉编译”来获得)这种仿真器由于技术复杂,所以一般采用CPLD甚至是FPGA来构造。最典型的这种东东就是51单片机的仿真器了。从上面你就可以看出,这种东东的成本是比较高的,所以最便宜的51仿真器,一般没有下800元的。 随着单片机的技术发展,单片机越来越复杂。如果还沿用51仿真器那样的路子来研发仿真器,其技术复杂性将变得非常难以实现,并且成本会高得让用户无法接受。因此,单片机的
[单片机]
基于68HC908MR16单片机的光伏正弦波逆变电源介绍
1 引言 随着能源危机的日益加剧和人类环保意识的提高,新能源的开发利用越来越受到人们的重视。而太阳能作为取之不尽用之不竭的高效无污染的能源近来更受人们的青睐。本文介绍的光伏正弦逆变电源系统正是一种适于户用的、特别适于无电少电的西部边远地区用户的一种电源系统,随着我国西部大开发的进行其市场前景必将越来越广阔。 2 逆变系统结构及原理 2.1 系统基本结构 系统基本结构框图如图1所示。由图可知,首先太阳电池阵列经充电电路向蓄电池充电,从而得到一个基本稳定的直流电压,再经逆变电路将直流电逆变成高频交流电,最后经工频变压器升压和滤波电路滤波变成50Hz、220V正弦交流电压。整个系统的控制都是由MR16单片机完成的
[单片机]