Reducing fast dynamic poles in a transfer function.

조회 수: 6 (최근 30일)
Edward Simpson Songel
Edward Simpson Songel 2021년 2월 27일
댓글: Edward Simpson Songel 2021년 2월 28일
Imagine I have a tf that looks something like this: G(s) = 1/((s+70)*(s+5))
Is there some sort of command that can return a transfer fucntion that get's rid of the fastest dynamic pole?
In the example given above my output would be something like this: G(s)=1/(s+5).
Thanks in advance.

채택된 답변

Paul
Paul 2021년 2월 27일
편집: Paul 2021년 2월 27일
Maybe freqsep() is what you want:
>> G=tf(1,conv([1 5],[1 70]))
G =
1
----------------
s^2 + 75 s + 350
Continuous-time transfer function.
>> [Gs,Gf]=freqsep(G,10)
Gs =
0.01538
-------
s + 5
Continuous-time transfer function.
Gf =
-0.01538
--------
s + 70
Continuous-time transfer function.
>> bode(Gs,h);
The dc gain of Gs will need to be adjusted to match the dc gain of G if you intend to use Gs as a low frequency approximation to G. This doc page is a good source for starters. There are also additional pages in Robust Control Toolbox for model reduction.
  댓글 수: 2
Edward Simpson Songel
Edward Simpson Songel 2021년 2월 28일
Hello Paul.
This command is exactly what I was looking for, managed to do what I needed.
Thanks for the quick reply!
I will be fowarding this post to my class-mates if that's alright.
Kind regards.
Edward
Edward Simpson Songel
Edward Simpson Songel 2021년 2월 28일
P.S. Thanks for the further resources on the subject too.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by