AHDSR & VCF

Die Gruppe 3 befässt sich mit der Entwicklung eines Hüllkurvengenerators (AHDSR) und einem spannungs-gesteuertem Universalfilter (VCF), wobei die Hüllkurve die Anschlagsdynamik des Synthesizers und der Filter den Klangcharakter maßgeblich beeinflusst.

AHDSR
Florian Hahn, Tamer Totonji

Der Hüllkurvengenerator ist eine Schaltung, die ein veränderliches Steuersignal ausgibt, um die Lautstärke und Klangfarbe des Tons anzupassen. Die Hüllkurve besteht aus mehreren Phasen (Normalerweise sind diese Attack, Decay, Sustain und Release), deren Dauer bzw. Amplitude durch Potentiometer eingestellt werden kann.

originalschaltung
Abbildung 1: Originalschaltung

Zur Realisierung des Hüllkurvengenerators wurde sich an der Schaltung aus  orientiert. Dieser Aufbau wurde dann erweitert, um die Funktionalität zu erhöhen. Im Folgenden wird zuerst auf Funktionsweise der Grundschaltung und dann auf die Erweiterungen eingegangen:

Im Zentrum der Schaltung steht der NE555. Die Grundidee ist, dass sich der Kondensator C4 über die Potentiometer R8, R9, R10 und R11 lädt und entlädt und an ihm die Ausgangsspannung anliegt. Das Gatesignal am Eingang repräsentiert den Tastendruck (5V gedrückt, 0V losgelassen). Springt dieses Signal auf 5V, schließt der Transistor Q1. Damit endet das Entladen von C4 und am Reseteingang des NE555 liegt high an.

Außerdem führt der negative Impuls des Tastendrucks am Trigger, dazu dass der Outout auf high schaltet. Der Kondensator C4 lädt sich nun über D2, wobei die Zeitkonstante mit dem Potentiometer R8 einstellbar ist (Attack). Ein Entladen D3 oder D4 ist nicht möglich, weil Discharge auf high liegt bzw. Q1 nicht leitet. Die Kondensatorspannung liegt am Threshhold an, weshalb er sich solange lädt bis die Controlvoltage (2/3 Vcc) erreicht ist.

Dann schaltet Output und Discharge auf Masse, weiteres Laden wird gestoppt und der Kondensator teilentlädt sich über D3 (Decay). Auch hier kann die Zeitkonstante über das Potentiometer R9 eingestellt werden. Das Spannungslevel auf das sich der Kondensator entlädt wird durch den Spannungsteiler R12, R10 eingestellt, wobei R10 ein Potentiometer ist. Der Kondensator verbleibt auf diesem Spannungslevel bis das Gatesignal zu 0V wechselt (Sustain). Endet der Tastendruck, leitet Q1 und der Kondensator entlädt sich über D4 (Release). Wieder ist der Zeitkonstante mit dem Potentiometer R11 einstellbar. Weiterhin liegt low am Reset an und Output und Discharge bleiben auf low.

Ein wichtiges Ziel der Erweiterung (siehe Abbildung 2) war die Nutzung des Velocitysignals und damit das Einbinden von Anschlagsdynamik.

adj
Abbildung 2: erweiterte Schaltung

Das Velocitysignal ist ein Spannungswert von 0V bis 5V entsprechend der Stärke des Tastendrucks. Dieses soll den Maximalwert der Hüllkurve skalieren. OPV U4 und U5 sorgen dafür, dass über dem Attackpotentiometer R8 und dessen Vorwiderstand R23 immer die Velocityspannung abfällt. D.h. entsprechend des Widerstands- und Spannungswertes lädt sich der Kondensator. OPV U6 ist ein einfacher Komparator, der high an den Threshhold legt (R15, R21 und U8 können vorerst ignoriert werden), sobald die Velocityspannung erreicht ist, wodurch diese die Maximalspannung ist. Da Decay- und Sustainpotentiometer (R9, R10) in Reihe geschaltet sind, beeinflusst das Sustainlevel die Decayzeitkonstante. Um dieses zu verhindern wurden OPV U7 und MOSFET M1 eingefügt. Sobald die Spannung am Kondensator C4 hoch genug ist, sodass Threshhold Controlvoltage überwiegt, entlädt er sich, da am Discharge Masse anliegt, U7 zwangsläufig high ausgibt und M1 leitet. Der Kondensator kann sich aber nur bis zu dem durch den Spannungsteiler R12 und R10 (Sustainpotentiometer) eingestellten Spannungslevel entladen, da danach U7 low ausgibt und M1 sperrt. Weiterhin wurde zusätzlich die Attack-Hold-Phase hinzugefügt. In dieser wird, nachdem Attack abgeschlossen ist, die Spannung für eine einstellbare Zeit gehalten bis Decay beginnt. Wichtig für diese Funktion sind Potentiometer R15, Kondensator C2, OPV U8 und Bipolartransistor Q3. Wenn der Kondensator C4 auf die Velocityspannung geladen ist, wird bevor der Threshhold dies detektiert ein weiterer Kondensator C2 geladen. Erst wenn C2 auf Velocityspannung geladen ist, liegt high am Threshhold an und Decay beginnt. Die Zeitkonstante für C2 lässt sich durch R15 einstellen. Während sich C2 lädt, darf C4 nicht weiter geladen werden, damit die Spannung konstant bleibt. Dies verhindert Q3, der sobald C4 Velocityspannung erreicht den Ladezweig unterbricht. Die letzte Veränderung war das Entfernen der Dioden D3 und D4 im Decay- und Releasezweig. Diese verhinderten das vollständige Entladen von C4. Mit M1 ist D3 nicht nötig. Jedoch muss Bipolartransistor Q5, gesteuert durch das Gate, ergänzt werden, damit sich C4 nicht vor dem Release entlädt.

simul
Abbildung 3: Hüllkurvensimulation

AHDSR
Jeff Kugener, Khaled, Cem Karadag

Um alle Filtercharakteristiken in unser Projekt einzubinden haben wir uns für den Ansatz mit Universalfilter entschieden. Abbildung 3 zeigt hierbei die Schaltung, welche unseren Filterentwurf maßgeblich beeinflusst hat.

source
Abbildung 3: Originalschaltung Filer
Der Filter wurde dabei mit 2 Integrieren und einem Addierer umgesetzt.  Für die Integrierer haben wir Transkonduktanzverstärker benutzt. Die Verschaltung & Funktionalität ist im Prinzip gleich wie bei einem OPV, nur dass wir einen Steuerstrom brauchen und einen Strom ausgeben. Mit diesem Steuerstrom wird dann die Grenzfrequenz eingestellt. Da unser Gehör exponenziell funktioniert, wird die eingehende Steuerspannung also erst exponenziert, und dann in einen Spannungs-Stromwandler geschickt und gleichmäßig auf beide OTA’s verteilt.
vcf
Abbildung 4: Unsere Filterumsetzung

Den Exponenzierer (Abbildung 5) haben wir aus der Version ohne Temperaturkompensation im  ADELE Skript entlehnt. Da sich der Exponenzierer nur in einem bestimmten Arbeitsbereich ohne Clipping exponentiell verhält, überlagern wir das Eingangssignal mit einem Offset, welcher anhand der Simulationskennlinie bestimmt wird. Der Diodenexponenzierer invertiert den Eingang, weswegen wir einen invertierenden Verstärker vorschalten. Die Exponentialcharakteristik lässt sich in Abbildung 40 betrachten. Der Exponenzierer gibt uns eine Spannung aus, OTAs laufen jedoch über einen Steuerstrom Iset. Lösung dieses Problems ist ein Spannungs-Strom-Wandler, realisiert mit einem einfachen PNP-Transistor.

expo
Abbildung 5: Exponenzierer

Schlussendlich lassen sich die, in Abbildung 6 simulierten Ergebnisse feststellen. Auf der Frontplatine kann man dann mit einem Drehschalter zwischen Tiefpass, Bandpass, Hochpass und ungefiltert auswählen, und die Resonanz über ein Potentiometer einstellen.

filter
Abbildung 6: VCF – Simulationsergebnisse
layout
Abbildung 7: Platinenlayout