MATLAB Answers

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

2 views (last 30 days)
saleh shlimet
saleh shlimet on 7 Jun 2020
Commented: Walter Roberson on 20 Jun 2020
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

Show 5 older comments

Sign in to comment.

Answers (1)

Jyotsna Talluri
Jyotsna Talluri on 16 Jun 2020
You can try variable phase shift block in simulink.

  6 Comments

Show 3 older comments
Jyotsna Talluri
Jyotsna Talluri on 20 Jun 2020
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
Walter Roberson
Walter Roberson on 20 Jun 2020
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.

Community Treasure Hunt

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

Start Hunting!