simulink中的mux与的demux |
您所在的位置:网站首页 › simulink翻转器件 › simulink中的mux与的demux |
文章目录
Question1. 代码与仿真图2 demux3 mux3.1 mux的使用顺序问题
4 总结
Question
对Mux与demux的好奇。 1. 代码与仿真图source.m中输出两个信号:xd=cos(t);与 yd=sin(t);,Source.m文件代码如下: %function [sys,x0,str,ts] = spacemodel(t,x,u,flag) function [sys,x0,str,ts] = Source(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 3, sys=mdlOutputs(t,x,u); case {1,2,4,9} sys=[]; otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 2; sizes.NumInputs = 0; sizes.DirFeedthrough = 0; sizes.NumSampleTimes = 1; sys = simsizes(sizes); x0 = []; str = []; ts = [0 0]; function sys=mdlOutputs(t,x,u) xd=cos(t); yd=sin(t); sys(1)=xd; sys(2)=yd; %sys(3)=xd; % sys(4)=yd;仿真构建如图: 2 demux运行上述仿真,得到波形如图(从左到右分别为scope1,scope2,scope3): 现象: scope1中为xd,yd的波形; scope2中为xd的波形; scope3中为yd的波形。 结论: demux可以将信号按照先后顺序分离(具体顺序为:在m函数中先出现的信号在第一位,后出现的为第二位,以此类推)。 3 mux构建仿真图如下: 运行仿真,得到scope4波形吐下: 结论:scope4波形同scope1,则mux具有将信号组合起来的作用。 3.1 mux的使用顺序问题构建仿真如图 scope4波形如图: 此时,已经无法从scope4中看到顺序问题,先从scope4-To Workspace中看。回到matlab工作区,观察到出现scope4变量如图: 查看scope4的具体内容: 观察到scope4的顺序为: xd;yd;xd;yd()从左往右看)与仿真中,从上到下的顺序相同。 4 总结 demux 按顺序将信号分离。mux 按顺序将信号束在一起(数据不发生耦合,像是一根电缆内部包含了许许多多的信号线)。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |