Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Linear parametric identification

Subject: Linear parametric identification

From: AsimV

Date: 22 Feb, 2009 11:53:01

Message: 1 of 6

Hello to all,

I'm experimenting with linear parametric identification methods. I
have tested this methods when output data contains noise. I simulated
noise by random number generator.
Can you please explain to me what does it mean when one gets the
following result:
g2 = tf(arx221)

Transfer function from input "u1" to output "y1":
   -0.4777 z + 0.4677
------------------------
z^2 - 0.9353 z - 0.01695

Transfer function from input "v@y1" to output "y1":
      0.01454 z^2
------------------------
z^2 - 0.9353 z - 0.01695

Data object for identification is formed from one input and one output
vector. It is SISO system. How to inperpret input "v@y1" to output
"y1"? What does it mean?

Thank you

Subject: Linear parametric identification

From: Rajiv Singh

Date: 23 Feb, 2009 14:47:49

Message: 2 of 6

Your model has one "measured" input and one output. However, there is also a
noise input which you could think of an unmeasured input. When you perform
an estimation, you not only estimate a "measured" model G, but also a
"noise" model H, according to equation:

y = Gu+He

H is the transfer function between the unmeasured (noise) input e and the
output y. H explains the component of the output that could not be captured
by G. H is also called a disturbance model. The inputs are "u" (measured)
and "e" (unmeasured).

When you do TF(arx221), this operation converts the noise input channel (e)
into a regular input. Hence the number of inputs in the resulting model
becomes 2. If you just need "G", the transfer function between measured
input and output, you should do:

g2 = tf(arx221('m'))

This operation separates out the measured component (G) and converts only
that component into a TF object.

HTH,
Rajiv


"AsimV" <asimvod@gmail.com> wrote in message
news:dcb69d15-194c-40d1-acb9-49000bd8f1c8@l16g2000yqo.googlegroups.com...
> Hello to all,
>
> I'm experimenting with linear parametric identification methods. I
> have tested this methods when output data contains noise. I simulated
> noise by random number generator.
> Can you please explain to me what does it mean when one gets the
> following result:
> g2 = tf(arx221)
>
> Transfer function from input "u1" to output "y1":
> -0.4777 z + 0.4677
> ------------------------
> z^2 - 0.9353 z - 0.01695
>
> Transfer function from input "v@y1" to output "y1":
> 0.01454 z^2
> ------------------------
> z^2 - 0.9353 z - 0.01695
>
> Data object for identification is formed from one input and one output
> vector. It is SISO system. How to inperpret input "v@y1" to output
> "y1"? What does it mean?
>
> Thank you

Subject: Linear parametric identification

From: AsimV

Date: 24 Feb, 2009 17:16:30

Message: 3 of 6

On Feb 23, 3:47 pm, "Rajiv Singh" <rajiv_si...@msn.com> wrote:
> Your model has one "measured" input and one output. However, there is also a
> noise input which you could think of an unmeasured input. When you perform
> an estimation, you not only estimate a "measured" model G, but also a
> "noise" model H, according to equation:
>
> y = Gu+He
>
> H is the transfer function between the unmeasured (noise) input e and the
> output y. H explains the component of the output that could not be captured
> by G. H is also called a disturbance model. The inputs are "u" (measured)
> and "e" (unmeasured).
>
> When you do TF(arx221), this operation converts the noise input channel (e)
> into a regular input. Hence the number of inputs in the resulting model
> becomes 2. If you just need "G", the transfer function between measured
> input and output, you should do:
>
> g2 = tf(arx221('m'))
>
> This operation separates out the measured component (G) and converts only
> that component into a TF object.
>
> HTH,
> Rajiv
>
> "AsimV" <asim...@gmail.com> wrote in message
>
> news:dcb69d15-194c-40d1-acb9-49000bd8f1c8@l16g2000yqo.googlegroups.com...
>
> > Hello to all,
>
> > I'm experimenting with linear parametric identification methods. I
> > have tested this methods when output data contains noise. I simulated
> > noise by random number generator.
> > Can you please explain to me what does it mean when one gets the
> > following result:
> > g2 = tf(arx221)
>
> > Transfer function from input "u1" to output "y1":
> > -0.4777 z + 0.4677
> > ------------------------
> > z^2 - 0.9353 z - 0.01695
>
> > Transfer function from input "v@y1" to output "y1":
> > 0.01454 z^2
> > ------------------------
> > z^2 - 0.9353 z - 0.01695
>
> > Data object for identification is formed from one input and one output
> > vector. It is SISO system. How to inperpret input "v@y1" to output
> > "y1"? What does it mean?
>
> > Thank you


Thank you Rajiv, you're most helpful.

Subject: Linear parametric identification

From: AsimV

Date: 26 Feb, 2009 21:11:06

Message: 4 of 6

On Feb 24, 6:16 pm, AsimV <asim...@gmail.com> wrote:
> On Feb 23, 3:47 pm, "Rajiv Singh" <rajiv_si...@msn.com> wrote:
>
>
>
> > Your model has one "measured" input and one output. However, there is also a
> > noise input which you could think of an unmeasured input. When you perform
> > an estimation, you not only estimate a "measured" model G, but also a
> > "noise" model H, according to equation:
>
> > y = Gu+He
>
> > H is the transfer function between the unmeasured (noise) input e and the
> > output y. H explains the component of the output that could not be captured
> > by G. H is also called a disturbance model. The inputs are "u" (measured)
> > and "e" (unmeasured).
>
> > When you do TF(arx221), this operation converts the noise input channel (e)
> > into a regular input. Hence the number of inputs in the resulting model
> > becomes 2. If you just need "G", the transfer function between measured
> > input and output, you should do:
>
> > g2 = tf(arx221('m'))
>
> > This operation separates out the measured component (G) and converts only
> > that component into a TF object.
>
> > HTH,
> > Rajiv
>
> > "AsimV" <asim...@gmail.com> wrote in message
>
> >news:dcb69d15-194c-40d1-acb9-49000bd8f1c8@l16g2000yqo.googlegroups.com...
>
> > > Hello to all,
>
> > > I'm experimenting with linear parametric identification methods. I
> > > have tested this methods when output data contains noise. I simulated
> > > noise by random number generator.
> > > Can you please explain to me what does it mean when one gets the
> > > following result:
> > > g2 = tf(arx221)
>
> > > Transfer function from input "u1" to output "y1":
> > > -0.4777 z + 0.4677
> > > ------------------------
> > > z^2 - 0.9353 z - 0.01695
>
> > > Transfer function from input "v@y1" to output "y1":
> > > 0.01454 z^2
> > > ------------------------
> > > z^2 - 0.9353 z - 0.01695
>
> > > Data object for identification is formed from one input and one output
> > > vector. It is SISO system. How to inperpret input "v@y1" to output
> > > "y1"? What does it mean?
>
> > > Thank you
>
> Thank you Rajiv, you're most helpful.


Rajiv, I also need help abput simulating noise channel.
For example, I have created a model with process data, and I have also
"v@y1" part (transfer function) in my model.
I'd like to simulate and test the model in the Simulink. It's fairly
easy to set up transfer functions blocks with inputs and outputs, but
how to simulate that noise part, because I don't know anything about
nature of the process noise that is present in the data.
Should I use random generator for such such purpose?

Thanks

Subject: Linear parametric identification

From: Rajiv Singh

Date: 26 Feb, 2009 21:48:33

Message: 5 of 6

When simulating an estimated model in command-line, use the SIM command
(look up help on idmodel/sim). For simulation with noise you have two
options: either specify noise inputs as white noise sequence yourself, or
simply use the string 'noise' as an input argument to the SIM command. When
using 'noise' argument, a noise sequence will be genrated automatically.
This is the simplest thing you can do.

In simulink, use an IDMODEL block to present your model (available as part
of System Identification Toolbox block library). This block's dialog offers
an option to add noise to simulation. Note that the model must have a
disturbance (noise) component in order to use this option. If model('noise')
comes up empty, then noise cannot be added. All IDPOLY and IDSS models would
have a noise component by default, even if the noise model is trivial (H=1).
However, IDPROC model would not have a noise component unless you have
specifically asked for a disturbance model during estimation (see help on
idproc and idproc/pem for more info)

Rajiv


"AsimV" <asimvod@gmail.com> wrote in message
news:b837280c-62f3-4c0d-b032-3bd17a95f684@x38g2000yqj.googlegroups.com...
> On Feb 24, 6:16 pm, AsimV <asim...@gmail.com> wrote:
>> On Feb 23, 3:47 pm, "Rajiv Singh" <rajiv_si...@msn.com> wrote:
>>
>>
>>
>> > Your model has one "measured" input and one output. However, there is
>> > also a
>> > noise input which you could think of an unmeasured input. When you
>> > perform
>> > an estimation, you not only estimate a "measured" model G, but also a
>> > "noise" model H, according to equation:
>>
>> > y = Gu+He
>>
>> > H is the transfer function between the unmeasured (noise) input e and
>> > the
>> > output y. H explains the component of the output that could not be
>> > captured
>> > by G. H is also called a disturbance model. The inputs are "u"
>> > (measured)
>> > and "e" (unmeasured).
>>
>> > When you do TF(arx221), this operation converts the noise input channel
>> > (e)
>> > into a regular input. Hence the number of inputs in the resulting model
>> > becomes 2. If you just need "G", the transfer function between measured
>> > input and output, you should do:
>>
>> > g2 = tf(arx221('m'))
>>
>> > This operation separates out the measured component (G) and converts
>> > only
>> > that component into a TF object.
>>
>> > HTH,
>> > Rajiv
>>
>> > "AsimV" <asim...@gmail.com> wrote in message
>>
>> >news:dcb69d15-194c-40d1-acb9-49000bd8f1c8@l16g2000yqo.googlegroups.com...
>>
>> > > Hello to all,
>>
>> > > I'm experimenting with linear parametric identification methods. I
>> > > have tested this methods when output data contains noise. I simulated
>> > > noise by random number generator.
>> > > Can you please explain to me what does it mean when one gets the
>> > > following result:
>> > > g2 = tf(arx221)
>>
>> > > Transfer function from input "u1" to output "y1":
>> > > -0.4777 z + 0.4677
>> > > ------------------------
>> > > z^2 - 0.9353 z - 0.01695
>>
>> > > Transfer function from input "v@y1" to output "y1":
>> > > 0.01454 z^2
>> > > ------------------------
>> > > z^2 - 0.9353 z - 0.01695
>>
>> > > Data object for identification is formed from one input and one
>> > > output
>> > > vector. It is SISO system. How to inperpret input "v@y1" to output
>> > > "y1"? What does it mean?
>>
>> > > Thank you
>>
>> Thank you Rajiv, you're most helpful.
>
>
> Rajiv, I also need help abput simulating noise channel.
> For example, I have created a model with process data, and I have also
> "v@y1" part (transfer function) in my model.
> I'd like to simulate and test the model in the Simulink. It's fairly
> easy to set up transfer functions blocks with inputs and outputs, but
> how to simulate that noise part, because I don't know anything about
> nature of the process noise that is present in the data.
> Should I use random generator for such such purpose?
>
> Thanks

Subject: Linear parametric identification

From: AsimV

Date: 27 Feb, 2009 15:36:26

Message: 6 of 6

On Feb 26, 10:48 pm, "Rajiv Singh" <rajiv_si...@msn.com> wrote:
> When simulating an estimated model in command-line, use the SIM command
> (look up help on idmodel/sim). For simulation with noise you have two
> options: either specify noise inputs as white noise sequence yourself, or
> simply use the string 'noise' as an input argument to the SIM command. When
> using 'noise' argument, a noise sequence will be genrated automatically.
> This is the simplest thing you can do.
>
> In simulink, use an IDMODEL block to present your model (available as part
> of System Identification Toolbox block library). This block's dialog offers
> an option to add noise to simulation. Note that the model must have a
> disturbance (noise) component in order to use this option. If model('noise')
> comes up empty, then noise cannot be added. All IDPOLY and IDSS models would
> have a noise component by default, even if the noise model is trivial (H=1).
> However, IDPROC model would not have a noise component unless you have
> specifically asked for a disturbance model during estimation (see help on
> idproc and idproc/pem for more info)
>
> Rajiv
>
> "AsimV" <asim...@gmail.com> wrote in message
>
> news:b837280c-62f3-4c0d-b032-3bd17a95f684@x38g2000yqj.googlegroups.com...
>
> > On Feb 24, 6:16 pm, AsimV <asim...@gmail.com> wrote:
> >> On Feb 23, 3:47 pm, "Rajiv Singh" <rajiv_si...@msn.com> wrote:
>
> >> > Your model has one "measured" input and one output. However, there is
> >> > also a
> >> > noise input which you could think of an unmeasured input. When you
> >> > perform
> >> > an estimation, you not only estimate a "measured" model G, but also a
> >> > "noise" model H, according to equation:
>
> >> > y = Gu+He
>
> >> > H is the transfer function between the unmeasured (noise) input e and
> >> > the
> >> > output y. H explains the component of the output that could not be
> >> > captured
> >> > by G. H is also called a disturbance model. The inputs are "u"
> >> > (measured)
> >> > and "e" (unmeasured).
>
> >> > When you do TF(arx221), this operation converts the noise input channel
> >> > (e)
> >> > into a regular input. Hence the number of inputs in the resulting model
> >> > becomes 2. If you just need "G", the transfer function between measured
> >> > input and output, you should do:
>
> >> > g2 = tf(arx221('m'))
>
> >> > This operation separates out the measured component (G) and converts
> >> > only
> >> > that component into a TF object.
>
> >> > HTH,
> >> > Rajiv
>
> >> > "AsimV" <asim...@gmail.com> wrote in message
>
> >> >news:dcb69d15-194c-40d1-acb9-49000bd8f1c8@l16g2000yqo.googlegroups.com...
>
> >> > > Hello to all,
>
> >> > > I'm experimenting with linear parametric identification methods. I
> >> > > have tested this methods when output data contains noise. I simulated
> >> > > noise by random number generator.
> >> > > Can you please explain to me what does it mean when one gets the
> >> > > following result:
> >> > > g2 = tf(arx221)
>
> >> > > Transfer function from input "u1" to output "y1":
> >> > > -0.4777 z + 0.4677
> >> > > ------------------------
> >> > > z^2 - 0.9353 z - 0.01695
>
> >> > > Transfer function from input "v@y1" to output "y1":
> >> > > 0.01454 z^2
> >> > > ------------------------
> >> > > z^2 - 0.9353 z - 0.01695
>
> >> > > Data object for identification is formed from one input and one
> >> > > output
> >> > > vector. It is SISO system. How to inperpret input "v@y1" to output
> >> > > "y1"? What does it mean?
>
> >> > > Thank you
>
> >> Thank you Rajiv, you're most helpful.
>
> > Rajiv, I also need help abput simulating noise channel.
> > For example, I have created a model with process data, and I have also
> > "v@y1" part (transfer function) in my model.
> > I'd like to simulate and test the model in the Simulink. It's fairly
> > easy to set up transfer functions blocks with inputs and outputs, but
> > how to simulate that noise part, because I don't know anything about
> > nature of the process noise that is present in the data.
> > Should I use random generator for such such purpose?
>
> > Thanks

Thank you I'll try that.
So far, when I export model to workspace, I use simulink and create
transfer functions form "discrete tools". I just retype numerators and
denomimators from workspace. In the tools "Sources" I can find band-
limited withe noise block. Is this the same noise that would be added
by IDMODEL block?

Cheers

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us