# Tag Info

2

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 ...

2

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 ...

1

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. ...

1

I did use Differential Evolution to calculate the coefficients. But you can re-design the filter pair easily using the HIIR library by Laurent de Soras (its source code will automatically unzip to a subdirectory hiir). You can use this C++ HilbertDesign.cpp source and compile with g++ using the compile-command quoted on the first line: // -*- compile-...

Only top voted, non community-wiki answers of a minimum length are eligible