Skip to main content
19-Tanzanite
September 9, 2020
Solved

Phase Plot Error - Bode Diagrams

  • September 9, 2020
  • 2 replies
  • 19995 views

Hello,

I encountered a problem with the Bode Diagrams...

How can correct the Phase Plot of the Bode Diagrams for a system which has, for example and simplicity,  two poles in origins? 

The Phase Plot shows that the system has a +180 degree which is not correct. The system should have a -180 degree.

Thank you.

Best answer by LucMeekes

In electric engineer it is quite customary to have phase plots run continuously, outside of the border of one 'revolution'. A simple fixed delay in time, will produce a continuous phase shift as a function of frequency. This can be tracked, even in Mathcad, to produce a continuous phase plot. BUT it requires prior knowledge in order to track. You have to know the phase shift at one frequency to now how to deal with the phase shift at the next frequency: when it jumps more than 180 degrees either way, you can correct for that by adding or subtracting 360 degrees. Examples of functions that do that are available.

The examples provided by the OP don't allow tracking, becasue the phase shift is the same for all frequencies.

 

Luc

2 replies

25-Diamond I
September 9, 2020

The "arg" function will always return values in the range -180° < arg(x) <= 180°. The same applies to the "atan2" function. A phase shift of -180° is equivalent to a phase of +180°.

If you want the "arg"-function to work in a different range (with width 360°) you have to to redefine the "arg"-function to fit your needs.

Using the "arg"-function as defined will always make your phase plot jump if the phase exceeds 180 ° or falls below -180 °.

Cornel19-TanzaniteAuthor
19-Tanzanite
September 9, 2020

But what factor do I need to add to arg(x) to change to the range/width to 0-360 degrees?


Here is what I'm tried to do:

AndrewClyde_1-1599664681495.png


But yet the results are not satisfactorily:

AndrewClyde_2-1599661046726.png

 

AndrewClyde_0-1599668997675.png

AndrewClyde_3-1599661076954.png


What am I missing?
Or, what mistake do I do?

23-Emerald IV
September 9, 2020

If you want an arg() that returns values from 0 to 2*pi, define e.g.:

LucMeekes_0-1599672286491.png

Success!
Luc

25-Diamond I
September 12, 2020

This discussion is already far too confusing and the forum software unfortunately does not provide any useful means to find your way more easily in a longer and branched thread.
Therefore I am answering directly to the first entry to put this answer at the end.

I was asked to send the file with the bode function again, so I revised it and added Fred's idea of transferring the factors of the transfer function individually in a field.

The phase correction (eg by "phasecor") does not always seem to make sense and therefore the bode function now offers the option with the last argument to activate it (or not).

Perhaps the function can be useful to one or the other - have fun with it.

 

MC15 worksheet and pdf-print attached

 

25-Diamond I
September 12, 2020

Here is the Mathcad 11 version of the file just posted.

 

EDIT:

Added replacements for "phase" and "phasecor"

Werner_E_0-1599922217398.png