基于DSP_Builder的FIR滤波器的设计.ppt_第1页
基于DSP_Builder的FIR滤波器的设计.ppt_第2页
基于DSP_Builder的FIR滤波器的设计.ppt_第3页
基于DSP_Builder的FIR滤波器的设计.ppt_第4页
基于DSP_Builder的FIR滤波器的设计.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

基于DSPBuilder的FIR IIR低通滤波器的设计 一 概述 DSPBuilder是Altera推出的一个数字信号处理 DSP 开发工具 它在Quartus FPGA设计环境中集成了MathWorks的Matlab和SimulinkDSP开发软件 它是作为MATLAB的一个Simulink工具箱出现的 Simulink是MATLAB的一个组成部分 用于图像化建模仿真 DSPBuilder作为Simulink的一个工具箱 使得用FPGA设计DSP系统完全可以通过Simulink的图像化界面进行 只要简单的进行DSPBuilder工具箱中的模块即可 值得注意的是 DSPBuilder中的DSP基本模块是以算法级的描述出现的 易于用户从系统或者算法级进行理解 DSPBuilder的设计包含两套流程 自动流程和手动流程 二 32阶FIR低通滤波器 三 8阶IIR低通滤波器 2 1 FIR滤波器的原理 对于直接I型的32阶或更高阶的FIR滤波器通常用低阶的滤波器节进行级联而成 这里设计一个8阶的FIR滤波器节 然后通过将其级联来构成32阶的FIR滤波器 由于浮点小数在FPGA中实现比较困难 需要很多资源 这里采用定点计算 为了省去小数点定标 使用整数运算来实现 2 2设计8阶FIR滤波器子系统 在Matlab的Simulink环境中建立一个MDL模型文件 找到AlteraDSPBuilder工具箱 用图形化方式调用DSPBuilder中的Storage库的Delay模块和Arithmetic库的Product模块以及ParallelAdderSubstractor模块 根据滤波器的结构原理设计一个8阶FIR滤波器子系统 如下图 fir8 图2 28阶FIR滤波器子系统 为了设计的方便 将上面设计8阶FIR滤波器生成一个子系统 具体方法如下 在fir8模型窗口中 按住鼠标左键 移动鼠标画一个框 选中图中除SignalCompile模块以外的所有模块 接着 在选中的模块上点击鼠标右键 在弹出的右键菜单中选中 Createsubsystem 建立子系统 如右图 2 3设计32阶FIR滤波器模型 复制4个8阶滤波器子系统 并将它们如右图连接起来 2 4滤波器系数的计算 若设计一个截止频率为10 8KHz的低通滤波器 h 0 0 给定的参数如下 低通滤波器 采样频率Fs为48KHz 滤波器的Fc为10 8KHz 输入序列位宽为10位 最高位为符号位 滤波器的系数计算可以使用Matlab的滤波器设计工具FDATool来计算 其设计界面如下图 由上图可知FDATool计算出来的值是一个有符号的小数 而在DSPBuilder下建立的FIR滤波器模型需要一个整数作为滤波器系数 所以必须进行量化和归一化 量化后的系数 导出滤波器系数后 在Matlab主窗口的命令窗口中输入 Num 2 10 得到 二 32阶FIR低通滤波器 三 8阶IIR低通滤波器 3 18阶IIR低通滤波器原理 由以上原理可知 IIR直接 型为 其他设计部分都与FIR设计步骤一样 在simulink中的模型为 四 滤波器的硬件实现 1 由simulink模型转成VHDL注意 必须安装DSPBuilder的授权文件 这一步才能实现 否则无法进行 2 利用Modelsim完成RTL级仿真3 综合 在Quartus 中进行综合4 适配下载 SIMULINK下可控正弦信号发生器设计 本章以正弦波发生模块的设计为例 它的结构如图1所示 它由4个部分构成 InCount是一个阶梯信号发生模块 产生递增的地址信号 送往LUT LUT是一个查找表模块正弦函数值的 通过递增的地址可得到输出正弦波值 输出的8位正弦波数据经Delay延时模块以后被送向乘法Product模块 与SinCtr1相乘 因为SinCtr1只输入1位 SinCtr1通过Product就完成了控制有无输出正弦波 My sin就是正弦波发生器模块的输出 它送向D A就能够得到正弦波信号 图1正弦发生器模块 1用DSPBUILDER建立正弦发生器模型 1 1新建模型打开Matlab环境 可以看到Matlab的主窗口界面被分割成三个窗口 命令窗口 CommandWindow 工作区 Workspace 命令历史 CommandHistory 在命令窗口中 可以键入Matlab命令 同时获得Matlab对命令的响应信息 出错警告提示等 然后建立工作库 在建立一个新的设计模型前 先建立一个新的文件夹 作为work工作目录 新建一个simulink的模型文件 后缀为mdl 在simulink的库管理器中选择 File 菜单 在出现的菜单中选择New 在弹出的子菜单中选择新建模型model 图2右下角显示的就是新模型窗 1 2放置SignalCompilder 点击simulink库管理器左侧的库内树形列表中的AlteraDSPBuilder条 使之展开DSPBuilder库 这时会出现一长串树形列表 对DSPbuilder库的子模块 Block 进行了分组 再次点击其中的AltLab项 展开AltL

温馨提示

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

评论

0/150

提交评论