首页 Simulink与信号处理

Simulink与信号处理

举报
开通vip

Simulink与信号处理 ? ? ? ? ? ? ? ? ? ? ? MATLAB开发实例系列图书 Simulink与信号处理 丁亦农 编著 ? ? ? ? ? ? ? ? ? ? ? 内 容 简 介 本书是学习和使用Simulink对信号处理系统进行模拟和仿真的参考书籍,是笔者对多年来在 MathWorks工作期间与公司软件开发人员及众多用户交流、切磋获得的经验、体会的总结和提炼。 全书共8章,介绍了Simulink的基本知识和Simulink的扩展之一———信号处理模块集,并按照一 般信号处理系统的组成方式和信...

Simulink与信号处理
? ? ? ? ? ? ? ? ? ? ? MATLAB开发实例系列图书 Simulink与信号处理 丁亦农 编著 ? ? ? ? ? ? ? ? ? ? ? 内 容 简 介 本书是学习和使用Simulink对信号处理系统进行模拟和仿真的参考书籍,是笔者对多年来在 MathWorks工作期间与公司软件开发人员及众多用户交流、切磋获得的经验、 体会 针灸治疗溃疡性结肠炎昆山之路icu常用仪器的管理名人广告失败案例两会精神体会 的总结和提炼。 全书共8章,介绍了Simulink的基本知识和Simulink的扩展之一———信号处理模块集,并按照一 般信号处理系统的组成方式和信号流程介绍如何用Simulink建立系统模型———包括信号的产生, 信号的滤波,信号的统计参数与信号估计,以及如何在Simulink系统模型中实现复杂的数字信号 处理算法。 这本书的重要特点是在讨论信号处理系统建模时采用了大量实例。全书共提供了近100个 Simulink模型文件,是学习Simulink软件,掌握模块特点和应用场合,进而建立复杂信号处理系统 模型的宝贵参考资料。这本书的另一个重要特点是涉及面广,取材新颖、实用。并且特别介绍了 Simulink近几年引入的几个重要元素,如传统代码工具和内嵌式 MATLAB等。 本书可以作为电气工程、自动控制及其他专业老师、学生,及相关工程技术人员的参考用书。 图书在版编目(CIP)数据 Simulink与信号处理/丁亦农编著.--北京:北 京航空航天大学出版社,2010.8 ISBN978 7 5124 0165 5 Ⅰ.①S… Ⅱ.①丁… Ⅲ.①算法语言—应用—信号 处理 Ⅳ.①TN911.7 中国版本图书馆CIP数据核字(2010)第145941号 版权所有,侵权必究。 Simulink与信号处理 丁亦农 编著 责任编辑 罗晓莉 * 北京航空航天大学出版社出版发行 北京市海淀区学院路37号(邮编100191) http://www.buaapress.com.cn 发行部电话:(010)82317024 传真:(010)82328026 读者信箱:bhpress@263.net 邮购电话:(010)82316936 印刷有限公司印装 各地书店经销 * 开本:787mm×1092mm 1/16 印张:11.75 字数:301千字 2010年8月第1版 2010年8月第1次印刷 印数:4000册 ISBN978 7 5124 0165 5 定价:29.80元(含光盘1张) ? ? ? ? ? ? ? ? ? ? ? 前 言 在我上大学的时候,数字信号处理还是很新的东西。大学四年级下学期,系里开了一门 “数字滤波器”选修课。当时班里年长一点的同学说,数字信号处理是电子工程的未来,所以 我就“随大流”选学了那门课。后来,我有机会去“数字滤波器”课程所用教材的编著者邹理 和教授所在的西安交通大学信号与系统教研室进修,接触了更多这方面的知识。1986年,我 用当时国内极为难得的,美国德州仪器 (TexasInstruments)公司的第一台数字信号处理器产 品———TMS32010,一个8位的数字信号处理器实现了一个用于雷达信号处理的自适应滤波 器,于是开始对数字信号处理产生兴趣,并对如何开发和研究数字信号处理系统有了一些想 法。1988年我在南京航空航天大学任教,那时学校教务处和主管青年教师的校领导很有远 见,鼓励青年教师从事科学研究。因此我在多年实践的基础上提出了用图形框图进行数字信 号处理系统设计和开发的设想,并从学校得到了4000元人民币的科研经费。当时的4000元 差不多是我40个月的工资,作为启动基金还是一个不小的数字。由于我那时在计算机图形 学,图形用户接口的编程方法以及高级程序设计等方面的知识几乎是空白,课题进展极为困 难,后来因为赴美留学,对这一课题的探索只得告一段落。攻读博士学位期间,在几位著名教 授,如我的导师RichardJ.Vaccaro、StevenM.Kay和快速傅里叶变换(FFT)计算机实现的 发明者之一的JamesW.Cooley等指导下,研究方向转向信号处理的理论方面,也没能有机会 继续进行用图形框图进行信号处理系统的模拟与设计的研究。 1994年,我在美国加利佛尼亚州硅谷的创新科技公司(TheJointE-muCreativeTechnol- ogyCenter)进行音乐分析与合成的研究与开发。一位从加州大学伯克利分校毕业的同事向 我介绍了他们学校开发的Ptolemy系统。我发现Ptolemy系统的性能和特点与我当年提出的 用图形框图进行数字信号处理系统的设计和开发的思路极为相似。这一发现让我意识到,由 于认识不足和知识缺乏,我失去了成为这一领域先驱者的机会。当时,除了Ptolemy系统外, MathWorks的Simulink®①,也是一个采用图形框图对系统进行模拟与仿真的软件平台,并已 经作为产品推出,只是其功能与知名度还处于发展的初级阶段。后来,我在德州仪器及三星移 动 (SamsungMobile)的信号处理与通信系统的研究部门工作时,慢慢对Simulink®系统软件 有了不少接触与了解,但真正得到对Simulink及其相关产品的深度 培训 焊锡培训资料ppt免费下载焊接培训教程 ppt 下载特设培训下载班长管理培训下载培训时间表下载 是在我2007年进入 MathWorks的销售部门以后。因此这本书实际上是我对自己学习和使用Simulink®及其其他 模块集(blockset)的体会和经历的一个总结。我希望这样的第一手资料能够为众多渴望了解、 学习和使用Simulink的教授、学生、工程技术人员和管理干部起到一个抛砖引玉的作用。 Simulink由Simulink引擎和一个包含了众多系统基本模块的Simulink基本模块库组 成。多年来,在不断的版本更新过程中,MathWorks为Simulink增加了许多以各种应用为核 心的扩展模块库,如以信号处理应用为目的的信号处理模块集 (signalprocessingblockset), 以通信系统的模拟、仿真为核心的通信模块集(communicationsblockset)等。我们在这本书 ① Simulink®是 MathWorks公司的注册商标,本书其余各处均用Simulink代替Simulink®。 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 Ⅱ 中只讨论Simulink以及信号处理模块集。在讨论信号处理模块集时,我试图以一个一般的信 号处理系统的流程为参考,先讨论信号的产生,进而讨论信号处理系统的主要操作,如信号的 滤波,信号的参数估计等,然后介绍如何处理在建立信号处理系统时可能遇到的特殊问题,例 如,如何在Simulink系统模型中实现复杂的数字信号处理算法等。 这本书共有8章。第1章是对Simulink软件平台的简单介绍,包括对Simulink的工作原 理的简单描述。通过这一章读者可以对Simulink的工作机理有所了解,并对Simulink在对动 态系统进行模拟和仿真时采用的基本术语和重要概念,如系统状态、采样时间、模块参数,系统 与子系统等,有一个比较明确的概念。 第2章介绍Simulink的基本知识。对Simulink的基本操作,如何用Simulink建立系统 模型以及进行系统仿真作了比较详细的讨论。这一章还集中讨论了Simulink基本模块库的 14个子模块库。在讨论每一个模块子库时,本书从中挑选几个重要和常用的模块,通过实际 的建模实例,说明它们的功能、用途、参数设置、与其他模块连接时的相互作用和其他关键的注 意事项。 从第3章起,注意力从基本的Simulink转移到信号处理模块集。第3章是对Simulink信 号处理模块集的一个综览,涉及用Simulink建立信号处理系统模型时遇到的几个重要概念, 如样本信号和帧信号;模块延迟与反应时间。掌握这些重要概念对选用合适的建模模块,理解 模型中信号的通道与流向以及相应的操作,建立优化的信号处理系统模型起着极为关键的作 用。 第4章是关于信号的产生。对于任何一个信号处理系统,知道这个系统处理的信号是什 么极为重要。这一章中将讨论如何用Simulink的信号处理模块集提供的模块产生信号处理 系统的输入信号,包括如何将一个等候处理的信号,如不间断采样的语音信号、由随机数产生 器不断生成的随机序列、一幅图像等,输入Simulink系统模型。本章将既介绍如何产生离散 信号,也讨论连续信号的产生。 第5章讨论信号处理系统的最重要的操作之一———信号的滤波。这一章首先 介绍信 介绍信下载公积金单位开户办理介绍信下载单位介绍信范文下载公积金单位开户办理介绍信下载介绍信文本下载 号处 理模块集滤波器设计子模块库。利用这个子模块库中的模块可以设计和实现各种类型的数字 和模拟滤波器;接着讨论自适应与多采样率滤波器的设计与实现。这一章还用一整节的篇幅 详细介绍了一个用于全球无线通信系统(GlobalSystemsofMobileCommunications)的数字 下转换器(DigitalDownConverter)的多级、多采样率数字滤波器的设计实例。 信号估计,包括信号的统计参数估计、模型参数与信号的谱密度估计是信号处理的另一个 重要手段与操作之一。信号处理模块集的统计(statistics)与估计(estimation)两个模块库为 进行这一方面的信号处理系统模拟提供了许多有效和实用的模块。第6章介绍这些模块的功 能与应用,并提供利用这些模块进行系统建模的实际例子。 由于不涉及信号处理的理论,本书对信号管理(signalmanagement)和信号操作(signal operations)等几个信号处理模块集的模块库没有着墨。但是这些模块库中的一些重要模块在 许多建模实例中多次采用,像数据缓冲器(buffer)模块等。读者可以通过对书中提供的建模 实例的学习和研究,自行理解和领会这些模块的功能和应用。 Simulink为建立信号处理系统模型提供了大量的基本模块。一般说来,利用这些基本模 块,可以搭建各种类型的数字信号处理系统模型。但是,对于某些含有特殊的或者极其复杂 的数字信号处理算法的系统,仅仅利用这些已有的Simulink模块建立系统模型往往费时、费 Simulink与信号处理 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 Ⅲ 力,并且会使建立的系统模型变得不必要的复杂,降低了系统模型的可读性。为此,第7章介 绍了如何在建立信号处理系统模型时,通过采用自定义模块更方便、更有效地实现复杂的数字 信号处理算法。这一章特别讨论了S-函数的特征与类型、工作原理以及S-函数在Simulink中 的实现与使用;MathWorks近年推出的传统代码工具(legacycodetool);和内嵌式 MAT- LAB(EmbeddedMATLAB)。 第8章提供了综合应用前面章节中介绍的Simulink的知识、建模手段和技巧建立较为完 整的信号处理系统模型、并进行模拟与仿真的例子。由于篇幅限制,本章只讲述了在建立系统 模型时的主要考量,许多细节问题,如模块的选用,建模手段的取舍等,需要读者在研究和运行 这些系统模型时认真地体会和探索。 这本书的一个重要特征是在讨论Simulink的工作原理、Simulink的基本模块库以及用 Simulink建立信号处理系统模型时采用了大量实例,提供了近100个Simulink模型文件。这 些建模实例建立在 MATLAB/Simulink的R2009a的版本之上,并逐个进行了测试。它们是 学习Simulink软件,掌握模块特征和应用场合,进而建立复杂信号处理系统模型的重要参考 资料。本书的另一个重要特征是涉及面广,取材新颖、实用。本书介绍了Simulink近几年引 入的几个重要元素,如第7章中介绍的传统代码工具和内嵌式 MATLAB。使用传统代码工 具已经成为在用Simulink建立系统模型时采用C代码的主要手段;而内嵌式 MATLAB的引 入,为用Simulink进行系统建模,模拟,仿真及系统实现提供了不可或缺的,与Simulink图形 编程、图形表达互补的文字编程功能。本书引用了部分版权为 MathWorks公司所有的模型 与其他资料。凡书中注有“CopyrightTheMathWorks,Inc.”字样的内容其版权均归属 Math- Works公司,且作者已获 MathWorks公司批准,在本书中使用。同时,本书中许多技术语言 的使用与 MathWorks公司技术语言 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 保持一致。如过去 MATLAB文件简称为 M文件,公 司从今年起废除了这一简称本书中也不再使用 M文件这一说法。 在这本书的出版之际,我想利用这个机会向我的工作单位 MathWorks,Inc.表示谢忱之 意,感谢 MathWorks为我提供了很好的工作环境和资源上的支持,没有这些环境和资源的支 持,现在出版这本书是不可能的。我衷心希望这本书能给希望学习或者已经在使用Simulink 的读者提供较大的帮助,从而为扩大Simulink的用户群起到积极的推进作用。最后,我要感 谢北京航空航天大学出版社及其编辑。编辑们的敬业和对图书质量的不断追求都给我留下了 深刻印象。很显然,没有他们的全力支持和努力工作,现在出版这本书也是不可能的。 丁亦农 Plano,Texas,USA 前 言 ? ? ? ? ? ? ? ? ? ? ? 目 录 第1章 Simulink简介 1…………………………………………………………………………… 1.1 什么是Simulink 1………………………………………………………………………… 1.2 Simulink的工作原理 3…………………………………………………………………… 1.2.1 动态系统的模拟 3…………………………………………………………………… 1.2.2 动态系统的仿真 7…………………………………………………………………… 1.2.3 Simulink求解器 9…………………………………………………………………… 第2章 Simulink的基本知识 11………………………………………………………………… 2.1 Simulink的基本操作 11………………………………………………………………… 2.1.1 启动Simulink 11…………………………………………………………………… 2.1.2 打开系统模型 12……………………………………………………………………… 2.1.3 输入Simulink命令 12……………………………………………………………… 2.1.4 保存系统模型 14……………………………………………………………………… 2.1.5 打印模型框图 15……………………………………………………………………… 2.1.6 常用鼠标和键盘操作 16……………………………………………………………… 2.2 用Simulink建立系统模型 16…………………………………………………………… 2.2.1 系统框图 17…………………………………………………………………………… 2.2.2 模块的选择 18………………………………………………………………………… 2.2.3 模块的连接 18………………………………………………………………………… 2.2.4 设置模块参数和添加评注 19………………………………………………………… 2.2.5 建立子系统 22………………………………………………………………………… 2.2.6 条件执行子系统 23…………………………………………………………………… 2.2.7 使用回调子程序 25…………………………………………………………………… 2.2.8 模型参照 26…………………………………………………………………………… 2.2.9 Simulink模型工作区 26…………………………………………………………… 2.3 Simulink的模块 27……………………………………………………………………… 2.3.1 Simulink的基本模块 27…………………………………………………………… 2.3.2 常用模块子集 28……………………………………………………………………… 2.3.3 连续时间模块子集 32………………………………………………………………… 2.3.4 非连续时间模块子集 33……………………………………………………………… 2.3.5 离散模块子集 35……………………………………………………………………… 2.3.6 逻辑与位操作模块子集 37…………………………………………………………… 2.3.7 查表模块子集 38……………………………………………………………………… 2.3.8 数学运算模块子集 44………………………………………………………………… 2.3.9 端口与子系统模块子集 46…………………………………………………………… ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 2 2.3.10 信号特征模块子集 49………………………………………………………………… 2.3.11 信号路径模块子集 52……………………………………………………………… 2.3.12 汇集模块子集 55…………………………………………………………………… 2.3.13 源模块子集 55……………………………………………………………………… 2.3.14 用户自定义函数模块子集 56……………………………………………………… 2.4 用Simulink进行系统仿真 57…………………………………………………………… 2.4.1 Simulink求解器的选择 58………………………………………………………… 2.4.2 仿真性能及精度的改善 63…………………………………………………………… 第3章 Simulink的扩展———信号处理模块集 65……………………………………………… 3.1 几个重要概念 65…………………………………………………………………………… 3.1.1 信 号 65……………………………………………………………………………… 3.1.2 信号的采样时间 65…………………………………………………………………… 3.1.3 样本信号 65…………………………………………………………………………… 3.1.4 帧信号 68……………………………………………………………………………… 3.2 信号处理模块集的特征 71………………………………………………………………… 3.2.1 帧操作 71……………………………………………………………………………… 3.2.2 矩阵操作 72…………………………………………………………………………… 3.2.3 数据类型支持 72……………………………………………………………………… 3.2.4 复杂的信号处理操作 73……………………………………………………………… 3.2.5 实时代码生成 73……………………………………………………………………… 3.3 采样速率与帧频率 73……………………………………………………………………… 3.3.1 采样速率与帧频率的 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 73………………………………………………………… 3.3.2 帧信号Simulink模型中的采样率 75……………………………………………… 3.4 模块延迟 (Delay)与反应时间 (Latency) 75…………………………………………… 3.4.1 模块延时的类型 76…………………………………………………………………… 3.4.2 模块反应时间 76……………………………………………………………………… 第4章 信号的产生 81…………………………………………………………………………… 4.1 离散时间信号 81…………………………………………………………………………… 4.1.1 有关时间与频率的技术术语及定义 81……………………………………………… 4.1.2 进行离散时间系统仿真时Simulink的设置 82…………………………………… 4.1.3 Simulink的其他设置 83…………………………………………………………… 4.2 连续时间信号 85…………………………………………………………………………… 4.3 信号的产生 85……………………………………………………………………………… 4.3.1 用常数模块产生信号 85……………………………………………………………… 4.3.2 用信号发生器模块产生信号 86……………………………………………………… 4.3.3 用来自工作区信号模块产生信号 88………………………………………………… 4.3.4 随机信号的产生 89…………………………………………………………………… 第5章 信号的滤波 91…………………………………………………………………………… 5.1 滤波器结构及滤波器的特征指标 91……………………………………………………… Simulink与信号处理 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 3 5.2 滤波器设计子模块库 94…………………………………………………………………… 5.2.1 模拟滤波器的设计 95………………………………………………………………… 5.2.2 数字滤波器的设计 96………………………………………………………………… 5.2.3 使用离散傅里叶变换进行数字滤波 97……………………………………………… 5.3 自适应滤波器的实现 99…………………………………………………………………… 5.4 多采样率滤波器的设计实例 102………………………………………………………… 5.4.1 CIC滤波器的设计 104……………………………………………………………… 5.4.2 CIC滤波器的分析与量化 106……………………………………………………… 5.4.3 补偿FIR滤波器的设计 109………………………………………………………… 5.4.4 补偿FIR滤波器的量化与分析 110………………………………………………… 5.4.5 编程可调FIR滤波器的设计 113…………………………………………………… 5.5 用 MATLAB滤波器工具箱GUI进行滤波器设计 114………………………………… 第6章 信号的统计参数与信号估计 121………………………………………………………… 6.1 信号统计参数的估计与显示 121………………………………………………………… 6.1.1 基本工作模式(BasicOperations) 122……………………………………………… 6.1.2 流水工作模式(RunningOperations) 122………………………………………… 6.1.3 增容工作模式 124…………………………………………………………………… 6.2 线性预测 125……………………………………………………………………………… 6.2.1 自相关函数与线性预测系数的关系 125…………………………………………… 6.2.2 莱文森—德宾(Levinson-Durbin)迭代 126………………………………………… 6.3 自回归过程的参数估计 129……………………………………………………………… 6.3.1 自回归过程参数的估计方法 130…………………………………………………… 6.3.2 自回归参数的估计模块 132………………………………………………………… 6.4 自回归过程的功率谱密度估计 134……………………………………………………… 第7章 复杂数字信号处理算法的实现 137……………………………………………………… 7.1 在Simulink中使用自定义模块 137……………………………………………………… 7.1.1 Fcn和 MATLABFcn模块 137…………………………………………………… 7.1.2 EmbeddedMATLABFunction模块 139………………………………………… 7.2 关于S-函数(S-Function) 142…………………………………………………………… 7.2.1 S-函数的特征与类型 142…………………………………………………………… 7.2.2 S-函数的工作原理 143……………………………………………………………… 7.2.3 S-函数的实现与使用 144…………………………………………………………… 7.3 在Simulink中使用C程序 146…………………………………………………………… 7.4 再谈内嵌式 MATLAB 148……………………………………………………………… 7.4.1 内嵌式 MATLAB的特征 148……………………………………………………… 7.4.2 内嵌式 MATLAB的主要命令 149………………………………………………… 7.4.3 内嵌式 MATLAB的编程实例 150………………………………………………… 第8章 信号处理系统的建模与仿真实例 153…………………………………………………… 8.1 在多输入多输出(MIMO)通信接收机中采用逐个干扰相消 153……………………… 目 录 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 4 8.1.1 背景知识 153………………………………………………………………………… 8.1.2 逐个干扰相消的工作原理 154……………………………………………………… 8.1.3 MIMO-OFDM系统模型概述 156…………………………………………………… 8.1.4 信道子系统 158……………………………………………………………………… 8.1.5 最小均方误差检测子系统 162……………………………………………………… 8.1.6 干扰相消与检测子系统 163………………………………………………………… 8.1.7 系统模拟与仿真 163………………………………………………………………… 8.2 滤波器滑变 (Morphing)在音频信号处理中的应用 164……………………………… 8.2.1 数字滤波器结构 164………………………………………………………………… 8.2.2 阿玛的罗滑变 167…………………………………………………………………… 8.2.3 滤波器滑变系统模型概述 170……………………………………………………… 8.2.4 滤波器滑变系统模型的子系统 172………………………………………………… 索 引 175…………………………………………………………………………………………… 参考文献 178………………………………………………………………………………………… Simulink与信号处理 ? ? ? ? ? ? ? ? ? ? ? 第1章 Simulink简介 1.1 什么是Simulink Simulink是一个与 MATLAB融为一体,对动态系统进行模拟、仿真和分析的应用软件。 这样的动态系统可以是线性的、也可以是非线性的,可以是连续的、离散的,或者是两者混合的 系统。用Simulink还可以对多速率系统进行有效的模拟、仿真和分析。 Simulink是基于模型的系统设计方法的平台和工具 在建立系统模型的基础上进行系统设计是一个以系统模型为中心、以实现系统的要求和 指标为目的进行系统的设计、实现、测试及验证的过程。在这一过程中,通过建模把通常以文 字表达的对系统的要求、指标及规范转化成为一个可执行的系统模型。这一模型所代表的不 仅仅是一个理想化、线性化的系统,而是在考虑并反映了实际系统及运行中可能存在的非线 性、系统内部噪声、系统外部干扰等种种现象后得到的一个对系统的描述。使用Simulink等 于是把用户的计算机变成了一个模拟和分析各种类型系统的实验室。 Simulink的图形用户接口(GUI,GraphicalUserInterface)使用户能像用纸和笔构画系统 方框图那样用Simulink提供的系统基本模块建立系统模型。Simulink提供的系统基本模块 库包括各类信号源,信号终端 (显示、示波器等),各类线性和非线性器件、连线、接插件等。 如果Simulink提供的模块不能满足需要,用户可以建立自定义模块。Simulink提供的交互式 图形环境极大地简化了建模过程,用户没有必要再像使用其他工具语言或程序那样去建立描 述系统的微分或差分方程式了。 用Simulink建立的系统模型是多层次的。用户可以采用自上而下或自下而上的方法来 建模。当在上一个层次观察系统模型时,双击一个系统模块就可以进入下一个层次。这种方 法的一个优点是系统模型简洁明了,可以让最上层的模型中只包含构成系统的主要子系统模 块,而把各个子系统的细节隐藏在各个子系统的模块中。如果有必要了解某个子系统的组成 和细节,只要双击该子系统模块即可。多层次系统模型的另一个好处是,这样的建模方式可以 帮助用户更加深刻地了解系统的组成以及系统的各个部分是如何联系在一起并相互作用的。 图1 1所示是一个音频信号的音响效果处理系统模型。图1 1(a)是该系统的最上层 的系统模型。该系统可对输入的单声道音频信号添加两种音响效果:立体声效果和Flanging 效果。音响效果的选择是通过模型上部的手动转换开关来实现的。如果不关心各种音响效果 的实现细节,观察图1 1(a)这个最上层的系统模型就可以了。利用这个系统可以体验对单 声道音频信号进行处理的实际效果。利用模型中下部的两个按钮,可以把原始音频信号和处 理后的信号送到计算机所带的扬声器仔细倾听它们之间的差别,并且判断处理的效果是否达 到了设计要求。如果有必要对处理的细节作修改,如改变处理子系统的一些参数,就必须了解 音响效果处理子系统的组成、采用的算法等。如前所述,这可以通过双击处理子系统的模块来 做到。图1 1(b)就是双击Flanging效果处理子系统后所得到的该子系统的模型。从这个 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 2 子系统模型可以看出,Flanging效果处理实际上是把一个原始信号进行可变量延迟后再和原 始信号合成(叠加)的过程。延迟量的变化是通过一个幅度为15的正弦波与一个常数20相 加来得到的。加上一个常数20是为了保证延迟量始终是一个大于零的值。图1 1中的系统 模型包含在本书所附的光盘中,读者可以自己进行多种实验,体会用Simulink进行系统模拟、 仿真和分析的过程。 图1 1 音频信号的音响效果处理系统模型 Simulink是进行交互式系统仿真的工具 使用Simulink可以进行交互式的系统仿真。可以在系统模型运行的时候改变参数并且 Simulink与信号处理 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 3 能马上看到参数改变对系统性能的影响。在Simulink中,MATLAB提供的所有分析工具都 可以使用,因此可以对系统仿真的结果进行分析和观察。Simulink提供多种示波器模块和其 他显示模块,使用这些模块可以在仿真运行的过程中观察仿真结果,随时修改系统模型和调整 仿真参数。 1.2 Simulink的工作原理 凡是像Simulink这样复杂的系统模拟,仿真软件在运行前都要对软件系统进行设置,也 就是要设定软件系统工作环境的一些基本参数。这些参数对于用户来说,有的是直接明了的; 有些是隐含的;有些是一定要使用者作出选择和规定的;有些则是可以使用系统预设的。一方 面,要让一个软件系统工作在一个合适的状态,这些参数的设定极为重要;另一方面,对一个软 件用户,如何选择合适的系统运行参数往往极为棘手。对初学者来说,更常常是无从下手,不 知所措。本节将简单讨论Simulink的工作原理。希望通过对工作原理的了解,能对系统参数 的内涵,以及它们对系统运行的影响有一个初步的认识。从而为我们在实际中对系统参数的 设定有所帮助。 一个输出随时间的变化而变化的系统通常被称为动态系统。Simulink是对动态系统进 行模拟、仿真和分析的软件。Simulink可以用来研究大量现实世界中存在的各种各样的动态 系统。它们可以是电子线路系统,通信系统,其他机电、热动力系统等。使用Simulink对一个 动态系统进行仿真可以分两步走。第一步是需要建立一个系统模型,或者叫系统方框图。这 样的方框图用图形描述了系统的输入、状态和输出之间依赖于时间的数学关系。第二步就是 让Simulink对由上述框图或模型所代表的系统在某个规定的时间区段上,即从某个时间起至 某个时间止,进行仿真。 1.2.1 动态系统的模拟 一个Simulink系统框图或模型是一个动态系统数学模型的图形表示。一个动态系统的 数学模型通常可以用一组方程式来描述。这样的数学方程式叫做代数、微分或差分方程。用 Simulink对动态系统进行模拟涉及到下面一些重要概念。 1.框图符号 传统上,动态系统的框图模型由方框(或者称为模块)及连线组成。这一表示方法起源于 反馈控制理论、信号处理等工程领域。一个框图中的每个方框或模块都代表着一个基本动态 系统。框图中基本动态系统间的关系是通过连接模块的信号来描述的。框图中所有模块和连 线集合在一起描述了一个总的动态系统。 Simulink沿用了这些传统的框图模型,并将构成框图的模块分成两大类:一类是非虚拟 模块;另一类则是虚拟模块。非虚拟模块代表的是基本系统,而虚拟模块则是为图形的组合、 描绘的方便而设置的。这些虚拟模块对建立由框图模型表示的系统方程并不起什么作用。总 线产生器和总线选择器就是这样的虚拟模块的例子。它们的作用仅仅是为了不使框图过分拥 挤而把一组信号“捆绑”在一起。采用虚拟模块可以使模型变得更简洁、明了,从而具有更强 的可读性。应该注意到的是,一般的流程图也是由模块及连线组成的。但是很多动态系统的 描述仅仅借助于流程图还远远不够。 第1章 Simulink简介 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 4 通常,用“基于时间的模型”来把描述动态系统的模型与其他形式的模型区分开来。在 Simulink里,讨论的系统几乎都是动态系统。因此,本书就简单地把“基于时间的模型”简称 为模型。除非有必要,本书不再对这两种叫法加以区分。 一个基于时间的模型具有以下的一些含义: •Simulink模型确立了信号与状态变量之间随时间的变化而变化的相互关系。在用户 规定的“起始时间”和“结束时间”之间的所有时间点上这些相互关系的取值构成了系统模型 的解。对这些相互关系取值的时间间隔被称为时步。 • 信号是随时间变化而变化的物理量。这样的物理量在模型的起始与结束间的所有时 间点上都具有确切的定义。 • 由所有模块代表的一组方程式确立了系统信号与状态变量之间的相互关系。而每个 模块也是由一组方程式组成的,它们确立了该模块的输入信号、输出信号及模块的状态变量之 间的相互关系。与方程式随之而来的是一个叫做“参数”的概念,它们是方程式中的方程变量 的系数。 2.建立模型 利用Simulink提供的图形编辑器,可以把从Simulink模块库中选取的各种模块连接起来 以建成所需的系统模型。Simulink的库浏览器中罗列了按应用领域和模块功能分类的多个 模块库。这些Simulink模块库里提供的模块大多是基本的建模模块。这些模块通常称为“内 建模块”。用户也可以根据自己的要求产生和建立自己的模块。这一类模块就称为“自建模 块”。第2章将更详细地介绍如何用Simulink提供的基本模块建立系统模型。 3.时 间 时间是框图模型的一个内在分量,因为框图模型的仿真输出是随时间的变化而变化的。 换句话说,一个框图模型代表的是动态系统一个瞬间的行为。要得到系统随时间变化的全部 行为就必须在一个时间区段上按一定的时间间隔,即时步,反复地执行系统模型。Simulink 把这种在连续时步点上反复执行系统模型的过程称为对该模型所代表的动态系统的仿真。 4.状 态 一般说来,一个系统或模型及其输出的当前值是某些时变变量过去值的函数。这些时变 变量通常称为状态。要计算一个框图模型的输出就需要把状态变量在当前时步点的值储存下 来以供下一个时步点计算输出之用。 Simulink模型中的变量可以有两种状态,即连续状态和离散状态。连续状态是连续变化 的。一辆汽车所在的位置和速度就是连续状态的例子。离散状态是对连续状态的一种近似。 离散状态只在一个周期性或非周期性的有限时间间隔点上更新或取值。一个数字化的里程表 所表示的一辆汽车所在的位置就是离散状态的例子,因为数字里程表是不连续更新的。譬如, 有的数字里程表每秒钟才更新一次。当一个离散状态更新或取值的时间间隔趋于零时,该离 散状态就等同于连续状态。 一个模型的状态是由一些模块隐含定义的。特别地,如果一个模块的输出需要用其过去 图1 2 具有状态的Simulink模块图形表示 的一些或全部的值来计算当前值,那么该模块就定 义了一组状态,这些状态在时步间的取值就必须储 存起来。一般称这一类模块具有状态并用图1 2 来表示。 Simulink与信号处理 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 5 含有连续状态的Simulink的基本模块有积分器模块、状态空间模块、传递函数模块和零 极点模块。一个模型的状态的总数是其所有模块所定义的状态数的总和。Simulink在仿真 的编译阶段,对系统框图进行分析,确定该框图所含模块的类型并把各类模块所定义的状态综 合起来以确定系统状态的总数。 连续状态 计算连续状态需要知道其变化的速率,即导数。而一个连续状态的变化率本身一般说来 也在连续变化,也就是说,变化率本身也是一个状态变量。要计算一个连续状态的当前值就必 须对从仿真开始至当前时间的状态值进行积分。因此模拟连续状态包含积分操作和计算每个 时间点上状态导数的过程。Simulink用积分器模块实现积分操作,并通过连接到该积分器模 块的其他一系列模块实现计算状态导数的方法。Simulink通过图形描述常微分方程(ODE, OrdinaryDifferentialEquation),进而描述现实世界中的动态系统。 一般来说,除了简单的情况外,描述现实世界中的动态系统的常微分方程并不存在解析 解。求解常微分方程的解,通常通过数值方法来实现。不同的常微分方程的数值解法对计算 的复杂度和求解的准确度有着不同的考虑和兼顾。Simulink提供了大多数常用的常微分方 程的数值解法,用户可根据自己的要求选择合适的解法。 如前所述,连续状态的当前值是对该状态的值从仿真开始起进行积分得到的。数值的准 确度取决于时步的大小,时步越小,仿真就越精确。有些常微分方程的求解器,其步长可变,求 解器可以根据状态的变化速度,自动地调整步长以使整个仿真达到预先规定的精度。在Sim- ulink里,如果采用固定步长求解器,用户可以规定步长的大小。如果采用可变步长求解器,步 长则由求解器决定。为了尽可能减少计算量,可变步长求解器在考虑到使变化率最大的状态 也能达到用户规定的总的精度要求的条件下选取最大的步长。 离散状态 求解离散状态需要知道当前时间与状态在前一更新时间的取值之间的关系。Simulink 把这一关系称之为状态的更新函数。一个离散状态不仅与该状态在前一时步点的取值有关, 也取决于模型的输入。因此模拟一个离散状态就必须模拟该状态对系统在前一时步点的输入 的依赖关系。Simulink用称为离散模块的特殊形式的模块来描述更新函数及模拟系统状态 对系统输入的依赖关系。 与连续状态一样,离散状态对仿真的时步大小也有一定限制。具体地说,时步大小的选择 必须保证模型中各状态变量的离散采样点也是时步点。通常把对步长选择的这一限制简称为 步长选择的采样点限制。满足这一限制的任务是由Simulink的离散求解器来完成的。Simu- link提供了两种离散求解器:固定步长离散求解器和可变步长离散求解器。固定步长求解器 根据前述限制确定其步长,即不管系统状态是否在离散采样点上改变取值,模型中所有状态的 离散采样点必须也是时步点。而可变步长离散求解器不断变化步长以保证时步点只出现在状 态改变取值的离散采样点上。 模拟混合系统 既含有离散状态也含有连续状态的系统是混合系统。严格来讲,混合系统是因为有了连 续和离散采样时间才导致连续和离散状态的出现。在求解这样一个混合系统时,步长的选择 必须既满足连续状态中对积分的精度限制,也同时满足离散状态下的采样点限制。为满足这 一要求,Simulink先由离散求解器确定其下一个与时步点重合的采样点,然后由连续求解器 第1章 Simulink简介 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 6 确定下一个时步点,新的时步点可以因为精度限制其跨度达不到上述采样点,但不能超越这个 采样点。 5.模块参数 Simulink提供的许多模块的主要性质是通过参数来表达的。例如常数模块的常数值就 是常数模块的一个参数。通过模块对话框,用户可以设定参数化模块的参数值,也可以用 MATLAB的表达式来设定参数值。Simulink在仿真运行前会首先执行那些 MATLAB表达 式。还可以在仿真运行过程中改变参数值,这就可以交互式地确定什么是参数的最佳取值。 参数化的模块实际上代表了同一类相似的模块。譬如,在建模时对不同场合下的常数模 块设定不同的参数即常数值,那么这些常数模块的作用在不同的场合下就会是不同的。因此 将模块参数化极大地增强了Simulink基本模块的模拟能力。 参数的变化随之带来的是模型含义的变化。Simulink允许用户在模型执行过程中修改 模块参数。应该指出的是,模型运行时参数的变化并不马上发生作用,而是要等到下一个时步 点才会生效。 6.可调参数 如果Simulink模型在执行时,一个参数的取值可以变化,那么这个参数就称为可调参数。 很多模块参数都是可调的。举例来说,增益模块的增益参数就是可调的。在Simulink运行 时,可以改变增益的数值。如果一个参数是不可调的,那么Simulink在运行时就会让对设定 该参数的对话框的控制失去作用。Simulink可以由用户指定哪些参数可调,哪些不可调。可 调参数的减少可加快模型的执行速度,也可以获得运行更快的(从Simulink模型产生的)源 代码。 7.模块采样时间 Simulink里的每个模块都有一个采样时间,即使对连续模块,像定义了连续状态的模块, 如积分器等,以及不定义任何状态的模块,如增益模块等,也是如此。离散模块的采样时间通 过模块的采样时间参数来指定,而连续模块的采样时间则被认为是无限小或者称为连续采样 时间。一个既不是离散也不是连续的模块的采样时间是不言明的、隐含的。它们的采样时间 由其输入信号决定。如果该模块的任何一个输入是连续的,那么这个模块的采样时间就是连 续的,否则这个模块的采样时间就是离散的。如果所有输入信号的采样时间都是某个最短采 样时间的整数倍,那么这个最短的采样时间就是该模块的隐含的离散采样时间,否则隐含的离 散采样时间等于其输入的基本采样时间。基本采样时间就是一组采样时间的最大公约数。 Simulink有时用色码来标识模块的采样时间,如黑色(连续采样)、深红(固定采样时间)、 黄色(混合采样)、红色(最快的离散采样时间)等。 8.自定义模块 Simulink允许用户建立自定义模块库。自定义模块既可以用图形也可以用编程的办法 来实现。用图形实现时,需要先画出描述模块功能的框图,然而把这个框图置于一个Simulink 子系统中,最后利用所谓“加面具”的办法给该子系统模块加上参数对话就形成了一个用图形 建立的自定义模块。 如果通过编程的办法来实现,可以先写一个 MATLAB文件或 MEX文件。这样的文件 因含有模块的系统函数,而被称为S 函数。将该文件与一个空置的SimulinkS 函数模块对 应起来,即形成用户需要的自定义模块。与建立图形式的自定义模块一样,可将该S 函数自 Simulink与信号处理 ? ? ? ? ? ? ? ? ? ? ? 若 您 对 此 书 内 容 有 任 何 疑 问 , 可 以 凭 在 线 交 流 卡 登 录 中 文 论 坛 与 作 者 交 流。 7 定义模块置于一个Simulink子系统中并给该子系统加上参数对话。 9.系统与子系统 Simulink系统框图可以由多个层次组成,每一层次都定义了一个子系统。子系统是总的 系统框图的一个部分,但其本身并不独立形成一个模型框图。建立子系统的主要目的是为了 把一个复杂的系统模型框图组织得更有条理,结构更为清晰。 如同模块的分类一样,子系统也分成两类,虚拟子系统与非虚拟子系统。它们的主要差别 在于非虚拟的子系统的执行与取值的过程是可控的。 模型等级的平坦化 Simulink在准备模型执行时,会把需要在一起进行运算取值的方程(或叫模块法)收集起 来以产生所谓的“内部系统”。这是与通常的基于时间的框图所不同的地方,Si
本文档为【Simulink与信号处理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_784946
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:38
分类:互联网
上传时间:2011-08-30
浏览量:266