Complex Nonlinearities Epsiode 2: Harmonic Exciter

In this article I’d like to examine a nonlinear architecture used by old aural exciter effects to generate harmonics for a signal. The general signal flow looks something like this:

For the programmers out there, this article can also be viewed as a Jupyter Notebook:

Implementation: Level Detector

Rectifying Nonlinearity

  1. Ideal Full Wave Rectifier: The idea here is that the positive half of the waveform is left unchanged, while the negative half is flipped to be positive. Mathematically this is the same as the absolute value operation.
  2. Ideal Half Wave Rectifier: Similar to the Full Wave Rectifier, the positive part of the signal is unchanged, but for the Half Wave Rectifier, the negative part of the waveform is set to zero.
  3. Schockley Diode: A diode is a circuit element that is often used in rectifying circuits. For our purposes, we can think of it as a less ideal Half Wave Rectifier. For a mathematical treatment of Schockley Diodes, see here.

Below, you can see the static curves and sine wave responses for three types of rectifying nonlinearities.

Lowpass Filter

Level Detector Example

The most obvious result is that the diode nonlinearity leads to a much less stable level detector. In order to make the diode match better with the other detectors we could use a more strict lowpass filter, but the less stable level detector might also contribute to a more interesting overall nonlinearity. You also may notice that the peaks of the level detector outputs are a little bit delayed compared to the input signal. Again, this could be fixed by adjusting our lowpass filters, but in the context of our overall nonlinearity a slightly delayed level detection can lead to some interesting effects, in this case the distortion of our effect will seem to “smooth out” any incoming transients.

Implementation: Nonlinearity

Putting It All Together

The static curve for the exciting nonlinearity has an interesting width to it, since the increasing and decreasing parts of the waveform have slightly different characteristics. We can see the effects of this asymettry in the harmonic response, in the prescence of the even harmonics in the signal. Perceptually, the even harmonics help the exciting nonlinearity to sound “smooth” compared to a traditional saturating nonlinearity. Additionally, the “speed” of the level detector, as determined by our lowpass filter, can add a cool “ramping” effect to the transients of the sound.



Finally, I’d like to take a moment to show how this type of nonlinearity is often used in the context of an aural exciter. Exciter circuits often refer to the nonlinear section we have analyzed here as the “Generator”, since it generates higher harmonics of the input signal. The general architecture can be seen below:


Jatin Chowdhury is a student.