First of all, I would like to tell you that this is my first question on this forum and I found your topics and your answers very useful during my academic years so thank you all. At the moment I have the following problem:

I am trying to implement a transfer function for a rotary encoder to link the position of my mechanical system with the encoder measured position. This is a classical problem of model design to run a Simulink system. Exactly I would like to have a transfer function in the Laplace domain where the input-output relation is something like:

$$ \frac{angle_{measured}(s)}{angle_{real}(s)} =\frac{1}{1+s*T_{tv}} $$

I found on some books that this approach is the easier and got a good approximation and the terms are equal to:

$$ T_{tv}=\frac{1}{\omega_{tv}} $$

Where Wtv is the bandwidth of my encoder and s is the Laplace operator.

Then here comes my question, how can I find the bandwidth of a rotary encoder? I just have the specification of this which are linked here:


Thank you for the help guys.

  • \$\begingroup\$ You have messed a quadrature encoder (digital pulses) with some other kind of analogue sensor. \$\endgroup\$ – Marko Buršič May 10 '17 at 8:36
  • \$\begingroup\$ Well, in the book i am mentioning. This sort of approximation was made for a digital encoder used to feedback the position of a servomotor.. \$\endgroup\$ – it8 May 10 '17 at 9:16
  • 1
    \$\begingroup\$ You didn't mention any book, sorry. \$\endgroup\$ – Marko Buršič May 10 '17 at 9:45
  • \$\begingroup\$ Let me quote my post: "I found on some books that this approach is the easier and got a good approximation and the terms are equal to" i am just not giving the book name since this is in my native language and then i am just giving a translation of what is wrote on it \$\endgroup\$ – it8 May 10 '17 at 14:10

A rotary encoder produces a discrete output, not a continuous one so would perhaps the Z-transform be more appropriate. This book chapter gives a more thorough analysis (section 4.2.4 of Digital Control of Electrical Drives by Vukosavik).

  • \$\begingroup\$ Do you think it is a good idea to use a discrete to continuos domain conversion? \$\endgroup\$ – it8 May 10 '17 at 8:11
  • \$\begingroup\$ It is possible however you do need to take account of the unmodelled high speed dynamics - disturbances faster than the Nyquist limit in the system will not be modelled. You probably want to make sure that the sample rate is high enough for this to be valid. Also the actual transfer function will depend on the processing used on the digital signal to obtain the average speed - it is not just a function of the transducer alone. You may also have issues with the discrete step size if working at very slow velocities - you need to be sure that, for your system, this isn't an issue. \$\endgroup\$ – John May 10 '17 at 9:25

Fromenter image description here John's answer:

You can see the transfer function in z-domain (eq. 4.26). All you have to do is to approximate to s-domain or you mix the s-function and z-functions in same simulation session (I don't remember if it's possible). Another aspect of your simulation would be if it makes sense to simulate a discrete time controller/measuring device with continuous time simulation. From my point of view, it is obviously wrong way. Rather switch to discrete time (z-domain).


The bandwith you need depends on the time constant of your encoder. You should test the encoder by feeding it with a step function and recording its behavior. Therefore in your case you should apply a known constant angle (e.g. 0° or 90°) as input and then let it achieve the corresponding measured value. After measuring the time it takes to achieve the steady-state value, you can obtain the time constant you have indicated as Ttv (it should take c.a 3*Ttv to achieve the maximum); by the difference between the maximum value and the amplitute of the step you would you, you can get any possible gain to put into the transfer function; and by the time it takes to react at the step you can get any possible delay and then you can model it as:

$$W(s) = K\frac{1}{sT_{tv}+1}e^{-ds}$$


$$T_{tv}$$ is the time constant (it should spend 3 or 4 of it to reach the maximum); $$d$$ is any delay you can detect from the instant you apply the step to the very first reaction; and $$K$$ is the gain obtained as ratio between the value achieved at the steady state and the amplitude of the step.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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