Also known as: Hilbert transform, analytic signal, quadrature filter
The Hilbert transform shifts every frequency component of a real signal by −90° without changing its amplitude, and pairing the original signal with its Hilbert transform on the imaginary axis produces the analytic signal — a complex-valued I/Q representation with no negative-frequency content.12 That real-to-complex conversion is the bridge between a receiver that samples a single real voltage and the complex baseband on which nearly all modern demodulation is done.
How it works
In the frequency domain the ideal Hilbert transform is a filter with unit magnitude and a
±90° phase shift: it multiplies positive frequencies by −j and negative frequencies by +j.
Adding j·H{x} to the original x doubles the positive frequencies and exactly cancels the
negative ones, leaving a one-sided (analytic) spectrum. Written as a complex signal
z(t) = x(t) + j·x̂(t), three quantities fall straight out:
- Envelope — the instantaneous amplitude is
|z(t)|, giving distortion-free AM envelope detection. - Instantaneous phase and frequency — the angle of
z(t)is the instantaneous phase, and its time derivative is the instantaneous frequency, the basis of one kind of FM discriminator. - Sideband selection — because
z(t)has no negative-frequency image, it can be frequency shifted and its real part taken to synthesise or select one sideband cleanly.
The ideal transform is non-causal and infinite, so in practice it is realised as a finite FIR filter — an odd-length, anti-symmetric kernel that approximates the 90° shift over the band of interest — or, more commonly in DSP, by taking an FFT, zeroing the negative-frequency bins and doubling the positive ones, and inverse-transforming.
In practice
Two closely related structures show up constantly. The Weaver and phasing methods of single-sideband generation and reception use a Hilbert (quadrature) network to reject the unwanted sideband without a steep analog filter. And the general recipe “make the signal complex, then process” almost always starts with an analytic-signal step, whether by Hilbert filtering a real feed or by direct quadrature down-conversion.
Relevance to SDR
Many SDR front ends already deliver complex I/Q by mixing against a local oscillator in two quadrature phases, so no explicit Hilbert stage is needed. But real-input receivers do need one: the Airspy R2/Mini, for example, sample a real IF and apply a real-to-complex conversion — a Hilbert/analytic step — to produce the I/Q the rest of the chain expects, and the same is true of many direct-sampling HF radios and sound-card SDRs. Once the signal is analytic, the Hilbert-derived envelope and instantaneous-frequency operations feed AM and FM demodulation, and the phasing method underpins SSB work.
GopherTrunk consumes complex I/Q from its supported devices and does its quadrature demodulation and symbol recovery on that baseband, so where a device emits real samples the real-to-complex (Hilbert) conversion is part of getting the data into GT’s expected form rather than something GT reinvents in its trunking decoders.
Sources
-
Hilbert transform — Wikipedia, on the 90-degree phase-shift operator and its filter realisation. ↩
-
Analytic signal — Wikipedia, on building a one-sided complex signal and reading envelope and instantaneous frequency from it. ↩