# Why is interpolation a time varying system

I was reading about interpolation (Interpolation and Decimation of Digital Signals - A tutorial Review, Ronald E. Crochiere) and found that Interpolation filter is a time varying system. Can someone give an simple example why is it a time varying system. Because, as far as I understand, interpolation just stuffs zeroes between the samples to increase the sample rate by appropriate amount, even if we apply the input at a later time it should give the same output.
Also, even though the process is time varying we can represent it by using transfer functions. For instance, Zero order hold is represented by sinc filter. Why is this possible?

Considering a discrete-time framework, interpolation operation has two stage: first expand the signal by zero stuffing between the existing samples, and then lowpass filter the expanded signal to get the interpolated samples. The second stage is LTI, but the first stage (expansion) is not. Hence, an interpolator is not an LTI system.

The expansion stage is shown like $$x[n]\longrightarrow \boxed{ \uparrow L } \longrightarrow y[n]$$ and mathematically defined as

$$y[n] = \begin{cases}{ x[\frac{n}{L}] ~~~ , ~~~ \text{ for } n = m L~~ ,~~ m=0,\pm 1, \pm 2,... \\ ~~~ 0 ~~~~~ , ~~~ \text{ otherwise } }\end{cases}$$

Apply the test for time-invariance :

First, apply a shifted input $$x_d[n] = x[n-d]$$, and denote the output as $$y_d[n]$$:

$$y_d[n] = \begin{cases}{ x_d[\frac{n}{L}] = x_d[m] ~~~ , ~~~ \text{ for } n = m L~~ ,~~ m=0,\pm 1, \pm 2,... \\ ~~~~~ ~~~~ ~~~ 0 ~~~ ~~~~~~~~~~~~ ~, ~~~ \text{ otherwise }}\end{cases}$$

which becomes: $$y_d[n] = \begin{cases}{ x[\frac{n}{L} - d] = x[m-d] ~~~ , ~~~ \text{ for } n = m L~~ ,~~ m=0,\pm 1, \pm 2,... \\ ~~~~~ ~~~~ ~~~ 0 ~~~ ~~~~~~~~~~~~~~~~~ ~ , ~~~ \text{ otherwise } }\end{cases}$$

Second, just shift the output $$y[n]$$ by $$d$$, denoted as $$y[n-d]$$:

$$y[n-d] = \begin{cases}{ x[\frac{n-d}{L}]=x[m] ~~~ , ~~~ \text{ for } n-d = m L~~ ,~~ m=0,\pm 1, \pm 2,... \\ ~~~~~ ~ ~~~~ ~~~~ 0 ~~~ ~~~~~~~~~~ ~, ~~~ \text{ otherwise } }\end{cases}$$

which becomes: $$y[n-d] = \begin{cases}{ x[\frac{n-d}{L}] = x[m] ~~~ , ~~~ \text{ for } n = m L + d~~ ,~~ m=0,\pm 1, \pm 2,... \\ ~~~~~ ~~~~ ~~~ 0 ~~~ ~~~~~~~~~~ ~, ~~~ \text{ otherwise } }\end{cases}$$

As you can see, $$y_d[n]$$ and $$y[n-d]$$ are not the same signals. You can explicitly see this by evaluating them for specific values of $$n$$ and $$d$$, such as $$d=1$$ and $$n = L$$, then $$y[n-d] = y[L-1] = 0$$ while $$y_d[n] = y_d[L] = x[0]$$, hence $$y[n-d] \neq y_d[n]$$. Therefore, the expander (or as a consequence the interpolator) is a Time-Varying system which is not LTI.

• Thank you for clear explanation...Could you also explain why can we represent interpolation filters with transfer functions even though the process itself is time varying. Nov 18 '18 at 12:04
• you cannot represent an interpolator with a transfer function (Z-transform of an associated (inexistant) impulse response) in the sense of $Y(z) = H(z) X(z)$ where x[n] is the input and y[n] is the output. Note that the Z-domain relation for the interpolator $Y(z) = H_{LPF}(z) X(z^L)$ does not mean the same thing as a transfer function as its not $X(z)$ but $X(z^L)$ involved. Nov 18 '18 at 13:26