# Factorization of transfer function using its roots

I'm missing a step to understand the factorization of the FIR filter transfer function: $$H(z)=\sum\limits _{k=0}^{M}b_{k}z^{-k} \tag{1}$$

From DSP First:

The $$z$$-transform of a finite-length signal, such as $$H(z)$$ for an FIR filter, is a function of the complex variable $$z$$, and it is also an $$M^{th}$$-degree polynomial in the variable $$z^{−1}$$. Therefore, $$H(z)$$ has exactly $$M$$ roots according to the fundamental theorem of algebra. When $$H(z)$$ is expressed in terms of its roots, it can be written as the product of first-order factors that completely define the polynomial to within a multiplicative constant, that is, $$H(z)=G\prod_{k=1}^{M}(1-z_{k}z^{-1})=G\prod_{k=1}^{M}\frac {(z-z_{k})}{z}\tag{2}$$

The point I don't understand is the $$z^{-1}$$ factor. I expected to see only factors corresponding to roots:

$$H(z)=G\prod_{k=1}^{M}(z-z_{k}) \tag{3}$$

I know the book is correct (perhaps a function with negative exponents is not exactly a regular polynomial though), but I need a little help to make sense of how the sentence "When $$H(z)$$ is expressed in terms of its roots, it can be written..." can lead to equation (2) instead of (3).

Update with a partial understanding:

1/ I found intriguing the author used the word polynomial to describe the sum, and mentioned the use of the roots to factorize it. I think I got a clue... The author actually transforms the Laurent's series (negative exponents) into a polynomial (positive exponents) without explicitly saying it. My guess:

$$H(z)=\sum\limits _{k=0}^{M}b_{k}z^{-k}=\sum\limits _{k=0}^{M}b_{k}z^{M-k}z^{-M} \tag{4}$$

2/ This polynomial has roots, and they can be used for factorization:

$$H(z)=\sum\limits _{k=0}^{M}b_{k}z^{M-k}z^{-M}=G\prod_{k=1}^{M}(z-z_{k})z^{-M} \tag{5}$$

However at this stage I'm lost since the additional factor is not the one in the book: $$z^{-M} \ne z^{-1}$$

The z transform of a unit sample delay is $$z^{-1}$$. The z transform of a delay one sample in the future is $$z^1=z$$ which is non-causal. For example, a simple two element FIR filter with unity gain coefficients, which is the sum of the current sample with the previous sample is given as $$H(z) = 1+z^{-1}$$. If we divide the numerator and denominator both by $$z$$, we get:

$$H(z) = 1+z^{-1} = \frac{z+1}{z}$$

We see here how all causal Nth order FIR filters must have $$N$$ poles (the roots of the denominator) at the origin (where $$z=0$$), since a causal filter can only be constructed with delays ($$z^{-1}$$), not "aheads" ($$z^1$$).

We see how, to the OP’s question, the solution cannot be written as the product of first order factors in the form of $$(z-z_k)$$ with positive exponents of $$z$$ alone, as that would be non-causal as described above and must instead include an additional $$z$$ in the denominator for each factor to be causal (which means multiply by $$z^{-1}$$). Thus, the solution can be written as the product of first order factors in the form of $$1-z_k z^{-1}$$.

Regarding the OP’s update, equation 5 is incorrect; this would have a $$z^{-1}$$ term and not $$z^{-M}$$ as shown in the final equation given; $$z^{-1}$$ is multiplied $$M$$ times which will provide the $$z^{-M}$$ term given in the OP’s summation form:

$$H(z)=\sum\limits _{k=0}^{M}b_{k}z^{M-k}z^{-M}=G\prod_{k=1}^{M}(z-z_{k})z^{-1}=Gz^{-M}\prod_{k=1}^{M}(z-z_{k})$$

• @mins I see. I updated my answer to hopefully get to the root (ha!) or your confusion. Please let me know what isn’t clear. Mar 27 at 12:53
• @mins could you update your question to show those mathematical steps specifically to the point of what you don’t think works? An example would help Mar 27 at 13:45
• @mins ok thanks, do we agree on your mistake? Mar 27 at 14:24
• Yes. So bottom line, the author is correct as expected, but not very explicit for DSP learners, the target of his book.
– mins
Mar 27 at 14:28

The most basic description of an FIR filter is it's difference equation:

$$y[n] = \sum_{k=0}^{N}h[k]\cdot x[n-k] \tag{10}$$

Taking the z-transform gives you directly your equation (1) since the z-transform of time domain delay of m samples is simply $$z^{-m}$$.

That's why you end up with a polynomial in $$z^{-1}$$. The rest is just algebra. In order to turn this into a polynomial in z you need to multiply both numerator and denominator with $$z^{N}$$.

What that all means at the end is that an FIR filter does not only have N zeros, it has also N poles at $$z=0$$.