DspBuilder中文教程2
第7章 如虎添翼――DSP Builder设计
在安装过程中还要选择与DSP Builder兼容的
Matlab版本。提前安装的Matlab7.1会出现在该对 话框中,如图7-3所示。如果安装的Matlab版本不 符合要求,则不会在此对话框中出现。
7
7.2.3 授权文件的安装
在使用DSP Builder之前,必须得到Altera的授权文 件。如果没有安装DSP Builder的授权文件,用户只 能用DSP Builder模块建立Simulink模型,但不能生 成硬件描述语言(HDL)文件或Tcl脚本文件。
法累加器(MAC)结构。StrSP带宽,更适合于超高性能
DSP应用。
12
7.4 幅度调制器设计
13
本节利用DSP Builder软件提供的一个幅度调 制设计实例来说明DSP Builder设计过程。 该设计实例文件在<DSP Builder安装目录 >\DesignExamples\Tutorials\GettingStartedSi nMdl文件夹中,DSP Builder安装目录默认都 是在Quartus安装目录下。
本文件,用于综合、硬件的实现以及仿真。
10
11
除了全新的具有软件和硬件开发优势的设计流程之 外,Altera DSP系统体系解决方案还引入了先进的 Stratix和Stratix Ⅱ系列FPGA开发平台。
Stratix器件是Altera第一款提供嵌入式DSP块的
FPGA,其中包括能够有效完成高性能DSP功能的乘
第7章 如虎添翼――DSP Builder设计
7.1 DSP Builder简介 7.2 DSP Builder安装 7.3 DSP Builder设计流程 7.4 幅度调制器设计
DSP Builder
1.说明DSP Builder的主要功能DSP Builder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期。
已有的MATLAB函数和Simulink模块可以和Altera DSP Builder模块以及Altera知识产权(IP)MegaCore功能相结合,将系统级设计实现和DSP 算法开发相链接。
DSP Builder支持系统、算法和硬件设计共享一个公共开发平台。
设计人员可以使用DSP Builder模块迅速生成Simulink系统建模硬件。
DSP Builder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。
可以使用DSP Builder模型中的MegaCore功能实现复杂功能的集成。
Altera还提供DSP Builder高级模块集,这一Simulink库实现了时序驱动的Simulink综合。
Altera MegaCore是高级参数化IP功能,例如有限冲击响应(FIR)滤波器和快速傅立叶变换(FFT)等,经过配置能够迅速方便的达到系统性能要求。
MegaCore功能支持Altera的IP评估特性,使您在购买许可之前,便可以验证功能及其时序。
Altera IP MegaStore网站上为DSP Builder和IP评估流程提供DSP IP完整介绍DSP Builder SignalCompiler模块读取由DSP Builder和MegaCore模块构建的Simulink建模文件(.mdl),生成VHDL文件和工具命令语言(Tcl)脚本,进行综合、硬件实施和仿真。
图示为DSP Builder设计流程。
DSP Builder是一个系统级(或算法级)设计工具,它构架在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势【10】。
DSP Builder依赖于Math Works公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,同时又通过Signal Compiler可以把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。
7.DSPBuilder
第六章 基于Matlab/DSP Builder的DSP系统设计技术
■ Supports the SignalTap® II logic analyzer ■ Includes blocks that you can use to build custom logic that works with Nios® II and other SOPC Builder designs ■ Includes a state machine block ■ Automatically generates a HDL testbench or Quartus II Vector File (.vec) from MATLAB and Simulink test vectors ■ Automatically starts Quartus II compilation ■ Provides a variety of fixed-point arithmetic and logical operators for use with the Simulink software
手动流
综合 (Quartus II LeonardoSpectrum Synplify) Quartus II Pof/sof文件下载 SignalTap测试
4
Modelsim 仿真
2005-12-14
现代数字系统设计
第六章 基于Matlab/DSP Builder的DSP系统设计技术 自动设计流程 ① Matlab/Simulink建模。 设计手动流程 ① Matlab/Simulink建模。
现代数字系统设计 20
第六章 基于Matlab/DSP Builder的DSP系统设计技术 仿真结果:
2012电信一班 录文军—DSP Builder实验
DSP实指导书
V 1.0 使用 QUARTUSII 9.0
数字信号处理就是以数值计算的方法对信号进行采集、变换、综合、估值与识别等加工 处理,达到提取信息和便于应用的目的。目前,数字信号处理的理论和技术已经应用到社会 生活的各个部分,对数字信号处理系统的要求也越来越高,近几年,半导体技术的快速发展 弥补了这些方面的要求。传统的数字信号处理主要利用 DSP 芯片来完成,DSP 芯片的基本结 构是通过时钟脉冲,逐条处理,虽然现代的高端 DSP 芯片具有多级流水线,但是对日益增 长的性能要求还是捉襟见肘。 不断提高的数据处理带宽使得传统 DSP 芯片不堪重负。 而 FPGA 芯片具有对数字逻辑灵活修改的特点, 可以多个处理模块并行处理, 正好适应数字信号处理 高速度、高带宽的要求,另外,还可以对系统和设备进行升级,迅速适应市场的变化。 FPGA 早在 20 世纪 80 年代便由 Xilinx 公司发明,但是在 2005 年才开始大量应用。FPGA 内部的电子电路是可变的,设计师可以把任何数字电路转载到 FPGA 中,这使得设计师可以 对芯片进行二次开发。设计师利用 VHDL 或者 Verilog HDL 设计语言完成对电路的描述。本章 要讨论的 DSP Builder 正是这样一个工具,把 Simulink 仿真模型转换成可综合的 VHDL 或者 Verilog HDL , 装 载 到 FPGA 中 实 现 与 Simulink 仿 真 一 样 的 效 果 。 DSP Builder 则 是 MATLAB/Simulink 与 FPGA 之间的一座桥梁。 MATLAB 是 Matrix Laboratory 的简写, 是美国 MathWorks 公司出品的商业数学计算软件, MATLAB 由最初的矩阵计算到现代的工程计算、控制设计、信号处理通讯、数学建模、图像 处理、金融建模设计与分析等多方面应用。目前,MATLAB 已成为国际控制界的标准计算软 件。它分为 MATLAB 和 Simulink 两大部分。Simulink 提供一个动态系统建模、仿真和综合分 析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可 构造出复杂的系统。Simulink 据有适应面广、结构和流程清晰及仿真精细、贴近实际、效率 高、灵活等优点,并基于以上优点 Simulink 已被广泛应用于控制理论和数字信号处理的复杂 仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于 Simulink。
DspBuilder使用讲解
第9章 DDS设计
数据线位宽
相 位 字 输 入同 步 寄存器
N
频 率 字 输 入同 步 N 寄存器
clk 系统时钟
N
M
M
寄存器
相位调制器 相位累加器
正 弦 ROM 查找表
正弦信号输出 D/A
余 弦 ROM 查找表
余弦信号输出 D/A
图9-2 正交信号发生器
第9章 DDS设计
幅度调制在很多场合是需要的。我们改进基本DDS 结构,在正弦ROM表后、D/A前放置一个幅度控制模 块,一般采用乘法器来实现。如图9-3。
下面开始仿真。图9-6显示了仿真结果。
第9章 DDS设计
图9-6 仿真结果
第9章 DDS设计
9.3 FSK调制器设计
第9章 DDS设计
9.1 DDS的基本原理
我们知道,对于正弦信号发生器,它的输出可以 用下式来描述:
Sout Asint Asin(2πfoutt).
(9-1)
第9章 DDS设计
其中Sout是指该信号发生器的输出信号波形,fout指 输出信号对应的频率。上式的表述对于时间t是连续的, 为了用数字逻辑实现该表达式,必须进行离散化处理。 用基准时钟clk进行抽样,令正弦信号的相位:
“++” 选择“Pipeline” 参数“Clock Phase Selection”设为“1”
第9章 DDS设计
BusConversion2模块:(BusConversion) 库:Altera DSP Builder中Bus Manipulation库 参数“Input Bus Type”设为“signed Integer” 参数“Input [number of bits].[]”设为32 参数“Output Bus Type”设为“Signed Integer” 参数“Output [number of bits].[]”设为“10” 参数“Input Bit Connected to Output MSB”设为“31” 参数“Input Bit Connected to Output LSB”设为“22” 使用“Round”
DSPbuilder安装指南(以9.1为例)
DSPbuilder安装指南(以9.1为例)1.前期准备⾸先说⼀下,我⽤的是dsp builder 9.1 +QII 9.1 SP1+ MATLAB R2009A⽹上没有dsp9.1sp1的破解,我是直接⽤9.1的,发现这样配也能正常⼯作DSP Builder 不是独⽴的软件,在安装 DSP Builder 之前需安装以下软件1.MATLAB软件,必须安装 Simulink组件。
2.安装Quartus II软件安装DSP Builder,安装程序中包含的脚本会⾃动关联Quartus II 和Matlab。
注意三个软件要相互匹配,这⼉给个官⽅的要求:2.安装DSP Builder⼀般步骤,⼤伙懂的直到DSP Builder 的安装结束的对话框跳出,点击finish。
3.matlab上的⼀些必要操作打开matlab 点击Simulink⼯具箱,在出现的Simulink LibraryBrowser栏中可发现多了以下两个⼯具库依次单击它们,软件需要建⽴⼯具库。
这⼉可能会碰到以下问题:1.Matlab出现很多warning ,跳出窗⼝报告出错,并⾃动退出软件处理⽅法:然后在X:\MATLAB\R2008a\toolbox\local\pathdef.m中删除与Altera有关的路径。
注意需要空⼀⾏,如下所⽰:p = [...%%% BEGIN ENTRIES %%%(空⼀⾏)matlabroot,'\toolbox\matlab\general;', ...matlabroot,'\toolbox\matlab\ops;', ...matlabroot,'\toolbox\matlab\lang;', ...matlabroot,'\toolbox\matlab\elmat;', ...matlabroot,'\toolbox\matlab\elfun;', ...之后重新安装DSP Builder2.安装完DSP Builder后,发现Altera DSP Builder Blockset库是空处理⽅法:打开..\MATLAB\R2008a\toolbox\local\matlabrc.m,在此⽂件最后加⼊代码bdclose all; set_param(0,'CharacterEncoding', 'windows-1252')重新启动matlab4.破解 DSP Builder流程1..找个匹配的DSP Builder的破解器按照要求先破解DSP Builder ⽂件。
DSP?Builder的简介和安装方法
DSP?Builder的简介和安装方法DSP Builder的简介和安装方法如果你是正准备装DSP Builder请仔细把下面的文章看完,我相信一定会对你有帮助的,首先介绍一下DSP Builder的知识。
DSP Builder是Altera推出的一个数字信号处理(DSP)开发工具,它在Quartus Ⅱ FPGA设计环境中集成了MathWorks的Matlab和Simulink DSP开发软件。
Altera的DSP系统体系解决方案是一项具有开创性的解决方案,它将FPGA的应用领域从多通道高性能信号处理扩展到很广泛的基于主流DSP的应用,是Altera第一款基于C代码的可编程逻辑设计流程。
在Altera基于C代码的DSP设计流程中,设计者编写在Nios Ⅱ嵌入处理器上运行的C代码。
为了优化DSP算法的实现,设计者可以使用由Matlab和Simulink工具开发的专用DSP指令。
这些专用指令通过Altera的DSP Builder和SOPC Builder工具集成到可重配置的DSP设计中。
对DSP设计者而言,与以往FPGA厂商所需的传统的基于硬件描述语言(HDL)的设计相比,这种流程会更快、更容易。
除了全新的具有软件和硬件开发优势的设计流程外,Altera DSP 系统体系解决方案还引入了先进的Stratix和Stratix Ⅱ系列FPGA开发平台。
Stratix器件是Altera第一款提供嵌入式DSP块的FPGA,其中包括能够有效完成高性能DSP功能的乘法累加器(MAC)结构。
Stratix Ⅱ FPGA能够提供比Stratix器件高四倍的DSP带宽,更适合于超高性能DSP应用。
使用DSP Builder创建HDL设计需要有下面的软件支持:Matlab 6.1以上版本;Simulink5.0以上版本;Quartus Ⅱ 5.0以上版本;Synplify 7.2以上版本或LeonardoSpectrum 2002c以上版本(综合工具);ModelSim5.5以上版本(仿真工具)。
DSP Builder设计进阶
CtrlIn
图4-6 修改Subsystem的端口
第4章
DSP Builder设计进阶
图4-7就是更改singen子系统端口名称后subsint模型
顶层原理图的显示。 Simulink的子系统的端口的增删操作也比较简单, 可以直接在子系统的图上加入或者删除输入、输出端 口。在调用该子系统模块的上层原理图上,马上就会 更改相应的子系统模块的显示。 对于生成的子系统模块,可以将其当成一般的DSP 模块来使用,允许任意复制、删除子系统模块,或者
第4章
DSP Builder设计进阶
CtrlIn模块:(Altbus)
库:Altera DSP Builder中Bus Manipulation库 参数“Bus Type”设为“Single Bit” 参数“Bus Type”设为“Input port”
Constant模块:(Constant)
库:Simulink中Source库 参数“Constant Value”设为“512”
end mac;
architecture mac_arch of mac is
begin
Q <= (a*b);
end mac_arch;
第4章
DSP Builder设计进阶
例4-1的VHDL程序是一个12×8的MAC单元的描
述,在此把它导入到DSP Builder中。先在Simulink中建 立一个新模型,命名为vhdlmac。 在 Simulink 库 管 理 器 的 Altera DSP Builder 中 的 AltBus库中,找到SubSystemBuilder模块(图4-13),放 置在新建的vhdlmac模型窗口中。 双击vhdlmac模型窗口中的SubSystemBuilder模块, 打开SubSystem Builder对话框(见图4-14)。点击按钮,
现代DSP技术课件dspbuilder设计一至四章
第1 章
概述
为了满足 DSP 技术领域中的各种需求以及顺应
DSP市场的发展,DSP应用系统的实现方式和目标器件 的品种类型、结构特点乃至开发技术本身都经历着不 断的改善和变革。 1.1.1 常用DSP应用器件及其性能特点 如前所述, DSP 作为数字信号的算法的实现方案 有多种,对于不同的应用领域、适用范围和指标要求, 可以选用不同的解决方案和 DSP 系统的实现器件。目
第1 章
概述
现代大容量、高速度的FPGA的出现,克服了上述 方案的诸多不足。在这些FPGA中,一般都内嵌有可配 置的高速 RAM 、 PLL 、 LVDS 、 LVTTL 以及硬件乘法 累加器等DSP模块。用FPGA来实现数字信号处理可以 很好地解决并行性和速度问题,而且其灵活的可配置 特性,使得FPGA构成的DSP系统非常易于修改、易于 测试及硬件升级。
第1 章
概述
1.1 DSP实现方案及设计流程
不断发展的数字信号处理(DSP,Digital Signal Processing)技术迅速地扩展到了其应用领域,如3 G移 动通信、网络会议、多媒体系统、雷达卫星系统、医 学仪器、实时图像识别与处理、联合战术无线电系统、 智能基站,以及民用电器等。所有这一切在功能实现、 性能指标与成本方面都在不断增加其要求。
第1 章
概述
在利用FPGA进行DSP系统的开发应用上,已有了
全新的设计工具和设计流程。DSP Builder就是Altera公 司推出的一个面向DSP开发的系统级工具。它是作为 MATLAB的一个Simulink工具箱(ToolBox)出现的。 MATLAB是功能强大的数学分析工具,广泛应用于科 学计算和工程计算,可以进行复杂的数字信号处理系 统的建模、参数估计、性能分析。Simulink是 MATLAB的一个组成部分,用于图形化建模仿真。
FPGA通信设计基础DspBuilder使用初步
2.2 基于Matlab/Simulink FPGA开发
在FPGA或与处理器结合的FPGA上实现设计算法时, 需要对影响功能性能的定点特性进行准确的建模。可 在 MATLAB 和 Simulink 中创建浮点算法规格,然后 将其转换为位真定点数据类型以供仿真。对设计进行 模型级定点优化可用于透彻地研究FPGA设计所涉及的 定点权衡。还可以创建有限状态机来对这些算法的控 制逻辑进行建模。
2.4 Altera 模块库简介
Altera 模块库可用于快速评估设计在 Altera 器件中 的性能、生成时序最佳的 HDL 代码以及对照 Simulink 模型验证硬件实现方案。
• AltLab • Arithmetic • Boards • Complex Type • Gate & Control • IO & Bus • Rate Change • SOPC Builder Links • State Machine Functions • Storage • MegaCore Functions • Video and Image Processing
Simulink是MATLAB最重要的组件之一,它提供一 个动态系统建模、仿真和综合分析的集成环境。在该 环境中,无需大量书写程序,而只需要通过简单直观 的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真 精细、贴近实际、效率高、灵活等优点,并基于以上 优点Simulink已被广泛应用于控制理论和数字信号处 理的复杂仿真和设计。同时有大量的第三方软件和硬 件可应用于或被要求应用于Simulink。
用技术来优化逻辑利用率;并自动插入流水线阶段和 寄存器以符合设计约束,因此可在 Altera FPGA 中获 得与手工优化的 HDL 代码相近的性能。
DSP Builder用户指南(中文)
DSP Builder 6.0 用户指南1.关于 DSP Builder特性⏹DSP Builder支持以下特性:把MathWorks MATLAB(信号处理工具箱和滤波设计工具箱)和Simulink软件与Altera公司的Quartus II软件连接。
⏹支持以下ALTERA 器件系列:●Stratix®,Stratix GX,Stratix II和Stratix II GX器件●Cyclone和Cyclone II器件●APEX™II,APEX 20KC和APEX 20KE器件●Mercury™器件●ACEX®1K器件●FLEX 10K®和FLEX®6000器件⏹使用Altera DSP开发板快速建立样机。
⏹支持SignalTap®II逻辑分析仪,探测来自DSP上Altera器件嵌入式信号分析仪和把数据转入到MATLAB工作空间,以利用可视化分析。
⏹在AltLib库中支持的HDL转入模块:●VHDL或Verilog HDL设计授权转入●转入在Quartus工程文件中的HDL⏹回路中的硬件模块(HIL)能够使FPGA硬件在Simulink(AltLab library)中加速二次模拟。
⏹在SOPC Builder Link Library中的Avalon Blockset包括了你能用于建立一些定制逻辑的模块,这些定制逻辑和Nios II以及其它的SOPC Builder设计一起工作。
●低级Avalon和辅Avalon接口模块●Avalon Read FIFO和Avalon Write FIFO捆绑模块●全部Avalon模块是用户可以配置的●分离的模块可用来支持Avalon端口●将Avalon接口拖拉进DSP Builder设计模块中,你能建立任何的Avalon SOPC元件●根据Simulink中的仿真,你能验证Avalon接口,用生成的HDL和PTF文件把你的设计输出到SOPE Builder⏹包括状态机模块。
DSP_Builder_ModelSim安装方法
1.首先安装Matlab2009并破解2.安装Quartus II 9.0 (32-Bit)并破解3.安装DSP_Builder_9.0并破解4.安装Modelsim6.2se并破解安装Quartus II 9.0 (32-Bit)并破解1.#用Quartus_II_9.0破解器.exe 破解C:\altera\90\quartus\bin下的sys_cpt.dll和quartus.exe文件(运行Quartus_II_9.0破解器.exe后,直接点击“应用补丁”,如果出现“未找到该文件。
搜索该文件吗?”,点击“是”,(如果直接把该破解器Copy到C:\altera\90\quartus\bin 下,就不会出现这个对话框,而是直接开始破解!)然后选中sys_cpt.dll,点击“打开”。
安装默认的sys_cpt.dll路径是在C:\altera\90\quartus\bin下)。
2.#把license.dat里的XXXXXXXXXXXX 用您老的网卡号替换(在Quartus II 9.0的Tools菜单下选择License Setup,下面就有NIC ID)。
3.#在Quartus II 9.0的Tools菜单下选择License Setup,然后选择License file,最后点击OK。
4.#注意:license文件存放的路径名称不能包含汉字和空格,空格可以用下划线代替。
、安装DSP_Builder_9.0并破解1.#用DSP_Builder_9.0破解器.exe破解C:\altera\90\quartus\dsp_builder\bin\文件(运行DSP_Builder_9.0破解器.exe后,首先要点击“浏览”选中PortManager.dll,安装默认的PortManager.dll路径是在C:\altera\90\quartus\dsp_builder\bin\下,选中PortManager.dll后再点击“应用”。
DspBuilder中文教程2
第10章 DSP Builder 设计深入应用Matlab/DSP Builder 可以对多种类型的电子线路模块或系统进行建模、分析和硬件实现,且更擅长于一些较复杂的功能系统,及偏向于高速算法方面的模块的设计和实现,还能利用HDL Import 模块将HDL 文本设计转变成为DSP Builder 元件。
本章将给出一些DSP 及数字通信领域中实用模块的设计实例,以及基于Matlab/DSP Builder 平台的IP 核的应用。
10.1 FIR 数字滤波器设计FIR (Finite Impulse Response :有限冲激响应)滤波器在数字通信系统中,被大量用于以实现各种功能,如低通滤波、通带选择、抗混叠、抽取和内插等。
在DSP Builder 的实际应用中,FIR 滤波器是最为常用的模块之一。
DSP Builder 的FIR 滤波器设计方式有多种,作为示例,本节介绍基于模块的FIR 与基于IP 的FIR 设计方法。
10.1.1 FIR 滤波器原理对于一个FIR 滤波器系统,它的冲激响应总是有限长的,其系统函数可以记为:∑=−=Mk k k z b z H 0)( 10-1最基本的FIR 滤波器可用下式表示:∑−=−=10)()()(L i i h i n x n y 10-2其中()x n 是输入采样序列,()h n 是滤波器系数,L 是滤波器的阶数,)(n y 表示滤波器的输出序列。
也可以用卷积来表示输出序列)(n y 与)(n x 、)(n h 的关系。
)()()(n h n x n y ∗= 10-3图10-1中显示了一个典型的直接I 型3阶FIR 滤波器,其输出序列)(n y 满足下列等式:EDA 技术与VHDL366)3()3()2()2()1()1()()0()(−+−+−+=n x h n x h n x h n x h n h 10-4在这个FIR 滤波器中,总共存在3个延时结,4个乘法单元,一个4输入的加法器。
dsp builder 使用方法
第9章DSP Builder设计初步利用EDA技术完成硬件设计的途径有多种,前面介绍的是利用QuartusII来完成的,最为典型的设计流程,包括设计项目编辑(如用VHDL)、综合、仿真、适配、编程。
但是对于一些特定的设计项目,这个流程就会显得很不方便,甚至无能为力。
例如涉及算法类(如DSP模块)及模拟信号处理与产生方面的系统设计。
Altera自2002年推出的DSP Builder则很好地解决了这些问题。
DSP Builder可以帮助设计者完成基于FPGA的不同类型的应用系统设计。
除了图形化的系统建模外,DSP Builder还可以自动完成大部分的设计过程和仿真,直至把设计文件下载至FPGA开发板上。
利用Matlab与DSP Builder进行模块设计也是SOPC技术的一个组成部分。
本章以两个简单的电路模型设计为示例,详细介绍Matlab、DSP Builder、QuartusII 三个工具软件联合开发的设计流程。
9.1 Matlab/DSP Builder及其设计流程DSP Builder是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级(算法仿真建模)和RTL级(硬件实现)两个设计领域的设计工具连接起来,都放在了Matlab/Simlink图形设计平台上,而将QuartusII作为底层设计工具置于后台,最大程度地发挥了对种工具的优势。
DSP Builder依赖于MathWorks公司的数学分析工具Matlab/Simlink,以Simulink的Blockset出现。
可以在Simulink中进行图形化设计和仿真,同时又通过SignalCompiler把Matlab/Simulink的模型设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的tcl脚本。
对于综合以及此后的处理都由QuartusII来完成。
由于在FPGA上设计一个算法模型的复杂性,设计的性能(包括面积、速度、可靠性、设计周期)对于不同的应用目标将有不同的要求,涉及的软件工具也不仅仅是Simulink和QuartusII,DSP Builder针对不同情况提供了两套设计流程,即自动流程和手动流程。
dsplib中文版 TMS32054X 函数库中文用户指南
TMS320C54x DSP 函数库用户指南TMS32C54X 优化C 函数库北京金信诺科技June, 1999目录第一章概述 (3)一、DSP 函数数据类型 (3)二、从C 程序中调用DSP 函数 (3)三、从汇编程序中调用DSP 函数 (5)四、其他说明 (6)第二章DSP 数学函数库 (7)a dd 向量相加 (7)s ub 向量相减 (8)m ul32 32 位向量相乘 (9)n eg 向量求反 (10)n eg32 双精度向量求反 (11)m mul 矩阵相乘 (12)m trans 矩阵转置 (13)m axidx 向量最大元素的序号 (14)m axval 向量元素的最大值 (15)m inidx 向量最小元素的序号 (16)m inval 向量的最小元素 (17)a tan16 反正切 (18)a tan2_16 反正切2 (19)s ine 三角正弦 (20)s qrt_16 16 位数的平方根 (21)l og_2 以2 为底的对数 (22)l og_10 以10 为底的对数 (23)l ogn 以e 为底的对数 (24)r ecip16 16 位数的倒数 (25)e xpn 指数 (26)p ower 向量的功率 (27)b exp 块的幂 (28)r and16init 初始化随机数生成器 (29)r and16 随机向量生成器 (30)f ltoq15 浮点数到Q15 数据转换 (31)q15tofl Q15 到浮点数转换 (32)第三章FFT 函数库 (33)cbrev 复数逆序 (33)cfft 复数FFT (34)c ifft 复数逆FFT (36)r fft 实数FFT(替换) (38)r ifft 逆实数FFT(替换) (40)第四章卷积与FIR 滤波器 (42)convol 卷积 (42)c fir 复数FIR 滤波器 (43)f ir FIR 滤波器 (44)f irs 对称FIR 滤波器 (45)f irs2 对称FIR 滤波器(常用) (47)f irdec 抽样FIR 滤波器 (48)f irinterp 插值FIR 滤波器 (50)f irlat FIR Lattice 滤波 (51)1hilb16 Hilbert 变换器 (52)第五章IIR 滤波器 (54)i ircas4 使用4 个参数的IIR 滤波(直接实现形式II) (54)i ircas5 使用5 个参数的IIR 滤波(直接实现形式II) (56)i ircas51 使用5 个参数的IIR 滤波(直接实现形式I) (58)iirlat IIR lattice 滤波 (59)iir32 双精度IIR 滤波 (60)第六章自适应滤波器 (62)d lms 自适应延迟LMS 滤波 (62)n blms 标准化的LMS 块滤波 (64)ndlms 标准化的延迟LMS 滤波 (66)第七章相关函数库 (68)a corr 自相关 (68)corr 互相关 (70)2第一章概述一、DSP 函数数据类型DSP 函数库处理以下的小数数据类型:Q3.12 :包含3 个整数位和12 个小数位,其各位的定义如下:位15 14 13 12 11 10 9 0值符号I3 I2 I1 Q11 Q10 Q9 …Q0它表示的数据范围是(-8,8),最小的小数分辨率为2−12 =2.441×10−4 。
DSP Builder 安装破解指南
e:\altera\megacore\nco-v2.3.0\lib\ip_toolbench ... Adding new Altera MegaCore function Reed_Solomon version 4.0.0 located at
e:\altera\megacore\viterbi-v4.3.0\lib\ip_toolbench ... Adding new Altera MegaCore function viterbi_v4_3_0 version 4.3.0 located at
e:\altera\megacore\viterbi-v4.3.0\lib\ip_toolbench ... Altera MegaCore function setup completed.
嵌入式控制研究室
4. 破解 DSP Builder (1) 将 CRACK 目 录 中 的 signalcompiler.exe 覆 盖 \DSPBuilder\Altlib 下 的 signalcompiler.exe; (2) 在 Quartus II 的 License 末端添加如下代码: FEATURE C4D5_512A alterad 2010.01 permanent uncounted 62A1E82639EE \ VENDOR_STRING=9f6cj2mzaEUVKsabYLpzcH HOSTID=001125d224ac \ SIGN="152E 324F 9AFB 618A 1FAE 543F 1632 2FAD 06A1 79BC E311 \ BBFE D1F7 855F 7587 132C 74E3 5A0A 04CC 607C 88DC 449B B4C8 \ 3E53 B137 6C9C 0CBA 2097 5F4C 0E3C" (3) 修改 HOSTID=001125d224ac 为你的本机器的 MAC 地址; (4) 添加系统变量。 变量名 LM_LICENSE_FILE 变 量 值 你 的 Quartus II 的 license.dat 文 件 及 其 路 径 。 比 如 E:/ALTERA/LICENSE.DAT 添加环境变量的方法:右键“我的电脑”,在快捷菜单中选择“属性”,点击“高 级”标签页,如下图:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 DSP Builder 设计深入应用Matlab/DSP Builder 可以对多种类型的电子线路模块或系统进行建模、分析和硬件实现,且更擅长于一些较复杂的功能系统,及偏向于高速算法方面的模块的设计和实现,还能利用HDL Import 模块将HDL 文本设计转变成为DSP Builder 元件。
本章将给出一些DSP 及数字通信领域中实用模块的设计实例,以及基于Matlab/DSP Builder 平台的IP 核的应用。
10.1 FIR 数字滤波器设计FIR (Finite Impulse Response :有限冲激响应)滤波器在数字通信系统中,被大量用于以实现各种功能,如低通滤波、通带选择、抗混叠、抽取和内插等。
在DSP Builder 的实际应用中,FIR 滤波器是最为常用的模块之一。
DSP Builder 的FIR 滤波器设计方式有多种,作为示例,本节介绍基于模块的FIR 与基于IP 的FIR 设计方法。
10.1.1 FIR 滤波器原理对于一个FIR 滤波器系统,它的冲激响应总是有限长的,其系统函数可以记为:∑=−=Mk k k z b z H 0)( 10-1最基本的FIR 滤波器可用下式表示:∑−=−=10)()()(L i i h i n x n y 10-2其中()x n 是输入采样序列,()h n 是滤波器系数,L 是滤波器的阶数,)(n y 表示滤波器的输出序列。
也可以用卷积来表示输出序列)(n y 与)(n x 、)(n h 的关系。
)()()(n h n x n y ∗= 10-3图10-1中显示了一个典型的直接I 型3阶FIR 滤波器,其输出序列)(n y 满足下列等式:EDA 技术与VHDL366)3()3()2()2()1()1()()0()(−+−+−+=n x h n x h n x h n x h n h 10-4在这个FIR 滤波器中,总共存在3个延时结,4个乘法单元,一个4输入的加法器。
如果采用普通的数字信号处理器(DSP Processor )来实现,只能用串行的方式顺序地执行延时、乘加操作,不可能在一个DSP 处理器指令周期内完成,必须用多个指令周期来完成。
图10-1 3阶FIR 滤波器结构 但是,如果采用FPGA 来实现,就可以采用并行结构,在一个时钟周期内得到一个FIR 滤波器的输出,不难发现图10-1的电路结构是一种流水线结构,这种结构在硬件系统中有利于并行高速运行。
10.1.2 使用DSP Builder 设计FIR 滤波器使用DSP Builder 可以方便地在图形化环境中设计FIR 数字滤波器,而且滤波器系数的计算可以借助Matlab 强大的计算能力和现成的滤波器设计工具来完成。
1.3阶常数系数FIR 滤波器设计一个3阶FIR 滤波器的)(n h 可以表示为下式:))3()3()2()2()1()1()()0(()(−+−+−+=n x h n x h n x h n x h C n h q 10-5其中: 63)3(127)2(127)1(63)0(====h h h hq C 是量化时附加的因子。
这里采用直接I 型来实现该FIR 滤波器。
利用Matlab设计好的3阶直接I 型FIR 滤波器模型图可以参见图10-2。
第10章 DSP Builder 设计深入 367图6-2 带有仿真信号模块的3阶滤波器模型由于FIR 滤波器的系数)(n h 已经给定,是一个常数,由图中看到,在DSP Builder 库中可以用Gain (增益)模块来实现)()(k n x k h −×的运算,用延时Delay 模块来实现输入信号序列)(n x 的延时。
设计完3阶FIR 滤波器模型后,就可以添加simulink 模块进行仿真了,如图10-2所示。
新增的仿真模块参数作如下设置:Chirp Signal 模块:(Chirp Signal )库:Simulink 中Sources 库参数“Initial Frequency (Hz )”设为“0.1”参数“Target time ”设为“10”参数“Frequency at target time (Hz )”设为“1”参数“Interpret vectors parameters as 1-D ”选中Gain 模块:(Gain )库:Simulink 中Math Operations 库参数“Gain ”设为“127”参数“Multiplication ”设为“Element wise(K.*u)”Scope 模块:(Scope )库:simulink 中sinks 库参数“Number of Axes ”为“2”其中Chirp Signal 模块为线性调频信号发生模块,生成一个线性调频信号0.1Hz ~1Hz 。
在该模型仿真中,使用默认的仿真参数。
仿真结果如图10-3所示。
一个线性调频信号通过3阶FIR 滤波器后,幅度发生了变化,频率越高,幅度被衰减得越多。
EDA 技术与VHDL368图10-3 FIR 滤波器仿真结果2、4阶FIR 滤波器节设计以下将设计一个系数可变的FIR 滤波器节。
对于直接I 型的FIR 滤波器(结构见图10-4)是可以级联的。
也就是说,在滤波器系数可变的情况下,可以预先设计好一个FIR 滤波器节,在实际应用中通过不断地调用FIR 滤波器节,级联起来,用来完成多阶FIR 滤波器的设计。
图10-4 直接I 型FIR 滤波器结构 图10-5是一个直接I 型的4阶FIR 滤波器节的结构。
为了使该滤波器节的调用更为方便,在xin 输入后插入了一个延时单元,由3阶滤波器演变成4阶的,不过常数系数项(0z 系数项))0(h 恒为0。
由于在通信应用中,FIR 滤波器处理的往往是信号流,增加一个延时单元不会影响FIR 滤波器处理的结果,只是系统延时增加了一个时钟周期。
对于该FIR 滤波器节,其系统函数可以用下式来表示:4321)4()3()2()1()(−−−−+++=z h z h z h z h z H 10-6第10章 DSP Builder 设计深入 369由于浮点小数在FPGA 中实现比较困难,实现的资源代价太大。
在DSP Builder 中不妨使用整数运算来实现,最后用位数舍取的方式得到结果。
为了使参数可变,FIR 滤波器系数)1(h 、)2(h 、)3(h 、)4(h 也作为输入端口。
在本设计中输入序列)(n x 的位宽设为9位。
图10-6显示的就是一个设计好的4阶FIR 滤波器节,与图10-2常数FIR 滤波器相比,用Product (乘法)模块代替了Gain (增益)模块。
图10-5 直接I 型4阶FIR 滤波器节图10-6 直接I 型4阶FIR 滤波器节图10-6中相关模块的参数设置如下:Xin 、hn0、hn1、hn2、hn3模块:(Altbus )库:Altera DSP Builder 中IO & Bus 库参数“Bus Type ”设为“signed Integer ”EDA 技术与VHDL370参数“Node Type ”设为“Input port ”参数“number of bits ”设为“9”yn 模块:(Altbus )库:Altera DSP Builder 中IO & Bus 库参数“Bus Type ”设为“signed Integer ”参数“Node Type ”设为“Output port ”参数“number of bits ”设为“20”xn4模块:(Altbus )库:Altera DSP Builder 中IO & Bus 库参数“Bus Type ”设为“signed Integer ”参数“Node Type ”设为“Output port ”参数“number of bits ”设为“9”Parallel Adder Subtractor 模块:(Parallel Adder Subtractor )库:Altera DSP Builder 中Arithmetic 库参数“Add(+)Sub(-)”设为“++++”使用“Pipeline ”参数“Clock Phaese Selectioon ”设为“1”Delay 、Delay1、Delay2、Delay3模块:(Delay )库:Altera DSP Builder 中Storage 库参数“Depth ”设为“1”参数“Clock Phase Selection ”设为“1”Product 模块:(Product )库:Altera DSP Builder 中Arithemtic 库参数“Pipeline ”设为“2”参数“Clock Phase Selection ”设为“1”不选择“Use LPM ”3、16阶FIR 滤波器模型设计利用以上设计的4阶FIR 滤波器节可以方便地搭成n ×4阶直接I 型FIR 滤波器(注意:0)0(=h )。
比如要实现一个16阶的低通滤波器,可以调用4个4阶FIR 滤波器节来实现。
为了设计4阶FIR 滤波器节子系统,首先需要建立一个新的DSP Builder 模型,复制上节的FIR4tap 模型到新模型。
由FIR4tap 模型建立子系统,并对端口信号进行修改,把子系统更名为fir4tap ,如图10-7所示。
fir4tap 的内部结构示于图10-8。
然后组成16阶FIR 滤波器模型。
为此复制4个fir4tap ,并将它们衔接起来,前一级的输出端口x4接后一级的x 输入端口。
并附加上16个常数端口,作为FIR 滤波器系数的输入。
把4个子系统fir4tap 的输出端口y 连接起来,接入一个4输入端口的加法器,得到FIR 滤波器的输出yout 。
注意,在完成子系统设计后,要按照第9章中所述的方式,修改其Mask 参数Mask Type 为“SubSystem AlteraBlockSet ”。
设计好的16阶FIR 滤波器见图10-9所示。
第10章 DSP Builder设计深入371图10-7 fir4tap子系统图10-8 fir4tap子系统内部原理图图10-9 16阶直接I型FIR滤波器模型16阶直接I型FIR滤波器模型中,新增加的模块作如下设置:xin模块:(Altbus)库:Altera DSP Builder中IO & Bus库EDA 技术与VHDL372参数“Bus Type ”设为“signed Integer ”参数“Node Type ”设为“Input port ”参数“number of bits ”设为“9”yout 模块:(Altbus )库:Altera DSP Builder 中IO & Bus 库参数“Bus Type ”设为“signed Integer ”参数“Node Type ”设为“Output port ”参数“number of bits ”设为“20”x16模块:(Altbus )库:Altera DSP Builder 中IO & Bus 库参数“Bus Type ”设为“signed Integer ”参数“Node Type ”设为“Output port ”参数“number of bits ”设为“9”Parallel Adder Subtractor 模块:(Parallel Adder Subtractor )库:Altera DSP Builder 中Arithmetic 库参数“Add(+)Sub(-)”设为“++++”使用“Pipeline ”参数“Clock Phaese Selectioon ”设为“1”h0、h1、h2、h3、h4、h5、h6、h7、h8、h9、h10、h11、h12、h13、h14、h15模块:(Delay )库:Altera DSP Builder 中IO & Bus 库参数“Bus Type ”设为“Signed Integer ”参数“number of bits ”设为“9”注意,在图10-9中,对h1~h16统一设置了一个值:255,而实际上滤波器的系数要根据具体要求进行计算的。