
Transcription
System Identification Toolbox 7User’s GuideLennart Ljung
How to Contact The MathWorksWebNewsgroupwww.mathworks.com/contact TS.html Technical [email protected]@mathworks.comProduct enhancement suggestionsBug reportsDocumentation error reportsOrder status, license renewals, passcodesSales, pricing, and general information508-647-7000 (Phone)508-647-7001 (Fax)The MathWorks, Inc.3 Apple Hill DriveNatick, MA 01760-2098For contact information about worldwide offices, see the MathWorks Web site.System Identification Toolbox User’s Guide COPYRIGHT 1988–2008 by The MathWorks, Inc.The software described in this document is furnished under a license agreement. The software may be usedor copied only under the terms of the license agreement. No part of this manual may be photocopied orreproduced in any form without prior written consent from The MathWorks, Inc.FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentationby, for, or through the federal government of the United States. By accepting delivery of the Programor Documentation, the government hereby agrees that this software or documentation qualifies ascommercial computer software or commercial computer software documentation as such terms are usedor defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms andconditions of this Agreement and only those rights specified in this Agreement, shall pertain to and governthe use, modification, reproduction, release, performance, display, and disclosure of the Program andDocumentation by the federal government (or other entity acquiring for or through the federal government)and shall supersede any conflicting contractual terms or conditions. If this License fails to meet thegovernment’s needs or is inconsistent in any respect with federal procurement law, the government agreesto return the Program and Documentation, unused, to The MathWorks, Inc.TrademarksMATLAB and Simulink are registered trademarks of The MathWorks, Inc. Seewww.mathworks.com/trademarks for a list of additional trademarks. Other product or brandnames may be trademarks or registered trademarks of their respective holders.PatentsThe MathWorks products are protected by one or more U.S. patents. Please seewww.mathworks.com/patents for more information.
Revision HistoryApril 1988July 1991May 1995November 2000April 2001July 2002June 2004March 2005September 2005March 2006September 2006March 2007September 2007March 2008October 2008First printingSecond printingThird printingFourth printingFifth printingOnline onlySixth printingOnline onlySeventh printingOnline onlyOnline onlyOnline onlyOnline onlyOnline onlyOnline onlyRevised for Version 5.0 (Release 12)Revised for Version 5.0.2 (Release 13)Revised for Version 6.0.1 (Release 14)Revised for Version 6.1.1 (Release 14SP2)Revised for Version 6.1.2 (Release 14SP3)Revised for Version 6.1.3 (Release 2006a)Revised for Version 6.2 (Release 2006b)Revised for Version 7.0 (Release 2007a)Revised for Version 7.1 (Release 2007b)Revised for Version 7.2 (Release 2008a)Revised for Version 7.2.1 (Release 2008b)
About the DevelopersAbout the DevelopersSystem Identification Toolbox software is developed in association with thefollowing leading researchers in the system identification field:Lennart Ljung. Professor Lennart Ljung is with the Department ofElectrical Engineering at Linköping University in Sweden. He is a recognizedleader in system identification and has published numerous papers and booksin this area.Qinghua Zhang. Dr. Qinghua Zhang is a researcher at Institut Nationalde Recherche en Informatique et en Automatique (INRIA) and at Institut deRecherche en Informatique et Systèmes Aléatoires (IRISA), both in Rennes,France. He conducts research in the areas of nonlinear system identification,fault diagnosis, and signal processing with applications in the fields of energy,automotive, and biomedical systems.Peter Lindskog. Dr. Peter Lindskog is employed by NIRA DynamicsAB, Sweden. He conducts research in the areas of system identification,signal processing, and automatic control with a focus on vehicle industryapplications.Anatoli Juditsky. Professor Anatoli Juditsky is with the Laboratoire JeanKuntzmann at the Université Joseph Fourier, Grenoble, France. He conductsresearch in the areas of nonparametric statistics, system identification, andstochastic optimization.
About the Developers
ContentsData Processing1Ways to Process Data for System Identification . . . . . . .1-2Importing Data into the MATLAB Workspace . . . . . . . .Types of Data You Can Model . . . . . . . . . . . . . . . . . . . . . . .Support for Data with Uniform and Nonuniform SamplingIntervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Importing Time-Domain Data into MATLAB . . . . . . . . . . .Importing Time-Series Data into MATLAB . . . . . . . . . . . .Importing Frequency-Domain Data into MATLAB . . . . . .Importing Frequency-Response Data into MATLAB . . . . .1-51-5Representing Data in the GUI . . . . . . . . . . . . . . . . . . . . . .Types of Data You Can Import into the GUI . . . . . . . . . . . .Importing Time-Domain Data into the GUI . . . . . . . . . . . .Importing Frequency-Domain Data into the GUI . . . . . . . .Importing Frequency-Response Data into the GUI . . . . . .Importing Data Objects into the GUI . . . . . . . . . . . . . . . . .Specifying the Data Sampling Interval . . . . . . . . . . . . . . . .Specifying Estimation and Validation Data . . . . . . . . . . . .Preprocessing Data Using Quick Start . . . . . . . . . . . . . . . .Creating Data Sets from a Subset of Signal Channels . . . .Creating Multiexperiment Data Sets in the GUI . . . . . . . .Viewing Data Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . .Renaming Data and Changing Display Color . . . . . . . . . . .Distinguishing Data Types in the GUI . . . . . . . . . . . . . . . .Organizing Data Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Deleting Data Sets in the GUI . . . . . . . . . . . . . . . . . . . . . . .Exporting Data from the GUI to the MATLABWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -301-311-331-401-411-431-431-441-45Representing Time- and Frequency-Domain Data Usingiddata Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-47iddata Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-47iddata Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-50vii
viiiContentsCreating Multiexperiment Data at the Command Line . . .Subreferencing iddata Objects . . . . . . . . . . . . . . . . . . . . . . .Modifying Time and Frequency Vectors . . . . . . . . . . . . . . .Naming, Adding, and Removing Data Channels . . . . . . . . .Concatenating iddata Objects . . . . . . . . . . . . . . . . . . . . . . .1-531-551-591-631-65Representing Frequency-Response Data Using idfrdObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .idfrd Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .idfrd Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Subreferencing idfrd Objects . . . . . . . . . . . . . . . . . . . . . . . .Concatenating idfrd Objects . . . . . . . . . . . . . . . . . . . . . . . . .See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-671-671-681-701-711-74Analyzing Data Quality Using Plots . . . . . . . . . . . . . . . . .Supported Data Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Plotting Data in the System Identification Tool GUI . . . . .Plotting Data at the Command Line . . . . . . . . . . . . . . . . . .1-751-751-751-81Getting Advice About Your Data . . . . . . . . . . . . . . . . . . . .1-84Selecting Subsets of Data . . . . . . . . . . . . . . . . . . . . . . . . . . .Why Select Subsets of Data? . . . . . . . . . . . . . . . . . . . . . . . .Selecting Data Using the GUI . . . . . . . . . . . . . . . . . . . . . . .Selecting Data at the Command Line . . . . . . . . . . . . . . . . .1-861-861-871-89Handling Missing Data and Outliers . . . . . . . . . . . . . . . . .Handling Missing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Handling Outliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Example – Extracting and Modeling Specific DataSegments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-901-901-91Subtracting Trends from Signals (Detrending) . . . . . . .What Is Detrending? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .When to Detrend Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . .When Not to Detrend Data . . . . . . . . . . . . . . . . . . . . . . . . . .GUI and Command-Line Alternatives for DetrendingData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Detrend Data Using the GUI . . . . . . . . . . . . . . . . . .How to Detrend Data at the Command Line . . . . . . . . . . . .1-941-941-941-951-921-931-961-961-97
.1-98Resampling Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Is Resampling? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Resampling Data Using the GUI . . . . . . . . . . . . . . . . . . . . .Resampling Data at the Command Line . . . . . . . . . . . . . . .Resampling Data Without Aliasing Effects . . . . . . . . . . . . .See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1001-1001-1011-1011-1031-106Filtering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Supported Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Choosing to Prefilter Your Data . . . . . . . . . . . . . . . . . . . . . .How to Filter Data Using the GUI . . . . . . . . . . . . . . . . . . . .How to Filter Data at the Command Line . . . . . . . . . . . . . .See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1071-1071-1071-1081-1111-114Generating Data Using Simulation . . . . . . . . . . . . . . . . . .Commands for Generating and Simulating Data . . . . . . . .Example – Creating Data with Periodic Inputs . . . . . . . . .Example – Generating Data Using Simulation . . . . . . . . . .Simulating Data Using Other MathWorks Products . . . . .1-1151-1151-1161-1171-118How to Add Detrended Values to the Model OutputTransforming Between Time- and Frequency-DomainData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-119Transforming Data Domain in the GUI . . . . . . . . . . . . . . . . 1-119Transforming Data Domain at the Command Line . . . . . . 1-126Manipulating Complex-Valued Data . . . . . . . . . . . . . . . . . 1-131Supported Operations for Complex Data . . . . . . . . . . . . . . . 1-131Processing Complex iddata Signals at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-131Choosing Your System Identification Strategy2Recommended Model Estimation Sequence . . . . . . . . . .2-2ix
Supported Models for Time- and Frequency-DomainData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Supported Models for Time-Domain Data . . . . . . . . . . . . . .Supported Models for Frequency-Domain Data . . . . . . . . .2-42-42-5Supported Continuous-Time and Discrete-TimeModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7Commands for Model Estimation . . . . . . . . . . . . . . . . . . . .2-9Creating Model Structures at the Command Line . . . . .About System Identification Toolbox Model Objects . . . . . .When to Construct a Model Structure Independently ofEstimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Commands for Constructing Model Structures . . . . . . . . . .Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-112-11Modeling Multiple-Output Systems . . . . . . . . . . . . . . . . . .About Modeling Multiple-Output Systems . . . . . . . . . . . . .Modeling Multiple Outputs Directly . . . . . . . . . . . . . . . . . .Modeling Multiple Outputs as a Combination ofSingle-Output Models . . . . . . . . . . . . . . . . . . . . . . . . . . . .Improving Multiple-Output Estimation Results byWeighing Outputs During Estimation . . . . . . . . . . . . . .2-212-212-222-122-132-142-202-222-23Linear Model Identification3Identifying Frequency-Response Models . . . . . . . . . . . . .What Is a Frequency-Response Model? . . . . . . . . . . . . . . . .Data Supported by Frequency-Response Models . . . . . . . .How to Estimate Frequency-Response Models in theGUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate Frequency-Response Models at theCommand Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Options for Computing Spectral Models . . . . . . . . . . . . . . .Options for Frequency Resolution . . . . . . . . . . . . . . . . . . . .Spectral Analysis Algorithm . . . . . . . . . . . . . . . . . . . . . . . . .xContents3-23-23-33-33-53-53-63-8
.3-11Identifying Impulse-Response Models . . . . . . . . . . . . . . .What Is Time-Domain Correlation Analysis? . . . . . . . . . . .Data Supported by Correlation Analysis . . . . . . . . . . . . . . .How to Estimate Correlation Models Using the GUI . . . . .How to Estimate Correlation Models at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Compute Response Values . . . . . . . . . . . . . . . . . . . .How to Identify Delay Using Transient-Response Plots . . .Algorithm for Correlation Analysis . . . . . . . . . . . . . . . . . . .3-143-143-153-15Understanding Spectrum NormalizationIdentifying Low-Order Transfer Functions (ProcessModels) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Is a Process Model? . . . . . . . . . . . . . . . . . . . . . . . . . . .Data Supported by a Process Model . . . . . . . . . . . . . . . . . . .How to Estimate Process Models Using the GUI . . . . . . . .Estimating Process Models at the Command Line . . . . . . .Options for Specifying the Process-Model Structure . . . . .Options for Multiple-Input Models . . . . . . . . . . . . . . . . . . .Options for the Disturbance Model Structure . . . . . . . . . . .Options for Frequency-Weighing Focus . . . . . . . . . . . . . . . .Options for Initial States . . . . . . . . . . . . . . . . . . . . . . . . . . -383-39Identifying Input-Output Polynomial Models . . . . . . . .What Are Black-Box Polynomial Models? . . . . . . . . . . . . . .Data Supported by Polynomial Models . . . . . . . . . . . . . . . .Preliminary Step – Estimating Model Orders and InputDelays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate Polynomial Models in the GUI . . . . . . . .How to Estimate Polynomial Models at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Options for Multiple-Input and Multiple-Output ARXOrders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Option for Frequency-Weighing Focus . . . . . . . . . . . . . . . . .Options for Initial States . . . . . . . . . . . . . . . . . . . . . . . . . . .Algorithms for Estimating Polynomial Models . . . . . . . . . .Example – Estimating Models Using armax . . . . . . . . . . . .3-413-413-48Identifying State-Space Models . . . . . . . . . . . . . . . . . . . . .What Are State-Space Models? . . . . . . . . . . . . . . . . . . . . . .Data Supported by State-Space Models . . . . . . . . . . . . . . . .3-733-733-773-493-573-603-643-653-663-663-67xi
Supported State-Space Parameterizations . . . . . . . . . . . . .Preliminary Step – Estimating State-Space ModelOrders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate State-Space Models in the GUI . . . . . . . .How to Estimate State-Space Models at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate Free-Parameterization State-SpaceModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate State-Space Models with CanonicalParameterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate State-Space Models with StructuredParameterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate the State-Space Equivalent of ARMAXand OE Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Options for Frequency-Weighing Focus . . . . . . . . . . . . . . . .Options for Initial States . . . . . . . . . . . . . . . . . . . . . . . . . . .Algorithms for Estimating State-Space Models . . . . . . . . .Refining Linear Parametric Models . . . . . . . . . . . . . . . . .When to Refine Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . .What You Specify to Refine a Model . . . . . . . . . . . . . . . . . .How to Refine Linear Parametric Models in the GUI . . . . .How to Refine Linear Parametric Models at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -1033-1033-1033-1043-105Extracting Parameter Values from Linear Models . . . . 3-108Extracting Dynamic Model and Noise ModelSeparately . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-110Transforming Between Discrete-Time andContinuous-Time Representations . . . . . . . . . . . . . . . .Why Transform Between Continuous and DiscreteTime? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using the c2d, d2c, and d2d Commands . . . . . . . . . . . . . . .Specifying Intersample Behavior . . . . . . . . . . . . . . . . . . . . .How d2c Handles Input Delays . . . . . . . . . . . . . . . . . . . . . .Effects on the Noise Model . . . . . . . . . . . . . . . . . . . . . . . . . .3-1123-1123-1123-1143-1143-115Transforming Between Linear ModelRepresentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-117xiiContents
Subreferencing Model Objects . . . . . . . . . . . . . . . . . . . . . .What Is Subreferencing? . . . . . . . . . . . . . . . . . . . . . . . . . . . .Limitation on Supported Models . . . . . . . . . . . . . . . . . . . . .Subreferencing Specific Measured Channels . . . . . . . . . . .Subreferencing Measured and Noise Models . . . . . . . . . . .Treating Noise Channels as Measured Inputs . . . . . . . . . .3-1193-1193-1193-1193-1203-122Concatenating Model Objects . . . . . . . . . . . . . . . . . . . . . . .About Concatenating Models . . . . . . . . . . . . . . . . . . . . . . . .Limitation on Supported Models . . . . . . . . . . . . . . . . . . . . .Horizontal Concatenation of Model Objects . . . . . . . . . . . .Vertical Concatenation of Model Objects . . . . . . . . . . . . . . .Concatenating Noise Spectral Data of idfrd Objects . . . . . .See Also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1243-1243-1243-1253-1253-1263-127Merging Model Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-128Nonlinear Black-Box Model Identification4Supported Data for Estimating Nonlinear Black-BoxModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2Supported Nonlinear Black-Box Models . . . . . . . . . . . . .4-3Identifying Nonlinear ARX Models . . . . . . . . . . . . . . . . . .Supported Data for Nonlinear ARX Models . . . . . . . . . . . .Definition of the Nonlinear ARX Model . . . . . . . . . . . . . . . .Using Regressors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Nonlinearity Estimators for Nonlinear ARX Models . . . . .How to Estimate Nonlinear ARX Models in the GUI . . . . .How to Estimate Nonlinear ARX Models at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-44-44-44-64-94-10Identifying Hammerstein-Wiener Models . . . . . . . . . . . .Supported Data for Estimating Hammerstein-WienerModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Definition of the Hammerstein-Wiener Model . . . . . . . . . .4-154-114-154-15xiii
Nonlinearity Estimators for Hammerstein-WienerModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate Hammerstein-Wiener Models in theGUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate Hammerstein-Wiener Models at theCommand Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Supported Nonlinearity Estimators . . . . . . . . . . . . . . . . .Types of Nonlinearity Estimators . . . . . . . . . . . . . . . . . . . .Creating Custom Nonlinearities . . . . . . . . . . . . . . . . . . . . .4-174-184-204-254-254-26Refining Nonlinear Black-Box Models . . . . . . . . . . . . . . . 4-28How to Refine Nonlinear Black-Box Models in the GUI . . . 4-28How to Refine Nonlinear Black-Box Models at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29Extracting Parameter Values from Nonlinear Black-BoxModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30Nonlinear ARX Parameter Values . . . . . . . . . . . . . . . . . . . . 4-30Hammerstein-Wiener Parameter values . . . . . . . . . . . . . . . 4-31Next Steps After Estimating Nonlinear Black-BoxModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Computing Linear Approximations of NonlinearBlack-Box Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Why Compute a Linearize Approximation of a NonlinearModel? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Choosing Your Linear Approximation Approach . . . . . . . .Linear Approximation of Nonlinear Black-Box Models for aGiven Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Tangent Linearization of Nonlinear Black-Box Models . . .Computing Operating Points for Nonlinear Black-BoxModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xivContents4-324-334-334-334-344-354-35
ODE Parameter Estimation (Grey-BoxModeling)5Supported Grey-Box Models . . . . . . . . . . . . . . . . . . . . . . . .5-2Data Supported by Grey-Box Models . . . . . . . . . . . . . . . .5-3Choosing idgrey or idnlgrey Model Object . . . . . . . . . . .5-4Estimating Linear Grey-Box Models . . . . . . . . . . . . . . . . .Specifying the Linear Grey-Box Model Structure . . . . . . . .Example – Representing a Grey-Box Model in an M-File . .Example – Estimating a Continuous-Time Grey-Box Modelfor Heat Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Example – Estimating a Discrete-Time Grey-Box Modelwith Parameterized Disturbance . . . . . . . . . . . . . . . . . . .5-65-65-75-12Estimating Nonlinear Grey-Box Models . . . . . . . . . . . . . .Supported Nonlinear Grey-Box Models . . . . . . . . . . . . . . . .Nonlinear Grey-Box Demos and Examples . . . . . . . . . . . . .Specifying the Nonlinear Grey-Box Model Structure . . . . .Constructing the idnlgrey Object . . . . . . . . . . . . . . . . . . . . .Using pem to Estimate Nonlinear Grey-Box Models . . . . .Options for the Estimation Algorithm . . . . . . . . . . . . . . . . .5-165-165-165-175-185-195-20After Estimating Grey-Box Models . . . . . . . . . . . . . . . . . .5-235-9Time Series Model Identification6What Are Time-Series Models? . . . . . . . . . . . . . . . . . . . . . .6-2Preparing Time-Series Data . . . . . . . . . . . . . . . . . . . . . . . .6-3Estimating Time-Series Power Spectra . . . . . . . . . . . . . .6-4xv
How to Estimate Time-Series Power Spectra Using theGUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How to Estimate Time-Series Power Spectra at theCommand Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-46-5Estimating AR and ARMA Models . . . . . . . . . . . . . . . . . . .Definition of AR and ARMA Models . . . . . . . . . . . . . . . . . . .Estimating Polynomial Time-Series Models in the GUI . . .Estimating AR and ARMA Models at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-10Estimating State-Space Time-Series Models . . . . . . . . . .Definition of State-Space Time-Series Model . . . . . . . . . . .Estimating State-Space Models at the Command Line . . .6-126-126-12Example – Identifying Time-Series Models at theCommand Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-14Estimating Nonlinear Models for Time-Series Data . . .6-156-76-76-7Recursive Techniques for Model Identification7xviContentsWhat Is Recursive Estimation? . . . . . . . . . . . . . . . . . . . . . .7-2Commands for Recursive Estimation . . . . . . . . . . . . . . . .7-3Algorithms for Recursive Estimation . . . . . . . . . . . . . . . .Types of Recursive Estimation Algorithms . . . . . . . . . . . . .General Form of Recursive Estimation Algorithm . . . . . . .Kalman Filter Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . .Forgetting Factor Algorithm . . . . . . . . . . . . . . . . . . . . . . . .Unnormalized and Normalized Gradient Algorithms . . . . .7-67-67-67-87-107-11Data Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-14
Model Analysis8Overview of Model Validation and Plots . . . . . . . . . . . . .When to Validate Models . . . . . . . . . . . . . . . . . . . . . . . . . . .Ways to Validate Models . . . . . . . . . . . . . . . . . . . . . . . . . . .Data for Validating Models . . . . . . . . . . . . . . . . . . . . . . . . .Supported Model Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Plotting Models in the GUI . . . . . . . . . . . . . . . . . . . . . . . . . .Getting Advice About Models . . . . . . . . . . . . . . . . . . . . . . . .Using Model Output Plots to Validate and CompareModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Supported Model Types . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Does a Model Output Plot Show? . . . . . . . . . . . . . . . .Choosing Simulated or Predicted Output . . . . . . . . . . . . . .How to Plot Model Output Using the GUI . . . . . . . . . . . . . .Displaying the Confidence Interval . . . . . . . . . . . . . . . . . . .How to Plot and Compare Model Output at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using Residual Analysis Plots to Validate Models . . . . .What Is Residual Analysis? . . . . . . . . . . . . . . . . . . . . . . . . .Supported Model Types . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Does the Residuals Plot Show? . . . . . . . . . . . . . . . . .Displaying the Confidence Interval . . . . . . . . . . . . . . . . . . .How to Plot Residuals Using the GUI . . . . . . . . . . . . . . . . .How to Plot Residuals at the Command Line . . . . . . . . . . .Example – Examining Model Residuals . . . . . . . . . . . . . . .Using Impulse- and Step-Response Plots to ValidateModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Supported Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .How Transient Response Helps to Validate Models . . . . . .What Does a Transient Response Plot Show? . . . . . . . . . . .How to Plot Impulse and Step Response Using the GUI . .Displaying the Confidence Interval . . . . . . . . . . . . . . . . . . .How to Plot Impulse and Step Response at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using Frequency-Response Plots to Validate Models . 298-308-32xvii
What Is Frequency Response? . . . . . . . . . . . . . . . . . . . . . . .How Frequency Response Helps to Validate Models . . . . .What Does a Frequency-Response Plot Show? . . . . . . . . . .How to Plot Bode Plots Using the GUI . . . . . . . . . . . . . . . .How to Plot Bode and Nyquist Plots at the CommandLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-328-338-348-35Creating Noise-Spectrum Plots . . . . . . . . . . . . . . . . . . . . .Supported Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Does a Noise Spectrum Plot Show? . . . . . . . . . . . . . .Displaying the Confidence Interval . . . . . . . . . . . . . . . . . . .How to Plot the Noise Spectrum Using the GUI . . . . . . . . .How to Plot the Noise Spectrum at the Command Line . . .8-408-408-408-418-428-45Using Pole-Zero Plots to Validate Models . . . . . . . . . . . .Supported Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Does a Pole-Zero Plot Show? . . . . . . . . . . . . . . . . . . .How to Plot Model Poles and Zeros Using the GUI . . . . . .How to Plot Poles and Zeros at the Command Line . . . . . .Reducing Model Order Using Pole-Zero Plots . . . . . . . . . . .8-478-478-478-488-5
System Identification Toolbox software is developed in association with the following leading researchers in the system identification field: Lennart Ljung. Professor Lennart Ljung is with the Department of Electrical Engineering at Linköping University in Sweden. He is a recognized