Bode Plot Phase Angles are greater than 180 degrees.
147 ビュー (過去 30 日間)
古いコメントを表示
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
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Plot Customization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!