Consider the transfer function which is approximated graph is:

enter image description here

enter image description here

I want to identify this function.

As far as I can tell, since we see decreasing by \$-20db/dec \$ at \$10^{-1}\$, we can conclude that the function has a pole there.

Also, we can see decreasing of \$-40dB/dec\$ at \$1\$, so we can conclude there's another pole there, and finally we see that at \$10\$ the slope increasing to be \$-20db/dec \$ and so we can conclude there's a zero there of the transfer function.

So far, I can tell that the function has the form $$ H\left(s\right)=A\frac{\left(s\pm10\right)}{\left(s\pm0.1\right)\left(s\pm0.1\right)} $$

Where \$A \$ is some constant. In order to decide whether the zeores and poles are on the right side of the plane or on the left side, lets examine the amplitude graph.

We can see decreasing by \$\pi/2\$ at \$0.1\$, so that this pole must be a left pole. In the same manner we can see decreasing by \$ \pi/2 \$ at \$1\$ so we can say that the pole at \$1\$ is also a left pole.

But then the zero at \$ 10 \$ contributes nothing? I know that a left zero contributes increasing of the phase by \$\pi/2 \$ and a right zero contributes decreasing of the phase by \$ \pi/2 \$.

I'd appreciate some help of how to examine the phase graph in a correct way and determine what is the transfer funcion.

Thanks in advance/

  • \$\begingroup\$ Use a spreadsheet to plot the formula and compare it with the original. \$\endgroup\$
    – Andy aka
    Aug 14, 2021 at 10:12
  • \$\begingroup\$ @Andyaka I tried any combination of the coeeficients with matlab and always end up with decreasing of \$3\pi/2 \$ in the phase graph, while in the graph I posted there's only dereasing of $\pi\$ \$\endgroup\$ Aug 14, 2021 at 10:38
  • \$\begingroup\$ If the initial slope which you assumed starts at 0.1, actually started at 0.0, then the pole would have been at origin, i.e., an integrator. This would also explain why the phase response starts of at -90 deg. \$\endgroup\$
    – AJN
    Aug 14, 2021 at 10:38
  • \$\begingroup\$ @AJN On the one hand, Im not sure if Im allowed to assume that the pole is actually \$0\$, but on the other hand, if this pole is not at \$0\$ then we would see the impact of 2 poles nad one zero on the phase graph, and since we do not see any increasing it has to be the the poles are left and the zero is right, so we have to see decreasing by \$270 \$ degrees while we only see decreasing of \$180\$ degrees, so i guess you are right \$\endgroup\$ Aug 14, 2021 at 10:48
  • \$\begingroup\$ Maybe it's my eyes, but it looks like there's a hidden pole/zero pair around the middle of the slope. Not that it would matter that much. \$\endgroup\$ Aug 14, 2021 at 11:41

1 Answer 1


Steps I followed

  1. Noticing that the phase response seems to be flat at -90 deg near low frequency implies a pole at origin, as not at -0.1 as assumed by OP.
  2. Using the pole and zero at \$\pm 1\$ and \$\pm 10\$ from OP's original post,
  3. Trial and error to get the gain \$\color{red}{-}0.21\$.
  4. Trial and error for the location of the zero (LHS or RHS)
% Matlab / Octave
sys = tf(-0.21*[1, -10], [1, 1, 0]);

-0.21 (s - 10)
   s(s + 1)

We get

bode plot

note: x axis are different for both plots.

The sign of the gain and the half plane of the zero were obtained by trial and error, but could have been also found by equating

$$ \angle\frac{K \cdot 0.21 \cdot (s + L\cdot 10)}{s(s+1)}|_{s=1j,10j} \approx -140, -220\ \mathrm{deg} $$

fa = @(s,k,l,r) sign(k)*pi + atan2(s, l*10) - (pi/2 + atan2(s, 1)) - r

for k = [-1, 0, 1]
for l = [-1, 0, 1]
  result = fa([1;10], k, l, [-140; -220]*pi/180);
  fprintf('%3d, %3d, %7.3f, %7.3f\n', k,l,result(1), result(2))

 -1,  -1,  -0.012,   0.012  '<-- angles are closest for this combination'
 -1,   0,  -1.484,  -0.773
 -1,   1,  -2.955,  -1.558
  0,  -1,   3.129,   3.154
  0,   0,   1.658,   2.369
  0,   1,   0.187,   1.583
  1,  -1,   6.271,   6.296
  1,   0,   4.800,   5.510
  1,   1,   3.329,   4.725

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.