1
$\begingroup$

I would like to ask if there is a systematic way to turn a non-symmetric filter into a symmetric equivalent with the same frequency response.

For example, let's say I have a finite length filter with the coefficients

[1,-1.5,0.5] 

for its impulse response (the zeros are at $z=1$ and $z=0.5$). What would be the coefficients of the new filter so they both have the same frequency response?

My guess is something like this:

$$ H_{new}(z) = \frac{(z-1)(z-p)(z-1/p)}{z^3},\ \ \ \ 0<p<1 $$ Is there any generalizable approach to finding the new coefficients based on the ones I have? What about anti-symmetric?

$\endgroup$

2 Answers 2

1
$\begingroup$

I would like to ask if there is a systematic way to turn a non-symmetric filter into a symmetric equivalent with the same frequency response.

Nope.

Consider the filter $$H(z) = \left(1 + 0.5z^{-1}\right) \left(1 + 0.4z^{-1}\right) = 1 + 0.9z^{-1} + 0.2z^{-1}$$ It has zeros at $z = \{-0.5, -0.4\}$ (and a double pole at $z = 0$). It is non-symmetric, and that non-symmetry is forced by the poles zeros.

The other things that's forced by the combination of poles (boring in this case) and zeros is the amplitude response.

The only thing you can do to change the filter's impulse response without changing its amplitude response is to replace a pole or a zero by its compliment on the other side of the stability boundary. In this case, that means that you can exchange $1 + 0.5z^{-1}$ with $0.5 + z^{-1}$, and you can exchange $1 + 0.4z^{-1}$ with $0.4 + z^{-1}$. Swapping either one of these will give you a filter that is more symmetrical -- i.e. $$H(z) = \left(1 + 0.5z^{-1}\right) \left(0.4 + z^{-1}\right) = 0.4 + 1.2z^{-1} + 0.5z^{-2}$$ but you won't get to exactly symmetrical with the same frequency response.

This is going to be the case any time that you have a filter that does not have complementary pairs of poles and zeros (i.e., $1 - az^{-1}$ paired with $a - z^{-1}$, or $s - a$ paired with $s + a$), or at least conjugate pairs on the stability boundary (i.e., $1 + z^{-1} + z^{-2} = z - \frac 1 2 \pm j \frac {\sqrt{3}} 2$).

You can always come arbitrarily close with a symmetric filter using FIR filter synthesis. However, you will never get spot-on with a finite-length filter, and the closer you get, in general, the longer your filter will need to be.

$\endgroup$
3
$\begingroup$

I believe you can't turn a generalized non-symmetric FIR filter into a symmetric FIR filter with the exact same (magnitude) frequency response, but we CAN do this in the other direction.

Every filter with a given magnitude response can be decomposed into one linear phase solution cascaded with an all-pass section. Each magnitude response has only one minimum phase solution (I will refer to it as the minimum phase prototype), followed by an infinite number of possibilities for phase responses depending on the all-pass that is used (that doesn't mean any phase response is possible). However, for a given minimum phase prototype, a symmetric filter (which is a linear phase filter) with that same magnitude response only exists if that minimum phase prototype consists of paired zeros in every location.

Consider for example the decomposition of a linear phase FIR filter into it's minimum phase FIR and all-pass IIR components as depicted by their poles and zeros below:

linear phase to min phase + all-pass

A symmetric FIR filter is a linear phase filter and has the property of conjugate reciprocal zeros, specifically for any zero $z_1$ inside the unit circle, there exists a zero $z_2$ outside the unit circle such that:

$$z_2 = \frac{1}{z_1^*}$$

The magnitude response due to each of the zeros is the same, that is

$$|H(z)| = \bigg|H\bigg(\frac{1}{z^*}\bigg)\bigg|$$

Thus we could mirror each $z_2$ back into the unit circle (replacing $z_2$ with its conjugate reciprocal $z_1$), and have the exact same magnitude response given the equality above. If all zeros were mirrored inside the unit circle, the previously linear phase filter would be a minimum phase filter with the same magnitude response (as a minimum phase filter has the property that all zeros are inside the unit circle).

Arbitrary non-symmetric mixed-phase filters can similarly be decomposed into minimum-phase and all-pass components, such that the minimum-phase component has the exact same magnitude as the arbitrary non-symmetric filter but this would not have a linear phase solution with the same magnitude response:

mixed phase

Thus we can only reverse this for a non-symmetric filter, converting a non-symmetric filter into a linear phase filter with the same magnitude response, only if that non-symmetric filter has pairs of zeros on top of each other.

If you are ok with doubling the magnitude response, you can convert an arbitrary FIR filter into a linear phase filter by cascading it with its Reverse Filter (reversing the coefficients and then convolving the two). The Reverse Filter will have the same magnitude response and thus cascading two of them will double the response as demonstrated below (the shape is the same but the scaling of vertical axis in dB has doubled). In this case a minimum phase filter is cascaded with its reverse (which is a maximum phase filter; notice the phase response) resulting in a linear phase filter with twice the magnitude response.

cascade for linear phase

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.