Why the amplitude of the 90 shifted phase signal when use the analytic signal block is not equal to the original signal?

I could manage to shift the phase of signal by 90 by using analytic signal block. But, the problem is that its amplitude is not equal to the original one. Can anyone please explain it?

8 Comments

the amplitude is change with the frequency. and according to hilbert trabsform theory the amplitude must be the same
I see what you mean, but at the moment I have no idea why that is happening. :(
Dear Walter do you know another method to shift the phase of the signal by 90 degrees?

Sign in to comment.

Answers (1)

You can try variable phase shift block in simulink.

6 Comments

Thank you Talluri for your reply I tried this example but when I enter 90 degrees instead of 180 the output becomes zero.
What is the input signal you are considering?From the figure you attached,I see it is a sine wave and you can specify the phase,you want to shift in the block parameters itself
Yes you can shift the signal from the block itself. But you cannot do that with a signal you receive in a telecommunications system for example and you want to shift it by 90 degrees.
The other option I could think of is transport delay block where we can specify the time delay corresponding to a phase shift of 90 degrees as per the equation
phase shift (in deg) = 360*time delay/period of signal.
Refer to the below link
this is a good idea if the frequency is constant, but in my case the frequency is changing.
Suppose you leave the program running for two weeks. Then a frequency as low as one cycle per week could be detected, mathematically. That frequency has to have its phase shifted by 90 degrees, just like all the other frequencies do.Is it mathematically possible for something like a hilbert transform to properly predict when to make the appropriate output adjustments before the system has seen one cycle of the wave? Nyquist would say NO.
I would argue that it is therefore not possible to do what you want in a real-time system, unless
  1. You put a lower-frequency boundary for detection (upper frequency is according to sampling frequency); and
  2. You have a transport delay corresponding to one cycle of that low frequency.

Sign in to comment.

Asked:

on 7 Jun 2020

Commented:

on 20 Jun 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!