System Identification Toolbox™ 7User’s GuideLennart Ljung
Supported Models for Time- and Frequency-DomainData... 2-4Supported Models for Time-Do main Data...
1 Data ProcessingNote You can plot several data sets with the same input and output channelnames. The plot displays data for all channels that have th
Analyzing Data Quality Using PlotsThe top axes show the input and the bottom axes show the output. Thevertical axis of each plot is labeled with the c
1 Data ProcessingWorking with a Frequency Function PlotFor time-domain data, the Frequency function plot shows the empiricaltransfer function estimate
Analyzing Data Quality Using PlotsFrequency Functi on Plo t Optio ns (Continue d )ActionCommandToggle frequency scale betweenlinear and logarithmic.Se
1 Data ProcessingCommands for Plotting Data (Continued)CommandDescriptionExampl effplotFor frequency-responsedata only. Show s themagnitude and phase
Analyzing Data Quality Using PlotsWhen data.intersample = 'zoh', the input is piece-wise constant betweensampling points on the plot. For mo
1 Data ProcessingGetting Advice About Your DataYou can use the advice command to get information about yourtime-domain or frequency-domain data. This
Getting Advice About Your DataThe following example shows how to get information about your data.Consider data from a single-input/single-output syste
1 Data ProcessingSelecting Subsets of DataIn this section...“Why Select Subse ts of Data?” on page 1-86“Selecting Data Using the GUI” on page 1-87“Sel
Selecting Subsets of DataSelecting Data Using the GUI• “Ways to Select Data in the GUI” on page 1-87• “Selecting a Range for Time-Domain Data” on page
Understanding Spectrum Normalization ... 3-11Identifying Imp ulse-Response Models... 3-14What Is Time-Do m ain Correlation Anal
1 Data ProcessingTo extract a subset of time-domain data and save it as a new data set:1 Import time-domain data into the System Identification Tool GU
Selecting Subsets of Data7 To select another range, repeat steps 4 to 6.Selecting a Range of Frequency-Domain DataSelecting a range of values in frequ
1 Data ProcessingHandling Missing Data and OutliersIn this section...“Handling Missing Data” on page 1-90“Handling Outliers” on page 1-91“Example – Ex
Handling Missing Data and OutliersApply the misdata command to the new data object. For example:dat1 = misdata(dat);plot(dat,dat1) % Check how the mis
1 Data ProcessingTip The inputs in each of the data segm ents must be consistently excitingthe system. Splitting data into meaningful segments for ste
Handling Missing Data and Outliers% Plot the data in a MATL AB Figure windowplot(data)% Create multiexperiment data set% by merging data segmentsdatam
1 Data ProcessingSubtracting Trends from Signals (Detrending)In this section...“What Is Detrending?” on page 1-94“When to Detrend Data” on page 1-94“W
Subtracting Trends from Signals (Detrend ing)Forlinearsystemidentification, detrending steady-state data is u sefulbecause arbitrary differences betwee
1 Data ProcessingWhen you are working w ith transient da ta (such as ste p o r impulse response),do not remove the mean from the data. With transient
Subtracting Trends from Signals (Detrend ing)Tip (For linear modeling only) Selec t Preprocess > Quick start to performseveral data cleaning operat
Supported State-Space Parameterizations ... 3-78Preliminary Step – Estimating State-Space ModelOrders...
1 Data ProcessingBefore you can perform this task, you must represent your data as an iddataobject in the M ATLA B workspace, as described in “Represe
Subtracting Trends from Signals (Detrend ing)For example, Ynew = Ysim+y0.1-99
1 Data ProcessingResampling DataIn this section...“WhatIsResampling?”onpage1-100“Resampling D ata Using the GUI” on page 1-101“Resampling Da ta a t th
Resampling DataResampling DataUsing the GUIUse the System Identification Tool GUI to resample time-domain data. Tospecify additional options, such a s
1 Data ProcessingNote resample uses the Signal Processing Toolbox™ command, when thistoolbox is installed on your computer. If this toolbox is not ins
Resampling DataThe data. Int erSample property of the iddata object is taken into accountduring resampling (for example, first-order hold or zero-o rde
1 Data ProcessingThe following example illustrates how resample avoids folding effects:% Construct fourth-order MA-p roce ssm0 = idpoly(1,[ ],[1 1 1 1
Resampling DataFolding Effects with M anual Decimatio n1-105
1 Data ProcessingUse resample to decimate the signal before estimating the spectrum and plotthe frequency response, as follows:g3 = spa(resample(y,1,4
Filtering DataFiltering D ataIn this section...“Supported Filters” on page 1-107“Choosing to Prefilter Your Data” on page 1-107“How to Filter Da ta Usi
Subreferencing Model Objects ... 3-119What Is Subrefer encing?... 3-119Limitation on Supported M odels...
1 Data ProcessingTo get a reliable noise model, avoid prefiltering the data. Instead, settheFocus property of the estimation algorithm to Simulation.Fo
Filtering Data4 If your data contains multiple input/output channels, in the Chan nelmenu, select the channel pair you want to view. Although you view
1 Data ProcessingFiltering Frequency-Domain or Frequency-Response Data inthe GUIFor frequency-domain and frequency-response data, filtering is equ ival
Filtering DataTip If you need to change the frequency units from rad/s to Hz,selectStyle > Frequency (Hz). To change the frequency units fromHz tor
1 Data ProcessingIn this case, w1 an d wh represent the low and high frequencies of the passband,respectively.You can specify several passbands, as fo
Filtering Datafilter = idmfilter = {num,den}filter = {A,B,C,D}idmis a SISO idmodel or LTI object. For more information about LTI objects,see the Contr
1 Data ProcessingWhen you apply idfilt to an idfrd data object, the data is first convertedto a frequency-domainiddata obje ct (see “Transforming Betwe
Generating Data Using SimulationGenerating Data Using SimulationIn this section...“Commands for Generating and Simulating Data” on page 1-115“Example
1 Data ProcessingCommands for Generating and Sim ula ting Data (Continued)CommandDescriptionExampleidinputConstructs a signalwith the desiredcharacter
Generating Data Using Simulation% Construct input data and noiseu = iddata([],u,'Period',10);e = iddata([],randn(1500,1));% Simulate model o
Nonlinearity Estimators for Hammerstein-WienerModels... 4-17How to E stimate Hammerstein-Wiener Models in theGUI.
1 Data Processing4 Simulate the model output.sim(m,u)5 Compare model output to measured data to see how well the m odelscaptures the underlying dynami
Transforming Between Time- and Frequency-Do main DataTransforming Between Time- and Frequency-Dom ain DataIn this section...“Transforming Data Domain
1 Data Processing1 In the System Identification Tool GUI, drag the icon of the data y ou want totransform to the Working Data rectangle, as shown in th
Transforming Between Time- and Frequency-Do main Data2 In the Operations area, select <–P rep roc e ss > Transfo r m data in thedrop-downmenutoo
1 Data Processing3 In the Transform to drop-down list, select one of the following:•Frequency Fu ncti on —Createanewidfrd object using the s pafd rmet
Transforming Between Time- and Frequency-Do main DataTransforming Frequency-Domain DataIn the System Identification To ol GUI, frequency -domain data h
1 Data ProcessingTransforming Frequency-Response DataIn the System Identification Tool G UI, frequency-response data has an iconwith a yellow backgroun
Transforming Between Time- and Frequency-Do main Datafrequencies, and also make the frequency vector coarser in the region outsidethe system dynamics.
1 Data ProcessingSee AlsoFor a description of time-domain, frequency-domain, and frequency-respons edata, see “Importing Data into the MATLAB Workspac
Transforming Between Time- and Frequency-Do main DataOriginal DataFormatTo Time Domain(iddata object)To FrequencyDomain(iddata object)To FrequencyFunc
ODE Parameter Estimation (Grey-BoxModeling)5Supported Grey-Box Models ... 5-2Data Supported by Grey-Box Models... 5-
1 Data ProcessingCommandDescriptionSyntax ExamplefftTransforms time-domaindata to the frequencydomain.You can specifyN,thenumber of frequencyvalues.To
Transforming Between Time- and Frequency-Do main Datahigh-frequency noise dominates away from frequencies where interestingsystem dynamics occur.Note
1 Data ProcessingIf you a re working with multiple inputs, you also have the option ofstoring the contribution by each input as an independent experim
Manipulating C o mplex-Valued DataManipulating Complex-Valued DataIn this section...“Supported Operations for Complex D ata” on page 1-131“Processing
1 Data ProcessingCommandDescriptioncomplex(data)For time-domain data, this command makes the iddataobject complex—even when the imaginary parts arezer
2Choosing Your SystemIdentification Strategy• “Recommended Model Estimation Sequence” on page 2-2• “Supported Models for Time- and Frequency-Domain Dat
2 Choosing Your System Identification StrategyRecommended Model Estimation SequenceSystem identificatio n is an iterat iv e process, wh ere you identif
Recommended Model Estimation SequenceIn the System Iden tification Tool GUI.SelecttoestimatetheBJandARMAX linear parametric models.At the command line.
2 Choosing Your System Identification StrategySupported Models for Time- and Frequency-Domain DataIn this section...“Supported Models for Time-D o m a
Supported Models for Time- and Frequency-Domain DataNonlinear ModelsYou can estimate discrete-time H amm erstein-Wiener and nonlinear ARXmodels from t
How to Estimate Time-Series Power Spectra Using theGUI... 6-4How to Estim ate Time-Series Power Spectra at theC
2 Choosing Your System Identification Strategydata, you can estimate continuous-tim e black-box models with canonicalparameterization. See “Identify i
Supported Continuous-Time and Disc rete-Time ModelsSupported Continuous-Time and Discrete-Time ModelsFor linear and nonlinear ODEs (grey -box models),
2 Choosing Your System Identification StrategySupported Discrete-Time ModelsModel TypeDescriptionLinear, input-output polynomialmodelsEstimate arbitra
Commands for Model EstimationCommands for Model EstimationThe quickest way to both construct a model object and estimate the modelparameters is to use
2 Choosing Your System Identification StrategyCommands for Constructing and Estimating Models (Continued)Model Type Estimation CommandsLinear time-ser
Creating Model Structures at the Command LineCreating Model Structures at the Command LineIn this section...“About System Identification Toolbox Model
2 Choosing Your System Identification Strategymodel object. For example, the estimation method n4sid is unique to thestate-space model objectidss.Ever
Creating Model Structures at the Command LineCommands for Constructing Model S tructuresThe following table summarizes the model constructors availabl
2 Choosing Your System Identification StrategySummary of Model Constructors (Continued)Model Constructo r Resulting Model Class SingleorMultipleOutput
Creating Model Structures at the Command LineCategories of Model PropertiesThe way a model object stores information is defined by the properties of th
Model Analysis8Overview of Model Validation and Plots ... 8-2When to Validate Models... 8-2Ways to Validate Models..
2 Choosing Your System Identification Strategy- EstimationIn foStructure includes read-only fields that de scrib e the estimation data set,quantitative
Creating Model Structures at the Command LineFor linear models, you can use a shortcut to specify the second-levelAlgorithm properties, such as Advanc
2 Choosing Your System Identification Strategyans =1.0000 -0.8441 -0.1539 0.2278 0.1239Similarly, to access the uncertainties in these param eter esti
Creating Model Structures at the Command LineGetting Help on Model Proper ties at the Command LineIf you n eed to learn more about model properties wh
2 Choosing Your System Identification StrategyHelp Com m ands for Model Propertie s (Co ntinu e d)Model Class Help Commandsidnlarx idprops idnlar xidp
Modeling Multiple-Output SystemsModeling Multiple-Output SystemsIn this section...“About Modeling Mu ltiple-Output Systems” on page 2-21“Modeling Mult
2 Choosing Your System Identification StrategyModeling Multiple Outputs DirectlyYou can estimatethe following types of models for multiple-output data
Modeling Multiple-Output SystemsAfter validating the single-output models, use vertical concatenation tocombine these partial models into a single mul
2 Choosing Your System Identification Strategythe Algorithm fields for nonlinear estimation, see the idnlarx and idnlhwreference pages.Note For m ultip
3Linear Model Identification• “Identifying Frequency-Response Models” o n page 3-2• “Identifying Impulse-Response Models” on page 3 -14• “Identifying L
What Is Frequency Response? ... 8-32How Frequency Response H elps to Validate Models... 8-33What Does a F requency-Response Plot
3 Linear Model IdentificationIdentifying Frequency-Response ModelsIn this section...“What Is a Frequency-Response M odel?” on page 3-2“Data Supported
Identifying F requency-Response ModelsData Suppor ted by Frequency-Response ModelsYou can estimatespectral analysis models from data with the followin
3 Linear Model IdentificationNote For etfe,onlytheLinear option is available.– In the Frequencies field, enter the number of frequency points.For time-
Identifying F requency-Response ModelsHow to Estimate Frequency-Response Models a t theCommand LineYou can use the etfe, spa,andspafdr commands to est
3 Linear Model IdentificationYou can choose from the following three spectral-analysis methods:•etfe (Empirical Transfer Function Estimate)For input-o
Identifying F requency-Response ModelsThis section supports the estimation procedures “How to Estim ateFrequency-Response Models in the GUI” on page 3
3 Linear Model Identificationyou increase the resolution in a specific frequency range, such as near aresonance frequency. Conversely, you can m ake th
Identifying F requency-Response Modelsyt Gqut vt() ( ) () ()=+where u(t) and y(t) are the input and output signals, respectively. G(q) iscalled the tr
3 Linear Model IdentificationˆˆˆˆΦΦΦΦvyyuuωωωω()=()−()()2This equation for the noise spectrum is derived by assum ing the linearrelationshipyt Gqut vt
Identifying F requency-Response Models2 Compute the Fourier transforms of the covariances a nd thecross-covariance, as follows:ˆ()ˆ() ()ˆ()ˆ() ()ΦΦyyM
Computing Model Uncertainty ... 8-64Why Analyze Model Uncertainty?... 8-64What Is Model Covarianc e?...
3 Linear Model Identificationwhere WM(k) is the lag window, and M is the width of the lag window. Theoutput covariance Ry(kT) is given by the followin
Identifying F requency-Response Models% energy spectrum, where S1 is scaled by TS1 = sum(phiy)/length(phiy)/T% Compute average energy of the signalS2
3 Linear Model IdentificationIdentifying Impulse-Response ModelsIn this section...“What Is Time -D om a i n Correlation Analysis?” on page 3-14“Data S
Identifying Impulse-Response ModelsTheresponsetoaninputu(t) is equal to the convolution of the impulseresponse, as follows:yt h t z uzdzt() ( )=−()⋅∫0
3 Linear Model IdentificationThe prewhitening filter is determined by modeling the input as anAuto-R egre ssive (AR) process of order N.Thealgorithmapp
Identifying Impulse-Response ModelsThe following tables summarize the commands for computing impulse- andstep-response models. The resulting models ar
3 Linear Model IdentificationHow to Compute Response ValuesYou can use impulseand step commands with output arguments to getthe num erical impulse- an
Identifying Impulse-Response ModelsStep Respo nse PlotAt the command line. You can use the impulse command to plot theimpulseresponse. Thetimedelayise
3 Linear Model IdentificationAlgorithm for Correlation AnalysisTo better understand the algorithm underlying correlation analysis, considerthe followi
Identifying Impulse-Response Modelsq is the shift operator,defined by t he followin g equation:Gq gkq q ut utkk() () () ( )==−−=∞−∑111 For impulse
How to Contact The MathWorkswww.mathworks.comWebcomp.soft-sys.matlab Newsgroupwww.mathworks.com/contact_TS.html Technical [email protected]
Using Identified Models in Control Design10Using Models with Control System Toolbox Software .. 10-2How Control System Toolbo x Software Works withIden
3 Linear Model IdentificationIdentifying Low-Order Transfer Functions (Process Models)In this section...“What Is a Process Model?” on page 3-22“Data S
Identifying Low-Order Transfer Functions (Process M odels)You can create different model structures by varying the number of poles,adding an integrato
3 Linear Model IdentificationTo estimate a low-order transfer function (process model) using t he SystemIdentification Tool GUI:1 In the System Identifi
Identifying Low-Order Transfer Functions (Process M odels)• Under Poles, select the number of poles, and then select All real orUnderdamped.Note You n
3 Linear Model IdentificationParameter table displays Auto . If you do not have a good guess for theparameter values,Auto works better than entering a
Identifying Low-Order Transfer Functions (Process M odels)6 In the Distu rbance Model list, select one of the available options. Formore information a
3 Linear Model IdentificationTo omit estimating uncertainty, select None. Skipping uncertaintycomputation might reduce computation tim e for complex m
Identifying Low-Order Transfer Functions (Process M odels)You can export the model to the MATLAB w orkspace for further analysisby dragging it to the
3 Linear Model IdentificationNote You can specify all property-value pairs in pem as a simple,comma-separated list w ithout worrying about the hierarc
Identifying Low-Order Transfer Functions (Process M odels)Usethefollowingcommandstoestimateamodelm from sample data:% Load sample dataload co2data% Sa
Using the System Identification Tool GUI12Steps for Using the System Identification Tool GUI ... 12-2Starting and Managing GUI Sessions...
3 Linear Model IdentificationExample – Estimating Process Models with Fixed Parametersat the Command LineWhen you know the values of certain parameter
Identifying Low-Order Transfer Functions (Process M odels)• status field specifies whether to estimate the parameter, or keep the initialvalue fixed (do
3 Linear Model IdentificationMATLAB computes the following result:Process model with 2 inputs:y = G_1(s)u_1 + G_2(s)u_2whereKG_1(s) = ---------- * exp
Identifying Low-Order Transfer Functions (Process M odels)If you prefer to specify parameter constraints directly in the estimator syntax,thefollowing
3 Linear Model IdentificationTypically, you specify the model-structure acronym as a string argument inthe estimation c ommandpem:•pem(data,'P1D&
Identifying Low-Order Transfer Functions (Process M odels)estimatio n settin gs for one in put, select a differe nt input in the InputNumber list.If y
3 Linear Model Identification• None — The algorithm does not e stimate a noise model (C=D=1). Thisoption also sets Focus toSimulation.•Order 1 — E sti
Identifying Low-Order Transfer Functions (Process M odels)• Stabilit y — Behaves the same way as the Prediction option, but alsoforcesthemodeltobestab
3 Linear Model IdentificationAt the command line. Specify the initial states as an argument in theestimation commandpem using the same options as in t
Identifying Input-Output Polynomial ModelsIdentifying Input-Output Polynomial M odelsIn this section...“What Are Black-Box Polynomial Models?” on page
Indexxxii Contents
3 Linear Model IdentificationPolynomial Model StructureYou can estimate the following types of linear p olynomial model structures:AqytBqFqut nkCqDqet
Identifying Input-Output Polynomial ModelsUnderstanding the Time-Shift Operator qThe general polynomial equation is written in terms of the time-shift
3 Linear Model Identificationinformation about the time-shift operator, see “Understanding the Time-ShiftOperator q” on page 3-43.The following table
Identifying Input-Output Polynomial ModelsModelStructureDiscrete-Time FormNoise ModelBox-Jenkins(BJ)ytBqFqut nkCqDqetiiiiinu()()()()()()=−()+=∑1Provid
3 Linear Model IdentificationDefinition of a Continuous-Time Polynomial ModelIn continuous time, the general frequency-domain equation is written in t
Identifying Input-Output Polynomial ModelsFor a system with nu inp uts and ny outputs, A(q)isanny-by- ny matrix. A(q)can be represented as a polynomia
3 Linear Model IdentificationB(q) can also be represented as a matrix:Bqbq bq b qbq bq b qbqbnununy n()() () ()() () ()()=11 12 121 22 21………………yynynuq
Identifying Input-Output Polynomial Models• Single-output and multiple-output.You m us t import your data into the MA TLAB workspace , as described in
3 Linear Model Identification• “Estimating Model Orders at the Command Line” on p ag e 3 -5 3• “Estim ating Dela ys at the Command Line” on page 3-55•
Identifying Input-Output Polynomial Models1 In the System Identification Tool GUI, select Estimate > Linearparametric models to open the Linear Para
1Data Processing• “Ways to Process Data for System Identification” on page 1-2• “Importing Data into the MATLA B W orkspace” on page 1-5• “Representing
3 Linear Model Identification3 Click E stimate to open the ARX Model S tructu re Selection window, whichdisplays the model performance for each combin
Identifying Input-Output Polynomial ModelsEstimating Model Orders at the Command LineYou can estimate model orders using the struc, arxstruc,andsels t
3 Linear Model IdentificationFor example, the following command uses the range of specified orders NNto compute the loss function for single-input/sing
Identifying Input-Output Polynomial ModelsAfter estimating model orders and d elay s, use these values as initial guessesfor estimating other model st
3 Linear Model IdentificationThe h oriz ontal axis in the ARX Model Structure Sele ction window is the totalnumber o f ARX parameters :Number of param
Identifying Input-Output Polynomial Models• Blue minimizes Akaike AIC criterion.In the AR X M odel Structure Selection window, click any bar to view t
3 Linear Model Identification2 In the Structure list, select the polynomial model structure you w ant toestimate from the following options:•ARX:[na n
Identifying Input-Output Polynomial Models5 In the Name field,editthenameofthemodelorkeepthedefault. Thename of the model should be unique in the Model
3 Linear Model Identification11 (Prediction-error method only) To stop the search and save the resultsafter the current iteration has been completed,
Identifying Input-Output Polynomial Modelsm = arx(data,[na nb nk],'Property1',Value1,...,'PropertyN',ValueN)% Using IV methodm = i
1 Data ProcessingWays to Process Data for System IdentificationThe following tasks help to prepare your data for identifying m odels from data:Import
3 Linear Model Identificationmethod gives the maximum likelihood estimate. that minimizes the predictionerrors to obtain maximum-likelihood values. Th
Identifying Input-Output Polynomial ModelsYou can also model the ARARMAX structure—called the extended matrixmodel—by settingnf=0.The property-value p
3 Linear Model IdentificationFor detailed information about pem and idpoly, see the correspondingreference page.Options for Multiple-Input and Multipl
Identifying Input-Output Polynomial ModelsOption for Frequency-Weighing FocusYou can specify how the estimation algorithm weighs the fitatvariousfreque
3 Linear Model IdentificationOptions for Initial StatesWhen you use the iterative estimation algorithm PEM to estimate ARMAX,Box-Jenkins (BJ), Output-
Identifying Input-Output Polynomial ModelsThe A RX and IV algorithms treat noise d ifferently. ARX assumes white noise.However, the instrumental varia
3 Linear Model IdentificationTypically you try different model orders and compare results, ultimatelychoosing the sim plest model that best describes
Identifying Input-Output Polynomial Models3 To view information about the resulting model object, type the following atthe prompt:m_armaxMATLAB return
3 Linear Model Identification4 To view all property values for this mode l, type the f ollo wing command:get(m_armaxans =a: [1 -1.2549 0.2551 0.2948 -
Identifying Input-Output Polynomial Models5 The Algorithm and EstimationIn fo model properties are structures. Toview th e propertie s and values insi
Ways to Process Data for System IdentificationPlot and analyze dataYou can analyze your d ata by doing either of the following:• Plotting data to exam
3 Linear Model IdentificationSimilarly, to view the properties and values of the EstimationInfostructure, type the following command:m_armax.Estimatio
Identifying State-Space ModelsIdentifying State-Space ModelsIn this section...“What Are State-Space M odels?” on page 3-73“Data Supported by State-Spa
3 Linear Model IdentificationDefinition of State-Space M odelsState-space models are models that use state variables to describe a system byasetoffirst
Identifying State-Space ModelsDiscrete-Time RepresentationDiscrete-time state-space models provide the same type of linear differencerelationship betw
3 Linear Model IdentificationThe exact relations hip between K andKis com plicated. However, for shortsampling intervals T, the following approximati
Identifying State-Space ModelsData Supported by State-Space Models• “Types of Supported Data” on page 3-77• “Estimating Continuous-Time Models” on pag
3 Linear Model IdentificationTip Continuous state-space models are available for canonical andstructured parameterizations and grey-box models. In thi
Identifying State-Space ModelsYou can only es timate free state-space models in discrete time.Continuous state-space models are available for canonica
3 Linear Model IdentificationTo estimate model orders for a specific input delay:1 In the System Identification Tool GUI, select Estimate > Linearpar
Identifying State-Space Models5 Click Estimate to open the Model Order Selection window, whichdisplays the relative measure of how much each state con
1 Data ProcessingTo learn more about selecting data, see “ S electing Subsets of Data” on page1-86.Combine data from multiple experimentsYou can combi
3 Linear Model IdentificationAfter estimating model orders, use this valueasaninitialguessforestimatingother state-space models, as described in “How
Identifying State-Space ModelsUsing the Model Order Selection WindowYou can generate the Model Order Selection window for your data to selectthe numbe
3 Linear Model Identificationsmallest contribution. Based on this plot, select the rectangle that representsthe cutoff for the states on the left that
Identifying State-Space Models1 In the System Identification Tool GUI, select Estimate > Linearparametric models to open the Linear Parametric Model
3 Linear Model Identification7 (PEM only) In the Initial state list, specify how you want the algorithm totreat initial states. For m o re info rm ati
Identifying State-Space Modelsvalidatin g your mod e l, see “Overvi ew of Model Valida t ion and Plots ” onpage 8-2.Tip You can export the model to th
3 Linear Model Identification'Property1',Value1,...,'PropertyN',ValueN)where data is the estimation data, n is the model order, an
Identifying State-Space Models- “How to Estimate State-Space Models with Structured Parameterization”on page 3-93•Focus —Specifies the frequency-w eigh
3 Linear Model IdentificationFor frequency-domain data, no noise model is estimated and K is set to 0. Fortime-domain data, K is estimated by default.
Identifying State-Space Modelsroutines. Because the parameterization of A, B,andC is free, a basis forthe state-spa ce rea liz ation i s automatically
Importing Data into the MATLAB®WorkspaceImpor ting Data into the MATLAB Wo rkspaceIn this section...“Types of Data You Can Model” on page 1-5“Support
3 Linear Model Identificationmatrices A, B, C,andD, and the remaining matrix elements are fixed tozeros and ones.Of the two popular canonical forms, wh
Identifying State-Space ModelsYou can specify additional property-value pairs similar to thefree-parameterization case, as described in “How to Estima
3 Linear Model IdentificationThis approach differs from estimating models with free and canonicalparameterizations, where it is not necessary to speci
Identifying State-Space ModelsSpecify the structure matrix values, as follows:• Set aNaN value to flag free parameters at the corresponding locations i
3 Linear Model IdentificationAre Grey-Box Models Similar to State-Space Models withStructured Parameterization?Structured parameterization state-space
Identifying State-Space ModelsC = [1,0];D=0;K = [4;5];2 Construct the state-space m odel object:m = idss(A,B,C,D,K);3 Specify the parameter values in
3 Linear Model IdentificationThis equation represents an electrical motor, whereyt xt11() ()=is theangular position of the motor shaft, andyt xt22() (
Identifying State-Space ModelsK = zeros(2,2);x0 = [0;0];2 Construct the continuous-time state-space model object:m = idss(A,B,C,D,K,x0,'Ts',
3 Linear Model IdentificationHow to Estimate the State-Space Equivalent ofARMAX and OE ModelsYou can estimate the equivalent of ARMA X and output-erro
Identifying State-Space ModelsAt the command line. Specifythefocusasanargumentinthemodel-estimation command using the same options as in the GUI. Fore
1 Data ProcessingNote If your data is complex valued, see “Manipulating Complex-ValuedData” on page 1-131 for information about supported operations f
3 Linear Model Identificationthe n4sid reference page), and then try to refine the initial estimate using theiterative prediction-error method PEM (see
Refining Linear Parametric ModelsRefining Linear Parametric ModelsIn this section...“When to Refine Models” on page 3-103“What You Specify to Refine a M
3 Linear Model IdentificationHow to Refine Linear Parametric Models in the GUIThe following procedure assumes that the model you want to refine is alre
Refining Linear Parametric Models7 Validate the new model, as described in Chapter 8, “Model Analysis”.Tip To continue refining the model using additio
3 Linear Model IdentificationExample – Refining an Initial ARMAX Model at the CommandLineThe following example shows to estimate an initial m odel and
Refining Linear Parametric ModelsExample – Refining an ARMAX Model with Initial ParameterGuesses at the Command LineThe following example shows how to
3 Linear Model IdentificationExtracting Parameter Values from Linear ModelsYou can extract the numerical param eter values a nd uncertainties of model
Extracting P ar ameter Values from Linear ModelsCommands for Extracting N umerical Model Data (Continued)CommandDescriptionSyntaxfreqrespExtractsfrequ
3 Linear Model IdentificationExtracting Dynamic Model and Noise Model SeparatelyYou can extract the numerical data associated with a dynamic model and
Extracting Dynamic Model and Noise Model Separa telySyntax for Extracting Transfer-Function Data (Continued)CommandSyntaxfcn(noisecnv(m,'Norm&apo
Importing Data into the MATLAB®WorkspaceFor a data set with Nyoutputs and NTsamples (measurements), the outputis an NT-by-Nymatrix.• Sampling time int
3 Linear Model IdentificationTransforming Between Discrete-Time and Continuous-TimeRepresentationsIn this section...“Why Transform Between Continuous
Transforming Between D iscrete-Time and Continuous-Time RepresentationsNote c2d and d2d correctly approximate the transformation of the noisemodel whe
3 Linear Model IdentificationThe follow ing commands compare e stimated model m and its continuous-timecounterpartmc on a Bode plot:% Estimate discret
Transforming Between D iscrete-Time and Continuous-Time RepresentationsA delay in the discrete-time model that corresponds to an actual delay in theco
3 Linear Model Identificationunderlying continuous-time model being subject to continuous-time whitenoise disturbances, which have infinite, instantane
Transforming Between Linear Model RepresentationsTransforming Between Linear Model RepresentationsYou can transfo rm linear models between state-space
3 Linear Model IdentificationCommands for Transforming Model Representations (Continued)Command Model Type to Convert Usage ExampleidpolyConverts sing
Subreferencing Model ObjectsSubreferencing Model ObjectsIn this section...“What Is S ubreferencing?” on page 3-119“Limitation on Supported Models” on
3 Linear Model IdentificationTo select all output or all input channels, use a colon (:). To select nochannels, specify an empty m atrix ([]). If you
Subreferencing Model ObjectsThus, linear, pa ram etric models represent input-output relationships for twokinds of input channels: measured inputs and
Revision HistoryApril 1988 First printingJuly 1991 Second printingMay 1995 Third printingNovember 2000 Fourth printing Revised for Version 5.0 (Releas
1 Data Processing- If you are working w ith uniformly sampled data, use the actualsampling interval in your experiment. Each data value is assigned as
3 Linear Model IdentificationTo create a new model by subreferencing H due to unmeasured inputs, usethe following syntax:m_H = m('noise')Tip
Subreferencing Model ObjectsConverting noise channels to measured inp uts loses inform ati on abou tthe variance of the innovationse. Fo r example, st
3 Linear Model IdentificationConcatenating Model ObjectsIn this section...“About Concatenating Models” on page 3-124“Limitation on Supported Models” o
Concatenating Model ObjectsHorizontal Concatenation of Model ObjectsHorizontal concatenation of model objects requires that they have the sameoutputs.
3 Linear Model IdentificationNote You cannot concatenate the single-output idproc and idpo ly modelobjects.The following syntax creates a ne w model o
Concatenating Model ObjectsWhen the Spect ralD ata property of individual idfrd objectsisnotempty,horizontal and vertical concatenation handleSpectral
3 Linear Model IdentificationMerging Model ObjectsYou can merge models of the same structure to obtain a s ingle model withparameters that are statist
4Nonlinear Black-Box ModelIdentification• “Supported D ata for Estimating Nonlinear Black-Box M odels” on page 4-2• “Supported Nonlinear Black-Box Mode
4 Nonlinear Black-Box Model IdentificationSupported Data for Estimating Nonlinear Black-BoxModelsYou can estimate discrete-time black-box m odels for
Supported Nonlinear Black-Box ModelsSupported N onlinear Black-Box M odelsYou can estimate the following types of nonlinear black-box models:• No nl i
Importing Data into the MATLAB®WorkspaceIn the context of numerical computations, continuous equations are replacedby their discretized equivalents to
4 Nonlinear Black-Box Model IdentificationIdentifying Nonlinear ARX ModelsIn this section...“Supported Data for Nonlinear AR X M o dels” on pag e 4-4“
Identifying Nonlinear ARX ModelsThe predicted outputˆ()ytof a n onlinear mode l at time t is given by thefollowing general equation:ˆ() ( ())yt F xt=w
4 Nonlinear Black-Box Model IdentificationFor more information abo ut re gress ors, see “Using Regre ssors ” on page 4-6.For a list of nonlinearity es
Identifying Nonlinear ARX ModelsExample – Relationship Between Regressors, Model Orders,and DelaysThis example describes how the model orders and dela
4 Nonlinear Black-Box Model IdentificationUsing Custom RegressorsIn general, custom regressors are nonlinear functions of d elay ed input andoutput da
Identifying Nonlinear ARX ModelsNonlinearity Estimators for Nonlinear ARX ModelsNonlinear ARX models support the follow in g n on l in earity estimato
4 Nonlinear Black-Box Model IdentificationHow to Estimate Nonlinear ARX Models in the GUIYou must have already imported your data into the System Iden
Identifying Nonlinear ARX Models• In the Regressors tab, change the input delay of the input signals.To gain insight into possible input delay values,
4 Nonlinear Black-Box Model IdentificationGeneral nlarx SyntaxYou can estimate nonlinear ARX models using nlarx. The resulting modelsare stored asidnl
Identifying Nonlinear ARX ModelsFor detailed information about the nlarx and idnlarx properties and values,see the corresponding reference page.For mo
1 Data Processing• Output data- For single-in p ut/single-output (SI S O ) data, the output mus t be a columnvector.- For a data set with Nyoutputs a
4 Nonlinear Black-Box Model IdentificationCompare the resulting models by plotting the model outputs on top of themeasured output:compare(zv, m1 ,m2,
Identifying Hammerstein-Wiener ModelsIdentifying Hammerstein-Wiener ModelsIn this section...“Supported Data for Estimating Hammerstein-Wiener Models”
4 Nonlinear Black-Box Model IdentificationThe input signal passes through the first nonlinear block, a linear block,and a second nonlinear block to pro
Identifying Hammerstein-Wiener ModelsIf only the input nonlinearity is present, the m odel is called a Hammersteinmodel. If only th e outpu t non li n
4 Nonlinear Black-Box Model IdentificationIn the System Identification Tool GUI. Exclude a nonlinearity for aspecific channel by s e lectingNone.At the
Identifying Hammerstein-Wiener Models4 (Optional) If you want to try refining a previously estimated model, selectthenameofthismodelintheInitial model
4 Nonlinear Black-Box Model Identification7 To plot the response of this m odel, select the appropriate check box inthe Model V iews area of the Sy st
Identifying Hammerstein-Wiener Modelsinformation about model orders, see “Definition of the Hammerstein-WienerModel” on page 4-15.InputNonlinearity spe
4 Nonlinear Black-Box Model IdentificationYou can specify different nonlinearity estimators for different output channelsby settingInputNonlinearity o
Identifying Hammerstein-Wiener ModelsExample – Using nlhw to Estimate Hammerstein-WienerModelsThis example uses nlhw to estimate a Hammerstein-Wiener
Importing Data into the MATLAB®WorkspaceFor a continuous-time system, the transfer function relates the Laplacetransforms of the input U(s) and output
4 Nonlinear Black-Box Model IdentificationMATLAB software responds w ith the following plot.4-24
Supported Nonlinearity Estima torsSupported Nonlinearity EstimatorsIn this section...“Types of No nline arity Estimat ors” on pag e 4-25“Creating Cust
4 Nonlinear Black-Box Model IdentificationNonlinearity Object Name Supported Model Type Supports MultipleInputs?Tree PartitiontreepartitionNonlinear A
Supported Nonlinearity Estima tors%g:df/dx% a: unit active range (g(x) is significantl y% nonzero in the interval [-a a])%% The unit function must be
4 Nonlinear Black-Box Model IdentificationRefining Nonlinear Black-Box ModelsIn this section...“How to Refine Nonlinear Black-Box Models in the GUI” on
Refining Nonlinear Black-Box Models4 Click E stimate to refine the model.5 Validate the new model, as described in Chapter 8, “Model Analysis”.Tip To c
4 Nonlinear Black-Box Model IdentificationExtracting Parameter Values from Nonlinear Black-BoxModelsIn this section...“Nonlinear ARX Parameter V alu e
Extracting P ara meter Values from Nonlinear Black-Box Mod elsHammerstein-Wiener Parameter valuesYou can extract the numerical parameter values of a H
4 Nonlinear Black-Box Model IdentificationNext Steps After Estimating Nonlinear Black-Box ModelsAfter estimating nonlinear black-box models, you can p
Computing Linear Approximations of Nonlinear Black-Box ModelsComputing Linear Approximations of Nonlinear Black-BoxModelsIn this section...“Why Comput
1 Data ProcessingYou must import your frequency-response data into the MATLAB workspaceas the following variables:• In System Identification Tool GUI o
4 Nonlinear Black-Box Model Identificationstate values. For m ore information, see “Tangent Linearization of NonlinearBlack-Box Models” on page 4-35.L
Computing Linear Approximations of Nonlinear Black-Box ModelsTangent Linearization of Nonlinear Black-Box Modelslinearize computes a first-order Taylor
4 Nonlinear Black-Box Model Identification• “Computing Operating P oints at a Simulation Snapshot” on page 4-36Computing Operating Point from Steady-S
Computing Linear Approximations of Nonlinear Black-Box Modelscan compute them using the findstate s command. For more information,see thefindstates(id
4 Nonlinear Black-Box Model Identification4-38
5ODE Parameter Estimation(Grey-Box Modeling)• “Supported Grey-Box Models” on page 5-2• “Data Supported by Grey-Box Models” on p age 5-3• “Choosing idg
5 ODE P ara meter Estimation (Grey-Box Modeling)Supported Grey-Box ModelsIf you understand the physics of your system and can represent the systemusin
Data Supported by Grey-Box ModelsData Supported by Grey-Box M odelsYou can estimate both continuous-time or discrete-time grey-box models fordata with
5 ODE P ara meter Estimation (Grey-Box Modeling)Choosing idgrey or idnlgrey Model ObjectGrey-box m odels require that you specify the structure of the
Choosing idgrey or idnlgrey Model ObjectComparison of idgrey and idnlgrey Objects (Continued)Settings andOperationsSupported byidgrey?Supported byidnl
Representing Data in the GUIRepresenting Data in the GUIIn this section...“Types of D ata You Can Import into the GUI” on page 1-13“Importing Time-Dom
5 ODE P ara meter Estimation (Grey-Box Modeling)Estimating Linear Grey-Box ModelsIn this section...“Specifying the Linear Grey-Box Model Structure” on
Estimating Linear Grey- Box ModelsThe first step in grey-box modeling is to write an M-file that returnsstate-space matrices as a function of user-de fin
5 ODE P ara meter Estimation (Grey-Box Modeling)This equation represents an electrical motor, whereyt xt11() ()=is theangular position of the motor sh
Estimating Linear Grey- Box Models2 Use the following syntax to define an idgrey model o bject based on themyfunc M-file:m = idgrey('myfunc',p
5 ODE P ara meter Estimation (Grey-Box Modeling)Under ideal conditions, this system is d escribed by the heat-diffusionequation—which is a partial dif
Estimating Linear Grey- Box ModelsThe following M-file describes the state-space equation for this model. Inthis case, the auxiliary v ariables specify
5 ODE P ara meter Estimation (Grey-Box Modeling)Use the following syntax to define an idgrey model object based on the heatdM-file:m = idgrey('heat
Estimating Linear Grey- Box ModelsDescription of the SISO SystemThis example is based on a discrete, singl e- input and single -output (SI SO)system r
5 ODE P ara meter Estimation (Grey-Box Modeling)1 Create the M-file mynoise that computes the state-space matrices as afunction of the five unknown para
Estimating Linear Grey- Box ModelsModel = pem(data,Minit)5-15
1 Data ProcessingTo open the GUI, type the following command in the MATLAB CommandWindow:identIn the Import data list, select the type of data to impo
5 ODE P ara meter Estimation (Grey-Box Modeling)Estimating Nonlinear Grey-Box ModelsIn this section...“Supported Nonlinear Grey-Box Models” on page 5-
Estimating Nonlinear G rey-Box ModelsSpecifying the Nonlinear Grey-Box Model StructureYou must represent your system as a set of first-order nonlinear
5 ODE P ara meter Estimation (Grey-Box Modeling)• y — Represents the right side(s) of the o utput equation(s). A column vectorwith Ny entries.The fi le
Estimating Nonlinear G rey-Box Models• Order — Vector with three entries [Ny Nu Nx], specifying the number ofmodel outputsNy, the number of inputs Nu,
5 ODE P ara meter Estimation (Grey-Box Modeling)Options for the Estimation AlgorithmThe Algorithm property of the model specifies the estimation algori
Estimating Nonlinear G rey-Box ModelsOne category of method s co nsists of the min imization sch em es that arebased on line-search metho ds , includi
5 ODE P ara meter Estimation (Grey-Box Modeling)5-22
After Estimating Grey-Box ModelsAfter E stimating Grey-Box ModelsAfter estimatin g lin ear a n d non l in ear grey -b ox models, you can simula te the
5 ODE P ara meter Estimation (Grey-Box Modeling)5-24
6Time Series ModelIdentification• “What Are Time-Series Models?” on page 6-2• “Preparing Time-Series Data” on page 6-3• “Estimating Time-Series Power S
Representing Data in the GUIImporting Time-Domain Data into the GUIBefore you can import time-dom ain d ata i n to the System Identification ToolGUI, y
6 Time Series Model IdentificationWhat Are Time-Series Models?A time series is one or m ore measured output channels with no measuredinput.You can est
Preparing Time-Series DataPreparing Time-Series DataBefore you can estimate models for time-s eries data, you must import yourdata into the MATLAB sof
6 Time Series Model IdentificationEstimating Time-Series Power SpectraIn this section...“How to Estimate T ime-Series Power Spectra Using the GU I” on
Estimating Time-Series Power SpectraFor time-domain data, the frequency ranges from 0 to the Nyquistfrequency. For frequency-domain data, the frequenc
6 Time Series Model IdentificationEstimating Frequency Response of Time SeriesCommandDescriptionetfeEstimates a periodogram using Fourieranalysis.spaE
Estimating AR and A RMA ModelsEstimating AR and ARMA ModelsIn this section...“Definition of AR and ARMA Models” on page 6-7“Estimating Polynomial Time-
6 Time Series Model Identification• (Multiple-output AR models only) Specified the model-order matrix inthe MATLAB workspace before estimation, as desc
Estimating AR and A RMA Models4 (AR m odels only) Se lect the es timation Method as ARX or IV(instrumental variable method). For more information a bo
6 Time Series Model Identification• Fit improvements — Shows the actual versus e xpected impro vem ents inthe fit.9 Click Estim ate to add this model t
Estimating AR and A RMA ModelsCommands for Estimating P oly n omial Time-Serie s Models (Continued)Method NameDescriptionSupported DataarmaxIterative
1 Data Processing3 Specify the following options:Note For time series, only import the o utput signal and enter [] for t heinput.• Input — E nter the
6 Time Series Model IdentificationEstimating State-Space Time-Series ModelsIn this section...“Definition of State-Space Time-Series Model” on page 6-12
Estimating State-Space Time-Series ModelsCommands for Estimating State-Space Time-Series ModelsCommandDescriptionn4sidNoniterative subspace method for
6 Time Series Model IdentificationExample – Identifying Time-Series Models at the CommandLineThe following example simulates a time-series model, comp
Estimating Nonlinear Models for Time-Series DataEstimating Nonlinear Models for Time-Series DataWhen a linear model provides an insufficient descriptio
6 Time Series Model Identification6-16
7Recursive Techniques forModel Identi fication• “What Is Recursive Estimation?” on page 7-2• “Commands for Recursive Estim ation” on page 7-3• “Algorit
7 Recursive Techniques for Model IdentificationWhat Is Recursive Estimation?Many real-world applications, such as adaptive control, adaptive filtering,
Commands for Recursive EstimationCommands for Recursive EstimationYou can recursively estimate linear polynomial models, such as ARX,ARMAX, Box-Jenkin
7 Recursive Techniques for Model Identificationadm and adg specify any of the four recursive algorithm, as described in“Algorithms for Recu rsive Esti
Commands for Recursive EstimationCommands for Linea r Recursive Estimation (Continued)CommandDescriptionrpemEstimate param eters of multiple-inputand
Representing Data in the GUI4 (Optional) In the Data Inform ation area, click More to expand the d ialogbox and enter the following settings:Input Pro
7 Recursive Techniques for Model IdentificationAlgorithms for Recursive EstimationIn this section...“Types of R ecu rsive Estimation Algorithm s” o n
Algorithms for Recursive Estimationˆθ t()is the parameter estimate at time t. y(t) istheobservedoutputattimetandˆyt()is the prediction of y(t) based o
7 Recursive Techniques for Model IdentificationFor models that do no t hav e the linear regression form, it is not possible tocompute exactly the pred
Algorithms for Recursive EstimationThe Kalman filter is used to obtain Q(t).Thisformulationalsoassumesthatthetrueparametersθ0t()are describedby a rando
7 Recursive Techniques for Model IdentificationTo spec ify the Kalman filter algorithm, set adm to 'kf' and adg to the valueof the drift matr
Algorithms for Recursive Estimationhorizon of this alg orithm . Measurements older thanτλ=−11typically carry aweight that is less than about 0.3.λis c
7 Recursive Techniques for Model IdentificationMathematics of the Unnormalized and Normalized GradientAlgorithmIn the linear regression case, the grad
Algorithms for Recursive EstimationTo specify the unnorm alized gain algorithm, set adm to 'ug' and adg to thevalue of the gainγ(described i
7 Recursive Techniques for Model IdentificationData SegmentationFor systems that exhibit abrupt changes while the data is being collected,you might wa
8Model Analysis• “Overview of Model Valida tion and Plots” on page 8-2• “Using Model Output Plots to Validate and Compare Models” on page 8-8• “Using
1 Data Processing• Output —Enterastringtospecifythenameofoneormoreoutputchannels.Physical Units of V ariables• Input — Enter a string to specify the i
8 Model AnalysisOver view of Model Validation and PlotsIn this section...“When to Validate Models” on page 8-2“Ways to Validate Models” on page 8-2“Da
Overview of Model Validation and Plots• Analyzing model response. For more information, see the following:- “Using Impulse- and Step-Response Plots to
8 Model AnalysisData for Validating ModelsFor plots that compare model response to measured response, such as modeloutput and residual analysis plots,
Overview of Model Validation and PlotsPlot Type Suppor ted ModelsLearn MoreFrequency Response• All linear p arametricmodels• Spectral ana lysis(nonpar
8 Model AnalysisFor example, in the following figure, Model output is sele cted. In th is case,the modelsn4s4 is not included on the plot because o nly
Overview of Model Validation and PlotsGetting Advice About ModelsUse the advi ce command on an estimated model to answer the followingquestions aboutt
8 Model AnalysisUsing Model Output Plots to Validate and Compare ModelsIn this section...“Supported Model Types” on page 8-8“What Does a Mo del Ou tpu
Using Model Output Plots to Validate and Compare Mod els• For frequency-response data, the plot shows the simulated amplitude of themodel frequency re
8 Model AnalysisThe main difference betw een simulation and predictio n is whether the toolboxuses measured or computed previous outputs for computing
Using Model Output Plots to Validate and Compare Mod elsst≤ , and all avail able output s y(s),wherestk≤−(). The argument srepresents the data s ample
Representing Data in the GUI1 Type the following command in the MATLAB Command Window to openthe GUI:ident2 In the System Identification Tool window, s
8 Model AnalysisBecause of the definition of Best Fit, it is possible for this value to b e negative.A negative best fit is worse than 0% and can occur
Using Model Output Plots to Validate and Compare Mod elsModel Output Plot Settings (Continued)ActionCommandChange between simulated outputor predicted
8 Model Analysisthe estimated uncertainty in the model parameters to calculate confidenceintervals and assumes the estimates have a Gaussian distributi
Using Model Output Plots to Validate and Compare Mod elsX0est=findstates(model,data)Next, specify the e stimated initial states X0est as an arg u m en
8 Model AnalysisUsing Residual Analysis Plots to Validate ModelsIn this section...“What Is Residual Analysis?” on page 8-16“Supported Model Types” on
Using Residual Analysis Plots to Validate M odels• For output-error (OE) models and when using instrumental-variable (IV)methods, make sure that your
8 Model AnalysisFor frequency-domain validation data, the plot shows the following two axes:• Estimated power spectrum of the residuals for each outpu
Using Residual Analysis Plots to Validate M odelsNote If you are working in the System Identification Tool GUI, you canspecify a custom confidence inter
8 Model AnalysisResidual Analysis Plot SettingsActionCommandDisplay confidenceintervals around zero.Note Confidence internalare not available fornonline
Using Residual Analysis Plots to Validate M odelsHow to Plot Residuals at the Command LineThe following table summarizes commands that generate residu
1 Data Processing• InterSample — This setting specifies the behavior of the input signalsbetween samples whe n you transform the resulting mode ls betw
8 Model AnalysisThis opens an empty plot.3 In the System Identification Tool window , click each model icon to displayit on the Residual Analysis plot.
Using Residual Analysis Plots to Validate M odelsdescribe how the output is formed from the corresponding input. For example,when there is a peak outs
8 Model AnalysisUsing Impulse- and Step-Response Plots to ValidateModelsIn this section...“Supported Models” on page 8-24“How Transient Response Helps
Using Impulse- and Step-Response Plots to Validate Modelscorrelation analy sis result on top of the transient responses of the parametricmodels.Becaus
8 Model AnalysisHow to Plot Impulse and Step Response Using theGUITo createa transient analysis plot in the System Identification To ol GUI,select the
Using Impulse- and Step-Response Plots to Validate ModelsTransient Response Plot Settings (Continued)ActionCommandDisplay impulse response forlinear m
8 Model AnalysisTransient Response Plot Settings (Continued)ActionCommandChange time span over whichthe im pulse or step response iscalculated. For a
Using Impulse- and Step-Response Plots to Validate ModelsTransient Response Plot Settings (Continued)ActionCommand(Multiple-output system only)Select
8 Model Analysistrue system response. You can specify the confidence interval as a probability(between 0 and 1) or as the number of standard deviations
Using Impulse- and Step-Response Plots to Validate ModelsThe following table summarizes commands that generate impulse- andstep-response plots . For d
Representing Data in the GUI• Input — Enter a string to specify the input units.Tip When you have multiple inputs and outputs, enter acomma-separated
8 Model AnalysisUsing Frequency-Response Plots to Validate ModelsIn this section...“What Is Frequency Response?” on page 8-32“How Frequency Response H
Using Frequency-Response Plots to Validate Modelsis scaled by the sampling interval T to make the frequency function periodicwith the sampling frequen
8 Model AnalysisWhat Does a Frequency-Response Plot Show?System Identification Tool GUI supports the following types offrequency-response plots for lin
Using Frequency-Response Plots to Validate ModelsHow to PlotBodePlotsUsingtheGUITo createa frequency-response plot for parametric linear models in the
8 Model Analysistrue system response. You can specify the confidence interval as a probability(between 0 and 1) or as the number of standard deviations
Using Frequency-Response Plots to Validate ModelsFrequency Function Plot Settings (Continued)ActionCommandChange the frequencyvalues for com puting th
8 Model AnalysisFrequency Function Plot Settings (Continued)ActionCommandChange amplitude scalebetween linear andlogarithmic.Select Style > Linear
Using Frequency-Response Plots to Validate Modelswhere sd is the number of standard deviations of a Gaussian distributio n. Forexample, a confidence va
8 Model AnalysisCreating Noise-Spectrum PlotsIn this section...“Supported Models” on page 8-40“What Does a Noise SpectrumPlotShow?”onpage8-40“Displayi
Creating Noise-Spectrum PlotsWhereas the frequency-response plot shows the response of G,thenoise-spectrum plo t shows the frequency-response of the n
1 Data Processingident2 In the System Identification Tool window, select Import data > Freq.domain data. This a ction opens the Import Data dialog b
8 Model AnalysisGaussian distribution. For example, a probability of 0.99 (99%) correspondsto 2.58 stand a rd d e v ia t ions.Note The calculation of
Creating Noise-Spectrum PlotsThe following table summ arizes the Noise Spectrum plot settings.Noise Spectrum Plot SettingsActionCommandDisplay the con
8 Model AnalysisNoise Spect ru m P lot Se tting s (C onti n u ed )ActionCommandChange the frequencyvalues for computingthe n oise spectrum.The d efaul
Creating Noise-Spectrum PlotsNoise Spect ru m P lot Se tting s (C onti n u ed )ActionCommandChange am plitude scalebetween linear andlogarithmic.Selec
8 Model Analysisfrequency response o f v(t).Tocomputev(t), which represents the actual noiseterm in the system, use the following commands:ysimulated
Using Pole-Zero Plots to Validate ModelsUsing Pole-Zero Plots to Validate ModelsIn this section...“Supported Models” on page 8-47“What Does a Po le -Z
8 Model Analysismost-delayed and least-delayed inpu t. For example, there two poles and onezero in the follo wing ARX model:yt yt T yt Tut ut T() . (
Using Pole-Zero Plots to Validate ModelsIn addition, y ou can display a confidence interval for each pole and zero on theplot. The confidence interval c
8 Model AnalysisZeros and Poles Plot Settings (Continued)ActionCommandShow the unit circle. Select Style > Unit circle. Select this optionagain to
Using Pole-Zero Plots to Validate ModelsReducing Model Order Using Pole -Zero PlotsYou can use p ole-zeroplotstoevaluatewhetheritmightbeusefultoreduce
Representing Data in the GUIPhysical Units of V ariables• Input — Enter a string to specify the input units.Tip When you have multiple inputs and outp
8 Model AnalysisUsing Nonlinear ARX Plots to Validate ModelsIn this section...“About Nonlinear ARX Plots” on page 8-52“How to Plot Nonlinear ARX Plots
Using Nonlinear ARX Plots to Validate ModelsThe following figure shows a sample nonlinear ARX plot.Configuring the Nonlinear ARX PlotTo include or excl
8 Model Analysis3 Select Regressor 1 from th e list of available regressors. In the Rangefield, enter the range of v alues to include on the plot for t
Using Nonlinear ARX Plots to Validate ModelsChanging Appearance of the N on linear ARX Plot (Continued)ActionCommandHide or show the legend.Select Sty
8 Model AnalysisUsing Hamm erstein-Wiener Plots to Validate ModelsIn this section...“About Hammerstein-Wiener Plots” on page 8-56“How to Create Hammer
Using Ha mmerstein-Wiener Plots to Validate ModelsNote The Hamm-Wiener check b ox is unavailable if you do not have aHammerstein-Wiener m odel in the
8 Model AnalysisHow to Plot Hammerstein-Wiener Plots at theCommand LineYou can plot input and output nonlinearity and linear responses forHammerstein-
Using Ha mmerstein-Wiener Plots to Validate Models• To plot uNLas a command of the input data, click the uNLblock.• To plot yNLas a comm and of its in
8 Model Analysis• Bode• Pole-Zer o Map5 If you selected to plot s te p or impulse response, y ou can set the time span.Select Options > Time span a
Using Akaike’s Criteria to Valida te ModelsUsing Akaike’s Criteria to Validate ModelsIn this section...“Definition of FPE” on page 8-61“Computing FPE ”
1 Data Processing4 Specify the following options:• Amplitude — Enter the MATLAB variable name or a MATLABexpression that represents the amplitudeG.• P
8 Model AnalysisVttNNNTN=()()()⎛⎝⎜⎜⎞⎠⎟⎟∑det , ,11εθ εθwhereθNrepresents the estimated parameters.Computing FPEYou can compute A kaike’s Final Predicti
Using Akaike’s Criteria to Valida te ModelsAkaike’s Information Criterion (AIC) is d efined by the following equation:AIC VdN=+log2where V is the loss
8 Model AnalysisComputing Model UncertaintyIn this section...“Why An alyze Model Uncertainty?” on page 8-64“What Is Model Covariance?” on page 8-64“Vi
Computing Model UncertaintyComputing the covariance matrix is based on the assumption that the modelstructure gives the correct description of the sys
8 Model AnalysisType model.dA at the prompt to access the estimated standard deviationsof themodel.A estimated property, where model represents the na
Troubleshooting ModelsTroubleshooting ModelsIn this section...“About Troubleshooting Models” on page 8-67“Model Order Is Too High or Too Low” on page
8 Model AnalysisWhen a low-o rde r mo de l fits the validation data poorly, try estimating ahigher-order model to see if the fit improves. For example,
Troubleshooting ModelsSubstantial Noise in the SystemThere are a couple of indications that you m ight have substantial noise inyour system and might
8 Model Analysismodel for co ntro l design. In this case, you can import your unstable modelinto Simulink or Control System Toolbox products.One way t
Troubleshooting ModelsInputs need not be control s ignals. Any m easurable signal can be consideredan input, i n cluding measurable disturbances.Compl
Representing Data in the GUITip When you have multiple inputs and outputs, enter acomma-separated list of Input and Output units corresponding to each
8 Model AnalysisNext Steps After Getting an Accurate ModelAfter you get an accurate model, you can simulate or predict model output.For more info rmat
Next Steps After Getting an Accurate ModelTip To export a model from the GUI, drag the model icon to the ToWorkspace rectangle. For more information a
8 Model Analysis8-74
9Simulation and Prediction• “Simulating Versus Predicting Output” on page 9-2• “Simulation and Prediction in the GUI” on p age 9-4• “Example – Simulat
9 Simulation and PredictionSimulating Versus Predicting OutputSimulating a model means that you compute the response of a model toa particular input.
Simulating Versus Predicting OutputNote Prediction with k=∞ means that no previous inputs are used in thecomputation and prediction matches simulation
9 Simulation and PredictionSimulation and Prediction in the GUITo learn how to display simulated or predicted output using the SystemIdentification Too
Example – Simulating Model O utput with Noise at the Com mand LineExample – Simulating Model Output with Noise at theCommand LineThis example demonstr
9 Simulation and PredictionExample – Simulating a Continuous-Time State-SpaceModel at the Command LineThis example demonstrates h ow to simulate a con
Predicting Model Output at the Command LinePredicting Model Output at the Command LineUse the following syntax to compute k-step-ahead prediction of t
1 Data Processing1 Type the following command in the MATLAB Command Window to openthe GUI:ident2 In the System Identification Tool window, select Impor
9 Simulation and PredictionSpecifying Initial StatesIn this section...“When to Specify Initial States” on page 9-8“Setting Initial States to Zero” on
Specifying Initial StatesYou can use the following shortcut syntax for setting initial states to zero:y=sim(model,data,'InitialState','
9 Simulation and PredictionWhen you simulate a multiexperiment model, use the pe command to estim ateinitial states for the data from that specific exp
10Using Identified Models inControl Design
10 U s ing Identified Mo dels in Contr ol DesignUsing Models with Control System Toolbox SoftwareIn this section...“How Control System Toolbox Softwar
Using Models with Control System Toolbox™ SoftwareUsing balred to Reduce Model OrderIn some cases, the order of your identified model might be higher t
10 U s ing Identified Mo dels in Contr ol DesignNote The syntax sis otoo l(model('m')) is e quivalent tosisotool(model('measured')
Using Models with Control System Toolbox™ Softwaremodel = model('measured')% Convert to LTI objectLTI_sys = idss(model)The LTI object includ
10 U s ing Identified Mo dels in Contr ol DesignDisplaying Identified Models in the LTI ViewerWhen the MATLAB softw are is installed, the System Ident
Using Models with Control System Toolbox™ Softwareu = iddata([], idinput([800 2 ],'rbs'));% Simulate model output using System Identifi cati
Representing Data in the GUI4 (Optional) In the Data Inform ation area, click More to expand the d ialogbox and enter the following optional settings:
10 U s ing Identified Mo dels in Contr ol Design10-8
11Using System IdentificationToolbox Blocks• “System Identification Toolbo x Block Library” on pag e 11-2• “Opening the System Identification Toolbox B l
11 Using System Identification Toolbox™ BlocksSystem Identification Toolbox Block LibrarySystem Identi fication Toolbox provides blocks for sharing inf
Opening the System Identification Toolbox™ Block LibraryOpening the System Identification Toolbox Block LibraryTo open the System I de ntification Tool
11 Using System Identification Toolbox™ BlocksPreparing DataThe following table summarizes the blocks you use to transfer data betweenthe MATLAB and S
Identifying Linear ModelsIdentifying L inear ModelsThe follow ing table summarizes the blocks you use to estimate modelparameters in a Simulink model
11 Using System Identification Toolbox™ BlocksSimulating Model OutputIn this section...“When to Use Simulation Blocks” on page 11-6“Summary of Simulat
Simulating Model OutputBlockDescriptionIDNLHW ModelSimulateidnlhw model in Simulink.IDNLGREY Model Simulate nonlinear ODE (idnlgrey model object)in Si
11 Using System Identification Toolbox™ Blocksm2=idss(m1);For m ore information about specifying initial conditions for simulation, seethe IDMODEL Mod
Example – Simulating a Model Using Simulink®SoftwareExample – Simulating a Model Using Simulink SoftwareIn this example, you set the initial states fo
About the DevelopersAbout the DevelopersSystem Identification Toolbox™ software is developed i n association wi th thefollowing leading rese archers in
1 Data Processing• Output —Enterastringtospecifythenameofoneormoreoutputchannels.Physical Units of V ariables• Input — Enter a string to specify the i
11 Using System Identification Toolbox™ Blocks11-10
12Using the SystemIdentification Tool GUI• “Steps for Using the System Identification Tool GU I” on page 12-2• “Starting and M anaging GUI Sessions” on
12 Using the System Identification Tool GUISteps for Using the System Identification Tool GUIAtypicalworkflow in the System Identification Tool GUI incl
Starting and Managing G UI SessionsStar ting and Managing GUI SessionsIn this section...“What Is a System Identification Tool Session?” on page 12-3“St
12 Using the System Identification Tool GUIStarting a New Session in the GUITo start a new session in the System Identification Tool G UI, type thefoll
Starting and Managing G UI SessionsDescription of the System Identification Tool WindowThe following figure describes the different areas in the System
12 Using the System Identification Tool GUIthe Import data menu and end in the bottom-right corner by plotting thecharacteristics of your estimated mo
Starting and Managing G UI SessionsTask CommandCommentClose thecurrentsession andstart a newsession.File > Close sessionYou are prompted to save th
12 Using the System Identification Tool GUIExiting the System Identification To ol GUITo exit the System Identification Tool GUI, click Exit in the bot
Managing Models in the GUIManaging Models in the GUIIn this section...“Importing Models into the GUI” on page 12-9“Viewing Model Properties” on page 1
Representing Data in the GUIfrequency-domain signals (see the fft reference page), the Fourier transformsare computed a s discrete Fourier transforms
12 Using the System Identification Tool GUIViewing Model PropertiesYou can get information about each model in the System Identification ToolGUI by rig
Managing Models in the GUIRenaming Modelsand Changing Display ColorYou can rename a model and change its display color b y double-clicking themodelico
12 Using the System Identification Tool GUIWhen you need additional spa ce for organizi n g model ico n s, selectOptions > Extra model/data board i
Managing Models in the GUITo restore a model from Trash, drag its icon from Trash to the Model Boardin the System Identification Tool GUI. You can view
12 Using the System Identification Tool GUIWhen you export models to the MATLA B workspace , the resulting variableshavethesamenameasintheSystemIdenti
Wor king with Plots in the System Identification Tool GUIWorking with Plots in the System Identification Tool GUIIn this section...“Identifying Data S
12 Using the System Identification Tool GUIData Tip onaPlotChangingand Restoring Default Axis LimitsThere aretwo ways to change which portion of the p
Wor king with Plots in the System Identification Tool GUI• To zoom in default increments, left-click the portion of the plot you want tocenter in the
12 Using the System Identification Tool GUINote Toviewtheentiredatarange,selectOptions > A utorange in theplot window.Selecting Measured and Noise
Wor king with Plots in the System Identification Tool GUIGrid, Line Styles, and Redrawing PlotsThere are several Style options that are common to all
1 Data ProcessingSimilarly, to specify Validation Data, drag and drop the corresponding dataicon into the Validation Data rectangle.Preprocessing Data
12 Using the System Identification Tool GUISystem Identification Tool GUI, and then open it in a MATLAB F igurewindow to fine-tune the display.After you
Customizing the System Identification Tool GUICustomizing the System Identification Tool GUIIn this section...“Types of GUI Customization” on page 12-
12 Using the System Identification Tool GUI• Four recently used sessions• Plot options, such as line styles, zoom, grid, and w h ether the input isplo
Customizing the System Identification Tool GUINote When you save preferences using Options > Save preferencestoidprefs.mat, these preferences overr
12 Using the System Identification Tool GUI12-24
IndexIndexAactivemodel in GUI 8-5advicefor data 1-84for models 8-7AIC 8-61definition 8-62Akaike’s Final Prediction Error (FPE) 8-61Akaike’s Inform atio
Indexdatacreatingiddata object 1-47creatingidfrd object 1-67creating subsets 1-31detrending 1-94exporting to MATLAB workspace 1-45filter 1-107frequency
IndexHHammerstein-Wiener models 4-15Hammerstein-Wiener plot 8-56Iidarx 2-13iddataconcatenating 1-65creating 1-47subreferencing 1-55ident 12-4idfrdconc
Indexmodelblack-box polynomial 3-41estimating frequency response 3-2estimating process mo d el 3-22estimating transient response 3-14exporting to MATL
Indexnormalized gradient algorithm 7-11OOE model.SeeOutput-Error modeloffset levels 1-94order.Seemodel o rderoutliers 1-91Output-Error model 3-44Ppemf
Representing Data in the GUICreating Data Sets from a Subset of Signal ChannelsYou can create a new data set in the System Identification Tool GUI byex
Indexsessiondefinition 12-3managing in GUI 12-3preferences 12-21starting 12-4sigmoid network 4-25simulating data 1-115simulating model output 9-1initia
IndexUuncertainty o f models 8-64confidence interval on plots 8-65covariance 8-64unnormalized gradient algorithm 7-11unstable models 8-69Vvalidating mo
1 Data Processing3 In the Inputs list, select one or mo re channels in any of follow ing ways:• Select one channel by clicking its name.• Select adjac
Representing Data in the GUICreating Multiexperiment Data Sets in the GUI• “Why Create Multiexperiment Data?” on page 1-33• “Limitations onData Sets”
1 Data ProcessingNote Before merging several segments of the same data set, verify thatthe time v ector of each data starts at the time when that data
Representing Data in the GUITo merge data sets in the GUI:1 In the Operations area, select <–Preprocess > Merge experimentsfrom the drop-down me
1 Data Processing2 In the System Identification Tool w indow , drag a data s et i con to the MergeExperiments dialog box (to the drop them here to be m
Representing Data in the GUI5 Click Insert to add the new data set to the Data Board in the SystemIdentification Tool window.Data Board Now Contains td
About the Developers
1 Data Processing1 In the S ystem Identification Tool window, drag and drop the td atam dataicon to the Working Data rectangle.tdatam Is Set to Working
Representing Data in the GUI3 In the Experiments list, sele ct one o r more data sets in either of thefollowing ways:• Select one data set by clicking
1 Data ProcessingViewing Data PropertiesYou can get information about each data set in the System Identification T oolGUI by right-clicking the corresp
Representing Data in the GUITo displays the data properties in the MATL AB Comm and Window, clickPresent.Renaming Data and Changing Display ColorYou c
1 Data ProcessingData objectdescriptionHistory ofsyntax thatcreated thisobjectInformation About the DataYou can enter comments about the origin and st
Representing Data in the GUIDistinguishingData Types i n the GUIThe background color of a d ata icon is color-coded, as follows :• White background re
1 Data ProcessingTip When youimport or create data sets and there is insufficient space forthe i cons, an additional session window opens automatically
Representing Data in the GUITo restore a data set from Trash, drag i ts icon from Trash to the Data orModel Board in the System Identification Tool win
1 Data ProcessingWhen you export d ata to the MATLAB work space, the resultin g var ia bl eshavethesamenameasintheSystemIdentification Tool GUI. For ex
Representing Time- and Frequency-Domain Data Using iddata ObjectsRepresenting Time- and Frequency-Domain Data Usingiddata ObjectsIn this section...“id
ContentsData Processing1Ways to Process D ata for System Identification ... 1-2ImportingDataintotheMATLABWorkspace... 1-5Types of Data You Can
1 Data ProcessingConstructing an iddata Object for Time-Domain DataUse the follow ing sy ntax to create a time-d omain iddata object data:data = iddat
Representing Time- and Frequency-Domain Data Using iddata ObjectsThe following example shows how to create an iddata object usingsingle-input/single-o
1 Data ProcessingNote You must specify the frequency ve ctor for frequency-domain data.For more information about id data time and frequency propertie
Representing Time- and Frequency-Domain Data Using iddata ObjectsMATLAB returns the following object properties and values:Domain: 'Time'Nam
1 Data ProcessingTip You can use data.y as an alternative to data .OutputData to access theoutput values, or usedata.u as an alternative to data.Input
Representing Time- and Frequency-Domain Data Using iddata ObjectsMATLAB returns the following object properties and values:Domain: 'Freque ncy&ap
1 Data Processingmultiexperiment iddata object by splitting the d ata from a single sessio n intomultiple segmen ts to exclude bad data, and merge the
Representing Time- and Frequency-Domain Data Using iddata ObjectsThis syntax explicitly assigns the experiment name 'Run4' to the newexperim
1 Data ProcessingNote You do n ot need to type the entire property name. In this example, sain da ta.sa uniquely identifies the Samp ling Instants prop
Representing Time- and Frequency-Domain Data Using iddata ObjectsFor example, suppose the iddata object data contains three output channels(namedy1, y
Creating Multiexperiment Data at the Command Line ... 1-53Subreferencing iddata Objects... 1-55Modifying Time and Frequency Vector
1 Data ProcessingSubreferencing ExperimentsUse the following general syntax to subreference specifi c experiments iniddata objects:data(samples,outputc
Representing Time- and Frequency-Domain Data Using iddata ObjectsModifying Time and Frequency VectorsThe id dat a object stores time-domain data o r f
1 Data Processingiddata Time-Vector Properties (Continued)PropertyDescriptionSyntax ExampleTstartStarting time of theexperiment.• For a singleexperime
Representing Time- and Frequency-Domain Data Using iddata Objectsiddata Time-Vector Properties (Continued)PropertyDescriptionSyntax ExampleSamplingIns
1 Data Processingiddata Frequency-Vector PropertiesPropertyDescriptionSyntax ExampleFrequencyFrequency values atwhich the Fouriertransforms of the sig
Representing Time- and Frequency-Domain Data Using iddata ObjectsNaming, Adding,and Removing Data Channels• “WhatAreInputand Output Channels?” on page
1 Data ProcessingIf you do not specify channel names when you create the iddata object,the toolbox assigns default names. By default, the output chann
Representing Time- and Frequency-Domain Data Using iddata ObjectsConcatenating iddata Objects• “iddata Prope rties Storing Input and Output D ata” on
1 Data Processingcontains channel names that are already present in d ataJ with J<K,thedataK channels are ignored.• Combining duplicate output chan
Representing Frequency-Response Data Using idfrd ObjectsRepresenting Frequency-Response Data Using idfrdObjectsIn this section...“idfrd C onstructor”
How to Add Detrended Values to the Model Output ... 1-98Resampling Data... 1-100What Is Resampling?...
1 Data ProcessingNote When you work at the command line, y ou can only create idfrd objectsfrom com plex values of G(eiw).ForaSISOsystem,response can
Representing Frequency-Response Data Using idfrd Objectsresponse and f are variables in the MATLAB Workspace browser,representing the frequency-respon
1 Data ProcessingIf you import fr_data into the System Identification Tool GUI, this data hasthe nameDC_Converter in the GUI, and not the variable name
Representing Frequency-Response Data Using idfrd ObjectsFor example, the following command references frequency-response data frominput channel3 to ou
1 Data Processingthe number of output channels, nu is the number of input channels, and nf isa v ector of frequen cy values (see “idfrd Properties” on
Representing Frequency-Response Data Using idfrd ObjectsThe resulting idfrd object data contains the frequency responses fromthe s ame inputs indata1,
1 Data ProcessingWhen the Spect ralD ata property of individual idfrd objectsisnotempty,horizontal and vertical concatenation handleSpectralData,asfol
Analyzing Data Quality Using PlotsAnalyzing Data Quality Using PlotsIn this section...“Supported Data Plots” on page 1-75“Plotting Data in the System
1 Data Processing• “Working with a Frequency Function Plot” on p age 1 -80How to Plot Data in the GUIAfter importing data into the System Identificatio
Analyzing Data Quality Using PlotsTo clos e a plot, clear the corresponding check box in the System Identifi cationTool GUI.Tip To get information abou
Komentáře k této Příručce