phase change

Started by Sharan123 5 years ago7 replieslatest reply 5 years ago194 views


Can anyone explain how to change the phase of a signal.

For example, if I have a sine signal, how can I modify its phase?

[ - ]
Reply by neiroberNovember 20, 2019

Hi Sharan,

Check out my post:  "Phase or Frequency Shifter Using a Hilbert Transformer":


Maybe it applies to your problem.



[ - ]
Reply by dgshaw6November 20, 2019

Hi Sharan,

Several good suggestions here so far from drmike, ChuckMcM and Neil.

However, your question is vague, so it is not clear what you are trying to achieve.

Some of your recent content has been about some baseband modulation techniques.  If your new question relates to that, then you need a complex rotator applied to the baseband signals.  Since the baseband signals will probably already be complex, you will likely not need a Hilbert filter.

Another phase shift option is simply the application an interpolator which will shift the signal in time, or equivalently change the phase.  With an interpolator, you can decide how much of the frequency domain experiences a phase shift, based on the bandwidth of the interpolation.  Obviously, a constant shift in time is a different phase shift for different frequencies.

[ - ]
Reply by dszaboNovember 20, 2019

With a filter.

[ - ]
Reply by ChuckMcMNovember 20, 2019

Are you asking for the idiomatic way to do this in a DSP or just what does the process involve?

If you're synthesizing the waveform you can just bump the value of the phase counter by more than 1. Each increment is \( 1/2 \pi t \) radians.

[ - ]
Reply by drmikeNovember 20, 2019

Just change when you look at it.  If you start looking at it when the signal crosses 0 amplitude (or mean) and it is rising, you have phase zero.  If it crossed the mean and it was falling, the phase would be 180 (or pi).  If you start looking at it when it has peak amplitude, it's pi/2 - or it's a cosine.   

You can also do frequency modulation and look at it as phase modulation.  The math is the same.  

What is it you are actually trying to accomplish?

[ - ]
Reply by jbrowerNovember 20, 2019


To see a simple example, multiply a sine signal with period "Fr" number of samples with a unit step that flips the amplitude half-way through:

  y[n] = sin(2*pi*n/Fr)*(u[n]-2*u[n-Fr/2])

That's a phase change.


[ - ]
Reply by chalilNovember 20, 2019

simplest approach would be to use allpass filter(s).

for different allpass filter most of them suitable for audio like application is covered in https://www.dsprelated.com/freebooks/pasp/Allpass_Filters.html 

hope it helps