Noise component of model
noise_model = noise2meas(sys,noise)
noise_model = noise2meas(sys) returns the noise component, noise_model, of a linear identified model, sys. Use noise2meas to convert a time-series model (no inputs) to an input/output model. The converted model can be used for linear analysis, including viewing pole/zero maps, and plotting the step response.
Identified linear model.
Noise variance normalization method.
noise is a string that takes one of the following values:
Noise component of sys.
sys represents the system
G is the transfer function between the measured input, u(t), and the output, y(t). H is the noise model and describes the effect of the disturbance, e(t), on the model's response.
An equivalent state-space representation of sys is
v(t) is white noise with independent channels and unit variances. The white-noise signal e(t) represents the model's innovations and has variance LLT. The noise-variance data is stored using the NoiseVariance property of sys.
The model type of noise_model depends on the model type of sys.
Convert a time-series model to an input/output model that may be used by linear analysis tools.
Identify a time-series model.
load iddata9 z9 sys = ar(z9,4,'ls');
sys is an idpoly model with no inputs.
Convert sys to a measured model.
noise_model = noise2meas(sys);
noise_model is an idpoly model with one input.
You can use noise_model for linear analysis functions such as step, iopzmap, etc.
Convert an identified linear model to an input/output model, and normalize its noise variance.
Identify a linear model using data.
load twotankdata; z = iddata(y,u,0.2); sys = ssest(z,4);
sys is an idss model, with a noise variance of 6.6211e-06. The value of is sqrt(sys.NoiseVariance), which is 0.0026.
View the disturbance matrix.
ans = 0.2719 1.6570 -0.6318 -0.2877
Obtain a model that absorbs the noise variance of sys.
noise_model_normalize = noise2meas(sys,'normalize');
noise_model_normalize is an idpoly model.
View the matrix for noise_model_normalize
ans = 0.0007 0.0043 -0.0016 -0.0007
As expected, noise_model_normalize.B is equal to L*sys.K.
Compare the bode response with a model that ignores the noise variance of sys.
noise_model_innovation = noise2meas(sys,'innovations'); bodemag(noise_model_normalize,noise_model_innovation); legend('Normalized noise variance','Ignored noise variance');
The difference between the bode magnitudes of the noise_model_innovation and noise_model_normalized is approximately 51 dB. As expected, the magnitude difference is approximately equal to 20*log10(L).