X-Git-Url: https://permondes.de/gitweb/Analog_Engine.git/blobdiff_plain/b0b8ac6f98d48eb700cce1f18b401ccf1ea99d78..6d26a6bd8b30ad893da0315655d2f68aee787515:/scripts/CompoundFunctions.LACE?ds=inline diff --git a/scripts/CompoundFunctions.LACE b/scripts/CompoundFunctions.LACE new file mode 100644 index 0000000..e2a7cef --- /dev/null +++ b/scripts/CompoundFunctions.LACE @@ -0,0 +1,30 @@ +# collection of compound functions which can be realized with THAT + +# Open Amplifier +define openamp (weight*: variable-1, …) -> output + isum (weight*: variable-1, …) -> output + connect (FB:) -> GND + +# Division +define idivide (numerator, denominator) -> -quotient + openamp (numerator, product) -> -quotient + multiply (-quotient, denominator) -> product + +# Integration extension +define iintegrate (weight*: variable-1, …, ic: variable-IC, limit: gt0) -> variable-n + iintegrate (weight*: variable-1, …) -> variable-n + diode (cat:variable-n) -> DA + connect (DA) -> sj +# diode and connect used to limit the result to values >0 + +# Building an additional integrator with the help of an openamp +define iintegrate.additional (variable) -> integral + openamp variable -> integral + connect SJ -> cp + capacitor.100nF (integral) -> cp +# NB: The 100 nF capacitor is available on a THAT. This capacitance corresponds to those of the SLOW settings. In order to use the standard time constant an external 1 nF capacitor has to be used. + +# Summing extension +define isum (weight*: variable-1, …, /divisor) -> -result + isum (weight*: variable-1, …) -> -result + connect (-result, …) -> IN