Comments on: Understanding Analytic Signal and Hilbert Transform https://www.gaussianwaves.com/2017/04/analytic-signal-hilbert-transform-and-fft/ Signal Processing for Communication Systems Sat, 29 May 2021 11:18:32 +0000 hourly 1 https://wordpress.org/?v=6.8.1 By: Mathuranathan https://www.gaussianwaves.com/2017/04/analytic-signal-hilbert-transform-and-fft/#comment-45228 Sat, 29 May 2021 11:18:32 +0000 http://www.gaussianwaves.com/?p=14136#comment-45228 In reply to Masoud.

Please read and grasp the concept. The aim is not to demonstrate FFT/IFFT. The aim is to create an analytic signal (complex vector) from a real signal (real vector).

]]>
By: Masoud https://www.gaussianwaves.com/2017/04/analytic-signal-hilbert-transform-and-fft/#comment-45225 Fri, 28 May 2021 22:36:04 +0000 http://www.gaussianwaves.com/?p=14136#comment-45225 Hi. Thank you so much for this interesting post. I just have a question about the python script.
It seems you made fft on a real value signal and got a complex vector as a result. Then at the end you reversed it by ifft. I expected to get again a real value vector, but surprisingly the output was complex too. I guess the zeros you added at the bottom of “h” caused it, but how? can you please explain a bit about how we got a complex vector at the output?

Thanks a million!

]]>
By: Cesar https://www.gaussianwaves.com/2017/04/analytic-signal-hilbert-transform-and-fft/#comment-42809 Sun, 09 Feb 2020 10:21:45 +0000 http://www.gaussianwaves.com/?p=14136#comment-42809 Many people writing CODE for signal processing use FFTs and HILBERT Transforms.
I have read descriptions of the HILBERT Transform. And I think that a little less math (and more words about how to operate on the complex numbers of the FFT bin locations , would be more useful. As an example, a HILBERT transform can be implemented by : taking the FFT of a timedomain signal, visit every bin of the FFT array, (set BIN 0] to ZERO. Then, visit each BIN , one at a time. swap the REALP value with the IMAGP (and then multiply the REALP by -1). Do this at each BIN. Then TAKE the INVERSE FFT of the modified frequency domain array to get the 90-degree phase shifted signal. Or take the FFT of a timedomain signal, (set BIN 0] to ZERO. Then, visit each BIN , one at a time, from BIN(N/2 +1) to BIN (N) and set the REALP to ZERO and the IMAGP to zero. Then TAKE the INVERSE FFT of the modified frequency domain array to get the 90-degree phase shifted signal. It is difficult to progress from integrals to what to do (in C or PYTHON) with the AMPLITUDE SAMPLES of a timedomain signal or what to do with the REALP and IMAGP of every complex number of the FFT BIN. It would be nice if the authors wrote the INTEGRALS and some pseudo-code. Thank you. Cesar in California

]]>
By: hhn https://www.gaussianwaves.com/2017/04/analytic-signal-hilbert-transform-and-fft/#comment-35551 Thu, 20 Sep 2018 21:57:17 +0000 http://www.gaussianwaves.com/?p=14136#comment-35551 Hello, thank you for sharing this. I am having a problem with the instantaneous phase I am getting out of the hilbert(.) function in MATLAB, as well as when I do not use fft/ifft to get the analytical phase. So the general question is, does my phase get distorted when I use Hilbert Transform on a random signal?

More elaborate example on this is, when I generate a random signal of length T, and then keep this random signal fixed, then I generate, say, few more random signal of length S, and then concatenate it with my original signal of length T, I do see that there is slight phase distortion at the beginning of my signal. In other words, why concatenating some signal to the end of my original signal distorts the instantaneous phase, in particular, at the beginning?

]]>