📄 tcp40_on_off.mdl
字号:
SrcBlock "Saturation" SrcPort 1 Points [5, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 125] DstBlock "window" DstPort 1 } } Line { SrcBlock "Product" SrcPort 1 Points [10, 0] Branch { DstBlock "BW" DstPort 1 } Branch { Points [0, 130] DstBlock "pkt lost rate" DstPort 1 } } Line { SrcBlock "lost\nprob" SrcPort 1 Points [5, 0; 0, 300; 575, 0; 0, -40] DstBlock "pkt lost rate" DstPort 2 } Line { SrcBlock "pkt lost rate" SrcPort 1 Points [-30, 0; 0, -10] DstBlock "Variable\nTransport Delay" DstPort 1 } Line { SrcBlock "Variable\nTransport Delay" SrcPort 1 Points [-70, 0; 0, 70] DstBlock "decrease term" DstPort 1 } } } Block { BlockType SubSystem Name "TCP source2" Ports [2, 2] Position [95, 461, 175, 574] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "TCP source2" Location [257, 454, 1072, 975] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "lost\nprob" Position [140, 103, 170, 117] NamePlacement "alternate" Port "1" Interpolate on } Block { BlockType Inport Name "RTT" Position [140, 158, 170, 172] Port "2" Interpolate on } Block { BlockType Math Name "1/rtt" Ports [1, 1] Position [210, 150, 240, 180] Operator "reciprocal" OutputSignalType "auto" } Block { BlockType Sum Name "AIMD" Ports [2, 1] Position [365, 207, 385, 243] IconShape "rectangular" Inputs "+|-" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Gain" Position [465, 435, 495, 465] Orientation "left" Gain "1/2" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "Product" Ports [2, 1] Position [660, 81, 705, 114] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Saturate Name "Saturation" Position [580, 75, 610, 105] UpperLimit "500" LowerLimit "1" LinearizeAsGain on } Block { BlockType VariableTransportDelay Name "Variable\nTransport Delay" Position [545, 345, 580, 380] Orientation "left" NamePlacement "alternate" MaximumDelay "10" InitialInput "0" MaximumPoints "20000" PadeOrder "0" } Block { BlockType Product Name "decrease term" Ports [2, 1] Position [375, 425, 425, 460] Orientation "left" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Constant Name "dt" Position [210, 90, 240, 120] Value "1" VectorParams1D on } Block { BlockType Product Name "dt/rtt" Ports [2, 1] Position [275, 111, 320, 144] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "pkt lost rate" Ports [2, 1] Position [650, 345, 705, 380] Orientation "left" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Integrator Name "window\n" Ports [1, 1] Position [445, 75, 475, 105] ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Outport Name "BW" Position [745, 93, 775, 107] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "window" Position [745, 208, 775, 222] Port "2" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "window\n" SrcPort 1 Points [0, 0; 35, 0] Branch { Points [0, 360] DstBlock "Gain" DstPort 1 } Branch { DstBlock "Saturation" DstPort 1 } } Line { SrcBlock "Gain" SrcPort 1 DstBlock "decrease term" DstPort 2 } Line { SrcBlock "decrease term" SrcPort 1 Points [-45, 0; 0, -210] DstBlock "AIMD" DstPort 2 } Line { SrcBlock "dt" SrcPort 1 Points [15, 0] DstBlock "dt/rtt" DstPort 1 } Line { SrcBlock "1/rtt" SrcPort 1 Points [0, 0; 5, 0] Branch { Points [10, 0] DstBlock "dt/rtt" DstPort 2 } Branch { Points [0, -5; 385, 0; 0, -55] DstBlock "Product" DstPort 2 } } Line { SrcBlock "dt/rtt" SrcPort 1 Points [0, 75] DstBlock "AIMD" DstPort 1 } Line { SrcBlock "AIMD" SrcPort 1 Points [15, 0; 0, -135] DstBlock "window\n" DstPort 1 } Line { SrcBlock "RTT" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "1/rtt" DstPort 1 } Branch { Points [0, 235; 415, 0; 0, -30] DstBlock "Variable\nTransport Delay" DstPort 2 } } Line { SrcBlock "Saturation" SrcPort 1 Points [5, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 125] DstBlock "window" DstPort 1 } } Line { SrcBlock "Product" SrcPort 1 Points [10, 0] Branch { DstBlock "BW" DstPort 1 } Branch { Points [0, 130] DstBlock "pkt lost rate" DstPort 1 } } Line { SrcBlock "lost\nprob" SrcPort 1 Points [5, 0; 0, 300; 575, 0; 0, -40] DstBlock "pkt lost rate" DstPort 2 } Line { SrcBlock "pkt lost rate" SrcPort 1 Points [-30, 0; 0, -10] DstBlock "Variable\nTransport Delay" DstPort 1 } Line { SrcBlock "Variable\nTransport Delay" SrcPort 1 Points [-70, 0; 0, 70] DstBlock "decrease term" DstPort 1 } } } Block { BlockType Scope Name "avg queue length" Ports [1] Position [825, 99, 855, 131] Floating off Location [845, 395, 1169, 634] Open on NumInputPorts "1" TickLabels "OneTimeTick" ZoomMode "on" List { ListType AxesTitles axes1 "%<SignalLabel>" } Grid "on" TimeRange "auto" YMin "0" YMax "800" SaveToWorkspace off SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Scope Name "inst queue length" Ports [1] Position [825, 34, 855, 66] Floating off Location [840, 98, 1164, 337] Open on NumInputPorts "1" TickLabels "OneTimeTick" ZoomMode "on" List { ListType AxesTitles axes1 "%<SignalLabel>" } Grid "on" TimeRange "auto" YMin "0" YMax "1000" SaveToWorkspace off SaveName "ScopeData" DataFormat "StructureWithTime" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Constant Name "propagation\ndelay" Position [715, 300, 745, 330] Orientation "left" Value "0.2" VectorParams1D on } Block { BlockType Sum Name "sum all TCP" Ports [3, 1] Position [480, 331, 525, 379] IconShape "rectangular" Inputs "+|+|+" SaturateOnIntegerOverflow on } Line { SrcBlock "TCP source" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "RED routers" SrcPort 2 Points [40, 0; 0, 130] DstBlock "Sum" DstPort 1 } Line { SrcBlock "propagation\ndelay" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 Points [-575, 0] Branch { Points [0, -110] DstBlock "TCP source" DstPort 2 } Branch { Points [0, 100] Branch { DstBlock "TCP source1" DstPort 2 } Branch { Points [0, 145] DstBlock "TCP source2" DstPort 2 } } } Line { SrcBlock "RED routers" SrcPort 4 Points [15, 0; 0, -135; -655, 0; 0, 65] Branch { DstBlock "TCP source" DstPort 1 } Branch { Points [0, 210] Branch { DstBlock "TCP source1" DstPort 1 } Branch { Labels [1, 0] Points [0, 145] DstBlock "TCP source2" DstPort 1 } } } Line { SrcBlock "RED routers" SrcPort 1 Points [65, 0; 0, -80] DstBlock "inst queue length" DstPort 1 } Line { SrcBlock "RED routers" SrcPort 3 Points [90, 0; 0, -65] DstBlock "avg queue length" DstPort 1 } Line { SrcBlock "TCP source" SrcPort 2 Points [310, 0; 0, 60; 275, 0; 0, -30] DstBlock "Congestion Window\n" DstPort 1 } Line { SrcBlock "TCP source1" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "1 to 0" SrcPort 1 Points [10, 0; 0, -45] DstBlock "Product" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "TCP source2" SrcPort 1 DstBlock "Product1" DstPort 1 } Line { SrcBlock "0 to 1" SrcPort 1 Points [10, 0; 0, -55] DstBlock "Product1" DstPort 2 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 Points [180, 0; 0, 200] DstBlock "sum all TCP" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 Points [45, 0; 0, -125] DstBlock "sum all TCP" DstPort 3 } Line { SrcBlock "sum all TCP" SrcPort 1 Points [30, 0; 0, -185] DstBlock "RED routers" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "sum all TCP" DstPort 2 } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -