Since "Allpass Phase" is a technical term usually found in Audio Engineering and Digital Signal Processing (DSP), I have developed a blog post tailored to audio enthusiasts, producers, and engineers.
Title: The Invisible Hand: Demystifying the Allpass Filter & Phase Manipulation Subtitle: Why the "do-nothing" filter is the secret weapon of modern mixing.
A Hilbert transformer is a special case of an allpass filter that shifts phase by -90 degrees for all positive frequencies. By combining a signal with its Hilbert transform, you generate the analytic signal (a complex representation with real and imaginary parts). This is the cornerstone of IQ modulation in 4G/5G radios, radar systems, and even electrocardiogram (ECG) analysis.
Group delay ( \tau_g(\omega) = -\fracd\phid\omega ).
For first-order analog all-pass: [ \tau_g(\omega) = \frac2/\omega_01 + (\omega/\omega_0)^2 ] Peak at ( \omega = \omega_0 ): ( \tau_g = 2/\omega_0 ).
The classic "phaser" guitar pedal is built from a series of allpass filters in parallel with the dry signal. When the phase-shifted signal is mixed back with the original, comb filtering occurs—creating the sweeping, notched "whoosh" sound. The number of allpass stages (4, 6, 12) determines the number of notches. Even the legendary "phase 90" pedal is, fundamentally, an analog allpassphase device. allpassphase
A common confusion arises between all-pass filters and Linear Phase EQs. Both manipulate phase, but in opposite ways.
You cannot replace a linear phase EQ with an allpassphase network—they solve opposite problems.
A first-order analog all-pass filter has the form: [ H(s) = \fracs - \omega_0s + \omega_0 ] where ( \omega_0 ) is the cutoff frequency (phase transition center).
For discrete-time (digital) domain: [ H(z) = \fraca + z^-11 + a z^-1, \quad |a| < 1 ]
The phase is not constant. For the 1st-order analog case: [ \angle H(j\omega) = -2 \arctan\left(\frac\omega\omega_0\right) ] Since "Allpass Phase" is a technical term usually
For a 2nd-order all-pass: [ H(s) = \fracs^2 - (\omega_0/Q) s + \omega_0^2s^2 + (\omega_0/Q) s + \omega_0^2 ] Phase goes from (0^\circ) to (-360^\circ), with a steep transition near (\omega_0) depending on (Q).
For the audio programmer or DSP enthusiast, implementing an allpass filter is straightforward. Here is a Python/NumPy snippet for a first-order allpass:
import numpy as np
def allpass_first_order(x, a): y = np.zeros_like(x) y_prev = 0 x_prev = 0 for n in range(len(x)): y[n] = a * x[n] + x_prev - a * y_prev x_prev = x[n] y_prev = y[n] return y
The coefficient a is related to cutoff frequency fc and sample rate fs by: Linear Phase EQ: Uses filters with symmetrical impulse
[ a = \frac\tan(\pi \cdot fc / fs) - 1\tan(\pi \cdot fc / fs) + 1 ]
For a second-order allpass (more phase shift and steeper group delay peak), the transfer function becomes:
[ H(z) = \fraca_2 + a_1 z^-1 + z^-21 + a_1 z^-1 + a_2 z^-2 ]
Second-order allpass filters are the building blocks of parametric equalizers and graphic equalizers that preserve a flat magnitude response while adjusting phase.
This is a classic mastering trick. When converting stereo audio to Mid/Side (Sum/Difference), you sometimes encounter phase issues where the center information sounds hollow.
Engineers often apply an Allpass filter to the Mid channel or the Side channel. This phase shift can alter how the stereo image is perceived, making the center feel more solid or widening the sides, all without changing the EQ balance.