基于DSP_Builder的FIR滤波器的设计精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.概述
DSP Builder是Altera推出的一个数字信号处理(DSP)开 发工具,它在QuartusⅡ FPGA设计环境中集成了 MathWorks的Matlab和Simulink DSP开发软件。
它是作为MATLAB的一个Simulink工具箱出现的。 Simulink是MATLAB的一个组成部分,用于图像化建模仿 真。DSP Builder作为Simulink的一个工具箱,使得用 FPGA设计DSP系统完全可以通过Simulink的图像化界面 进行,只要简单的进行DSP Builder工具箱中的模块即可。
写在最后
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
You Know, The More Powerful You Will Be
结束语
感谢聆听
不足之处请大家批评指导
值得注意的是,DSP Builder中的DSP基本模块是以算 法级的描述出现的,易于用户从系统或者算法级进行理解。
DSP Builder的设计包含两套流程:自动流程和手动流程
二. 32阶FIR低通滤波器
三. 8阶IIR低通滤波器
2.1.FIR滤波器的原理
对于直接I型的32阶或更高阶的FIR滤波器通常用低 阶的滤波器节进行级联而成。这里设计一个8阶的FIR 滤波器节,然后通过将其级联来构成32阶的FIR滤波器。
2.利用Modelsim完成RTL级 仿真
3.综合:在QuartusⅡ中进行 综合
4.适配下载
SIMULINK下可控正弦信号发生器设计
本章以正弦波发生模块的设计为例,它的结构 如图1所示。它由 4个部分构成:InCount是一个阶 梯信号发生模块,产生递增的地址信号,送往LUT。 LUT是一个查找表模块正弦函数值的,通过递增的 地址可得到输出正弦波值,输出的8位正弦波数据 经Delay延时模块以后被送向乘法Product模块,与 SinCtr1相乘。因为 SinCtr1只输入1位,SinCtr1通过 Product就完成了控制有无输出正弦波。My_sin就 是正弦波发生器模块的输出,它送向D/A就能够得 到正弦波信号。
由于浮点小数在FPGA中实现比较困难,需要很多 资源。这里采用定点计算,为了省去小数点定标,使 用整数运算来实现。
2.2 设计8阶FIR滤波器子系统
在Matlab 的Simulink 环境中建立一个MDL模 型文件,找到Altera DSP Builder工具箱,用图形 化方式调用DSP Builder中的Storage库的Delay模 块和Arithmetic库的Product模块以及Parallel Adder Substractor模块,根据滤波器的结构原理设 计一个8阶FIR滤波器子系统。如下图(fir8)
图2.2 8阶FIR滤波器子系统
为了设计的方便,将上面设计8 阶FIR滤波器生成一个子系统,具体 方法如下:在fir8模型窗口中,按住
鼠标左键,移动鼠标画一个框,选 中图中除SignalCompile模块以外的
所有模块,接着,在选中的模块上
点击鼠标右键,在弹出的右键菜单 中选中“Create subsystem",建立子 系统。如右图
2.3 设计32阶FIR滤波器模型
复制4个8阶滤 波器子系统, 并将它们如右 图连接起来。
2.4 滤波器系数的计算
若设计一个截止频率为10.8KHz的低通滤波器(h(0)=0), 给定的参数如下:
● 低通滤波器
● 采样频率Fs为48KHz,滤波器的Fc为10.8KHz
● 输入序列位宽为10位(最高位为符号位)
滤波器的系数计算可以使用Matlab的滤波器设计工具 FDATool来计算。其设计界面如下图:
由上图可知FDATool计算出来的值是一个有符号的 小数,而在DSP Builder下建立的FIR滤波器模型需要一个 整数作为滤波器系数,所以必须进行量化和归一化。
量化后的系数
导出滤波器系数后,在Matlab主窗口的命令窗口中输入: Num*(2^10)得到:
二. 32阶FIR低通滤波器 三. 8阶IIR低通滤波器
3.1 8阶IIR低通滤波器原理
由以上原理可知,IIR直接Ⅱ型为:
其他设计部分都与FIR 设计步骤一样,在 simulink中的模型Biblioteka Baidu:
四、滤波器的硬件实现
1.由simulink模型转成VHDL 注意:必须安装DSP Builder的授权文件,这一 步才能实现,否则无法进 行。
Please Criticize And Guide The Shortcomings
讲师:XXXXXX XX年XX月XX日
图1 正弦发生器模块
1 用DSP BUILDER建立正弦发生器模型
1.1 新建模型 打开Matlab环境。可以看到 Matlab的主窗口界面被分
割成三个窗口:命令窗口( Command Window)、工作 区(Workspace)、命令历史( Command History)。在 命令窗口中,可以键入 Matlab命令,同时获得 Matlab对 命令的响应信息、出错警告提示等。然后建立工作库。在 建立一个新的设计模型前,先建立一个新的文件夹,作为 work工作目录。 新建一个simulink的模型文件(后缀为 mdl),在 simulink的库管理器中选择“ File”菜单,在出现的菜单中 选择New,在弹出的子菜单中选择新建模型 model。图2右 下角显示的就是新模型窗。
DSP Builder是Altera推出的一个数字信号处理(DSP)开 发工具,它在QuartusⅡ FPGA设计环境中集成了 MathWorks的Matlab和Simulink DSP开发软件。
它是作为MATLAB的一个Simulink工具箱出现的。 Simulink是MATLAB的一个组成部分,用于图像化建模仿 真。DSP Builder作为Simulink的一个工具箱,使得用 FPGA设计DSP系统完全可以通过Simulink的图像化界面 进行,只要简单的进行DSP Builder工具箱中的模块即可。
写在最后
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
You Know, The More Powerful You Will Be
结束语
感谢聆听
不足之处请大家批评指导
值得注意的是,DSP Builder中的DSP基本模块是以算 法级的描述出现的,易于用户从系统或者算法级进行理解。
DSP Builder的设计包含两套流程:自动流程和手动流程
二. 32阶FIR低通滤波器
三. 8阶IIR低通滤波器
2.1.FIR滤波器的原理
对于直接I型的32阶或更高阶的FIR滤波器通常用低 阶的滤波器节进行级联而成。这里设计一个8阶的FIR 滤波器节,然后通过将其级联来构成32阶的FIR滤波器。
2.利用Modelsim完成RTL级 仿真
3.综合:在QuartusⅡ中进行 综合
4.适配下载
SIMULINK下可控正弦信号发生器设计
本章以正弦波发生模块的设计为例,它的结构 如图1所示。它由 4个部分构成:InCount是一个阶 梯信号发生模块,产生递增的地址信号,送往LUT。 LUT是一个查找表模块正弦函数值的,通过递增的 地址可得到输出正弦波值,输出的8位正弦波数据 经Delay延时模块以后被送向乘法Product模块,与 SinCtr1相乘。因为 SinCtr1只输入1位,SinCtr1通过 Product就完成了控制有无输出正弦波。My_sin就 是正弦波发生器模块的输出,它送向D/A就能够得 到正弦波信号。
由于浮点小数在FPGA中实现比较困难,需要很多 资源。这里采用定点计算,为了省去小数点定标,使 用整数运算来实现。
2.2 设计8阶FIR滤波器子系统
在Matlab 的Simulink 环境中建立一个MDL模 型文件,找到Altera DSP Builder工具箱,用图形 化方式调用DSP Builder中的Storage库的Delay模 块和Arithmetic库的Product模块以及Parallel Adder Substractor模块,根据滤波器的结构原理设 计一个8阶FIR滤波器子系统。如下图(fir8)
图2.2 8阶FIR滤波器子系统
为了设计的方便,将上面设计8 阶FIR滤波器生成一个子系统,具体 方法如下:在fir8模型窗口中,按住
鼠标左键,移动鼠标画一个框,选 中图中除SignalCompile模块以外的
所有模块,接着,在选中的模块上
点击鼠标右键,在弹出的右键菜单 中选中“Create subsystem",建立子 系统。如右图
2.3 设计32阶FIR滤波器模型
复制4个8阶滤 波器子系统, 并将它们如右 图连接起来。
2.4 滤波器系数的计算
若设计一个截止频率为10.8KHz的低通滤波器(h(0)=0), 给定的参数如下:
● 低通滤波器
● 采样频率Fs为48KHz,滤波器的Fc为10.8KHz
● 输入序列位宽为10位(最高位为符号位)
滤波器的系数计算可以使用Matlab的滤波器设计工具 FDATool来计算。其设计界面如下图:
由上图可知FDATool计算出来的值是一个有符号的 小数,而在DSP Builder下建立的FIR滤波器模型需要一个 整数作为滤波器系数,所以必须进行量化和归一化。
量化后的系数
导出滤波器系数后,在Matlab主窗口的命令窗口中输入: Num*(2^10)得到:
二. 32阶FIR低通滤波器 三. 8阶IIR低通滤波器
3.1 8阶IIR低通滤波器原理
由以上原理可知,IIR直接Ⅱ型为:
其他设计部分都与FIR 设计步骤一样,在 simulink中的模型Biblioteka Baidu:
四、滤波器的硬件实现
1.由simulink模型转成VHDL 注意:必须安装DSP Builder的授权文件,这一 步才能实现,否则无法进 行。
Please Criticize And Guide The Shortcomings
讲师:XXXXXX XX年XX月XX日
图1 正弦发生器模块
1 用DSP BUILDER建立正弦发生器模型
1.1 新建模型 打开Matlab环境。可以看到 Matlab的主窗口界面被分
割成三个窗口:命令窗口( Command Window)、工作 区(Workspace)、命令历史( Command History)。在 命令窗口中,可以键入 Matlab命令,同时获得 Matlab对 命令的响应信息、出错警告提示等。然后建立工作库。在 建立一个新的设计模型前,先建立一个新的文件夹,作为 work工作目录。 新建一个simulink的模型文件(后缀为 mdl),在 simulink的库管理器中选择“ File”菜单,在出现的菜单中 选择New,在弹出的子菜单中选择新建模型 model。图2右 下角显示的就是新模型窗。