


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于DSPBuilder的FIR滤波器的设计与实现引言在信息信号处理过程中,如对信号的过滤、检测、预测等,都要使用滤波器,数字滤波器是数字信号处理(DSP,DigitalSignalProcessing)中使用最广泛的一种器件。常用的滤波器有无限长单位脉冲响应(R)滤波器和有限长单位脉冲响应(FIR)滤波器两种1,其中,FIR滤波器能提供理想的线性相位响应,在整个频带上获得常数群时延从而得到零失真输出信号,同时它可以采用十分简单的算法实现,这两个优点使FIR滤波器成为明智的设计引言 在信息信号处理过程中,如对信
2、号的过滤、检测、预测等,都要使用滤波器,数字滤波器是数字信号处理(DSP,DigitalSignalProcessing)中使用最广泛的一种器件。常用的滤波器有无限长单位脉冲响应(R)滤波器和有限长单位脉冲响应(FIR)滤波器两种1,其中,FIR滤波器能提供理想的线性相位响应,在整个频带上获得常数群时延从而得到零失真输出信号,同时它可以采用十分简单的算法实现,这两个优点使FIR滤波器成为明智的设计工程师的首选,在采用VHDL或VerilogHDL等硬件描述语言设计数字滤波器时,由于程序的编写往往不能达到良好优化而使滤波器性能表现一般。而采用调试好的IPCore需要向Altera公司购买。笔者采
3、用了一种基于DSPBuilder的FPGA设计方法,使FIR滤波器设计较为简单易行,并能满足设计要求。2 FIR滤波器介绍2.1 FIR滤波器设计的原理 FIR滤波器的数学表达式可用差分方程(1)来表示: 其中:r是FIR的滤波器的抽头数;b(r)是第r级抽头数(单位脉冲响应);x(n-r)是延时r个抽头的输入信号。 设计滤波器的任务就是寻求一个因果,物理上可实现的系统函数H(z),使其频率响应H(ejw)满足所希望
4、得到的频域指标。2.2 设计要求 数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统,它的设计步骤为先根据需要确定其性能指标,设计一个系统函数H(z)逼近所需要的技术指标,最后采用有限的精度算法实现。本系统的设计指标为;设计一个16阶的低通滤波器,对模拟信号的采样频率fs为48KHz要求信号的截止频率fc=10.8kHz输入序列位宽为9位(最宽位为符号位)。3 DSPBuilder介绍 DSPbuilder是Altera推出的一个DSP开发工具,它在QuartusFPGA设计环境中集成了Mathworks的Ma
5、tlab和simulinkDSP开发软件2。 以往Matlab工具的使用往往作为DSP算法的建模和基于纯数学的仿真,其数学模型无法为硬件DSP应用系统直接产生实用程序代码,仿真测试的结果也仅仅是基于数学算法结构。而以往FPGA所需的传统的基于硬件描述语言(HDL)的设计由于要考虑FPGA的硬件的延时与VHDL的递归算法的衔接,以及补码运算和乘积结果截取等问题,相当繁杂。 对DSP是Builder而言,顶层的开发工具是MatLab/Simulink整个开发流层几乎可以在同一环境中完成,真正实现了自定向下的设计流程,包括DSP
6、系统的建模、系统级仿真、设计模型向VHDL硬件描述语言代码的转换、RTL(逻辑综合RegisterTransferLevel)级功能仿真测试、编译适配和布局布线、时序实时仿真直至对DSP目标器件的编程配置,整个设计流程一气呵成地将系统描述和硬件实现有机地融为一体,充分显示了现代电子设计自动化开发的特点与优势。4 FIR数字滤波器的DSPBuilder设计4.1 FIR滤波器参数选取 用Matlab提供的滤波器设计的专门工具箱FDATool仿真设计滤波器,满足要求的FlR滤波器幅频特性如图1,由于浮点小数FPGA中实现比较困难,且代价太大,因而需要将滤波器的系
7、数和输入数据转化为整数,其中量化后的系数在Matlab主窗口可直接转化,对于输入数据,可乘上一定的增益用Altbus控制位宽转化为整数输入。 4.2 FIR滤波器模型建立 根据FIR滤波器原理,可以利用FPGA来实现FIR滤波电路,DSPBuilder设计流程的第一步是在Matlab/Simulink中进行设计输入,即在Matlab的Simulink环境建立一个MDL模型文件,用图形方式调用AlteraDS
8、PBuilder和其他的Simulink库中的图形模块,构成系统级或算法级设计框图(或称Simulink建模),如图2所示。 4.3 基于DSPBuilder的滤波器仿真 输入信号分别采用频率f1=8KHz和f2=16KHz的两个正弦信号进行叠加。其中的仿真波形如图3所示,从FIR滤波电路的仿真结果看出,输入信号通过滤波器后输出基本上变成单频率的正弦信号,进一步通过频谱仪可看出f2得到了较大的抑制,与条件规定的fc=10.8kHz低通滤波器相符合,至此完
9、成了模型仿真。 4.4 运用Modelsim进行功能仿真 在Simulink中进行的仿真是属于系统验证性质的,是对MDL文件进行的仿真,并没有对生成的VHDL代码进行过仿真。事实上,生成VHDL描述是RTL级的,是针对具体的硬件结构的,而在Matlab的Simulink中的模型
10、仿真是算法级(系统级)的,是针对算法实现的,这二者之间有可能存在软件理解上的差异,转换后的VHDL代码实现可能与MDL模型描述的情况不完全相符,这就是需要针对生成的RTL级VHDL代码进行功能仿真。 在此,笔者利用Modelsim对生成的VHDL代码进行功能仿真。设置输入输出信号均为模拟形式,出现如图4所示的仿真波形,可以看到这与Simulink里的仿真结果基本一致,即可在Quartus环境下进行硬件设计。
11、; 4.5 在FPGA器件中实现FIR滤波器 在Quartus环境中打开DSPBuilder建立的Quartus项目文件firl.qpf。在Quartus中进行再一次仿真,由此可以看到符合要求时序波形,然后指定器件引脚并进行编译,最后下载到FPGA器件中,就可以对硬件进行测试,加上CLCOK信号和使能信号,用信号发生器产生所要求的两个不同频率的正弦信号,就可以在示波器上看到滤波以后的结果,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车转让与售后服务及品牌推广协议
- 餐饮品牌加盟商扶持与发展服务合同
- 环卫安全措施方案
- 企业能耗目标规划方案
- 医疗产品工艺方案(3篇)
- 仓储租赁及仓储保险合作协议范本
- 医学考试搞笑考试题及答案
- 临水方案监理意见
- 生态农业园区土地租赁经营合同
- 服装销售计划方案
- 污水处理站安全培训课件
- 2015高考全国新课标1地理试题及答案
- 超星尔雅《诗经》导读检测题答案
- 湖北省职称评审专业目录表(工程系列)
- GB 27954-2020 黏膜消毒剂通用要求
- 中考《红星照耀中国》各篇章练习题及答案(1-12)
- (完整版)ECRS培训课件
- 外轮理货工作英语
- 华中师范大学辅导员队伍建设实施办法
- kr法脱硫工艺介绍
- 新生儿沐浴室医院感染管理制度
评论
0/150
提交评论