I am using invfreqs to obtain a transfer function from measured frequency response data. I employed the frequency scaling tip from the documentation to prevent numeric issues using the iterative method of invfreqs. I obtained a good transfer function, but need to re-scale back to the proper frequency space (Bode plot of transfer function shows frequency mapping issue). How do I re-scale the results back to my original frequency space?

2 commentaires

Star Strider
Star Strider le 25 Août 2015
Posting your code (or attaching it if it is longer than about 20 lines, and attaching your data file if necessary, using the ‘paperclip’ icon and completing both steps for each file) would help.
Stephanie
Stephanie le 8 Sep 2015
I thought the question was fairly generic so I didn't attach code. Regardless I found a solution. I converted the invfreqs output transfer function numerator and denominator to zero-pole form, scaled the zeros and poles by the inverse of the frequency scaling used prior to the invfreqs call, and then converted back to transfer function form. This solution works, but there may be other solutions as well. This one was not exactly elegant.

Connectez-vous pour commenter.

 Réponse acceptée

Stephanie
Stephanie le 8 Sep 2015

0 votes

An answer is the following: Convert the invfreqs output transfer function numerator and denominator to zero-pole form, scaled the zeros and poles by the inverse of the frequency scaling used prior to the invfreqs call, and then convert back to transfer function form. This solution works, but there may be other solutions as well. This one was not exactly elegant.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by