I just finished reading this paper, on how to "draw" Bode plot for a given transfer function. After done reading I realized that it would be pointless to learn this stuff, if I wouldn't know how to make a transfer function of some system (filter, amplifier, etc.) by myself. So, how to make one? What kind of skills are needed for this task to be performed? Can it be done easily or does it require some higher math understanding?

On the other hand, I am wondering, whether is it even worth of struggle, when it comes to understanding of transfer functions of some system? Nowadays computer programs are able to do all that hard work in a matter of seconds, while a person might be struggling with some system for hours and not finding right solution. For example, LTSpice draws a Bode plot (magnitude/phase) for a given circuit for free. So, is there any good in studying and understanding such topics?

  • 2
    \$\begingroup\$ This is what the whole field of circuit analysis is about. It's one or two courses in an undergraduate curriculum. Much more than we can give you in an answer here unless you dramatically narrow down what you're asking. (Or if you really want to know "is it worth the struggle", then that's a matter of opinion, not the kind of thing we answer here) \$\endgroup\$
    – The Photon
    Aug 5, 2018 at 19:29
  • \$\begingroup\$ @The Photon: Cast a close vote? \$\endgroup\$ Aug 6, 2018 at 0:24
  • \$\begingroup\$ @PeterMortensen, I think I did already. (But I'm seeing some flaky behavior from the site) \$\endgroup\$
    – The Photon
    Aug 6, 2018 at 0:53
  • 1
    \$\begingroup\$ Its not as complicated as everyone will try to sell it as if you want to understand it on a basic level. For example, in a filter, such as an RLC, you simply transfer the values into the s domain. For example R = Z, C = 1/Cs, L = Ls. Then you just use the normal input/output transfer function equations and plug your new s domain values in and crunch the numbers. This will give you a final s domain transfer function you can put into Matlab or Octave and do whatever you want with. Same with opamp filters, just replace R2/R1 = Vin/Vout with your feedback values. \$\endgroup\$
    – user160063
    Aug 8, 2018 at 23:23
  • \$\begingroup\$ @sidA30 I didn't understand much of what you said. But if you have some source in mind (paper, pdf) then I would gladly read that. \$\endgroup\$
    – lucenzo97
    Aug 9, 2018 at 0:13

2 Answers 2


So, how to make one? What kind of skills are needed for this task to be performed? Can it be done easily or does it require some higher math understanding?

How to make a transfer function? you need to know the poles and zeros of your system. Normally this is done by physical modelling and converting the physical model to a model in the frequency space. For example: A low pass filter has one pole and one zero.

In the case of physical modeling it really helps to have an understanding of the frequency space, and more specifically the laplace domain. I would say this is required. The next higher math that helps is differential equations because the physical systems are really differential equations that have been simplified to laplace notation.

At minimum you need to understand polynomial algebra because that's what transfer functions consist of.

For example, LTSpice draws a Bode plot (magnitude/phase) for a given circuit for free. So, is there any good in studying and understanding such topics?

It helps to understand the math because instead of spending hours if there is some criterion that you are working to design, the transfer function that is needed can be predicted and they physically realized.

In control theory it is important to make sure the system is stable (ie that it will not oscillate or rail out and that it will move to the desired control input), in this case the physical system is modeled and then a controller is developed with a specific transfer function to maintain that stability.

This is more of a design question, there are two ways to design:

1) Simulate simulate simulate! or s^3 keep changing things until they work. There are many engineers that do this, the problem with designing this way is the systems they develop don't always work under all conditions, in part because they didn't adequately simulate the system. I've also seen software\firmware engineers use this strategy and play wack a mole with a problem until it goes away, only to return later or break something else.

2) Design, Build, Test. Sit down and actually understand what the problem is and what others have done to design systems as the one you want to build, this means spending time and educating yourself which takes effort. You build a list of requirements. The requirements are used to generate a design, on paper or on a computer. This may include checking it with a simulation to see if it meets the requirements. Then you build the design and check it against the requirements.

  • \$\begingroup\$ I would prefer the 2nd way of design. In my opinion it is the right thing to do (but as you said, takes a lot of effort to achieve that). \$\endgroup\$
    – lucenzo97
    Aug 9, 2018 at 0:42

Your question is best answered by simply quoting verbatim the last section of the Bob York paper you linked to. Although here he starts talking about accuracy, it's also relevant to the whole understanding of doing Bode plots manually. It's worth noting that most engineers who use transfer functions manually rarely need to use more than the amplitude Bode plot.

In fact this is an important issue because it concerns the broader question of what we are trying to accomplish with our investigation of Bode plots. Nowadays we have the luxury of making computer-generated amplitude and phase plots in a fraction of the time it takes to draw a hand sketch. So in many respects, it simply does not make any sense to waste valuable time in trying to make a highly accurate hand sketch. If analytical accuracy is what we’re after, then the computer is a better alternative. Furthermore, it turns out that in many practical applications it is rarely important to know the phase to a tenth of a degree. Often just knowing the phase to the nearest tens place is perfectly fine!

No, the real reason to persist in learning about Bode plots is the valuable insight it gives in connecting the shape of the frequency response to the transfer function. Knowing how poles and zeroes affect the amplitude and phase ultimately allows us to approach circuit analysis from a design perspective; that is, how do we design a circuit to give a desired frequency response? In this respect, computer-generated plots are not much help. They can tell you how a circuit will perform, but they can’t tell you how to improve the circuit.

So if we keep in mind that our main goal in drawing Bode plots is usually to explore qualitative behaviour of a circuit or transfer function, then the answer to the question is yes: we can usually take shortcuts like drawing the curve through the midpoint of the phase jumps. If more accuracy is required, the simple first-order corrections that we have developed can be used to adjust the plot accordingly. If even greater accuracy is required, then a computer-generated plot is needed.

What he's pointing out is the difference between analysis, and synthesis. Analysis, figuring out what a particular circuit is going to do, is easy, which is why computers can do it, and it's why students learn to do it, again, and again, in training. Synthesis, making a circuit that does what you want, is much harder, and that's what working engineers need to do. Understanding how to draw Bode plots manually lets you understand how they are driven from pole and zero locations, which in turn allows you to drive them from simple circuit elements.

Note that there's usually more than a few ways to implement any particular circuit pole. All of them will generate the same transfer function, but only a few, or one, may be permissible for other reasons like dynamic range, impedance level, noise level, power consumption, accuracy, stability, size. You need to be able to move quickly between equivalent circuit options and their behaviour to be able to evaluate these different implementations.


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.