用S函数编写Simulink模块

上传人:豆浆 文档编号:5575664 上传时间:2017-09-06 格式:DOC 页数:6 大小:76.50KB
返回 下载 相关 举报
用S函数编写Simulink模块_第1页
第1页 / 共6页
用S函数编写Simulink模块_第2页
第2页 / 共6页
用S函数编写Simulink模块_第3页
第3页 / 共6页
用S函数编写Simulink模块_第4页
第4页 / 共6页
用S函数编写Simulink模块_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《用S函数编写Simulink模块》由会员分享,可在线阅读,更多相关《用S函数编写Simulink模块(6页珍藏版)》请在金锄头文库上搜索。

1、通信系统仿真 实验报告姓名 班级 实验室组号 学号 实验日期实验成绩实验名称 实验四 用 S 函数编写 Simulink 模块教师签字一、实验目的1、掌握 S 函数的结构和标准接口2、掌握 S 函数的编程方法3、掌握用 S 函数编写 Simulink 仿真模块的方法4、掌握 S 函数在 Simulink 仿真中的应用二、实验原理为了将系统数学方程与系统可视化模型联系起来,在 Simulink 中规定了固定的接口函数的形式,称为 S 函数,一切 Simulink 可视化模型都是基于 S 函数实现的。系统可视化描述的直观性是以牺牲数学描述的简洁性为代价。通过编写和使用 S 函数,用户也可以构建出采

2、用 Simulink 的灵活性。S 函数可以用 Matlab 语言书写,也可以采用 C+等语言编写。S 函数还可以进行编译,以提高执行速度。Simulink 内建的标准模块库就是用 S 函数编写并进行编译后形成的三、实验内容1、用 S 函数实现一个限幅器,当输入信号值小于设定的最小门限值时,输出为最小门限值;当输入信号值大于设定的最大门限值时,输出为最大门限值;如果信号值介于最小门限和最大门限之间,则直通。写出限幅器的数学模型,对 S 函数实现的模块进行封装,要求能够在封装对话框中设置限幅的门限。给出测试系统和测试仿真结果,并与 Simulink 基本库中的 Saturation 模块进行对比

3、。实验代码:function sys,x0,str,ts=xianSfun(t,x,u,flag,max,min)switch flag,case 0 %flag=0 初始化sizes= simsizes; %获取 simulink 仿真变量结构sizes.NumContStates = 0; %连续系统的状态数为 0sizes.NumDiscStates = 0; %离散系统的状态数为 0sizes.MumOutputs = 1; %输出信号数目是 1sizes.MumInputs = 1; %输入信号数目是 1sizes.DirFeedthrough = 1; %该系统是直通的sizes.

4、NumSampleTimes = 1; %这里必须为 1sys= simsizes(sizes);str = ; %通常为空矩阵x0 =; %初始状态矩阵 x0ts =0 0; %采样时间有外部模块给出%限幅器函数-case 3 %flag=3 计算输出if umaxsys=max;elseif u0结果说明:输入信号为一个幅度为1V,频率为 1000Hz 的余弦波,设定的最小门限为-0.5,最大门限为 0.5,示波器扫描周期为 2ms。先在 Maltab 命令窗口中输入:Lm=-0.5;Hm=0.5;之后再运行仿真模型。 sys=u;else uSsys=Hm;else sys=Lm;end

5、case 1, 2, 4, 9 % 其他作不处理的 flag sys=; % 无用的 flag 时返回 sys 为空矩阵otherwise % 异常处理 error(Unhandled flag = ,num2str(flag); end仿真模型:运行结果:实验结论:输入信号经过“门限比较器”后,输出的幅度大小都是指定的,本实验输入的幅度只为1 和-1 两个指定值。四、实验报告通过分析实验结果可知:某些功能的模块,可以通过代数运算模块实现,比如本次实验的“门限器” 、 “绝对值模块” 、 “门限比较器”等。结果说明:输入信号为一个幅度为 2V,频率为 1000Hz 的方波,示波器扫描周期为 4ms。先在 Maltab 命令窗口中输入:S=1;Lm=-1;Hm=1;之后再运行仿真模型。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号