# Shift and convolution in matrix form

1. Sep 9, 2010

### valjok

The operators act on a vector to produce another vector. They are matrices, therefore. For instance, the backward shift (aka delay) operator, z, acting on vector, say y, translates k-th element into k-1-th: zyk = yk-1. It is normally z-1 in z-transform but I will ignore the difference where it is clear. I guess that the long matrix form of operator is

$$z\left[\begin{array}{c}y_0\\y_1\\y_2\\y_3\end{array}\right] = \left[\begin{array}{cccc}z&0&0&0\\0&z&0&0\\0&0&z&0\\0&0&0&z\end{array}\right] \left[\begin{array}{c}y_0\\y_1\\y_2\\y_3\end{array}\right] = \left[\begin{array}{c}zy_0\\zy_1\\zy_2\\zy_3\end{array}\right] = \left[\begin{array}{c}0\\y_0\\y_1\\y_2\end{array}\right]$$

Correct me if I am wrong identifying the diagonal matrix with multiplication operator. Similarly to scalar operator, say 3, that uniformly multiplies every element of vector by the same factor 3, shift operator manages to replace it by the neighbor.

Now, the convolution

$$y[m] = \sum_{k=0}{h[m-k]u[k]} = \sum_{k=0}{h[k]u[m-k]} = \sum_{k=0}{h[k]z^{-k}u[m]} = H(z) u[m]$$

happens to be a Z-transform. In vector form, convolution turns out to

y = H u

and expanded into matrices

$$H\left[\begin{array}{c}u_0\\u_1\\u_2\\u_3\end{array}\right] = \left[\begin{array}{cccc}h_0&0&0&0\\h_1&h_0&0&0\\h_2&h_1&h_0&0\\h_3&h_2&h_1&h_0\end{array}\right] \left[\begin{array}{c}u_0\\u_1\\u_2\\u_3\end{array}\right]$$

The thing that I do not understand is that how matrix H is derived from the basic operator composition $$\sum_{k=0}{h[k]z^{-k}}$$, from their matrices.

That is, I see that it can be decomposed

$$\left[\begin{array}{cccc}h_0&0&0&0\\h_1&h_0&0&0\\h_2&h_1&h_0&0\\h_3&h_2&h_1&h_0\end{array}\right] = [\begin{array}{cccc}h&h&h&h\end{array}]\left[\begin{array}{cccc}z^0&0&0&0\\0&z^1&0&0\\0&0&z^2&0\\0&0&0&z^3\end{array}\right] = [h] [\begin{array}{cccc}z^0&z^1&z^2&z^3\end{array} ]$$

Nevertheless, the problem is that H must shift u while it looks like h that is shifted in the matrix. If I start reducing H u by shifting u first, before scaling by h:

y = H u = (h [z0 z1 z2 z3 ]) u = h ([z0 z1 z2 z3 ] u) - matrix multiplication is associative

= h [z0u0+z1u1+z2u2+z3u3 ]
= 4u0 h,

which is bizarre.