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 |
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." |
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 |
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 |
Free forum by Nabble | Edit this page |