HilbertW:

Filter: Extension

Applies the Hilbert Transform to an input signal. [1]

Source: Hilbert.sc

Offers the Hilbert and related transforms and analyses of an input signal via Weaver's *Third Method*.^{1}

[1] this is a composite pseudo UGen. HilbertW is built with DelayN, Delay1, Delay2, Impulse, LocalBuf, FFT, IFFT, and PV_BrickWall. Method *arSSB also includes SinOsc.

The Hilbert Transform, returning two signals in *phase-quadrature*. Considered as a complex *analytic signal*,^{2} the first may be regarded as the *real* component and the second as the *imaginary*.

in |
The input signal to transform. |

size |
The size of the FFT used for |

mul |
Output will be multiplied by this value. |

add |
This value will be added to the output. |

An array of channels: `[real, imag]`

Rotate^{3} the phase of the input.

in |
The input signal. |

angle |
Rotation angle, in radians. |

size |
The size of the FFT used for |

mul |
Output will be multiplied by this value. |

add |
This value will be added to the output. |

Phase rotated input.

Single-Sideband Modulate^{4} (SSB) the input.

in |
The input signal. |

freq |
Frequency to shift by. May be positive or negative. |

size |
The size of the FFT used for |

mul |
Output will be multiplied by this value. |

add |
This value will be added to the output. |

SSB modulated input.

Analyze the *instantaneous amplitude* of the input.

in |
The input signal to analyze. |

size |
The size of the FFT used for |

mul |
Output will be multiplied by this value. |

add |
This value will be added to the output. |

*Instantaneous amplitude*.

Analyze the *instantaneous phase* of the input.

in |
The input signal to analyze. |

size |
The size of the FFT used for |

mul |
Output will be multiplied by this value. |

add |
This value will be added to the output. |

*Instantaneous phase*, in radians.

The `real`

output of HilbertW returns an allpass magnitude response.

The `imag`

magnitude response may be regarded as bandpass, with notches at DC and Nyquist.

The `real`

output of HilbertW returns a linear phase response. As a result, the output of the system as a whole is delayed in time. The total delay, in samples, can be calculated as `size - blockSize`

, where blockSize is the number of samples in one control period of the Server in use.

The `imag`

output is offset by `-pi/2`

radians with respect to `real`

.

[1] - Weaver, Donald. “A Third Method of Generation and Detection of Single-Sideband Signals.” Proceedings of the IRE, vol. 44, no. 12, 1956, pp. 1703–1705.

[2] - Smith, J.O. “Analytic Signals and Hilbert Transform Filters”, in Mathematics of the Discrete Fourier Transform (DFT) with Audio Applications, Second Edition, https://ccrma.stanford.edu/~jos/st/Analytic_Signals_Hilbert_Transform.html, online book, 2007 edition, accessed 2017-08-08.

helpfile source: /Library/Application Support/SuperCollider/downloaded-quarks/Hilbert/HelpSource/Classes/HilbertW.schelp

link::Classes/HilbertW::

link::Classes/HilbertW::