⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filhlw.mdl

📁 实现KALMAN滤波算法
💻 MDL
📖 第 1 页 / 共 3 页
字号:
	      TreatAsAtomicUnit	      off
	      MinAlgLoopOccurrences   off
	      RTWSystemCode	      "Auto"
	      System {
		Name			"equ.(5)"
		Location		[188, 131, 716, 508]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"white"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"A4"
		PaperUnits		"centimeters"
		ZoomFactor		"100"
		Block {
		  BlockType		  Inport
		  Name			  "K(k+1)"
		  Position		  [45, 23, 75, 37]
		  Port			  "1"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Inport
		  Name			  "P(k+1,k)"
		  Position		  [290, 128, 320, 142]
		  Port			  "2"
		  IconDisplay		  "Port number"
		  LatchInput		  off
		}
		Block {
		  BlockType		  Gain
		  Name			  "H(k+1)"
		  Position		  [155, 165, 185, 195]
		  Gain			  "Cf"
		  Multiplication	  "Matrix(u*K)"
		}
		Block {
		  BlockType		  Constant
		  Name			  "I"
		  Position		  [140, 103, 190, 147]
		  Value			  "eye(order)"
		  VectorParams1D	  off
		}
		Block {
		  BlockType		  Product
		  Name			  "Product"
		  Ports			  [3, 1]
		  Position		  [355, 118, 400, 152]
		  Inputs		  "3"
		  Multiplication	  "Matrix(*)"
		}
		Block {
		  BlockType		  Product
		  Name			  "Product1"
		  Ports			  [3, 1]
		  Position		  [185, 263, 230, 297]
		  Inputs		  "3"
		  Multiplication	  "Matrix(*)"
		}
		Block {
		  BlockType		  Constant
		  Name			  "R(k+1)"
		  Position		  [60, 265, 90, 295]
		  Value			  "Rf"
		  VectorParams1D	  off
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum1"
		  Ports			  [2, 1]
		  Position		  [230, 115, 250, 135]
		  ShowName		  off
		  IconShape		  "round"
		  Inputs		  "|+-"
		}
		Block {
		  BlockType		  Sum
		  Name			  "Sum2"
		  Ports			  [2, 1]
		  Position		  [430, 125, 450, 145]
		  ShowName		  off
		  IconShape		  "round"
		  Inputs		  "|++"
		}
		Block {
		  BlockType		  MATLABFcn
		  Name			  "u'"
		  Position		  [275, 180, 335, 210]
		  MATLABFcn		  "u'"
		  Output1D		  off
		}
		Block {
		  BlockType		  MATLABFcn
		  Name			  "u'1"
		  Position		  [60, 320, 120, 350]
		  MATLABFcn		  "u'"
		  Output1D		  off
		}
		Block {
		  BlockType		  Outport
		  Name			  "P(k+1,k+1)"
		  Position		  [475, 128, 505, 142]
		  IconDisplay		  "Port number"
		}
		Line {
		  SrcBlock		  "K(k+1)"
		  SrcPort		  1
		  Points		  [0, 0; 15, 0]
		  Branch {
		    Points		    [0, 125]
		    Branch {
		    Points		    [-65, 0; 0, 180]
		    DstBlock		    "u'1"
		    DstPort		    1
		    }
		    Branch {
		    Points		    [0, 115]
		    DstBlock		    "Product1"
		    DstPort		    1
		    }
		  }
		  Branch {
		    Points		    [30, 0; 0, 150]
		    DstBlock		    "H(k+1)"
		    DstPort		    1
		  }
		}
		Line {
		  SrcBlock		  "I"
		  SrcPort		  1
		  DstBlock		  "Sum1"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "H(k+1)"
		  SrcPort		  1
		  Points		  [50, 0]
		  DstBlock		  "Sum1"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Sum1"
		  SrcPort		  1
		  Points		  [0, 0; 5, 0]
		  Branch {
		    DstBlock		    "Product"
		    DstPort		    1
		  }
		  Branch {
		    DstBlock		    "u'"
		    DstPort		    1
		  }
		}
		Line {
		  SrcBlock		  "u'"
		  SrcPort		  1
		  DstBlock		  "Product"
		  DstPort		  3
		}
		Line {
		  SrcBlock		  "R(k+1)"
		  SrcPort		  1
		  DstBlock		  "Product1"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "u'1"
		  SrcPort		  1
		  Points		  [0, -45]
		  DstBlock		  "Product1"
		  DstPort		  3
		}
		Line {
		  SrcBlock		  "Product"
		  SrcPort		  1
		  DstBlock		  "Sum2"
		  DstPort		  1
		}
		Line {
		  SrcBlock		  "Product1"
		  SrcPort		  1
		  Points		  [205, 0]
		  DstBlock		  "Sum2"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "P(k+1,k)"
		  SrcPort		  1
		  DstBlock		  "Product"
		  DstPort		  2
		}
		Line {
		  SrcBlock		  "Sum2"
		  SrcPort		  1
		  DstBlock		  "P(k+1,k+1)"
		  DstPort		  1
		}
	      }
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "P(k,k)"
	      Position		      [195, 193, 225, 207]
	      IconDisplay	      "Port number"
	    }
	    Block {
	      BlockType		      Outport
	      Name		      "K(k+1)"
	      Position		      [365, 98, 395, 112]
	      Port		      "2"
	      IconDisplay	      "Port number"
	    }
	    Line {
	      SrcBlock		      "equ.(4)"
	      SrcPort		      1
	      Points		      [0, 0; 60, 0]
	      Branch {
		DstBlock		"equ.(3)"
		DstPort			1
	      }
	      Branch {
		Points			[0, 70]
		DstBlock		"equ.(5)"
		DstPort			2
	      }
	    }
	    Line {
	      SrcBlock		      "equ.(5)"
	      SrcPort		      1
	      Points		      [65, 0; 0, 160]
	      DstBlock		      "Unit Delay"
	      DstPort		      1
	    }
	    Line {
	      SrcBlock		      "Unit Delay"
	      SrcPort		      1
	      Points		      [-115, 0]
	      Branch {
		Points			[-130, 0; 0, -195]
		DstBlock		"equ.(4)"
		DstPort			1
	      }
	      Branch {
		Points			[0, -55]
		DstBlock		"P(k,k)"
		DstPort			1
	      }
	    }
	    Line {
	      SrcBlock		      "equ.(3)"
	      SrcPort		      1
	      Points		      [5, 0]
	      Branch {
		DstBlock		"equ.(5)"
		DstPort			1
	      }
	      Branch {
		DstBlock		"K(k+1)"
		DstPort			1
	      }
	    }
	    Annotation {
	      Name		      "P(k,k)"
	      Position		      [56, 49]
	    }
	    Annotation {
	      Name		      "P(k+1,k)"
	      Position		      [201, 50]
	    }
	    Annotation {
	      Name		      "P(k+1,k+1)"
	      Position		      [538, 85]
	    }
	  }
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum"
	  Ports			  [2, 1]
	  Position		  [85, 155, 105, 175]
	  ShowName		  off
	  IconShape		  "round"
	  Inputs		  "|+-"
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum1"
	  Ports			  [2, 1]
	  Position		  [245, 150, 265, 170]
	  ShowName		  off
	  IconShape		  "round"
	  Inputs		  "|++"
	}
	Block {
	  BlockType		  UnitDelay
	  Name			  "Unit Delay1"
	  Position		  [345, 140, 380, 180]
	  X0			  "x0_"
	}
	Block {
	  BlockType		  Outport
	  Name			  "P(k,k)"
	  Position		  [125, 38, 155, 52]
	  IconDisplay		  "Port number"
	}
	Block {
	  BlockType		  Outport
	  Name			  "x_(k,k)"
	  Position		  [430, 163, 460, 177]
	  Port			  "2"
	  IconDisplay		  "Port number"
	}
	Line {
	  SrcBlock		  "Sum"
	  SrcPort		  1
	  DstBlock		  "Product"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Subsystem"
	  SrcPort		  2
	  Points		  [20, 0; 0, 70]
	  DstBlock		  "Product"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  DstBlock		  "Sum1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Sum1"
	  SrcPort		  1
	  DstBlock		  "Unit Delay1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Unit Delay1"
	  SrcPort		  1
	  Points		  [25, 0; 0, 10]
	  Branch {
	    Points		    [0, 90]
	    DstBlock		    "Phi(k+1,k)"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "x_(k,k)"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Phi(k+1,k)"
	  SrcPort		  1
	  Points		  [0, 0; -50, 0]
	  Branch {
	    DstBlock		    "H(k+1)"
	    DstPort		    1
	  }
	  Branch {
	    Points		    [0, -75]
	    DstBlock		    "Sum1"
	    DstPort		    2
	  }
	}
	Line {
	  SrcBlock		  "H(k+1)"
	  SrcPort		  1
	  Points		  [-45, 0]
	  DstBlock		  "Sum"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Subsystem"
	  SrcPort		  1
	  DstBlock		  "P(k,k)"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "z(k+1)"
	  SrcPort		  1
	  DstBlock		  "Sum"
	  DstPort		  1
	}
	Annotation {
	  Name			  "x_(k+1,k)"
	  Position		  [281, 207]
	}
	Annotation {
	  Name			  "x_(k+1,k+1)"
	  Position		  [300, 152]
	}
      }
    }
    Block {
      BlockType		      MATLABFcn
      Name		      "MATLAB Fcn1"
      Position		      [515, 200, 575, 230]
      MATLABFcn		      "[u(1,1),u(2,2)]"
      Output1D		      off
    }
    Block {
      BlockType		      Scope
      Name		      "P(k,k)"
      Ports		      [1]
      Position		      [615, 199, 645, 231]
      Location		      [163, 133, 610, 478]
      Open		      off
      NumInputPorts	      "1"
      ZoomMode		      "xonly"
      List {
	ListType		AxesTitles
	axes1			"%<SignalLabel>"
      }
      YMin		      "-275"
      YMax		      "100"
      DataFormat	      "StructureWithTime"
    }
    Block {
      BlockType		      UniformRandomNumber
      Name		      "Z(k+1)"
      Position		      [145, 219, 175, 251]
      Minimum		      "[-1 -1]'"
      Maximum		      "[1 1]'"
      Seed		      "[1 2]'"
      SampleTime	      "0"
      VectorParams1D	      off
    }
    Block {
      BlockType		      Scope
      Name		      "x_(k,k)"
      Ports		      [1]
      Position		      [545, 289, 575, 321]
      Location		      [189, 265, 513, 504]
      Open		      off
      NumInputPorts	      "1"
      ZoomMode		      "yonly"
      List {
	ListType		AxesTitles
	axes1			"%<SignalLabel>"
      }
      SaveName		      "ScopeData1"
      DataFormat	      "StructureWithTime"
    }
    Line {
      SrcBlock		      "Z(k+1)"
      SrcPort		      1
      DstBlock		      "Kalman Filter"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Kalman Filter"
      SrcPort		      1
      DstBlock		      "MATLAB Fcn1"
      DstPort		      1
    }
    Line {
      SrcBlock		      "MATLAB Fcn1"
      SrcPort		      1
      DstBlock		      "P(k,k)"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Kalman Filter"
      SrcPort		      2
      Points		      [100, 0; 0, 55]
      DstBlock		      "x_(k,k)"
      DstPort		      1
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -