Digitaler LaPlace-Funktionsgenerator im FPGA

Wechseln zu: Navigation, Suche

von Jürgen Schuhmacher

Ein digitaler Funktionsgenerator, basierend auf der Wellenformsynthese nach LaPlace.

  • Signalformen: Sinusgrundwelle + bis zu 7 Oberwellen
  • Ausgangsfrequenz: von 0 Hz bis 25 MHz in Cyclone iV
  • Amplitude 3V
  • Anzeige der Wellenformen über FPGA-Oszilloskopfunktion

Die Funktionserzeugung basiert auf dem Prinzip der Überlagerung von Sinuswellen und stellt gewissermassen eine umgekehrte LaPlace-Transformation dar. Theoretisch sind alle erdenklichen periodischen Wellenformen denkbar. Naturgemäß gelingt dies für unterschiedliche Wellenformen unterschiedlich gut:

Die Darstellung gelingt hier nur über direkte Ausgabe über VGA (Siehe Projekt VGA Core in VHDL, daher gibt es nur Screenshots). Alternativ würde ein mehrkanaliges Oszilloskop ausreichen, um die Signale zu scannen.

Erzeugung

Die Sinuswellen selbst werden aufgrund der benötigten Genauigkeit in diesem Projekt aus einer interpolierten, mehrfach abgetasteten Sinustabelle (phase dithering) gemäß dem DDS-Prinzip gewonnen, nochmals passend gefiltert und in der Phase so verschoben, dass die Phasenverschiebung durch den Filter kompensiert wird und die Addition korrekt gelingt.

Für einfache Operationen weit unterhalb der Abtastfrequenz reicht eine Vervielfachung der Frequenz mittels Multiplikation und Bereinigung um den Gleichanteil. Dies eignet sich auch für Mikrocontroller.

Anwendung

Das System wird als Testgenerator verwendet und dient u.a. zum Sounddesign.