文章目录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 ) t,x,u case { 1,2,4,9 } sys=[ ]; otherwise error ([ ' unhandled flag=',num2str () flag ) ] endfunction [sys,x0,str,ts ]=mdlinitializesizesizes=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]; functionsys=MDLoutputs(t,x,u ) xd=cos(t ) 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函数中先出现的信号为第1位,后出现的为第2位等)。
3 mux构建模拟图如下所示。
进行模拟,得到scope4波形的下降:
结论如果scope4波形与scope1相同,mux有组合信号的作用。
3.1 mux的使用顺序问题构建仿真图
scope4波形如图所示。
此时,从scope4中看不到顺序问题了,请先从scope4-To Workspace开始看。 返回matlab工作区时,观察到scope4变量如图所示:
查看scope4的具体内容:
观察到范围4的顺序如下。
xd; yd; xd; yd )从左到右)模拟中,与从上到下的顺序相同。
将demux集中起来按顺序分离信号。 mux按顺序将信号捆扎在一起(没有连接数据,好像一根电缆内部包含很多信号线)。