📄 ts_demo.mdl
字号:
DataFormat "Array"
}
Block {
BlockType SignalGenerator
Name "Signal1"
Position [30, 13, 75, 47]
ForegroundColor "red"
Amplitude "1.000000"
Frequency "1.000000"
Units "rad/sec"
}
Block {
BlockType SignalGenerator
Name "Signal2"
Position [30, 98, 75, 132]
ForegroundColor "blue"
WaveForm "sawtooth"
Amplitude "1.000000"
Frequency "3.000000"
Units "rad/sec"
}
Block {
BlockType SignalGenerator
Name "Signal3"
Position [30, 173, 75, 207]
ForegroundColor "magenta"
WaveForm "square"
Amplitude "1.000000"
Frequency "5.000000"
Units "rad/sec"
}
Block {
BlockType Reference
Name "Time-sharing\ndemux1"
Ports [1, 1]
Position [325, 93, 405, 137]
NamePlacement "alternate"
SourceBlock "com_mlac/Time-sharing\ndemux"
SourceType "Reverse analog TDMA"
td "1"
N "3"
}
Block {
BlockType SubSystem
Name "Time-sharing\nmux1"
Ports [1, 1]
Position [195, 93, 275, 137]
NamePlacement "alternate"
AncestorBlock "com_mlac/Time-sharing\nmux"
TreatAsAtomicUnit off
MaskType "Analog time division multi-access"
MaskDescription "This block partitions each transfer period into"
" even length time slots. Each element of the input vector takes one slot in t"
"urn."
MaskHelp "This block outputs one element of the input vec"
"tor in turn. The input for this block is a length N_in vector. The output for"
" this block is a scalar. The transfer period T_out is partitioned into N_in s"
"lot. Each input element takes one partition in sequential order arranged by t"
"he position of the vector input. This block takes all elements in the input v"
"ector at the sampling time point."
MaskPromptString "Transfer period (sec):|Input vector length:"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "td=@1;N=@2;"
MaskDisplay "disp('Time-share\\nmux')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "1|3"
System {
Name "Time-sharing\nmux1"
Location [360, 100, 740, 264]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [65, 20, 85, 40]
}
Block {
BlockType Reference
Name "Pulses deivide\nsame sample time"
Ports [0, 1]
Position [55, 76, 120, 114]
SourceBlock "com_sour/Pulses divide\nsample time"
SourceType "Pulse generator"
samp_time "td"
out_divid "N"
offset "0"
}
Block {
BlockType SubSystem
Name "Triggered time\ndomain switch"
Ports [2, 1]
Position [170, 17, 250, 73]
TreatAsAtomicUnit off
MaskType "Triggered time domain switch"
MaskDescription "The rasing edge impulse from the 2nd inport"
" triggers the output of this block by the distribution of the next row in the"
" switch box variable."
MaskHelp "The column number of the switch box is the "
"size of the output vector size, which is the size for vector keep_value and i"
"nitial_value. The raising edge of the 2nd inport trigger the distribution pat"
"tern goes to the next row of the switch box. When switch_box has value 0, th"
"e output keeps the last output value if keeping_value is greater than 0; the "
"output is initial_value when the keep_value is less than 0."
MaskPromptString "Switch box:|Keeping value:|Initial value:|T"
"rigger threshold:"
MaskStyleString "edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on"
MaskCallbackString "|||"
MaskEnableString "on,on,on,on"
MaskVisibilityString "on,on,on,on"
MaskToolTipString "on,on,on,on"
MaskVarAliasString ",,,"
MaskInitialization "sw=@1;ke=@2;in=@3;tt=@4;"
MaskDisplay "disp('Vector\\nredistributor')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[1:N]'|-1|0|.1"
System {
Name "Triggered time\ndomain switch"
Location [410, 150, 790, 314]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [65, 20, 85, 40]
}
Block {
BlockType Inport
Name "in_2"
Position [60, 75, 80, 95]
Port "2"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [145, 54, 175, 96]
Inputs "2"
}
Block {
BlockType "S-Function"
Name "S-function"
Ports [1, 1]
Position [205, 60, 275, 90]
FunctionName "stdmamux"
Parameters "sw,ke,in,tt"
}
Block {
BlockType Outport
Name "out_1"
Position [320, 65, 340, 85]
InitialOutput "0"
}
Line {
SrcBlock "in_1"
SrcPort 1
Points [30, 0; 0, 35]
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "in_2"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "S-function"
DstPort 1
}
Line {
SrcBlock "S-function"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
}
}
Block {
BlockType Outport
Name "out_1"
Position [295, 35, 315, 55]
InitialOutput "0"
}
Line {
SrcBlock "Triggered time\ndomain switch"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "Pulses deivide\nsame sample time"
SrcPort 1
Points [15, 0; 0, -35]
DstBlock "Triggered time\ndomain switch"
DstPort 2
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Triggered time\ndomain switch"
DstPort 1
}
}
}
Block {
BlockType Scope
Name "multiplex signal"
Ports [1]
Position [355, 144, 380, 176]
Location [61, 222, 479, 415]
Open on
NumInputPorts "1"
TickLabels "on"
List {
ListType AxesTitles
axes1 "Time-share signal"
}
List {
ListType SelectedSignals
axes1 ""
}
TimeRange "10"
YMin "-1.5"
YMax "1.5"
DataFormat "Array"
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Time-sharing\nmux1"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 3
Points [5, 0; 0, 30]
DstBlock "Mux3"
DstPort 1
}
Line {
SrcBlock "Mux3"
SrcPort 1
DstBlock "Scope3"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 2
DstBlock "Mux2"
DstPort 2
}
Line {
SrcBlock "Mux2"
SrcPort 1
DstBlock "Scope2"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 1
Points [5, 0; 0, -35]
DstBlock "Mux1"
DstPort 2
}
Line {
SrcBlock "Mux1"
SrcPort 1
DstBlock "Scope1"
DstPort 1
}
Line {
SrcBlock "Time-sharing\ndemux1"
SrcPort 1
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Signal2"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
DstBlock "Mux"
DstPort 2
}
Branch {
Points [0, -55; 415, 0]
DstBlock "Mux2"
DstPort 1
}
}
Line {
SrcBlock "Time-sharing\nmux1"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
DstBlock "Time-sharing\ndemux1"
DstPort 1
}
Branch {
Points [0, 45]
DstBlock "multiplex signal"
DstPort 1
}
}
Line {
SrcBlock "Signal1"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "Mux1"
DstPort 1
}
Branch {
Points [0, 55]
DstBlock "Mux"
DstPort 1
}
}
Line {
SrcBlock "Signal3"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
Points [0, -45]
DstBlock "Mux"
DstPort 3
}
Branch {
DstBlock "Mux3"
DstPort 2
}
}
Annotation {
Name "|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n"
Position [176, 120]
}
Annotation {
Name "|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n"
Position [421, 120]
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -