System Identification with frfit()

classic Classic list List threaded Threaded
4 messages Options
John Ryan John Ryan
Reply | Threaded
Open this post in threaded view
|

System Identification with frfit()

Bonjour,

I have measured the phase and magnitude response of a system and I am trying to identify a model for it with frfit(). This works well up to about 10Hz but then can be 20dB different in gain, 150degrees in phase. Best fit is with order 3 or 4.

My data is a log frequency sweep from 0.7Hz to 60Hz. It is a little noisy (+/- 0.5dB, +/-3deg). The response has a ‘peak’ in the phase between 7 and 20Hz and increasing gain over this region.

I tried separating the model. First I divided the measured data by the modeled response (to extract just the data that does not fit the model) and then frfit() to the remaining data. This did not help as the fit to the remaining data was just as bad.

Can anybody suggest how to analyse this system?

Thanks for any help,

Regards, John

Michael J. McCann Michael J. McCann
Reply | Threaded
Open this post in threaded view
|

Re: System Identification with frfit()

John,
         If you know something about the underlying physics of the
system, then that is, in my view (as a control and dynamic systems
person), the place to start.
         I suspect that you can get the peak with a second order
under damped-pair of poles, and fake the rest of the drop off or rise
with first order (left half plane) poles and zeros.  It might be
easier to build a model up from these basic components (as products
in a transfer function) rather than try to get a mechanical solution
method. However, it's possible you have a non-minimum phase system so
it will be trickier.
Mike.
==============================================

At 10:53 2008-05-06, you wrote:

>Bonjour,
>I have measured the phase and magnitude response of a system and I
>am trying to identify a model for it with frfit(). This works well
>up to about 10Hz but then can be 20dB different in gain, 150degrees
>in phase. Best fit is with order 3 or 4.
>My data is a log frequency sweep from 0.7Hz to 60Hz. It is a little
>noisy (+/- 0.5dB, +/-3deg). The response has a 'peak' in the phase
>between 7 and 20Hz and increasing gain over this region.
>I tried separating the model. First I divided the measured data by
>the modeled response (to extract just the data that does not fit the
>model) and then frfit() to the remaining data. This did not help as
>the fit to the remaining data was just as bad.
>Can anybody suggest how to analyse this system?
>Thanks for any help,
>Regards, John


Dr Michael J. McCann,           Date: 2008.05.06        11:18gmt
BSc(Eng), DIC, PhD, CEng, FIEE.
McCann Science.
Tel: +1 302 654-2953 (Land line)
Fax: +1 302 429-9458
Mobile: +1 302 377-1508 (in USA)
Mobile: +44 (0)7876 184538 (if in a GSM zone)
Email: [hidden email]
W: //www.mccannscience.com/
POB 902, Chadds Ford PA 19317 USA.
"Practical solutions to problems in business, engineering and science
through quantified analysis."


John Ryan John Ryan
Reply | Threaded
Open this post in threaded view
|

RE: System Identification with frfit()

In reply to this post by John Ryan
Hi Mike,
Thanks for the suggestion; I'll give it a go. The system should be simple,
it's a DC motor driving a solid load via gears and belts. I think that the
complexity comes from stretching in the belts, lost motion in the gears and
nonlinear effects in the motor, which is why I was looking to identify it
empirically.
Regards, John

-----Original Message-----
From: Michael J. McCann [mailto:[hidden email]]
Sent: 06 May 2008 12:20
To: [hidden email]
Subject: Re: [scilab-Users] System Identification with frfit()

John,
         If you know something about the underlying physics of the
system, then that is, in my view (as a control and dynamic systems
person), the place to start.
         I suspect that you can get the peak with a second order
under damped-pair of poles, and fake the rest of the drop off or rise
with first order (left half plane) poles and zeros.  It might be
easier to build a model up from these basic components (as products
in a transfer function) rather than try to get a mechanical solution
method. However, it's possible you have a non-minimum phase system so
it will be trickier.
Mike.
==============================================

At 10:53 2008-05-06, you wrote:

>Bonjour,
>I have measured the phase and magnitude response of a system and I
>am trying to identify a model for it with frfit(). This works well
>up to about 10Hz but then can be 20dB different in gain, 150degrees
>in phase. Best fit is with order 3 or 4.
>My data is a log frequency sweep from 0.7Hz to 60Hz. It is a little
>noisy (+/- 0.5dB, +/-3deg). The response has a 'peak' in the phase
>between 7 and 20Hz and increasing gain over this region.
>I tried separating the model. First I divided the measured data by
>the modeled response (to extract just the data that does not fit the
>model) and then frfit() to the remaining data. This did not help as
>the fit to the remaining data was just as bad.
>Can anybody suggest how to analyse this system?
>Thanks for any help,
>Regards, John


Dr Michael J. McCann,           Date: 2008.05.06        11:18gmt
BSc(Eng), DIC, PhD, CEng, FIEE.
McCann Science.
Tel: +1 302 654-2953 (Land line)
Fax: +1 302 429-9458
Mobile: +1 302 377-1508 (in USA)
Mobile: +44 (0)7876 184538 (if in a GSM zone)
Email: [hidden email]
W: //www.mccannscience.com/
POB 902, Chadds Ford PA 19317 USA.
"Practical solutions to problems in business, engineering and science
through quantified analysis."




Michael J. McCann Michael J. McCann
Reply | Threaded
Open this post in threaded view
|

RE: System Identification with frfit()

John,
         The elastic belt will give a compliance and a means of
storing energy hence an increase in the order of the system. I see
the inertia of the motor, the stretch of the belt and the inertia of
the load  as energy storage elements, maybe an inductance in the
motor. Each will be a second order component dx/dt and x(t), though
maybe the belt can be considered a spring of zero inertia. The
backlash in the gears will create another non-linearity and a
potential for trouble when you try to get it under control. We could
always do a simulation and a time domain solution (Scicos).
Mike.
==================
At 12:48 2008-05-06, you wrote:
>Hi Mike,
>Thanks for the suggestion; I'll give it a go. The system should be simple,
>it's a DC motor driving a solid load via gears and belts. I think that the
>complexity comes from stretching in the belts, lost motion in the gears and
>nonlinear effects in the motor, which is why I was looking to identify it
>empirically.
>Regards, John