📄 dynamic_edfa.mdl
字号:
SrcPort 1
Points [30, 0; 0, -10]
DstBlock "4nspDeltaFr"
DstPort 3
}
Line {
SrcBlock "4nspDeltaFr"
SrcPort 1
Points [15, 0]
Branch {
Points [40, 0; 0, -50]
DstBlock "BononiTerm"
DstPort 2
}
Branch {
Points [0, 115]
DstBlock "4nspDeltaFreq"
DstPort 1
}
}
Line {
SrcBlock "BononiTerm"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
Points [10, 0; 0, -35]
DstBlock "Bononi*PhotonEnergy"
DstPort 1
}
Branch {
Points [0, -60; -125, 0; 0, -65]
DstBlock "ASEPhotons"
DstPort 1
}
}
Line {
SrcBlock "photon EnergyASE"
SrcPort 1
Points [0, -40; -70, 0; 0, -30]
DstBlock "Bononi*PhotonEnergy"
DstPort 2
}
Line {
SrcBlock "WavelASE"
SrcPort 1
DstBlock "Math\nFunction3"
DstPort 1
}
Line {
SrcBlock "hc"
SrcPort 1
Points [100, 0; 0, -40]
DstBlock "photon EnergyASE"
DstPort 2
}
Line {
SrcBlock "Math\nFunction3"
SrcPort 1
Points [25, 0; 0, -5]
DstBlock "photon EnergyASE"
DstPort 1
}
Line {
SrcBlock "(1-G) / pSASE"
SrcPort 1
Points [5, 0; 0, 10]
DstBlock "(1-G) / pSLASE"
DstPort 2
}
Line {
SrcBlock "(1-G) / pSLASE"
SrcPort 1
Points [40, 0; 0, 35]
DstBlock "BononiTerm"
DstPort 1
}
Line {
SrcBlock "L"
SrcPort 1
Points [10, 25]
Branch {
Points [10, 25; 15, 0]
Branch {
DstBlock "alfaASE * L"
DstPort 1
}
Branch {
Points [0, 65]
DstBlock "gammaASE * L"
DstPort 1
}
}
Branch {
Points [0, -30]
DstBlock "Math\nFunction2"
DstPort 1
}
}
Line {
SrcBlock "N2"
SrcPort 1
Points [0, -15; 25, 0]
Branch {
Points [0, -50]
DstBlock "(alfa + gamma) ASE* L"
DstPort 1
}
Branch {
Points [0, 30]
DstBlock "gammaASE* L* N2 "
DstPort 1
}
}
Line {
SrcBlock "Math\nFunction2"
SrcPort 1
Points [15, 0; 0, 65]
DstBlock "(1-G) / pSLASE"
DstPort 1
}
Line {
SrcBlock "Bononi*PhotonEnergy"
SrcPort 1
Points [0, -5]
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [0, -45; -55, 0]
DstBlock "ASEPowers"
DstPort 1
}
}
}
Block {
BlockType Scope
Name "ChanLostContr"
Ports [1]
Position [685, 414, 715, 446]
Floating off
Location [392, 258, 716, 497]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "yonly"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData11"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator"
Ports [1, 1]
Position [100, 510, 135, 550]
IntegratorMethod "ForwardEuler"
ExternalReset "none"
InitialConditionSource "internal"
InitialCondition "0.7"
LimitOutput off
UpperSaturationLimit "inf"
LowerSaturationLimit "-inf"
ShowSaturationPort off
ShowStatePort off
SampleTime "-1"
RTWStateStorageClass "Auto"
Port {
PortNumber 1
Name "normalized excited state population N2"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
}
}
Block {
BlockType Product
Name "PumpSigLost"
Ports [4, 1]
Position [410, 330, 450, 385]
Inputs "4"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType MATLABFcn
Name "PumpSigLostSum"
Position [480, 345, 540, 375]
MATLABFcn "sum(u)"
OutputDimensions "1"
OutputSignalType "auto"
Output1D on
}
Block {
BlockType MATLABFcn
Name "Sum"
Position [440, 465, 500, 495]
MATLABFcn "sum(u)"
OutputDimensions "1"
OutputSignalType "auto"
Output1D on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [520, 466, 540, 524]
ShowName off
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum3"
Ports [5, 1]
Position [635, 565, 655, 625]
ShowName off
IconShape "rectangular"
Inputs "+++++"
SaturateOnIntegerOverflow on
}
Block {
BlockType MATLABFcn
Name "Sum4"
Position [535, 675, 595, 705]
MATLABFcn "sum(u)"
OutputDimensions "1"
OutputSignalType "auto"
Output1D on
}
Block {
BlockType Sum
Name "Sum6"
Ports [2, 1]
Position [865, 386, 885, 444]
ShowName off
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType MATLABFcn
Name "SumASEPhotons"
Position [400, 740, 460, 770]
MATLABFcn "sum(u)"
OutputDimensions "1"
OutputSignalType "auto"
Output1D on
}
Block {
BlockType MATLABFcn
Name "SumASEPowers"
Position [685, 665, 745, 695]
MATLABFcn "sum(u)"
OutputDimensions "1"
OutputSignalType "auto"
Output1D on
}
Block {
BlockType MATLABFcn
Name "SumASEPowers1"
Position [550, 120, 610, 150]
MATLABFcn "sum(u)"
OutputDimensions "1"
OutputSignalType "auto"
Output1D on
}
Block {
BlockType MATLABFcn
Name "SumChannels"
Position [525, 180, 585, 210]
MATLABFcn "sum(u)"
OutputDimensions "1"
OutputSignalType "auto"
Output1D on
}
Block {
BlockType Scope
Name "YSunContr"
Ports [1]
Position [660, 199, 690, 231]
Floating off
Location [365, 359, 689, 598]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "yonly"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData7"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType SubSystem
Name "YSunTerms"
Ports [6, 3]
Position [165, 23, 305, 257]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
System {
Name "YSunTerms"
Location [26, 336, 981, 728]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "automatic"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "Pin (W)"
Position [35, 28, 65, 42]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "wavelengths (m)"
Position [35, 128, 65, 142]
Port "2"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "gamma"
Position [25, 298, 55, 312]
Port "3"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "alfa "
Position [25, 213, 55, 227]
Port "4"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "L"
Position [25, 248, 55, 262]
Port "5"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "N2"
Position [140, 345, 170, 360]
Orientation "up"
Port "6"
LatchInput off
Interpolate on
}
Block {
BlockType MATLABFcn
Name "(1-G) / pS"
Position [345, 195, 405, 225]
MATLABFcn "(1-exp(u))/(3.1416E12)"
OutputDimensions "3"
OutputSignalType "auto"
Output1D off
}
Block {
BlockType Product
Name "(1-G) / pSL"
Ports [2, 1]
Position [425, 226, 470, 259]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "(alfa + gamma) * L"
Ports [2, 1]
Position [215, 286, 260, 319]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "1 / photon Energy"
Ports [2, 1]
Position [210, 106, 255, 139]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Scope
Name "Gain"
Ports [1]
Position [460, 319, 490, 351]
Floating off
Location [292, 513, 616, 752]
Open off
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData2"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Math
Name "Math\nFunction"
Ports [1, 1]
Position [130, 65, 160, 95]
Operator "reciprocal"
OutputSignalType "auto"
}
Block {
BlockType Math
Name "Math\nFunction1"
Ports [1, 1]
Position [695, 110, 725, 140]
Operator "reciprocal"
OutputSignalType "auto"
}
Block {
BlockType Math
Name "Math\nFunction2"
Ports [1, 1]
Position [360, 250, 390, 280]
Operator "reciprocal"
OutputSignalType "auto"
}
Block {
BlockType Product
Name "Pin / PhotonEnergy"
Ports [2, 1]
Position [305, 55, 350, 90]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Pout * PhotonEnergy"
Ports [2, 1]
Position [785, 110, 830, 145]
Inputs "2"
Multiplication "Element-wise(.*)"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -