昆明理工大学matlab通信仿真实验二
- 格式:doc
- 大小:318.00 KB
- 文档页数:6
实验二
题目:构建SIMULINK子系统和模块的封装
实验目的:
学习构建SIMULINK子系统,模块的封装。传递函数模块的应用。
实验要求:
学会构建SIMULINK的子系统:学习自建模块的封装, 帮助文档编写,模型空间与Matlab命令空间的交互。
实验内容:
(1)学习信号与系统中的传递函数的应用:拉氏变换和Z变换。
a. 通过仿真求出H(s)=5/(2s+1)的阶跃响应和冲激响应。构建模型得出波形。对比采用默认仿真参数以及采用仿真步长为1/1000秒两种情况的波形。你能够解释吗?程序zgq2_1.mdl
仿真步长为default时的仿真运行如下:
仿真步长为1/1000秒时的图如下:
比较以上两幅仿真波形图,默认步长情况下的图的精度没有1/1000秒时的精细(或者是光滑),这就说明在仿真步长不一样的时候所要求展现的图形的精确度就不同。
b. 将200Hz的锯齿波通过1000次每秒的采样保持器之后得到时间离散信号,观察采样保持器前后的波形变化,解释为什么。然后将时间离散信号通过传递函数H(z)=4/(z+0.3)的系统,求出响应波形。仿真步长为1/1000秒。需要设置所有模块的参数,特别是采样率一定要设置为1/1000秒。
参数设置如下:信号发生器的频率设置为200Hz,Zero-Order Hold的sample time 改为0.001s ,Discrete Transfer Fcn的sample time 改为0.001s,然后将Scope的Time range改为0.1s.程序zgq2_2.
(2)学习构建SIMULINK子系统:构建一个子系统,使得它具有将输入信号m(t)(如一个100Hz的正弦波)和一个常数C相加后再和一个1000Hz的幅度为A的正弦波相乘的功能。即输出信号:事实上,这就是是个幅度调制子系统。
y(t)=A*[m(t)+C]*sin(2*pi*f*t)
其中f=1000 Hz。程序2_3.
信号发生器的频率设置为100Hz,Scope的sampling time 改为0.00001s.
(3)对子系统进行封装:请对(2)所建立所子系统进行封装(Mask),编写参数输入对话框和帮助文档。并将模块放在一个自己的库中。
(4)应用自己封装的库模块构建一个系统,和标准的SIMULINK库模块进行对比 提示:使用通信工具箱中的模拟幅度调制模块"DSB AM Modulator Passband"。程序2_4
(5)用sim指令在命令空间启动模型进行仿真:对(4)中的模型采样命令open打开,采用sim指令进行仿真。请给出指令语句。
>>open('C:\Users\Administrator\Desktop\matlab仿真\2\zgq2_4.mdl')
>>simopts=simset('Solver','FixedStepDiscrete'); >>time=[0,2];
>>sim('zgq2_4',time,simopts);
思考题:
谈谈用sim指令进行仿真和在SIMULINK中用菜单进行仿真这两种方式各自特点和优点?
答:SIMULINK中用菜单进行仿真的特点为:(1)交互式的图形编辑器来组合和管理直观的模块图;(2)以设计功能的层次性来分割模型,实现对复杂设计的管理;(3)可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据。
sim指令进行仿真的特点:(1)自动重复运行仿真(2)自动调整参数(3)分析和比较不同输入下的响应。二者相比较sim指令仿真较速度快,但是编写语句有些难;SIMULINK中用菜单进行仿真需要建立模型、调整参数比较繁琐,但是较为简单。
(2)利用信号与系统的知识计算H(s)=5/(2s+1)的冲激响应h(t)。是否符合(1)a中的仿真结果?
答:一样。H(s)=5/(2s+1)的冲激响应h(t)=2/5*e^(-0.5t)*Ɛ(t).
(3)说明封装子系统的过程。
答:⑴ 创建一个子系统;⑵ 选中子系统,选择模型窗口菜单中的【Edit>Mask subsystem】选项生成封装模块;⑶ 使用封装编辑器设置封装文本、对话框和图标。