Hi hoki,
You apparently know how to proceed yourself (check accuracy) so it's only
a hop plus a skip to get to the correct answer for any possible transfer function.
The saving grace comes in the form of the two argument inverse tangent function.
The two argument itan function, as the name implies, takes two arguments rather
than just one like itan(45). The difference is that the two arg itan function can
distinguish between angles such as when imag is negative and real is negative.
The single arg itan can not do that because of course a negative divided by a
negative is a positive, so it thinks that the angle is in the first quadrant rather
than the third.
You can probably find the two argument itan(a,b) on the web, but if not,
just think of the real and imaginary parts as being positive (take abs() of each)
and figure out the angle yourself by noting the position in the complex
plane and figuring how the result of the single argument itan() should be
modified.
As you probably know, we can form a little table:
i,r,Quadrant:
++ First quadrant
+- Second quadrant
-- Third quadrant
-+ Fourth quadrant
By using this table, you can correct the angle returned with arctan(abs(y/x)).
The x and y signs however should come from the complete x and y, which in this
case is the real and imaginary:
real=w^2/(w^4-w^2+1)
imag=(w-w^3)/(w^4-w^2+1)
If we inspect the real part of this solution, we find that it stays positive,
but the imag part can swing plus or minus. This means that the solutions will
all lie between -90 and 90 degrees (first and fourth quadrants) so the
single argument arctan() function will work for this particular function.
There are functions that this will not work with however, such as:
H(s)=s^2/(s^3+s^2+s+1)
in which case we are forced to either use the two argument itan function or
figure out the angle from inspection of the imag and real parts.