simulink中的mux与的demux

您所在的位置:网站首页 simulink翻转器件 simulink中的mux与的demux

simulink中的mux与的demux

2023-09-08 22:31| 来源: 网络整理| 查看: 265

文章目录 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