# How to shift input for testing shift invariance in a system?

As I know, when we want to test if a system is shift invariant, we define system as $g(x) = H(f(x))$ which $f(x)$ is the input function, $H$ is the system and $g(x)$ is the output function. Then we use $f(x+x_0)$ as input and compare $H(f(x+x_0))$ with $g(x+x_0)$, but my problem is that why $x_0$ is not considered as input, to be clear, I give the following example from this link:
Consider the system $H(x) = f(2x)$, in the solution part, it is said that $x_0$ is just a constant and should not be considered in input and $H(f(x+x_0)) = f(2x+x_0)$, but I can't understand why? if we change the variable ($y = x+x_0$) then $H(y) = f(2y) = f(2x+2x_0)$. Can anybody please explain this for me?

• I think you should rephrase all the question. – LJSilver Nov 11 '16 at 9:55
• And please define in a better way what you use. For instance, H seems to me an operator acting on functions, so shift invariance should be with respect to functions too. Or, if H acts on the sequences $x$ then your definition should be revised in my opinion – LJSilver Nov 11 '16 at 10:00
• @LJSilver Thanks, I changed it a little, I hope it is better now. – user137927 Nov 11 '16 at 10:14

Time invariance: changing $x$ by $x-x_0$ do not affect anything.

Example 1: "Multiplying the argument by 2" operator $$H(f(x))=f(2x)$$

Note the operator is very tricky: multiplying the argument by 2.

For example: $$H(sin(x))=sin(2x), H(x^2+1)=4x^2+1, H(e^x)=e^{2x}$$

The invariance is tested by comparing a shift in the signal vs a shift in the result of the operator: $$H(f)|_{x-x_0}=H(f|_{x-x_0})$$

For the LHS: $$H(f)|_{x-x_0}=f(2x)(x-x_0)=f(2(x-x_0))$$ The function is $f(2x)$, which is shifted by $x_0$.

For the RHS $$H(f|_{x-x_0})=f(2x-x_0)$$ The function is $f(x-x_0)$, which is converted to $f(2x-x_0)$.