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?
-
$\begingroup$ I think you should rephrase all the question. $\endgroup$– LJSilverCommented Nov 11, 2016 at 9:55
-
$\begingroup$ 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 $\endgroup$– LJSilverCommented Nov 11, 2016 at 10:00
-
$\begingroup$ @LJSilver Thanks, I changed it a little, I hope it is better now. $\endgroup$– user137927Commented Nov 11, 2016 at 10:14
1 Answer
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)$.