As described in Section 8.4.3, a pair of all-pass
filters can be constructed to give roughly
phase
difference for positive frequencies and
for
negative ones. The design of these pairs is beyond the scope of
this discussion (see, for instance, [Reg93]) but Pd does provide an
abstraction, hilbert~, to do this. Example
H09.ssb.modulation.pd, shown in Figure 8.31, demonstrates how to use the hilbert~
abstraction to do signal sideband modulation. The Hilbert transform
dates to the analog era [Str95, pp.129-132].
The two outputs of hilbert~, considered as the real and imaginary parts of a complex-valued signal, are multiplied by a complex sinusoid (at right in the figure), and the real part is output. The components of the resulting signal are those of the input shifted by a (positive or negative) frequency specified in the number box.