Bode Plot Phase Angles are greater than 180 degrees.

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?

 采纳的回答

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 个)

类别

帮助中心File Exchange 中查找有关 Time and Frequency Domain Analysis 的更多信息

产品

版本

R2018b

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by