Hi,

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?

Hi Sharan,

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

https://www.dsprelated.com/showarticle/1147.php

Maybe it applies to your problem.

regards,

Neil

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.

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.

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?

With a filter.

Sharan-

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.

-Jeff

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

-chalil