Matlab simulink
matlab simulink设计与建模-概述说明以及解释

matlab simulink设计与建模-概述说明以及解释1.引言1.1 概述概述部分的内容可以描述该篇文章的主题和内容的重要性。
可以参考以下写法:引言部分首先概述了文章的主要内容和结构,主要涉及Matlab Simulink的设计与建模方法。
接下来,我们将详细介绍Matlab Simulink 的基本概念、功能和应用,并探讨其在系统设计和仿真建模中的重要性。
本文旨在向读者提供一种全面了解Matlab Simulink的方法,并帮助他们在实际工程项目中运用该工具进行系统设计和模拟。
通过本文的阅读,读者将能够深入了解Matlab Simulink的优势和特点,并学会如何使用其开发和设计各种复杂系统,从而提高工程的效率和准确性。
在接下来的章节中,我们将重点介绍Matlab Simulink的基本概念和设计方法,以及实际案例的应用。
最后,我们将通过总结现有的知识和对未来发展的展望,为读者提供一个全面的Matlab Simulink设计与建模的综合性指南。
1.2文章结构1.2 文章结构本文将以以下几个部分展开对MATLAB Simulink的设计与建模的讨论。
第一部分是引言部分,其中概述了本文的主要内容和目的,并介绍了文章的结构安排。
第二部分是正文部分,主要包括MATLAB Simulink的简介和设计与建模方法。
在MATLAB Simulink简介部分,将介绍该软件的基本概念和功能特点,以及其在系统设计和建模中的优势。
在设计与建模方法部分,将深入讨论MATLAB Simulink的具体应用技巧和方法,包括系统建模、模块化设计、信号流图、仿真等方面的内容。
第三部分是结论部分,主要总结了本文对MATLAB Simulink设计与建模的讨论和分析,并对其未来的发展方向进行了展望。
通过以上结构安排,本文将全面介绍MATLAB Simulink的设计与建模方法,以期为读者提供一个全面而系统的了解,并为相关领域的研究和应用提供一些借鉴和参考。
matlab simulink 有效值模块

matlab simulink 有效值模块摘要:1.简介2.Matlab Simulink 简介3.有效值模块的作用4.有效值模块的参数设置5.有效值模块的应用实例6.总结正文:1.简介Matlab Simulink 是MathWorks 公司开发的一款用于模拟和仿真系统的软件,广泛应用于各种工程领域。
有效值模块是Simulink 中的一个重要模块,用于计算交流信号的有效值。
2.Matlab Simulink 简介Matlab 是一种强大的数学软件,可以进行各种数学计算、绘图和编程操作。
Simulink 是Matlab 的一个插件,用于模拟和仿真动态系统。
它通过图形化界面构建系统模型,用户可以方便地添加、连接和修改各个模块来实现系统的仿真。
3.有效值模块的作用有效值模块的作用是计算输入信号的有效值。
对于交流信号,其有效值反映了信号的能量水平,是信号的一个重要特征。
有效值模块在Simulink 中广泛应用于电力系统、通信系统等对信号能量有要求的领域。
4.有效值模块的参数设置有效值模块的参数设置主要包括以下几个方面:a.信号输入:设置输入信号的类型(例如,直流信号、交流信号等)和数值。
b.计算方法:选择计算有效值的方法,如均方根法、峰值法等。
c.采样周期:设置采样周期,以进行有效值计算。
5.有效值模块的应用实例以交流信号的有效值计算为例,可以通过以下步骤使用有效值模块:a.在Simulink 中打开编辑器,添加有效值模块。
b.设置输入信号类型为交流信号,并设置信号的幅值、频率等参数。
c.设置计算方法,如选择均方根法计算有效值。
d.设置采样周期,以满足有效值计算的精度要求。
e.将有效值模块的输出端口连接到需要使用有效值的地方。
6.总结有效值模块是Matlab Simulink 中用于计算交流信号有效值的重要模块,通过设置相应的参数,可以方便地实现有效值的计算。
matlab simulink 里的矩阵运算

matlab simulink 里的矩阵运算Matlab Simulink 中的矩阵运算矩阵运算是Matlab Simulink 中常用到的一种操作,通过矩阵运算,我们可以进行高效且方便的线性代数计算。
本文将详细介绍Matlab Simulink 中的矩阵运算,并逐步回答与之相关的问题。
一、Matlab Simulink 中的矩阵在Matlab Simulink 中,矩阵是一种经常用到的数据结构。
矩阵是由行和列组成的二维数组,用于存储和处理多个相关数据。
1.1 矩阵的定义和表示在Matlab Simulink 中,可以通过使用方括号"[]" 表示矩阵。
下面是一个简单的例子:A = [1, 2, 3; 4, 5, 6; 7, 8, 9]这个例子定义了一个3x3 的矩阵A,其中包含了9 个元素。
1.2 矩阵的运算Matlab Simulink 提供了一系列矩阵运算函数,用于执行各种矩阵操作。
下面我们将逐步回答与矩阵运算相关的问题。
问题1:如何计算两个矩阵的加法和减法?答:在Matlab Simulink 中,可以使用"+" 运算符执行矩阵的加法操作,使用"-" 运算符执行矩阵的减法操作。
下面是一个示例代码:A = [1, 2; 3, 4];B = [5, 6; 7, 8];C = A + B 矩阵加法D = A - B 矩阵减法在这个示例中,我们定义了两个2x2 的矩阵A 和B,并计算了它们的加法和减法。
结果存储在矩阵C 和D 中。
问题2:如何计算矩阵的乘法?答:在Matlab Simulink 中,可以使用"*" 运算符执行矩阵的乘法操作。
下面是一个示例代码:A = [1, 2; 3, 4];B = [5, 6; 7, 8];E = A * B 矩阵乘法在这个示例中,我们定义了两个2x2 的矩阵A 和B,并计算了它们的乘法。
matlab实验六、SIMULINK基本用法

SubSystem:建立新的封装(Mask)功能模块
5、Sinks(接收器模块) sinks.mdl
Scope:示波器。 XY Graph:显示二维图形。 To Workspace:将输出写入MATLAB的工作空间。 To File(.mat):将输出写入数据文件。
6、Sources(输入源模块) sources.mdl
Derivative:输入信号微分
State-Space:线性状态空间系统模型 Transfer-Fcn:线性传递函数模型 Zero-Pole:以零极点表示的传递函数模型 Memory:存储上一时刻的状态值 Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出
例exp5_2.mdl
exp5_3.mdl
第四节 SIMULINK自定义功能模块
自定义功能模块有两种方法,一种方法是采用Signal&Systems 模块库 中的Subsystem功能模块,利用其编辑区设计组合新的功能模块;另一 种方法是将现有的多个功能模块组合起来,形成新的功能模块。对于 很大的SIMULINK模型,通过自定义功能模块可以简化图形,减少功 能模块的个数,有利于模型的分层构建。 一、方法1 exp5_5.mdl
SIMULINK的基本知识
一、SIMULINK的启动
1、在MATLAB命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗口, 在这个窗口中列出了按功能分类的各种模块的名称。 2 、当然用户也可以通过MATLAB主窗口的快捷按钮来打开 Simulink Library Browser窗口。
matlab simulink模型搭建方法

matlab simulink模型搭建方法Matlab Simulink是一个强大的多领域仿真和模型搭建环境,广泛应用于控制系统、信号处理、通信系统等多个领域。
本文将详细介绍Matlab Simulink模型搭建的方法,帮助您快速掌握这一技能。
一、Simulink基础操作1.启动Simulink:在Matlab命令窗口输入“simulink”,然后按回车键,即可启动Simulink。
2.创建新模型:在Simulink开始页面,点击“新建模型”按钮,或在菜单栏中选择“文件”→“新建”→“模型”,创建一个空白模型。
3.添加模块:在Simulink库浏览器中,找到所需的模块,将其拖拽到模型窗口中。
4.连接模块:将鼠标光标放在一个模块的输出端口上,按住鼠标左键并拖拽到另一个模块的输入端口,松开鼠标左键,完成模块间的连接。
5.参数设置:双击模型窗口中的模块,可以设置模块的参数。
6.模型仿真:在模型窗口中,点击工具栏上的“开始仿真”按钮,或选择“仿真”→“开始仿真”进行模型仿真。
二、常见模块介绍1.源模块:用于生成信号,如Step、Ramp、Sine Wave等。
2.转换模块:用于信号转换和处理,如Gain、Sum、Product、Scope 等。
3.控制模块:用于实现控制算法,如PID Controller、State-Space等。
4.建模模块:用于构建物理系统的数学模型,如Transfer Fcn、State-Space等。
5.仿真模块:用于设置仿真参数,如Stop Time、Solver Options等。
三、模型搭建实例以下以一个简单的线性系统为例,介绍Simulink模型搭建过程。
1.打开Simulink,创建一个空白模型。
2.在库浏览器中找到以下模块,并将其添加到模型窗口中:- Sine Wave(正弦波信号源)- Transfer Fcn(传递函数模块)- Scope(示波器模块)3.连接模块:- 将Sine Wave的输出端口连接到Transfer Fcn的输入端口。
MATLAB-SIMULINK讲解完整版

图3-5 模块的基本操作示例
、按键 、按键 和按键 。
(5) 窗口切换类:包括 6 个按键,分别是按键 、按键
、按键 、按键 、按键 和按键 。
工具栏中各个工具图标及其功能说明见附录 B。
3.2 SIMULINK的基本操作 3.2.1 模块及信号线的基本操作
1. 模块的基本操作 模块是系统模型中最基本的元素,不同模块代表了不同 的功能。各模块的大小、放置方向、标签、属性等都是可以 设置调整的。表3-1列出了SIMULINK中模块基本操作方法 的简单描述。
善模型的外观
标左键
可改变折线的走向, 选中目标节点,按住鼠标左键,拖曳到目标位置,松开鼠
改善模型的外观
标左键
从一个节点引出多 条信号线,应用于不同 目的
方法 1:先按住“Ctrl”键,再选中信号引出点,按住鼠标 左键,拖曳到下级目标模块的信号输入端,松开鼠标左键;
方法 2:先选中信号引出线,然后在信号引出点按住鼠标 右键,拖曳到下级目标模块的信号输入端,松开鼠标右键
如图3-6所示,在模型中加入注释文字,使模型更具可 读性。
图3-6 添加注释文字示例 (a) 未加注释文字;(b) 加入注释文字
3.2.3 子系统的建立与封装 1. 子系统的建立 一般而言,电力系统仿真模型都比较复杂,规模很大,
包含了数量可观的各种模块。如果这些模块都直接显示在 SIMULINK仿真平台窗口中,将显得拥挤、杂乱,不利于用 户建模和分析。可以把实现同一种功能或几种功能的多个模 块组合成一个子系统,从而简化模型,其效果如同其它高级 语言中的子程序和函数功能。
matlab中simulink积分模块
matlab中simulink积分模块1. 引言Simulink是一种在MATLAB环境下进行系统建模与仿真的工具,它提供了一个图形化界面,可通过简单拖拽和连接不同的模块来创建系统模型。
在Simulink中,积分模块是一个常用的组件,用于表示和计算被积函数的积分。
本文将介绍Simulink中的积分模块,并分析其使用方法和应用场景。
2. 积分模块的使用方法在Simulink中,积分模块可通过从库中拖拽相应的图标进行创建。
在创建后,可以设置积分模块的初始值、积分方法等参数。
在仿真过程中,Simulink会自动计算并输出积分结果。
3. 积分模块的应用场景## 3.1. 连续时间系统建模对于连续时间系统,积分模块常用于建立系统的状态方程。
通过将输入信号与积分模块连接,可以实现对输入信号进行积分并输出积分结果,从而描述系统的状态变化。
## 3.2. 离散时间系统建模对于离散时间系统,积分模块也有广泛的应用。
通过调整积分步长和初始值,可以模拟离散时间系统中的积分操作。
积分模块还可以用于实现累加器的功能,例如计算累积误差、计数器等。
## 3.3. 控制系统设计在控制系统设计中,积分模块常用于实现积分控制器。
通过将积分模块与比例控制器等组件连接,可以实现对误差或其他控制信号进行积分,从而改善系统的稳定性和动态性能。
4. 积分模块的优缺点## 4.1. 优点积分模块的优点是能够方便地进行积分计算,无需手动编写积分算法。
同时,积分模块可以自动处理模拟和数字信号之间的转换,适用于不同类型的系统建模和控制设计任务。
## 4.2. 缺点积分模块的缺点是在计算复杂积分或包含奇点的函数时可能会遇到数值稳定性问题。
此外,积分模块的参数设置可能需要一定的经验和调试过程,以确保积分计算的准确性和有效性。
5. 结论Simulink中的积分模块是一个强大且常用的工具,可用于连续时间和离散时间系统建模、控制系统设计等任务。
通过灵活调整参数和连接其他组件,积分模块能够满足不同需求,并提供便捷的积分计算功能。
matlab-simulink初级教程
Simulink仿真环境基础学习Simulink是面向框图的仿真软件。
7.1演示一个Simulink的简单程序【例7.1】创建一个正弦信号的仿真模型。
步骤如下:(1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。
图7.1 Simulink界面(2) 单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。
(3) 在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“Sine Wave”模块就被添加到untitled窗口;也可以用鼠标选中“Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave”模块添加到untitled窗口,如图7.2所示。
(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。
(6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。
如图7.3所示。
(7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。
双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。
matlabsimulink在电机中的仿真
模块化设计
集成优化工具
Simulink的模块化设计使得电机的各个部 分可以独立建模,然后通过模块的连接来 构建完整的系统模型,便于管理和修改。
Matlab提供了多种优化工具,可以对电机 控制系统进行优化设计,提高系统的性能 。
Matlab Simulink在电机仿真中的挑战
模型复杂度
电机的数学模型通常比较复杂,涉及大 量的非线性方程,这给模型的建立和仿
电机仿真的基本方法和流程
数学建模
根据电机的物理原理, 建立电机的数学模型, 包括电路方程、磁路 方程和运动方程等。
参数识别
根据实际电机的参数, 对数学模型进行参数 识别和调整,提高仿 真的准确性。
建立仿真模型
在Matlab Simulink 中建立电机的仿真模 型,包括电机本体和 控制系统的模型。
验证设计
通过仿真可以验证电机的设计是否满足要求, 提前发现并修正设计中的问题。
性能预测
仿真可以帮助预测电机的性能,包括转速、 转矩、效率等,为实际应用提供参考。
控制系统设计
通过仿真可以验证控制系统的设计是否正确, 提高控制系统的稳定性和精度。
降低成本
仿真可以减少试验次数,降低试验成本,缩 短研发周期。
04
案例分析
直流电机仿真案例
总结词
通过Simulink对直流电机进行仿真,可以模拟电机的启动、调速和制动等过程,为实际应用提供理论依据。
详细描述
在直流电机仿真案例中,我们使用Simulink的电机模块库来构建电机的数学模型。通过设置电机的参数,如电枢 电阻、电枢电感、励磁电阻和励磁电感等,可以模拟电机的动态行为。通过改变输入电压或电流,可以模拟电机 的启动、调速和制动等过程,并观察电机的响应特性。
matlab的Simulink简介
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulink;是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。
对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。
.构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。
Simulink与MATLAB® 紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。
丰富的可扩充的预定义模块库交互式的图形编辑器来组合和管理直观的模块图以设计功能的层次性来分割模型,实现对复杂设计的管理通过Model Explorer 导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码提供API用于与其他仿真程序的连接或与手写代码集成使用Embedded MATLAB™模块在Simulink和嵌入式系统执行中调用MATLAB算法使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,Rapid Accelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据模型分析和诊断工具来保证模型的一致性,确定模型中的错误平面连杆机构英文名称:planar linkage mechanism定义:所有构件间的相对运动均在平行平面内运动的连杆机构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab/simulink在FPGA设计中的应用Application in FPGA design of Matlab/simulink杨 守 良YANG Shou-liang渝西学院物理学与电子信息工程系重庆永川 402168 Dept.of Physics & Electronic Information Enginering,Western chongqingUniversity,Yongchuan Chongqing 402168,China摘要:文中首先分析了MATLAB/Simulink中DSP Builder模块库在FPGA设计中优点,然后结合FSK信号的产生原理,给出了如何利用DSP Builder模块库建立FSK信号发生器模型,以及对FSK信号发生器模型进行算法级仿真和生成VHDL语言的方法,并在modelsim 中对FSK信号发生器进行RTL级仿真,最后介绍了在FPGA芯片中实现FSK信号发生器的设计方法。
关键词:Simulink/DSP Builder ;FSK建模;FGPA芯片实现Abstruct: The article analyses the advantage in MATLAB/Simulink of module library of DSP in FPGA design. Second, it makes use of the formulation principle of FSK sign to provide some methods such as how to build the model in Matlab/simulink, how to simulate the grade of algorithms to FSK signal generator model, how to produce VHDL language and carry on RTL grade emulation to FSK signal generator in modelsim,. In the end, it also introduces the way to realize FSK signal generator in FPGA chip. Keywords: FSK;Matlab/simulink;DSP Builde ;the realization of FGPA chip中图分类号:TP271+.82 文献标示码:A文章编号:1、 引言计算机仿真技术是应用电子计算机对研究对象的数学模型进行计算和分析的方法。
而MATLAB是功能强大的数学分析工具、广泛应用于科学计算和工程计算,可以进行复杂的数字信号处理系统的建模、参数估计、性能分析。
Simulink是MATLAB的一个组成部分,用于图形化建模仿真。
DSP Builder作为Simulink中的一个工具箱,使得用FPGA设计DSP系统完全可以通过Simulink的图形化界面进行,只要简单地进行DSP Builder工具箱的模块调用即可。
从而使得一个复杂的电子系统设计变得相当容易而且直观。
将SIMULINK用于DSP系统的仿真研究近几年逐渐成为人们研究的热点。
本文以此为基础,运用DSP Builder工具箱中的部分模块,建立了FSK信号的仿真模型,并通过了可靠的仿真实验直至下载到目标器件FPGA中,并进行了硬件测试。
2SIMULINK下FSK仿真模型的实现2.1 FSK调制原理2FSK信号是用载波频率的变化来表征被传信息的状态的,被调载波的频率随二进制序列0、1状态而变化,即载频为f0代表传0,载频为f1时代表传1。
显然,2FSK信号完全a为被传二进制序列的两种2ASK信号的合可以看成两个分别以f0和f1为载频、以a n和n成。
2FSK 信号的典型时域数学表达式为:()()()012cos cos n s n s FSK t n n s a g t nT t a g t nT t ωω⎡⎤⎡⎤=−+−⎢⎥⎢⎥⎣⎦⎣⎦∑∑ 式中,002f ωπ=,112f ωπ=,n a 是n a 的反码,因为2FSK 属于频率调制,通常可定义其移频键控指数为:1010/s s h f f T f f R =−=−2FSK 信号的产生通常有两种方式:(1)频率选择法;(2)载波调频法。
由于频率选择法产生的2FSK 信号为两个彼此独立的载波振荡器输出信号之和,在二进制码元状态转换时刻,2FSK 信号的相位通常是不连续的,这会不利于已调信号功率谱旁瓣分量的收敛。
载波调频法是在一个直接调频器中产生2FSK 信号,即用数字基带矩形脉冲控制一个振荡器的某些参数,直接改变振荡频率,输出不同频率的信号,这时的已调信号出自同一个振荡器,信号相位在载频变化时始终是连续的,这将有利于已调信号功率旁瓣分量的收敛,使信号功率更集中于信号带宽内,在这里,我们采用的是载波调频法。
2.2 FSK 模型建立根据FSK 信号的产生原理,可以利用FPGA 来实现FSK 信号发生器,但是若采用传统的VHDL 语言来编程实现,显然很复杂,在此采用嵌入在Matlab/simulink 的DSP Builder 来实现,DSP Builder 设计流程的第一步是在MATLAB/Simulink 中进行设计输入,即在MATLAB 的Simulink 环境中建立一个MDL 模型文件,用图形方式调用Altera DSP Builder 和其它的Simulink 库中的图形模块,构成系统级或算法级设计框图(或称Simulink 建模)。
首先打开MATLAB ,然后在MATLAB 主窗口中键入:CD D :/Mkdir /myprj/sinwaveCd /myprj/sinwaveSimulink即在D 盘下建立一个MATLAB的工作目录和启动Simulink ,然后新建一个mdl 文件并取名为fskb.mdl ,然后在Altera DSP Builder 模块中找到相应的模块并调入Simulink 窗口,并将相应模块连接在一起,其fsk 模形如图1所示。
2.3 基于Simulink 的fsk 模型的仿真在FSK 模型窗口中选择“simulink ”菜单,再选“start ”项开始仿真,待仿真结束,双击Scope 模块,打开Scope 观察窗。
其中的仿真波形如图2所示:从FSK 调制的仿真结果可以看出,高电平控制的时候,正弦波的频率较高,而低电平的时候正好相反,至此完成了我们的模型仿真。
2.4 将模型文件转化为VHDL语言文件DSP Builder是一个数字信号处理(DSP)开发工具,它提供了Quartus® II软件和MATLAB/Simulink工具之间的接口,DSP Builder设计实现的关键一步,是通过SignalCompiler把Simulink的模型文件转化成通用的硬件描述语言VHDL文件。
由于Quartus II不能直接处理MATLAB的.mdl文件,这就需要一个转换过程,在DSP Builder模块中有一个比较特殊的模块即SignalCompiler模块,双击此模块即打开Signal Compiler窗口,如图3所示。
设置好相应项后,依次点击Hardware Compilation中的三个按钮即可完成将.mdl文件转化为.vhd文件。
此时在工作目录下可以找到fsk.vhd和fsk.qpf两个文件,此文件正是我们在Quartus II中要用的工程文件。
2.5 验证VHDL代码在Simulink中进行的仿真是属于系统验证性质的,是对MDL文件进行的仿真,并没有对生成的VHDL代码进行过仿真,事实上,生成VHDL描述是RTL级的,是针对具体的硬件结构的,而在MATLAB的Simulink中的模型仿真是算法级(系统级)的,是针对算法实现的,这两者之间有可能存在软件理解上的差异,转换后的VHDL代码实现可能与MDL模型描述的情况不完全相符,这就需要针对生成的RTL级VHDL代码进行功能仿真。
在此我们利用Modelsim来对生成的VHDL代码进行功能仿真。
设置好相应参数确定后,出现如图4所示的仿真波形,可以看到这与Simulink里的仿真结果基本一至。
于是即可在Quartus II环境下对硬件设计。
2.6 在FPGA器件中实现FSK信号打开Quartus II环境,定位到FSKB模型所在的目录,打开DSP Builder建立的Quartus II项目文件:fsk.qpf。
在Quartus II中进行再一次仿真,其仿真波形如图5所示,由此可以看出其波形符合要求,然后指定器件管脚、进行编译、最后下载到FPGA 器件中,就可以对硬件进行测试,加上CLCOK信号和基带信号,用示波器检测D/A(DAC1210)的输出。
将所有控制信号设为有效,就可以在示波器上看到产生的正弦波了。
通过示波器我们得到了理想的正弦曲线,也就是FSK信号。
需要调节频率时,仅修改FSK 模型文件就可以实现,这样不仅避免了繁所的VHDL语言编程,而且便于进行调整。
3 结语由以上设计过程中,我们可以看到基于MATLAB/Simulink的DSP Builder模块库进行DSP系统建模,可以帮助设计者完成基于FPGA的DSP系统设计,设计者不至于陷于复杂的VHDL语言编程,只要对DSP Builder模块库中各模块的基本参数进行简单设置就可以实现复杂电子系统的设计。
而不需要对各模块具体的实现过程进行详细的了解,甚至不需要了解FPGA本身和硬件描述语言。
真正实现了电子系统设计的黑盒子化、积木化和简单化。
参考文献:1、潘松.现代DSP技术[M]西安:西安电子科技大学出版社,20032、姚俊 马松辉.Simulink建模与仿真[M].西安:西安电子科技大学出版社,20023、陈怀琛 吴大正 高西全.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社,20044、薛年喜.MATLAB在数字信号处理中的应用[M].北京:清华大学出版社,20035、黄正瑾 徐坚等.CPLD系统设计技术入门与应用[M].北京:电子工业出版社,20026、金西.VHDL与复杂数字系统设计[M].西安:西安电子科技大学出版社,20037、褚振勇 翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002作者简介:杨守良(1970.07—),男,汉族,本科,物理教育,主要从事现代电子设计研究工作。
Email:cqtcysl@Brief introduction of author:YANG Shou-liang,male(1970.07-), The Han nationality, undergraduate course, physics education, engaged in the modern electron and design research work mainly.通讯地址:重庆永川渝西学院物理学与电子信息工程系 402168Mailing address :Dept.of Physics & Electronic Information Enginering,Western chongqing University,Yongchuan Chongqing 402168,China。