30

One application of the Hilbert Transform is to obtain a so-called Analytic Signal. For signal $s(t)$, its Hilbert Transform $\hat{s}(t)$ is defined as a composition: $$s_A(t)=s(t)+j\hat{s}(t) $$ The Analytic Signal that we obtain is complex valued, therefore we can express it in exponential notation: $$s_A(t)=A(t)e^{j\psi(t)}$$ where: $A(t)$ is the ...


11

Hilbert envelope, also called Energy-Time Curve (ETC), only works well for narrow-band fluctuations. Producing an analytic signal, of which you later take the absolute value, is a linear operation, so it treats all frequencies of your signal equally. If you give it a pure sine wave, it will indeed return to you a straight line. When you give it white noise ...


11

The error lies in the assumption that if $g(t)$ is the Hilbert transform of $f(t)$, then the Hilbert transform of $f(-t)$ must be $g(-t)$. This is not the case. Let $f^-(t)=f(-t)$. Then we have $$g(t)=\mathcal{H}\{f\}(t)=\frac{1}{\pi}\text{p.v.}\int_{-\infty}^{\infty}\frac{f(\tau)}{t-\tau}d\tau\tag{1}$$ and $$\begin{align}\mathcal{H}\{f^-\}(t)&=\frac{...


8

Nice question! It uses one of my favorite trig identities (which can also be used to show that quadrature modulation is actually simultaneous amplitude and phase modulation). The impulse response of the system described above is given by: Block diagram:


7

In layman terms, the Hilbert transform, when used on real data, provides "a true (instantaneous) amplitude" (and some more) for stationary phenomena, by turning them into "specific" complex data. For instance, a cosine $\cos(t)$ is inherently of amplitude 1, which you do not see directly, since it visually wiggles between $-1$ and $1$, and periodically ...


6

The description complex helical sequence indicates that it is a sequence of complex numbers that, when plotted in three dimensions (real part, imaginary part, position in the sequence), resembles a screw, or helix. See this illustration (by RobHar, on Wikimedia Commons): From a mathematical point of view, all signals can be decomposed into complex ...


6

The analytic signal produced by the Hilbert transform is useful in many signal analysis applications. If you bandpass filter the signal first, the analytic signal representation gives you information about the local structure of the signal: phase indicates the local symmetry at the point, where 0 is positive symmetric (peak), $\pi$ is negative symmetric (...


6

A transform (FT or Hilbert, etc.) doesn't create new information from nothing. Thus, the "information you get", or the added dimension in the resultant analytic complex signal provided by a Hilbert transform of a 1D/real signal, is a form of summarization of the local environment of each point in that signal, joined to that point. Information such as local ...


6

I would use a linear phase FIR Hilbert transformer, and use block processing, such as the overlap-add method. That means that you partition the input signal into contiguous non-overlapping blocks and compute the convolution of each block with your filter impulse response. The results are then overlapped and added. Overlap occurs because the result of the ...


6

There are several reasons why the two results don't match: the coefficients of the FIR Hilbert transformer are wrong the FIR Hilbert transformer is too short to even come close to the performance of the FFT-based implementation the frequency of the input signal is too low for the FIR Hilbert transformer to perform properly. A FIR Hilbert transformer always ...


5

It looks like you have are taking the FFT of a shifted version of $\mathbf h$, not the correct $\mathbf h$. Try something using fftshift: H = fft(fftshift(h)); in Matlab / Octave.


5

Check out Julius O. Smith III's write up. There is a Hilbert transform relationship between the magnitude response, $G(\omega)$, and the phase response, $\theta(\omega),$ of the associated minimum phase filter. If $$ H(\omega) = G(\omega) \exp(\jmath \theta(\omega)) $$ then $$ \ln( H(\omega) ) = \ln(G(\omega)) + j\theta(\omega) $$ and $$ \theta(\omega) ...


5

Implementing a Hilbert transform enables us to create an analytic signal based on some original real-valued signal. And in the comms world we can use the analytic signal to easily and accurately compute the instantaneous magnitude of the original real-valued signal. That process is used in AM demodulation. Also from the analytic signal we can easily and ...


5

This is achievable with two parallel all pass filters. The two all pass filters synthesize an odd ordered low pass filter whose pass band extends from -90º to +90º in the z-domain. (I will discuss this below). $$ G_{lowpass}(z) = \frac{A_0(z)+z^{-1}A_1(z)}{2} $$ The low pass filter is then rotated by +90º so that its pass band extends from 0º to 180º, ...


4

The short answer: with a finite convolution you can't calculate the Hilbert transform exactly. The long answer: You will have to make approximations and decide what types and amounts of error you can live with. This will depend heavily on the application, the signals itself and what you are trying to do with the results. This paper may give good guidance on ...


4

A system that shifts the input signal by 90 degrees is a Hilbert transformer. For a single sine wave, a 90 degree phase shift is simple (e.g., sine becomes cosine), but for a general signal you need a Hilbert transformer. Check the basics here. It can be implemented using an FIR (finite impulse response) digital filter. Such a filter can be designed in ...


4

Not really an answer but maybe helpful: Personally I found that the concept of instantaneous frequency is only useful for sufficiently narrow band signals. Consider the simple example of two steady sine waves, say 100Hz and 934Hz. In this case you can certainly define and calculate the instantaneous frequency (in whatever way you want) but what should the ...


4

At least f2 and f3 seem to work appropriate on a pure chirp signal, but all methods, including f2 and f3 seem to fail horrible, when it comes to more than one frequency in the signal. In reality having more than one frequency in a signal is rather always the case. So how can one get the (more or less) correct instantaneous frequency? as Hilmar suggests, the ...


4

As you already know, the two methods are theoretically identical if there's no noise. If there is out-of-band noise then the low pass filters in method A will further suppress the out-of-band noise, whereas there's no such noise suppression with method B. This would be one advantage of method A over method B. Note, however, that the phase splitter in method ...


4

The Hilbert transform can be applied to complex functions of a real variable. E.g., the Hilbert transform of the complex exponential $e^{j\omega_0t}$, $\omega_0>0$, is given by $$\mathcal{H}\{e^{j\omega_0t}\}=-je^{j\omega_0t},\qquad\omega_0>0$$ The problem you encounter has to do with Matlab's implementation of the function hilbert.m. It is designed ...


4

Clay Turner has an interesting couple of papers. what you want to do is compute (using MATLAB firpm() or firls()) two filters that shift the phase, one at -45° and the other at +45° relative to some linear phase angle that corresponds to a constant delay. you design one and then flip the coefficients around for the other. they will both have the same ...


4

In contrast to Jason R's answer I claim that the Hilbert transform is a phase shift by $-\pi/2$ for real-valued signals. By definition, a phase shifter shifts the phase of a sinusoidal signal by some given phase $\phi$: $$x(t)=\cos(\omega_0t)\quad\Longrightarrow\quad y(t)=\cos(\omega_0t+\phi)\tag{1}$$ Since $$\cos(\omega_0t)=\frac{e^{j\omega_0t}+e^{-j\...


4

Complex signals are a special case of multidimensonal signals (where the dimension is two). A lossy approach tackling compression of multidimensional signals is vector quantization. A very good resource is the book: "Vector Quantization and Signal Compression", co-authored by Robert M. Gray. Vector Qquantization is a classic lossy source coding technique ...


4

I have insufficient reputation to answer in the comments, so here goes: I believe Olli calculated his coefficients using some kind of genetic algorithm (I don't know the details). All I did was plot (from Olli's coefficients) the resulting pole/zero positions in the z-plane, and then take the logarithm to transform into the s-plane. Olli's poles and ...


4

as a related aside question i posted this question about minimum-phase filters and the phase-magnitude relationship. let $N$ be the FFT size you will use. (often $N$ is a power of two, but it doesn't have to be.) the target magnitude response is $$ G[k] \qquad \text{for } 0 \le k \le \tfrac{N}{2} $$ $G[0]$ is the magnitude at DC. $G[\tfrac{N}2]$ (if $N$...


4

i will call the bandpass signal: $$\begin{align} y(t) &= \Re \Big\{ (x(t) + j\hat{x}(t)) \, e^{j \omega_0 t} \Big\} \\ \\ &= x(t) \cos(\omega_0 t) - \hat{x}(t) \sin(\omega_0 t) \\ \end{align}$$ the complex-valued $x(t) + j \hat{x}(t)$ is the low-pass equivalent to the bandpass signal. the real part $x(t)$ is the in-phase component and the ...


4

Directly calculating this seems difficult. My argumentation is the following. For a signal $s(t)$, the so-called analytic signal $s_{\mathrm{an}}(t)$ can be obtained by \begin{equation} s_{\mathrm{an}}(t) = s(t)+\mathrm{j} \mathcal{H}\{s(t)\}\,\,, \text{where}\,S_{\mathrm{an}}(\omega) = 0\,\forall\, \omega < 0 \end{equation} The analytic signal ...


4

Your idea with the Hilbert transform doesn't work. The only signal (apart from $x(t)=0$) for which the Hilbert transform is zero, is a constant signal. A band pass signal $x(t)$ can be written in terms of its complex envelope $x_{LP}(t)$: $$\begin{align}x(t)&=\textrm{Re}\left\{x_{LP}(t)e^{j\omega_0t}\right\}\\&=\textrm{Re}\{x_{LP}(t)\}\cos(\...


4

More taps. You don't have anywhere near enough taps for a filter that steep. Start large with 8192 or so cut to desired accuracy, if needed Due to the low number of tabs you are seeing the effect of "circular" hilbert transform. See for example: http://andrewduncan.net/air/ How do you know you have zeros outside the unit circle? Calculating the roots of a ...


3

Let us say we sample it at 4 times its frequency, hence taking 4 samples per cycle. Consequently, each sample will have 90 degrees phase difference with respect to the previous sample. In this case, is it correct to say that "the incoming signal delayed by one sample" is the Hilbert transform, and hence the 'Q' component? It's true that the "delay by one ...


Only top voted, non community-wiki answers of a minimum length are eligible