Model { Name "mnpq" Version 3.00 SimParamPage "Solver" SampleTimeColors off InvariantConstants off WideVectorLines off ShowLineWidths off ShowPortDataTypes off StartTime "0.0" StopTime "20" SolverMode "SingleTasking" Solver "ode45" RelTol "1e-3" AbsTol "1e-3" Refine "1" MaxStep ".010" InitialStep "auto" FixedStep "auto" MaxOrder 5 OutputOption "RefineOutputTimes" OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "t" SaveState off StateSaveName "xout" SaveOutput off OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" SaveFormat "Matrix" LimitMaxRows off MaxRows "1000" Decimation "1" AlgebraicLoopMsg "warning" MinStepSizeMsg "warning" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" InheritedTsInSrcMsg "warning" IntegerOverflowMsg "warning" UnnecessaryDatatypeConvMsg "none" Int32ToFloatConvMsg "warning" SignalLabelMismatchMsg "none" ConsistencyChecking "off" ZeroCross on SimulationMode "normal" BlockDataTips on BlockParametersDataTip on BlockAttributesDataTip off BlockPortWidthsDataTip off BlockDescriptionStringDataTip off BlockMaskParametersDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off OptimizeBlockIOStorage on BufferReuse on BooleanDataType off RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off 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 Created "Tue Jan 18 19:55:48 2000" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" ModifiedDateFormat "%" LastModifiedDate "Tue Jan 18 19:58:38 2000" ModelVersionFormat "1.%" ConfigurationManager "none" 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 "mnpq" Location [2, 74, 802, 560] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on ReportName "simulink-default.rpt" Block { BlockType SubSystem Name "Disturbance" Ports [0, 1, 0, 0, 0] Position [240, 64, 340, 96] BackgroundColor "cyan" DropShadow on ShowName off FontName "Arial" FontSize 14 ShowPortLabels off MaskType "Input disturbance" MaskDescription "disturbance" MaskHelp "This block generates a signal with average valu" "e Kc and a varying component amplified by Kv" MaskPromptString "Amplitude of constant component:|Amplitude of" " varying component:" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskInitialization "Kc=@1;Kv=@2;" MaskDisplay "disp('Disturbance')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "1|0.5" System { Name "Disturbance" Location [194, 204, 665, 438] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "cyan" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType SubSystem Name "Band-Limited\nWhite Noise" Ports [0, 1, 0, 0, 0] Position [75, 67, 120, 103] BackgroundColor "blue" DropShadow on FontName "Arial" FontSize 14 ShowPortLabels off MaskType "Continuous White Noise." MaskDescription "White noise for continuous (s-domain) syste" "ms.\nBand-limited using zero-order-hold." MaskHelp "Implemented using white noise into Zero-Ord" "er Hold block. The seed and power can be vectors of the same length to produc" "e a vector of white noise sources. For faster simulation, set sample time to " "the highest value possible but in accordance with the fastest dynamics of sys" "tem." MaskPromptString "Noise Power:|Sample Time:|Seed" MaskStyleString "edit,edit,edit" MaskTunableValueString "on,on,on" MaskCallbackString "||" MaskEnableString "on,on,on" MaskVisibilityString "on,on,on" MaskInitialization "Cov = @1; Ts = @2; seed = @3; r = rand(1,12" "); r2 = [r(1),r;r,r(12)]; t =[1:13;1:13];" MaskDisplay "plot(t(:),r2(:))" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "[0.1]|0.1|[23341]" System { Name "Band-Limited\nWhite Noise" Location [56, 339, 341, 468] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "blue" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Gain Name "Gain" Position [155, 31, 195, 69] Gain "[sqrt(Cov)]/[sqrt(Ts)]" SaturateOnIntegerOverflow on } Block { BlockType RandomNumber Name "White Noise" Position [25, 40, 45, 60] Mean "0" Variance "1" Seed "seed" SampleTime "0" } Block { BlockType ZeroOrderHold Name "Zero-Order\nHold" Position [85, 34, 120, 66] SampleTime "Ts" } Block { BlockType Outport Name "Out_1" Position [230, 40, 250, 60] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "White Noise" SrcPort 1 DstBlock "Zero-Order\nHold" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Out_1" DstPort 1 } Line { SrcBlock "Zero-Order\nHold" SrcPort 1 DstBlock "Gain" DstPort 1 } } } Block { BlockType Step Name "Dist-const" Position [60, 144, 95, 176] BackgroundColor "blue" DropShadow on FontName "Arial" FontSize 14 Time "0" Before "0" After "1" SampleTime "0" } Block { BlockType ZeroPole Name "Filter" Position [150, 63, 210, 107] ForegroundColor "blue" DropShadow on FontName "Arial" FontSize 14 Zeros "z" Poles "p" Gain "k" MaskType "buttap" MaskDescription "Analog Butterworth low pass filter.\n\n(Req" "uires Signal Processing Toolbox)" MaskHelp "Butterworth low pass filter using MATLAB's " "butter command." MaskPromptString "Cutoff frequency (rad/sec)|Order" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskInitialization "[z,p,k]=buttap(@2); z=@1*z; p=@1*p; k=real(" "prod(-p)); [num,den]=zp2tf(z,p,k); w=logspace(log10(@1/10),log10(10*@1),20); " "h=freqs(num,den,w); " MaskDisplay "plot(20*log10(w),20*log10(abs(h)))" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "4|6" } Block { BlockType Gain Name "Gain1" Position [165, 138, 225, 182] ForegroundColor "blue" DropShadow on ShowName off FontName "Arial" FontSize 14 Gain "Kc" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Gain2" Position [235, 64, 305, 106] ForegroundColor "blue" DropShadow on ShowName off FontName "Arial" FontSize 14 Gain "Kv" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum5" Ports [2, 1, 0, 0, 0] Position [345, 116, 365, 174] ForegroundColor "blue" DropShadow on ShowName off FontName "Arial" FontSize 14 IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "out_1" Position [395, 133, 420, 157] ForegroundColor "green" DropShadow on FontName "Arial" FontSize 14 Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Gain2" SrcPort 1 Points [5, 0; 0, 45] DstBlock "Sum5" DstPort 1 } Line { SrcBlock "Filter" SrcPort 1 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Band-Limited\nWhite Noise" SrcPort 1 DstBlock "Filter" DstPort 1 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Dist-const" SrcPort 1 DstBlock "Gain1" DstPort 1 } } } Block { BlockType TransferFcn Name "Go(s)" Position [195, 197, 305, 253] Orientation "left" ForegroundColor "red" DropShadow on FontName "Arial" FontSize 14 Numerator "[-0.2 2]" Denominator "[1 4 3]" } Block { BlockType TransferFcn Name "Plant" Position [445, 99, 530, 171] BackgroundColor "yellow" DropShadow on ShowName off FontName "Arial" FontSize 14 Numerator "[-0.2 2]" Denominator "conv([1 4 3],[tau 1])" MaskType "plant" MaskDescription "plant" MaskHelp "Plant with unmodelled dynamics. Enter tau=0 for" " perfect modelling" MaskPromptString " unmodelled time constant tau:" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskInitialization "tau=@1;" MaskDisplay "disp('PLANT')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "0" } Block { BlockType TransferFcn Name "Q(s)" Position [175, 114, 275, 176] ForegroundColor "red" DropShadow on ShowName off FontName "Arial" FontSize 14 Numerator "nq" Denominator "dq" MaskType "Q(s)" MaskDescription "Q(s)" MaskPromptString "numerator of Q(s):|denominator of Q(s):" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskInitialization "nq=@1;dq=@2;" MaskDisplay "disp('Q(s)')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "[8 32 24]|[1 4 16]" } Block { BlockType Step Name "Ref" Position [40, 116, 75, 144] BackgroundColor "cyan" DropShadow on FontName "Arial" FontSize 14 Time "1" Before "0" After "1" SampleTime "0" } Block { BlockType Scope Name "Scope3" Ports [1, 0, 0, 0, 0] Position [505, 9, 545, 61] BackgroundColor "green" DropShadow on ShowName off FontName "Arial" FontSize 14 Floating off Location [469, 200, 800, 514] Open off NumInputPorts "1" TickLabels "on" ZoomMode "on" List { ListType AxesTitles axes1 "%" } Grid "on" TimeRange "20.000000" YMin "-2.000000" YMax "2.000000" SaveToWorkspace off SaveName "ScopeData" DataFormat "Matrix" LimitMaxRows on MaxRows "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Scope Name "Scope4" Ports [1, 0, 0, 0, 0] Position [615, 109, 655, 161] BackgroundColor "green" DropShadow on ShowName off FontName "Arial" FontSize 14 Floating off Location [464, 200, 795, 514] Open off NumInputPorts "1" TickLabels "on" ZoomMode "on" List { ListType AxesTitles axes1 "%" } Grid "on" TimeRange "20.000000" YMin "-2.000000" YMax "2.000000" SaveToWorkspace off SaveName "ScopeData" DataFormat "Matrix" LimitMaxRows on MaxRows "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Sum Name "Sum" Ports [2, 1, 0, 0, 0] Position [120, 119, 140, 166] ForegroundColor "red" DropShadow on ShowName off FontName "Arial" FontSize 14 IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum3" Ports [2, 1, 0, 0, 0] Position [120, 244, 140, 291] Orientation "left" ForegroundColor "red" DropShadow on ShowName off FontName "Arial" FontSize 14 IconShape "rectangular" Inputs "-+" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum4" Ports [2, 1, 0, 0, 0] Position [400, 109, 420, 156] BackgroundColor "yellow" DropShadow on ShowName off FontName "Arial" FontSize 14 IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType ToWorkspace Name "To Workspace" Position [620, 184, 670, 206] BackgroundColor "green" DropShadow on ShowName off FontName "Arial" FontSize 14 VariableName "y" Buffer "10000" Decimation "1" SampleTime "0" SaveFormat "Matrix" } Block { BlockType ToWorkspace Name "To Workspace1" Position [135, 19, 185, 41] BackgroundColor "green" DropShadow on ShowName off FontName "Arial" FontSize 14 VariableName "r" Buffer "10000" Decimation "1" SampleTime "0" SaveFormat "Matrix" } Block { BlockType ToWorkspace Name "To Workspace2" Position [410, 24, 460, 46] BackgroundColor "green" DropShadow on ShowName off FontName "Arial" FontSize 14 VariableName "d" Buffer "10000" Decimation "1" SampleTime "0" SaveFormat "Matrix" } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Q(s)" DstPort 1 } Line { SrcBlock "Go(s)" SrcPort 1 Points [-35, 0] DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Sum3" SrcPort 1 Points [-20, 0; 0, -115] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Q(s)" SrcPort 1 Points [112, 0] Branch { DstBlock "Sum4" DstPort 2 } Branch { Points [-55, 0; 0, 80] DstBlock "Go(s)" DstPort 1 } } Line { SrcBlock "Plant" SrcPort 1 Points [50, 0] Branch { DstBlock "Scope4" DstPort 1 } Branch { Points [-10, 0; 0, 60; 10, 0] Branch { Points [-10, 0; 0, 85] DstBlock "Sum3" DstPort 2 } Branch { DstBlock "To Workspace" DstPort 1 } } } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Plant" DstPort 1 } Line { SrcBlock "Disturbance" SrcPort 1 Points [32, 0] Branch { Points [-12, 0; 0, 40; 30, 0] Branch { DstBlock "Sum4" DstPort 1 } Branch { Points [-30, 0; 0, -40; 125, 0] DstBlock "Scope3" DstPort 1 } } Branch { Points [0, -45] DstBlock "To Workspace2" DstPort 1 } } Line { SrcBlock "Ref" SrcPort 1 Points [0, 0] Branch { DstBlock "Sum" DstPort 1 } Branch { Points [15, 0; 0, -100] DstBlock "To Workspace1" DstPort 1 } } Annotation { Position [352, 317] VerticalAlignment "top" ForegroundColor "blue" Text "SCHEMATIC TO EVALUATE DISTURBANCE COMPENSATION " "AND ROBUSTNESS\nIN THE IMC CONTROL OF A NON MINIMUM PHASE PLANT " DropShadow on FontName "Arial" FontSize 14 } Annotation { Position [372, 362] VerticalAlignment "top" ForegroundColor "red" Text "THE USER CAN PROVIDE HIS (HER) OWN CONTROLLER (" "DOUBLE CLICK ON BOX Q(s))" DropShadow on FontName "Arial" FontSize 14 } Annotation { Position [367, 397] VerticalAlignment "top" ForegroundColor "red" Text "SELECT THE UNMODELLED TIME CONSTANT tau (DOUBLE" " CLICK ON BOX PLANT)" DropShadow on FontName "Arial" FontSize 14 } } }