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 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?

Walter Roberson on 8 Jun 2020
I wonder if it would be practical to implement in terms of laplace transform?
saleh shlimet on 8 Jun 2020
I tried but it does not work
Walter Roberson on 8 Jun 2020
Sorry, I do not know.

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

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.
saleh shlimet on 20 Jun 2020
this is a good idea if the frequency is constant, but in my case the frequency is changing.
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.