Following example using 'tfestimate' - Model has larger frequency range than data

5 visualizzazioni (ultimi 30 giorni)
Hi,
I am trying to fit some frequency domain data in order to obtain a transfer function model. The frequency response data (H) is exported from an EDA tool as a .mat file, which contains frequency (Hz), mag(H) and phase(H). I am following the example given in the following link
Initially I wasn't specifying the frequency range as seen in the video; linspace(), but rather calling it from the .mat file. The result of 'tfest' produced a model which had an extended frequency range, as seen here in the attachment. I then specified the frequency as done so in the above link. However, the results were the same as in the attachment. As I am estimating the TF in order to get the pole-zero plot, I fear that the model which has the 'extended' frequency range will produce unnecessary poles and zeros.
Could someone please advise as to what I may be doing wrong? My MATLAB skills are a bit rusty and this is my first time needing to do such a task so I apologise for any "beginner mistakes".
Thank you kindly.

Risposta accettata

Rajiv Singh
Rajiv Singh il 5 Ago 2019
The identififed model will have its behavior defined for all frequencies (0 to Inf). The identification algorithm is concerned with fitting the response at the specified frequency points. For unseen frequencies the behavior is not guaranteed; indeed a higher than necessary order model could show dynamics not observed in the data. And this can happen even within the span of measurements.
While it makes sense to have a specification like, the response at unseen frequencies must be in certain range of magnitude, the tfest algorithm does not provide a direct way of handling it. Some tips:
  1. Pick the smallest possible order. That will minimize the chances of getting unexpected modes in the identified model.
  2. (if possible) Extend the data beyond the measured values based on your prior knowledge of what the response "ought to be" at those frequencies.
Rajiv

Più risposte (0)

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by