Constant phase shifters

drjohsmith

Joined Dec 13, 2021
1,601
It can be done for a constant phase shift of 90 degrees. However my initial looking into it indicates that producing a constant phase shift of 135 degrees is problematic. Constant phase shifters were first developed in the 1950s.
constant phase shifteres work at one frequency
 

joeyd999

Joined Jun 6, 2011
6,287
I asked Grok:

"Is it possible to design an all-pass filter that exhibits a constant 135 degree phase shift for frequencies between 1khz and 10khz?"

Here's it's response. Unverified, YMMV, caveat emptor, etc.:

------------

No, not exactly with a causal, stable, real all-pass filter over a finite but non-zero bandwidth like 1–10 kHz, though good approximations are possible.

Why Exact Constant Phase Shift Is Impossible

An all-pass filter has |H(jω)| = 1 (constant unity gain) for all frequencies, but its phase φ(ω) generally varies with frequency. A perfectly constant non-zero phase shift (e.g., exactly 135° across 1–10 kHz, and ideally beyond) conflicts with fundamental properties of causal, stable, linear time-invariant systems:


  • Kramers-Kronig (Hilbert) relations link the real and imaginary parts (or log-magnitude and phase) of the frequency response. For a system with perfectly flat magnitude, the phase response cannot be arbitrarily flat/non-zero over a band while remaining causal and stable. A constant phase θ corresponds to multiplication by e^{jθ} in the frequency domain, which isn't realizable causally without infinite delay or non-causality (except for θ = 0° or multiples of 180° in trivial cases).
  • Pure time delay gives linear phase (φ(ω) = –ωτ, proportional to frequency), not constant phase. Constant phase is frequency-independent, which violates causality constraints for broadband signals.
  • Standard (and higher-order) all-pass sections always produce frequency-dependent phase shifts. A first-order all-pass goes from 0° to –180° (crossing –90° at its pole/zero frequency). Cascading them sums phase contributions, but the total phase still rolls off.

Exact constant phase over all frequencies is only trivially possible (0° or 180°), and even band-limited exact constancy is generally not achievable with finite-order causal filters.

Practical Approximations

You can design networks that keep the phase shift approximately constant (e.g., within a few degrees) over a limited band like 1–10 kHz (one decade). Common techniques include:


  • Cascaded first-order all-pass sections with staggered pole/zero frequencies. By optimizing pole locations (often via optimization or tables for quadrature networks), you can flatten the phase response in the target band.
  • Parallel all-pass paths for constant phase difference (e.g., ~90° between two outputs). This is widely used in quadrature generators, SSB modulators, and 3D audio. For example, one path with poles tuned around 1 kHz and another around 10 kHz can maintain ~90° difference over that range with low ripple. Extending to 135° is similar in principle.
  • Higher-order designs (e.g., 4–8+ sections) yield tighter approximations over wider bands, at the cost of complexity, component sensitivity, and group delay variation outside the band.

These are not perfectly flat but can achieve e.g. ±5–10° ripple, which is often sufficient for audio, RF, or phase-correction applications. Analog implementations use op-amp RC all-pass circuits; digital ones use IIR all-pass sections (easy to cascade).


Note: Bessel filters (or all-pass approximations to them) give linear phase / nearly constant group delay (constant time delay), not constant phase shift. That's a different goal.

Design Feasibility for Your Band

The 1–10 kHz range (one decade) is practical. Literature shows good 90° constant-difference networks over similar or wider audio bands using a handful of cascaded active all-pass stages. A 135° target is achievable by adjusting the design (e.g., different staggering or adding a fixed inverter for 180° offset). Tools like SPICE, MATLAB, or Python (SciPy) can optimize pole/zero placements for minimal phase deviation in the band.


In short: Exact? No. Useful approximation? Yes, with moderate-order all-pass networks. If you need implementation details (schematics, transfer functions, or code), provide more specs like analog vs. digital, tolerance, or max order.
 

MisterBill2

Joined Jan 23, 2018
27,524
There is another scheme for producing a phase shift at AUDIO frequencies. It is simple but not at all elegant: Use a sine/cosing resolver! I played with one feeding audio into both sides of a stereo amplifier, back in about 1964. It WILL NOT PRODUCE STEREO, but it will deliver interesting effects. Very simple to implement as well.
 

Thread Starter

PeteHL

Joined Dec 17, 2014
580
Here is a simulation that I did that does what I wanted. The upper shifter in the circuit produces -70 degrees of phase shift at 1 kHz. The lower shifter produces +70 degrees of shift also at 1 kHz.When the outputs of the two shifters are added, the phase difference to a large extent equals 140 degrees from 500 Hz to 2 kHz. A 140 degree phase difference is close enough to 135 degrees to do what i want to do. Really I'm surprised that this works; hopefully I haven't made a mistake, i don't think so. Maybe this simulation will make clear what I wanted to achieve.

CP-SHIFT-01.JPG
 

crutschow

Joined Mar 14, 2008
38,508
Here is a simulation that I did that does what I wanted.
Okay.
Using two all-pass phase-shift filters do appear to give a constant shift between the two outputs within that frequency range.

But you need the phase-shift from the input to the output, right?
Or can you use the difference in the phase-shift from the two signals you generated?
 

Thread Starter

PeteHL

Joined Dec 17, 2014
580
Okay.
Using two all-pass phase-shift filters do appear to give a constant shift between the two outputs within that frequency range.

But you need the phase-shift from the input to the output, right?
Or can you use the difference in the phase-shift from the two signals you generated?
The later.
 

0ri0n

Joined Jan 7, 2025
173
Here is a simulation that I did that does what I wanted. The upper shifter in the circuit produces -70 degrees of phase shift at 1 kHz. The lower shifter produces +70 degrees of shift also at 1 kHz.When the outputs of the two shifters are added, the phase difference to a large extent equals 140 degrees from 500 Hz to 2 kHz. A 140 degree phase difference is close enough to 135 degrees to do what i want to do.
Take a detour via allpass filters that are 90° apart over the needed 1...10kHz frequency range. You can synthesize any phase shift you want from two outputs that are in quadrature. An example is attached. Output voltages have the same magnitude and are 135° apart over the whole frequency range.
 

Attachments

BobTPH

Joined Jun 5, 2013
11,516
It would seem that you, @crutschow and I have very different interpretations of the TS's vague requirements.
To me "in the audio spectrum" implies an audio signal, i.e. a mix of frequencies. White noise as an representative example contains EVERY frequency, so phase shifting each one of them (delaying by θ/f) would therefore be impossible.
Indeed.

I interpreted this:
I'm sorry, I should have been more specific. Say over the range from 1 kHz to 10 kHz, I would want to shift the phase of each sine wave in that frequency range by 135 degrees.
To mean the input is a sine wave of some frequency between 1 and 10 KHz. So it is always a single frequency.

Change the spec to any arbitrary waveform, and I agree it is impossible by analog means, though it could be done by digital analysis and synthesis.
 

MisterBill2

Joined Jan 23, 2018
27,524
I do not agree! "Spectrum" describes a range of frequencies, quite different from a single frequency. A Single frequency is a much simpler requirement.
So it seems that the goal is quite different from speech frequency signal modification, which was my initial guess as to the application. Apparently the goal is not speech frequency de-scrambling.
 

Thread Starter

PeteHL

Joined Dec 17, 2014
580
Indeed.

I interpreted this:

To mean the input is a sine wave of some frequency between 1 and 10 KHz. So it is always a single frequency.

Change the spec to any arbitrary waveform, and I agree it is impossible by analog means, though it could be done by digital analysis and synthesis.
Wouldn't it be possible to understand the difference between a complex waveform at input to a constant phase shifter and the waveform at output of the shifter by Fourier analysis?
 

Thread Starter

PeteHL

Joined Dec 17, 2014
580
There is another scheme for producing a phase shift at AUDIO frequencies. It is simple but not at all elegant: Use a sine/cosing resolver! I played with one feeding audio into both sides of a stereo amplifier, back in about 1964. It WILL NOT PRODUCE STEREO, but it will deliver interesting effects. Very simple to implement as well.
What is a sine/ cosine resolver?
 

MisterBill2

Joined Jan 23, 2018
27,524
A "sine/ cosine resolver" is an electromechanical rotary "transformer" device commonly used in some servo systems. It is similar to a "selsyn" except that it has two stator windings at 90 degrees instead of three windings at 120 degrees.
 
Top