Analog LED fader using synthetic inductor

Introduction

YALALF (Yet Another Linear Analogue LED Fader) !

The design was inspired by a discussion with Arnoldus and Clemens Valens on Elektor Labs about : Why not using a tangential oscillator to generate a semi-exponential current through the LED, so its brightness appears to change linear.

I started experimenting with this idea and wanted to use an inductor to get a linear rising current. To get a slow changing current, this inductor needs to be very large. But we can also simulate the behavior of an inductor by using a synthetic inductor, also called a gyrator.
The synthetic inductor is based around a capacitor, which impedance is converted, so it acts like an inductor.

The idea is to manipulate the components of the gyrator in order to get an exponential rising current or voltage. In the figure below you see the steps that were taken to achieve this :

Now instead of driving the circuit using an individual square wave oscillator, we can make the circuit part of a relaxation oscillator using a comparator with positive feedback to provide some hysteresis.
The comparator output is fed to the active inductor and the negative input of the comparator is connected to the capacitor that we charge with the active inductor.
The positive input of the comparator is connected to a resistive divider that provides a reference voltage for the positive input. This reference voltage is pulled up or pulled down via a resistor that is connected to the output of the comparator, providing hysteresis.

The hysteresis span determines the amplitude of the square wave at the output of the comparator.

Click here to download the LTSpice simulation of the synthetic inductor

Circuit

The result is not a tangential oscillator, but a relaxation oscillator around capacitor C2+C3, that is charged via the synthetic inductor formed by Q1, R1, R4, C1 and is discharged via resistor R5.
Charging of C2,C3 via the synthetic inductor gives a semi-exponential rising voltage over C2,C3 and discharging via R5 gives us an exponential decaying voltage over C2,C3.
Comparator U1 (LM311, but could also be made with a 555) compares the capacitor voltage against a voltage created by the divider R6, R9 and the positive feedback resistor R7. R7 creates the necessary hysteresis and thus determines the amplitude of the voltage at the inverting input of the comparator. With R6, R9 the DC offset at the output can be moved up or down. R6 and R9 can be replaced by a 10K potmeter to tweak the DC offset when you want the LED to go fully off or not. When the voltage over C2,C3 reaches the threshold voltage, the output of the comparator toggles. When the output is high, the synthetic inductor gets powered and charges C2,C3 through D1 with a semi-exponential current
When the output is low, the inductor is switched off and R5 discharges C2,C3 through D3.

Click here to download the LTSpice simulation of the complete circuit

The circuit is designed for a +5V supply.
The disadvantage of the circuit is that you can not change the frequency easily with a potmeter because the charging and discharging times are defined by individual components. The frequency can be changed rudimentary by changing C2+C3, but then C1 of the synthetic inductor and R5 also have to be changed.
The oscilloscope picture below shows the voltage over R8 (10E), that represents the current through the LED:

Pictures

Video