# A confusion about a transfer function's Bode plot and s domain view

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: 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)|: 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?

Edit:

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: But on the other hand look what happens below when you plot the Bode plot linearly ω versus |H(jω)|: MATLAB plots infinity as 1.

• 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$? Jul 13, 2017 at 14:34
• 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 Jul 13, 2017 at 16:19

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.

• 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.
– user128351
Jul 13, 2017 at 12:04
• @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? Jul 13, 2017 at 12:46
• Yes, an integrator is 1/s 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. 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. On the other hand, Mathcad predicts the gain approaching infinity as $s$ approaches 0 with $H_1$.