Diskussion:Digitaler LaPlace-Funktionsgenerator im FPGA

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Höhere Ordnungen

Lässt sich damit auch die Funktion mit jeweils höherer Frequenz als nur die 4. Oberwelle erzeugen? Wie sieht es aus mit dem Code?

Die Zahl der Oberwellen hängt von Wunsch und Resourcen ab. Solange die Sinuswelle perfekt ist, kann man in gewohnter Weise hochmultipizieren. Ansonsten per DDS parallel bauen. Code ist für FPGA in Form von DDS in jedem Tool mit drin. C Code für einen Controller müsste man selber schreiben, allerdings gibt es ja LIBs für den Sinus.

VHDL - Core

Den Core mit der kompletten WAVE-Table-Einheit gibt es in meinem P2-Core oder einzeln. Ebenso die Flat-Top-Funktionen als optimiertes VHDL.

Anmerkung zu den Formeln

Ab der 5. Oberwelle ist die Lösung für ein flat top nicht mehr eindeutig, sondern von den Randbedingungen abhängig. Grundsätzlich kann man einen streng montonen Verlauf nur erzeugen, wenn man die zusätzlichen Oberwellen moderat einsetzt und eine maximale Steigung akzeptiert. In gewissen Grenzen kann man variieren, wenn man geringe Abweichungen und Wendepunkte zulässt und ein Band für den Maximalbereich definiert. Dazu habe ich ein interativ arbeitendes Excel-Programm. Als Beispiel kann man für eine Funktion mit bis f7 die Koeffizienten 1,0000; 0,2000; 0,0400; 0,0041 und auch 1,0000; 0,2222; 0,0556; 0,0083 finden. Letztere ist etwas eckiger.