📄 kalmanbucy.mdl
字号:
DstBlock "B"
DstPort 1
}
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Integrator1"
DstPort 1
}
Line {
SrcBlock "Integrator1"
SrcPort 1
Points [25, 0]
Branch {
Points [0, -45]
DstBlock "A'"
DstPort 1
}
Branch {
DstBlock "C'inv(R)"
DstPort 1
}
Branch {
Points [0, 50]
Branch {
DstBlock "A1"
DstPort 1
}
Branch {
Points [0, 65]
DstBlock "Product1"
DstPort 1
}
}
}
Line {
SrcBlock "A1"
SrcPort 1
Points [-35, 0]
DstBlock "Sum2"
DstPort 3
}
Line {
SrcBlock "A'"
SrcPort 1
Points [-40, 0]
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Q"
SrcPort 1
DstBlock "Sum3"
DstPort 1
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "y1"
SrcPort 1
Points [35, 0]
DstBlock "Sum4"
DstPort 1
}
Line {
SrcBlock "Product"
SrcPort 1
Points [0, -90; -275, 0]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "C'inv(R)"
SrcPort 1
Points [30, 0]
Branch {
Points [0, 130]
DstBlock "C1"
DstPort 1
}
Branch {
Points [0, 0]
DstBlock "Product"
DstPort 1
}
}
Line {
SrcBlock "Product1"
SrcPort 1
Points [-100, 0]
DstBlock "Sum3"
DstPort 2
}
Line {
SrcBlock "C1"
SrcPort 1
DstBlock "Product1"
DstPort 2
}
Line {
SrcBlock "Sum4"
SrcPort 1
Points [50, 0]
DstBlock "Product"
DstPort 2
}
Annotation {
Name "K"
Position [469, 293]
}
Annotation {
Name "P"
Position [376, 295]
}
}
}
Block {
BlockType SubSystem
Name "Random System"
Ports [1, 2]
Position [150, 49, 245, 116]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskPromptString "x0|A|B|C|D|Q|R"
MaskStyleString "edit,edit,edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on,on,on"
MaskCallbackString "||||||"
MaskEnableString "on,on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on,on"
MaskVarAliasString ",,,,,,"
MaskVariables "x0=@1;A=@2;B=@3;C=@4;D=@5;Q=@6;R=@7;"
MaskDisplay "port_label('input',1,'u')\nport_label('output',"
"1,'x')\nport_label('output',2,'y')\ndisp(sprintf('Gassian\\n Process'))"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "x0|A|B|C|D|sqrtm(Q)|sqrtm(R)"
MaskTabNameString ",,,,,,"
System {
Name "Random System"
Location [1030, 335, 1460, 647]
Open off
ModelBrowserVisibility on
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "u"
Position [25, 83, 55, 97]
Port "1"
IconDisplay "Port number"
PortDimensions "size(B,2)"
LatchInput off
}
Block {
BlockType Gain
Name "A"
Position [250, 120, 280, 150]
Orientation "left"
Gain "A"
Multiplication "Matrix(K*u)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "B"
Position [125, 75, 155, 105]
Gain "B"
Multiplication "Matrix(K*u)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "C"
Position [250, 160, 280, 190]
Orientation "left"
Gain "C"
Multiplication "Matrix(K*u)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "D"
Position [130, 215, 160, 245]
Gain "D"
Multiplication "Matrix(K*u)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Integrator
Name "Integrator"
Ports [1, 1]
Position [285, 75, 315, 105]
InitialCondition "x0"
IgnoreLimit off
}
Block {
BlockType Gain
Name "Q"
Position [125, 25, 155, 55]
Gain "Q"
Multiplication "Matrix(K*u)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "R"
Position [130, 255, 160, 285]
Gain "R"
Multiplication "Matrix(K*u)"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum"
Ports [3, 1]
Position [205, 80, 225, 100]
ShowName off
IconShape "round"
Inputs "+++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum1"
Ports [3, 1]
Position [205, 220, 225, 240]
ShowName off
IconShape "round"
Inputs "+++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType RandomNumber
Name "v"
Position [45, 255, 75, 285]
Mean "zeros(size(R,1),1)"
Variance "ones(size(R,1),1)"
SampleTime "0"
}
Block {
BlockType RandomNumber
Name "w"
Position [40, 25, 70, 55]
Mean "zeros(numel(x0),1)"
Variance "ones(numel(x0),1)"
SampleTime "0"
}
Block {
BlockType Outport
Name "x"
Position [375, 28, 405, 42]
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "y"
Position [330, 223, 360, 237]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Integrator"
DstPort 1
}
Line {
SrcBlock "Integrator"
SrcPort 1
Points [25, 0]
Branch {
Points [20, 0; 0, 45]
Branch {
DstBlock "A"
DstPort 1
}
Branch {
Points [0, 40]
DstBlock "C"
DstPort 1
}
}
Branch {
Points [0, -55]
DstBlock "x"
DstPort 1
}
}
Line {
SrcBlock "A"
SrcPort 1
Points [-30, 0]
DstBlock "Sum"
DstPort 3
}
Line {
SrcBlock "B"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "u"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "B"
DstPort 1
}
Branch {
Points [0, 140]
DstBlock "D"
DstPort 1
}
}
Line {
SrcBlock "w"
SrcPort 1
DstBlock "Q"
DstPort 1
}
Line {
SrcBlock "Q"
SrcPort 1
Points [55, 0]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "C"
SrcPort 1
Points [-30, 0]
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "D"
SrcPort 1
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "v"
SrcPort 1
DstBlock "R"
DstPort 1
}
Line {
SrcBlock "R"
SrcPort 1
Points [50, 0]
DstBlock "Sum1"
DstPort 3
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "y"
DstPort 1
}
}
}
Block {
BlockType Outport
Name "x"
Position [350, 58, 380, 72]
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "y"
Position [350, 93, 380, 107]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "x1"
Position [340, 193, 370, 207]
Port "3"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "y1"
Position [340, 228, 370, 242]
Port "4"
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Random System"
SrcPort 1
DstBlock "x"
DstPort 1
}
Line {
SrcBlock "Random System"
SrcPort 2
Points [30, 0]
Branch {
Points [0, 50; -160, 0; 0, 50]
DstBlock "Kalman-Bucy Filter"
DstPort 1
}
Branch {
DstBlock "y"
DstPort 1
}
}
Line {
SrcBlock "Kalman-Bucy Filter"
SrcPort 1
DstBlock "x1"
DstPort 1
}
Line {
SrcBlock "Kalman-Bucy Filter"
SrcPort 2
DstBlock "y1"
DstPort 1
}
Line {
SrcBlock "u"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "Random System"
DstPort 1
}
Branch {
Points [0, 150]
DstBlock "Kalman-Bucy Filter"
DstPort 2
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -