Model { Name "pend_output_fb_kf_step" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Tue Aug 26 10:05:42 2003" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "Matt James" ModifiedDateFormat "%" LastModifiedDate "Thu Sep 18 17:03:48 2003" ModelVersionFormat "1.%" ConfigurationManager "None" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" 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 on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on RTWExpressionDepthLimit 5 SimulationMode "normal" Solver "FixedStepDiscrete" SolverMode "Auto" StartTime "0.0" StopTime "5" MaxOrder 5 MaxStep "auto" MinStep "auto" MaxNumMinSteps "-1" InitialStep "auto" FixedStep "auto" RelTol "1e-3" AbsTol "auto" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" LoadExternalInput off ExternalInput "[t, u]" LoadInitialState off InitialState "xInitial" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" Decimation "1" LimitDataPoints on MaxDataPoints "1000" SignalLoggingName "sigsOut" ConsistencyChecking "none" ArrayBoundsChecking "none" AlgebraicLoopMsg "warning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" CheckForMatrixSingularity "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SfunCompatibilityCheckMsg "none" RTWInlineParameters off BlockReductionOpt on BooleanDataType on ConditionallyExecuteInputs on ParameterPooling on OptimizeBlockIOStorage on ZeroCross on AssertionControl "UseLocalSettings" ProdHWDeviceType "Microprocessor" ProdHWWordLengths "8,16,32,32" RTWSystemTargetFile "grt.tlc" RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off RTWRetainRTWFile off TLCProfiler off TLCDebug off TLCCoverage off TLCAssertion off BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } BlockParameterDefaults { Block { BlockType DiscreteStateSpace A "1" B "1" C "1" D "1" X0 "0" SampleTime "1" Realization "auto" RTWStateStorageClass "Auto" } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ShowAdditionalParam off ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on } Block { BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType RandomNumber Mean "0" Variance "1" Seed "0" SampleTime "-1" VectorParams1D on } Block { BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Step Time "1" Before "0" After "1" SampleTime "-1" VectorParams1D on ZeroCross on } Block { BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow 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 "pend_output_fb_kf_step" Location [579, 190, 1198, 807] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" ReportName "simulink-default.rpt" Block { BlockType Gain Name "Controller Gain" Position [155, 325, 185, 355] Orientation "left" Gain "[0 0]" Multiplication "Matrix(K*u)" ShowAdditionalParam on } Block { BlockType SubSystem Name "Discretised pendulum\n(output feedback)\nwith n" "oise" Ports [1, 1] Position [210, 94, 310, 136] FontSize 10 TreatAsAtomicUnit off Port { PortNumber 1 Name "y" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" DataLogging off DataLoggingNameMode "SignalName" DataLoggingDecimateData off DataLoggingDecimation "2" DataLoggingLimitDataPoints off DataLoggingMaxPoints "5000" } System { Name "Discretised pendulum\n(output feedback)\nwith" " noise" Location [547, 529, 1045, 829] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "u" Position [40, 103, 70, 117] } Block { BlockType DiscreteStateSpace Name "Discretised pendulum\n(output feedback)" Position [195, 92, 315, 128] A "[1 0.01; 0.1 1]" B "[0; 1]" C "[1 0]" D "0" SampleTime "0.01" } Block { BlockType Gain Name "Gain" Position [80, 205, 110, 235] Gain "0" } Block { BlockType Gain Name "Gain1" Position [340, 210, 370, 240] } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [115, 100, 135, 120] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [365, 100, 385, 120] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType RandomNumber Name "noise v" Position [265, 210, 295, 240] Variance "0.0001" SampleTime "0.01" } Block { BlockType RandomNumber Name "noise w" Position [15, 205, 45, 235] Variance "0.0001" SampleTime "0.01" } Block { BlockType Outport Name "y" Position [440, 103, 470, 117] } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Discretised pendulum\n(output feedback)" DstPort 1 } Line { SrcBlock "u" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "y" DstPort 1 } Line { SrcBlock "Discretised pendulum\n(output feedback)" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 Points [10, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "noise w" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "noise v" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Sum1" DstPort 2 } } } Block { BlockType DiscreteStateSpace Name "Kalman filter" Position [240, 322, 360, 358] Orientation "left" A "[0 0; 0 0]" B "[0; 0]" C "[1 0; 0 1]" D "[0; 0]" SampleTime "0.01" Port { PortNumber 1 Name "hatx" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" DataLogging off DataLoggingNameMode "SignalName" DataLoggingDecimateData off DataLoggingDecimation "2" DataLoggingLimitDataPoints off DataLoggingMaxPoints "5000" } } Block { BlockType Scope Name "Scope" Ports [3] Position [450, 88, 480, 122] Location [71, 287, 485, 669] Open off NumInputPorts "3" List { ListType AxesTitles axes1 "%" axes2 "%" axes3 "%" } List { ListType SelectedSignals axes1 "" axes2 "" axes3 "" } TimeRange "1" YMin "-5~-5~-5" YMax "5~5~5" DataFormat "StructureWithTime" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [145, 105, 165, 125] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Port { PortNumber 1 Name "u" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" DataLogging off DataLoggingNameMode "SignalName" DataLoggingDecimateData off DataLoggingDecimation "2" DataLoggingLimitDataPoints off DataLoggingMaxPoints "5000" } } Block { BlockType SubSystem Name "input\n(unit step)" Ports [0, 1] Position [15, 90, 115, 140] TreatAsAtomicUnit off Port { PortNumber 1 Name "r" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" DataLogging off DataLoggingNameMode "SignalName" DataLoggingDecimateData off DataLoggingDecimation "2" DataLoggingLimitDataPoints off DataLoggingMaxPoints "5000" } System { Name "input\n(unit step)" Location [645, 557, 1143, 857] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Gain Name "Gain" Position [295, 95, 325, 125] } Block { BlockType Step Name "Step" Position [115, 75, 145, 105] Time "0" SampleTime "0.01" } Block { BlockType Outport Name "Out1" Position [360, 103, 390, 117] } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Out1" DstPort 1 } Line { SrcBlock "Step" SrcPort 1 Points [30, 0; 0, 20] DstBlock "Gain" DstPort 1 } } } Line { Name "u" Labels [0, 0] SrcBlock "Sum" SrcPort 1 DstBlock "Discretised pendulum\n(output feedback)\nwith n" "oise" DstPort 1 } Line { Name "y" Labels [0, 0] SrcBlock "Discretised pendulum\n(output feedback)\nwith n" "oise" SrcPort 1 Points [65, 0; 0, -5; 10, 0] Branch { Points [45, 0] DstBlock "Scope" DstPort 2 } Branch { Points [5, 0; 0, 230] DstBlock "Kalman filter" DstPort 1 } } Line { Name "r" Labels [0, 0] SrcBlock "input\n(unit step)" SrcPort 1 Points [5, 0] Branch { DstBlock "Sum" DstPort 1 } Branch { Points [0, -65; 280, 0; 0, 45] DstBlock "Scope" DstPort 1 } } Line { Name "hatx" Labels [0, 0] SrcBlock "Kalman filter" SrcPort 1 Points [-25, 0] Branch { Points [0, 60; 225, 0] DstBlock "Scope" DstPort 3 } Branch { DstBlock "Controller Gain" DstPort 1 } } Line { SrcBlock "Controller Gain" SrcPort 1 Points [-30, 0; 0, -115] DstBlock "Sum" DstPort 2 } } }