Decomposition of a Filter Transfer Function into Minimum-phase and All-pass filters

signal processing

I'm currently studying Digital Signal Processing and I'm particularly focusing on filters' characteristics, specifically minimum-phase and all-pass filters. Understanding these properties and their interactions is crucial for my study and research work in audio signal processing.

I was given this filter transfer function:

$$
H(z) = {0.2[(z+0.5)^2+1.5^2] \over z^2-0.64}.
$$

I want to represent H(z) as of the filter in this way?
$$
H(z) = {H_\text{mp}(z)\cdot H_\text{ap}(z)}
$$

where

  • $H_\text{mp}$ is the Minimum-phase transfer function and
  • $H_\text{ap}$ is the All-pass transfer function.

From my understanding, any arbitrary filter transfer function can be represented as the product of a minimum-phase filter transfer function (Hmp) and an all-pass filter transfer function (Hap), such that H(z) = Hmp(z)⋅Hap(z).

Now, my problem lies in finding these two components (Hmp and Hap) from the given transfer function. I am aware that a minimum-phase filter has all its zeros inside the unit circle in the z-plane, and an all-pass filter has all its poles reciprocally paired with its zeros. But I'm finding it challenging to apply these principles to this specific problem.

So far, I have been able to find the poles and zeros of the given transfer function using standard techniques. However, separating them into those that would belong to the minimum-phase filter and those that would belong to the all-pass filter is where I am stuck.

I would greatly appreciate guidance on how to go about this problem

Best Answer

First, let's factor the numerator and denominator of your transfer function to find the zeros and poles:

$$H(z)=0.2\frac{(z+0.5+1.5i)(z+0.5-1.5i)}{(z+0.8)(z-0.8)}$$

I.e. the zeroes are $z=-0.5-1.5i$ and $z=-0.5+1.5i$ and the poles are $z=-0.8$ and $z=0.8$. Let's separate this into two parts such that one has the zeros and another has the poles:

$$H(z)=\frac{0.2}{(z+0.8)(z-0.8)}(z+0.5+1.5i)(z+0.5-1.5i)$$

Now we can add poles to the second part and zeros to the first part such that they cancel out (so that the transfer function doesn't change). The poles (and thus the zeroes) need to be the reciprocals of the of the zeros we have in the second part, i.e. the new poles (and zeros) will be $z=\frac{1}{-0.5-1.5i}=-0.2+0.6i$ and $z=\frac{1}{-0.5+1.5i}=-0.2-0.6i$. We get:

$$H(z)=0.2\frac{(z+0.2-0.6i)(z+0.2+0.6i)}{(z+0.8)(z-0.8)}\frac{(z+0.5+1.5i)(z+0.5-1.5i)}{(z+0.2-0.6i)(z+0.2+0.6i)}$$

The first and the second part above are almost the result we want. However, the second part multiplies all frequencies by a factor of $2.5$ so to get a normalized all-pass filter we need to divide the second part by this factor and to compensate multiply the first part by the same. The answer we get is:

$$H_{mp}(z)=0.5\frac{(z+0.2-0.6i)(z+0.2+0.6i)}{(z+0.8)(z-0.8)}=0.5\frac{z^2+0.4z+0.4}{z^2-0.64}$$

$$H_{ap}(z)=0.4\frac{(z+0.5+1.5i)(z+0.5-1.5i)}{(z+0.2-0.6i)(z+0.2+0.6i)}=0.4\frac{z^2+z+2.5}{z^2+0.4z+0.4}$$

EDIT: For the sake of completeness I think I might mention that there is a somewhat easier way to calculate a polynomial with zeros being reciprocals of another polynomial, namely you can just reverse the order of the coefficients. I this particular example we had the following polynomial:

$$(z+0.5)^2+1.5^2=z^2+z+2.5=(z+0.5+1.5i)(z+0.5-1.5i)$$

By reversing the order of the coefficients we get:

$$2.5z^2+z+1=2.5(z^2+0.4z+0.4)=2.5(z+0.2-0.6i)(z+0.2+0.6i)$$

So we got a polynomial such that the zeros were reciprocals of the original polynomial meaning the zeros were reflected inside the unit circle and there was no need to factor the polynomial. However, you can only do this if you somehow know the zeros are outside unit circle and therefore need to be reflected inside it to get a minimum phase filter.

Related Question