Properties of the system

That was so much for the basic concepts behind the internal working of the optical mouse, but what the user is really concerned with is the mouse as a system and how the cursor on the screen moves with the movement of mouse along a path. So, let us analyze the properties of mouse as a system using the concepts of “signals and systems”. Now we shall consider two very simplified signals which help us determine the basic properties of the system(mouse) for any general input.

Signal Type A: Consider a simple system in which the optical mouse moves(assume that the mouse is at all the times in contact with the surface) only along a straight line (let us say the x or the horizontal axis) with a constant speed (let speed = v inches /seconds). Attach a set of coordinates to the screen of the monitor with origin at the center, similarly attach a set of coordinates to the surface on which mouse moves. Assume that we start the system at t=0 and at t=0 both, the mouse and the cursor are at the origin. Now for our simple system when mouse moves by a distance d the cursor also moves along the straight line with the same slope in the same direction(x axis in our example) by a distance k*d (where k depends on counts per inch which again depends on the speed of the mouse).

Let us see the properties of the simple system described above:-
Consider the mouse moving along a curve as an input signal to the system, and the output is the cursor moving. Input signal for the system is ux1(t) and the corresponding output is vx1(t) For constant speed we have
vx1(t)= k1* ux1(t)
(where k1 depends on the speed v and is ³ 1 )
Input signal for the system is ux2(t) and the corresponding output is vx2(t) such that
vx2(t)= k2* ux2(t) (where k2 depends on the speed v and is ³ 1 )
here k1=k2=k as speeds are same

Memory:
This system can be called memory less in the sense that the shape and direction of the output to a given input does not depend on the past input. But it can also be called a system with memory as the coordinates of the points on the output depend on the previous input.

Causality:
The system is causal as the output at a given instant in no way depends on the future input.

Shift Invariant:
This system is shift invariant as when the input is moved on the time axis by t1, the output will also move only on time axis by t1, as output depends only on the input curve and the speed with which it is given. In other words the cursor traces the same curve for a given input irrespective of the time at which the input is given


The input is shifted in time, output remains same, but is shifted in time
Stability:
The system here is stable - The output to any input is always bounded by the boundaries of monitor.

Invertible:
The simple system stated above (input is a straight line with a constant speed = v) is Invertible If we consider all the inputs with same speed then there will be unique output corresponding to a input and for two different inputs the output will not be the same. So the system is one - one. If we define the range to be the set of all the outputs with the cursor moving along a straight line with constant speed, then our system will be onto. So our simple system is one - one onto and hence is invertible.

Linearity:
Additivity:
Now suppose we give the input
ux3(t) = ux1(t) + ux2(t), which gives us the output vx3(t).
ux3(t) = ux1(t) + ux2(t), (0 ux3(t)=ux1(t),(t1£t Under the signal ux3(t) the mouse moves with constant speed of 2v (0
If we increase our domain to the curves which are traced with two different speeds then the input ux3(t) lies in our domain, and now we consider its output vx3(t)=ux3(t)[k3*(u(t)-u(t-t1))+k*(u(t-t1)-u(t-t2))] (where k3 a constant > k)
vx1(t) + vx2(t) = k(ux1(t) + ux2(t))=k*ux3(t)


Speed of the cursor varies linearly with the speed of the mouse. So we have k3 = 2*k
hence, vx3(t)=ux3(t)*k*(u(t)-u(t-t1)+u(t)- u(t-t2))
vx3(t)¹k*ux3(t)
Case II:
Speed of the cursor varies nonlinearly with speed of the mouse. So we have k3 ¹ 2k
hence, vx3(t) ¹ vx1(t)+vx2(t)
Therefore the system is not additive. Now, if we define addition of two input signals as one signal followed by another signal ,i.e. we add one signal to the shifted version(the shifted version remains the same as the system is shift invariant) of the other signal such the end point of one signal coincides with starting point of other signal, then the system is additive.

H omogeneity:
Now suppose we give the input ux3(t) = p * ux1(t)
Under the signal ux3(t)the mouse moves with constant speed = p*v. So again the curve ux3(t) does not belong to the domain of our simple system as ux3(t) a speed different from v. If we increase our domain to the curves which are traced at any constant speed then the input ux3(t) lies in our domain, and now we consider its output
vx3(t) = k3*ux3(t)
 vx3(t) = k3*p*ux1(t)

Case I:
Speed of the cursor varies linearly with the speed of the mouse.
So we have k3 = p*k
hence, vx3(t)=ux3(t)*k*p = p*k*p*ux1(t)=p*p*vx1(t)
Case II:
Speed of the cursor varies nonlinearly with speed of the mouse.
so we have k3 ¹ p*k
hence, vx3(t) ¹ p*vx1(t)
therefore system is not homogeneous Hence the system is nether additive nor homogenous. System is non linear.
Similar analysis can be done taking the mouse movement along the y axis, and hence all above properties holds for the movement of the mouse along the y direction.

Any curve traced by the mouse with the constant speed can be approximated as a combination of very large number of small shifted segments of lines parallel to x axis and y axis traversed with constant speed.



The above properties hold for each of these segments, (as our system is shift invariant). So the above analysis holds in general for any curve traced with constant speed.

Signal Type B
Consider a second simple system in which the optical mouse moves (assume that the mouse is at all the times in contact with the surface)only along a straight line (let us say the x or the horizontal axis) and it can move with two different speeds (let, speed1 = v1 inches/second, speed2 = v2 inches /seconds, assume that for any input that mouse can travel either with speed v1 or with speed v2). Attach a set of coordinates to the screen of the monitor with origin at the center, similarly attach a set of coordinates to the surface on which mouse moves. Assume that we start the system at t=0 and at t=0 both, the mouse and the cursor are at the origin. Now for our simple system when mouse moves by a distance d the cursor also moves along the straight line with the same slope in the same direction(x axis in our example) by a distance k*d (where k depends on counts per inch which again depends on the speed of the mouse).

Let us see the properties of the new system described above:- Input signal for the system are ux1(t) and the corresponding output is vx1(t) such that
vx1(t)= k1*ux1(t)
(where k1 depends on the speed v1 and is ³ 1 ) ux2(t) and the corresponding output is vx2(t)

such that
vx2(t)= k2* ux2(t) (where k2 depends on the speed v2 and is ³ 1 )

Memory:
This system, like the previous, can be called memory less in the sense that the shape and direction of the output to a given input does not depend on the past input. But it can also be called a system with memory as the coordinates of the points on the output depend on the previous input.

Causality:
The system is causal as the output at a given instant in no way depends on the future input.

Shift Invariant:
This system is shift invariant as when the input is moved on the time axis by t1, the output will also move only on time axis by t1, as output depends only on the input curve and the speed with which it is given. In other words the cursor traces the same curve for a given input irrespective of the time at which the input is given.

Stability:
The system here is stable - The output to any input is always bounded by the boundaries of monitor.

Invertible:
The system stated above (input is a straight line with a constant speed = v1 or v2) is Invertible For any given output signal traced with a certain speed along a given curve there corresponds a unique input. Hence, our system being one-one onto is invertible.

Linearity:
Additivity:
Now suppose we give the input ux3(t) = ux1(t) + ux2(t)
which gives us the output vx3(t).
ux3(t) = ux1(t) + ux2(t),(0 ux3(t) = ux1(t),(t1£t Under the signal ux3(t)the mouse moves with constant speed = v1+v2 (0 system as ux3(t) has changing speed.

If we increase our domain to the curves which are traced with three different speeds then the input ux3(t) lies in our domain ,and now we consider its output.

vx3(t)=ux3(t)[k3*(u(t)-u(t-t1))+k1*(u(t-t1)-u(t-t2))] ( where k3 is a constant > k)
vx1(t) + vx2(t) = (k1*ux1(t) + k2*ux2(t)) ¹ vx3(t)

Therefore system is not additive


But, if we define addition of two input signals as one signal followed by another signal, i.e. we add one signal to the shifted version (the shifted version remains the same as the system is shift invariant as shown below) of the other signal such the end point of one signal coincides with starting point of other signal, then the system is additive.



Homogeneity:
Now suppose we give the input ux3(t) = p * ux1(t)
Under the signal ux3(t)the mouse moves with constant speed = p*v. So again the curve ux3(t) does not belong to the domain of our simple system as ux3(t) a speed different from v . If we increase our domain to the curves which are traced at any constant speed then the input ux3(t) lies in our domain, and now we consider its output

vx3(t) = k3*ux3(t)
vx3(t) = k3*p*ux1(t)


Case I:
Speed of the cursor varies linearly with the speed of the mouse. So we have
k3 = p* k
hence, vx3(t)=ux3(t)*k*p = p*k*p*ux1(t)=p*p*vx1(t)

Case II:
Speed of the cursor varies nonlinearly with speed of the mouse.
so we have k3 ¹ p*k.

hence, vx3(t) ¹ p*vx1(t)
therefore system is not homogeneous
Hence the system is neither additive nor homogeneous. So, the system in non linear

The above analysis can be applied similarly to the movement along the y axis.
The above analysis can now be generalized over all the permitted speeds for the mouse. Given a general curve which is traced by the mouse at varying speed, can be expressed as the summation of shifted versions of small segments (small displacements along x and y axes ) traced with different speeds. Therefore the properties for any general input can be derived from the properties of the two simple cases considered above.

Miscellaneous Properties
What happens if we lift the mouse above the surface (assuming mouse stops working as soon as it loses the contact of the surface)?

Now consider a three dimensional Cartesian coordinate system attached to the surface on which the mouse moves. Now lifting the mouse over the surface means we have a nonzero z coordinate. For this case we can define the system as follows for any non zero value of z the output does not change. Moreover, by moving mouse with nonzero z we shift the entire coordinate system to the point where z again becomes zero(the x, y coordinates in the shifted coordinate system of the point where z again becomes zero are same as those coordinates where the mouse last time had z=0 ). What happens when the cursor reaches its bound?

The cursor on reaching any of its bound stops responding to any motion of the mouse trying to take cursor beyond the bound, i.e. there is no output to any component of the input signal perpendicular to the bound at the boundary.