Let's say I have a sine wave and I would like to shift it by varying degrees, like 90, 180, and 270. How would I do this?

  • \$\begingroup\$ you delay it by 0.25, 0.5, 0.75 of a cycle. there are various ways to delay a signal, including: 1) pure digital, A/D + memory + D/A, 2) pure analog, e.g. all pass filter or wide band filter, 3) discrete (continuous in value but discrete in time), "bucket brigade device", 4) physical: electrical or acoustic delay lines, etc.... \$\endgroup\$ Jun 1, 2017 at 3:18
  • \$\begingroup\$ opamps can do this quite easily using inverted input. \$\endgroup\$
    – dandavis
    Jun 1, 2017 at 3:27
  • \$\begingroup\$ If the frequency is fixed, and the wavelength is not too long, you can use delay lines. \$\endgroup\$
    – user57037
    Jun 1, 2017 at 3:29

3 Answers 3


An op amp integrator will give 90 degree phase shift. Integrate again for 180 etc.

If you want, say, unity gain and you know the frequency, \$\omega\$, then choose \$\small RC =\large \frac{1}{\omega}\$

  • \$\begingroup\$ A simple analog inverter will deliver a 180 ° phase shift, just an amplifier with v=-1. \$\endgroup\$
    – Uwe
    Jun 1, 2017 at 16:04
  • \$\begingroup\$ @Uwe, but it won't do 90, 270, etc \$\endgroup\$
    – Chu
    Jun 1, 2017 at 21:59

It depends - on the frequency, the bandwidth you need to operate over, whether you want a phase shift or a time shift (different when a wider band is involved), whether you are generating the signal yourself, and quite a few other things.

A classic way is to build a low pass filter including varactor diodes, and vary the voltage on them.

Another is to use a quadrature hybrid, with a pair of varactor diodes as the loads.

Another is to put the signal into a pair of SSB mixers, and change the local oscillator phases.

Another is to digitise and regenerate the signal with an ADC and DAC pair, with delay or more complex DSP processing in between.

And quite a few more, tapped delay lines, all-pass networks ...

These will have different domains of applicability, and different strong and weak points. Pick your operating situation, and pick your method accordingly.


if it's a pure sine wave, then an easy digital way is to multiply the signal by:

$$ e^{i\phi}$$

to achieve the desired phase shift. This can be done without the need of huge banks of memory. But as a consequence you need a fairly fast processor to do this in real time (frequency dependant of course).


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.