I have a system governed by the following relationship:

\$V_{OUT} = m * I_{IN} + 5\$

I need to write a transfer function for the equation. Would anyone please give me some suggestion of how to handle the constant term?

  • \$\begingroup\$ pre-calclated lookup table for current_input >> voltage_out? \$\endgroup\$
    – kenny
    Apr 10, 2012 at 19:26
  • \$\begingroup\$ @Kellenkb I think it's assumed that he wants a transfer function in terms of Vout/Iin. As Jeff E mentions below it can't be (easily) done, as his transfer function doesn't describe an LTI system. If the 5V offset is the only DC offset in an otherwise linear system one could always remove it and then add it back in later. \$\endgroup\$
    – MattyZ
    Apr 10, 2012 at 20:14
  • \$\begingroup\$ Don't transfer functions apply to the systems? A system means a function with state. I see that you just scale input value and add 5 to it. I do not see any feedbacks for this to be a valid system. I do not see that homogentity is a ptoblem. \$\endgroup\$
    – Val
    Jul 24, 2014 at 17:46

2 Answers 2


You can't. Your system is not a linear map. In general, a transfer function can only be derived from a system that's linear and time-invariant (LTI). The constant term violates this linearity.

Specifically, the requirements for a linear map are:

1) \$y(x_1 + x_2)=y(x_1)+y(x_2)\$ (additive)

2) \$y(a x)=a y(x)\$ (homogeneous)

If you plug-n-chug into both equations, the violation should be clear:



\$y(x_1)=mx_1+5\$, \$y(x_2)=mx_2+5\$, \$y(x_1)+y(x_2)=mx_1+mx_2+10\$

\$y(x_1+x_2)=m(x_1+x_2)+5=mx_1+mx_2+5 \neq y(x_1)+y(x_2)\$



\$ay(x)=a(mx+5)=max+5a\neq y(ax)\$

  • 1
    \$\begingroup\$ The system is linear, but V is not equal to 0 when I is 0. \$\endgroup\$
    – Superhero
    Apr 10, 2012 at 19:49
  • 3
    \$\begingroup\$ You can only have a transfer function of a linear time-invariant system. It's not linear, as it isn't additive nor homogenous: en.wikipedia.org/wiki/Linear_map \$\endgroup\$
    – Jeff
    Apr 10, 2012 at 19:56
  • 2
    \$\begingroup\$ @JeffE Boo to whoever downvoted your answer - y = mx + b is a linear function, but it's not a linear map. Apparently it's possible to derive a nonlinear transfer function of a time domain equation with constant terms, but you'll have to pay $36 to see how to do it: sciencedirect.com/science/article/pii/S0888327085700416 \$\endgroup\$
    – MattyZ
    Apr 10, 2012 at 20:06
  • 2
    \$\begingroup\$ I didn't downvote, but I'm not going to upvote this answer in its present form either. While what you say is correct, it is unlikely to be very illuminating to the OP. Then there is "linear" and "linear". You obviously mean it in the linear systems sense where that term has a very specific definition, and the constant term violates that definition. However, in the wider english language it's meaning can be more relaxed, like "any mapping that could be plotted as a line", for example, which does work for this function. \$\endgroup\$ Apr 10, 2012 at 21:15
  • 2
    \$\begingroup\$ It is linear in the multivariate sense: Vout is a linear combination of Iin and 1 (or any other constant voltage). Thevenin equivalents are linear in this sense. \$\endgroup\$
    – Jason S
    Apr 11, 2012 at 0:14

Jeff is right. The system is not linear, it is affine. You can approach this by changing the system slightly to get a linear system. You can split the input into two parts, a constant nominal value and a perturbation from that nominal value: $$V_{IN} = \bar{V}_{IN} + \delta V_{IN}$$ As you can see, setting the nominal part to -5/m will ensure the system is linear between the perturbation and the output: $$\bar{V}_{IN} = -\frac{5}{m}$$ $$V_{OUT} = m*\left(-\frac{5}{m} + \delta V_{IN} \right) + 5 = m* \delta V_{IN}$$ Your transfer function would then just be: $$\frac{V_{OUT}(s)}{\Delta V_{IN}(s)} = m$$

The system's block diagram would just look like this:


simulate this circuit – Schematic created using CircuitLab


Your Answer

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

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