Analog computer module for transforming polar coordinates
Since the direct calculation of the function sine and cosine is complex to implement in an electrical circuit, I rely on the obsolete IC AD639 of Analog Devices. For the interessed persoin, the inner schematic if the IC is shown in a following section.
The purpose of this project is to learn more about analog circuits and implementations. The choice to base this circuit on an older, obsolete IC is made out of admiration rather than efficiency. The reader might be able to implement a more modern and cost-efficient circuit in a digital-analog hybrid circuit. I plan to explore this option in a future project.
The incoming
The
The output signal is also buffered by the same OP-amp to isolate the output of the AD639. This will protect the chip from any accidents, when wiring up the output incorrectly.
Lastly, the error state of the AD639 is displayed by an LED.
The core is based on a "KERMIT", meaning “Kommon-EmitteR MultI-Tanh”, architecture. Probably the first publication of this type of circuit was in Gilbert, B. IEEE J. Solid-State Circuits, Vol. SC-6, No. 1. pp. 45–55. 1971.
The circuit of the of the calculation core was taken from a talk by Barie Gilbert himself from the video Barrie Gilbert, Analog Devices Inc., NW Labs (timestamp of 2463s, last checked 2024.10.17) uploaded by Electrical Engineering and Computer Science - OSU on Youtube. Further information can also be found in the article Considering Multipliers (Part 1) [The Wit and Wisdom of Dr. Leif—7] by Barrie Gilbert .
The simulation of the KERMIT can be found here, made in the Falstad Circuit Simulator. Shown in red is the the voltage input from
Additional sources and references:
- A similar implementation can be found on OpenMusicLabs, named a SineCore Modulator.
- See also An Improved Sine Shaper Circuit.
The reverse is possible: $(x,y) \rightarrow (r,\varphi)$
although more difficult and arguably used even more rarely.
For completeness sake and as a reminder, I will mention my suggestions for the circuit implementation.
In general the math is given by:
which means, that we have to use many comperators in the circuit to differentiate between six different cases in the input
To save on components and to simplify the math, we can look at another option. If the value of
reducing the cases to differentiate to two.
To be compatible with the previous circuit, we have to take care that the output also scales with
This work is published under the CERN Open Hardware Licence Version 2 - Strongly Reciprocal