--- /dev/null
+Model {
+ Name "las_test"
+ Version 6.6
+ MdlSubVersion 0
+ GraphicalInterface {
+ NumRootInports 0
+ NumRootOutports 0
+ ParameterArgumentNames ""
+ ComputedModelVersion "1.5"
+ NumModelReferences 0
+ NumTestPointedSignals 0
+ }
+ SavedCharacterEncoding "UTF-8"
+ SaveDefaultBlockParams on
+ SampleTimeColors off
+ LibraryLinkDisplay "none"
+ WideLines off
+ ShowLineDimensions off
+ ShowPortDataTypes off
+ ShowLoopsOnError on
+ IgnoreBidirectionalLines off
+ ShowStorageClass off
+ ShowTestPointIcons on
+ ShowViewerIcons on
+ SortedOrder off
+ ExecutionContextIcon off
+ ShowLinearizationAnnotations on
+ ScopeRefreshTime 0.035000
+ OverrideScopeRefreshTime on
+ DisableAllScopes off
+ DataTypeOverride "UseLocalSettings"
+ MinMaxOverflowLogging "UseLocalSettings"
+ MinMaxOverflowArchiveMode "Overwrite"
+ BlockNameDataTip off
+ BlockParametersDataTip off
+ BlockDescriptionStringDataTip off
+ ToolBar on
+ StatusBar on
+ BrowserShowLibraryLinks off
+ BrowserLookUnderMasks off
+ Created "Sat Apr 26 10:54:06 2008"
+ Creator "wsh"
+ UpdateHistory "UpdateHistoryNever"
+ ModifiedByFormat "%<Auto>"
+ LastModifiedBy "wsh"
+ ModifiedDateFormat "%<Auto>"
+ LastModifiedDate "Sat Apr 26 11:29:10 2008"
+ ModelVersionFormat "1.%<AutoIncrement:5>"
+ ConfigurationManager "none"
+ SimulationMode "normal"
+ LinearizationMsg "none"
+ Profile off
+ ParamWorkspaceSource "MATLABWorkspace"
+ AccelSystemTargetFile "accel.tlc"
+ AccelTemplateMakefile "accel_default_tmf"
+ AccelMakeCommand "make_rtw"
+ AccelVerboseBuild off
+ TryForcingSFcnDF off
+ RecordCoverage off
+ CovPath "/"
+ CovSaveName "covdata"
+ CovMetricSettings "dw"
+ CovNameIncrementing off
+ CovHtmlReporting on
+ covSaveCumulativeToWorkspaceVar on
+ CovSaveSingleToWorkspaceVar on
+ CovCumulativeVarName "covCumulativeData"
+ CovCumulativeReport off
+ CovReportOnPause on
+ ExtModeBatchMode off
+ ExtModeEnableFloating on
+ ExtModeTrigType "manual"
+ ExtModeTrigMode "normal"
+ ExtModeTrigPort "1"
+ ExtModeTrigElement "any"
+ ExtModeTrigDuration 1000
+ ExtModeTrigDurationFloating "auto"
+ 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 off
+ BufferReuse on
+ ProdHWDeviceType "32-bit Generic"
+ ShowModelReferenceBlockVersion off
+ ShowModelReferenceBlockIO off
+ Array {
+ Type "Handle"
+ Dimension 1
+ Simulink.ConfigSet {
+ $ObjectID 1
+ Version "1.2.0"
+ Array {
+ Type "Handle"
+ Dimension 7
+ Simulink.SolverCC {
+ $ObjectID 2
+ Version "1.2.0"
+ StartTime "0.0"
+ StopTime "10000"
+ AbsTol "auto"
+ FixedStep "auto"
+ InitialStep "auto"
+ MaxNumMinSteps "-1"
+ MaxOrder 5
+ ConsecutiveZCsStepRelTol "10*128*eps"
+ MaxConsecutiveZCs "1000"
+ ExtrapolationOrder 4
+ NumberNewtonIterations 1
+ MaxStep "auto"
+ MinStep "auto"
+ MaxConsecutiveMinStep "1"
+ RelTol "1e-3"
+ SolverMode "Auto"
+ Solver "ode45"
+ SolverName "ode45"
+ ZeroCrossControl "UseLocalSettings"
+ AlgebraicLoopSolver "TrustRegion"
+ SolverResetMethod "Fast"
+ PositivePriorityOrder off
+ AutoInsertRateTranBlk off
+ SampleTimeConstraint "Specified"
+ RateTranMode "Deterministic"
+ }
+ Simulink.DataIOCC {
+ $ObjectID 3
+ Version "1.2.0"
+ Decimation "1"
+ ExternalInput "[t, u]"
+ FinalStateName "xFinal"
+ InitialState "xInitial"
+ LimitDataPoints on
+ MaxDataPoints "1000"
+ LoadExternalInput off
+ LoadInitialState off
+ SaveFinalState off
+ SaveFormat "Array"
+ SaveOutput on
+ SaveState off
+ SignalLogging on
+ InspectSignalLogs off
+ SaveTime on
+ StateSaveName "xout"
+ TimeSaveName "tout"
+ OutputSaveName "yout"
+ SignalLoggingName "logsout"
+ OutputOption "RefineOutputTimes"
+ OutputTimes "[]"
+ Refine "1"
+ }
+ Simulink.OptimizationCC {
+ $ObjectID 4
+ Array {
+ Type "Cell"
+ Dimension 5
+ Cell "ZeroExternalMemoryAtStartup"
+ Cell "ZeroInternalMemoryAtStartup"
+ Cell "InitFltsAndDblsToZero"
+ Cell "OptimizeModelRefInitCode"
+ Cell "NoFixptDivByZeroProtection"
+ PropName "DisabledProps"
+ }
+ Version "1.2.0"
+ BlockReduction on
+ BooleanDataType on
+ ConditionallyExecuteInputs on
+ InlineParams off
+ InlineInvariantSignals off
+ OptimizeBlockIOStorage on
+ BufferReuse on
+ EnforceIntegerDowncast on
+ ExpressionFolding on
+ ExpressionDepthLimit 2147483647
+ FoldNonRolledExpr on
+ LocalBlockOutputs on
+ RollThreshold 5
+ SystemCodeInlineAuto off
+ StateBitsets off
+ DataBitsets off
+ UseTempVars off
+ ZeroExternalMemoryAtStartup on
+ ZeroInternalMemoryAtStartup on
+ InitFltsAndDblsToZero on
+ NoFixptDivByZeroProtection off
+ EfficientFloat2IntCast off
+ OptimizeModelRefInitCode off
+ LifeSpan "inf"
+ BufferReusableBoundary on
+ }
+ Simulink.DebuggingCC {
+ $ObjectID 5
+ Version "1.2.0"
+ RTPrefix "error"
+ ConsistencyChecking "none"
+ ArrayBoundsChecking "none"
+ SignalInfNanChecking "none"
+ ReadBeforeWriteMsg "UseLocalSettings"
+ WriteAfterWriteMsg "UseLocalSettings"
+ WriteAfterReadMsg "UseLocalSettings"
+ AlgebraicLoopMsg "warning"
+ ArtificialAlgebraicLoopMsg "warning"
+ CheckSSInitialOutputMsg on
+ CheckExecutionContextPreStartOutputMsg off
+ CheckExecutionContextRuntimeOutputMsg off
+ SignalResolutionControl "UseLocalSettings"
+ BlockPriorityViolationMsg "warning"
+ MinStepSizeMsg "warning"
+ TimeAdjustmentMsg "none"
+ MaxConsecutiveZCsMsg "error"
+ SolverPrmCheckMsg "warning"
+ InheritedTsInSrcMsg "warning"
+ DiscreteInheritContinuousMsg "warning"
+ MultiTaskDSMMsg "error"
+ MultiTaskCondExecSysMsg "error"
+ MultiTaskRateTransMsg "error"
+ SingleTaskRateTransMsg "none"
+ TasksWithSamePriorityMsg "warning"
+ SigSpecEnsureSampleTimeMsg "warning"
+ CheckMatrixSingularityMsg "none"
+ IntegerOverflowMsg "warning"
+ Int32ToFloatConvMsg "warning"
+ ParameterDowncastMsg "error"
+ ParameterOverflowMsg "error"
+ ParameterUnderflowMsg "none"
+ ParameterPrecisionLossMsg "warning"
+ ParameterTunabilityLossMsg "warning"
+ UnderSpecifiedDataTypeMsg "none"
+ UnnecessaryDatatypeConvMsg "none"
+ VectorMatrixConversionMsg "none"
+ InvalidFcnCallConnMsg "error"
+ FcnCallInpInsideContextMsg "Use local settings"
+ SignalLabelMismatchMsg "none"
+ UnconnectedInputMsg "warning"
+ UnconnectedOutputMsg "warning"
+ UnconnectedLineMsg "warning"
+ SFcnCompatibilityMsg "none"
+ UniqueDataStoreMsg "none"
+ BusObjectLabelMismatch "warning"
+ RootOutportRequireBusObject "warning"
+ AssertControl "UseLocalSettings"
+ EnableOverflowDetection off
+ ModelReferenceIOMsg "none"
+ ModelReferenceVersionMismatchMessage "none"
+ ModelReferenceIOMismatchMessage "none"
+ ModelReferenceCSMismatchMessage "none"
+ ModelReferenceSimTargetVerbose off
+ UnknownTsInhSupMsg "warning"
+ ModelReferenceDataLoggingMessage "warning"
+ ModelReferenceSymbolNameMessage "warning"
+ ModelReferenceExtraNoncontSigs "error"
+ StateNameClashWarn "warning"
+ StrictBusMsg "Warning"
+ }
+ Simulink.HardwareCC {
+ $ObjectID 6
+ Version "1.2.0"
+ ProdBitPerChar 8
+ ProdBitPerShort 16
+ ProdBitPerInt 32
+ ProdBitPerLong 32
+ ProdIntDivRoundTo "Undefined"
+ ProdEndianess "Unspecified"
+ ProdWordSize 32
+ ProdShiftRightIntArith on
+ ProdHWDeviceType "32-bit Generic"
+ TargetBitPerChar 8
+ TargetBitPerShort 16
+ TargetBitPerInt 32
+ TargetBitPerLong 32
+ TargetShiftRightIntArith on
+ TargetIntDivRoundTo "Undefined"
+ TargetEndianess "Unspecified"
+ TargetWordSize 32
+ TargetTypeEmulationWarnSuppressLevel 0
+ TargetPreprocMaxBitsSint 32
+ TargetPreprocMaxBitsUint 32
+ TargetHWDeviceType "Specified"
+ TargetUnknown off
+ ProdEqTarget on
+ }
+ Simulink.ModelReferenceCC {
+ $ObjectID 7
+ Version "1.2.0"
+ UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange"
+ CheckModelReferenceTargetMessage "error"
+ ModelReferenceNumInstancesAllowed "Multi"
+ ModelReferencePassRootInputsByReference on
+ ModelReferenceMinAlgLoopOccurrences off
+ }
+ Simulink.RTWCC {
+ $BackupClass "Simulink.RTWCC"
+ $ObjectID 8
+ Array {
+ Type "Cell"
+ Dimension 1
+ Cell "IncludeHyperlinkInReport"
+ PropName "DisabledProps"
+ }
+ Version "1.2.0"
+ SystemTargetFile "grt.tlc"
+ GenCodeOnly off
+ MakeCommand "make_rtw"
+ GenerateMakefile on
+ TemplateMakefile "grt_default_tmf"
+ GenerateReport off
+ SaveLog off
+ RTWVerbose on
+ RetainRTWFile off
+ ProfileTLC off
+ TLCDebug off
+ TLCCoverage off
+ TLCAssert off
+ ProcessScriptMode "Default"
+ ConfigurationMode "Optimized"
+ ConfigAtBuild off
+ IncludeHyperlinkInReport off
+ LaunchReport off
+ TargetLang "C"
+ IncludeBusHierarchyInRTWFileBlockHierarchyMap off
+ IncludeERTFirstTime off
+ Array {
+ Type "Handle"
+ Dimension 2
+ Simulink.CodeAppCC {
+ $ObjectID 9
+ Array {
+ Type "Cell"
+ Dimension 16
+ Cell "IgnoreCustomStorageClasses"
+ Cell "InsertBlockDesc"
+ Cell "SFDataObjDesc"
+ Cell "SimulinkDataObjDesc"
+ Cell "DefineNamingRule"
+ Cell "SignalNamingRule"
+ Cell "ParamNamingRule"
+ Cell "InlinedPrmAccess"
+ Cell "CustomSymbolStr"
+ Cell "CustomSymbolStrGlobalVar"
+ Cell "CustomSymbolStrType"
+ Cell "CustomSymbolStrField"
+ Cell "CustomSymbolStrFcn"
+ Cell "CustomSymbolStrBlkIO"
+ Cell "CustomSymbolStrTmpVar"
+ Cell "CustomSymbolStrMacro"
+ PropName "DisabledProps"
+ }
+ Version "1.2.0"
+ ForceParamTrailComments off
+ GenerateComments on
+ IgnoreCustomStorageClasses on
+ IncHierarchyInIds off
+ MaxIdLength 31
+ PreserveName off
+ PreserveNameWithParent off
+ ShowEliminatedStatement off
+ IncAutoGenComments off
+ SimulinkDataObjDesc off
+ SFDataObjDesc off
+ IncDataTypeInIds off
+ PrefixModelToSubsysFcnNames on
+ MangleLength 1
+ CustomSymbolStrGlobalVar "$R$N$M"
+ CustomSymbolStrType "$N$R$M"
+ CustomSymbolStrField "$N$M"
+ CustomSymbolStrFcn "$R$N$M$F"
+ CustomSymbolStrBlkIO "rtb_$N$M"
+ CustomSymbolStrTmpVar "$N$M"
+ CustomSymbolStrMacro "$R$N$M"
+ DefineNamingRule "None"
+ ParamNamingRule "None"
+ SignalNamingRule "None"
+ InsertBlockDesc off
+ SimulinkBlockComments on
+ EnableCustomComments off
+ InlinedPrmAccess "Literals"
+ ReqsInCode off
+ }
+ Simulink.GRTTargetCC {
+ $BackupClass "Simulink.TargetCC"
+ $ObjectID 10
+ Array {
+ Type "Cell"
+ Dimension 15
+ Cell "IncludeMdlTerminateFcn"
+ Cell "CombineOutputUpdateFcns"
+ Cell "SuppressErrorStatus"
+ Cell "ERTCustomFileBanners"
+ Cell "GenerateSampleERTMain"
+ Cell "GenerateTestInterfaces"
+ Cell "ModelStepFunctionPrototypeControlComp"
+"liant"
+ Cell "MultiInstanceERTCode"
+ Cell "PurelyIntegerCode"
+ Cell "SupportNonFinite"
+ Cell "SupportComplex"
+ Cell "SupportAbsoluteTime"
+ Cell "SupportContinuousTime"
+ Cell "SupportNonInlinedSFcns"
+ Cell "PortableWordSizes"
+ PropName "DisabledProps"
+ }
+ Version "1.2.0"
+ TargetFcnLib "ansi_tfl_tmw.mat"
+ TargetLibSuffix ""
+ TargetPreCompLibLocation ""
+ GenFloatMathFcnCalls "ANSI_C"
+ UtilityFuncGeneration "Auto"
+ GenerateFullHeader on
+ GenerateSampleERTMain off
+ GenerateTestInterfaces off
+ IsPILTarget off
+ ModelReferenceCompliant on
+ IncludeMdlTerminateFcn on
+ CombineOutputUpdateFcns off
+ SuppressErrorStatus off
+ IncludeFileDelimiter "Auto"
+ ERTCustomFileBanners off
+ SupportAbsoluteTime on
+ LogVarNameModifier "rt_"
+ MatFileLogging on
+ MultiInstanceERTCode off
+ SupportNonFinite on
+ SupportComplex on
+ PurelyIntegerCode off
+ SupportContinuousTime on
+ SupportNonInlinedSFcns on
+ EnableShiftOperators on
+ ParenthesesLevel "Nominal"
+ PortableWordSizes off
+ ModelStepFunctionPrototypeControlCompliant off
+ ExtMode off
+ ExtModeStaticAlloc off
+ ExtModeTesting off
+ ExtModeStaticAllocSize 1000000
+ ExtModeTransport 0
+ ExtModeMexFile "ext_comm"
+ ExtModeIntrfLevel "Level1"
+ RTWCAPISignals off
+ RTWCAPIParams off
+ RTWCAPIStates off
+ GenerateASAP2 off
+ }
+ PropName "Components"
+ }
+ }
+ PropName "Components"
+ }
+ Name "Configuration"
+ CurrentDlgPage "Solver"
+ }
+ PropName "ConfigurationSets"
+ }
+ Simulink.ConfigSet {
+ $PropName "ActiveConfigurationSet"
+ $ObjectID 1
+ }
+ BlockDefaults {
+ Orientation "right"
+ ForegroundColor "black"
+ BackgroundColor "white"
+ DropShadow off
+ NamePlacement "normal"
+ FontName "Arial"
+ FontSize 10
+ FontWeight "normal"
+ FontAngle "normal"
+ ShowName on
+ }
+ BlockParameterDefaults {
+ Block {
+ BlockType Clock
+ DisplayTime off
+ }
+ Block {
+ BlockType Constant
+ Value "1"
+ VectorParams1D on
+ SamplingMode "Sample based"
+ OutDataTypeMode "Inherit from 'Constant value'"
+ OutDataType "sfix(16)"
+ ConRadixGroup "Use specified scaling"
+ OutScaling "2^0"
+ SampleTime "inf"
+ FramePeriod "inf"
+ }
+ Block {
+ BlockType Demux
+ Outputs "4"
+ DisplayOption "none"
+ BusSelectionMode off
+ }
+ Block {
+ BlockType DigitalClock
+ SampleTime "1"
+ }
+ Block {
+ BlockType Display
+ Format "short"
+ Decimation "10"
+ Floating off
+ SampleTime "-1"
+ }
+ Block {
+ BlockType EnablePort
+ StatesWhenEnabling "held"
+ ShowOutputPort off
+ ZeroCross on
+ }
+ Block {
+ BlockType Gain
+ Gain "1"
+ Multiplication "Element-wise(K.*u)"
+ 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
+ SampleTime "-1"
+ }
+ Block {
+ BlockType Ground
+ }
+ Block {
+ BlockType HitCross
+ HitCrossingOffset "0"
+ HitCrossingDirection "either"
+ ShowOutputPort on
+ ZeroCross on
+ SampleTime "-1"
+ }
+ Block {
+ BlockType Inport
+ Port "1"
+ UseBusObject off
+ BusObject "BusObject"
+ BusOutputAsStruct off
+ PortDimensions "-1"
+ SampleTime "-1"
+ DataType "auto"
+ OutDataType "sfix(16)"
+ OutScaling "2^0"
+ SignalType "auto"
+ SamplingMode "auto"
+ LatchByDelayingOutsideSignal off
+ LatchByCopyingInsideSignal off
+ Interpolate on
+ }
+ Block {
+ BlockType Integrator
+ ExternalReset "none"
+ InitialConditionSource "internal"
+ InitialCondition "0"
+ LimitOutput off
+ UpperSaturationLimit "inf"
+ LowerSaturationLimit "-inf"
+ ShowSaturationPort off
+ ShowStatePort off
+ AbsoluteTolerance "auto"
+ IgnoreLimit off
+ ZeroCross on
+ ContinuousStateAttributes "''"
+ }
+ Block {
+ BlockType MATLABFcn
+ MATLABFcn "sin"
+ OutputDimensions "-1"
+ OutputSignalType "auto"
+ Output1D on
+ SampleTime "-1"
+ }
+ Block {
+ BlockType "M-S-Function"
+ FunctionName "mlfile"
+ DisplayMFileStacktrace on
+ }
+ Block {
+ BlockType Mux
+ Inputs "4"
+ DisplayOption "none"
+ UseBusObject off
+ BusObject "BusObject"
+ NonVirtualBus off
+ }
+ Block {
+ BlockType Outport
+ Port "1"
+ UseBusObject off
+ BusObject "BusObject"
+ BusOutputAsStruct off
+ PortDimensions "-1"
+ SampleTime "-1"
+ DataType "auto"
+ OutDataType "sfix(16)"
+ OutScaling "2^0"
+ SignalType "auto"
+ SamplingMode "auto"
+ OutputWhenDisabled "held"
+ InitialOutput "[]"
+ }
+ Block {
+ BlockType RandomNumber
+ Mean "0"
+ Variance "1"
+ Seed "0"
+ SampleTime "-1"
+ VectorParams1D on
+ }
+ Block {
+ BlockType RateTransition
+ Integrity on
+ Deterministic on
+ X0 "0"
+ OutPortSampleTime "-1"
+ }
+ Block {
+ BlockType RelationalOperator
+ Operator ">="
+ InputSameDT on
+ LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimiza"
+"tion)"
+ LogicDataType "uint(8)"
+ ZeroCross on
+ SampleTime "-1"
+ }
+ Block {
+ BlockType SignalSpecification
+ Dimensions "-1"
+ SampleTime "-1"
+ DataType "auto"
+ OutDataType "sfix(16)"
+ OutScaling "2^0"
+ SignalType "auto"
+ SamplingMode "auto"
+ }
+ Block {
+ BlockType SubSystem
+ ShowPortLabels "FromPortIcon"
+ Permissions "ReadWrite"
+ PermitHierarchicalResolution "All"
+ TreatAsAtomicUnit off
+ SystemSampleTime "-1"
+ RTWFcnNameOpts "Auto"
+ RTWFileNameOpts "Auto"
+ RTWMemSecFuncInitTerm "Inherit from model"
+ RTWMemSecFuncExecute "Inherit from model"
+ RTWMemSecDataConstants "Inherit from model"
+ RTWMemSecDataInternal "Inherit from model"
+ RTWMemSecDataParameters "Inherit from model"
+ SimViewingDevice off
+ DataTypeOverride "UseLocalSettings"
+ MinMaxOverflowLogging "UseLocalSettings"
+ }
+ Block {
+ BlockType Sum
+ IconShape "rectangular"
+ Inputs "++"
+ CollapseMode "All dimensions"
+ CollapseDim "1"
+ InputSameDT on
+ OutDataTypeMode "Same as first input"
+ OutDataType "sfix(16)"
+ OutScaling "2^0"
+ LockScale off
+ RndMeth "Floor"
+ SaturateOnIntegerOverflow on
+ SampleTime "-1"
+ }
+ Block {
+ BlockType TriggerPort
+ TriggerType "rising"
+ StatesWhenEnabling "inherit"
+ ShowOutputPort off
+ OutputDataType "auto"
+ SampleTimeType "triggered"
+ SampleTime "1"
+ ZeroCross on
+ }
+ }
+ AnnotationDefaults {
+ HorizontalAlignment "center"
+ VerticalAlignment "middle"
+ ForegroundColor "black"
+ BackgroundColor "white"
+ DropShadow off
+ FontName "Arial"
+ FontSize 10
+ FontWeight "normal"
+ FontAngle "normal"
+ UseDisplayTextAsClickCallback off
+ }
+ LineDefaults {
+ FontName "Arial"
+ FontSize 9
+ FontWeight "normal"
+ FontAngle "normal"
+ }
+ System {
+ Name "las_test"
+ Location [4, 677, 670, 989]
+ Open on
+ ModelBrowserVisibility off
+ ModelBrowserWidth 200
+ ScreenColor "white"
+ PaperOrientation "landscape"
+ PaperPositionMode "auto"
+ PaperType "A4"
+ PaperUnits "centimeters"
+ TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
+ TiledPageScale 1
+ ShowPageBoundaries off
+ ZoomFactor "100"
+ ReportName "simulink-default.rpt"
+ Block {
+ BlockType DigitalClock
+ Name "Digital Clock"
+ Position [385, 23, 450, 47]
+ }
+ Block {
+ BlockType Display
+ Name "Display"
+ Ports [1]
+ Position [465, 20, 555, 50]
+ Decimation "1"
+ Lockdown off
+ }
+ Block {
+ BlockType "M-S-Function"
+ Name "Draw robot"
+ Ports [2]
+ Position [535, 121, 630, 159]
+ ForegroundColor "red"
+ BackgroundColor "cyan"
+ FunctionName "sfdrawrobot"
+ Parameters "desc,0"
+ }
+ Block {
+ BlockType Mux
+ Name "Mux"
+ Ports [3, 1]
+ Position [215, 156, 220, 194]
+ ShowName off
+ Inputs "3"
+ DisplayOption "bar"
+ }
+ Block {
+ BlockType SubSystem
+ Name "Rotating laser"
+ Ports [1, 3]
+ Position [330, 164, 485, 226]
+ MinAlgLoopOccurrences off
+ RTWSystemCode "Auto"
+ FunctionWithSeparateData off
+ MaskHideContents off
+ MaskPromptString "Rotations per second|Noise standard deviation ["
+"deg]|Zero-cross detection"
+ MaskStyleString "edit,edit,checkbox"
+ MaskTunableValueString "on,on,on"
+ MaskCallbackString "||"
+ MaskEnableString "on,on,on"
+ MaskVisibilityString "on,on,on"
+ MaskToolTipString "on,on,on"
+ MaskVarAliasString ",,"
+ MaskVariables "rps=@1;noise_stdev=@2;zerocross=@3;"
+ MaskDisplay "text(0.3,0.5, sprintf('RPS=%g\\nNoise=%g', rps,"
+" noise_stdev))\nport_label('input', 1, 'Pos')\nport_label('output', 1, 'Ideal"
+"')\nport_label('output', 2, 'Immediate')\nport_label('output', 3, 'Buffered')"
+"\n"
+ MaskIconFrame on
+ MaskIconOpaque on
+ MaskIconRotate "none"
+ MaskIconUnits "normalized"
+ MaskValueString "3|0|on"
+ MaskTabNameString ",,"
+ System {
+ Name "Rotating laser"
+ Location [84, 67, 1108, 652]
+ Open off
+ ModelBrowserVisibility off
+ ModelBrowserWidth 200
+ ScreenColor "white"
+ PaperOrientation "landscape"
+ PaperPositionMode "auto"
+ PaperType "A4"
+ PaperUnits "centimeters"
+ TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
+ TiledPageScale 1
+ ShowPageBoundaries off
+ ZoomFactor "100"
+ Block {
+ BlockType Inport
+ Name "Pos"
+ Position [25, 33, 55, 47]
+ IconDisplay "Port number"
+ }
+ Block {
+ BlockType MATLABFcn
+ Name "Beacon Angles"
+ Ports [1, 1]
+ Position [150, 25, 210, 55]
+ MATLABFcn "mod(beacon_angles(u), 2*pi)"
+ }
+ Block {
+ BlockType SubSystem
+ Name "Beacon memory"
+ Ports [1, 1, 0, 1]
+ Position [510, 299, 565, 331]
+ TreatAsAtomicUnit on
+ MinAlgLoopOccurrences off
+ RTWSystemCode "Auto"
+ FunctionWithSeparateData off
+ MaskHideContents off
+ System {
+ Name "Beacon memory"
+ Location [401, 346, 899, 646]
+ Open off
+ ModelBrowserVisibility off
+ ModelBrowserWidth 200
+ ScreenColor "white"
+ PaperOrientation "landscape"
+ PaperPositionMode "auto"
+ PaperType "A4"
+ PaperUnits "centimeters"
+ TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
+ TiledPageScale 1
+ ShowPageBoundaries off
+ ZoomFactor "100"
+ Block {
+ BlockType Inport
+ Name "In1"
+ Position [110, 103, 140, 117]
+ IconDisplay "Port number"
+ }
+ Block {
+ BlockType TriggerPort
+ Name "Trigger"
+ Ports []
+ Position [225, 20, 245, 40]
+ StatesWhenEnabling "held"
+ }
+ Block {
+ BlockType Outport
+ Name "Out1"
+ Position [360, 103, 390, 117]
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Line {
+ SrcBlock "In1"
+ SrcPort 1
+ DstBlock "Out1"
+ DstPort 1
+ }
+ }
+ }
+ Block {
+ BlockType SubSystem
+ Name "Beacon memory1"
+ Ports [1, 1, 0, 1]
+ Position [510, 369, 565, 401]
+ TreatAsAtomicUnit on
+ MinAlgLoopOccurrences off
+ RTWSystemCode "Auto"
+ FunctionWithSeparateData off
+ MaskHideContents off
+ System {
+ Name "Beacon memory1"
+ Location [401, 346, 899, 646]
+ Open off
+ ModelBrowserVisibility off
+ ModelBrowserWidth 200
+ ScreenColor "white"
+ PaperOrientation "landscape"
+ PaperPositionMode "auto"
+ PaperType "A4"
+ PaperUnits "centimeters"
+ TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
+ TiledPageScale 1
+ ShowPageBoundaries off
+ ZoomFactor "100"
+ Block {
+ BlockType Inport
+ Name "In1"
+ Position [110, 103, 140, 117]
+ IconDisplay "Port number"
+ }
+ Block {
+ BlockType TriggerPort
+ Name "Trigger"
+ Ports []
+ Position [225, 20, 245, 40]
+ StatesWhenEnabling "held"
+ }
+ Block {
+ BlockType Outport
+ Name "Out1"
+ Position [360, 103, 390, 117]
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Line {
+ SrcBlock "In1"
+ SrcPort 1
+ DstBlock "Out1"
+ DstPort 1
+ }
+ }
+ }
+ Block {
+ BlockType SubSystem
+ Name "Beacon memory2"
+ Ports [1, 1, 0, 1]
+ Position [510, 439, 565, 471]
+ TreatAsAtomicUnit on
+ MinAlgLoopOccurrences off
+ RTWSystemCode "Auto"
+ FunctionWithSeparateData off
+ MaskHideContents off
+ System {
+ Name "Beacon memory2"
+ Location [401, 346, 899, 646]
+ Open off
+ ModelBrowserVisibility off
+ ModelBrowserWidth 200
+ ScreenColor "white"
+ PaperOrientation "landscape"
+ PaperPositionMode "auto"
+ PaperType "A4"
+ PaperUnits "centimeters"
+ TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
+ TiledPageScale 1
+ ShowPageBoundaries off
+ ZoomFactor "100"
+ Block {
+ BlockType Inport
+ Name "In1"
+ Position [110, 103, 140, 117]
+ IconDisplay "Port number"
+ }
+ Block {
+ BlockType TriggerPort
+ Name "Trigger"
+ Ports []
+ Position [225, 20, 245, 40]
+ StatesWhenEnabling "held"
+ }
+ Block {
+ BlockType Outport
+ Name "Out1"
+ Position [360, 103, 390, 117]
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Line {
+ SrcBlock "In1"
+ SrcPort 1
+ DstBlock "Out1"
+ DstPort 1
+ }
+ }
+ }
+ Block {
+ BlockType Clock
+ Name "Clock"
+ Position [740, 310, 760, 330]
+ Decimation "10"
+ }
+ Block {
+ BlockType Reference
+ Name "Compare\nTo Constant"
+ Ports [1, 1]
+ Position [50, 165, 100, 195]
+ Orientation "left"
+ SourceBlock "simulink/Logic and Bit\nOperations/Compare"
+"\nTo Constant"
+ SourceType "Compare To Constant"
+ ShowPortLabels "FromPortIcon"
+ SystemSampleTime "-1"
+ FunctionWithSeparateData off
+ RTWMemSecFuncInitTerm "Inherit from model"
+ RTWMemSecFuncExecute "Inherit from model"
+ RTWMemSecDataConstants "Inherit from model"
+ RTWMemSecDataInternal "Inherit from model"
+ RTWMemSecDataParameters "Inherit from model"
+ relop ">="
+ const "2*pi"
+ LogicOutDataTypeMode "boolean"
+ ZeroCross off
+ }
+ Block {
+ BlockType Reference
+ Name "Compare\nTo Zero"
+ Ports [1, 1]
+ Position [800, 305, 830, 335]
+ SourceBlock "simulink/Logic and Bit\nOperations/Compare"
+"\nTo Zero"
+ SourceType "Compare To Zero"
+ ShowPortLabels "FromPortIcon"
+ SystemSampleTime "-1"
+ FunctionWithSeparateData off
+ RTWMemSecFuncInitTerm "Inherit from model"
+ RTWMemSecFuncExecute "Inherit from model"
+ RTWMemSecDataConstants "Inherit from model"
+ RTWMemSecDataInternal "Inherit from model"
+ RTWMemSecDataParameters "Inherit from model"
+ relop ">"
+ LogicOutDataTypeMode "uint8"
+ ZeroCross off
+ }
+ Block {
+ BlockType Constant
+ Name "Constant1"
+ Position [35, 239, 100, 271]
+ NamePlacement "alternate"
+ Value "rps*2*pi"
+ }
+ Block {
+ BlockType Demux
+ Name "Demux"
+ Ports [1, 3]
+ Position [344, 190, 396, 200]
+ Orientation "down"
+ BackgroundColor "black"
+ NamePlacement "alternate"
+ ShowName off
+ Outputs "3"
+ DisplayOption "bar"
+ }
+ Block {
+ BlockType Demux
+ Name "Demux1"
+ Ports [1, 3]
+ Position [414, 190, 466, 200]
+ Orientation "down"
+ BackgroundColor "black"
+ NamePlacement "alternate"
+ ShowName off
+ Outputs "3"
+ DisplayOption "bar"
+ }
+ Block {
+ BlockType SubSystem
+ Name "Do not produce\ndata at start. We\nhave to "
+"wait one turn."
+ Ports [1, 1, 1]
+ Position [825, 364, 925, 406]
+ TreatAsAtomicUnit on
+ MinAlgLoopOccurrences off
+ RTWSystemCode "Auto"
+ FunctionWithSeparateData off
+ MaskHideContents off
+ System {
+ Name "Do not produce\ndata at start. We\nhave t"
+"o wait one turn."
+ Location [421, 301, 919, 601]
+ Open off
+ ModelBrowserVisibility off
+ ModelBrowserWidth 200
+ ScreenColor "white"
+ PaperOrientation "landscape"
+ PaperPositionMode "auto"
+ PaperType "A4"
+ PaperUnits "centimeters"
+ TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
+ TiledPageScale 1
+ ShowPageBoundaries off
+ ZoomFactor "100"
+ Block {
+ BlockType Inport
+ Name "In1"
+ Position [110, 103, 140, 117]
+ IconDisplay "Port number"
+ }
+ Block {
+ BlockType EnablePort
+ Name "Enable"
+ Ports []
+ Position [235, 20, 255, 40]
+ }
+ Block {
+ BlockType Outport
+ Name "Out1"
+ Position [360, 103, 390, 117]
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Line {
+ SrcBlock "In1"
+ SrcPort 1
+ DstBlock "Out1"
+ DstPort 1
+ }
+ }
+ }
+ Block {
+ BlockType HitCross
+ Name "Hit \nCrossing"
+ Ports [1, 1]
+ Position [320, 95, 350, 125]
+ AttributesFormatString "ZC:%<ZeroCross>"
+ HitCrossingDirection "rising"
+ }
+ Block {
+ BlockType SubSystem
+ Name "Individual output"
+ Ports [1, 1, 0, 1]
+ Position [745, 226, 800, 274]
+ TreatAsAtomicUnit on
+ MinAlgLoopOccurrences off
+ RTWSystemCode "Auto"
+ FunctionWithSeparateData off
+ MaskHideContents off
+ System {
+ Name "Individual output"
+ Location [401, 346, 899, 646]
+ Open off
+ ModelBrowserVisibility off
+ ModelBrowserWidth 200
+ ScreenColor "white"
+ PaperOrientation "landscape"
+ PaperPositionMode "auto"
+ PaperType "A4"
+ PaperUnits "centimeters"
+ TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
+ TiledPageScale 1
+ ShowPageBoundaries off
+ ZoomFactor "100"
+ Block {
+ BlockType Inport
+ Name "In1"
+ Position [110, 103, 140, 117]
+ IconDisplay "Port number"
+ }
+ Block {
+ BlockType TriggerPort
+ Name "Trigger"
+ Ports []
+ Position [225, 20, 245, 40]
+ StatesWhenEnabling "held"
+ }
+ Block {
+ BlockType Outport
+ Name "Out1"
+ Position [360, 103, 390, 117]
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Line {
+ SrcBlock "In1"
+ SrcPort 1
+ DstBlock "Out1"
+ DstPort 1
+ }
+ }
+ }
+ Block {
+ BlockType Integrator
+ Name "Integrator"
+ Ports [2, 1, 0, 0, 1]
+ Position [130, 238, 180, 307]
+ ExternalReset "rising"
+ ShowStatePort on
+ IgnoreLimit off
+ }
+ Block {
+ BlockType RandomNumber
+ Name "Measurement noise"
+ Position [475, 145, 505, 175]
+ Orientation "left"
+ NamePlacement "alternate"
+ Variance "(noise_stdev/180*pi)^2"
+ Seed "abs(floor(rand(3,1)*10000))"
+ }
+ Block {
+ BlockType Mux
+ Name "Mux"
+ Ports [3, 1]
+ Position [700, 352, 705, 418]
+ ShowName off
+ Inputs "3"
+ DisplayOption "bar"
+ }
+ Block {
+ BlockType RateTransition
+ Name "Rate Transition"
+ Position [750, 364, 790, 406]
+ OutPortSampleTime "1/rps"
+ }
+ Block {
+ BlockType RateTransition
+ Name "Rate Transition1"
+ Position [735, 19, 775, 61]
+ OutPortSampleTime "1/rps"
+ }
+ Block {
+ BlockType Sum
+ Name "Subtract"
+ Ports [2, 1]
+ Position [270, 95, 300, 125]
+ IconShape "round"
+ Inputs "-+|"
+ CollapseMode "All dimensions"
+ InputSameDT off
+ OutDataTypeMode "Inherit via internal rule"
+ OutScaling "2^-10"
+ SaturateOnIntegerOverflow off
+ }
+ Block {
+ BlockType Sum
+ Name "Sum"
+ Ports [2, 1]
+ Position [480, 240, 500, 260]
+ ShowName off
+ IconShape "round"
+ Inputs "++|"
+ CollapseMode "All dimensions"
+ InputSameDT off
+ OutDataTypeMode "Inherit via internal rule"
+ SaturateOnIntegerOverflow off
+ }
+ Block {
+ BlockType Sum
+ Name "Sum1"
+ Ports [2, 1]
+ Position [415, 305, 435, 325]
+ ShowName off
+ IconShape "round"
+ Inputs "++|"
+ CollapseMode "All dimensions"
+ InputSameDT off
+ OutDataTypeMode "Inherit via internal rule"
+ SaturateOnIntegerOverflow off
+ }
+ Block {
+ BlockType Sum
+ Name "Sum2"
+ Ports [2, 1]
+ Position [430, 375, 450, 395]
+ ShowName off
+ IconShape "round"
+ Inputs "++|"
+ CollapseMode "All dimensions"
+ InputSameDT off
+ OutDataTypeMode "Inherit via internal rule"
+ SaturateOnIntegerOverflow off
+ }
+ Block {
+ BlockType Sum
+ Name "Sum3"
+ Ports [2, 1]
+ Position [445, 445, 465, 465]
+ ShowName off
+ IconShape "round"
+ Inputs "++|"
+ CollapseMode "All dimensions"
+ InputSameDT off
+ OutDataTypeMode "Inherit via internal rule"
+ SaturateOnIntegerOverflow off
+ }
+ Block {
+ BlockType Sum
+ Name "Sum5"
+ Ports [2, 1]
+ Position [400, 30, 420, 50]
+ ShowName off
+ IconShape "round"
+ Inputs "|++"
+ CollapseMode "All dimensions"
+ InputSameDT off
+ OutDataTypeMode "Inherit via internal rule"
+ SaturateOnIntegerOverflow off
+ }
+ Block {
+ BlockType Outport
+ Name "Ideal"
+ Position [855, 33, 885, 47]
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Block {
+ BlockType Outport
+ Name "Individual"
+ Position [875, 243, 905, 257]
+ Port "2"
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Block {
+ BlockType Outport
+ Name "Simultaneous"
+ Position [965, 378, 995, 392]
+ Port "3"
+ IconDisplay "Port number"
+ BusOutputAsStruct off
+ }
+ Line {
+ SrcBlock "Sum5"
+ SrcPort 1
+ DstBlock "Rate Transition1"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Demux1"
+ SrcPort 3
+ Points [0, 15]
+ Branch {
+ DstBlock "Sum3"
+ DstPort 1
+ }
+ Branch {
+ Points [35, 0]
+ DstBlock "Sum"
+ DstPort 1
+ }
+ }
+ Line {
+ SrcBlock "Demux1"
+ SrcPort 2
+ DstBlock "Sum2"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Demux1"
+ SrcPort 1
+ DstBlock "Sum1"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Sum1"
+ SrcPort 1
+ DstBlock "Beacon memory"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Sum2"
+ SrcPort 1
+ DstBlock "Beacon memory1"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Sum3"
+ SrcPort 1
+ DstBlock "Beacon memory2"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Measurement noise"
+ SrcPort 1
+ Points [-30, 0]
+ Branch {
+ Points [-30, 0]
+ DstBlock "Sum5"
+ DstPort 2
+ }
+ Branch {
+ DstBlock "Demux1"
+ DstPort 1
+ }
+ }
+ Line {
+ SrcBlock "Sum"
+ SrcPort 1
+ DstBlock "Individual output"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Compare\nTo Zero"
+ SrcPort 1
+ Points [40, 0]
+ DstBlock "Do not produce\ndata at start. We\nhave to "
+"wait one turn."
+ DstPort enable
+ }
+ Line {
+ SrcBlock "Do not produce\ndata at start. We\nhave to "
+"wait one turn."
+ SrcPort 1
+ DstBlock "Simultaneous"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Rate Transition"
+ SrcPort 1
+ DstBlock "Do not produce\ndata at start. We\nhave to "
+"wait one turn."
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Clock"
+ SrcPort 1
+ DstBlock "Compare\nTo Zero"
+ DstPort 1
+ }
+ Line {
+ Labels [0, 0]
+ SrcBlock "Rate Transition1"
+ SrcPort 1
+ DstBlock "Ideal"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Mux"
+ SrcPort 1
+ DstBlock "Rate Transition"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Pos"
+ SrcPort 1
+ DstBlock "Beacon Angles"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Demux"
+ SrcPort 3
+ Points [0, 81; 150, 0]
+ DstBlock "Beacon memory"
+ DstPort trigger
+ }
+ Line {
+ SrcBlock "Demux"
+ SrcPort 2
+ Points [0, 149]
+ DstBlock "Beacon memory1"
+ DstPort trigger
+ }
+ Line {
+ SrcBlock "Demux"
+ SrcPort 1
+ Points [0, 219]
+ DstBlock "Beacon memory2"
+ DstPort trigger
+ }
+ Line {
+ SrcBlock "Beacon memory2"
+ SrcPort 1
+ Points [40, 0; 0, -50]
+ DstBlock "Mux"
+ DstPort 3
+ }
+ Line {
+ SrcBlock "Beacon memory1"
+ SrcPort 1
+ DstBlock "Mux"
+ DstPort 2
+ }
+ Line {
+ SrcBlock "Beacon memory"
+ SrcPort 1
+ Points [40, 0; 0, 50]
+ DstBlock "Mux"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Beacon Angles"
+ SrcPort 1
+ Points [70, 0]
+ Branch {
+ DstBlock "Sum5"
+ DstPort 1
+ }
+ Branch {
+ DstBlock "Subtract"
+ DstPort 1
+ }
+ }
+ Line {
+ SrcBlock "Individual output"
+ SrcPort 1
+ DstBlock "Individual"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Hit \nCrossing"
+ SrcPort 1
+ Points [15, 0]
+ Branch {
+ Points [400, 0]
+ DstBlock "Individual output"
+ DstPort trigger
+ }
+ Branch {
+ DstBlock "Demux"
+ DstPort 1
+ }
+ }
+ Line {
+ SrcBlock "Subtract"
+ SrcPort 1
+ DstBlock "Hit \nCrossing"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Integrator"
+ SrcPort 1
+ Points [20, 0]
+ Branch {
+ Labels [1, 0]
+ Points [0, -25]
+ Branch {
+ DstBlock "Sum"
+ DstPort 2
+ }
+ Branch {
+ Points [0, 65]
+ Branch {
+ DstBlock "Sum1"
+ DstPort 2
+ }
+ Branch {
+ Points [0, 70]
+ Branch {
+ DstBlock "Sum2"
+ DstPort 2
+ }
+ Branch {
+ Points [0, 70]
+ DstBlock "Sum3"
+ DstPort 2
+ }
+ }
+ }
+ }
+ Branch {
+ Labels [-1, 1]
+ Points [0, -165]
+ DstBlock "Subtract"
+ DstPort 2
+ }
+ }
+ Line {
+ SrcBlock "Compare\nTo Constant"
+ SrcPort 1
+ Points [-30, 0; 0, 110]
+ DstBlock "Integrator"
+ DstPort 2
+ }
+ Line {
+ SrcBlock "Constant1"
+ SrcPort 1
+ DstBlock "Integrator"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Integrator"
+ SrcPort state
+ Points [0, -53]
+ DstBlock "Compare\nTo Constant"
+ DstPort 1
+ }
+ }
+ }
+ Block {
+ BlockType Reference
+ Name "Slider\nGain ANGLE"
+ Ports [1, 1]
+ Position [100, 235, 150, 265]
+ SourceBlock "simulink/Math\nOperations/Slider\nGain"
+ SourceType "Slider Gain"
+ ShowPortLabels "FromPortIcon"
+ SystemSampleTime "-1"
+ FunctionWithSeparateData off
+ RTWMemSecFuncInitTerm "Inherit from model"
+ RTWMemSecFuncExecute "Inherit from model"
+ RTWMemSecDataConstants "Inherit from model"
+ RTWMemSecDataInternal "Inherit from model"
+ RTWMemSecDataParameters "Inherit from model"
+ low "0"
+ gain "140.4"
+ high "360"
+ }
+ Block {
+ BlockType Reference
+ Name "Slider\nGain X"
+ Ports [1, 1]
+ Position [105, 89, 150, 121]
+ SourceBlock "simulink/Math\nOperations/Slider\nGain"
+ SourceType "Slider Gain"
+ ShowPortLabels "FromPortIcon"
+ SystemSampleTime "-1"
+ FunctionWithSeparateData off
+ RTWMemSecFuncInitTerm "Inherit from model"
+ RTWMemSecFuncExecute "Inherit from model"
+ RTWMemSecDataConstants "Inherit from model"
+ RTWMemSecDataInternal "Inherit from model"
+ RTWMemSecDataParameters "Inherit from model"
+ low "0"
+ gain "0.69"
+ high "3"
+ }
+ Block {
+ BlockType Reference
+ Name "Slider\nGain Y"
+ Ports [1, 1]
+ Position [100, 160, 150, 190]
+ SourceBlock "simulink/Math\nOperations/Slider\nGain"
+ SourceType "Slider Gain"
+ ShowPortLabels "FromPortIcon"
+ SystemSampleTime "-1"
+ FunctionWithSeparateData off
+ RTWMemSecFuncInitTerm "Inherit from model"
+ RTWMemSecFuncExecute "Inherit from model"
+ RTWMemSecDataConstants "Inherit from model"
+ RTWMemSecDataInternal "Inherit from model"
+ RTWMemSecDataParameters "Inherit from model"
+ low "0"
+ gain "0.584"
+ high "2.1"
+ }
+ Block {
+ BlockType Constant
+ Name "angle"
+ Position [45, 235, 75, 265]
+ }
+ Block {
+ BlockType Gain
+ Name "to rad"
+ Position [169, 195, 201, 230]
+ Orientation "up"
+ NamePlacement "alternate"
+ ShowName off
+ Gain "pi/180"
+ ParameterDataTypeMode "Inherit via internal rule"
+ OutDataTypeMode "Inherit via internal rule"
+ SaturateOnIntegerOverflow off
+ }
+ Block {
+ BlockType Constant
+ Name "x"
+ Position [45, 90, 75, 120]
+ }
+ Block {
+ BlockType Constant
+ Name "y"
+ Position [45, 160, 75, 190]
+ }
+ Line {
+ SrcBlock "x"
+ SrcPort 1
+ DstBlock "Slider\nGain X"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "y"
+ SrcPort 1
+ DstBlock "Slider\nGain Y"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "angle"
+ SrcPort 1
+ DstBlock "Slider\nGain ANGLE"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Slider\nGain X"
+ SrcPort 1
+ Points [45, 0]
+ DstBlock "Mux"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Slider\nGain Y"
+ SrcPort 1
+ DstBlock "Mux"
+ DstPort 2
+ }
+ Line {
+ SrcBlock "Slider\nGain ANGLE"
+ SrcPort 1
+ Points [30, 0]
+ DstBlock "to rad"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "to rad"
+ SrcPort 1
+ Points [0, -5]
+ DstBlock "Mux"
+ DstPort 3
+ }
+ Line {
+ SrcBlock "Mux"
+ SrcPort 1
+ Points [70, 0]
+ Branch {
+ Points [0, -45]
+ DstBlock "Draw robot"
+ DstPort 1
+ }
+ Branch {
+ Points [20, 0]
+ DstBlock "Rotating laser"
+ DstPort 1
+ }
+ }
+ Line {
+ SrcBlock "Digital Clock"
+ SrcPort 1
+ DstBlock "Display"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Rotating laser"
+ SrcPort 2
+ Points [15, 0; 0, -45]
+ DstBlock "Draw robot"
+ DstPort 2
+ }
+ }
+}
NumRootInports 0
NumRootOutports 0
ParameterArgumentNames ""
- ComputedModelVersion "1.290"
+ ComputedModelVersion "1.294"
NumModelReferences 0
NumTestPointedSignals 0
}
ModifiedByFormat "%<Auto>"
LastModifiedBy "wsh"
ModifiedDateFormat "%<Auto>"
- LastModifiedDate "Sat Apr 26 10:15:02 2008"
- ModelVersionFormat "1.%<AutoIncrement:290>"
+ LastModifiedDate "Sat Apr 26 11:55:07 2008"
+ ModelVersionFormat "1.%<AutoIncrement:294>"
ConfigurationManager "None"
SimulationMode "normal"
LinearizationMsg "none"
SFunctionModules "''"
PortCounts "[]"
}
- Block {
- BlockType SignalGenerator
- WaveForm "sine"
- TimeSource "Use simulation time"
- Amplitude "1"
- Frequency "1"
- Units "Hertz"
- VectorParams1D on
- }
Block {
BlockType SignalSpecification
Dimensions "-1"
}
System {
Name "reg_mcl"
- Location [358, 382, 1213, 951]
+ Location [4, 431, 859, 1000]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "normalized"
- MaskValueString "3|0|on"
+ MaskValueString "3|1|on"
MaskTabNameString ",,"
System {
Name "Rotating laser"
Location [84, 67, 1108, 652]
- Open on
+ Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
Position [740, 310, 760, 330]
Decimation "10"
}
+ Block {
+ BlockType Reference
+ Name "Compare\nTo Constant"
+ Ports [1, 1]
+ Position [50, 165, 100, 195]
+ Orientation "left"
+ SourceBlock "simulink/Logic and Bit\nOperations/Compare"
+"\nTo Constant"
+ SourceType "Compare To Constant"
+ ShowPortLabels "FromPortIcon"
+ SystemSampleTime "-1"
+ FunctionWithSeparateData off
+ RTWMemSecFuncInitTerm "Inherit from model"
+ RTWMemSecFuncExecute "Inherit from model"
+ RTWMemSecDataConstants "Inherit from model"
+ RTWMemSecDataInternal "Inherit from model"
+ RTWMemSecDataParameters "Inherit from model"
+ relop ">="
+ const "2*pi"
+ LogicOutDataTypeMode "boolean"
+ ZeroCross off
+ }
Block {
BlockType Reference
Name "Compare\nTo Zero"
}
Block {
BlockType Constant
- Name "Constant"
- Position [145, 145, 175, 175]
- Orientation "up"
+ Name "Constant1"
+ Position [35, 239, 100, 271]
NamePlacement "alternate"
- Value "pi"
+ Value "rps*2*pi"
}
Block {
BlockType Demux
}
}
}
- Block {
- BlockType Gain
- Name "Gain"
- Position [95, 95, 125, 125]
- Gain "-1"
- ParameterDataTypeMode "Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
Block {
BlockType HitCross
Name "Hit \nCrossing"
Ports [1, 1]
- Position [315, 95, 345, 125]
+ Position [320, 95, 350, 125]
AttributesFormatString "ZC:%<ZeroCross>"
HitCrossingDirection "rising"
}
}
}
}
+ Block {
+ BlockType Integrator
+ Name "Integrator"
+ Ports [2, 1, 0, 0, 1]
+ Position [130, 238, 180, 307]
+ ExternalReset "rising"
+ ShowStatePort on
+ IgnoreLimit off
+ }
Block {
BlockType RandomNumber
Name "Measurement noise"
Orientation "left"
NamePlacement "alternate"
Variance "(noise_stdev/180*pi)^2"
- Seed "abs(rand(3,1)*10000)"
+ Seed "abs(floor(rand(3,1)*10000))"
}
Block {
BlockType Mux
Position [735, 19, 775, 61]
OutPortSampleTime "1/rps"
}
- Block {
- BlockType SignalGenerator
- Name "Signal\nGenerator"
- Ports [0, 1]
- Position [35, 95, 65, 125]
- WaveForm "sawtooth"
- Amplitude "pi"
- Frequency "rps"
- }
Block {
BlockType Sum
Name "Subtract"
Ports [2, 1]
- Position [250, 95, 280, 125]
+ Position [270, 95, 300, 125]
IconShape "round"
Inputs "-+|"
CollapseMode "All dimensions"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
- Block {
- BlockType Sum
- Name "Sum4"
- Ports [2, 1]
- Position [150, 100, 170, 120]
- ShowName off
- IconShape "round"
- Inputs "|++"
- CollapseMode "All dimensions"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- SaturateOnIntegerOverflow off
- Port {
- PortNumber 1
- Name "Laser angle"
- RTWStorageClass "Auto"
- DataLoggingNameMode "SignalName"
- }
- }
Block {
BlockType Sum
Name "Sum5"
BusOutputAsStruct off
}
Line {
- SrcBlock "Signal\nGenerator"
- SrcPort 1
- DstBlock "Gain"
- DstPort 1
- }
- Line {
- SrcBlock "Subtract"
+ SrcBlock "Sum5"
SrcPort 1
- DstBlock "Hit \nCrossing"
+ DstBlock "Rate Transition1"
DstPort 1
}
Line {
- SrcBlock "Hit \nCrossing"
- SrcPort 1
- Points [20, 0]
+ SrcBlock "Demux1"
+ SrcPort 3
+ Points [0, 15]
Branch {
- DstBlock "Demux"
+ DstBlock "Sum3"
DstPort 1
}
Branch {
- Points [400, 0]
- DstBlock "Individual output"
- DstPort trigger
+ Points [35, 0]
+ DstBlock "Sum"
+ DstPort 1
}
}
Line {
- SrcBlock "Individual output"
+ SrcBlock "Demux1"
+ SrcPort 2
+ DstBlock "Sum2"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Demux1"
SrcPort 1
- DstBlock "Individual"
+ DstBlock "Sum1"
DstPort 1
}
Line {
- SrcBlock "Beacon Angles"
+ SrcBlock "Sum1"
SrcPort 1
- Points [50, 0]
- Branch {
- DstBlock "Subtract"
- DstPort 1
- }
- Branch {
- DstBlock "Sum5"
- DstPort 1
- }
+ DstBlock "Beacon memory"
+ DstPort 1
}
Line {
- SrcBlock "Beacon memory"
+ SrcBlock "Sum2"
SrcPort 1
- Points [40, 0; 0, 50]
- DstBlock "Mux"
+ DstBlock "Beacon memory1"
DstPort 1
}
Line {
- SrcBlock "Beacon memory1"
+ SrcBlock "Sum3"
SrcPort 1
- DstBlock "Mux"
- DstPort 2
+ DstBlock "Beacon memory2"
+ DstPort 1
}
Line {
- SrcBlock "Beacon memory2"
+ SrcBlock "Measurement noise"
SrcPort 1
- Points [40, 0; 0, -50]
- DstBlock "Mux"
- DstPort 3
+ Points [-30, 0]
+ Branch {
+ Points [-30, 0]
+ DstBlock "Sum5"
+ DstPort 2
+ }
+ Branch {
+ DstBlock "Demux1"
+ DstPort 1
+ }
}
Line {
- SrcBlock "Demux"
+ SrcBlock "Sum"
SrcPort 1
- Points [0, 219]
- DstBlock "Beacon memory2"
- DstPort trigger
+ DstBlock "Individual output"
+ DstPort 1
}
Line {
- SrcBlock "Demux"
- SrcPort 2
- Points [0, 149]
- DstBlock "Beacon memory1"
- DstPort trigger
+ SrcBlock "Compare\nTo Zero"
+ SrcPort 1
+ Points [40, 0]
+ DstBlock "Do not produce\ndata at start. We\nhave to "
+"wait one turn."
+ DstPort enable
}
Line {
- SrcBlock "Demux"
- SrcPort 3
- Points [0, 81; 150, 0]
- DstBlock "Beacon memory"
- DstPort trigger
+ SrcBlock "Do not produce\ndata at start. We\nhave to "
+"wait one turn."
+ SrcPort 1
+ DstBlock "Simultaneous"
+ DstPort 1
}
Line {
- SrcBlock "Pos"
+ SrcBlock "Rate Transition"
SrcPort 1
- DstBlock "Beacon Angles"
+ DstBlock "Do not produce\ndata at start. We\nhave to "
+"wait one turn."
DstPort 1
}
Line {
- SrcBlock "Mux"
+ SrcBlock "Clock"
SrcPort 1
- DstBlock "Rate Transition"
+ DstBlock "Compare\nTo Zero"
DstPort 1
}
Line {
DstPort 1
}
Line {
- SrcBlock "Clock"
+ SrcBlock "Mux"
SrcPort 1
- DstBlock "Compare\nTo Zero"
+ DstBlock "Rate Transition"
DstPort 1
}
Line {
- SrcBlock "Rate Transition"
+ SrcBlock "Pos"
SrcPort 1
- DstBlock "Do not produce\ndata at start. We\nhave to "
-"wait one turn."
+ DstBlock "Beacon Angles"
DstPort 1
}
Line {
- SrcBlock "Do not produce\ndata at start. We\nhave to "
-"wait one turn."
- SrcPort 1
- DstBlock "Simultaneous"
- DstPort 1
+ SrcBlock "Demux"
+ SrcPort 3
+ Points [0, 81; 150, 0]
+ DstBlock "Beacon memory"
+ DstPort trigger
}
Line {
- SrcBlock "Compare\nTo Zero"
- SrcPort 1
- Points [40, 0]
- DstBlock "Do not produce\ndata at start. We\nhave to "
-"wait one turn."
- DstPort enable
+ SrcBlock "Demux"
+ SrcPort 2
+ Points [0, 149]
+ DstBlock "Beacon memory1"
+ DstPort trigger
}
Line {
- SrcBlock "Sum"
+ SrcBlock "Demux"
SrcPort 1
- DstBlock "Individual output"
- DstPort 1
+ Points [0, 219]
+ DstBlock "Beacon memory2"
+ DstPort trigger
}
Line {
- SrcBlock "Measurement noise"
+ SrcBlock "Beacon memory2"
SrcPort 1
- Points [-30, 0]
- Branch {
- DstBlock "Demux1"
- DstPort 1
- }
- Branch {
- Points [-30, 0]
- DstBlock "Sum5"
- DstPort 2
- }
+ Points [40, 0; 0, -50]
+ DstBlock "Mux"
+ DstPort 3
}
Line {
- SrcBlock "Sum3"
+ SrcBlock "Beacon memory1"
SrcPort 1
- DstBlock "Beacon memory2"
- DstPort 1
+ DstBlock "Mux"
+ DstPort 2
}
Line {
- SrcBlock "Sum2"
+ SrcBlock "Beacon memory"
SrcPort 1
- DstBlock "Beacon memory1"
+ Points [40, 0; 0, 50]
+ DstBlock "Mux"
DstPort 1
}
Line {
- SrcBlock "Sum1"
+ SrcBlock "Beacon Angles"
SrcPort 1
- DstBlock "Beacon memory"
- DstPort 1
+ Points [70, 0]
+ Branch {
+ DstBlock "Sum5"
+ DstPort 1
+ }
+ Branch {
+ DstBlock "Subtract"
+ DstPort 1
+ }
}
Line {
- SrcBlock "Demux1"
+ SrcBlock "Individual output"
SrcPort 1
- DstBlock "Sum1"
- DstPort 1
- }
- Line {
- SrcBlock "Demux1"
- SrcPort 2
- DstBlock "Sum2"
+ DstBlock "Individual"
DstPort 1
}
Line {
- SrcBlock "Demux1"
- SrcPort 3
- Points [0, 15]
+ SrcBlock "Hit \nCrossing"
+ SrcPort 1
+ Points [15, 0]
Branch {
- Points [35, 0]
- DstBlock "Sum"
- DstPort 1
+ Points [400, 0]
+ DstBlock "Individual output"
+ DstPort trigger
}
Branch {
- DstBlock "Sum3"
+ DstBlock "Demux"
DstPort 1
}
}
Line {
- Name "Laser angle"
- SrcBlock "Sum4"
+ SrcBlock "Subtract"
SrcPort 1
- Points [30, 0]
- Branch {
- Labels [-1, 1]
- DstBlock "Subtract"
- DstPort 2
- }
+ DstBlock "Hit \nCrossing"
+ DstPort 1
+ }
+ Line {
+ SrcBlock "Integrator"
+ SrcPort 1
+ Points [20, 0]
Branch {
- Points [0, 140]
+ Labels [1, 0]
+ Points [0, -25]
+ Branch {
+ DstBlock "Sum"
+ DstPort 2
+ }
Branch {
Points [0, 65]
+ Branch {
+ DstBlock "Sum1"
+ DstPort 2
+ }
Branch {
Points [0, 70]
Branch {
- Points [0, 70]
- DstBlock "Sum3"
+ DstBlock "Sum2"
DstPort 2
}
Branch {
- DstBlock "Sum2"
+ Points [0, 70]
+ DstBlock "Sum3"
DstPort 2
}
}
- Branch {
- DstBlock "Sum1"
- DstPort 2
- }
- }
- Branch {
- DstBlock "Sum"
- DstPort 2
}
}
+ Branch {
+ Labels [-1, 1]
+ Points [0, -165]
+ DstBlock "Subtract"
+ DstPort 2
+ }
}
Line {
- SrcBlock "Gain"
+ SrcBlock "Compare\nTo Constant"
SrcPort 1
- DstBlock "Sum4"
- DstPort 1
+ Points [-30, 0; 0, 110]
+ DstBlock "Integrator"
+ DstPort 2
}
Line {
- SrcBlock "Constant"
+ SrcBlock "Constant1"
SrcPort 1
- DstBlock "Sum4"
- DstPort 2
+ DstBlock "Integrator"
+ DstPort 1
}
Line {
- SrcBlock "Sum5"
- SrcPort 1
- DstBlock "Rate Transition1"
+ SrcBlock "Integrator"
+ SrcPort state
+ Points [0, -53]
+ DstBlock "Compare\nTo Constant"
DstPort 1
}
}
Position [20, 15, 60, 55]
IOType "viewer"
Location [6, 760, 772, 999]
- Open on
+ Open off
NumInputPorts "1"
ZoomMode "yonly"
List {