Bode Plot Phase Angles are greater than 180 degrees.
27 views (last 30 days)
Show older comments
MathWorks Support Team
on 19 Apr 2019
Edited: MathWorks Support Team
on 29 Feb 2024
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
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:
0 Comments
More Answers (0)
See Also
Categories
Find more on Time and Frequency Domain Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!