📄 try40tcp.mdl
字号:
Points [0, 0; 15, 0] Branch { DstBlock "Gain" DstPort 1 } Branch { Points [0, 30] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Gain" SrcPort 1 Points [75, 0; 0, -115] DstBlock "Product1" DstPort 2 } Line { SrcBlock "Product1" SrcPort 1 Points [20, 0; 0, 120] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Product2" SrcPort 1 Points [20, 0; 0, -10] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 Points [10, 0; 0, -45; -410, 0; 0, -100] DstBlock "x(t)" DstPort 1 } Line { SrcBlock "combine\nx(t) & q(t)" SrcPort 1 DstBlock "red dropping \nfunction" DstPort 1 } Line { SrcBlock "red dropping \nfunction" SrcPort 1 DstBlock "drop prob" DstPort 1 } } } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [345, 270, 365, 310] Orientation "left" NamePlacement "alternate" ShowName off IconShape "rectangular" Inputs "+|+" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "TCP source" Ports [2, 2] Position [80, 91, 160, 204] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "TCP source" Location [257, 454, 1072, 975] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" 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 [520, 89, 550, 121] Floating off Location [695, 427, 1019, 666] Open off NumInputPorts "1" TickLabels "OneTimeTick" ZoomMode "on" List { ListType AxesTitles axes1 "%<SignalLabel>" } Grid "on" TimeRange "auto" YMin "-5" YMax "5" 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 [520, 24, 550, 56] Floating off Location [682, 114, 1006, 353] Open off NumInputPorts "1" TickLabels "OneTimeTick" ZoomMode "on" List { ListType AxesTitles axes1 "%<SignalLabel>" } Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" DataFormat "StructureWithTime" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Constant Name "propagation\ndelay" Position [410, 290, 440, 320] Orientation "left" Value "0.2" VectorParams1D on } Line { SrcBlock "TCP source" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 Points [0, 40] DstBlock "RED routers" 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 [-290, 0; 0, -115] DstBlock "TCP source" DstPort 2 } Line { SrcBlock "RED routers" SrcPort 4 Points [15, 0; 0, -135; -355, 0; 0, 60] DstBlock "TCP source" 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 [30, 0; 0, 65; 275, 0; 0, -30] DstBlock "Congestion Window\n" DstPort 1 } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -