Bode Plot Phase Angles are greater than 180 degrees.

27 views (last 30 days)
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?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 18 Jan 2024
Edited: MathWorks Support Team on 29 Feb 2024
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:

More Answers (0)

Tags

No tags entered yet.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!