基于FPGA的数字滤波器的设计与实现_第1页
基于FPGA的数字滤波器的设计与实现_第2页
基于FPGA的数字滤波器的设计与实现_第3页
基于FPGA的数字滤波器的设计与实现_第4页
基于FPGA的数字滤波器的设计与实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于FPGA的数字滤波器的设计与实现 来源:现代电子技术 作者:齐海兵刘雄飞等在信息信号处理过程中,如对信号的过滤、检测、预测等,都要使用到滤波器,数字滤波器是数字信号处理中使用最广泛的一种方法,常用的数字滤波器有无限长单位脉冲响应(IIR)滤波器和有限长单位脉冲响应(FIR)滤波器两种1。对于应用设计者,由于开发速度和效率的要求很高,短期内不可能全面了解数字滤波器相关的优化技术,需要花费很大的精力才能使设计出的滤波器在速度、资源利用、性能上趋于较优。而采用调试好的IP核需要向Altera公司购买。本文采用了一种基于DSP Builder的FPGA设计方法,以一个低通的16阶FIR滤波器的实现

2、为例,通过生成的滤波器顶层模块文件与A/D模块文件设计,在联星科技的NC-EDA-2000C实验箱上验证了利用该方法设计的数字滤波器电路工作正确可靠,能满足设计要求。1、FIR滤波器的参数设计1.1 设计要求 数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统,它的设计步骤为先根据需要确定其性能指标,设计一个系统函数H(z)逼近所需要的技术指标,最后采用有限精度算法实现。本系统的设计指标为:设计一个16阶的低通FIR滤波器,对模拟信号的采样频率Fs为48KHz,要求信号的截止频率Fc=10.8kHz,输入序列为宽为9位(最宽位为符号位)。1.2 FIR滤波器的参数选取 设计频率选择

3、性数字滤波器时,通常希望能有近似恒定的频响幅度,并尽量减小通带内的相位失真,斜率为整数的线性相位对应于时域中简单的延时,他在频域中可将相位失真降低到最小的程度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系统的

4、建模,系统级仿真、设计模型向VHDL硬件描述语言代码的转换、RTL(Register Transfer Level,逻辑综合)级功能仿真测试、编译适配和布局布线、时序实时仿真直至对DSP目标器件的编程配置,整个开发流程几乎可以在顶层的开发工具Matlab/Simulink同一环境中完成。2.2 FIR 滤波器算法模型建立 根据FIR滤波器原理,可以利用FPGA来实现FIR滤波电路,DSP Builder设计流程的第一步是在Matlab/Simulink中进行设计输入,即Matlab的Simulink环境中建立一个MDL模型文件,用图形方式调用Altera DSP Builder和其他的Simu

5、link库中的图形模块,构成系统级或算法级设计框图(或称Simulink建模)。2.3 基于DSP Builder的系统级仿真 输入信号采用频率分别为f1=8KHz和f2=16KHz的两个正弦信号进行叠加,其中的仿真波形如图2所示,从FIR滤波电路的仿真结果看出,输入信号通过滤波器后输出基本上变成单频率的正弦信号,至此完成了模型仿真。3、基于 FPGA的数字滤波器的实现3.1 运用Modelsim进行功能仿真 在DSP Builder中进行的仿真是属于系统验证性质的,是对MDL文件进行的仿真,并没有对生成的VHDL代码进行过仿真。事实上,生成VHDL描述是RTL级的,是针对具体的硬件结构的,这

6、两者之间有可能存在软件理解上的差异,转换后的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、结语 用信号发生器产生所要求的两个不同频率的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论