Reducing fast dynamic poles in a transfer function.
7 ビュー (過去 30 日間)
古いコメントを表示
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.
0 件のコメント
採用された回答
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.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!