Model { Name "guidance" Version 4.00 Description "The model represents the dynamics of a missile enga" "ging a target which is flying straight and level. " SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off RecordCoverage off CovPath "/" CovSaveName "covdata" CovNameIncrementing off CovHtmlReporting on BlockNameDataTip off BlockParametersDataTip on BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off PreLoadFcn "guid_dat" CloseFcn "h=findobj('type','figure');if ~isempty(h);close(h);" "end" StopFcn "guid_plot" Created "Thu May 13 09:49:46 1999" Creator "raberg" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "batserve" ModifiedDateFormat "%" LastModifiedDate "Wed Oct 4 19:38:19 2000" ModelVersionFormat "1.%" ConfigurationManager "none" SimParamPage "Solver" StartTime "0.0" StopTime "20" SolverMode "SingleTasking" Solver "ode45" RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep "auto" MinStep "auto" MaxNumMinSteps "-1" InitialStep "auto" FixedStep "auto" MaxOrder 5 OutputOption "RefineOutputTimes" OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xbase" SaveOutput off OutputSaveName "ybase" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" LimitDataPoints off MaxDataPoints "1000" Decimation "1" AlgebraicLoopMsg "warning" MinStepSizeMsg "warning" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" InheritedTsInSrcMsg "warning" SingleTaskRateTransMsg "none" MultiTaskRateTransMsg "error" IntegerOverflowMsg "warning" CheckForMatrixSingularity "none" UnnecessaryDatatypeConvMsg "none" Int32ToFloatConvMsg "warning" SignalLabelMismatchMsg "none" LinearizationMsg "none" VectorMatrixConversionMsg "none" SfunCompatibilityCheckMsg "none" BlockPriorityViolationMsg "warning" ArrayBoundsChecking "none" ConsistencyChecking "none" ZeroCross on Profile off SimulationMode "normal" RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off TLCProfiler off TLCDebug off TLCCoverage off AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "oneshot" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect off ExtModeLogAll on OptimizeBlockIOStorage on BufferReuse on ParameterPooling on BlockReductionOpt off BooleanDataType off BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } System { Name "guidance" Location [80, 80, 910, 547] Open on ModelBrowserVisibility off ModelBrowserWidth 212 ScreenColor "white" PaperOrientation "portrait" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom off ReportName "simulink-default.rpt" Block { BlockType Reference Name "3DoF Animation" Ports [3] Position [735, 55, 800, 185] FontName "Arial" SourceBlock "aerospace/Animation/3DoF Animation" SourceType "3DoF Animation" u1 "[0 5000 -2000 2000 -5050 -3050]" u2 "0.03" u3 "90" u5 "Fly alongside" u6 "[200 200 -50]" u7 "20" u8 on } Block { BlockType SubSystem Name "Airframe\n&\nAutopilot" Ports [1, 3] Position [565, 96, 645, 234] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" Port { PortNumber 1 Name "Missile Position" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } Port { PortNumber 2 Name "Missile Attitude" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } Port { PortNumber 3 Name "Missile Body Angular Rate" PropagatedSignals "Rate Gyro" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } System { Name "Airframe\n&\nAutopilot" Location [242, 78, 760, 638] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom off Block { BlockType Inport Name "Az_d" Position [310, 518, 340, 532] Orientation "left" FontName "Arial" Port "1" Interpolate on } Block { BlockType SubSystem Name "Aerodynamics &\nEquations of Motion" Ports [4, 7] Position [80, 158, 190, 382] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Aerodynamics &\nEquations of Motion" Location [246, 121, 738, 543] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "rho" Position [20, 298, 50, 312] FontName "Arial" Port "1" Interpolate on } Block { BlockType Inport Name "a" Position [20, 253, 50, 267] FontName "Arial" Port "2" Interpolate on } Block { BlockType Inport Name "Thrust" Position [235, 155, 265, 170] Orientation "down" NamePlacement "alternate" FontName "Arial" Port "3" Interpolate on } Block { BlockType Inport Name "Fin" Position [20, 343, 50, 357] FontName "Arial" Port "4" Interpolate on } Block { BlockType Reference Name " Equations of Motion\n(Body Axes)" Ports [3, 6] Position [295, 166, 355, 379] FontName "Arial" SourceBlock "aerospace/3DoF\nEquations\nof\nMotion /" " Equations of Motion\n(Body Axes)" SourceType "" v_ini "v_ini" theta_ini "theta_ini" alpha_ini "alpha_ini" q_ini "q_ini" pos_ini "[x_ini -h_ini]" mass "mass" Iyy "Iyy" g "g" } Block { BlockType SubSystem Name "Aerodynamics" Ports [6, 4] Position [125, 99, 190, 376] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Aerodynamics" Location [253, 87, 871, 563] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "q" Position [65, 428, 95, 442] FontName "Arial" Port "1" Interpolate on } Block { BlockType Inport Name "V" Position [15, 128, 45, 142] FontName "Arial" Port "2" Interpolate on } Block { BlockType Inport Name "Alpha" Position [60, 243, 90, 257] FontName "Arial" Port "3" Interpolate on } Block { BlockType Inport Name "a" Position [15, 163, 45, 177] FontName "Arial" Port "4" Interpolate on } Block { BlockType Inport Name "rho" Position [200, 23, 230, 37] NamePlacement "alternate" FontName "Arial" Port "5" Interpolate on } Block { BlockType Inport Name "Fin" Position [65, 348, 95, 362] FontName "Arial" Port "6" Interpolate on } Block { BlockType Gain Name "Body Rate" Position [155, 412, 215, 458] FontName "Arial" Gain "Cm_q" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Cm_tot" Ports [3, 1] Position [330, 248, 360, 312] FontName "Arial" IconShape "rectangular" Inputs "+++" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Cx_tot" Ports [2, 1] Position [330, 132, 360, 163] FontName "Arial" IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Cz_tot" Ports [2, 1] Position [330, 192, 360, 223] FontName "Arial" IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Dynamic\nPressure" Position [305, 26, 380, 64] FontName "Arial" Gain "0.5" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "Dynamic Pressure" Ports [2, 1] Position [250, 16, 280, 74] ShowName off FontName "Arial" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType SubSystem Name "Fins" Ports [1, 3] Position [135, 317, 220, 393] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Fins" Location [259, 103, 547, 335] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Fin" Position [25, 38, 55, 52] FontName "Arial" Port "1" Interpolate on } Block { BlockType Gain Name "Cm" Position [100, 138, 160, 182] FontName "Arial" Gain "Cm_el" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Cx" Position [100, 20, 160, 70] FontName "Arial" Gain "0" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Cz" Position [100, 77, 160, 123] FontName "Arial" Gain "Cz_el" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "Cx_el" Position [180, 38, 210, 52] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Cz_el" Position [180, 93, 210, 107] FontName "Arial" Port "2" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Cm_el" Position [180, 153, 210, 167] FontName "Arial" Port "3" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Fin" SrcPort 1 Points [15, 0] Branch { DstBlock "Cx" DstPort 1 } Branch { Points [0, 55] Branch { Points [0, 60] DstBlock "Cm" DstPort 1 } Branch { DstBlock "Cz" DstPort 1 } } } Line { SrcBlock "Cx" SrcPort 1 DstBlock "Cx_el" DstPort 1 } Line { SrcBlock "Cm" SrcPort 1 DstBlock "Cm_el" DstPort 1 } Line { SrcBlock "Cz" SrcPort 1 DstBlock "Cz_el" DstPort 1 } } } Block { BlockType SubSystem Name "Incidence" Ports [2, 3] Position [135, 107, 220, 293] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Incidence" Location [259, 85, 542, 376] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Mach" Position [15, 233, 45, 247] FontName "Arial" Port "1" Interpolate on } Block { BlockType Inport Name "Alpha" Position [25, 28, 55, 42] FontName "Arial" Port "2" Interpolate on } Block { BlockType Reference Name "Cm" Ports [2, 1] Position [110, 195, 175, 255] FontName "Arial" SourceBlock "simulink3/Functions\n& Tables/Loo" "k-Up\nTable (2-D)" SourceType "Lookup Table (2-D)" x "alpha_vec" y "Mach_vec" t "Cm_alpha" } Block { BlockType Reference Name "Cx" Ports [2, 1] Position [110, 19, 175, 81] FontName "Arial" SourceBlock "simulink3/Functions\n& Tables/Loo" "k-Up\nTable (2-D)" SourceType "Lookup Table (2-D)" x "alpha_vec" y "Mach_vec" t "Cx_alpha" } Block { BlockType Reference Name "Cz" Ports [2, 1] Position [110, 104, 175, 166] FontName "Arial" SourceBlock "simulink3/Functions\n& Tables/Loo" "k-Up\nTable (2-D)" SourceType "Lookup Table (2-D)" x "alpha_vec" y "Mach_vec" t "Cz_alpha" } Block { BlockType Outport Name "Cx_alpha" Position [195, 43, 225, 57] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Cz_alpha" Position [195, 128, 225, 142] FontName "Arial" Port "2" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Cm_alpha" Position [195, 218, 225, 232] FontName "Arial" Port "3" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Alpha" SrcPort 1 Points [15, 0] Branch { DstBlock "Cx" DstPort 1 } Branch { Points [0, 85] Branch { DstBlock "Cz" DstPort 1 } Branch { Points [0, 90] DstBlock "Cm" DstPort 1 } } } Line { SrcBlock "Cx" SrcPort 1 DstBlock "Cx_alpha" DstPort 1 } Line { SrcBlock "Cz" SrcPort 1 DstBlock "Cz_alpha" DstPort 1 } Line { SrcBlock "Mach" SrcPort 1 Points [35, 0] Branch { Points [0, -90] Branch { Points [0, -85] DstBlock "Cx" DstPort 2 } Branch { DstBlock "Cz" DstPort 2 } } Branch { DstBlock "Cm" DstPort 2 } } Line { SrcBlock "Cm" SrcPort 1 DstBlock "Cm_alpha" DstPort 1 } } } Block { BlockType Product Name "Mach \nNumber" Ports [2, 1] Position [65, 118, 95, 187] FontName "Arial" Inputs "*/" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Math Name "Math\nFunction" Ports [1, 1] Position [75, 45, 105, 75] ShowName off Operator "square" OutputSignalType "auto" } Block { BlockType Product Name "Product2" Ports [2, 1] Position [420, 142, 450, 173] ShowName off FontName "Arial" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "Product3" Ports [2, 1] Position [420, 202, 450, 233] ShowName off FontName "Arial" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "Product4" Ports [2, 1] Position [420, 257, 450, 288] ShowName off FontName "Arial" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "S_ref" Position [470, 140, 535, 180] FontName "Arial" Gain "S_ref" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "S_ref\n*\nd_ref" Position [480, 259, 535, 291] FontName "Arial" Gain "d_ref*S_ref" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "S_ref " Position [470, 200, 535, 240] FontName "Arial" Gain "S_ref" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Outport Name " Mach" Position [130, 83, 160, 97] NamePlacement "alternate" FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Fx" Position [555, 153, 585, 167] FontName "Arial" Port "2" OutputWhenDisabled "held" InitialOutput "[0]" } Block { BlockType Outport Name "Fz" Position [555, 213, 585, 227] FontName "Arial" Port "3" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name " M" Position [555, 268, 585, 282] FontName "Arial" Port "4" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Math\nFunction" SrcPort 1 DstBlock "Dynamic Pressure" DstPort 2 } Line { SrcBlock "rho" SrcPort 1 DstBlock "Dynamic Pressure" DstPort 1 } Line { SrcBlock "Dynamic Pressure" SrcPort 1 DstBlock "Dynamic\nPressure" DstPort 1 } Line { SrcBlock "Dynamic\nPressure" SrcPort 1 Points [10, 0; 0, 120] Branch { DstBlock "Product2" DstPort 2 } Branch { Points [0, 60] Branch { DstBlock "Product3" DstPort 2 } Branch { Points [0, 40] DstBlock "Product4" DstPort 1 } } } Line { SrcBlock "V" SrcPort 1 Points [0, 0] Branch { Points [0, -75] DstBlock "Math\nFunction" DstPort 1 } Branch { DstBlock "Mach \nNumber" DstPort 1 } } Line { SrcBlock "Incidence" SrcPort 1 DstBlock "Cx_tot" DstPort 1 } Line { SrcBlock "Fins" SrcPort 1 Points [20, 0; 0, -175] DstBlock "Cx_tot" DstPort 2 } Line { SrcBlock "Incidence" SrcPort 2 DstBlock "Cz_tot" DstPort 1 } Line { SrcBlock "Fins" SrcPort 2 Points [45, 0; 0, -140] DstBlock "Cz_tot" DstPort 2 } Line { SrcBlock "Incidence" SrcPort 3 DstBlock "Cm_tot" DstPort 1 } Line { SrcBlock "Fins" SrcPort 3 Points [70, 0; 0, -100] DstBlock "Cm_tot" DstPort 2 } Line { SrcBlock "Body Rate" SrcPort 1 Points [95, 0] DstBlock "Cm_tot" DstPort 3 } Line { SrcBlock "a" SrcPort 1 DstBlock "Mach \nNumber" DstPort 2 } Line { SrcBlock "Alpha" SrcPort 1 DstBlock "Incidence" DstPort 2 } Line { SrcBlock "Cx_tot" SrcPort 1 DstBlock "Product2" DstPort 1 } Line { SrcBlock "Cz_tot" SrcPort 1 DstBlock "Product3" DstPort 1 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "S_ref" DstPort 1 } Line { SrcBlock "S_ref" SrcPort 1 DstBlock "Fx" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "S_ref " DstPort 1 } Line { SrcBlock "S_ref " SrcPort 1 DstBlock "Fz" DstPort 1 } Line { SrcBlock "Fin" SrcPort 1 DstBlock "Fins" DstPort 1 } Line { SrcBlock "S_ref\n*\nd_ref" SrcPort 1 DstBlock " M" DstPort 1 } Line { SrcBlock "Product4" SrcPort 1 DstBlock "S_ref\n*\nd_ref" DstPort 1 } Line { SrcBlock "Cm_tot" SrcPort 1 DstBlock "Product4" DstPort 2 } Line { SrcBlock "q" SrcPort 1 DstBlock "Body Rate" DstPort 1 } Line { SrcBlock "Mach \nNumber" SrcPort 1 Points [10, 0] Branch { Points [0, -65] DstBlock " Mach" DstPort 1 } Branch { DstBlock "Incidence" DstPort 1 } } } } Block { BlockType Reference Name "Incidence & Airspeed" Ports [1, 2] Position [220, 24, 285, 71] Orientation "left" NamePlacement "alternate" FontName "Arial" SourceBlock "aerospace/3DoF\nEquations\nof\nMotion /" "Incidence \n& Airspeed" SourceType "Incidence and Airspeed" } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [235, 190, 265, 220] ShowName off IconShape "round" Inputs "++|" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "Xe,Ze" Position [405, 318, 435, 332] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Attitude" Position [405, 353, 435, 367] FontName "Arial" Port "2" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "q" Position [400, 178, 430, 192] FontName "Arial" Port "3" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "qdot" Position [405, 248, 435, 262] FontName "Arial" Port "4" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Ax,Az" Position [405, 283, 435, 297] FontName "Arial" Port "5" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Mach" Position [235, 128, 265, 142] NamePlacement "alternate" FontName "Arial" Port "6" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Alpha" Position [15, 28, 45, 42] Orientation "left" FontName "Arial" Port "7" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock " Equations of Motion\n(Body Axes)" SrcPort 5 DstBlock "Xe,Ze" DstPort 1 } Line { SrcBlock "Aerodynamics" SrcPort 1 DstBlock "Mach" DstPort 1 } Line { SrcBlock " Equations of Motion\n(Body Axes)" SrcPort 1 Points [20, 0] Branch { Points [0, -100; -280, 0; 0, 40] DstBlock "Aerodynamics" DstPort 1 } Branch { DstBlock "q" DstPort 1 } } Line { SrcBlock "Aerodynamics" SrcPort 4 DstBlock " Equations of Motion\n(Body Axes)" DstPort 3 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock " Equations of Motion\n(Body Axes)" DstPort 1 } Line { SrcBlock " Equations of Motion\n(Body Axes)" SrcPort 3 DstBlock "qdot" DstPort 1 } Line { SrcBlock " Equations of Motion\n(Body Axes)" SrcPort 2 Points [85, 0; 0, -170] DstBlock "Incidence & Airspeed" DstPort 1 } Line { SrcBlock "Incidence & Airspeed" SrcPort 1 Points [-145, 0] Branch { Points [0, 180] DstBlock "Aerodynamics" DstPort 3 } Branch { DstBlock "Alpha" DstPort 1 } } Line { SrcBlock "rho" SrcPort 1 DstBlock "Aerodynamics" DstPort 5 } Line { SrcBlock "a" SrcPort 1 DstBlock "Aerodynamics" DstPort 4 } Line { SrcBlock "Fin" SrcPort 1 DstBlock "Aerodynamics" DstPort 6 } Line { SrcBlock "Incidence & Airspeed" SrcPort 2 Points [-130, 0; 0, 110] DstBlock "Aerodynamics" DstPort 2 } Line { SrcBlock "Aerodynamics" SrcPort 3 DstBlock " Equations of Motion\n(Body Axes)" DstPort 2 } Line { SrcBlock " Equations of Motion\n(Body Axes)" SrcPort 6 DstBlock "Attitude" DstPort 1 } Line { SrcBlock " Equations of Motion\n(Body Axes)" SrcPort 4 DstBlock "Ax,Az" DstPort 1 } Line { SrcBlock "Aerodynamics" SrcPort 2 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Thrust" SrcPort 1 DstBlock "Sum2" DstPort 1 } } } Block { BlockType Reference Name "Atmosphere" Ports [1, 4] Position [130, 45, 310, 125] Orientation "left" FontName "Arial" SourceBlock "aerospace/Atmosphere/Atmosphere\nmodel" SourceType "Atmosphere Model" g "g" gamma "gam" R "R" L "L" h_trop "h_trop" rho0 "rho0" P0 "P0" T0 "T0" } Block { BlockType SubSystem Name "Autopilot" Ports [5, 1] Position [145, 436, 270, 534] Orientation "left" FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Autopilot" Location [79, 211, 926, 576] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom off Block { BlockType Inport Name "Alpha" Position [15, 53, 45, 67] Port "1" Interpolate on } Block { BlockType Inport Name "Mach" Position [15, 113, 45, 127] Port "2" Interpolate on } Block { BlockType Inport Name "Az_m" Position [20, 208, 50, 222] Port "3" Interpolate on } Block { BlockType Inport Name "q_m" Position [320, 328, 350, 342] Port "4" Interpolate on } Block { BlockType Inport Name "Az_d" Position [20, 263, 50, 277] Port "5" Interpolate on } Block { BlockType Gain Name "Anti-Windup \nGain" Position [530, 150, 610, 200] Orientation "left" Gain "5000" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Saturate Name "Demand\nlimits " Position [720, 243, 750, 267] UpperLimit "fin_max" LowerLimit "fin_min" LinearizeAsGain on } Block { BlockType SubSystem Name "Gain\n Scheduled\nCoefficients" Ports [2, 4] Position [65, 31, 145, 149] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Gain\n Scheduled\nCoefficients" Location [265, 79, 679, 559] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Alpha" Position [15, 88, 45, 102] Port "1" Interpolate on } Block { BlockType Inport Name "Mach" Position [55, 383, 85, 397] Port "2" Interpolate on } Block { BlockType Abs Name "Abs" Position [85, 83, 115, 107] SaturateOnIntegerOverflow on } Block { BlockType Reference Name "K" Ports [2, 1] Position [195, 138, 295, 227] SourceBlock "simulink3/Functions\n& Tables/Look-" "Up\nTable (2-D)" SourceType "Lookup Table (2-D)" x "M_sch" y "alpha_sch" t "K" } Block { BlockType Reference Name "Ka" Ports [2, 1] Position [190, 34, 295, 116] SourceBlock "simulink3/Functions\n& Tables/Look-" "Up\nTable (2-D)" SourceType "Lookup Table (2-D)" x "M_sch" y "alpha_sch" t "Ka" } Block { BlockType Reference Name "Kg" Ports [2, 1] Position [195, 369, 290, 451] SourceBlock "simulink3/Functions\n& Tables/Look-" "Up\nTable (2-D)" SourceType "Lookup Table (2-D)" x "M_sch" y "alpha_sch" t "Kg" } Block { BlockType Reference Name "Ki" Ports [2, 1] Position [195, 259, 290, 346] SourceBlock "simulink3/Functions\n& Tables/Look-" "Up\nTable (2-D)" SourceType "Lookup Table (2-D)" x "M_sch" y "alpha_sch" t "Ki" } Block { BlockType Outport Name "Kg\n" Position [330, 403, 360, 417] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "KI " Position [330, 298, 360, 312] Port "2" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "K " Position [330, 178, 360, 192] Port "3" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Ka " Position [330, 68, 360, 82] Port "4" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Mach" SrcPort 1 Points [60, 0] Branch { Points [0, -110] Branch { Points [0, 110] DstBlock "Kg" DstPort 1 } Branch { DstBlock "Ki" DstPort 1 } } Branch { Points [0, -230] Branch { Points [0, -105] DstBlock "Ka" DstPort 1 } Branch { DstBlock "K" DstPort 1 } } } Line { SrcBlock "Alpha" SrcPort 1 DstBlock "Abs" DstPort 1 } Line { SrcBlock "K" SrcPort 1 DstBlock "K " DstPort 1 } Line { SrcBlock "Ki" SrcPort 1 DstBlock "KI " DstPort 1 } Line { SrcBlock "Kg" SrcPort 1 DstBlock "Kg\n" DstPort 1 } Line { SrcBlock "Abs" SrcPort 1 Points [15, 0] Branch { Points [0, 110] Branch { Points [0, 120] Branch { Points [0, 105] DstBlock "Kg" DstPort 2 } Branch { DstBlock "Ki" DstPort 2 } } Branch { DstBlock "K" DstPort 2 } } Branch { DstBlock "Ka" DstPort 2 } } Line { SrcBlock "Ka" SrcPort 1 DstBlock "Ka " DstPort 1 } } } Block { BlockType Integrator Name "Integrator" Ports [1, 1] Position [535, 244, 565, 276] ShowName off ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Product Name "KI" Ports [2, 1] Position [430, 241, 460, 274] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "Ka" Ports [2, 1] Position [325, 246, 355, 279] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "Kg" Ports [2, 1] Position [650, 236, 680, 269] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [89, 305, 151, 310] Orientation "down" NamePlacement "alternate" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product6" Ports [2, 1] Position [215, 191, 245, 224] ShowName off Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum10" Ports [2, 1] Position [375, 245, 405, 285] ShowName off IconShape "round" Inputs "|++" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum11" Ports [2, 1] Position [485, 240, 515, 280] ShowName off IconShape "round" Inputs "-+|" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum12" Ports [2, 1] Position [685, 160, 715, 190] Orientation "left" ShowName off IconShape "round" Inputs "|-+" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum8" Ports [2, 1] Position [595, 240, 625, 280] ShowName off IconShape "round" Inputs "|++" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum9" Ports [2, 1] Position [265, 250, 295, 290] ShowName off IconShape "round" Inputs "-+|" SaturateOnIntegerOverflow on } Block { BlockType ToWorkspace Name "To Workspace2" Position [780, 164, 830, 186] ForegroundColor "blue" ShowName off VariableName "fin_dem" MaxDataPoints "inf" Decimation "1" SampleTime "-1" SaveFormat "Structure" } Block { BlockType ToWorkspace Name "To Workspace3" Position [95, 335, 145, 355] Orientation "down" ForegroundColor "blue" NamePlacement "alternate" ShowName off VariableName "latax" MaxDataPoints "inf" Decimation "1" SampleTime "-1" SaveFormat "Structure" } Block { BlockType Outport Name "Fin\nDemand" Position [790, 248, 820, 262] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Mach" SrcPort 1 DstBlock "Gain\n Scheduled\nCoefficients" DstPort 2 } Line { SrcBlock "Alpha" SrcPort 1 DstBlock "Gain\n Scheduled\nCoefficients" DstPort 1 } Line { SrcBlock "Kg" SrcPort 1 Points [15, 0] Branch { DstBlock "Sum12" DstPort 2 } Branch { DstBlock "Demand\nlimits " DstPort 1 } } Line { SrcBlock "Gain\n Scheduled\nCoefficients" SrcPort 1 Points [485, 0] DstBlock "Kg" DstPort 1 } Line { SrcBlock "Gain\n Scheduled\nCoefficients" SrcPort 3 Points [160, 0] DstBlock "Ka" DstPort 1 } Line { SrcBlock "Gain\n Scheduled\nCoefficients" SrcPort 2 Points [265, 0] DstBlock "KI" DstPort 1 } Line { SrcBlock "Anti-Windup \nGain" SrcPort 1 Points [-25, 0] DstBlock "Sum11" DstPort 1 } Line { SrcBlock "Sum8" SrcPort 1 DstBlock "Kg" DstPort 2 } Line { SrcBlock "Integrator" SrcPort 1 DstBlock "Sum8" DstPort 1 } Line { SrcBlock "Sum11" SrcPort 1 DstBlock "Integrator" DstPort 1 } Line { SrcBlock "Product6" SrcPort 1 Points [30, 0] DstBlock "Sum9" DstPort 1 } Line { SrcBlock "Sum9" SrcPort 1 DstBlock "Ka" DstPort 2 } Line { SrcBlock "Ka" SrcPort 1 DstBlock "Sum10" DstPort 1 } Line { SrcBlock "Sum10" SrcPort 1 DstBlock "KI" DstPort 2 } Line { SrcBlock "KI" SrcPort 1 DstBlock "Sum11" DstPort 2 } Line { SrcBlock "Sum12" SrcPort 1 DstBlock "Anti-Windup \nGain" DstPort 1 } Line { SrcBlock "Az_d" SrcPort 1 Points [80, 0] Branch { DstBlock "Mux" DstPort 2 } Branch { DstBlock "Sum9" DstPort 2 } } Line { SrcBlock "Mux" SrcPort 1 DstBlock "To Workspace3" DstPort 1 } Line { SrcBlock "q_m" SrcPort 1 Points [35, 0] Branch { DstBlock "Sum10" DstPort 2 } Branch { Points [220, 0] DstBlock "Sum8" DstPort 2 } } Line { SrcBlock "Demand\nlimits " SrcPort 1 Points [5, 0] Branch { DstBlock "Fin\nDemand" DstPort 1 } Branch { Points [0, -80] Branch { DstBlock "Sum12" DstPort 1 } Branch { DstBlock "To Workspace2" DstPort 1 } } } Line { SrcBlock "Az_m" SrcPort 1 Points [50, 0] Branch { DstBlock "Mux" DstPort 1 } Branch { DstBlock "Product6" DstPort 2 } } Line { SrcBlock "Gain\n Scheduled\nCoefficients" SrcPort 4 Points [40, 0; 0, 65] DstBlock "Product6" DstPort 1 } Annotation { Position [419, 19] Text "Gain Scheduled Three-Loop Autopilot" FontName "Arial" FontSize 20 FontWeight "bold" FontAngle "italic" } } } Block { BlockType Reference Name "Fin Actuator" Ports [1, 1] Position [25, 466, 115, 504] Orientation "left" FontName "Arial" SourceBlock "aerospace/Actuators/2nd Order Non-linear Ac" "tuator" SourceType "" wn_fin "wn_fin" z_fin "z_fin" fin_max "fin_max" fin_min "fin_min" fin_maxrate "fin_maxrate" fin_act_0 "fin_act_0" } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [400, 68, 420, 102] Orientation "left" ShowName off InputType "Vector" ElementSrc "Internal" Elements "[2]" RowSrc "Internal" Rows "1" ColumnSrc "Internal" Columns "1" InputPortWidth "2" } Block { BlockType SubSystem Name "Sensors" Ports [3, 2] Position [325, 226, 400, 314] NamePlacement "alternate" FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Sensors" Location [263, 81, 616, 246] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "q" Position [15, 18, 45, 32] FontName "Arial" Port "1" Interpolate on Port { PortNumber 1 Name "Rate Gyro" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Inport Name "qdot" Position [15, 58, 45, 72] FontName "Arial" Port "2" Interpolate on } Block { BlockType Inport Name "Ax,Az" Position [15, 108, 45, 122] FontName "Arial" Port "3" Interpolate on } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [95, 99, 105, 131] ShowName off FontName "Arial" InputType "Vector" ElementSrc "Internal" Elements "[2]" RowSrc "Internal" Rows "1" ColumnSrc "Internal" Columns "1" InputPortWidth "2" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [150, 95, 180, 135] ShowName off FontName "Arial" IconShape "round" Inputs "-+|" SaturateOnIntegerOverflow on Port { PortNumber 1 Name "Accelerometer" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Gain Name "l" Position [80, 38, 145, 92] FontName "Arial" Gain "l_acc" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "q_m" Position [270, 18, 300, 32] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Az_m" Position [275, 108, 305, 122] FontName "Arial" Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Selector" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Ax,Az" SrcPort 1 DstBlock "Selector" DstPort 1 } Line { Name "Rate Gyro" FontName "Arial" FontSize 10 Labels [-1, 0] SrcBlock "q" SrcPort 1 DstBlock "q_m" DstPort 1 } Line { SrcBlock "l" SrcPort 1 Points [15, 0] DstBlock "Sum" DstPort 1 } Line { Name "Accelerometer" FontName "Arial" FontSize 10 Labels [1, 1] SrcBlock "Sum" SrcPort 1 DstBlock "Az_m" DstPort 1 } Line { SrcBlock "qdot" SrcPort 1 DstBlock "l" DstPort 1 } } } Block { BlockType Constant Name "Thrust" Position [15, 290, 65, 310] Value "Thrust" VectorParams1D on } Block { BlockType ToWorkspace Name "To Workspace" Position [455, 75, 505, 95] ForegroundColor "blue" ShowName off VariableName "Miss_pos" MaxDataPoints "inf" Decimation "1" SampleTime "-1" SaveFormat "Structure" } Block { BlockType ToWorkspace Name "To Workspace1" Position [380, 454, 415, 476] ForegroundColor "blue" ShowName off VariableName "Mach" MaxDataPoints "inf" Decimation "1" SampleTime "-1" SaveFormat "Structure" } Block { BlockType ToWorkspace Name "To Workspace2" Position [315, 434, 350, 456] ForegroundColor "blue" ShowName off VariableName "Incid" MaxDataPoints "inf" Decimation "1" SampleTime "-1" SaveFormat "Structure" } Block { BlockType Gain Name "l" Position [325, 61, 385, 109] Orientation "left" ShowName off FontName "Arial" Gain "-1" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Terminator Name "tempscope1" Position [95, 48, 110, 62] Orientation "left" ShowName off } Block { BlockType Terminator Name "tempscope2" Position [95, 88, 110, 102] Orientation "left" ShowName off } Block { BlockType Outport Name "Xe,Ze" Position [470, 173, 495, 187] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Attitude" Position [210, 203, 240, 217] FontName "Arial" Port "2" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "q" Position [465, 243, 495, 257] FontName "Arial" Port "3" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Aerodynamics &\nEquations of Motion" SrcPort 2 DstBlock "Attitude" DstPort 1 } Line { SrcBlock "Thrust" SrcPort 1 DstBlock "Aerodynamics &\nEquations of Motion" DstPort 3 } Line { SrcBlock "Atmosphere" SrcPort 3 DstBlock "tempscope2" DstPort 1 } Line { SrcBlock "Atmosphere" SrcPort 4 Points [-75, 0; 0, 75] DstBlock "Aerodynamics &\nEquations of Motion" DstPort 1 } Line { SrcBlock "Atmosphere" SrcPort 1 DstBlock "tempscope1" DstPort 1 } Line { SrcBlock "Atmosphere" SrcPort 2 Points [-95, 0; 0, 170] DstBlock "Aerodynamics &\nEquations of Motion" DstPort 2 } Line { SrcBlock "Selector" SrcPort 1 DstBlock "l" DstPort 1 } Line { SrcBlock "l" SrcPort 1 DstBlock "Atmosphere" DstPort 1 } Line { SrcBlock "Aerodynamics &\nEquations of Motion" SrcPort 5 DstBlock "Sensors" DstPort 3 } Line { SrcBlock "Aerodynamics &\nEquations of Motion" SrcPort 4 DstBlock "Sensors" DstPort 2 } Line { SrcBlock "Aerodynamics &\nEquations of Motion" SrcPort 1 Points [240, 0] Branch { DstBlock "Xe,Ze" DstPort 1 } Branch { Points [0, -95] Branch { DstBlock "To Workspace" DstPort 1 } Branch { DstBlock "Selector" DstPort 1 } } } Line { SrcBlock "Az_d" SrcPort 1 DstBlock "Autopilot" DstPort 5 } Line { SrcBlock "Autopilot" SrcPort 1 DstBlock "Fin Actuator" DstPort 1 } Line { SrcBlock "Fin Actuator" SrcPort 1 Points [-10, 0; 0, -130] DstBlock "Aerodynamics &\nEquations of Motion" DstPort 4 } Line { SrcBlock "Aerodynamics &\nEquations of Motion" SrcPort 7 Points [100, 0; 0, 85] Branch { DstBlock "Autopilot" DstPort 1 } Branch { DstBlock "To Workspace2" DstPort 1 } } Line { SrcBlock "Sensors" SrcPort 2 Points [20, 0; 0, 190] DstBlock "Autopilot" DstPort 3 } Line { SrcBlock "Aerodynamics &\nEquations of Motion" SrcPort 6 Points [165, 0; 0, 135] Branch { DstBlock "Autopilot" DstPort 2 } Branch { DstBlock "To Workspace1" DstPort 1 } } Line { SrcBlock "Sensors" SrcPort 1 Points [40, 0] Branch { Points [0, 255] DstBlock "Autopilot" DstPort 4 } Branch { DstBlock "q" DstPort 1 } } Line { SrcBlock "Aerodynamics &\nEquations of Motion" SrcPort 3 DstBlock "Sensors" DstPort 1 } Annotation { Position [253, 22] Text "Airframe Dynamics" FontName "Arial" FontSize 16 FontWeight "bold" FontAngle "italic" } } } Block { BlockType SubSystem Name "Guidance" Ports [3, 3] Position [425, 96, 535, 234] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" Port { PortNumber 1 Name "Demanded look angle during target search" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } System { Name "Guidance" Location [97, 201, 776, 678] Open off ModelBrowserVisibility off ModelBrowserWidth 212 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom off Block { BlockType Inport Name "Sigmadot" Position [180, 388, 210, 402] Port "1" Interpolate on } Block { BlockType Inport Name "Vc" Position [215, 358, 245, 372] Port "2" Interpolate on } Block { BlockType Inport Name "Rm" Position [25, 123, 55, 137] Port "3" Interpolate on } Block { BlockType UnitDelay Name "0.01 Sec\nHold" Position [50, 230, 85, 270] FontName "Arial" X0 "0" SampleTime "0.01" } Block { BlockType From Name "Acquisition " Position [30, 175, 90, 205] CloseFcn "tagdialog Close" FontName "Arial" GotoTag "Acquire" } Block { BlockType Product Name "Demands" Ports [2, 1] Position [265, 348, 285, 412] ShowName off FontName "Arial" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType SubSystem Name "Fuze" Ports [2, 1, 1] Position [340, 66, 395, 139] NamePlacement "alternate" ShowPortLabels off TreatAsAtomicUnit on RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Fuze" Location [188, 99, 720, 347] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Rm" Position [15, 153, 45, 167] Port "1" Interpolate on } Block { BlockType Inport Name "Detonate" Position [170, 38, 200, 52] Port "2" Interpolate on } Block { BlockType EnablePort Name "Enable" Ports [] Position [275, 15, 295, 35] StatesWhenEnabling "held" ShowOutputPort off } Block { BlockType Fcn Name "Closest Approach" Position [160, 80, 210, 110] Expr "u(1)>=0" } Block { BlockType Derivative Name "Derivative" Position [105, 80, 135, 110] ShowName off } Block { BlockType HitCross Name "Hit \nCrossing1" Ports [1, 1] Position [295, 75, 325, 105] ShowName off HitCrossingOffset "0" HitCrossingDirection "rising" ShowOutputPort on } Block { BlockType Logic Name "Logical\nOperator" Ports [2, 1] Position [240, 70, 275, 105] NamePlacement "alternate" ShowName off Operator "OR" Inputs "2" } Block { BlockType Memory Name "Memory" Position [365, 75, 395, 105] ShowName off X0 "0" InheritSampleTime off } Block { BlockType SubSystem Name "Miss distance" Ports [1, 1, 0, 1] Position [310, 130, 365, 190] ShowPortLabels off TreatAsAtomicUnit on RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Miss distance" Location [208, 330, 431, 468] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "In1" Position [15, 68, 45, 82] Port "1" Interpolate on } Block { BlockType TriggerPort Name "Trigger" Ports [] Position [100, 15, 120, 35] TriggerType "rising" ShowOutputPort off OutputDataType "auto" } Block { BlockType Outport Name "Out1" Position [165, 68, 195, 82] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "In1" SrcPort 1 DstBlock "Out1" DstPort 1 } } } Block { BlockType Stop Name "Stop Simulation" Position [435, 72, 470, 108] } Block { BlockType Outport Name "Miss " Position [440, 153, 470, 167] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Derivative" SrcPort 1 DstBlock "Closest Approach" DstPort 1 } Line { SrcBlock "Detonate" SrcPort 1 Points [20, 0] DstBlock "Logical\nOperator" DstPort 1 } Line { SrcBlock "Rm" SrcPort 1 Points [30, 0] Branch { DstBlock "Miss distance" DstPort 1 } Branch { Points [0, -65] DstBlock "Derivative" DstPort 1 } } Line { SrcBlock "Closest Approach" SrcPort 1 DstBlock "Logical\nOperator" DstPort 2 } Line { SrcBlock "Memory" SrcPort 1 DstBlock "Stop Simulation" DstPort 1 } Line { SrcBlock "Miss distance" SrcPort 1 DstBlock "Miss " DstPort 1 } Line { SrcBlock "Logical\nOperator" SrcPort 1 DstBlock "Hit \nCrossing1" DstPort 1 } Line { SrcBlock "Hit \nCrossing1" SrcPort 1 Points [5, 0] Branch { DstBlock "Miss distance" DstPort trigger } Branch { DstBlock "Memory" DstPort 1 } } Annotation { Position [241, 15] Text "Fuze" FontName "Arial" FontSize 16 FontWeight "bold" FontAngle "italic" } } } Block { BlockType Goto Name "Goto" Position [435, 212, 475, 238] ShowName off FontName "Arial" GotoTag "Mode" TagVisibility "global" } Block { BlockType SubSystem Name "Guidance Processor\n(Updated @100Hz)" Ports [3, 5] Position [110, 100, 305, 280] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Stateflow" MaskDescription "Stateflow diagram" MaskDisplay "plot(sf('Private','sfblk','xIcon'),sf('Priv" "ate','sfblk','yIcon'));text(0.5,0,sf('Private', 'sfblk', 'tIcon'),'Horizontal" "Al','Center','VerticalAl','Bottom');" MaskSelfModifiable on MaskIconFrame off MaskIconOpaque off MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Guidance Processor\n(Updated @100Hz)" Location [257, 457, 812, 717] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Range" Position [20, 101, 40, 119] Port "1" PortDimensions "1" Interpolate on } Block { BlockType Inport Name "Acquire" Position [20, 136, 40, 154] Port "2" PortDimensions "1" Interpolate on } Block { BlockType Inport Name "az_dem" Position [20, 171, 40, 189] Port "3" PortDimensions "1" Interpolate on } Block { BlockType Demux Name " Demux " Ports [1, 1] Position [270, 280, 320, 320] Outputs "1" BusSelectionMode off } Block { BlockType "S-Function" Name " SFunction " Tag "Stateflow S-Function guidance 1" Ports [3, 6] Position [180, 102, 230, 243] FunctionName "sf_sfun" PortCounts "[3 6]" SFunctionModules "''" } Block { BlockType Terminator Name " Terminator " Position [460, 291, 480, 309] } Block { BlockType Outport Name "Detonate" Position [460, 101, 480, 119] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Fuze" Position [460, 136, 480, 154] Port "2" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Sigma_d" Position [460, 171, 480, 189] Port "3" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Mode" Position [460, 206, 480, 224] Port "4" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "az_fix" Position [460, 246, 480, 264] Port "5" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock " SFunction " SrcPort 1 Points [20, 0] DstBlock " Demux " DstPort 1 } Line { SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { SrcBlock "Range" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { SrcBlock "Acquire" SrcPort 1 Points [120, 0] DstBlock " SFunction " DstPort 2 } Line { SrcBlock "az_dem" SrcPort 1 DstBlock " SFunction " DstPort 3 } Line { SrcBlock " SFunction " SrcPort 2 DstBlock "Detonate" DstPort 1 } Line { SrcBlock " SFunction " SrcPort 3 DstBlock "Fuze" DstPort 1 } Line { SrcBlock " SFunction " SrcPort 4 DstBlock "Sigma_d" DstPort 1 } Line { SrcBlock " SFunction " SrcPort 5 DstBlock "Mode" DstPort 1 } Line { SrcBlock " SFunction " SrcPort 6 DstBlock "az_fix" DstPort 1 } } } Block { BlockType Saturate Name "Limit\nNormal Acceleration\nDemand " Position [520, 335, 550, 365] FontName "Arial" UpperLimit "max_acc" LowerLimit "-max_acc" LinearizeAsGain on } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [5, 1] Position [450, 268, 465, 432] ShowName off Inputs "4" } Block { BlockType Gain Name "Proportional\nNavigation\nGain" Position [305, 354, 365, 406] FontName "Arial" Gain "-3.5" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType ToWorkspace Name "To Workspace1" Position [440, 179, 475, 201] ForegroundColor "blue" ShowName off VariableName "Mode" MaxDataPoints "inf" Decimation "1" SampleTime "0" SaveFormat "StructureWithTime" } Block { BlockType Outport Name "Sigma_d" Position [345, 183, 375, 197] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Az_d" Position [630, 343, 660, 357] Port "2" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Miss" Position [425, 98, 455, 112] Port "3" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Fuze" SrcPort 1 DstBlock "Miss" DstPort 1 } Line { SrcBlock "Rm" SrcPort 1 Points [15, 0] Branch { DstBlock "Guidance Processor\n(Updated @100Hz)" DstPort 1 } Branch { Points [0, -45] DstBlock "Fuze" DstPort 1 } } Line { SrcBlock "Guidance Processor\n(Updated @100Hz)" SrcPort 3 DstBlock "Sigma_d" DstPort 1 } Line { SrcBlock "Guidance Processor\n(Updated @100Hz)" SrcPort 4 Points [100, 0] Branch { Points [0, 65] DstBlock "Multiport\nSwitch" DstPort 1 } Branch { Points [0, 0] Branch { DstBlock "Goto" DstPort 1 } Branch { Points [0, -35] DstBlock "To Workspace1" DstPort 1 } } } Line { SrcBlock "Acquisition " SrcPort 1 DstBlock "Guidance Processor\n(Updated @100Hz)" DstPort 2 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 DstBlock "Limit\nNormal Acceleration\nDemand " DstPort 1 } Line { SrcBlock "Guidance Processor\n(Updated @100Hz)" SrcPort 1 DstBlock "Fuze" DstPort 2 } Line { SrcBlock "Limit\nNormal Acceleration\nDemand " SrcPort 1 Points [50, 0] Branch { DstBlock "Az_d" DstPort 1 } Branch { Points [0, 105; -580, 0; 0, -205] DstBlock "0.01 Sec\nHold" DstPort 1 } } Line { SrcBlock "Guidance Processor\n(Updated @100Hz)" SrcPort 5 Points [75, 0; 0, 75] Branch { Points [25, 0] Branch { Points [0, -15] DstBlock "Multiport\nSwitch" DstPort 2 } Branch { Points [0, 15] DstBlock "Multiport\nSwitch" DstPort 3 } } Branch { Points [0, 75] DstBlock "Multiport\nSwitch" DstPort 5 } } Line { SrcBlock "0.01 Sec\nHold" SrcPort 1 DstBlock "Guidance Processor\n(Updated @100Hz)" DstPort 3 } Line { SrcBlock "Guidance Processor\n(Updated @100Hz)" SrcPort 2 Points [55, 0] DstBlock "Fuze" DstPort enable } Line { SrcBlock "Sigmadot" SrcPort 1 DstBlock "Demands" DstPort 2 } Line { SrcBlock "Proportional\nNavigation\nGain" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Vc" SrcPort 1 DstBlock "Demands" DstPort 1 } Line { SrcBlock "Demands" SrcPort 1 DstBlock "Proportional\nNavigation\nGain" DstPort 1 } Annotation { Position [348, 23] Text " Guidance Commands " FontName "Arial" FontSize 16 FontWeight "bold" FontAngle "italic" } } } Block { BlockType Display Name "Miss Distance" Ports [1] Position [560, 291, 650, 319] FontName "Arial" Format "short" Decimation "1" Floating off SampleTime "-1" } Block { BlockType SubSystem Name "Missile ---> Target\nSeparation" Ports [1, 2] Position [150, 127, 210, 198] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Cart2Polar" MaskDescription "Transformation from cartesian to polar coordina" "tes.\n[x, y] -> [r, theta]\n\nr = sqrt(x^2 + y^2);\ntheta = atan(y/x);" MaskHelp "Unmask this block for more help." MaskDisplay "plot(0,0,100,100,[24,20,15,20,20],[85,95,85,95," "20],[80,20,95,85,95,85],[70,20,20,15,20,24],[56,56,55,52,50,46],[20,26,31,35," "38,42])" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Missile ---> Target\nSeparation" Location [597, 437, 910, 582] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "x" Position [30, 55, 50, 75] Port "1" Interpolate on } Block { BlockType Fcn Name "Range" Position [110, 22, 215, 48] Expr "hypot(u[1],u[2])" } Block { BlockType Fcn Name "Sightline Angle" Position [115, 79, 220, 101] Expr "atan2(-u[2],u[1])" } Block { BlockType Outport Name "r" Position [250, 25, 270, 45] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "theta" Position [250, 80, 270, 100] Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "x" SrcPort 1 Points [25, 0] Branch { Points [0, 25] DstBlock "Sightline Angle" DstPort 1 } Branch { Points [0, -30] DstBlock "Range" DstPort 1 } } Line { SrcBlock "Range" SrcPort 1 DstBlock "r" DstPort 1 } Line { SrcBlock "Sightline Angle" SrcPort 1 DstBlock "theta" DstPort 1 } } } Block { BlockType SubSystem Name "Seeker/Tracker\n" Ports [4, 3] Position [300, 95, 405, 230] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Seeker/Tracker\n" Location [230, 125, 855, 468] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Sigma_d" Position [35, 223, 65, 237] Port "1" Interpolate on } Block { BlockType Inport Name "Range" Position [345, 248, 375, 262] Port "2" Interpolate on } Block { BlockType Inport Name "Look Angle" Position [40, 67, 70, 83] Port "3" Interpolate on } Block { BlockType Inport Name "q" Position [35, 173, 65, 187] Port "4" Interpolate on } Block { BlockType Goto Name "Acquire" Position [535, 95, 585, 125] NamePlacement "alternate" ShowName off FontName "Arial" GotoTag "Acquire" TagVisibility "global" } Block { BlockType Gain Name "Radome \nAberation" Position [85, 213, 130, 247] ShowName off FontName "Arial" Gain "d2r" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType SubSystem Name "Range and \nClosing Velocity Estimates" Ports [1, 2, 1] Position [410, 213, 525, 297] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit on RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Range and \nClosing Velocity Estimates" Location [229, 153, 658, 416] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "R" Position [15, 83, 45, 97] Port "1" Interpolate on } Block { BlockType EnablePort Name "Enable" Ports [0, 1] Position [265, 165, 285, 185] Orientation "left" FontName "Arial" StatesWhenEnabling "reset" ShowOutputPort on } Block { BlockType Gain Name "Bandwidth\nof Estimator" Position [135, 72, 230, 108] Gain "wn_hom" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Integrator Name "Initialized\nat acquisition" Ports [3, 1] Position [140, 148, 185, 202] Orientation "left" ExternalReset "rising" InitialConditionSource "external" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Gain Name "Rdot ---> Vc" Position [260, 73, 345, 107] FontName "Arial" Gain "-1" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [75, 70, 115, 110] ShowName off IconShape "round" Inputs "|+-" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "Closing\nVelocity" Position [360, 83, 390, 97] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "Range" Position [360, 23, 390, 37] FontName "Arial" Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "R" SrcPort 1 Points [10, 0] Branch { Points [0, -60] DstBlock "Range" DstPort 1 } Branch { Points [0, 155; 165, 0; 0, -50] DstBlock "Initialized\nat acquisition" DstPort 3 } Branch { DstBlock "Sum" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Bandwidth\nof Estimator" DstPort 1 } Line { SrcBlock "Enable" SrcPort 1 DstBlock "Initialized\nat acquisition" DstPort 2 } Line { SrcBlock "Initialized\nat acquisition" SrcPort 1 Points [-40, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Bandwidth\nof Estimator" SrcPort 1 Points [10, 0] Branch { DstBlock "Rdot ---> Vc" DstPort 1 } Branch { Points [0, 65] DstBlock "Initialized\nat acquisition" DstPort 1 } } Line { SrcBlock "Rdot ---> Vc" SrcPort 1 DstBlock "Closing\nVelocity" DstPort 1 } } } Block { BlockType SubSystem Name "Target\nAcquisition" Ports [2, 1] Position [320, 42, 435, 178] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Target\nAcquisition" Location [55, 237, 507, 403] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Look Angle" Position [15, 102, 45, 118] FontName "Arial" Port "1" Interpolate on } Block { BlockType Inport Name "Gimbal\nAngle" Position [20, 38, 50, 52] FontName "Arial" Port "2" Interpolate on } Block { BlockType Abs Name "Abs" Position [235, 40, 265, 70] ShowName off FontName "Arial" SaturateOnIntegerOverflow on } Block { BlockType Constant Name "Beamwidth" Position [195, 76, 295, 104] FontName "Arial" Value "Beamwidth/2" VectorParams1D on } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [115, 100, 120, 135] ForegroundColor "blue" BackgroundColor "blue" NamePlacement "alternate" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType RelationalOperator Name "Relational\nOperator" Position [320, 37, 350, 108] ShowName off Operator "<" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [140, 35, 170, 75] ShowName off IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType ToWorkspace Name "To Workspace2" Position [140, 110, 190, 130] ForegroundColor "blue" NamePlacement "alternate" ShowName off VariableName "Gimbal" MaxDataPoints "inf" Decimation "1" SampleTime "-1" SaveFormat "Structure" } Block { BlockType Outport Name "Acquire Flag" Position [385, 68, 415, 82] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Look Angle" SrcPort 1 Points [30, 0] Branch { Points [0, -45] DstBlock "Sum" DstPort 2 } Branch { Points [0, 15] DstBlock "Mux" DstPort 2 } } Line { SrcBlock "Gimbal\nAngle" SrcPort 1 Points [40, 0] Branch { DstBlock "Sum" DstPort 1 } Branch { Points [0, 65] DstBlock "Mux" DstPort 1 } } Line { SrcBlock "Mux" SrcPort 1 DstBlock "To Workspace2" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Abs" DstPort 1 } Line { SrcBlock "Beamwidth" SrcPort 1 DstBlock "Relational\nOperator" DstPort 2 } Line { SrcBlock "Relational\nOperator" SrcPort 1 DstBlock "Acquire Flag" DstPort 1 } Line { SrcBlock "Abs" SrcPort 1 DstBlock "Relational\nOperator" DstPort 1 } } } Block { BlockType SubSystem Name "Tracker and Sightline Rate\nEstimator" Ports [3, 2] Position [145, 108, 285, 252] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Tracker and Sightline Rate\nEstimator" Location [133, 133, 965, 574] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Look Angle" Position [50, 88, 80, 102] FontName "Arial" Port "1" Interpolate on } Block { BlockType Inport Name "q" Position [50, 388, 80, 402] FontName "Arial" Port "2" Interpolate on } Block { BlockType Inport Name "sigma_d" Position [315, 137, 345, 153] FontName "Arial" Port "3" Interpolate on } Block { BlockType Constant Name "Angular Noise" Position [234, 20, 276, 45] Orientation "down" NamePlacement "alternate" FontName "Arial" Value "0" VectorParams1D on } Block { BlockType SubSystem Name "Estimator Filter" Ports [2, 1, 1] Position [660, 125, 765, 205] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit on RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Estimator Filter" Location [351, 294, 816, 569] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Dish error" Position [15, 28, 45, 42] Port "1" Interpolate on } Block { BlockType Inport Name "q" Position [15, 178, 45, 192] Port "2" Interpolate on } Block { BlockType EnablePort Name "Enable" Ports [] Position [390, 155, 410, 175] FontName "Arial" StatesWhenEnabling "reset" ShowOutputPort off } Block { BlockType Integrator Name "Integrator" Ports [2, 1] Position [125, 95, 170, 135] Orientation "left" ShowName off ExternalReset "none" InitialConditionSource "external" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [95, 15, 135, 55] ShowName off IconShape "round" Inputs "|+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [65, 165, 105, 205] ShowName off IconShape "round" Inputs "|+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [325, 15, 365, 55] ShowName off IconShape "round" Inputs "|++" SaturateOnIntegerOverflow on } Block { BlockType Integrator Name "q_filt" Ports [1, 1] Position [275, 165, 320, 205] ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Gain Name "wn_hom" Position [175, 14, 250, 56] Gain "wn_hom" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "wn_hom " Position [150, 164, 225, 206] Gain "wn_hom" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "Sightline\nRate" Position [390, 28, 420, 42] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Dish error" SrcPort 1 Points [20, 0] Branch { DstBlock "Sum" DstPort 1 } Branch { Points [0, 115; 115, 0] DstBlock "Integrator" DstPort 2 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "wn_hom" DstPort 1 } Line { SrcBlock "Integrator" SrcPort 1 Points [-5, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Sightline\nRate" DstPort 1 } Line { SrcBlock "wn_hom" SrcPort 1 Points [35, 0] Branch { Points [0, 70] DstBlock "Integrator" DstPort 1 } Branch { DstBlock "Sum5" DstPort 1 } } Line { SrcBlock "q" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "wn_hom " DstPort 1 } Line { SrcBlock "wn_hom " SrcPort 1 DstBlock "q_filt" DstPort 1 } Line { SrcBlock "q_filt" SrcPort 1 Points [20, 0] Branch { DstBlock "Sum5" DstPort 2 } Branch { Points [0, 60; -260, 0] DstBlock "Sum1" DstPort 2 } } } } Block { BlockType Gain Name "Gimbal" Position [385, 273, 465, 317] Orientation "left" Gain "1" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Integrator Name "Gimbal " Ports [1, 1] Position [139, 220, 181, 260] Orientation "up" NamePlacement "alternate" ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput on UpperSaturationLimit "max_gimbal" LowerSaturationLimit "min_gimbal" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Fcn Name "Guided Flight" Position [630, 65, 675, 85] FontName "Arial" Expr "u(1)>1" } Block { BlockType From Name "Mode" Position [575, 64, 615, 86] CloseFcn "tagdialog Close" FontName "Arial" GotoTag "Mode" } Block { BlockType Gain Name "Radome \nAberration" Position [238, 130, 272, 175] Orientation "up" NamePlacement "alternate" Gain "K_r" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Receiver" Position [300, 75, 365, 115] Gain "1" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on Port { PortNumber 1 Name "e" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType TransferFcn Name "Stabalizing Rate Gyro" Position [305, 372, 445, 418] Numerator "[wgyro^2]" Denominator "[1 2*0.7*wgyro wgyro^2]" Realization "auto" AbsoluteTolerance "auto" } Block { BlockType TransferFcn Name "Stabilization \nGain" Position [255, 277, 290, 313] Orientation "left" Numerator "[Ks]" Denominator "[1 0]" Realization "auto" AbsoluteTolerance "auto" } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [140, 75, 180, 115] ShowName off IconShape "round" Inputs "|+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum2" Ports [3, 1] Position [235, 75, 275, 115] ShowName off IconShape "round" Inputs "+++" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [530, 275, 570, 315] Orientation "left" ShowName off IconShape "round" Inputs "+-|" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [140, 375, 180, 415] ShowName off IconShape "round" Inputs "++|" SaturateOnIntegerOverflow on } Block { BlockType SubSystem Name "Switch to Closed\nLoop Tracking" Ports [3, 1] Position [390, 70, 485, 220] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Switch to Closed\nLoop Tracking" Location [495, 254, 784, 483] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Dish Error" Position [120, 33, 150, 47] Port "1" Interpolate on } Block { BlockType Inport Name "sigma_d" Position [55, 153, 85, 167] Port "2" Interpolate on } Block { BlockType Inport Name "Gimbal" Position [15, 128, 45, 142] Port "3" Interpolate on } Block { BlockType Fcn Name "Guided Flight" Position [90, 85, 155, 105] NamePlacement "alternate" FontName "Arial" Expr "u(1)>1" } Block { BlockType From Name "Mode" Position [30, 84, 70, 106] CloseFcn "tagdialog Close" FontName "Arial" GotoTag "Mode" } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [110, 120, 140, 175] ShowName off IconShape "rectangular" Inputs "-+" SaturateOnIntegerOverflow on } Block { BlockType Switch Name "Switch2" Position [175, 13, 195, 177] ShowName off FontName "Arial" Threshold "0.5" } Block { BlockType Outport Name "Dish\nError" Position [220, 88, 250, 102] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Mode" SrcPort 1 DstBlock "Guided Flight" DstPort 1 } Line { SrcBlock "Guided Flight" SrcPort 1 DstBlock "Switch2" DstPort 2 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Switch2" DstPort 3 } Line { SrcBlock "Dish Error" SrcPort 1 DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Switch2" SrcPort 1 DstBlock "Dish\nError" DstPort 1 } Line { SrcBlock "sigma_d" SrcPort 1 DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Gimbal" SrcPort 1 DstBlock "Sum5" DstPort 1 } } } Block { BlockType Gain Name "Tracking\nGain" Position [526, 200, 574, 240] Orientation "down" Gain "1/tors" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "Gimbal\nAngle " Position [45, 187, 75, 203] Orientation "left" Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Sightline \nRate" Position [780, 158, 810, 172] Port "2" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Gimbal " SrcPort 1 Points [0, -20] Branch { DstBlock "Sum1" DstPort 2 } Branch { Points [95, 0] Branch { DstBlock "Radome \nAberration" DstPort 1 } Branch { DstBlock "Switch to Closed\nLoop Tracking" DstPort 3 } } Branch { DstBlock "Gimbal\nAngle " DstPort 1 } } Line { SrcBlock "Stabilization \nGain" SrcPort 1 Points [-90, 0] Branch { DstBlock "Gimbal " DstPort 1 } Branch { DstBlock "Sum4" DstPort 1 } } Line { SrcBlock "Gimbal" SrcPort 1 DstBlock "Stabilization \nGain" DstPort 1 } Line { SrcBlock "Look Angle" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Receiver" DstPort 1 } Line { Name "e" Labels [1, 1] SrcBlock "Receiver" SrcPort 1 DstBlock "Switch to Closed\nLoop Tracking" DstPort 1 } Line { SrcBlock "sigma_d" SrcPort 1 DstBlock "Switch to Closed\nLoop Tracking" DstPort 2 } Line { SrcBlock "Estimator Filter" SrcPort 1 DstBlock "Sightline \nRate" DstPort 1 } Line { SrcBlock "Radome \nAberration" SrcPort 1 DstBlock "Sum2" DstPort 3 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Angular Noise" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Stabalizing Rate Gyro" DstPort 1 } Line { SrcBlock "q" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Stabalizing Rate Gyro" SrcPort 1 Points [190, 0; 0, -100] Branch { DstBlock "Sum3" DstPort 2 } Branch { Points [0, -110] DstBlock "Estimator Filter" DstPort 2 } } Line { SrcBlock "Sum3" SrcPort 1 DstBlock "Gimbal" DstPort 1 } Line { SrcBlock "Tracking\nGain" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Switch to Closed\nLoop Tracking" SrcPort 1 Points [60, 0] Branch { DstBlock "Tracking\nGain" DstPort 1 } Branch { DstBlock "Estimator Filter" DstPort 1 } } Line { SrcBlock "Guided Flight" SrcPort 1 Points [30, 0] DstBlock "Estimator Filter" DstPort enable } Line { SrcBlock "Mode" SrcPort 1 DstBlock "Guided Flight" DstPort 1 } Annotation { Position [377, 342] ForegroundColor "red" Text "Stabilization Loop" FontName "Arial" FontWeight "bold" FontAngle "italic" } Annotation { Position [287, 237] ForegroundColor "red" Text "Tracking Loop" FontName "Arial" FontWeight "bold" FontAngle "italic" } } } Block { BlockType Outport Name "Sigmadot" Position [310, 208, 340, 222] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Vc" Position [565, 228, 595, 242] Port "2" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Rm" Position [565, 268, 595, 282] Port "3" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Tracker and Sightline Rate\nEstimator" SrcPort 2 DstBlock "Sigmadot" DstPort 1 } Line { SrcBlock "Radome \nAberation" SrcPort 1 DstBlock "Tracker and Sightline Rate\nEstimator" DstPort 3 } Line { SrcBlock "Tracker and Sightline Rate\nEstimator" SrcPort 1 DstBlock "Target\nAcquisition" DstPort 2 } Line { SrcBlock "Target\nAcquisition" SrcPort 1 Points [25, 0] Branch { DstBlock "Acquire" DstPort 1 } Branch { DstBlock "Range and \nClosing Velocity Estimates" DstPort enable } } Line { SrcBlock "q" SrcPort 1 DstBlock "Tracker and Sightline Rate\nEstimator" DstPort 2 } Line { SrcBlock "Look Angle" SrcPort 1 Points [45, 0] Branch { DstBlock "Target\nAcquisition" DstPort 1 } Branch { Points [0, 55] DstBlock "Tracker and Sightline Rate\nEstimator" DstPort 1 } } Line { SrcBlock "Range" SrcPort 1 DstBlock "Range and \nClosing Velocity Estimates" DstPort 1 } Line { SrcBlock "Range and \nClosing Velocity Estimates" SrcPort 2 DstBlock "Rm" DstPort 1 } Line { SrcBlock "Range and \nClosing Velocity Estimates" SrcPort 1 DstBlock "Vc" DstPort 1 } Line { SrcBlock "Sigma_d" SrcPort 1 DstBlock "Radome \nAberation" DstPort 1 } Annotation { Position [310, 21] Text "Target Tracker and Sightline Rate Estimator" FontName "Arial" FontSize 16 FontWeight "bold" FontAngle "italic" } } } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [235, 160, 275, 200] ShowName off IconShape "round" Inputs "|+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [90, 145, 130, 185] ShowName off IconShape "round" Inputs "|+-" SaturateOnIntegerOverflow on } Block { BlockType SubSystem Name "Target\nPosition" Ports [0, 1] Position [15, 149, 60, 181] FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Target\nPosition" Location [279, 74, 774, 333] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Gain Name "Gain" Position [120, 140, 150, 170] ShowName off FontName "Arial" Gain "-1" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [370, 84, 375, 191] ShowName off FontName "Arial" Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [240, 92, 270, 123] ShowName off FontName "Arial" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Product Name "Product1" Ports [2, 1] Position [240, 147, 270, 178] ShowName off FontName "Arial" Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType ToWorkspace Name "To Workspace" Position [405, 170, 445, 190] ForegroundColor "blue" ShowName off VariableName "Tgt_pos" MaxDataPoints "inf" Decimation "1" SampleTime "-1" SaveFormat "Structure" } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [170, 140, 200, 170] ShowName off FontName "Arial" Operator "sin" OutputSignalType "auto" } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [170, 85, 200, 115] ShowName off FontName "Arial" Operator "cos" OutputSignalType "auto" } Block { BlockType Constant Name "direction" Position [15, 111, 90, 139] FontName "Arial" Value "theta_tgt" VectorParams1D on } Block { BlockType Constant Name "speed" Position [30, 181, 85, 209] FontName "Arial" Value "v_tgt" VectorParams1D on } Block { BlockType Integrator Name "x" Ports [1, 1] Position [305, 95, 335, 125] FontName "Arial" ExternalReset "none" InitialConditionSource "internal" InitialCondition "pos_tgt(1)" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Integrator Name "z" Ports [1, 1] Position [305, 150, 335, 180] FontName "Arial" ExternalReset "none" InitialConditionSource "internal" InitialCondition "pos_tgt(2)" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Outport Name "Target" Position [410, 133, 440, 147] FontName "Arial" Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "x" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "z" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "x" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "z" DstPort 1 } Line { SrcBlock "speed" SrcPort 1 Points [120, 0; 0, -25] Branch { Points [0, -55] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product1" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 DstBlock "Product1" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "direction" SrcPort 1 Points [0, 0; 10, 0] Branch { Points [0, -25] DstBlock "Trigonometric\nFunction1" DstPort 1 } Branch { DstBlock "Gain" DstPort 1 } } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Trigonometric\nFunction" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [5, 0] Branch { DstBlock "Target" DstPort 1 } Branch { Points [0, 40] DstBlock "To Workspace" DstPort 1 } } Annotation { Position [231, 29] Text "Target Position" FontName "Arial" FontSize 16 FontWeight "bold" FontAngle "italic" } } } Block { BlockType SubSystem Name "library" Ports [] Position [681, 407, 802, 445] BackgroundColor "yellow" ShowName off OpenFcn "open_system('aerospace')" FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDisplay "disp('Go to Aero Library')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "library" Location [148, 182, 646, 482] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on } } Block { BlockType SubSystem Name "trim" Ports [] Position [21, 407, 222, 444] BackgroundColor "yellow" ShowName off OpenFcn "open_system('guidance_airframe')" FontName "Arial" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDisplay "disp('Trim and Linearize Airframe Demo')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "trim" Location [150, 180, 648, 480] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on } } Line { SrcBlock "Missile ---> Target\nSeparation" SrcPort 2 DstBlock "Sum" DstPort 1 } Line { Labels [1, 0] SrcBlock "Guidance" SrcPort 2 DstBlock "Airframe\n&\nAutopilot" DstPort 1 } Line { Labels [1, 0] SrcBlock "Seeker/Tracker\n" SrcPort 2 DstBlock "Guidance" DstPort 2 } Line { SrcBlock "Seeker/Tracker\n" SrcPort 3 DstBlock "Guidance" DstPort 3 } Line { SrcBlock "Guidance" SrcPort 3 Points [5, 0] DstBlock "Miss Distance" DstPort 1 } Line { SrcBlock "Seeker/Tracker\n" SrcPort 1 DstBlock "Guidance" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Seeker/Tracker\n" DstPort 3 } Line { Name "Missile Body Angular Rate" FontName "Arial" FontSize 10 Labels [3, 0] SrcBlock "Airframe\n&\nAutopilot" SrcPort 3 Points [15, 0; 0, 135; -385, 0; 0, -130] DstBlock "Seeker/Tracker\n" DstPort 4 } Line { Name "Demanded look angle during target search" FontName "Arial" FontSize 10 Labels [3, 0] SrcBlock "Guidance" SrcPort 1 Points [10, 0; 0, -55; -270, 0; 0, 45] DstBlock "Seeker/Tracker\n" DstPort 1 } Line { SrcBlock "Missile ---> Target\nSeparation" SrcPort 1 DstBlock "Seeker/Tracker\n" DstPort 2 } Line { Name "Missile Position" FontSize 10 SrcBlock "Airframe\n&\nAutopilot" SrcPort 1 Points [0, 0; 55, 0] Branch { DstBlock "3DoF Animation" DstPort 2 } Branch { Labels [2, 0] Points [0, 265; -595, 0] DstBlock "Sum2" DstPort 2 } } Line { Name "Missile Attitude" FontName "Arial" FontSize 10 SrcBlock "Airframe\n&\nAutopilot" SrcPort 2 Points [0, 0; 35, 0] Branch { DstBlock "3DoF Animation" DstPort 3 } Branch { Labels [2, 0] Points [0, 200; -430, 0] DstBlock "Sum" DstPort 2 } } Line { SrcBlock "Target\nPosition" SrcPort 1 Points [0, 0; 5, 0] Branch { Points [0, 0] DstBlock "Sum2" DstPort 1 } Branch { Points [0, -120; 650, 0] DstBlock "3DoF Animation" DstPort 1 } } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Missile ---> Target\nSeparation" DstPort 1 } Annotation { Position [423, 16] Text "3 Degrees of Freedom Guided Missile Model" FontName "Arial" FontSize 16 FontWeight "bold" FontAngle "italic" } } } # Finite State Machines # -- File save dated 04-Oct-2000 19:38:20 # # Stateflow Version 4.0 (R12) dated Oct 4 2000, 19:34:51 # # Stateflow { machine { id 1 name "guidance" created "18-May-1999 10:01:07" firstTarget 35 sfVersion 40012071 } chart { id 2 name "Guidance/Guidance Processor\n" "(Updated @100Hz)" windowPosition [20 159.2 480 596.8] viewLimits [0 313.059 0 402.732] zoomFactor 0.722 screen [1 1 1280 1024 1.25] treeNode [0 3 0 0] viewObj 2 visible 1 machine 1 subviewS { } decomposition SET_CHART firstEvent 23 firstData 24 updateMethod DISCRETE sampleTime "0.01" chartFileNumber 1 executeAtInitialization 1 } state { id 3 labelString "Guidance" position [5.833 6.585 284.996 239.13] fontSize 8 chart 2 treeNode [2 4 0 9] firstTransition 12 superState GROUPED subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type AND_STATE decomposition CLUSTER_STATE } state { id 4 labelString "Target_Search\n" " en: Mode=1;Sigma_d=0;incr=-100;Acquire_time=t;\n" " du: Sigma_d=Sigma_d+0.01*incr;" position [15.886 29.97 184.35 66.627] fontSize 6.497 arrowSize 5.792 chart 2 treeNode [3 0 0 5] firstTransition 14 isGrouped 1 subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type OR_STATE decomposition CLUSTER_STATE } state { id 5 labelString "Target_Lock\n" "en:Mode=2;Acquire_time=t;" position [127.19 116.064 94.207 25.386] fontSize 6.497 arrowSize 5.043 chart 2 treeNode [3 0 4 6] isGrouped 1 subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type OR_STATE decomposition CLUSTER_STATE } state { id 6 labelString "Abort\n" "en:Detonate=1;" position [74.328 163.586 46.427 23.384] fontSize 6.497 arrowSize 5.509 chart 2 treeNode [3 0 5 7] isGrouped 1 subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type OR_STATE decomposition CLUSTER_STATE } state { id 7 labelString "Radar_Guided\n" "en:Mode=3;\n" "ex:az_fix=az_dem;" position [143.407 164.562 58.962 35.439] fontSize 6.497 arrowSize 5.043 chart 2 treeNode [3 0 6 8] isGrouped 1 subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type OR_STATE decomposition CLUSTER_STATE } state { id 8 labelString "Blind_Range\n" "en:Mode=4;" position [152.948 217.334 42.751 21.723] fontSize 6.497 arrowSize 5.043 chart 2 treeNode [3 0 7 0] isGrouped 1 subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type OR_STATE decomposition CLUSTER_STATE } state { id 9 labelString "Fuze" position [7.47 255.047 281.702 128.78] fontSize 8 chart 2 treeNode [2 11 3 0] firstTransition 22 superState GROUPED subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type AND_STATE decomposition CLUSTER_STATE } state { id 10 labelString "Inert\n" "en:Fuze = 0;" position [13.69 306.981 60.082 25.11] fontSize 7 arrowSize 8.226 chart 2 treeNode [9 0 11 0] isGrouped 1 subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type OR_STATE decomposition CLUSTER_STATE } state { id 11 labelString "Armed\n" "en:Fuze=1;" position [232.01 305.197 49.694 20.766] fontSize 7 arrowSize 8.226 chart 2 treeNode [9 0 0 10] isGrouped 1 subviewer 2 subviewS { pos [0 0 0 0] fontSize 2 } type OR_STATE decomposition CLUSTER_STATE } transition { id 12 labelString "{az_fix=-9.81;}" labelPosition [85.802 15.556 41.587 8.655] fontSize 6.497 arrowSize 5.792 src { intersection [0 0 0 0.5283175993540756 81.66269578473006 13.69384714933545 0] } dst { id 4 intersection [1 0 -1 0.3547167065823609 81.27824333736946 29.96972197664286 0] } midPoint [81.49863914737527 17.64254453762464] chart 2 linkNode [3 0 13] isGrouped 1 dataLimits [79.541 83.016 13.694 29.97] subviewer 2 } transition { id 13 labelString "[Acquire==0]" labelPosition [246.64 86.741 33.501 8.655] fontSize 6.497 arrowSize 5.792 src { id 7 intersection [2 1 0 0.5488167100664437 202.3690063685274 184.0113918141885 0] } dst { id 4 intersection [2 1 0 0.4996127426457509 200.2364288903017 63.25759230976952 0] } midPoint [246.922106362626 140.2853757679862] chart 2 linkNode [3 12 16] isGrouped 1 dataLimits [200.236 248.998 61.52 184.011] subviewer 2 } transition { id 14 labelString "[Sigma_d>30||Sigma_d<-30] / incr=-incr;" labelPosition [48.026 75.256 114.365 8.655] fontSize 6.497 arrowSize 5.792 src { id 4 intersection [4 1 0 0.3915296975291728 15.886102814309 70.51048245233949 0] } dst { id 4 intersection [3 0 -1 0.8248300345639011 48.1787430611742 96.59706650121863 0] } midPoint [30.39838316753241 71.93848575104613] chart 2 linkNode [4 0 0] isGrouped 1 dataLimits [15.886 49.916 70.507 96.597] subviewer 2 } transition { id 15 labelString "[t-Acquire_time>7] / Timeout;" labelPosition [12.243 124.171 79.131 8.655] fontSize 6.497 arrowSize 5.509 src { id 4 intersection [3 0 1 0.5589889039156908 97.18664218058237 96.59706650121863 0] } dst { id 6 intersection [1 0 -1 0.4840729507652222 96.80180866076752 163.5859788483065 0] } midPoint [97.07935564329196 118.2693168248694] chart 2 linkNode [3 16 17] isGrouped 1 dataLimits [95.149 98.455 96.597 163.586] subviewer 2 } transition { id 16 labelString "[Acquire==1]" labelPosition [178.206 101.894 33.501 8.655] fontSize 6.497 arrowSize 5.043 src { id 4 intersection [3 0 1 0.1441818805069513 173.6564522045955 96.59706650121863 0] } dst { id 5 intersection [1 0 -1 0.4932384631254529 173.6564522045954 116.0641310520943 0] } midPoint [173.6564522045954 101.8776881590246] chart 2 linkNode [3 13 15] isGrouped 1 dataLimits [172.144 175.169 96.597 116.064] subviewer 2 } transition { id 17 labelString "[t-Acquire_time>0.2]" labelPosition [177.033 147.834 57.182 8.655] fontSize 6.497 arrowSize 5.043 src { id 5 intersection [3 0 1 0.5128646968331059 173.0814912269712 141.4498799189766 0] } dst { id 7 intersection [1 0 -1 0.4987043058169465 172.8117316292152 164.5620659751845 0] } midPoint [173.0062857896746 147.9985072262852] chart 2 linkNode [3 15 18] isGrouped 1 dataLimits [171.299 174.325 141.45 164.562] subviewer 2 } transition { id 18 labelString "[Range<200]" labelPosition [178.383 202.117 35.234 8.655] fontSize 6.497 arrowSize 5.043 src { id 7 intersection [3 0 1 0.4857409390818793 173.7288673145264 200.000720597507 0] } dst { id 8 intersection [1 0 -1 0.4860854454097836 173.7288673145264 217.3340456885759 0] } midPoint [173.7288673145265 204.5391720084236] chart 2 linkNode [3 17 0] isGrouped 1 dataLimits [172.216 175.242 200.001 217.334] subviewer 2 } transition { id 19 labelPosition [39.785 291.125 5.198 9.809] fontSize 7 arrowSize 8.226 src { intersection [0 0 0 0.5235945478151514 37.54426906345098 277.1553551785813 0] } dst { id 10 intersection [1 0 -1 0.3963801095470428 37.50546927315668 306.9807427222992 0] } midPoint [40.30269231459447 286.4831212071512] chart 2 linkNode [9 22 21] isGrouped 1 dataLimits [35.038 40.383 277.155 306.981] subviewer 2 } transition { id 20 labelString "enter(Guidance.Target_Search)" labelPosition [116.578 360.617 103.39 9.809] fontSize 7 arrowSize 8.226 src { id 11 intersection [3 0 1 0.6513360351082258 249.3364998933225 325.9630917560186 0] } dst { id 10 intersection [3 0 1 0.3658173426010734 51.79304659948868 332.0908129760179 0] } midPoint [164.1559654720017 376.7716143274613] chart 2 linkNode [9 21 0] isGrouped 1 dataLimits [49.325 249.336 325.963 378.724] subviewer 2 } transition { id 21 labelString "Timeout" labelPosition [142.474 317.939 26.57 9.809] fontSize 7 arrowSize 8.226 src { id 10 intersection [2 1 0 0.4054586105480089 73.77196825924125 317.1618369181349 0] } dst { id 11 intersection [4 -1 0 0.4423810966193137 232.0100163666921 316.7765082877143 0] } midPoint [126.2577963828071 317.0544420413126] chart 2 linkNode [9 19 20] isGrouped 1 dataLimits [73.772 232.01 314.309 319.244] subviewer 2 } transition { id 22 labelString "[in(Guidance.Radar_Guided)&&Range < 1000]" labelPosition [72.264 280.118 150.176 9.809] fontSize 7 arrowSize 8.226 src { id 10 intersection [1 0 -1 0.5866638096272786 48.93803424521191 306.9807427222992 0] } dst { id 11 intersection [1 0 -1 0.292303778307163 246.5357405870971 305.196871095804 0] } midPoint [104.0733496905082 267.9077554464418] chart 2 linkNode [9 0 19] isGrouped 1 dataLimits [48.938 249.004 260.321 306.981] subviewer 2 } event { id 23 name "Timeout" linkNode [2 0 0] scope LOCAL_EVENT trigger EITHER_EDGE_EVENT machine 1 } data { id 24 name "Range" linkNode [2 0 25] scope INPUT_DATA machine 1 dataType "double" units "metres" props { range { minimum "" maximum "" } } } data { id 25 name "Detonate" linkNode [2 24 26] scope OUTPUT_DATA machine 1 dataType "boolean" props { range { minimum "" maximum "" } } } data { id 26 name "Fuze" linkNode [2 25 27] scope OUTPUT_DATA machine 1 dataType "boolean" props { range { minimum "" maximum "" } } } data { id 27 name "Sigma_d" description "Demanded Seeker Look Angle" linkNode [2 26 28] scope OUTPUT_DATA machine 1 dataType "double" units "deg" props { range { minimum "" maximum "" } } } data { id 28 name "Mode" linkNode [2 27 29] scope OUTPUT_DATA machine 1 dataType "uint8" props { range { minimum "" maximum "" } } } data { id 29 name "Acquire" description "Seeker Acquisition Flag" linkNode [2 28 30] scope INPUT_DATA machine 1 dataType "boolean" props { range { minimum "" maximum "" } } } data { id 30 name "Acquire_time" linkNode [2 29 31] scope LOCAL_DATA machine 1 dataType "double" units "Secs" props { range { minimum "" maximum "" } } } data { id 31 name "incr" description "Seeker Search Rate" linkNode [2 30 32] scope LOCAL_DATA machine 1 dataType "double" units "deg/sec" props { range { minimum "" maximum "" } } } data { id 32 name "az_dem" linkNode [2 31 33] scope INPUT_DATA machine 1 dataType "double" props { range { minimum "" maximum "" } } } data { id 33 name "az_fix" linkNode [2 32 0] scope OUTPUT_DATA machine 1 dataType "double" props { range { minimum "" maximum "" } initialValue "-9.81" } } instance { id 34 name "Guidance/Guidance Processor\n" "(Updated @100Hz)" machine 1 chart 2 } target { id 35 name "sfun" description "Default Simulink S-Function Target." machine 1 linkNode [1 0 0] } }