Recently I have been stuck with a simple Bode plot and H(s) comparison.

To begin with, here is the transfer function:

H(s) = 1/s

For Bode plots I write:

H(jw) = (jω)^-1 = 1/(jω)

For the magnitude and phase I use:

|H(jω)| = 20*log(abs(H)) versus log(ω) and here is the plot:

enter image description here

You see above at ω = 0 the dB is finite and in this case it is zero.

Now I 3D plot |H(s)| on the s-plane and try to see how it will show up along the imaginary axis. It is because the Bode plot should be the projection of |H(s)| on the imaginary axis.

Now below is the plot of |H(s)|:

enter image description here

As you see, for the same transfer function 1/s the projection of |H(s)| on the imaginary axis is not the same with the Bode plots I obtained at the beginning. The Bode plot is logarithmic but the at ω = 0 projection of |H(s)| on the imaginary axis goes to infinity, on the other hand in the Bode plot it is zero.

What is wrong here?


From the answer I found out the problem was I was blindly plotting versus log10(ω).

Actually when transfer function is in dB it becomes as:

enter image description here

But on the other hand look what happens below when you plot the Bode plot linearly ω versus |H(jω)|:

enter image description here

MATLAB plots infinity as 1.

  • \$\begingroup\$ Does Matlabl plot infinity as 1? Or does it not plot infinity at all, and the last point it did plot is for \$\omega = 1\$? \$\endgroup\$
    – The Photon
    Commented Jul 13, 2017 at 14:34
  • \$\begingroup\$ The thing is the plot above the x-axis increment set as ω=0:1:10000. So MATLAB finds the minimum correct point for |H(jω)| at ω=1. At ω=0 MATLAB plots the |H(jω)| as "one" instead of infinity as in the above plot. But instead for example if the x-axis increment set as ω=0:0.1:10000; in this case the increment is 0.1 and at ω=0 MATLAB plots the |H(jω)| as 10. Similarly for an increment of x it starts from 1/x (makes sense actually but this causes error between zero and 1/x) instead of infinity-like point and that makes the plots look different for different increments. It doesn't give a warning \$\endgroup\$
    – user16307
    Commented Jul 13, 2017 at 16:19

2 Answers 2


You see above at ω = 0 the dB is finite and in this case it is zero

No, that is not true; \$\omega\$ = 1.

Look at your graph - you are are plotting against a base of log\$_{10}(\omega)\$.

At \$\omega\$ = 1, H(s) will be 0 dB. 0 dB = unity or 1.

For an integrator, at zero frequency, gain will be infinite because that is where the pole is.

  • \$\begingroup\$ Text books often have notes on Bode magnitude plots saying "same slope to 0 frequency," which should clue you in that 0 is a long ways off. \$\endgroup\$
    – user128351
    Commented Jul 13, 2017 at 12:04
  • \$\begingroup\$ @Andy aka You are very right I edited my question. Another thing is MATLAB plots infinity as one. Btw you meant 1/s is a transfer function of an integrator in practice? \$\endgroup\$
    – user16307
    Commented Jul 13, 2017 at 12:46
  • \$\begingroup\$ Yes, an integrator is 1/s \$\endgroup\$
    – Andy aka
    Commented Jul 13, 2017 at 12:51

The practical realization of an integrator implies an active circuit having a finite gain like the open-loop gain of an op amp \$A_{OL}\$ for instance. In this case, the integrator is built with an \$RC\$ network associating a time constant \$\tau\$ to \$s\$ in the denominator.

enter image description here

The perfect transfer function \$H_1(s)=\frac{\omega_p}{s}\$ in which \$\omega_p=\frac{1}{\tau}\$ with \$\tau=RC\$ becomes \$H_2(s)\approx\frac{A_{OL}}{1+\frac{s}{\omega_p}A_{OL}}\$ if we neglect the low-frequency pole of the op amp. The gain as \$s\$ approaches 0 is bounded by the op amp open-loop gain as the below Mathcad sheet shows.

enter image description here

On the other hand, Mathcad predicts the gain approaching infinity as \$s\$ approaches 0 with \$H_1\$.


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.