资源描述:
《CDMA多用户检测的Simulink仿真研究样本.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。第四章仿真环境介绍及模型的建立4.1MATLAB&Simulink简介MATLAB软件系列产品是一套高效强大的工程技术数值运算和系统仿真软件,广泛应用于当今的航空航天、汽车制造、半导体制造、电子通信、医学研究、财经研究和高等教育等领域,被誉为”巨人肩膀上的工具”。研发人员借助MATLAB软件能迅速测试设计构想,综合评测系统性能,快速设计更好方案来确保更高技术要求。同时,MATLAB也是国家教委重点提倡的一种计算工具。综合起来,MATLAB有编程效率
2、高、使用方便、扩充能力强、语句简单,内涵丰富、高效方便的矩阵和数组运算、方便的绘图功能等特点。动态系统是输出信号随时间变化的系统。要描述这种系统的特性,传统的建模方法是先对系统的输入信号和输出信号进行分析,得到它们的系统方程,然后编写程序进行仿真。这种仿真方法有两个缺点。首先是不够直观,缺乏足够的人机交互。由于所有的输入信号和输出信号都被抽象成数值之间的关系,仿真表现为一种计算过程,因此难以对仿真的过程进行控制,也难以对仿真的输出数据进行直观的描述和分析。另外,这种方法缺乏系统性,特别是在对复杂系统的处理过程
3、中,难以采用模块化方法,从而降低了仿真程序的可读性和可扩展性。Simulink是MATLAB提供的用于对动态系统进行建模、仿真和分析的工具包。Simulink提供了专门用于显示输出信号的模块,能够在仿真过程中随时观察仿真结果。同时,经过Simulink的存储模块,仿真数据能够方便地以各种形式保存到工作区或文件中,供用户在仿真结束之后对数据进行分析和处理。另外,Simulink把具有特定功能的代码组织成模块的方式,而且这些模块能够组织成具有等级结构的子系统,因此具有内在的模块化设计要求。基于上述优点,Simul
4、ink称为一种通用的仿真建模工具,广泛应用于通信仿真、数字信号处理、模糊逻辑、神经网络、机械控制和虚拟现实等领域。根据输出信号与输入信号的关系,Simulink提供3种类型的模块:连续模资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。块、离散模块和混合模块。连续模块是指输出信号随着输入信号发生连续变化的模块,离散模块则是输出信号以固定间隔变化的模块。对于连续模块,Simulink采用积分方式计算输出信号的数值,因此,连续模块主要涉及导数的计算及其积分。离散模块的输出信号在下一个抽样时刻到来之前保
5、持恒定,这时候Simulink只需以一定的间隔计算输出信号的数值。混合模块是根据输入信号的类型来确定输出信号类型的,它既能够产生连续输出信号,也能够产生离散输出信号。如果一个仿真模型中只包含离散模块,这时候Simulink采用固定步长方式进行仿真(即每个一定的间隔计算一次输出信号)。当所有的离散模块都有相同的抽样间隔时,Simulink只需要按照这个间隔实施仿真;否则,Simulink采用多速率方式进行仿真。多速率仿真模式的一种方案是选取一个最大可用间隔,使之适用于所有的离散模块。这个间隔一般是各个离散模块抽
6、样间隔的最大公约数。对于可变步长方式,多速率仿真模式按照各个模块的抽样间隔列出系统可能的仿真时刻,在仿真时刻到来的时候只对相应的离散模块实施仿真,从而在一定程度上提高了仿真的效率。如果仿真模型中包含了连续模块,Simulink将采用连续方式对模块进行仿真。如果模块中既包含了连续模块,又包含了离散模块,Simulink采用两种仿真步长进行仿真。对于其中的离散模块,Simulink能够按照离散模块的方式进行仿真,这个仿真步长称为主步长(majorstepsize)。在每个主步长仿真中,Simulink使用小步长间
7、隔(minorstepsize),经过积分运算得到连续状态的当前输出信号。S-函数是系统函数(System-functions)的简称。多情况下,Simulink模型库(SimulinkLibrary)中的模块不能完全满足用户的要求,这时候需要由用户自己来编写相应的代码。M文件虽然能够用来编写MATLAB函数代码,可是它不具备与Simulink的接口,因此难以与Simulink其它模块一起使用。S-函数则提供了函数代码与Simulink之间的接口,使得用户编写的代码既能够像Simulink模型库中的模块那样具
8、有统一的仿真接口,同时能够实现各种灵活的控制和计算功能。从这个意义上说,S-函数是对Simulink模块库功能的扩展。S-函数的代资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。码既能够用MATLAB语言编写,也能够用其它通用的编程语言(如C、C++、Ada或Fortran等)编写,后者具有更强的控制能力,它们被编译成MEX(MATLABEXecutable)文件,而且在仿真过程中动态