Bode Plot Phase Angles are greater than 180 degrees.

147 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2019 年 4 月 19 日
編集済み: MathWorks Support Team 2024 年 2 月 29 日
I followed the example for Pade approximation below
>> s = tf('s');
>> sys = exp(-0.1*s);
>> sysx = pade(sys,3)
>> bodeplot(sys,sysx)
When I plot the bode plot of the approximated transfer function ('sysx'), the plot shows +720 degree phase shift relative to the pure delay ('sys'). This seems to be a large phase difference. How can I fix this?

採用された回答

MathWorks Support Team
MathWorks Support Team 2024 年 1 月 18 日
編集済み: MathWorks Support Team 2024 年 2 月 29 日
The goal in this case is to bring us back to within -180 to 180 degrees. To resolve the issue we can use the 'PhaseWrapping' property of "bodeplot".
To have a look at 'PhaseWrapping' in documentation please run the below command in the MATLAB R2018b command window to get the release specific documentation
web(fullfile(docroot, 'ident/ref/bodeoptions.html#brin365-1'))
When Phase Wrapping is on we are able to wrap around 'PhaseWrappingBranch' angle as soon as we exceed an angle limit in range (currently -180,180).
Using the set of lines below:
>> s = tf('s');
>> sys = exp(-0.1*s);
>> sysx = pade(sys,3);
>> opts = bodeoptions('cstprefs');
>> opts.PhaseWrapping='on'
>> bodeplot(sys,sysx,opts)
This will display the angle within (-180,180) range.
Please follow the below link to search for the required information regarding the current release:

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePlot Customization についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by