0
\$\begingroup\$

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?

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:

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.

\$\endgroup\$
2
  • \$\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\$ 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\$ Commented Jul 13, 2017 at 16:19

2 Answers 2

2
\$\begingroup\$

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.

\$\endgroup\$
3
  • \$\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\$ 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\$ Commented Jul 13, 2017 at 12:46
  • \$\begingroup\$ Yes, an integrator is 1/s \$\endgroup\$ Commented Jul 13, 2017 at 12:51
1
\$\begingroup\$

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\$.

\$\endgroup\$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.