readme.txt

来自「基于T-s模糊模型用于估计非线性系统的状态的kalman滤波器。」· 文本 代码 · 共 43 行

TXT
43
字号
KALMAN FILTERING FOR FUZZY DYNAMIC SYSTEMS

December 21, 2000

Dan Simon
332 Stilwell Hall
Department of Electrical Engineering
Cleveland State University
1960 East 24th Street
Cleveland, OH 44115

web: http://csaxp.csuohio.edu/~simon/
email: simon@csvax.csuohio.edu

A Kalman filter can be used to estimate the states of a nonlinear dynamic system that is approximated with a Takagi-Sugeno (T-S) model.  A backing up truck-trailer example is used to illustrate the effectiveness of the proposed state estimator.  This file describes the m-files that were downloaded along with this readme file.  The m-files can be run in the MATLAB environment.  M-files are written in a very high-level language that can be easily read, almost like pseudo code. The files included with this download are as follows.

ARESolutions.m - This gives the algebraic Ricatti solutions for the optimal controllers and the Kalman filters for each local T-S model.

Controller.m - This computes the global optimal control for the T-S model, which approximates the nonlinear truck-trailer system.

FuzzyModel.m - This computes the T-S model system matrices and the current membership function values.

Kalman.m - This computes the optimal state estimate of the linear time-varying T-S model.

KalmanTS.m - This runs a monte-carlo simulation of the steady state Kalman filter for the T-S model.

Member.m - This plots the membership grade functions for the T-S model.

ModelLinear.m - This runs one time step of the linear time-varying T-S model.

ModelNonlinear.m - This runs one time step of the nonlinear model.

TruckTrailer.m - This simulates the truck-trailer system, the optimal control, and the state estimate.


Look in the m-files themselves for more information.  In order to run these m-files,  run MATLAB and make sure that the location of the files on your hard drive is part of your MATLAB path. (For example, if you downloaded the files to the c:\kalmanfuzzy directory on your hard drive, type "path(path, 'c:\kalmanfuzzy');" at MATLAB's command prompt.) 

After downloading these files you can set (for example) sigx=[.05 .05 .25] and sigy=[.2 .2 1].  This sets the standard deviation of the process noise (sigx) and the measurement noise (sigy).  Then type "TruckTrailer(sigx,sigy,0,1)" at MATLAB's command prompt.  (The 0 means simulate the steady state Kalman filter, and the 1 means plot the results.)  If you instead type "TruckTrailer(sigx,sigy,1,1)" then you will be simulating the time-varying Kalman filter, which theoretically performs better but requires more computational effort.

You can type "KalmanTS(sigX,sigY,0)" to see monte-carlo performance results for the steady state Kalman filter.  Type "KalmanTS(sigX,sigY,1)" to see monte-carlo performance results for the time-varying optimal Kalman filter.

Feel free to contact me at simon@csvax.csuohio.edu with any comments or questions.

⌨️ 快捷键说明

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