Are all-pass filter of the n-th order just a cascade of N all-pass filters of the 1-st order?

There are some nice statements regarding zeros, poles, and gain for the 1-st order. Can those statements be applied to the n-th order all-pass filter too? For instance, the Pole is a reverse complex conjugate of the Zero.

Obviously, cascade of N all-pass filters of the 1-st order will produce the all-pass filter of n-th order, so the 'necessary' condition is true. But is the 'sufficient' condition true as well?

There are some edge cases of course, for example, if we consider two kind of all-pass filters with abs(H(exp(iw)))=1/2 and abs(H(exp(iw)))=2 then their multiplication (i.e. cascade) will give a true all-pass filter. But to me it's still an edge case. I'm more interested in non-constant Amplitude Frequency Responses.


This depends a bit how rigorous you define "allpass" filter.

You can show that any pole can be turned into an allpass filter if, and ONLY if, it you pair it with a zero at the inverse location. A zero at the inverse location is the only way to achieve $|H(\omega)|^2 = 1$ for all $\omega$.

Poles can be complex or real. Complex poles result in second order allpass filters, real poles in first order allpass filters.

Pure delays are simply a special case of a single real pole at z=0 and the matching zero at z=infinity. The transfer function of a one sample delay is almost identical to that of an allpass filter with a pole at .00001 or -.00001. Multi sample delays are simply cascades of single sample delays, so an N-sample delay has N poles at z=0 and N zeros at z=infinity

All of these taken together implies that, indeed, you can represent every allpass filter as a cascade of first and second order allpass filters.

There is a downside to that as well: For first order section the phase is zero at DC and $\pi$ at Nyquist. For a second order it starts at 0 and ends at $2\cdot \pi$ and the phase decreases monotonically between those values. These properties are maintained in a cascade so we can conclude that any N-th order allpass has a phase of 0 at DC and a phase of $N \cdot \pi$ at Nyquist with a monotonically decreasing phase in between. That's too restrictive for many applications. (I'm ignoring a potential multiply with -1 flip here, which would just result on an phase offset of $\pi$).

There is a different class of filters that are "almost" allpass filters, i.e. you can make the magnitude as close to unity as needed over the frequency range of interest. These can not be represented as cascades of 1st and 2nd order allpass filters.

An interesting example of this is a Hilbert transformer: it has unity amplitude gain but a phase shift that's only 90 degrees at Nqyuist. You could interpret this as having an infinite amount of poles and zeroes but that's not very useful. You can't implement an ideal Hilbert transformer, but you most certainly can do something that's "good enough" for your specific application.

  • $\begingroup$ A lot of great points here. I missed that a delay can be approximated as a first order all pass in mine. A couple points, it is possible to use complex poles/holes with a first order filter, it just means the impulse response is complex. Additionally, I don’t think the OP mentioned specifically that they were referring to discrete time, so the content about what happens at nyquist is more anecdotal than general. $\endgroup$
    – Dan Szabo
    Mar 27 '19 at 2:38
  • $\begingroup$ @hilmar Thank you for your answer. I did forget to mention that I'm dealing with discrete filters and with complex coefficients. The second paragraph of your post is the most intriguing to me. Consider the 1-st order IIR filter form: H(z)=k*(z^(-1)-z1)/(z^(-1)-p1). It's not a standard one though but I use it merely for convenience. I can easily show analytically that abs(H(w)) = 1 <=> z1=1/conj(p1) AND abs(K)=abs(p1). See the next comment :) $\endgroup$ Mar 27 '19 at 5:19
  • $\begingroup$ @hilmar However, when I'm trying to repeat the same actions for the 2-nd order IIR filter, i.e. H(z)=k*(z^(-1)-z1)*(z^(-2)-z2)/((z^(-1)-p1)*(z^(-1)-p2)) (this factorization is always possible thanks to complex coefficients), then the amount of calculations is getting huge. And I can't prove the same statement for respective zeros and poles. I believe this 1-2 "shift" is the most important and then I could use the Mathematical induction method to prove it for the n-th order. Sometimes I feel like I'm missing something obvious. Could you elaborate on this? Thank you. $\endgroup$ Mar 27 '19 at 5:20

It's the same issue as other high-order filters being factored down to the poles and zeros and implemented with cascaded low-order filters. We'll assume all of your original coefficients are real.

The Fundamental Theorem of Algebra says that every polynomial with real coefficients can be factored to first-order monomials with real roots and irreducible quadratics with real coefficients. The latter, the irreducible quadratics can be factored into first-order monomials with complex conjugate roots.

So, whether it's an all-pass or something else, it might not be able to be factored all the way to first-order sections with real coefficients. You may be left with second-order sections if the "Q" is high enough.

  • $\begingroup$ Thank you for your response. I've already said "sorry" in my comment under another reply for forgetting to mention that I'm dealing with complex coefficients :) So, the second-order transfer can be factored to something like that: H(z)=k*(z^(-1)-z1)*(z^(-2)-z2)/((z^(-1)-p1)*(z^(-1)-p2)). But, can we guarantee that H1(z) = k1*(z^(-1)-z1)/(z^(-1)-p1) and H2(z) = k2*(z^(-1)-z2)/(z^(-1)-p2) (or any other zero and pole permutation) are all-pass filters too? Thank you. $\endgroup$ Mar 27 '19 at 5:30
  • $\begingroup$ @AlexeyGurevski, please learn and use $\LaTeX$ here. that's the main reason i migrated from the the USENET group comp.dsp to here. $\endgroup$ Mar 27 '19 at 20:06
  • $\begingroup$ Online Math Type tool which supports latex output - wiris.com/editor/demo/en/developers#mathml-latex $\endgroup$
    – Juha P
    Mar 28 '19 at 9:42
  • $\begingroup$ @juhaP Thank you, the link was extremely helpful $\endgroup$ Mar 28 '19 at 10:56
  • $\begingroup$ @robert Basically, I found a way to prove the statement. If I write $|H(\omega)|^2$ as $H(\omega)H^\ast(\omega)$, hold that the numerator is equal to denominator, apply the Fundamental Theorem of Algebra then everything becomes pretty obvious :) $\endgroup$ Mar 28 '19 at 11:01

Referring to: https://www.dsprelated.com/freebooks/filters/Allpass_Filters.html

The answer is sort of, but there are some special cases to keep in mind.

Multiplying by a unit complex number (I.e. a phase shift) would be an all pass filter, but I would not consider it a first order filter. You might call it a zero order, but it’s really just a scalar.

Similarly, a delay (or shift in time) is also an all pass filter. However, it wouldn’t be expressed using a complex reciprocal hole/pole pair as you’ve described.

Lastly, your description would need to include complex first order hole/pole pairs. This means that the corresponding impulse response would be complex (I.e not necessarily purely real). This would still represent a first order filter, but I thought it was worth pointing out if you actually go to implement it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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