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 Kommentare

Star Strider
Star Strider am 25 Aug. 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 am 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Stephanie
Stephanie am 8 Sep. 2015

0 Stimmen

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.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by